From ef0748d96a75b55705a3db98b740c82f8b3b54c9 Mon Sep 17 00:00:00 2001 From: <> Date: Thu, 10 Aug 2023 07:04:34 +0000 Subject: [PATCH] Deployed dbc4f86a with MkDocs version: 1.5.2 --- 404.html | 4 +- api/easybuild/base/exceptions/index.html | 19 +- api/easybuild/base/fancylogger/index.html | 80 ++- api/easybuild/base/frozendict/index.html | 13 +- api/easybuild/base/generaloption/index.html | 100 ++- api/easybuild/base/index.html | 4 +- api/easybuild/base/optcomplete/index.html | 93 ++- api/easybuild/base/rest/index.html | 38 +- api/easybuild/base/testing/index.html | 25 +- api/easybuild/base/wrapper/index.html | 18 +- api/easybuild/framework/easyblock/index.html | 210 +++++- .../framework/easyconfig/constants/index.html | 4 +- .../framework/easyconfig/default/index.html | 7 +- .../easyconfig/easyconfig/index.html | 184 ++++- .../easyconfig/format/convert/index.html | 17 +- .../easyconfig/format/format/index.html | 86 ++- .../framework/easyconfig/format/index.html | 4 +- .../easyconfig/format/one/index.html | 23 +- .../format/pyheaderconfigobj/index.html | 20 +- .../easyconfig/format/two/index.html | 14 +- .../easyconfig/format/version/index.html | 99 ++- .../easyconfig/format/yeb/index.html | 24 +- api/easybuild/framework/easyconfig/index.html | 4 +- .../framework/easyconfig/licenses/index.html | 83 +-- .../framework/easyconfig/parser/index.html | 32 +- .../framework/easyconfig/style/index.html | 18 +- .../framework/easyconfig/templates/index.html | 11 +- .../framework/easyconfig/tools/index.html | 48 +- .../framework/easyconfig/tweak/index.html | 89 ++- .../framework/easyconfig/types/index.html | 47 +- api/easybuild/framework/easystack/index.html | 31 +- api/easybuild/framework/extension/index.html | 32 +- .../framework/extensioneasyblock/index.html | 16 +- api/easybuild/framework/index.html | 4 +- api/easybuild/index.html | 4 +- api/easybuild/main/index.html | 29 +- api/easybuild/scripts/bootstrap_eb/index.html | 21 +- api/easybuild/scripts/clean_gists/index.html | 5 +- .../scripts/findPythonDeps/index.html | 10 +- api/easybuild/scripts/fix_docs/index.html | 4 +- api/easybuild/scripts/index.html | 4 +- .../scripts/mk_tmpl_easyblock_for/index.html | 4 +- api/easybuild/scripts/rpath_args/index.html | 5 +- api/easybuild/toolchains/cgmpich/index.html | 11 +- api/easybuild/toolchains/cgmpolf/index.html | 11 +- .../toolchains/cgmvapich2/index.html | 11 +- api/easybuild/toolchains/cgmvolf/index.html | 11 +- api/easybuild/toolchains/cgompi/index.html | 11 +- api/easybuild/toolchains/cgoolf/index.html | 11 +- api/easybuild/toolchains/clanggcc/index.html | 11 +- .../toolchains/compiler/clang/index.html | 11 +- .../toolchains/compiler/craype/index.html | 45 +- .../toolchains/compiler/cuda/index.html | 12 +- .../compiler/dummycompiler/index.html | 11 +- .../toolchains/compiler/fujitsu/index.html | 11 +- .../toolchains/compiler/gcc/index.html | 11 +- .../toolchains/compiler/ibmxl/index.html | 4 +- api/easybuild/toolchains/compiler/index.html | 4 +- .../compiler/intel_compilers/index.html | 12 +- .../compiler/inteliccifort/index.html | 13 +- .../toolchains/compiler/nvhpc/index.html | 11 +- .../toolchains/compiler/pgi/index.html | 11 +- .../compiler/systemcompiler/index.html | 11 +- api/easybuild/toolchains/craycce/index.html | 11 +- api/easybuild/toolchains/craygnu/index.html | 11 +- api/easybuild/toolchains/crayintel/index.html | 11 +- api/easybuild/toolchains/craypgi/index.html | 11 +- api/easybuild/toolchains/dummy/index.html | 11 +- api/easybuild/toolchains/fcc/index.html | 11 +- api/easybuild/toolchains/ffmpi/index.html | 11 +- api/easybuild/toolchains/fft/fftw/index.html | 11 +- .../toolchains/fft/fujitsufftw/index.html | 11 +- api/easybuild/toolchains/fft/index.html | 4 +- .../toolchains/fft/intelfftw/index.html | 11 +- api/easybuild/toolchains/foss/index.html | 14 +- api/easybuild/toolchains/fosscuda/index.html | 11 +- api/easybuild/toolchains/fujitsu/index.html | 11 +- api/easybuild/toolchains/gcc/index.html | 12 +- api/easybuild/toolchains/gcccore/index.html | 12 +- api/easybuild/toolchains/gcccuda/index.html | 12 +- api/easybuild/toolchains/gfbf/index.html | 11 +- api/easybuild/toolchains/gimkl/index.html | 11 +- api/easybuild/toolchains/gimpi/index.html | 12 +- api/easybuild/toolchains/gimpic/index.html | 11 +- api/easybuild/toolchains/giolf/index.html | 11 +- api/easybuild/toolchains/giolfc/index.html | 11 +- api/easybuild/toolchains/gmacml/index.html | 11 +- api/easybuild/toolchains/gmkl/index.html | 11 +- api/easybuild/toolchains/gmklc/index.html | 11 +- api/easybuild/toolchains/gmpich/index.html | 11 +- api/easybuild/toolchains/gmpich2/index.html | 11 +- api/easybuild/toolchains/gmpit/index.html | 12 +- api/easybuild/toolchains/gmpolf/index.html | 11 +- api/easybuild/toolchains/gmvapich2/index.html | 11 +- api/easybuild/toolchains/gmvolf/index.html | 11 +- api/easybuild/toolchains/gnu/index.html | 11 +- api/easybuild/toolchains/goalf/index.html | 11 +- api/easybuild/toolchains/gobff/index.html | 11 +- api/easybuild/toolchains/goblf/index.html | 11 +- api/easybuild/toolchains/gofbf/index.html | 11 +- api/easybuild/toolchains/golf/index.html | 11 +- api/easybuild/toolchains/golfc/index.html | 11 +- api/easybuild/toolchains/gomkl/index.html | 11 +- api/easybuild/toolchains/gomklc/index.html | 11 +- api/easybuild/toolchains/gompi/index.html | 12 +- api/easybuild/toolchains/gompic/index.html | 11 +- api/easybuild/toolchains/goolf/index.html | 12 +- api/easybuild/toolchains/goolfc/index.html | 12 +- api/easybuild/toolchains/gpsmpi/index.html | 11 +- api/easybuild/toolchains/gpsolf/index.html | 11 +- api/easybuild/toolchains/gqacml/index.html | 11 +- api/easybuild/toolchains/gsmpi/index.html | 11 +- api/easybuild/toolchains/gsolf/index.html | 11 +- api/easybuild/toolchains/iccifort/index.html | 13 +- .../toolchains/iccifortcuda/index.html | 11 +- api/easybuild/toolchains/ictce/index.html | 12 +- api/easybuild/toolchains/iibff/index.html | 11 +- api/easybuild/toolchains/iimkl/index.html | 15 +- api/easybuild/toolchains/iimklc/index.html | 11 +- api/easybuild/toolchains/iimpi/index.html | 15 +- api/easybuild/toolchains/iimpic/index.html | 12 +- api/easybuild/toolchains/iiqmpi/index.html | 11 +- api/easybuild/toolchains/impich/index.html | 11 +- api/easybuild/toolchains/impmkl/index.html | 11 +- api/easybuild/toolchains/index.html | 4 +- .../toolchains/intel-para/index.html | 11 +- api/easybuild/toolchains/intel/index.html | 12 +- .../toolchains/intel_compilers/index.html | 11 +- api/easybuild/toolchains/intelcuda/index.html | 11 +- api/easybuild/toolchains/iomkl/index.html | 12 +- api/easybuild/toolchains/iomklc/index.html | 11 +- api/easybuild/toolchains/iompi/index.html | 15 +- api/easybuild/toolchains/iompic/index.html | 11 +- api/easybuild/toolchains/ipsmpi/index.html | 11 +- api/easybuild/toolchains/iqacml/index.html | 11 +- api/easybuild/toolchains/ismkl/index.html | 11 +- .../toolchains/linalg/acml/index.html | 12 +- .../toolchains/linalg/atlas/index.html | 11 +- .../toolchains/linalg/blacs/index.html | 11 +- .../toolchains/linalg/blis/index.html | 11 +- .../toolchains/linalg/flame/index.html | 11 +- .../toolchains/linalg/flexiblas/index.html | 13 +- .../toolchains/linalg/fujitsussl/index.html | 13 +- .../toolchains/linalg/gotoblas/index.html | 11 +- api/easybuild/toolchains/linalg/index.html | 4 +- .../toolchains/linalg/intelmkl/index.html | 13 +- .../toolchains/linalg/lapack/index.html | 11 +- .../toolchains/linalg/libsci/index.html | 12 +- .../toolchains/linalg/openblas/index.html | 11 +- .../toolchains/linalg/scalapack/index.html | 12 +- .../toolchains/mpi/craympich/index.html | 11 +- .../toolchains/mpi/fujitsumpi/index.html | 11 +- api/easybuild/toolchains/mpi/index.html | 4 +- .../toolchains/mpi/intelmpi/index.html | 12 +- api/easybuild/toolchains/mpi/mpich/index.html | 11 +- .../toolchains/mpi/mpich2/index.html | 11 +- .../toolchains/mpi/mpitrampoline/index.html | 12 +- .../toolchains/mpi/mvapich2/index.html | 11 +- .../toolchains/mpi/openmpi/index.html | 14 +- api/easybuild/toolchains/mpi/psmpi/index.html | 11 +- .../toolchains/mpi/qlogicmpi/index.html | 11 +- .../toolchains/mpi/spectrummpi/index.html | 11 +- api/easybuild/toolchains/nvhpc/index.html | 11 +- api/easybuild/toolchains/nvofbf/index.html | 11 +- api/easybuild/toolchains/nvompi/index.html | 11 +- api/easybuild/toolchains/nvompic/index.html | 11 +- api/easybuild/toolchains/nvpsmpi/index.html | 11 +- api/easybuild/toolchains/nvpsmpic/index.html | 11 +- api/easybuild/toolchains/pgi/index.html | 11 +- api/easybuild/toolchains/pmkl/index.html | 11 +- api/easybuild/toolchains/pomkl/index.html | 11 +- api/easybuild/toolchains/pompi/index.html | 11 +- api/easybuild/toolchains/system/index.html | 11 +- api/easybuild/toolchains/xlcxlf/index.html | 11 +- api/easybuild/toolchains/xlmpich/index.html | 11 +- api/easybuild/toolchains/xlmpich2/index.html | 11 +- .../toolchains/xlmvapich2/index.html | 11 +- api/easybuild/toolchains/xlompi/index.html | 11 +- api/easybuild/tools/asyncprocess/index.html | 4 +- api/easybuild/tools/build_details/index.html | 5 +- api/easybuild/tools/build_log/index.html | 57 +- api/easybuild/tools/config/index.html | 69 +- api/easybuild/tools/configobj/index.html | 158 +++-- .../tools/containers/apptainer/index.html | 13 +- .../tools/containers/base/index.html | 18 +- .../tools/containers/common/index.html | 5 +- .../tools/containers/docker/index.html | 14 +- api/easybuild/tools/containers/index.html | 4 +- .../tools/containers/singularity/index.html | 16 +- .../tools/containers/utils/index.html | 6 +- api/easybuild/tools/convert/index.html | 13 +- api/easybuild/tools/deprecated/index.html | 4 +- api/easybuild/tools/docs/index.html | 72 +- api/easybuild/tools/environment/index.html | 22 +- api/easybuild/tools/filetools/index.html | 206 +++++- api/easybuild/tools/github/index.html | 182 ++++- api/easybuild/tools/hooks/index.html | 16 +- api/easybuild/tools/include/index.html | 15 +- api/easybuild/tools/index.html | 4 +- api/easybuild/tools/jenkins/index.html | 6 +- api/easybuild/tools/job/backend/index.html | 18 +- api/easybuild/tools/job/gc3pie/index.html | 27 +- api/easybuild/tools/job/index.html | 4 +- api/easybuild/tools/job/pbs_python/index.html | 38 +- api/easybuild/tools/job/slurm/index.html | 28 +- api/easybuild/tools/loose_version/index.html | 11 +- .../tools/module_generator/index.html | 242 +++++-- .../categorized_hmns/index.html | 16 +- .../categorized_mns/index.html | 19 +- .../easybuild_mns/index.html | 18 +- .../hierarchical_mns/index.html | 21 +- .../tools/module_naming_scheme/index.html | 4 +- .../migrate_from_eb_to_hmns/index.html | 12 +- .../tools/module_naming_scheme/mns/index.html | 61 +- .../module_naming_scheme/toolchain/index.html | 15 +- .../module_naming_scheme/utilities/index.html | 8 +- api/easybuild/tools/modules/index.html | 234 +++++-- api/easybuild/tools/multidiff/index.html | 39 +- api/easybuild/tools/options/index.html | 63 +- api/easybuild/tools/output/index.html | 35 +- api/easybuild/tools/package/index.html | 4 +- .../easybuild_deb_friendly_pns/index.html | 12 +- .../easybuild_pns/index.html | 13 +- .../package/package_naming_scheme/index.html | 4 +- .../package_naming_scheme/pns/index.html | 15 +- .../tools/package/utilities/index.html | 19 +- api/easybuild/tools/parallelbuild/index.html | 24 +- api/easybuild/tools/py2vs3/index.html | 4 +- api/easybuild/tools/py2vs3/py2/index.html | 12 +- api/easybuild/tools/py2vs3/py3/index.html | 12 +- .../tools/repository/filerepo/index.html | 28 +- .../tools/repository/gitrepo/index.html | 35 +- .../tools/repository/hgrepo/index.html | 35 +- api/easybuild/tools/repository/index.html | 4 +- .../tools/repository/repository/index.html | 40 +- .../tools/repository/svnrepo/index.html | 35 +- api/easybuild/tools/robot/index.html | 31 +- api/easybuild/tools/run/index.html | 48 +- api/easybuild/tools/systemtools/index.html | 68 +- api/easybuild/tools/testing/index.html | 22 +- .../tools/toolchain/compiler/index.html | 16 +- .../tools/toolchain/constants/index.html | 4 +- api/easybuild/tools/toolchain/fft/index.html | 12 +- api/easybuild/tools/toolchain/index.html | 4 +- .../tools/toolchain/linalg/index.html | 14 +- api/easybuild/tools/toolchain/mpi/index.html | 20 +- .../tools/toolchain/options/index.html | 13 +- .../tools/toolchain/toolchain/index.html | 77 +- .../toolchain/toolchainvariables/index.html | 12 +- .../tools/toolchain/utilities/index.html | 16 +- .../tools/toolchain/variables/index.html | 66 +- api/easybuild/tools/utilities/index.html | 34 +- api/easybuild/tools/variables/index.html | 66 +- api/easybuild/tools/version/index.html | 6 +- api/index.html | 8 +- api/summary/index.html | 4 +- archived-easyconfigs/index.html | 4 +- assets/stylesheets/main.26e3688c.min.css | 1 - assets/stylesheets/main.eebd395e.min.css | 1 + ....min.css.map => main.eebd395e.min.css.map} | 2 +- backup-modules/index.html | 4 +- changelog-docs/index.html | 4 +- code-style/index.html | 4 +- common-toolchains/index.html | 29 +- configuration/index.html | 4 +- containers/index.html | 4 +- contributing/index.html | 4 +- .../index.html | 4 +- cray-support/index.html | 4 +- demos/configuring/index.html | 4 +- demos/index.html | 4 +- demos/review-pr/index.html | 4 +- deprecated-easyconfigs/index.html | 4 +- deprecated-functionality/index.html | 4 +- detecting-loaded-modules/index.html | 4 +- easybuild-v4/overview-of-changes/index.html | 4 +- .../index.html | 4 +- easybuild-v5/index.html | 4 +- easybuild-v5/overview-of-changes/index.html | 4 +- easyconfig-files-local-variables/index.html | 4 +- easyconfigs-search-index/index.html | 4 +- easystack-files/index.html | 4 +- experimental-features/index.html | 4 +- extended-dry-run/index.html | 4 +- framework-overview/index.html | 4 +- getting-help/index.html | 4 +- hooks/index.html | 4 +- implementing-easyblocks/index.html | 4 +- .../index.html | 4 +- index.html | 6 +- installation-alternative/index.html | 4 +- installation/index.html | 4 +- .../index.html | 4 +- installing-extensions-in-parallel/index.html | 4 +- .../index.html | 4 +- integration-with-github/index.html | 4 +- legacy/configuration/index.html | 4 +- locks/index.html | 4 +- log-files/index.html | 4 +- maintainers/index.html | 4 +- manipulating-dependencies/index.html | 4 +- packaging-support/index.html | 4 +- partial-installations/index.html | 4 +- progress-bars/index.html | 4 +- python-2-3-compatibility/index.html | 4 +- release-notes/index.html | 6 +- removed-functionality/index.html | 4 +- rpath-support/index.html | 4 +- search/search_index.json | 2 +- sitemap.xml | 660 +++++++++--------- sitemap.xml.gz | Bin 2317 -> 2319 bytes submitting-jobs/index.html | 4 +- system-toolchain/index.html | 4 +- terminology/index.html | 4 +- tracing-progress/index.html | 4 +- typical-workflow-example/index.html | 4 +- unit-tests/index.html | 4 +- useful-scripts/index.html | 4 +- user-survey/index.html | 4 +- using-easybuild/index.html | 4 +- using-external-modules/index.html | 4 +- .../config-file-constants/index.html | 4 +- version-specific/easyblocks/index.html | 4 +- .../easyconfig-constants/index.html | 4 +- .../easyconfig-license-constants/index.html | 4 +- .../easyconfig-parameters/index.html | 4 +- .../easyconfig-templates/index.html | 4 +- version-specific/eb-a-wrf/index.html | 8 +- version-specific/eb-help/index.html | 4 +- .../generic-easyblocks/index.html | 4 +- version-specific/index.html | 4 +- .../supported-software/index.html | 4 +- version-specific/toolchain-opts/index.html | 4 +- version-specific/toolchains/index.html | 4 +- what-is-easybuild/index.html | 4 +- wrapping-dependencies/index.html | 4 +- writing-easyconfig-files/index.html | 4 +- writing-yeb-easyconfig-files/index.html | 4 +- 338 files changed, 4332 insertions(+), 2441 deletions(-) delete mode 100644 assets/stylesheets/main.26e3688c.min.css create mode 100644 assets/stylesheets/main.eebd395e.min.css rename assets/stylesheets/{main.26e3688c.min.css.map => main.eebd395e.min.css.map} (51%) diff --git a/404.html b/404.html index 4e6da3f77..b8b73b61c 100644 --- a/404.html +++ b/404.html @@ -11,7 +11,7 @@ - + @@ -19,7 +19,7 @@ - + diff --git a/api/easybuild/base/exceptions/index.html b/api/easybuild/base/exceptions/index.html index d16914947..0286bc36e 100644 --- a/api/easybuild/base/exceptions/index.html +++ b/api/easybuild/base/exceptions/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5856,21 +5856,20 @@

exceptions

- LoggedException + LoggedException

-

- Bases: Exception

+

+ Bases: Exception

Exception that logs it's message when it is created.

-
@@ -5883,6 +5882,7 @@

+
@@ -5897,11 +5897,13 @@

@@ -5969,6 +5972,8 @@

Get logger defined in caller's environment

+ + diff --git a/api/easybuild/base/fancylogger/index.html b/api/easybuild/base/fancylogger/index.html index 7b1153c10..fcb63a142 100644 --- a/api/easybuild/base/fancylogger/index.html +++ b/api/easybuild/base/fancylogger/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6196,22 +6196,21 @@

- FancyLogRecord + FancyLogRecord

-

- Bases: logging.LogRecord

+

+ Bases: logging.LogRecord

This class defines a custom log record. Adding extra specifiers is as simple as adding attributes to the log record

-
@@ -6237,15 +6236,15 @@

- FancyLogger + FancyLogger

-

- Bases: logging.getLoggerClass()

+

+ Bases: logging.getLoggerClass()

This is a custom Logger class that uses the FancyLogRecord @@ -6253,7 +6252,6 @@

streaming versions for debug,info,warning and error.

-
@@ -6266,6 +6264,7 @@

+
@@ -6284,6 +6283,7 @@

+
@@ -6302,6 +6302,7 @@

@@ -6321,6 +6322,7 @@

@@ -6339,6 +6341,7 @@

+
@@ -6357,6 +6360,7 @@

@@ -6375,6 +6379,7 @@

@@ -6390,11 +6395,13 @@

@@ -6451,6 +6459,7 @@

@@ -6469,6 +6478,7 @@

@@ -6487,6 +6497,7 @@

@@ -6505,6 +6516,7 @@

@@ -6536,21 +6548,20 @@

- FancyStreamHandler + FancyStreamHandler

-

- Bases: logging.StreamHandler

+

+ Bases: logging.StreamHandler

The logging StreamHandler with uniform named arg in init for selecting the stream.

-
@@ -6563,6 +6574,7 @@

+
@@ -6592,6 +6604,7 @@

@@ -6611,6 +6624,7 @@

@@ -6629,6 +6643,7 @@

@@ -6643,6 +6658,8 @@

@@ -6685,6 +6703,7 @@

+
@@ -6699,6 +6718,8 @@

@@ -6737,11 +6759,13 @@

Return list of (name,loglevelname) pairs of existing loggers

+ +

- + @@ -6780,6 +6804,7 @@

+
@@ -6798,6 +6823,7 @@

+
@@ -6822,6 +6848,7 @@

+
@@ -6841,6 +6868,7 @@

+
@@ -6859,6 +6887,7 @@

+
@@ -6877,6 +6906,7 @@

+
@@ -6901,6 +6931,7 @@

+
@@ -6929,6 +6960,7 @@

+
@@ -6951,6 +6983,7 @@

+
@@ -6969,6 +7002,7 @@

+
@@ -6987,6 +7021,7 @@

+
@@ -7005,6 +7040,7 @@

+
@@ -7023,6 +7059,7 @@

+
@@ -7041,6 +7078,7 @@

+
@@ -7059,6 +7097,7 @@

+
@@ -7077,6 +7116,7 @@

+
@@ -7095,6 +7135,7 @@

+
@@ -7110,11 +7151,13 @@

Set a FancyLogger instance as the logging root logger with (effective)loglevel of current root FancyLogger

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7127,7 +7170,7 @@

DEFAULT: - FANCYLOG_FANCYRECORD + FANCYLOG_FANCYRECORD

@@ -7139,6 +7182,7 @@

+
diff --git a/api/easybuild/base/frozendict/index.html b/api/easybuild/base/frozendict/index.html index bda3510d1..164fdbaf1 100644 --- a/api/easybuild/base/frozendict/index.html +++ b/api/easybuild/base/frozendict/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5852,21 +5852,20 @@

frozendict

- FrozenDictKnownKeys + FrozenDictKnownKeys

-

- Bases: FrozenDict

+

+ Bases: FrozenDict

A frozen dictionary only allowing known keys.

-
@@ -5879,6 +5878,7 @@

+
@@ -5897,6 +5897,7 @@

diff --git a/api/easybuild/base/generaloption/index.html b/api/easybuild/base/generaloption/index.html index be864175a..1ca7b1b88 100644 --- a/api/easybuild/base/generaloption/index.html +++ b/api/easybuild/base/generaloption/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6209,15 +6209,15 @@

generaloption

- ExtOption + ExtOption

-

- Bases: CompleterOption

+

+ Bases: CompleterOption

Extended options class @@ -6253,7 +6253,6 @@

- the path separator is OS-dependent

-
@@ -6266,6 +6265,7 @@

+
@@ -6284,6 +6284,7 @@

+
@@ -6302,6 +6303,7 @@

+
@@ -6333,21 +6335,20 @@

- ExtOptionGroup + ExtOptionGroup

-

- Bases: OptionGroup

+

+ Bases: OptionGroup

An OptionGroup with support for configfile section names

-
@@ -6360,6 +6361,7 @@

+
@@ -6391,15 +6393,15 @@

- ExtOptionParser + ExtOptionParser

-

- Bases: OptionParser

+

+ Bases: OptionParser

Make an option parser that limits the C{-h} / C{--shorthelp} to short opts only, @@ -6414,7 +6416,6 @@

C{--enable-} / C{--disable-} (using eg ExtOption option_class)

-
@@ -6427,6 +6428,7 @@

+
@@ -6463,6 +6465,7 @@

@@ -6481,6 +6484,7 @@

@@ -6499,6 +6503,7 @@

@@ -6517,6 +6522,7 @@

@@ -6535,6 +6541,7 @@

@@ -6553,6 +6560,7 @@

+
@@ -6571,6 +6579,7 @@

+
@@ -6593,6 +6602,7 @@

@@ -6611,6 +6621,7 @@

@@ -6629,6 +6640,7 @@

+
@@ -6647,6 +6659,7 @@

+
@@ -6671,6 +6684,7 @@

@@ -6689,6 +6703,7 @@

@@ -6707,6 +6722,7 @@

@@ -6725,6 +6741,7 @@

@@ -6743,6 +6760,7 @@

@@ -6761,6 +6779,7 @@

@@ -6779,6 +6798,7 @@

+
@@ -6810,15 +6830,15 @@

- GeneralOption + GeneralOption

-

- Bases: object

+

+ Bases: object

'Used-to-be simple' wrapper class for option parsing

@@ -6847,7 +6867,6 @@

1. value set through commandline option

-
@@ -6860,6 +6879,7 @@

+
@@ -6877,11 +6897,13 @@

@@ -6920,6 +6943,7 @@

@@ -6943,6 +6967,7 @@

+
@@ -6961,6 +6986,7 @@

@@ -6975,11 +7001,13 @@

@@ -7025,6 +7054,7 @@

@@ -7043,6 +7073,7 @@

+
@@ -7061,6 +7092,7 @@

+
@@ -7079,6 +7111,7 @@

@@ -7099,6 +7132,7 @@

@@ -7117,6 +7151,7 @@

@@ -7135,6 +7170,7 @@

@@ -7153,6 +7189,7 @@

@@ -7171,6 +7208,7 @@

@@ -7191,6 +7229,7 @@

@@ -7222,16 +7261,15 @@

- SimpleOption + SimpleOption

-

- Bases: GeneralOption

- +

+ Bases: GeneralOption

@@ -7247,6 +7285,7 @@

+
@@ -7261,11 +7300,13 @@

@@ -7361,6 +7403,7 @@

@@ -7379,6 +7422,7 @@

+
@@ -7398,6 +7442,7 @@

+
@@ -7412,11 +7457,13 @@

A function that returns a single level GeneralOption option parser

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7483,6 +7530,7 @@

+
diff --git a/api/easybuild/base/index.html b/api/easybuild/base/index.html index 9192cf172..24496c684 100644 --- a/api/easybuild/base/index.html +++ b/api/easybuild/base/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/base/optcomplete/index.html b/api/easybuild/base/optcomplete/index.html index d58c6cb18..ff07d5f0f 100644 --- a/api/easybuild/base/optcomplete/index.html +++ b/api/easybuild/base/optcomplete/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5986,21 +5986,20 @@

optcomplete

- AllCompleter + AllCompleter

-

- Bases: Completer

+

+ Bases: Completer

Completes by listing all possible files in current directory.

-
@@ -6026,15 +6025,15 @@

- CmdComplete + CmdComplete

-

- Bases: object

+

+ Bases: object

Simple default base class implementation for a subcommand that supports @@ -6045,7 +6044,6 @@

have it here.

-
@@ -6071,22 +6069,21 @@

- Completer + Completer

-

- Bases: object

+

+ Bases: object

Base class to derive all other completer classes from. It generates an empty completion list

-
@@ -6099,6 +6096,7 @@

+
@@ -6130,21 +6128,20 @@

- CompleterMissingCallArgument + CompleterMissingCallArgument

-

- Bases: Exception

+

+ Bases: Exception

Exception to raise when call arg is missing

-
@@ -6154,21 +6151,20 @@

- CompleterOption + CompleterOption

-

- Bases: OPTION_CLASS

+

+ Bases: OPTION_CLASS

optparse Option class with completer attribute

-
@@ -6194,21 +6190,20 @@

- DirCompleter + DirCompleter

-

- Bases: Completer

+

+ Bases: Completer

Completes by listing subdirectories only.

-
@@ -6234,22 +6229,21 @@

- FileCompleter + FileCompleter

-

- Bases: Completer

+

+ Bases: Completer

Completes by listing all possible files in current directory. If endings are specified, then limit the files to those.

-
@@ -6275,21 +6269,20 @@

- KnownHostsCompleter + KnownHostsCompleter

-

- Bases: Completer

+

+ Bases: Completer

Completes a list of known hostnames

-
@@ -6315,21 +6308,20 @@

- ListCompleter + ListCompleter

-

- Bases: Completer

+

+ Bases: Completer

Completes by filtering using a fixed list of strings.

-
@@ -6355,21 +6347,20 @@

- NoneCompleter + NoneCompleter

-

- Bases: Completer

+

+ Bases: Completer

Generates empty completion list. For compatibility reasons.

-
@@ -6379,21 +6370,20 @@

- RegexCompleter + RegexCompleter

-

- Bases: Completer

+

+ Bases: Completer

Completes by filtering all possible files with the given list of regexps.

-
@@ -6415,6 +6405,7 @@

+
@@ -6450,6 +6441,7 @@

+
@@ -6469,6 +6461,7 @@

+
@@ -6488,6 +6481,7 @@

+
@@ -6502,11 +6496,13 @@

Create the commandline to generate simulated tabcompletion output

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6551,6 +6547,7 @@

+
@@ -6570,6 +6567,7 @@

+
@@ -6591,6 +6589,7 @@

diff --git a/api/easybuild/base/rest/index.html b/api/easybuild/base/rest/index.html index 079f5b3fc..1acde0fb3 100644 --- a/api/easybuild/base/rest/index.html +++ b/api/easybuild/base/rest/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5961,21 +5961,20 @@

rest

- Client + Client

-

- Bases: object

+

+ Bases: object

An implementation of a REST client

-
@@ -5988,6 +5987,7 @@

+
@@ -6011,6 +6011,7 @@

+
@@ -6030,6 +6031,7 @@

+
@@ -6049,6 +6051,7 @@

+
@@ -6068,6 +6071,7 @@

+
@@ -6087,6 +6091,7 @@

+
@@ -6106,6 +6111,7 @@

+
@@ -6125,6 +6131,7 @@

+
@@ -6156,15 +6163,15 @@

- RequestBuilder + RequestBuilder

-

- Bases: object

+

+ Bases: object

RequestBuilder(client).path.to.resource.method(...) @@ -6177,7 +6184,6 @@

To understand the method(...) calls, check out github.client.Client.

-
@@ -6190,6 +6196,7 @@

+
@@ -6210,6 +6217,7 @@

+
@@ -6228,6 +6236,7 @@

+
@@ -6260,15 +6269,15 @@

- RestClient + RestClient

-

- Bases: object

+

+ Bases: object

A client with a request builder, so you can easily create rest requests @@ -6299,7 +6308,6 @@

automatically supports the full API--so why should you care?

-
@@ -6312,6 +6320,7 @@

+
@@ -6330,6 +6339,7 @@

+
diff --git a/api/easybuild/base/testing/index.html b/api/easybuild/base/testing/index.html index 600abcad6..6b7647403 100644 --- a/api/easybuild/base/testing/index.html +++ b/api/easybuild/base/testing/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5942,21 +5942,20 @@

testing

- TestCase + TestCase

-

- Bases: OrigTestCase

+

+ Bases: OrigTestCase

Enhanced test case, provides extra functionality (e.g. an assertErrorRegex method).

-
@@ -5969,6 +5968,7 @@

+
@@ -5987,6 +5987,7 @@

+
@@ -6006,6 +6007,7 @@

@@ -6024,6 +6026,7 @@

+
@@ -6042,6 +6045,7 @@

+
@@ -6060,6 +6064,7 @@

@@ -6078,6 +6083,7 @@

+
@@ -6096,6 +6102,7 @@

+
@@ -6114,6 +6121,7 @@

+
@@ -6132,6 +6140,7 @@

+
@@ -6150,6 +6159,7 @@

+
@@ -6168,6 +6178,7 @@

@@ -6186,6 +6197,7 @@

+
@@ -6213,6 +6225,7 @@

+
diff --git a/api/easybuild/base/wrapper/index.html b/api/easybuild/base/wrapper/index.html index 54659c664..e5f658097 100644 --- a/api/easybuild/base/wrapper/index.html +++ b/api/easybuild/base/wrapper/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5841,21 +5841,20 @@

wrapper

- Wrapper + Wrapper

-

- Bases: mk_wrapper_baseclass(WrapperMeta)

+

+ Bases: mk_wrapper_baseclass(WrapperMeta)

Wrapper class that provides proxy access to an instance of some internal instance.

-
@@ -5881,21 +5880,20 @@

- WrapperMeta + WrapperMeta

-

- Bases: type

+

+ Bases: type

Metaclass for type wrappers.

-
diff --git a/api/easybuild/framework/easyblock/index.html b/api/easybuild/framework/easyblock/index.html index 4137edf21..723f80f6f 100644 --- a/api/easybuild/framework/easyblock/index.html +++ b/api/easybuild/framework/easyblock/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6602,21 +6602,20 @@

easyblock

- EasyBlock + EasyBlock

-

- Bases: object

+

+ Bases: object

Generic support for building and installing software, base class for actual easyblocks.

-
@@ -6797,6 +6796,7 @@

@@ -6811,11 +6811,13 @@

@@ -6854,6 +6857,7 @@

+
@@ -6874,6 +6878,7 @@

+
@@ -6893,6 +6898,7 @@

@@ -6911,6 +6917,7 @@

@@ -6929,6 +6936,7 @@

@@ -6943,6 +6951,8 @@

@@ -6985,6 +6996,7 @@

@@ -7003,6 +7015,7 @@

@@ -7021,6 +7034,7 @@

@@ -7039,6 +7053,7 @@

@@ -7059,6 +7074,7 @@

@@ -7077,6 +7093,7 @@

@@ -7091,11 +7108,13 @@

@@ -7172,6 +7194,7 @@

@@ -7190,6 +7213,7 @@

@@ -7208,6 +7232,7 @@

@@ -7230,6 +7255,7 @@

@@ -7252,6 +7278,7 @@

@@ -7270,6 +7297,7 @@

@@ -7288,6 +7316,7 @@

@@ -7307,6 +7336,7 @@

@@ -7322,11 +7352,13 @@

@@ -7390,11 +7423,13 @@

@@ -7451,6 +7487,7 @@

@@ -7469,6 +7506,7 @@

@@ -7487,6 +7525,7 @@

@@ -7505,6 +7544,7 @@

@@ -7519,11 +7559,13 @@

@@ -7586,11 +7629,13 @@

@@ -7637,6 +7683,7 @@

@@ -7659,6 +7706,7 @@

@@ -7677,6 +7725,7 @@

@@ -7695,6 +7744,7 @@

@@ -7713,6 +7763,7 @@

@@ -7727,11 +7778,13 @@

@@ -7770,11 +7824,13 @@

Install extensions in parallel.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7799,6 +7855,7 @@

+
@@ -7813,11 +7870,13 @@

Install extensions sequentially.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7842,6 +7901,7 @@

+
@@ -7860,6 +7920,7 @@

@@ -7878,6 +7939,7 @@

+
@@ -7896,6 +7958,7 @@

@@ -7910,11 +7973,13 @@

@@ -7967,11 +8033,13 @@

@@ -8056,6 +8125,7 @@

@@ -8077,6 +8147,7 @@

@@ -8095,6 +8166,7 @@

@@ -8114,6 +8186,7 @@

@@ -8132,6 +8205,7 @@

@@ -8146,11 +8220,13 @@

@@ -8194,6 +8271,7 @@

@@ -8212,6 +8290,7 @@

@@ -8230,6 +8309,7 @@

+
@@ -8244,11 +8324,13 @@

@@ -8305,6 +8388,7 @@

+
@@ -8323,6 +8407,7 @@

@@ -8359,6 +8445,7 @@

@@ -8377,6 +8464,7 @@

@@ -8391,11 +8479,13 @@

@@ -8436,11 +8527,13 @@

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8573,6 +8666,7 @@

@@ -8591,6 +8685,7 @@

@@ -8609,6 +8704,7 @@

@@ -8628,6 +8724,7 @@

@@ -8646,6 +8743,7 @@

@@ -8665,6 +8763,7 @@

@@ -8683,6 +8782,7 @@

@@ -8701,6 +8801,7 @@

@@ -8715,11 +8816,13 @@

@@ -8776,6 +8880,7 @@

+
@@ -8794,6 +8899,7 @@

@@ -8808,11 +8914,13 @@

@@ -8853,6 +8962,7 @@

+
@@ -8874,6 +8984,7 @@

@@ -8893,6 +9004,7 @@

@@ -8911,6 +9023,7 @@

+
@@ -8929,6 +9042,7 @@

@@ -8947,6 +9061,7 @@

+
@@ -8965,6 +9080,7 @@

+
@@ -8983,6 +9099,7 @@

@@ -9003,6 +9120,7 @@

@@ -9021,6 +9139,7 @@

@@ -9039,6 +9158,7 @@

@@ -9059,6 +9179,7 @@

@@ -9078,6 +9199,7 @@

+
@@ -9097,6 +9219,7 @@

+
@@ -9115,6 +9238,7 @@

@@ -9133,6 +9257,7 @@

@@ -9151,6 +9276,7 @@

@@ -9169,6 +9295,7 @@

@@ -9187,6 +9314,7 @@

+
@@ -9218,26 +9346,26 @@

- StopException + StopException

-

- Bases: Exception

+

+ Bases: Exception

StopException class definition.

-
+
@@ -9252,11 +9380,13 @@

@@ -9305,6 +9436,7 @@

+
@@ -9319,11 +9451,13 @@

@@ -9358,11 +9493,13 @@

Inject checksums of given type in specified easyconfig files

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9393,6 +9530,7 @@

+
@@ -9407,11 +9545,13 @@

@@ -9460,6 +9601,7 @@

@@ -9474,11 +9616,13 @@

Create reproducibility files (processed easyconfig and easyblocks used) from class instance

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9505,6 +9649,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + diff --git a/api/easybuild/framework/easyconfig/constants/index.html b/api/easybuild/framework/easyconfig/constants/index.html index ab41a9f94..0b09774b8 100644 --- a/api/easybuild/framework/easyconfig/constants/index.html +++ b/api/easybuild/framework/easyconfig/constants/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/framework/easyconfig/default/index.html b/api/easybuild/framework/easyconfig/default/index.html index f7a68d643..3eafa4828 100644 --- a/api/easybuild/framework/easyconfig/default/index.html +++ b/api/easybuild/framework/easyconfig/default/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5852,6 +5852,7 @@

default

+
@@ -5870,6 +5871,7 @@

+
@@ -5888,6 +5890,7 @@

diff --git a/api/easybuild/framework/easyconfig/easyconfig/index.html b/api/easybuild/framework/easyconfig/easyconfig/index.html index 2e3b6c3fc..cc3c25026 100644 --- a/api/easybuild/framework/easyconfig/easyconfig/index.html +++ b/api/easybuild/framework/easyconfig/easyconfig/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6454,21 +6454,20 @@

easyconfig

- ActiveMNS + ActiveMNS

-

- Bases: BaseActiveMNS

+

+ Bases: BaseActiveMNS

Wrapper class for active module naming scheme.

-
@@ -6481,6 +6480,7 @@

@@ -6499,6 +6499,7 @@

@@ -6513,11 +6514,13 @@

Obtain a full parsed easyconfig file to pass to naming scheme methods if provided keys are insufficient.

+ +

- + @@ -6552,6 +6555,7 @@

+
@@ -6570,6 +6574,7 @@

@@ -6588,6 +6593,7 @@

@@ -6606,6 +6612,7 @@

@@ -6624,6 +6631,7 @@

+
@@ -6642,6 +6650,7 @@

@@ -6660,6 +6669,7 @@

+
@@ -6678,6 +6688,7 @@

@@ -6714,6 +6726,7 @@

@@ -6733,6 +6746,7 @@

@@ -6751,6 +6765,7 @@

@@ -6782,21 +6797,20 @@

- EasyConfig + EasyConfig

-

- Bases: object

+

+ Bases: object

Class which handles loading, reading, validation of easyconfigs

-
@@ -6893,6 +6907,7 @@

@@ -6911,6 +6926,7 @@

+
@@ -6929,6 +6945,7 @@

@@ -6947,6 +6964,7 @@

+
@@ -6965,6 +6983,7 @@

@@ -6979,11 +6998,13 @@

@@ -7120,6 +7142,7 @@

@@ -7138,6 +7161,7 @@

+
@@ -7156,6 +7180,7 @@

@@ -7174,6 +7199,7 @@

@@ -7195,6 +7221,7 @@

+
@@ -7213,6 +7240,7 @@

+
@@ -7231,6 +7259,7 @@

@@ -7249,6 +7278,7 @@

+
@@ -7267,6 +7297,7 @@

+
@@ -7283,11 +7314,13 @@

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7312,6 +7345,7 @@

+
@@ -7334,6 +7368,7 @@

+
@@ -7348,11 +7383,13 @@

@@ -7409,6 +7447,7 @@

+
@@ -7427,6 +7466,7 @@

@@ -7445,6 +7485,7 @@

+
@@ -7463,6 +7504,7 @@

+
@@ -7481,6 +7523,7 @@

@@ -7495,11 +7538,13 @@

@@ -7545,6 +7591,7 @@

@@ -7563,6 +7610,7 @@

@@ -7582,6 +7630,7 @@

@@ -7596,11 +7645,13 @@

+
@@ -7640,6 +7692,7 @@

+
@@ -7658,6 +7711,7 @@

+
@@ -7676,6 +7730,7 @@

+
@@ -7695,6 +7750,7 @@

@@ -7713,6 +7769,7 @@

+
@@ -7731,6 +7788,7 @@

@@ -7760,11 +7818,13 @@

+
@@ -7814,11 +7875,13 @@

@@ -7857,6 +7921,7 @@

+
@@ -7875,6 +7940,7 @@

+
@@ -7894,6 +7960,7 @@

@@ -7915,6 +7982,7 @@

@@ -7933,6 +8001,7 @@

@@ -7951,6 +8020,7 @@

+
@@ -7979,6 +8049,7 @@

+
@@ -7994,11 +8065,13 @@

@@ -8033,11 +8107,13 @@

@@ -8102,11 +8181,13 @@

@@ -8158,6 +8240,7 @@

@@ -8173,11 +8256,13 @@

@@ -8246,6 +8334,7 @@

@@ -8260,11 +8349,13 @@

@@ -8358,6 +8452,7 @@

+
@@ -8380,6 +8475,7 @@

@@ -8398,6 +8494,7 @@

+
@@ -8416,6 +8513,7 @@

@@ -8431,11 +8529,13 @@

@@ -8504,11 +8605,13 @@

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8543,6 +8646,7 @@

+
@@ -8561,6 +8665,7 @@

@@ -8579,6 +8684,7 @@

@@ -8601,6 +8707,7 @@

@@ -8621,6 +8728,7 @@

@@ -8635,11 +8743,13 @@

@@ -8736,6 +8847,7 @@

@@ -8754,6 +8866,7 @@

@@ -8768,11 +8881,13 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -8841,6 +8958,7 @@

@@ -8859,6 +8977,7 @@

+
@@ -8875,11 +8994,13 @@

Unknown easyconfig parameters that have a single-letter name, or of which the name starts with 'local_' are considered to be local variables.

+ +

- + @@ -8906,6 +9027,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -8930,6 +9053,7 @@

+
@@ -8945,11 +9069,13 @@

Check whether parsed easyconfig at specified path matches expected specs; this basically verifies whether the easyconfig filename corresponds to its contents

+ +

- + diff --git a/api/easybuild/framework/easyconfig/format/convert/index.html b/api/easybuild/framework/easyconfig/format/convert/index.html index 208393eb1..9cea519d8 100644 --- a/api/easybuild/framework/easyconfig/format/convert/index.html +++ b/api/easybuild/framework/easyconfig/format/convert/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5887,21 +5887,20 @@

convert

- Dependency + Dependency

-

- Bases: Convert

+

+ Bases: Convert

Handle dependency

-
@@ -5914,6 +5913,7 @@

@@ -5932,6 +5932,7 @@

+
@@ -5950,6 +5951,7 @@

+
@@ -5968,6 +5970,7 @@

@@ -5986,6 +5989,7 @@

+
@@ -6004,6 +6008,7 @@

+
diff --git a/api/easybuild/framework/easyconfig/format/format/index.html b/api/easybuild/framework/easyconfig/format/format/index.html index 249b5e61a..6a641d4a5 100644 --- a/api/easybuild/framework/easyconfig/format/format/index.html +++ b/api/easybuild/framework/easyconfig/format/format/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6066,15 +6066,15 @@

format

- EBConfigObj + EBConfigObj

-

- Bases: object

+

+ Bases: object

Enhanced ConfigObj, version/toolchain and other easyconfig specific aspects aware

@@ -6094,7 +6094,6 @@

@@ -6107,6 +6106,7 @@

@@ -6121,11 +6121,13 @@

Initialise EBConfigObj instance

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6150,6 +6152,7 @@

+
@@ -6168,6 +6171,7 @@

+
@@ -6186,6 +6190,7 @@

@@ -6201,11 +6206,13 @@

@@ -6241,11 +6249,13 @@

Parse Section instance; convert all supported sections, keys and values to their respective representations

Returns a dict of (nested) Sections

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6276,6 +6286,7 @@

+
@@ -6291,11 +6302,13 @@

- EasyConfigFormat + EasyConfigFormat

-

- Bases: object

+

+ Bases: object

EasyConfigFormat class

-
@@ -6397,6 +6409,7 @@

@@ -6415,6 +6428,7 @@

+
@@ -6433,6 +6447,7 @@

+
@@ -6451,6 +6466,7 @@

@@ -6469,6 +6485,7 @@

@@ -6487,6 +6504,7 @@

+
@@ -6505,6 +6523,7 @@

@@ -6536,21 +6555,20 @@

- NestedDict + NestedDict

-

- Bases: dict

+

+ Bases: dict

A nested dictionary, with tracking of depth and parent

-
@@ -6563,6 +6581,7 @@

@@ -6581,6 +6600,7 @@

+
@@ -6599,6 +6619,7 @@

@@ -6630,21 +6651,20 @@

- Squashed + Squashed

-

- Bases: object

+

+ Bases: object

Class to ease the squashing of OrderedVersionOperators and OrderedToolchainVersionOperators

-
@@ -6657,6 +6677,7 @@

@@ -6675,6 +6696,7 @@

@@ -6689,11 +6711,13 @@

Add squashed instance from a toolchain section

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6714,6 +6738,7 @@

+
@@ -6728,11 +6753,13 @@

Add squashed instance from version section

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6763,6 +6790,7 @@

+
@@ -6794,21 +6822,20 @@

- TopNestedDict + TopNestedDict

-

- Bases: NestedDict

+

+ Bases: NestedDict

The top level nested dictionary (depth 0, parent is itself)

-
@@ -6821,6 +6848,7 @@

@@ -6848,6 +6876,7 @@

+
@@ -6866,6 +6895,7 @@

diff --git a/api/easybuild/framework/easyconfig/format/index.html b/api/easybuild/framework/easyconfig/format/index.html index 0c0d22511..c1fc98087 100644 --- a/api/easybuild/framework/easyconfig/format/index.html +++ b/api/easybuild/framework/easyconfig/format/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/framework/easyconfig/format/one/index.html b/api/easybuild/framework/easyconfig/format/one/index.html index ed3513e86..e3c9af729 100644 --- a/api/easybuild/framework/easyconfig/format/one/index.html +++ b/api/easybuild/framework/easyconfig/format/one/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5910,21 +5910,20 @@

one

- FormatOneZero + FormatOneZero

-

- Bases: EasyConfigFormatConfigObj

+

+ Bases: EasyConfigFormatConfigObj

Support for easyconfig format 1.x

-
@@ -5958,6 +5957,7 @@

@@ -5976,6 +5976,7 @@

+
@@ -5990,11 +5991,13 @@

@@ -6079,6 +6083,7 @@

@@ -6098,6 +6103,7 @@

+
@@ -6116,6 +6122,7 @@

@@ -6143,6 +6150,7 @@

+
@@ -6161,6 +6169,7 @@

diff --git a/api/easybuild/framework/easyconfig/format/pyheaderconfigobj/index.html b/api/easybuild/framework/easyconfig/format/pyheaderconfigobj/index.html index 85a636202..51ce153d0 100644 --- a/api/easybuild/framework/easyconfig/format/pyheaderconfigobj/index.html +++ b/api/easybuild/framework/easyconfig/format/pyheaderconfigobj/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5909,15 +5909,15 @@

pyheaderconfigobj

- EasyConfigFormatConfigObj + EasyConfigFormatConfigObj

-

- Bases: EasyConfigFormat

+

+ Bases: EasyConfigFormat

Extended EasyConfig format, with support for a header and sections that are actually parsed (as opposed to exec'ed). @@ -5930,7 +5930,6 @@

@@ -5943,6 +5942,7 @@

@@ -5961,6 +5961,7 @@

@@ -5980,6 +5981,7 @@

@@ -5998,6 +6000,7 @@

@@ -6016,6 +6019,7 @@

@@ -6034,6 +6038,7 @@

@@ -6052,6 +6057,7 @@

@@ -6079,6 +6085,7 @@

@@ -6097,6 +6104,7 @@

diff --git a/api/easybuild/framework/easyconfig/format/two/index.html b/api/easybuild/framework/easyconfig/format/two/index.html index 2910ad3fe..d3f111f24 100644 --- a/api/easybuild/framework/easyconfig/format/two/index.html +++ b/api/easybuild/framework/easyconfig/format/two/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5868,15 +5868,15 @@

two

- FormatTwoZero + FormatTwoZero

-

- Bases: EasyConfigFormatConfigObj

+

+ Bases: EasyConfigFormatConfigObj

Support for easyconfig format 2.0 @@ -5890,7 +5890,6 @@

@@ -5903,6 +5902,7 @@

@@ -5921,6 +5921,7 @@

@@ -5939,6 +5940,7 @@

+
diff --git a/api/easybuild/framework/easyconfig/format/version/index.html b/api/easybuild/framework/easyconfig/format/version/index.html index da88f6e9e..81eca2b8b 100644 --- a/api/easybuild/framework/easyconfig/format/version/index.html +++ b/api/easybuild/framework/easyconfig/format/version/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6102,21 +6102,20 @@

version

- EasyVersion + EasyVersion

-

- Bases: LooseVersion

+

+ Bases: LooseVersion

Exact LooseVersion. No modifications needed (yet)

-
@@ -6129,6 +6128,7 @@

@@ -6147,6 +6147,7 @@

+
@@ -6178,15 +6179,15 @@

- OrderedVersionOperators + OrderedVersionOperators

-

- Bases: object

+

+ Bases: object

Ordered version operators. The ordering is defined such that one can test from left to right, @@ -6195,7 +6196,6 @@

Conflicting version operators are not allowed.

-
@@ -6208,6 +6208,7 @@

@@ -6226,6 +6227,7 @@

@@ -6244,6 +6246,7 @@

@@ -6261,11 +6264,13 @@

+
@@ -6345,21 +6351,20 @@

- ToolchainVersionOperator + ToolchainVersionOperator

-

- Bases: VersionOperator

+

+ Bases: VersionOperator

Class which represents a toolchain and versionoperator instance

-
@@ -6372,6 +6377,7 @@

@@ -6390,6 +6396,7 @@

@@ -6404,11 +6411,13 @@

+
@@ -6451,6 +6461,7 @@

@@ -6470,6 +6481,7 @@

@@ -6488,6 +6500,7 @@

@@ -6507,6 +6520,7 @@

@@ -6526,6 +6540,7 @@

@@ -6541,11 +6556,13 @@

+
@@ -6608,21 +6626,20 @@

- VersionOperator + VersionOperator

-

- Bases: object

+

+ Bases: object

VersionOperator class represents a version expression that includes an operator.

-
@@ -6635,6 +6652,7 @@

@@ -6653,6 +6671,7 @@

+
@@ -6671,6 +6690,7 @@

+
@@ -6687,11 +6707,13 @@

Returns True if it is more strict in case of overlap, or if self.version > versop_other.version otherwise. Returns None in case of conflict.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6712,6 +6734,7 @@

+
@@ -6730,6 +6753,7 @@

+
@@ -6744,11 +6768,13 @@

Initialise VersionOperator instance.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6787,6 +6813,7 @@

+
@@ -6805,6 +6832,7 @@

+
@@ -6823,6 +6851,7 @@

+
@@ -6841,6 +6870,7 @@

+
@@ -6859,6 +6889,7 @@

@@ -6877,6 +6908,7 @@

+
@@ -6895,6 +6927,7 @@

@@ -6909,11 +6942,13 @@

+
@@ -6967,6 +7003,7 @@

+
@@ -6982,11 +7019,13 @@

Convert argument to an EasyVersion instance if needed, and return self.operator(, self.version) Versions only, no suffix.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7007,6 +7046,7 @@

+
@@ -7022,11 +7062,13 @@

+
@@ -7063,11 +7106,13 @@

yeb

- FormatYeb + FormatYeb

-

- Bases: EasyConfigFormat

+

+ Bases: EasyConfigFormat

Support for easyconfig YAML format

-
@@ -5937,6 +5936,7 @@

@@ -5955,6 +5955,7 @@

@@ -5973,6 +5974,7 @@

@@ -5991,6 +5993,7 @@

+
@@ -6009,6 +6012,7 @@

+
@@ -6027,6 +6031,7 @@

@@ -6054,6 +6059,7 @@

@@ -6073,6 +6079,7 @@

@@ -6093,6 +6100,7 @@

+
@@ -6109,11 +6117,13 @@

licenses

- License + License

-

- Bases: object

+

+ Bases: object

EasyBuild easyconfig license class This is also the default restrictive license

-
@@ -5985,6 +5984,7 @@

@@ -6016,22 +6016,21 @@

- LicenseGCC + LicenseGCC

-

- Bases: LicenseGPLv3

+

+ Bases: LicenseGPLv3

GPLv3 with GCC Runtime Library Exception. Latest GPLv2 GCC release was 4.2.1 (http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html).

-
@@ -6057,22 +6056,21 @@

- LicenseGCCOld + LicenseGCCOld

-

- Bases: LicenseGPLv2

+

+ Bases: LicenseGPLv2

GPLv2 with GCC Runtime Library Exception for older GCC versions. Latest GPLv2 GCC release was 4.2.1 (http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html).

-
@@ -6098,21 +6096,20 @@

- LicenseGPL + LicenseGPL

-

- Bases: LicenseOpen

+

+ Bases: LicenseOpen

Hidden license class to subclass GPL licenses.

-
@@ -6138,21 +6135,20 @@

- LicenseGPLv2 + LicenseGPLv2

-

- Bases: LicenseGPL

+

+ Bases: LicenseGPL

GPLv2 license

-
@@ -6178,21 +6174,20 @@

- LicenseGPLv3 + LicenseGPLv3

-

- Bases: LicenseGPLv2

+

+ Bases: LicenseGPLv2

GPLv3 license

-
@@ -6218,22 +6213,21 @@

- LicenseLibpng + LicenseLibpng

-

- Bases: LicenseOpen

+

+ Bases: LicenseOpen

The PNG license is derived from the zlib license, http://libpng.org/pub/png/src/libpng-LICENSE.txt

-
@@ -6259,15 +6253,15 @@

- LicenseOpen + LicenseOpen

-

- Bases: License

+

+ Bases: License

Hidden license class to subclass open licenses. @@ -6275,7 +6269,6 @@

@@ -6301,21 +6294,20 @@

- LicenseUnknown + LicenseUnknown

-

- Bases: LicenseVeryRestrictive

+

+ Bases: LicenseVeryRestrictive

A (temporary) license, could be used as default in case nothing was specified

-
@@ -6325,21 +6317,20 @@

- LicenseVeryRestrictive + LicenseVeryRestrictive

-

- Bases: License

+

+ Bases: License

Default license should be very restrictive, so nothing to do here, just a placeholder

-
@@ -6349,22 +6340,21 @@

- LicenseZlib + LicenseZlib

-

- Bases: LicenseOpen

+

+ Bases: LicenseOpen

The zlib License is a permissive free software license http://www.zlib.net/zlib_license.html

-
@@ -6386,6 +6376,7 @@

diff --git a/api/easybuild/framework/easyconfig/parser/index.html b/api/easybuild/framework/easyconfig/parser/index.html index f83cb8ad5..0a8664169 100644 --- a/api/easybuild/framework/easyconfig/parser/index.html +++ b/api/easybuild/framework/easyconfig/parser/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5907,22 +5907,21 @@

parser

- EasyConfigParser + EasyConfigParser

-

- Bases: object

+

+ Bases: object

Read the easyconfig file, return a parsed config object Can contain references to multiple version and toolchain/toolchain versions

-
@@ -5935,6 +5934,7 @@

@@ -5949,11 +5949,13 @@

@@ -6034,11 +6037,13 @@

+
@@ -6077,6 +6083,7 @@

@@ -6095,6 +6102,7 @@

+
@@ -6113,6 +6121,7 @@

@@ -6131,6 +6140,7 @@

+
@@ -6149,6 +6159,7 @@

@@ -6176,6 +6187,7 @@

@@ -6190,11 +6202,13 @@

Fetch (initial) parameter definition from the given easyconfig file contents.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + diff --git a/api/easybuild/framework/easyconfig/style/index.html b/api/easybuild/framework/easyconfig/style/index.html index 57b8c76f6..d8055812e 100644 --- a/api/easybuild/framework/easyconfig/style/index.html +++ b/api/easybuild/framework/easyconfig/style/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5840,6 +5840,7 @@

style

+
@@ -5854,11 +5855,13 @@

@@ -5927,11 +5933,13 @@

Run easyconfigs style check of each of the specified easyconfigs, triggered from 'eb' command line

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -5948,6 +5956,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + diff --git a/api/easybuild/framework/easyconfig/templates/index.html b/api/easybuild/framework/easyconfig/templates/index.html index 80e0da0bb..d1732a646 100644 --- a/api/easybuild/framework/easyconfig/templates/index.html +++ b/api/easybuild/framework/easyconfig/templates/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5850,6 +5850,7 @@

templates

+
@@ -5869,6 +5870,7 @@

@@ -5887,6 +5889,7 @@

@@ -5901,11 +5904,13 @@

tools

+
@@ -5964,6 +5965,7 @@

@@ -5982,6 +5984,7 @@

@@ -6001,6 +6004,7 @@

@@ -6015,11 +6019,13 @@

@@ -6082,6 +6091,7 @@

+
@@ -6100,6 +6110,7 @@

@@ -6114,11 +6125,13 @@

@@ -6173,11 +6189,13 @@

@@ -6227,6 +6246,7 @@

@@ -6308,6 +6331,7 @@

@@ -6322,11 +6346,13 @@

@@ -6361,11 +6388,13 @@

Print multi-diff overview between specified easyconfigs or PR and specified branch.

+ +

- + @@ -6446,6 +6475,7 @@

+
@@ -6464,6 +6494,7 @@

@@ -6482,6 +6513,7 @@

diff --git a/api/easybuild/framework/easyconfig/tweak/index.html b/api/easybuild/framework/easyconfig/tweak/index.html index e3d38ee83..9da1390a9 100644 --- a/api/easybuild/framework/easyconfig/tweak/index.html +++ b/api/easybuild/framework/easyconfig/tweak/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5953,6 +5953,7 @@

tweak

+
@@ -5967,11 +5968,13 @@

@@ -6041,6 +6047,7 @@

@@ -6055,11 +6062,13 @@

@@ -6114,11 +6124,13 @@

Find potential version mapping for a dependency in a new hierarchy

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6173,6 +6185,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6197,6 +6211,7 @@

+
@@ -6211,11 +6226,13 @@

@@ -6280,11 +6300,13 @@

Find easyconfigs that match specified requirements w.r.t. toolchain and partial filename pattern.

+ +

- + @@ -6311,6 +6333,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6335,6 +6359,7 @@

+
@@ -6349,11 +6374,13 @@

@@ -6408,11 +6438,13 @@

@@ -6487,11 +6522,13 @@

+ + @@ -6584,6 +6623,7 @@

@@ -6598,11 +6638,13 @@

@@ -6681,6 +6726,7 @@

@@ -6695,11 +6741,13 @@

@@ -6746,11 +6795,13 @@

@@ -6813,11 +6865,13 @@

@@ -6878,6 +6933,7 @@

@@ -6896,6 +6952,7 @@

+
@@ -6918,11 +6975,13 @@

If is not provided, a target filepath is generated based on and the contents of the tweaked easyconfig file.

+ +

- + diff --git a/api/easybuild/framework/easyconfig/types/index.html b/api/easybuild/framework/easyconfig/types/index.html index 477f686ac..0c65e60bc 100644 --- a/api/easybuild/framework/easyconfig/types/index.html +++ b/api/easybuild/framework/easyconfig/types/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5960,6 +5960,7 @@

types

+
@@ -5978,6 +5979,7 @@

@@ -5992,11 +5994,13 @@

@@ -6045,6 +6050,7 @@

@@ -6063,6 +6069,7 @@

@@ -6081,6 +6088,7 @@

@@ -6095,11 +6103,13 @@

@@ -6158,11 +6169,13 @@

@@ -6208,11 +6222,13 @@

Ensures that the provided license file/server specifications are of correct type and converts them to a list. The input can either be None, a string, or a list/tuple of strings.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6233,6 +6249,7 @@

+
@@ -6248,11 +6265,13 @@

@@ -6301,6 +6321,7 @@

@@ -6320,6 +6341,7 @@

@@ -6345,6 +6367,7 @@

@@ -6364,6 +6387,7 @@

@@ -6386,6 +6410,7 @@

+
@@ -6408,6 +6433,7 @@

@@ -6426,6 +6452,7 @@

@@ -6447,6 +6474,7 @@

@@ -6469,6 +6497,7 @@

+
@@ -6487,11 +6516,13 @@

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + diff --git a/api/easybuild/framework/easystack/index.html b/api/easybuild/framework/easystack/index.html index 7eb0782ba..5ba3ee820 100644 --- a/api/easybuild/framework/easystack/index.html +++ b/api/easybuild/framework/easystack/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5907,21 +5907,20 @@

easystack

- EasyStack + EasyStack

-

- Bases: object

+

+ Bases: object

One class instance per easystack. General options + list of all SoftwareSpecs instances

-
@@ -5934,6 +5933,7 @@

+
@@ -5952,6 +5952,7 @@

+
@@ -5983,21 +5984,20 @@

- EasyStackParser + EasyStackParser

-

- Bases: object

+

+ Bases: object

Parser for easystack files (in YAML syntax).

-
@@ -6010,6 +6010,7 @@

+
@@ -6032,6 +6033,7 @@

@@ -6067,21 +6069,20 @@

- SoftwareSpecs + SoftwareSpecs

-

- Bases: object

+

+ Bases: object

Contains information about every software that should be installed

-
@@ -6103,6 +6104,7 @@

+
@@ -6122,6 +6124,7 @@

+
diff --git a/api/easybuild/framework/extension/index.html b/api/easybuild/framework/extension/index.html index af6562b56..bf0e9dea0 100644 --- a/api/easybuild/framework/extension/index.html +++ b/api/easybuild/framework/extension/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5938,21 +5938,20 @@

extension

- Extension + Extension

-

- Bases: object

+

+ Bases: object

Support for installing extensions.

-
@@ -6049,6 +6048,7 @@

@@ -6063,11 +6063,13 @@

@@ -6126,6 +6129,8 @@

@@ -6168,6 +6174,7 @@

@@ -6186,6 +6193,7 @@

+
@@ -6204,6 +6212,7 @@

+
@@ -6222,6 +6231,7 @@

+
@@ -6240,6 +6250,7 @@

@@ -6267,6 +6278,7 @@

@@ -6281,11 +6293,13 @@

- + @@ -25,7 +25,7 @@ - + @@ -5877,15 +5877,15 @@

extensioneasyblock

- ExtensionEasyBlock + ExtensionEasyBlock

-

- Bases: EasyBlock, Extension

+

+ Bases: EasyBlock, Extension

Install an extension as a separate module, or as an extension.

@@ -5898,7 +5898,6 @@

@@ -5911,6 +5910,7 @@

@@ -5929,6 +5929,7 @@

+
@@ -5951,6 +5952,7 @@

+
@@ -5969,6 +5971,7 @@

@@ -5987,6 +5990,7 @@

diff --git a/api/easybuild/framework/index.html b/api/easybuild/framework/index.html index 58864eaf6..a2cae1bf3 100644 --- a/api/easybuild/framework/index.html +++ b/api/easybuild/framework/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/index.html b/api/easybuild/index.html index c57e5caba..fd8767de7 100644 --- a/api/easybuild/index.html +++ b/api/easybuild/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/main/index.html b/api/easybuild/main/index.html index 7ef104afb..abd0b55c8 100644 --- a/api/easybuild/main/index.html +++ b/api/easybuild/main/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5879,6 +5879,7 @@

main

+
@@ -5893,11 +5894,13 @@

Build and install software for all provided parsed easyconfig files.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -5942,6 +5945,7 @@

+
@@ -5960,6 +5964,7 @@

+
@@ -5978,6 +5983,7 @@

+
@@ -5992,11 +5998,13 @@

Main function: parse command line options, and act accordingly.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6063,6 +6071,7 @@

+
@@ -6078,11 +6087,13 @@

Process an EasyStack file. That means, parsing, looping over all items in the EasyStack file building (where requested) the individual items, etc

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6153,6 +6164,7 @@

+
@@ -6168,11 +6180,13 @@

Remainder of main function, actually process provided arguments (list of files/paths), according to specified options.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6263,6 +6277,7 @@

+
@@ -6277,6 +6292,8 @@

Handle running of contribution and style checks on specified easyconfigs (if desired).

+ +

PARAMETERDESCRIPTION DESCRIPTION
diff --git a/api/easybuild/scripts/bootstrap_eb/index.html b/api/easybuild/scripts/bootstrap_eb/index.html index 7a59b70df..e4c29d15c 100644 --- a/api/easybuild/scripts/bootstrap_eb/index.html +++ b/api/easybuild/scripts/bootstrap_eb/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5948,6 +5948,7 @@

bootstrap_eb

+
@@ -5966,6 +5967,7 @@

@@ -5984,6 +5986,7 @@

@@ -6002,6 +6005,7 @@

+
@@ -6020,6 +6024,7 @@

+
@@ -6038,6 +6043,7 @@

+
@@ -6056,6 +6062,7 @@

+
@@ -6074,6 +6081,7 @@

+
@@ -6092,6 +6100,7 @@

+
@@ -6110,6 +6119,7 @@

+
@@ -6128,6 +6138,7 @@

+
@@ -6146,6 +6157,7 @@

@@ -6164,6 +6176,7 @@

+
@@ -6182,6 +6195,7 @@

@@ -6200,6 +6214,7 @@

+
@@ -6218,6 +6233,7 @@

+
@@ -6236,6 +6252,7 @@

+
diff --git a/api/easybuild/scripts/clean_gists/index.html b/api/easybuild/scripts/clean_gists/index.html index 9d51047d4..3306b31c1 100644 --- a/api/easybuild/scripts/clean_gists/index.html +++ b/api/easybuild/scripts/clean_gists/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5834,6 +5834,7 @@

clean_gists

+
diff --git a/api/easybuild/scripts/findPythonDeps/index.html b/api/easybuild/scripts/findPythonDeps/index.html index 3e7f649cc..7c773591d 100644 --- a/api/easybuild/scripts/findPythonDeps/index.html +++ b/api/easybuild/scripts/findPythonDeps/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5860,6 +5860,7 @@

findPythonDeps

+
@@ -5878,6 +5879,7 @@

+
@@ -5896,6 +5898,7 @@

+
@@ -5914,6 +5917,7 @@

+
@@ -5932,6 +5936,7 @@

+
@@ -5950,6 +5955,7 @@

+
diff --git a/api/easybuild/scripts/fix_docs/index.html b/api/easybuild/scripts/fix_docs/index.html index 586087c0c..d02f14100 100644 --- a/api/easybuild/scripts/fix_docs/index.html +++ b/api/easybuild/scripts/fix_docs/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/scripts/index.html b/api/easybuild/scripts/index.html index 4eb1da6c2..f9a238d79 100644 --- a/api/easybuild/scripts/index.html +++ b/api/easybuild/scripts/index.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + diff --git a/api/easybuild/scripts/mk_tmpl_easyblock_for/index.html b/api/easybuild/scripts/mk_tmpl_easyblock_for/index.html index f37d1c6bb..4a359c754 100644 --- a/api/easybuild/scripts/mk_tmpl_easyblock_for/index.html +++ b/api/easybuild/scripts/mk_tmpl_easyblock_for/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/scripts/rpath_args/index.html b/api/easybuild/scripts/rpath_args/index.html index 7a6040ad6..9930bcb4b 100644 --- a/api/easybuild/scripts/rpath_args/index.html +++ b/api/easybuild/scripts/rpath_args/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5831,6 +5831,7 @@

rpath_args

+
diff --git a/api/easybuild/toolchains/cgmpich/index.html b/api/easybuild/toolchains/cgmpich/index.html index 810b9576c..e477ea862 100644 --- a/api/easybuild/toolchains/cgmpich/index.html +++ b/api/easybuild/toolchains/cgmpich/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

cgmpich

- Cgmpich + Cgmpich

-

- Bases: ClangGcc, Mpich

+

+ Bases: ClangGcc, Mpich

Compiler toolchain with Clang, GFortran and MPICH.

-
diff --git a/api/easybuild/toolchains/cgmpolf/index.html b/api/easybuild/toolchains/cgmpolf/index.html index 2225eb19e..5db76d8c8 100644 --- a/api/easybuild/toolchains/cgmpolf/index.html +++ b/api/easybuild/toolchains/cgmpolf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

cgmpolf

- Cgmpolf + Cgmpolf

-

- Bases: Cgmpich, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Cgmpich, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with Clang, GFortran, MPICH, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/cgmvapich2/index.html b/api/easybuild/toolchains/cgmvapich2/index.html index a6ed9dadc..1c96ed1b6 100644 --- a/api/easybuild/toolchains/cgmvapich2/index.html +++ b/api/easybuild/toolchains/cgmvapich2/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

cgmvapich2

- Cgmvapich2 + Cgmvapich2

-

- Bases: ClangGcc, Mvapich2

+

+ Bases: ClangGcc, Mvapich2

Compiler toolchain with Clang, GFortran and MVAPICH2.

-
diff --git a/api/easybuild/toolchains/cgmvolf/index.html b/api/easybuild/toolchains/cgmvolf/index.html index 592614b20..4669a27b1 100644 --- a/api/easybuild/toolchains/cgmvolf/index.html +++ b/api/easybuild/toolchains/cgmvolf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

cgmvolf

- Cgmvolf + Cgmvolf

-

- Bases: Cgmvapich2, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Cgmvapich2, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with Clang, GFortran, MVAPICH2, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/cgompi/index.html b/api/easybuild/toolchains/cgompi/index.html index 88276ec75..714be7c20 100644 --- a/api/easybuild/toolchains/cgompi/index.html +++ b/api/easybuild/toolchains/cgompi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

cgompi

- Cgompi + Cgompi

-

- Bases: ClangGcc, OpenMPI

+

+ Bases: ClangGcc, OpenMPI

Compiler toolchain with Clang, GFortran and OpenMPI.

-
diff --git a/api/easybuild/toolchains/cgoolf/index.html b/api/easybuild/toolchains/cgoolf/index.html index a9dc23428..2c0475abf 100644 --- a/api/easybuild/toolchains/cgoolf/index.html +++ b/api/easybuild/toolchains/cgoolf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

cgoolf

- Cgoolf + Cgoolf

-

- Bases: Cgompi, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Cgompi, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with Clang, GFortran, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/clanggcc/index.html b/api/easybuild/toolchains/clanggcc/index.html index f04c6b1e3..967ac7c52 100644 --- a/api/easybuild/toolchains/clanggcc/index.html +++ b/api/easybuild/toolchains/clanggcc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

clanggcc

- ClangGcc + ClangGcc

-

- Bases: Clang, Gcc

+

+ Bases: Clang, Gcc

Compiler toolchain with Clang and GFortran compilers.

-
diff --git a/api/easybuild/toolchains/compiler/clang/index.html b/api/easybuild/toolchains/compiler/clang/index.html index 8e4c73e9e..d09fca88b 100644 --- a/api/easybuild/toolchains/compiler/clang/index.html +++ b/api/easybuild/toolchains/compiler/clang/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

clang

- Clang + Clang

-

- Bases: Compiler

+

+ Bases: Compiler

Clang compiler class

-
diff --git a/api/easybuild/toolchains/compiler/craype/index.html b/api/easybuild/toolchains/compiler/craype/index.html index 179044851..960945b81 100644 --- a/api/easybuild/toolchains/compiler/craype/index.html +++ b/api/easybuild/toolchains/compiler/craype/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5944,21 +5944,20 @@

craype

- CrayPECompiler + CrayPECompiler

-

- Bases: Compiler

+

+ Bases: Compiler

Generic support for using Cray compiler drivers.

-
@@ -5971,6 +5970,7 @@

@@ -5989,6 +5989,7 @@

@@ -6020,21 +6021,20 @@

- CrayPECray + CrayPECray

-

- Bases: CrayPECompiler

+

+ Bases: CrayPECompiler

Support for using the Cray CCE compiler wrappers.

-
@@ -6047,6 +6047,7 @@

@@ -6078,21 +6079,20 @@

- CrayPEGCC + CrayPEGCC

-

- Bases: CrayPECompiler

+

+ Bases: CrayPECompiler

Support for using the Cray GNU compiler wrappers.

-
@@ -6105,6 +6105,7 @@

+
@@ -6136,21 +6137,20 @@

- CrayPEIntel + CrayPEIntel

-

- Bases: CrayPECompiler

+

+ Bases: CrayPECompiler

Support for using the Cray Intel compiler wrappers.

-
@@ -6163,6 +6163,7 @@

@@ -6194,21 +6195,20 @@

- CrayPEPGI + CrayPEPGI

-

- Bases: CrayPECompiler

+

+ Bases: CrayPECompiler

Support for using the Cray PGI compiler wrappers.

-
@@ -6221,6 +6221,7 @@

+
diff --git a/api/easybuild/toolchains/compiler/cuda/index.html b/api/easybuild/toolchains/compiler/cuda/index.html index 0c0b8ca4f..f32498565 100644 --- a/api/easybuild/toolchains/compiler/cuda/index.html +++ b/api/easybuild/toolchains/compiler/cuda/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5850,21 +5850,20 @@

cuda

- Cuda + Cuda

-

- Bases: Compiler

+

+ Bases: Compiler

CUDA compiler class.

-
@@ -5877,6 +5876,7 @@

+
diff --git a/api/easybuild/toolchains/compiler/dummycompiler/index.html b/api/easybuild/toolchains/compiler/dummycompiler/index.html index f5e6c6670..e08422b96 100644 --- a/api/easybuild/toolchains/compiler/dummycompiler/index.html +++ b/api/easybuild/toolchains/compiler/dummycompiler/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

dummycompiler

- DummyCompiler + DummyCompiler

-

- Bases: Compiler

+

+ Bases: Compiler

Dummy compiler : try not to even use system gcc

-
diff --git a/api/easybuild/toolchains/compiler/fujitsu/index.html b/api/easybuild/toolchains/compiler/fujitsu/index.html index 83ebe4116..ea6892cb7 100644 --- a/api/easybuild/toolchains/compiler/fujitsu/index.html +++ b/api/easybuild/toolchains/compiler/fujitsu/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

fujitsu

- FujitsuCompiler + FujitsuCompiler

-

- Bases: Compiler

+

+ Bases: Compiler

Generic support for using Fujitsu compiler drivers.

-
diff --git a/api/easybuild/toolchains/compiler/gcc/index.html b/api/easybuild/toolchains/compiler/gcc/index.html index ffa507963..83eb3d884 100644 --- a/api/easybuild/toolchains/compiler/gcc/index.html +++ b/api/easybuild/toolchains/compiler/gcc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

gcc

- Gcc + Gcc

-

- Bases: Compiler

+

+ Bases: Compiler

GCC compiler class

-
diff --git a/api/easybuild/toolchains/compiler/ibmxl/index.html b/api/easybuild/toolchains/compiler/ibmxl/index.html index 847429e16..9df42e479 100644 --- a/api/easybuild/toolchains/compiler/ibmxl/index.html +++ b/api/easybuild/toolchains/compiler/ibmxl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/toolchains/compiler/index.html b/api/easybuild/toolchains/compiler/index.html index 2ad98c6e8..1fcdbcf1b 100644 --- a/api/easybuild/toolchains/compiler/index.html +++ b/api/easybuild/toolchains/compiler/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/toolchains/compiler/intel_compilers/index.html b/api/easybuild/toolchains/compiler/intel_compilers/index.html index 0afacd872..585d83756 100644 --- a/api/easybuild/toolchains/compiler/intel_compilers/index.html +++ b/api/easybuild/toolchains/compiler/intel_compilers/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5850,21 +5850,20 @@

intel_compilers

- IntelCompilers + IntelCompilers

-

- Bases: IntelIccIfort

+

+ Bases: IntelIccIfort

Compiler class for Intel oneAPI compilers

-
@@ -5877,6 +5876,7 @@

diff --git a/api/easybuild/toolchains/compiler/inteliccifort/index.html b/api/easybuild/toolchains/compiler/inteliccifort/index.html index e5286896f..4de40c077 100644 --- a/api/easybuild/toolchains/compiler/inteliccifort/index.html +++ b/api/easybuild/toolchains/compiler/inteliccifort/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5858,15 +5858,15 @@

inteliccifort

- IntelIccIfort + IntelIccIfort

-

- Bases: Compiler

+

+ Bases: Compiler

Intel compiler class @@ -5874,7 +5874,6 @@

@@ -5887,6 +5886,7 @@

@@ -5905,6 +5905,7 @@

+
diff --git a/api/easybuild/toolchains/compiler/nvhpc/index.html b/api/easybuild/toolchains/compiler/nvhpc/index.html index d29002a9c..caa19947a 100644 --- a/api/easybuild/toolchains/compiler/nvhpc/index.html +++ b/api/easybuild/toolchains/compiler/nvhpc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5840,21 +5840,20 @@

nvhpc

- NVHPC + NVHPC

-

- Bases: Compiler

+

+ Bases: Compiler

NVHPC compiler class

-
diff --git a/api/easybuild/toolchains/compiler/pgi/index.html b/api/easybuild/toolchains/compiler/pgi/index.html index 34afc9784..7e21e6c65 100644 --- a/api/easybuild/toolchains/compiler/pgi/index.html +++ b/api/easybuild/toolchains/compiler/pgi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

pgi

- Pgi + Pgi

-

- Bases: Compiler

+

+ Bases: Compiler

PGI compiler class

-
diff --git a/api/easybuild/toolchains/compiler/systemcompiler/index.html b/api/easybuild/toolchains/compiler/systemcompiler/index.html index 56671f77c..87a27802d 100644 --- a/api/easybuild/toolchains/compiler/systemcompiler/index.html +++ b/api/easybuild/toolchains/compiler/systemcompiler/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

systemcompiler

- SystemCompiler + SystemCompiler

-

- Bases: Compiler

+

+ Bases: Compiler

System compiler

-
diff --git a/api/easybuild/toolchains/craycce/index.html b/api/easybuild/toolchains/craycce/index.html index 1b351515e..fdf5fff6c 100644 --- a/api/easybuild/toolchains/craycce/index.html +++ b/api/easybuild/toolchains/craycce/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

craycce

- CrayCCE + CrayCCE

-

- Bases: CrayPECray, CrayMPICH, LibSci

+

+ Bases: CrayPECray, CrayMPICH, LibSci

Compiler toolchain for Cray Programming Environment for Cray Compiling Environment (CCE) (PrgEnv-cray).

-
diff --git a/api/easybuild/toolchains/craygnu/index.html b/api/easybuild/toolchains/craygnu/index.html index 4d80e7956..89da71233 100644 --- a/api/easybuild/toolchains/craygnu/index.html +++ b/api/easybuild/toolchains/craygnu/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

craygnu

- CrayGNU + CrayGNU

-

- Bases: CrayPEGCC, CrayMPICH, LibSci

+

+ Bases: CrayPEGCC, CrayMPICH, LibSci

Compiler toolchain for Cray Programming Environment for GCC compilers (PrgEnv-gnu).

-
diff --git a/api/easybuild/toolchains/crayintel/index.html b/api/easybuild/toolchains/crayintel/index.html index 3683918cf..bc6abba02 100644 --- a/api/easybuild/toolchains/crayintel/index.html +++ b/api/easybuild/toolchains/crayintel/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

crayintel

- CrayIntel + CrayIntel

-

- Bases: CrayPEIntel, CrayMPICH, LibSci

+

+ Bases: CrayPEIntel, CrayMPICH, LibSci

Compiler toolchain for Cray Programming Environment for Intel compilers (PrgEnv-intel).

-
diff --git a/api/easybuild/toolchains/craypgi/index.html b/api/easybuild/toolchains/craypgi/index.html index e0add5a32..9d40b37b1 100644 --- a/api/easybuild/toolchains/craypgi/index.html +++ b/api/easybuild/toolchains/craypgi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

craypgi

- CrayPGI + CrayPGI

-

- Bases: CrayPEPGI, CrayMPICH

+

+ Bases: CrayPEPGI, CrayMPICH

Compiler toolchain for Cray Programming Environment for Cray Compiling Environment (PGI) (PrgEnv-pgi).

-
diff --git a/api/easybuild/toolchains/dummy/index.html b/api/easybuild/toolchains/dummy/index.html index 10d6338de..41f56556b 100644 --- a/api/easybuild/toolchains/dummy/index.html +++ b/api/easybuild/toolchains/dummy/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

dummy

- Dummy + Dummy

-

- Bases: DummyCompiler

+

+ Bases: DummyCompiler

Dummy toolchain.

-
diff --git a/api/easybuild/toolchains/fcc/index.html b/api/easybuild/toolchains/fcc/index.html index 3ce4f324b..1b370334f 100644 --- a/api/easybuild/toolchains/fcc/index.html +++ b/api/easybuild/toolchains/fcc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

fcc

- FCC + FCC

-

- Bases: FujitsuCompiler

+

+ Bases: FujitsuCompiler

Compiler toolchain with Fujitsu Compiler.

-
diff --git a/api/easybuild/toolchains/ffmpi/index.html b/api/easybuild/toolchains/ffmpi/index.html index acaa409b8..abd149668 100644 --- a/api/easybuild/toolchains/ffmpi/index.html +++ b/api/easybuild/toolchains/ffmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

ffmpi

- Ffmpi + Ffmpi

-

- Bases: FCC, FujitsuMPI

+

+ Bases: FCC, FujitsuMPI

Compiler toolchain with Fujitsu Compiler and MPI.

-
diff --git a/api/easybuild/toolchains/fft/fftw/index.html b/api/easybuild/toolchains/fft/fftw/index.html index 95ed212c7..01e2d9ed1 100644 --- a/api/easybuild/toolchains/fft/fftw/index.html +++ b/api/easybuild/toolchains/fft/fftw/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

fftw

- Fftw + Fftw

-

- Bases: Fft

+

+ Bases: Fft

FFTW FFT library

-
diff --git a/api/easybuild/toolchains/fft/fujitsufftw/index.html b/api/easybuild/toolchains/fft/fujitsufftw/index.html index 613563055..25d76b2c0 100644 --- a/api/easybuild/toolchains/fft/fujitsufftw/index.html +++ b/api/easybuild/toolchains/fft/fujitsufftw/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

fujitsufftw

- FujitsuFFTW + FujitsuFFTW

-

- Bases: Fftw

+

+ Bases: Fftw

Fujitsu FFTW FFT library

-
diff --git a/api/easybuild/toolchains/fft/index.html b/api/easybuild/toolchains/fft/index.html index c668613b6..9dcf41b9c 100644 --- a/api/easybuild/toolchains/fft/index.html +++ b/api/easybuild/toolchains/fft/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/toolchains/fft/intelfftw/index.html b/api/easybuild/toolchains/fft/intelfftw/index.html index 704e52d72..df84e962b 100644 --- a/api/easybuild/toolchains/fft/intelfftw/index.html +++ b/api/easybuild/toolchains/fft/intelfftw/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

intelfftw

- IntelFFTW + IntelFFTW

-

- Bases: Fftw

+

+ Bases: Fftw

FFTW wrapper functionality of Intel MKL

-
diff --git a/api/easybuild/toolchains/foss/index.html b/api/easybuild/toolchains/foss/index.html index 80ed3594e..04c830ab4 100644 --- a/api/easybuild/toolchains/foss/index.html +++ b/api/easybuild/toolchains/foss/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5862,21 +5862,20 @@

foss

- Foss + Foss

-

- Bases: Gompi, OpenBLAS, FlexiBLAS, ScaLAPACK, Fftw

+

+ Bases: Gompi, OpenBLAS, FlexiBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

-
@@ -5889,6 +5888,7 @@

+
@@ -5907,6 +5907,7 @@

+
@@ -5926,6 +5927,7 @@

diff --git a/api/easybuild/toolchains/fosscuda/index.html b/api/easybuild/toolchains/fosscuda/index.html index ebade60bc..ceeae70ba 100644 --- a/api/easybuild/toolchains/fosscuda/index.html +++ b/api/easybuild/toolchains/fosscuda/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

fosscuda

- Fosscuda + Fosscuda

-

- Bases: Gompic, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Gompic, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC+CUDA, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/fujitsu/index.html b/api/easybuild/toolchains/fujitsu/index.html index 1e7b7422c..0c155fa77 100644 --- a/api/easybuild/toolchains/fujitsu/index.html +++ b/api/easybuild/toolchains/fujitsu/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

fujitsu

- Fujitsu + Fujitsu

-

- Bases: Ffmpi, FujitsuFFTW, FujitsuSSL

+

+ Bases: Ffmpi, FujitsuFFTW, FujitsuSSL

Compiler toolchain for Fujitsu.

-
diff --git a/api/easybuild/toolchains/gcc/index.html b/api/easybuild/toolchains/gcc/index.html index 11b8b8d90..d18dbc6e0 100644 --- a/api/easybuild/toolchains/gcc/index.html +++ b/api/easybuild/toolchains/gcc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5848,21 +5848,20 @@

gcc

- GccToolchain + GccToolchain

-

- Bases: GCCcore

+

+ Bases: GCCcore

Simple toolchain with just the GCC compilers.

-
@@ -5875,6 +5874,7 @@

+
diff --git a/api/easybuild/toolchains/gcccore/index.html b/api/easybuild/toolchains/gcccore/index.html index 7ec3108d8..50f615e91 100644 --- a/api/easybuild/toolchains/gcccore/index.html +++ b/api/easybuild/toolchains/gcccore/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5848,21 +5848,20 @@

gcccore

- GCCcore + GCCcore

-

- Bases: Gcc

+

+ Bases: Gcc

Compiler-only toolchain, including only GCC and binutils.

-
@@ -5875,6 +5874,7 @@

+
diff --git a/api/easybuild/toolchains/gcccuda/index.html b/api/easybuild/toolchains/gcccuda/index.html index bd3580e63..b045ea8ad 100644 --- a/api/easybuild/toolchains/gcccuda/index.html +++ b/api/easybuild/toolchains/gcccuda/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5848,21 +5848,20 @@

gcccuda

- GccCUDA + GccCUDA

-

- Bases: GccToolchain, Cuda

+

+ Bases: GccToolchain, Cuda

Compiler toolchain with GCC and CUDA.

-
@@ -5875,6 +5874,7 @@

+
diff --git a/api/easybuild/toolchains/gfbf/index.html b/api/easybuild/toolchains/gfbf/index.html index e28babac0..c2708c021 100644 --- a/api/easybuild/toolchains/gfbf/index.html +++ b/api/easybuild/toolchains/gfbf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

gfbf

- Gfbf + Gfbf

-

- Bases: GccToolchain, FlexiBLAS, Fftw

+

+ Bases: GccToolchain, FlexiBLAS, Fftw

Compiler toolchain with GCC, FlexiBLAS and FFTW.

-
diff --git a/api/easybuild/toolchains/gimkl/index.html b/api/easybuild/toolchains/gimkl/index.html index f4e82a6cf..7631fcacd 100644 --- a/api/easybuild/toolchains/gimkl/index.html +++ b/api/easybuild/toolchains/gimkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

gimkl

- Gimkl + Gimkl

-

- Bases: Gimpi, IntelMKL, IntelFFTW

+

+ Bases: Gimpi, IntelMKL, IntelFFTW

Compiler toolchain with GCC, Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/gimpi/index.html b/api/easybuild/toolchains/gimpi/index.html index 94efce623..3e07c8285 100644 --- a/api/easybuild/toolchains/gimpi/index.html +++ b/api/easybuild/toolchains/gimpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5849,21 +5849,20 @@

gimpi

- Gimpi + Gimpi

-

- Bases: GccToolchain, IntelMPI

+

+ Bases: GccToolchain, IntelMPI

Compiler toolchain with GCC and Intel MPI.

-
@@ -5876,6 +5875,7 @@

+
diff --git a/api/easybuild/toolchains/gimpic/index.html b/api/easybuild/toolchains/gimpic/index.html index b5ef85f81..d316ed85d 100644 --- a/api/easybuild/toolchains/gimpic/index.html +++ b/api/easybuild/toolchains/gimpic/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

gimpic

- Gimpic + Gimpic

-

- Bases: GccCUDA, IntelMPI

+

+ Bases: GccCUDA, IntelMPI

Compiler toolchain with GCC+CUDA and IntelMPI.

-
diff --git a/api/easybuild/toolchains/giolf/index.html b/api/easybuild/toolchains/giolf/index.html index 32ddd8a41..db91596ca 100644 --- a/api/easybuild/toolchains/giolf/index.html +++ b/api/easybuild/toolchains/giolf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

giolf

- Giolf + Giolf

-

- Bases: Gimpi, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Gimpi, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC, IntelMPI, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/giolfc/index.html b/api/easybuild/toolchains/giolfc/index.html index 0c3b9b6cf..8d8579da6 100644 --- a/api/easybuild/toolchains/giolfc/index.html +++ b/api/easybuild/toolchains/giolfc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

giolfc

- Giolfc + Giolfc

-

- Bases: Gimpic, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Gimpic, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC+CUDA, IntelMPI, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/gmacml/index.html b/api/easybuild/toolchains/gmacml/index.html index d465a9a39..f021ec526 100644 --- a/api/easybuild/toolchains/gmacml/index.html +++ b/api/easybuild/toolchains/gmacml/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

gmacml

- Gmacml + Gmacml

-

- Bases: Gmvapich2, Acml, ScaLAPACK, Fftw

+

+ Bases: Gmvapich2, Acml, ScaLAPACK, Fftw

Compiler toolchain with GCC, MVAPICH2, ACML, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/gmkl/index.html b/api/easybuild/toolchains/gmkl/index.html index fcb06988f..4d3fdc227 100644 --- a/api/easybuild/toolchains/gmkl/index.html +++ b/api/easybuild/toolchains/gmkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,22 +5838,21 @@

gmkl

- Gmkl + Gmkl

-

- Bases: GccToolchain, IntelMKL, IntelFFTW

+

+ Bases: GccToolchain, IntelMKL, IntelFFTW

Compiler toolchain with GCC, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/gmklc/index.html b/api/easybuild/toolchains/gmklc/index.html index ee043560e..87c11025c 100644 --- a/api/easybuild/toolchains/gmklc/index.html +++ b/api/easybuild/toolchains/gmklc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5839,22 +5839,21 @@

gmklc

- Gmklc + Gmklc

-

- Bases: GccCUDA, Gmkl, IntelMKL, IntelFFTW

+

+ Bases: GccCUDA, Gmkl, IntelMKL, IntelFFTW

Compiler toolchain with GCC, Intel Math Kernel Library (MKL) and Intel FFTW wrappers and CUDA.

-
diff --git a/api/easybuild/toolchains/gmpich/index.html b/api/easybuild/toolchains/gmpich/index.html index 33ac5a526..2a4706fad 100644 --- a/api/easybuild/toolchains/gmpich/index.html +++ b/api/easybuild/toolchains/gmpich/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

gmpich

- Gmpich + Gmpich

-

- Bases: GccToolchain, Mpich

+

+ Bases: GccToolchain, Mpich

Compiler toolchain with GCC and MPICH.

-
diff --git a/api/easybuild/toolchains/gmpich2/index.html b/api/easybuild/toolchains/gmpich2/index.html index 13b5d7810..41984cc69 100644 --- a/api/easybuild/toolchains/gmpich2/index.html +++ b/api/easybuild/toolchains/gmpich2/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

gmpich2

- Gmpich2 + Gmpich2

-

- Bases: GccToolchain, Mpich2

+

+ Bases: GccToolchain, Mpich2

Compiler toolchain with GCC and MPICH2.

-
diff --git a/api/easybuild/toolchains/gmpit/index.html b/api/easybuild/toolchains/gmpit/index.html index 0a416e0ff..ae0940907 100644 --- a/api/easybuild/toolchains/gmpit/index.html +++ b/api/easybuild/toolchains/gmpit/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5848,21 +5848,20 @@

gmpit

- Gmpit + Gmpit

-

- Bases: GccToolchain, MPItrampoline

+

+ Bases: GccToolchain, MPItrampoline

Compiler toolchain with GCC and MPItrampoline.

-
@@ -5875,6 +5874,7 @@

+
diff --git a/api/easybuild/toolchains/gmpolf/index.html b/api/easybuild/toolchains/gmpolf/index.html index bb2b7d69f..bd5a9dcbf 100644 --- a/api/easybuild/toolchains/gmpolf/index.html +++ b/api/easybuild/toolchains/gmpolf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

gmpolf

- Gmpolf + Gmpolf

-

- Bases: Gmpich, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Gmpich, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC, MPICH, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/gmvapich2/index.html b/api/easybuild/toolchains/gmvapich2/index.html index f063da30c..4c997ed4f 100644 --- a/api/easybuild/toolchains/gmvapich2/index.html +++ b/api/easybuild/toolchains/gmvapich2/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

gmvapich2

- Gmvapich2 + Gmvapich2

-

- Bases: GccToolchain, Mvapich2

+

+ Bases: GccToolchain, Mvapich2

Compiler toolchain with GCC and MVAPICH2.

-
diff --git a/api/easybuild/toolchains/gmvolf/index.html b/api/easybuild/toolchains/gmvolf/index.html index 06acc3103..ec7599524 100644 --- a/api/easybuild/toolchains/gmvolf/index.html +++ b/api/easybuild/toolchains/gmvolf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

gmvolf

- Gmvolf + Gmvolf

-

- Bases: Gmvapich2, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Gmvapich2, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC, MVAPICH2, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/gnu/index.html b/api/easybuild/toolchains/gnu/index.html index 204267ac2..974159bdc 100644 --- a/api/easybuild/toolchains/gnu/index.html +++ b/api/easybuild/toolchains/gnu/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

gnu

- GNU + GNU

-

- Bases: Gcc

+

+ Bases: Gcc

Compiler-only toolchain, including only GCC and binutils.

-
diff --git a/api/easybuild/toolchains/goalf/index.html b/api/easybuild/toolchains/goalf/index.html index 45f2c4af0..7fefe1a79 100644 --- a/api/easybuild/toolchains/goalf/index.html +++ b/api/easybuild/toolchains/goalf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

goalf

- Goalf + Goalf

-

- Bases: Gompi, Atlas, ScaLAPACK, Fftw

+

+ Bases: Gompi, Atlas, ScaLAPACK, Fftw

Compiler toolchain with GCC, OpenMPI, ATLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/gobff/index.html b/api/easybuild/toolchains/gobff/index.html index a7586afa8..21e004129 100644 --- a/api/easybuild/toolchains/gobff/index.html +++ b/api/easybuild/toolchains/gobff/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

gobff

- Gobff + Gobff

-

- Bases: Gompi, Blis, Flame, ScaLAPACK, Fftw

+

+ Bases: Gompi, Blis, Flame, ScaLAPACK, Fftw

Compiler toolchain with GCC, OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/goblf/index.html b/api/easybuild/toolchains/goblf/index.html index 5df822305..bb6274d19 100644 --- a/api/easybuild/toolchains/goblf/index.html +++ b/api/easybuild/toolchains/goblf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

goblf

- Goblf + Goblf

-

- Bases: Gompi, Blis, Lapack, ScaLAPACK, Fftw

+

+ Bases: Gompi, Blis, Lapack, ScaLAPACK, Fftw

Compiler toolchain with GCC, OpenMPI, BLIS, LAPACK, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/gofbf/index.html b/api/easybuild/toolchains/gofbf/index.html index 2c574672b..acd1aa5cc 100644 --- a/api/easybuild/toolchains/gofbf/index.html +++ b/api/easybuild/toolchains/gofbf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

gofbf

- Gofbf + Gofbf

-

- Bases: Gompi, FlexiBLAS, ScaLAPACK, Fftw

+

+ Bases: Gompi, FlexiBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC, OpenMPI, FlexiBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/golf/index.html b/api/easybuild/toolchains/golf/index.html index 2c53c3b6d..5f8eef4f4 100644 --- a/api/easybuild/toolchains/golf/index.html +++ b/api/easybuild/toolchains/golf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

golf

- Golf + Golf

-

- Bases: GccToolchain, OpenBLAS, Fftw

+

+ Bases: GccToolchain, OpenBLAS, Fftw

Compiler toolchain with GCC, OpenBLAS, and FFTW.

-
diff --git a/api/easybuild/toolchains/golfc/index.html b/api/easybuild/toolchains/golfc/index.html index 5f79e548f..e79aab566 100644 --- a/api/easybuild/toolchains/golfc/index.html +++ b/api/easybuild/toolchains/golfc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

golfc

- Golfc + Golfc

-

- Bases: GccCUDA, Golf, OpenBLAS, Fftw

+

+ Bases: GccCUDA, Golf, OpenBLAS, Fftw

Compiler toolchain with GCC+CUDA, OpenBLAS, and FFTW.

-
diff --git a/api/easybuild/toolchains/gomkl/index.html b/api/easybuild/toolchains/gomkl/index.html index 0de0954c9..7aa2df05c 100644 --- a/api/easybuild/toolchains/gomkl/index.html +++ b/api/easybuild/toolchains/gomkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

gomkl

- Gomkl + Gomkl

-

- Bases: Gompi, IntelMKL, IntelFFTW

+

+ Bases: Gompi, IntelMKL, IntelFFTW

Compiler toolchain with GCC, OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/gomklc/index.html b/api/easybuild/toolchains/gomklc/index.html index 3c849041c..7a48fb392 100644 --- a/api/easybuild/toolchains/gomklc/index.html +++ b/api/easybuild/toolchains/gomklc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5839,21 +5839,20 @@

gomklc

- Gomklc + Gomklc

-

- Bases: Gompic, IntelMKL, IntelFFTW

+

+ Bases: Gompic, IntelMKL, IntelFFTW

Compiler toolchain with GCC, Open MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers and Cuda.

-
diff --git a/api/easybuild/toolchains/gompi/index.html b/api/easybuild/toolchains/gompi/index.html index 81c5eebf1..a2adac5cd 100644 --- a/api/easybuild/toolchains/gompi/index.html +++ b/api/easybuild/toolchains/gompi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5848,21 +5848,20 @@

gompi

- Gompi + Gompi

-

- Bases: GccToolchain, OpenMPI

+

+ Bases: GccToolchain, OpenMPI

Compiler toolchain with GCC and OpenMPI.

-
@@ -5875,6 +5874,7 @@

+
diff --git a/api/easybuild/toolchains/gompic/index.html b/api/easybuild/toolchains/gompic/index.html index a88d6c8fe..d7c41de0a 100644 --- a/api/easybuild/toolchains/gompic/index.html +++ b/api/easybuild/toolchains/gompic/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

gompic

- Gompic + Gompic

-

- Bases: GccCUDA, OpenMPI

+

+ Bases: GccCUDA, OpenMPI

Compiler toolchain with GCC+CUDA and OpenMPI.

-
diff --git a/api/easybuild/toolchains/goolf/index.html b/api/easybuild/toolchains/goolf/index.html index 1ceaca0ca..411999d06 100644 --- a/api/easybuild/toolchains/goolf/index.html +++ b/api/easybuild/toolchains/goolf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5848,21 +5848,20 @@

goolf

- Goolf + Goolf

-

- Bases: Gompi, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Gompi, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

-
@@ -5875,6 +5874,7 @@

+
diff --git a/api/easybuild/toolchains/goolfc/index.html b/api/easybuild/toolchains/goolfc/index.html index 7be2cf07a..b3b38cc54 100644 --- a/api/easybuild/toolchains/goolfc/index.html +++ b/api/easybuild/toolchains/goolfc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5848,21 +5848,20 @@

goolfc

- Goolfc + Goolfc

-

- Bases: Gompic, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Gompic, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC+CUDA, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

-
@@ -5875,6 +5874,7 @@

+
diff --git a/api/easybuild/toolchains/gpsmpi/index.html b/api/easybuild/toolchains/gpsmpi/index.html index a6d7a3fc9..6b8651c9e 100644 --- a/api/easybuild/toolchains/gpsmpi/index.html +++ b/api/easybuild/toolchains/gpsmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5831,21 +5831,20 @@

gpsmpi

- Gpsmpi + Gpsmpi

-

- Bases: GccToolchain, Psmpi

+

+ Bases: GccToolchain, Psmpi

Compiler toolchain with GCC and Parastation MPICH.

-
diff --git a/api/easybuild/toolchains/gpsolf/index.html b/api/easybuild/toolchains/gpsolf/index.html index db9ff24e9..0a0bc0d8d 100644 --- a/api/easybuild/toolchains/gpsolf/index.html +++ b/api/easybuild/toolchains/gpsolf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5831,21 +5831,20 @@

gpsolf

- Gpsolf + Gpsolf

-

- Bases: Gpsmpi, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Gpsmpi, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC, Parastation MPICH, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/gqacml/index.html b/api/easybuild/toolchains/gqacml/index.html index decb6a3ab..649c88fdd 100644 --- a/api/easybuild/toolchains/gqacml/index.html +++ b/api/easybuild/toolchains/gqacml/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

gqacml

- Gqacml + Gqacml

-

- Bases: GccToolchain, QLogicMPI, Acml, ScaLAPACK, Fftw

+

+ Bases: GccToolchain, QLogicMPI, Acml, ScaLAPACK, Fftw

Compiler toolchain with GCC, QLogic MPI, ACML, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/gsmpi/index.html b/api/easybuild/toolchains/gsmpi/index.html index 1950e9530..6e3351b6e 100644 --- a/api/easybuild/toolchains/gsmpi/index.html +++ b/api/easybuild/toolchains/gsmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

gsmpi

- Gsmpi + Gsmpi

-

- Bases: GccToolchain, SpectrumMPI

+

+ Bases: GccToolchain, SpectrumMPI

Compiler toolchain with GCC and SpectrumMPI.

-
diff --git a/api/easybuild/toolchains/gsolf/index.html b/api/easybuild/toolchains/gsolf/index.html index 42688f9a4..b016d170b 100644 --- a/api/easybuild/toolchains/gsolf/index.html +++ b/api/easybuild/toolchains/gsolf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

gsolf

- Gsolf + Gsolf

-

- Bases: Gsmpi, OpenBLAS, ScaLAPACK, Fftw

+

+ Bases: Gsmpi, OpenBLAS, ScaLAPACK, Fftw

Compiler toolchain with GCC, SpectrumMPI, OpenBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/iccifort/index.html b/api/easybuild/toolchains/iccifort/index.html index 6b422c379..c4b7e6815 100644 --- a/api/easybuild/toolchains/iccifort/index.html +++ b/api/easybuild/toolchains/iccifort/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5856,21 +5856,20 @@

iccifort

- IccIfort + IccIfort

-

- Bases: IntelIccIfort

+

+ Bases: IntelIccIfort

Compiler toolchain with Intel compilers (icc/ifort).

-
@@ -5883,6 +5882,7 @@

+
@@ -5901,6 +5901,7 @@

+
diff --git a/api/easybuild/toolchains/iccifortcuda/index.html b/api/easybuild/toolchains/iccifortcuda/index.html index 479c18fa2..3f384fe12 100644 --- a/api/easybuild/toolchains/iccifortcuda/index.html +++ b/api/easybuild/toolchains/iccifortcuda/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

iccifortcuda

- IccIfortCUDA + IccIfortCUDA

-

- Bases: IccIfort, Cuda

+

+ Bases: IccIfort, Cuda

Compiler toolchain with iccifort and CUDA.

-
diff --git a/api/easybuild/toolchains/ictce/index.html b/api/easybuild/toolchains/ictce/index.html index 474abd1af..2b20ecb46 100644 --- a/api/easybuild/toolchains/ictce/index.html +++ b/api/easybuild/toolchains/ictce/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5850,22 +5850,21 @@

ictce

- Ictce + Ictce

-

- Bases: Iimpi, IntelMKL, IntelFFTW

+

+ Bases: Iimpi, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
@@ -5878,6 +5877,7 @@

+
diff --git a/api/easybuild/toolchains/iibff/index.html b/api/easybuild/toolchains/iibff/index.html index 872228ea2..e86d70246 100644 --- a/api/easybuild/toolchains/iibff/index.html +++ b/api/easybuild/toolchains/iibff/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

iibff

- Iibff + Iibff

-

- Bases: Iimpi, Blis, Flame, ScaLAPACK, Fftw

+

+ Bases: Iimpi, Blis, Flame, ScaLAPACK, Fftw

Compiler toolchain with GCC, OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/iimkl/index.html b/api/easybuild/toolchains/iimkl/index.html index a0a287ad5..db6dc320e 100644 --- a/api/easybuild/toolchains/iimkl/index.html +++ b/api/easybuild/toolchains/iimkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5872,22 +5872,21 @@

iimkl

- Iimkl + Iimkl

-

- Bases: IccIfort, IntelCompilersToolchain, IntelMKL, IntelFFTW

+

+ Bases: IccIfort, IntelCompilersToolchain, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
@@ -5900,6 +5899,7 @@

+
@@ -5918,6 +5918,7 @@

+
@@ -5936,6 +5937,7 @@

@@ -5954,6 +5956,7 @@

+
diff --git a/api/easybuild/toolchains/iimklc/index.html b/api/easybuild/toolchains/iimklc/index.html index 11acc30cd..fe25a79ab 100644 --- a/api/easybuild/toolchains/iimklc/index.html +++ b/api/easybuild/toolchains/iimklc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5839,22 +5839,21 @@

iimklc

- Iimklc + Iimklc

-

- Bases: IccIfortCUDA, Iimkl, IntelMKL, IntelFFTW

+

+ Bases: IccIfortCUDA, Iimkl, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), CUDA, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/iimpi/index.html b/api/easybuild/toolchains/iimpi/index.html index 6d8635fb2..acbf69772 100644 --- a/api/easybuild/toolchains/iimpi/index.html +++ b/api/easybuild/toolchains/iimpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5870,21 +5870,20 @@

iimpi

- Iimpi + Iimpi

-

- Bases: IccIfort, IntelCompilersToolchain, IntelMPI

+

+ Bases: IccIfort, IntelCompilersToolchain, IntelMPI

Compiler toolchain with Intel compilers (icc/ifort), Intel MPI.

-
@@ -5897,6 +5896,7 @@

+
@@ -5915,6 +5915,7 @@

+
@@ -5933,6 +5934,7 @@

@@ -5951,6 +5953,7 @@

+
diff --git a/api/easybuild/toolchains/iimpic/index.html b/api/easybuild/toolchains/iimpic/index.html index 27fc2ee44..33e2b2c5b 100644 --- a/api/easybuild/toolchains/iimpic/index.html +++ b/api/easybuild/toolchains/iimpic/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5848,21 +5848,20 @@

iimpic

- Iimpic + Iimpic

-

- Bases: IccIfortCUDA, IntelMPI

+

+ Bases: IccIfortCUDA, IntelMPI

Compiler toolchain with Intel compilers (icc/ifort), Intel MPI and CUDA.

-
@@ -5875,6 +5874,7 @@

+
diff --git a/api/easybuild/toolchains/iiqmpi/index.html b/api/easybuild/toolchains/iiqmpi/index.html index 834e854e1..9bbe9d276 100644 --- a/api/easybuild/toolchains/iiqmpi/index.html +++ b/api/easybuild/toolchains/iiqmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

iiqmpi

- Iiqmpi + Iiqmpi

-

- Bases: IccIfort, QLogicMPI

+

+ Bases: IccIfort, QLogicMPI

Compiler toolchain with Intel compilers and QLogic MPI.

-
diff --git a/api/easybuild/toolchains/impich/index.html b/api/easybuild/toolchains/impich/index.html index a8d029149..08458c7a5 100644 --- a/api/easybuild/toolchains/impich/index.html +++ b/api/easybuild/toolchains/impich/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5831,21 +5831,20 @@

impich

- Impich + Impich

-

- Bases: IccIfort, Mpich

+

+ Bases: IccIfort, Mpich

Compiler toolchain with Intel compilers (icc/ifort), MPICH.

-
diff --git a/api/easybuild/toolchains/impmkl/index.html b/api/easybuild/toolchains/impmkl/index.html index 868e9db9f..b7c7a121b 100644 --- a/api/easybuild/toolchains/impmkl/index.html +++ b/api/easybuild/toolchains/impmkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,22 +5836,21 @@

impmkl

- Impmkl + Impmkl

-

- Bases: Impich, IntelMKL, IntelFFTW

+

+ Bases: Impich, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), MPICH, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/index.html b/api/easybuild/toolchains/index.html index ab5746234..5ac1fabd5 100644 --- a/api/easybuild/toolchains/index.html +++ b/api/easybuild/toolchains/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/toolchains/intel-para/index.html b/api/easybuild/toolchains/intel-para/index.html index c4e59f61c..2826894b3 100644 --- a/api/easybuild/toolchains/intel-para/index.html +++ b/api/easybuild/toolchains/intel-para/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5832,22 +5832,21 @@

intel-para

- IntelPara + IntelPara

-

- Bases: Ipsmpi, IntelMKL, IntelFFTW

+

+ Bases: Ipsmpi, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), Parastation MPICH, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/intel/index.html b/api/easybuild/toolchains/intel/index.html index a43921e14..1efe5fe5a 100644 --- a/api/easybuild/toolchains/intel/index.html +++ b/api/easybuild/toolchains/intel/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5850,22 +5850,21 @@

intel

- Intel + Intel

-

- Bases: Iimpi, IntelMKL, IntelFFTW

+

+ Bases: Iimpi, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
@@ -5878,6 +5877,7 @@

+
diff --git a/api/easybuild/toolchains/intel_compilers/index.html b/api/easybuild/toolchains/intel_compilers/index.html index 125f2860f..ce610a571 100644 --- a/api/easybuild/toolchains/intel_compilers/index.html +++ b/api/easybuild/toolchains/intel_compilers/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

intel_compilers

- IntelCompilersToolchain + IntelCompilersToolchain

-

- Bases: IntelCompilers

+

+ Bases: IntelCompilers

Compiler toolchain with Intel compilers (icc/ifort).

-
diff --git a/api/easybuild/toolchains/intelcuda/index.html b/api/easybuild/toolchains/intelcuda/index.html index b71870fe6..a2e4c1f31 100644 --- a/api/easybuild/toolchains/intelcuda/index.html +++ b/api/easybuild/toolchains/intelcuda/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,22 +5835,21 @@

intelcuda

- Intelcuda + Intelcuda

-

- Bases: Iimpic, IntelMKL, IntelFFTW

+

+ Bases: Iimpic, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), Intel MPI, Intel Math Kernel Library (MKL), Intel FFTW wrappers and CUDA

-
diff --git a/api/easybuild/toolchains/iomkl/index.html b/api/easybuild/toolchains/iomkl/index.html index e9ed38645..770987fa6 100644 --- a/api/easybuild/toolchains/iomkl/index.html +++ b/api/easybuild/toolchains/iomkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5850,22 +5850,21 @@

iomkl

- Iomkl + Iomkl

-

- Bases: Iompi, IntelMKL, IntelFFTW

+

+ Bases: Iompi, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
@@ -5878,6 +5877,7 @@

+
diff --git a/api/easybuild/toolchains/iomklc/index.html b/api/easybuild/toolchains/iomklc/index.html index 5fe1b06a4..d166132ab 100644 --- a/api/easybuild/toolchains/iomklc/index.html +++ b/api/easybuild/toolchains/iomklc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,22 +5838,21 @@

iomklc

- Iomklc + Iomklc

-

- Bases: Iompic, IntelMKL, IntelFFTW

+

+ Bases: Iompic, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), OpenMPI, CUDA, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/iompi/index.html b/api/easybuild/toolchains/iompi/index.html index 118781d3b..fd7f6d5a8 100644 --- a/api/easybuild/toolchains/iompi/index.html +++ b/api/easybuild/toolchains/iompi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5870,21 +5870,20 @@

iompi

- Iompi + Iompi

-

- Bases: IccIfort, IntelCompilersToolchain, OpenMPI

+

+ Bases: IccIfort, IntelCompilersToolchain, OpenMPI

Compiler toolchain with Intel compilers (icc/ifort) and OpenMPI.

-
@@ -5897,6 +5896,7 @@

+
@@ -5915,6 +5915,7 @@

+
@@ -5933,6 +5934,7 @@

@@ -5951,6 +5953,7 @@

+
diff --git a/api/easybuild/toolchains/iompic/index.html b/api/easybuild/toolchains/iompic/index.html index 4752732dc..a9a4cba9b 100644 --- a/api/easybuild/toolchains/iompic/index.html +++ b/api/easybuild/toolchains/iompic/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

iompic

- Iompic + Iompic

-

- Bases: IccIfortCUDA, OpenMPI

+

+ Bases: IccIfortCUDA, OpenMPI

Compiler toolchain with Intel compilers (icc/ifort), OpenMPI and CUDA.

-
diff --git a/api/easybuild/toolchains/ipsmpi/index.html b/api/easybuild/toolchains/ipsmpi/index.html index d184ba2a9..4dc528fb3 100644 --- a/api/easybuild/toolchains/ipsmpi/index.html +++ b/api/easybuild/toolchains/ipsmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5831,21 +5831,20 @@

ipsmpi

- Ipsmpi + Ipsmpi

-

- Bases: IccIfort, Psmpi

+

+ Bases: IccIfort, Psmpi

Compiler toolchain with Intel compilers (icc/ifort), Parastation MPICH.

-
diff --git a/api/easybuild/toolchains/iqacml/index.html b/api/easybuild/toolchains/iqacml/index.html index a01def940..6dbcb0c64 100644 --- a/api/easybuild/toolchains/iqacml/index.html +++ b/api/easybuild/toolchains/iqacml/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

iqacml

- Iqacml + Iqacml

-

- Bases: Iiqmpi, Acml, ScaLAPACK, Fftw

+

+ Bases: Iiqmpi, Acml, ScaLAPACK, Fftw

Compiler toolchain with Intel compilers, QLogic MPI, ACML, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/ismkl/index.html b/api/easybuild/toolchains/ismkl/index.html index 61920c18c..2f1fcf04e 100644 --- a/api/easybuild/toolchains/ismkl/index.html +++ b/api/easybuild/toolchains/ismkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,22 +5837,21 @@

ismkl

- Ismkl + Ismkl

-

- Bases: IccIfort, Mpich2, IntelMKL, IntelFFTW

+

+ Bases: IccIfort, Mpich2, IntelMKL, IntelFFTW

Compiler toolchain with Intel compilers (icc/ifort), MPICH2 (ScaleMP MPI), Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/linalg/acml/index.html b/api/easybuild/toolchains/linalg/acml/index.html index 5599da0ca..7a7853ba5 100644 --- a/api/easybuild/toolchains/linalg/acml/index.html +++ b/api/easybuild/toolchains/linalg/acml/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5851,21 +5851,20 @@

acml

- Acml + Acml

-

- Bases: LinAlg

+

+ Bases: LinAlg

Provides ACML BLAS/LAPACK support.

-
@@ -5878,6 +5877,7 @@

+
diff --git a/api/easybuild/toolchains/linalg/atlas/index.html b/api/easybuild/toolchains/linalg/atlas/index.html index b4e04e5f0..ffa8e2db4 100644 --- a/api/easybuild/toolchains/linalg/atlas/index.html +++ b/api/easybuild/toolchains/linalg/atlas/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,22 +5838,21 @@

atlas

- Atlas + Atlas

-

- Bases: LinAlg

+

+ Bases: LinAlg

Provides ATLAS BLAS/LAPACK support. LAPACK is a build dependency only

-
diff --git a/api/easybuild/toolchains/linalg/blacs/index.html b/api/easybuild/toolchains/linalg/blacs/index.html index 2b182f798..0c1fc525b 100644 --- a/api/easybuild/toolchains/linalg/blacs/index.html +++ b/api/easybuild/toolchains/linalg/blacs/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

blacs

- Blacs + Blacs

-

- Bases: LinAlg

+

+ Bases: LinAlg

Trivial class, provides BLACS support.

-
diff --git a/api/easybuild/toolchains/linalg/blis/index.html b/api/easybuild/toolchains/linalg/blis/index.html index ae37921c6..689b4df18 100644 --- a/api/easybuild/toolchains/linalg/blis/index.html +++ b/api/easybuild/toolchains/linalg/blis/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5839,21 +5839,20 @@

blis

- Blis + Blis

-

- Bases: LinAlg

+

+ Bases: LinAlg

Trivial class, provides BLIS support.

-
diff --git a/api/easybuild/toolchains/linalg/flame/index.html b/api/easybuild/toolchains/linalg/flame/index.html index 70fe32b63..0a1e8673d 100644 --- a/api/easybuild/toolchains/linalg/flame/index.html +++ b/api/easybuild/toolchains/linalg/flame/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5839,21 +5839,20 @@

flame

- Flame + Flame

-

- Bases: Lapack

+

+ Bases: Lapack

Less trivial module, provides FLAME support.

-
diff --git a/api/easybuild/toolchains/linalg/flexiblas/index.html b/api/easybuild/toolchains/linalg/flexiblas/index.html index ac4af18d2..6277018bd 100644 --- a/api/easybuild/toolchains/linalg/flexiblas/index.html +++ b/api/easybuild/toolchains/linalg/flexiblas/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5857,21 +5857,20 @@

flexiblas

- FlexiBLAS + FlexiBLAS

-

- Bases: LinAlg

+

+ Bases: LinAlg

Trivial class, provides FlexiBLAS support.

-
@@ -5884,6 +5883,7 @@

@@ -5912,6 +5912,7 @@

diff --git a/api/easybuild/toolchains/linalg/fujitsussl/index.html b/api/easybuild/toolchains/linalg/fujitsussl/index.html index 77ccb1c6b..f484b4b5f 100644 --- a/api/easybuild/toolchains/linalg/fujitsussl/index.html +++ b/api/easybuild/toolchains/linalg/fujitsussl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5857,21 +5857,20 @@

fujitsussl

- FujitsuSSL + FujitsuSSL

-

- Bases: LinAlg

+

+ Bases: LinAlg

Support for Fujitsu's SSL library, which provides BLAS/LAPACK support.

-
@@ -5884,6 +5883,7 @@

@@ -5904,6 +5904,7 @@

diff --git a/api/easybuild/toolchains/linalg/gotoblas/index.html b/api/easybuild/toolchains/linalg/gotoblas/index.html index b16fda85b..5ea518560 100644 --- a/api/easybuild/toolchains/linalg/gotoblas/index.html +++ b/api/easybuild/toolchains/linalg/gotoblas/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

gotoblas

- GotoBLAS + GotoBLAS

-

- Bases: LinAlg

+

+ Bases: LinAlg

Trivial class, provides GotoBLAS support.

-
diff --git a/api/easybuild/toolchains/linalg/index.html b/api/easybuild/toolchains/linalg/index.html index 771948578..26cabe27e 100644 --- a/api/easybuild/toolchains/linalg/index.html +++ b/api/easybuild/toolchains/linalg/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/toolchains/linalg/intelmkl/index.html b/api/easybuild/toolchains/linalg/intelmkl/index.html index 1581af426..a5dce85ba 100644 --- a/api/easybuild/toolchains/linalg/intelmkl/index.html +++ b/api/easybuild/toolchains/linalg/intelmkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5858,21 +5858,20 @@

intelmkl

- IntelMKL + IntelMKL

-

- Bases: LinAlg

+

+ Bases: LinAlg

Support for Intel MKL.

-
@@ -5885,6 +5884,7 @@

+
@@ -5903,6 +5903,7 @@

diff --git a/api/easybuild/toolchains/linalg/lapack/index.html b/api/easybuild/toolchains/linalg/lapack/index.html index 14b86f47e..d876ca9ef 100644 --- a/api/easybuild/toolchains/linalg/lapack/index.html +++ b/api/easybuild/toolchains/linalg/lapack/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

lapack

- Lapack + Lapack

-

- Bases: LinAlg

+

+ Bases: LinAlg

Trivial class, provides LAPACK support.

-
diff --git a/api/easybuild/toolchains/linalg/libsci/index.html b/api/easybuild/toolchains/linalg/libsci/index.html index cf6726090..9f5eba275 100644 --- a/api/easybuild/toolchains/linalg/libsci/index.html +++ b/api/easybuild/toolchains/linalg/libsci/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5852,21 +5852,20 @@

libsci

- LibSci + LibSci

-

- Bases: LinAlg

+

+ Bases: LinAlg

Support for Cray's LibSci library, which provides BLAS/LAPACK support.

-
@@ -5879,6 +5878,7 @@

+
diff --git a/api/easybuild/toolchains/linalg/openblas/index.html b/api/easybuild/toolchains/linalg/openblas/index.html index 05fbbb128..110cda0a8 100644 --- a/api/easybuild/toolchains/linalg/openblas/index.html +++ b/api/easybuild/toolchains/linalg/openblas/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

openblas

- OpenBLAS + OpenBLAS

-

- Bases: LinAlg

+

+ Bases: LinAlg

Trivial class, provides OpenBLAS support.

-
diff --git a/api/easybuild/toolchains/linalg/scalapack/index.html b/api/easybuild/toolchains/linalg/scalapack/index.html index 06bcd1043..86e4f6aae 100644 --- a/api/easybuild/toolchains/linalg/scalapack/index.html +++ b/api/easybuild/toolchains/linalg/scalapack/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5851,21 +5851,20 @@

scalapack

- ScaLAPACK + ScaLAPACK

-

- Bases: Blacs

+

+ Bases: Blacs

Trivial class, provides ScaLAPACK support (on top of BLACS).

-
@@ -5878,6 +5877,7 @@

diff --git a/api/easybuild/toolchains/mpi/craympich/index.html b/api/easybuild/toolchains/mpi/craympich/index.html index 5c9154dbe..580a21a21 100644 --- a/api/easybuild/toolchains/mpi/craympich/index.html +++ b/api/easybuild/toolchains/mpi/craympich/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

craympich

- CrayMPICH + CrayMPICH

-

- Bases: Mpi

+

+ Bases: Mpi

Generic support for using Cray compiler wrappers

-
diff --git a/api/easybuild/toolchains/mpi/fujitsumpi/index.html b/api/easybuild/toolchains/mpi/fujitsumpi/index.html index ebac7bfa9..e1f0e11d3 100644 --- a/api/easybuild/toolchains/mpi/fujitsumpi/index.html +++ b/api/easybuild/toolchains/mpi/fujitsumpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

fujitsumpi

- FujitsuMPI + FujitsuMPI

-

- Bases: Mpi

+

+ Bases: Mpi

Generic support for using Fujitsu compiler wrappers

-
diff --git a/api/easybuild/toolchains/mpi/index.html b/api/easybuild/toolchains/mpi/index.html index 2d98136e5..7f6a4ee59 100644 --- a/api/easybuild/toolchains/mpi/index.html +++ b/api/easybuild/toolchains/mpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/toolchains/mpi/intelmpi/index.html b/api/easybuild/toolchains/mpi/intelmpi/index.html index 68e0478ff..f26304dcf 100644 --- a/api/easybuild/toolchains/mpi/intelmpi/index.html +++ b/api/easybuild/toolchains/mpi/intelmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5851,21 +5851,20 @@

intelmpi

- IntelMPI + IntelMPI

-

- Bases: Mpich2

+

+ Bases: Mpich2

Intel MPI class

-
@@ -5878,6 +5877,7 @@

+
diff --git a/api/easybuild/toolchains/mpi/mpich/index.html b/api/easybuild/toolchains/mpi/mpich/index.html index eea8ce516..226a5a595 100644 --- a/api/easybuild/toolchains/mpi/mpich/index.html +++ b/api/easybuild/toolchains/mpi/mpich/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5840,21 +5840,20 @@

mpich

- Mpich + Mpich

-

- Bases: Mpi

+

+ Bases: Mpi

MPICH MPI class

-
diff --git a/api/easybuild/toolchains/mpi/mpich2/index.html b/api/easybuild/toolchains/mpi/mpich2/index.html index 0ad44088b..957847f26 100644 --- a/api/easybuild/toolchains/mpi/mpich2/index.html +++ b/api/easybuild/toolchains/mpi/mpich2/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5839,21 +5839,20 @@

mpich2

- Mpich2 + Mpich2

-

- Bases: Mpich

+

+ Bases: Mpich

MPICH2 MPI class

-
diff --git a/api/easybuild/toolchains/mpi/mpitrampoline/index.html b/api/easybuild/toolchains/mpi/mpitrampoline/index.html index cee3233f9..233cddb76 100644 --- a/api/easybuild/toolchains/mpi/mpitrampoline/index.html +++ b/api/easybuild/toolchains/mpi/mpitrampoline/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5850,21 +5850,20 @@

mpitrampoline

- MPItrampoline + MPItrampoline

-

- Bases: Mpi

+

+ Bases: Mpi

MPItrampoline MPI class

-
@@ -5877,6 +5876,7 @@

diff --git a/api/easybuild/toolchains/mpi/mvapich2/index.html b/api/easybuild/toolchains/mpi/mvapich2/index.html index f5960b701..91c8cefe6 100644 --- a/api/easybuild/toolchains/mpi/mvapich2/index.html +++ b/api/easybuild/toolchains/mpi/mvapich2/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

mvapich2

- Mvapich2 + Mvapich2

-

- Bases: Mpich2

+

+ Bases: Mpich2

MVAPICH2 MPI class

-
diff --git a/api/easybuild/toolchains/mpi/openmpi/index.html b/api/easybuild/toolchains/mpi/openmpi/index.html index 5203ebd0c..70d522ec5 100644 --- a/api/easybuild/toolchains/mpi/openmpi/index.html +++ b/api/easybuild/toolchains/mpi/openmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5865,21 +5865,20 @@

openmpi

- OpenMPI + OpenMPI

-

- Bases: Mpi

+

+ Bases: Mpi

OpenMPI MPI class

-
@@ -5892,6 +5891,7 @@

+
@@ -5910,6 +5910,7 @@

@@ -5928,6 +5929,7 @@

diff --git a/api/easybuild/toolchains/mpi/psmpi/index.html b/api/easybuild/toolchains/mpi/psmpi/index.html index 6dce00ddc..6f154d352 100644 --- a/api/easybuild/toolchains/mpi/psmpi/index.html +++ b/api/easybuild/toolchains/mpi/psmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

psmpi

- Psmpi + Psmpi

-

- Bases: Mpich

+

+ Bases: Mpich

Parastation MPI class

-
diff --git a/api/easybuild/toolchains/mpi/qlogicmpi/index.html b/api/easybuild/toolchains/mpi/qlogicmpi/index.html index f9f672e81..b5bbcb87a 100644 --- a/api/easybuild/toolchains/mpi/qlogicmpi/index.html +++ b/api/easybuild/toolchains/mpi/qlogicmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,21 +5838,20 @@

qlogicmpi

- QLogicMPI + QLogicMPI

-

- Bases: Mpich2

+

+ Bases: Mpich2

QLogicMPI MPI class

-
diff --git a/api/easybuild/toolchains/mpi/spectrummpi/index.html b/api/easybuild/toolchains/mpi/spectrummpi/index.html index c9ccf4886..5f6b2a549 100644 --- a/api/easybuild/toolchains/mpi/spectrummpi/index.html +++ b/api/easybuild/toolchains/mpi/spectrummpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

spectrummpi

- SpectrumMPI + SpectrumMPI

-

- Bases: OpenMPI

+

+ Bases: OpenMPI

Spectrum MPI class

-
diff --git a/api/easybuild/toolchains/nvhpc/index.html b/api/easybuild/toolchains/nvhpc/index.html index 525a645dd..f02e2b556 100644 --- a/api/easybuild/toolchains/nvhpc/index.html +++ b/api/easybuild/toolchains/nvhpc/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

nvhpc

- NVHPCToolchain + NVHPCToolchain

-

- Bases: NVHPC

+

+ Bases: NVHPC

Simple toolchain with just the NVIDIA HPC SDK compilers.

-
diff --git a/api/easybuild/toolchains/nvofbf/index.html b/api/easybuild/toolchains/nvofbf/index.html index 91bda4391..952483e46 100644 --- a/api/easybuild/toolchains/nvofbf/index.html +++ b/api/easybuild/toolchains/nvofbf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5832,21 +5832,20 @@

nvofbf

- Nvofbf + Nvofbf

-

- Bases: Nvompi, FlexiBLAS, ScaLAPACK, Fftw

+

+ Bases: Nvompi, FlexiBLAS, ScaLAPACK, Fftw

Compiler toolchain with NVHPC, OpenMPI, FlexiBLAS, ScaLAPACK and FFTW.

-
diff --git a/api/easybuild/toolchains/nvompi/index.html b/api/easybuild/toolchains/nvompi/index.html index 7b8cfe050..f84132aeb 100644 --- a/api/easybuild/toolchains/nvompi/index.html +++ b/api/easybuild/toolchains/nvompi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

nvompi

- Nvompi + Nvompi

-

- Bases: NVHPCToolchain, OpenMPI

+

+ Bases: NVHPCToolchain, OpenMPI

Compiler toolchain with NVHPC and Open MPI.

-
diff --git a/api/easybuild/toolchains/nvompic/index.html b/api/easybuild/toolchains/nvompic/index.html index d80cdb8c0..3be00c4d0 100644 --- a/api/easybuild/toolchains/nvompic/index.html +++ b/api/easybuild/toolchains/nvompic/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

nvompic

- NVompic + NVompic

-

- Bases: NVHPCToolchain, Cuda, OpenMPI

+

+ Bases: NVHPCToolchain, Cuda, OpenMPI

Compiler toolchain with NVHPC and OpenMPI, with CUDA as dependency.

-
diff --git a/api/easybuild/toolchains/nvpsmpi/index.html b/api/easybuild/toolchains/nvpsmpi/index.html index 2ace8a8e4..f54aeb2fe 100644 --- a/api/easybuild/toolchains/nvpsmpi/index.html +++ b/api/easybuild/toolchains/nvpsmpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

nvpsmpi

- NVpsmpi + NVpsmpi

-

- Bases: NVHPCToolchain, Psmpi

+

+ Bases: NVHPCToolchain, Psmpi

Compiler toolchain with NVHPC and ParaStationMPI.

-
diff --git a/api/easybuild/toolchains/nvpsmpic/index.html b/api/easybuild/toolchains/nvpsmpic/index.html index eb076dce0..4403057c7 100644 --- a/api/easybuild/toolchains/nvpsmpic/index.html +++ b/api/easybuild/toolchains/nvpsmpic/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5836,21 +5836,20 @@

nvpsmpic

- NVpsmpic + NVpsmpic

-

- Bases: NVHPCToolchain, Cuda, Psmpi

+

+ Bases: NVHPCToolchain, Cuda, Psmpi

Compiler toolchain with NVHPC and ParaStationMPI, with CUDA as dependency.

-
diff --git a/api/easybuild/toolchains/pgi/index.html b/api/easybuild/toolchains/pgi/index.html index 18c2e9766..f06828346 100644 --- a/api/easybuild/toolchains/pgi/index.html +++ b/api/easybuild/toolchains/pgi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

pgi

- PgiToolchain + PgiToolchain

-

- Bases: Pgi

+

+ Bases: Pgi

Simple toolchain with just the PGI compilers.

-
diff --git a/api/easybuild/toolchains/pmkl/index.html b/api/easybuild/toolchains/pmkl/index.html index 4c947e485..08d7896e0 100644 --- a/api/easybuild/toolchains/pmkl/index.html +++ b/api/easybuild/toolchains/pmkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,22 +5838,21 @@

pmkl

- Pmkl + Pmkl

-

- Bases: PgiToolchain, IntelMKL, IntelFFTW

+

+ Bases: PgiToolchain, IntelMKL, IntelFFTW

Compiler toolchain with PGI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/pomkl/index.html b/api/easybuild/toolchains/pomkl/index.html index 0645306e1..3582c72ba 100644 --- a/api/easybuild/toolchains/pomkl/index.html +++ b/api/easybuild/toolchains/pomkl/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,22 +5838,21 @@

pomkl

- Pomkl + Pomkl

-

- Bases: Pompi, IntelMKL, IntelFFTW

+

+ Bases: Pompi, IntelMKL, IntelFFTW

Compiler toolchain with PGI compilers, OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

-
diff --git a/api/easybuild/toolchains/pompi/index.html b/api/easybuild/toolchains/pompi/index.html index 0e5177fdf..09732f2a2 100644 --- a/api/easybuild/toolchains/pompi/index.html +++ b/api/easybuild/toolchains/pompi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5837,21 +5837,20 @@

pompi

- Pompi + Pompi

-

- Bases: PgiToolchain, OpenMPI

+

+ Bases: PgiToolchain, OpenMPI

Compiler toolchain with PGI compilers and OpenMPI.

-
diff --git a/api/easybuild/toolchains/system/index.html b/api/easybuild/toolchains/system/index.html index 189626b2f..eaf485113 100644 --- a/api/easybuild/toolchains/system/index.html +++ b/api/easybuild/toolchains/system/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

system

- SystemToolchain + SystemToolchain

-

- Bases: SystemCompiler

+

+ Bases: SystemCompiler

System toolchain.

-
diff --git a/api/easybuild/toolchains/xlcxlf/index.html b/api/easybuild/toolchains/xlcxlf/index.html index bfd442e72..064a27a86 100644 --- a/api/easybuild/toolchains/xlcxlf/index.html +++ b/api/easybuild/toolchains/xlcxlf/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

xlcxlf

- XLCXLFToolchain + XLCXLFToolchain

-

- Bases: IBMXL

+

+ Bases: IBMXL

Simple toolchain with just the IBM XL C and FORTRAN compilers.

-
diff --git a/api/easybuild/toolchains/xlmpich/index.html b/api/easybuild/toolchains/xlmpich/index.html index 4443740e4..be9864ef2 100644 --- a/api/easybuild/toolchains/xlmpich/index.html +++ b/api/easybuild/toolchains/xlmpich/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

xlmpich

- Xlompi + Xlompi

-

- Bases: IBMXL, Mpich

+

+ Bases: IBMXL, Mpich

Compiler toolchain with IBM XL compilers (xlc/xlf) and MPICH.

-
diff --git a/api/easybuild/toolchains/xlmpich2/index.html b/api/easybuild/toolchains/xlmpich2/index.html index 33f935be6..bf2998e53 100644 --- a/api/easybuild/toolchains/xlmpich2/index.html +++ b/api/easybuild/toolchains/xlmpich2/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

xlmpich2

- Xlompi + Xlompi

-

- Bases: IBMXL, Mpich2

+

+ Bases: IBMXL, Mpich2

Compiler toolchain with IBM XL compilers (xlc/xlf) and MPICH.

-
diff --git a/api/easybuild/toolchains/xlmvapich2/index.html b/api/easybuild/toolchains/xlmvapich2/index.html index 949692f13..17498b3ab 100644 --- a/api/easybuild/toolchains/xlmvapich2/index.html +++ b/api/easybuild/toolchains/xlmvapich2/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

xlmvapich2

- Xlompi + Xlompi

-

- Bases: IBMXL, Mvapich2

+

+ Bases: IBMXL, Mvapich2

Compiler toolchain with IBM XL compilers (xlc/xlf) and MPICH.

-
diff --git a/api/easybuild/toolchains/xlompi/index.html b/api/easybuild/toolchains/xlompi/index.html index 3912fe264..a32b0572d 100644 --- a/api/easybuild/toolchains/xlompi/index.html +++ b/api/easybuild/toolchains/xlompi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,21 +5835,20 @@

xlompi

- Xlompi + Xlompi

-

- Bases: IBMXL, OpenMPI

+

+ Bases: IBMXL, OpenMPI

Compiler toolchain with IBM XL compilers (xlc/xlf) and OpenMPI.

-
diff --git a/api/easybuild/tools/asyncprocess/index.html b/api/easybuild/tools/asyncprocess/index.html index 4f60e419f..9c13176ee 100644 --- a/api/easybuild/tools/asyncprocess/index.html +++ b/api/easybuild/tools/asyncprocess/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/build_details/index.html b/api/easybuild/tools/build_details/index.html index 9fa49e887..00cd6a787 100644 --- a/api/easybuild/tools/build_details/index.html +++ b/api/easybuild/tools/build_details/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5833,6 +5833,7 @@

build_details

+
diff --git a/api/easybuild/tools/build_log/index.html b/api/easybuild/tools/build_log/index.html index 03c0cf5b3..202a5c35f 100644 --- a/api/easybuild/tools/build_log/index.html +++ b/api/easybuild/tools/build_log/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6005,21 +6005,20 @@

build_log

- EasyBuildError + EasyBuildError

-

- Bases: LoggedException

+

+ Bases: LoggedException

EasyBuildError is thrown when EasyBuild runs into something horribly wrong.

-
@@ -6032,6 +6031,7 @@

+
@@ -6050,6 +6050,7 @@

@@ -6081,21 +6082,20 @@

- EasyBuildLog + EasyBuildLog

-

- Bases: fancylogger.FancyLogger

+

+ Bases: fancylogger.FancyLogger

The EasyBuild logger, with its own error and exception functions.

-
@@ -6108,6 +6108,7 @@

+
@@ -6126,6 +6127,7 @@

@@ -6140,11 +6142,13 @@

@@ -6235,6 +6240,7 @@

+
@@ -6253,6 +6259,7 @@

+
@@ -6271,6 +6278,7 @@

@@ -6289,6 +6297,7 @@

@@ -6316,6 +6325,7 @@

@@ -6334,6 +6344,7 @@

+
@@ -6349,11 +6360,13 @@

Initialize for printing dry run messages.

Define DRY_RUN_*DIR constants, so they can be used in dry_run_msg to replace fake build/install dirs.

+ +

- + @@ -6404,6 +6417,7 @@

+
@@ -6422,6 +6436,7 @@

+
@@ -6440,6 +6455,7 @@

+
@@ -6458,6 +6474,7 @@

+
@@ -6476,6 +6493,7 @@

+
@@ -6490,11 +6508,13 @@

Print a message.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6555,6 +6575,7 @@

+
@@ -6573,6 +6594,7 @@

+
@@ -6591,6 +6613,7 @@

+
@@ -6609,6 +6632,7 @@

+
@@ -6627,6 +6651,7 @@

+
@@ -6641,11 +6666,13 @@

Return string representing amount of time that has passed since specified timestamp

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6662,6 +6689,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + diff --git a/api/easybuild/tools/config/index.html b/api/easybuild/tools/config/index.html index 948de2fd6..4f884e133 100644 --- a/api/easybuild/tools/config/index.html +++ b/api/easybuild/tools/config/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6074,21 +6074,20 @@

config

- BuildOptions + BuildOptions

-

- Bases: BaseBuildOptions

+

+ Bases: BaseBuildOptions

Representation of a set of build options, acts like a dictionary.

-
@@ -6114,21 +6113,20 @@

- ConfigurationVariables + ConfigurationVariables

-

- Bases: BaseConfigurationVariables

+

+ Bases: BaseConfigurationVariables

This is a dict that supports legacy config names transparently.

-
@@ -6141,6 +6139,7 @@

+
@@ -6173,22 +6172,21 @@

- Singleton + Singleton

-

- Bases: ABCMeta

+

+ Bases: ABCMeta

Serves as metaclass for classes that should implement the Singleton pattern.

See http://stackoverflow.com/questions/6760685/creating-a-singleton-in-python

-
@@ -6210,6 +6208,7 @@

+
@@ -6228,6 +6227,7 @@

+
@@ -6246,6 +6246,7 @@

+
@@ -6264,6 +6265,7 @@

+
@@ -6278,11 +6280,13 @@

Find location to last log file that is still available.

+ +

- + @@ -6299,6 +6303,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6323,6 +6329,7 @@

+
@@ -6341,6 +6348,7 @@

+
@@ -6359,6 +6367,7 @@

+
@@ -6373,11 +6382,13 @@

Generate a filename to be used for logging

+ +

- + @@ -6450,6 +6461,7 @@

+
@@ -6468,6 +6480,7 @@

+
@@ -6486,6 +6499,7 @@

+
@@ -6504,6 +6518,7 @@

+
@@ -6522,6 +6537,7 @@

+
@@ -6540,6 +6556,7 @@

@@ -6558,6 +6575,7 @@

+
@@ -6576,6 +6594,7 @@

+
@@ -6594,6 +6613,7 @@

+
@@ -6613,6 +6633,7 @@

+
@@ -6631,6 +6652,7 @@

+
@@ -6651,6 +6673,7 @@

+
@@ -6665,11 +6688,13 @@

Return the format for the logfile or the directory

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6722,6 +6747,7 @@

+
@@ -6740,6 +6766,7 @@

+
@@ -6758,6 +6785,7 @@

+
@@ -6776,6 +6804,7 @@

+
@@ -6794,6 +6823,7 @@

+
@@ -6812,6 +6842,7 @@

+
@@ -6830,6 +6861,7 @@

+
@@ -6848,6 +6880,7 @@

+
@@ -6866,6 +6899,7 @@

+
@@ -6885,6 +6919,7 @@

+
diff --git a/api/easybuild/tools/configobj/index.html b/api/easybuild/tools/configobj/index.html index d8e5d99c3..d8f4a14c2 100644 --- a/api/easybuild/tools/configobj/index.html +++ b/api/easybuild/tools/configobj/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6204,21 +6204,20 @@

configobj

- ConfigObj + ConfigObj

-

- Bases: Section

+

+ Bases: Section

An object to read, create, and write config files.

-
@@ -6231,6 +6230,7 @@

+
@@ -6254,6 +6254,7 @@

+
@@ -6274,6 +6275,7 @@

+
@@ -6292,6 +6294,7 @@

+
@@ -6333,6 +6336,7 @@

+
@@ -6379,22 +6383,21 @@

- ConfigObjError + ConfigObjError

-

- Bases: SyntaxError

+

+ Bases: SyntaxError

This is the base class for all errors that ConfigObj raises. It is a subclass of SyntaxError.

-
@@ -6420,21 +6423,20 @@

- ConfigParserInterpolation + ConfigParserInterpolation

-

- Bases: InterpolationEngine

+

+ Bases: InterpolationEngine

Behaves like ConfigParser.

-
@@ -6460,21 +6462,20 @@

- ConfigspecError + ConfigspecError

-

- Bases: ConfigObjError

+

+ Bases: ConfigObjError

An error occurred whilst parsing a configspec.

-
@@ -6484,21 +6485,20 @@

- DuplicateError + DuplicateError

-

- Bases: ConfigObjError

+

+ Bases: ConfigObjError

The keyword or section specified already exists.

-
@@ -6508,15 +6508,15 @@

- InterpolationEngine + InterpolationEngine

-

- Bases: object

+

+ Bases: object

A helper class to help perform string interpolation.

@@ -6524,7 +6524,6 @@

the actual work.

-
@@ -6550,21 +6549,20 @@

- InterpolationError + InterpolationError

-

- Bases: ConfigObjError

+

+ Bases: ConfigObjError

Base class for the two interpolation errors.

-
@@ -6574,21 +6572,20 @@

- InterpolationLoopError + InterpolationLoopError

-

- Bases: InterpolationError

+

+ Bases: InterpolationError

Maximum interpolation depth exceeded in string interpolation.

-
@@ -6614,21 +6611,20 @@

- MissingInterpolationOption + MissingInterpolationOption

-

- Bases: InterpolationError

+

+ Bases: InterpolationError

A value specified for interpolation was missing.

-
@@ -6654,21 +6650,20 @@

- NestingError + NestingError

-

- Bases: ConfigObjError

+

+ Bases: ConfigObjError

This error indicates a level of nesting that doesn't match.

-
@@ -6678,15 +6673,15 @@

- ParseError + ParseError

-

- Bases: ConfigObjError

+

+ Bases: ConfigObjError

This error indicates that a line is badly written. @@ -6694,7 +6689,6 @@

nor a valid section marker line.

-

@@ -6704,22 +6698,21 @@

- ReloadError + ReloadError

-

- Bases: IOError

+

+ Bases: IOError

A 'reload' operation failed. This exception is a subclass of IOError.

-
@@ -6745,22 +6738,21 @@

- RepeatSectionError + RepeatSectionError

-

- Bases: ConfigObjError

+

+ Bases: ConfigObjError

This error indicates additional sections in a section with a __many__ (repeated) section.

-
@@ -6770,15 +6762,15 @@

- Section + Section

-

- Bases: dict

+

+ Bases: dict

A dictionary-like object that represents a section in a config file.

@@ -6793,7 +6785,6 @@

Iteration follows the order: scalars, then sections.

-
@@ -6806,6 +6797,7 @@

+
@@ -6824,6 +6816,7 @@

+
@@ -6842,6 +6835,7 @@

+
@@ -6865,6 +6859,7 @@

+
@@ -6883,6 +6878,7 @@

+
@@ -6908,6 +6904,7 @@

+
@@ -6951,6 +6948,7 @@

+
@@ -6988,6 +6986,7 @@

+
@@ -7026,6 +7025,7 @@

+
@@ -7061,6 +7061,7 @@

+
@@ -7082,6 +7083,7 @@

+
@@ -7113,6 +7115,7 @@

+
@@ -7131,6 +7134,7 @@

+
@@ -7149,6 +7153,7 @@

+
@@ -7167,6 +7172,7 @@

+
@@ -7185,6 +7191,7 @@

+
@@ -7203,6 +7210,7 @@

+
@@ -7221,6 +7229,7 @@

+
@@ -7259,6 +7268,7 @@

+
@@ -7278,6 +7288,7 @@

+
@@ -7296,6 +7307,7 @@

+
@@ -7317,6 +7329,7 @@

+
@@ -7338,6 +7351,7 @@

@@ -7360,6 +7374,7 @@

@@ -7378,6 +7393,7 @@

+
@@ -7396,6 +7412,7 @@

+
@@ -7414,6 +7431,7 @@

+
@@ -7486,15 +7504,15 @@

- SimpleVal + SimpleVal

-

- Bases: object

+

+ Bases: object

A simple validator. @@ -7506,7 +7524,6 @@

present/missing. (Whole missing sections will be replaced with False)

-
@@ -7519,6 +7536,7 @@

+
@@ -7550,21 +7568,20 @@

- TemplateInterpolation + TemplateInterpolation

-

- Bases: InterpolationEngine

+

+ Bases: InterpolationEngine

Behaves like string.Template.

-
@@ -7590,26 +7607,26 @@

- UnreprError + UnreprError

-

- Bases: ConfigObjError

+

+ Bases: ConfigObjError

An error parsing in unrepr mode.

-
+
@@ -7647,6 +7664,7 @@

+
diff --git a/api/easybuild/tools/containers/apptainer/index.html b/api/easybuild/tools/containers/apptainer/index.html index bde5a13f7..288dcac9d 100644 --- a/api/easybuild/tools/containers/apptainer/index.html +++ b/api/easybuild/tools/containers/apptainer/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5854,16 +5854,15 @@

apptainer

- ApptainerContainer + ApptainerContainer

-

- Bases: SingularityContainer

- +

+ Bases: SingularityContainer

@@ -5879,6 +5878,7 @@

@@ -5901,6 +5901,7 @@

diff --git a/api/easybuild/tools/containers/base/index.html b/api/easybuild/tools/containers/base/index.html index e916e2687..32d31ec69 100644 --- a/api/easybuild/tools/containers/base/index.html +++ b/api/easybuild/tools/containers/base/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5891,22 +5891,21 @@

base

- ContainerGenerator + ContainerGenerator

-

- Bases: object

+

+ Bases: object

The parent class for concrete container recipe and image generator. Subclasses have to provide at least template resolution and image creation logic.

-
@@ -5919,6 +5918,7 @@

@@ -5938,6 +5938,7 @@

@@ -5958,6 +5959,7 @@

@@ -5977,6 +5979,7 @@

+
@@ -5996,6 +5999,7 @@

+
@@ -6015,6 +6019,7 @@

@@ -6035,6 +6040,7 @@

diff --git a/api/easybuild/tools/containers/common/index.html b/api/easybuild/tools/containers/common/index.html index 043108e9e..ae599dfad 100644 --- a/api/easybuild/tools/containers/common/index.html +++ b/api/easybuild/tools/containers/common/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5835,6 +5835,7 @@

common

+
diff --git a/api/easybuild/tools/containers/docker/index.html b/api/easybuild/tools/containers/docker/index.html index e2ac3b093..5de1e0786 100644 --- a/api/easybuild/tools/containers/docker/index.html +++ b/api/easybuild/tools/containers/docker/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5861,16 +5861,15 @@

docker

- DockerContainer + DockerContainer

-

- Bases: ContainerGenerator

- +

+ Bases: ContainerGenerator

@@ -5886,6 +5885,7 @@

@@ -5904,6 +5904,7 @@

+
@@ -5922,6 +5923,7 @@

+
diff --git a/api/easybuild/tools/containers/index.html b/api/easybuild/tools/containers/index.html index 2457dbeeb..3b42931fc 100644 --- a/api/easybuild/tools/containers/index.html +++ b/api/easybuild/tools/containers/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/containers/singularity/index.html b/api/easybuild/tools/containers/singularity/index.html index 937579572..83877edaa 100644 --- a/api/easybuild/tools/containers/singularity/index.html +++ b/api/easybuild/tools/containers/singularity/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5880,16 +5880,15 @@

singularity

- SingularityContainer + SingularityContainer

-

- Bases: ContainerGenerator

- +

+ Bases: ContainerGenerator

@@ -5905,6 +5904,7 @@

@@ -5923,6 +5923,7 @@

+
@@ -5941,6 +5942,7 @@

@@ -5959,6 +5961,7 @@

@@ -5977,6 +5980,7 @@

diff --git a/api/easybuild/tools/containers/utils/index.html b/api/easybuild/tools/containers/utils/index.html index 98d4a4015..eb6e6c9a1 100644 --- a/api/easybuild/tools/containers/utils/index.html +++ b/api/easybuild/tools/containers/utils/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5841,6 +5841,7 @@

utils

+
@@ -5860,6 +5861,7 @@

+
diff --git a/api/easybuild/tools/convert/index.html b/api/easybuild/tools/convert/index.html index 1ea0f0d16..0d8c5cd18 100644 --- a/api/easybuild/tools/convert/index.html +++ b/api/easybuild/tools/convert/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5855,22 +5855,21 @@

convert

- Convert + Convert

-

- Bases: Wrapper

+

+ Bases: Wrapper

Convert casts a string passed via the initialisation to a Convert (sub)class instance, mainly for typechecking and printing purposes.

-
@@ -5883,6 +5882,7 @@

+
@@ -5901,6 +5901,7 @@

+
diff --git a/api/easybuild/tools/deprecated/index.html b/api/easybuild/tools/deprecated/index.html index 6fc671717..68d979e5c 100644 --- a/api/easybuild/tools/deprecated/index.html +++ b/api/easybuild/tools/deprecated/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/docs/index.html b/api/easybuild/tools/docs/index.html index 0b1888b1e..184014f00 100644 --- a/api/easybuild/tools/docs/index.html +++ b/api/easybuild/tools/docs/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6125,6 +6125,7 @@

docs

+
@@ -6143,6 +6144,7 @@

+
@@ -6161,6 +6163,7 @@

+
@@ -6179,6 +6182,7 @@

@@ -6197,6 +6201,7 @@

@@ -6215,6 +6220,7 @@

+
@@ -6233,6 +6239,7 @@

+
@@ -6251,6 +6258,7 @@

@@ -6269,6 +6277,7 @@

@@ -6287,6 +6296,7 @@

@@ -6305,6 +6315,7 @@

+
@@ -6323,6 +6334,7 @@

@@ -6341,6 +6353,7 @@

@@ -6359,6 +6372,7 @@

@@ -6377,6 +6391,7 @@

+
@@ -6395,6 +6410,7 @@

+
@@ -6413,6 +6429,7 @@

@@ -6431,6 +6448,7 @@

@@ -6449,6 +6467,7 @@

+
@@ -6467,6 +6486,7 @@

@@ -6485,6 +6505,7 @@

@@ -6503,6 +6524,7 @@

@@ -6521,6 +6543,7 @@

+
@@ -6539,6 +6562,7 @@

+
@@ -6557,6 +6581,7 @@

+
@@ -6575,6 +6600,7 @@

+
@@ -6593,6 +6619,7 @@

@@ -6611,6 +6638,7 @@

@@ -6629,6 +6657,7 @@

+
@@ -6647,6 +6676,7 @@

@@ -6665,6 +6695,7 @@

+
@@ -6683,6 +6714,7 @@

+
@@ -6701,6 +6733,7 @@

+
@@ -6715,11 +6748,13 @@

Show list of supported software

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6732,7 +6767,7 @@

DEFAULT: - FORMAT_TXT + FORMAT_TXT

@@ -6768,6 +6803,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6792,6 +6829,7 @@

+
@@ -6806,11 +6844,13 @@

Return overview of supported software in MarkDown format

+ +

- + @@ -6841,6 +6881,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6865,6 +6907,7 @@

+
@@ -6879,11 +6922,13 @@

Return overview of supported software in RST format

+ +

- + @@ -6914,6 +6959,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6938,6 +6985,7 @@

+
@@ -6952,11 +7000,13 @@

Return overview of supported software in plain text

+ +

- + @@ -6987,6 +7037,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -7011,6 +7063,7 @@

+
@@ -7029,6 +7082,7 @@

+
@@ -7047,6 +7101,7 @@

+
@@ -7065,6 +7120,7 @@

+
@@ -7083,6 +7139,7 @@

+
@@ -7101,6 +7158,7 @@

+
diff --git a/api/easybuild/tools/environment/index.html b/api/easybuild/tools/environment/index.html index dbd42b36b..5d52a7720 100644 --- a/api/easybuild/tools/environment/index.html +++ b/api/easybuild/tools/environment/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5895,6 +5895,7 @@

environment

+
@@ -5913,6 +5914,7 @@

+
@@ -5931,6 +5933,7 @@

+
@@ -5945,11 +5948,13 @@

Read variables from the environment

+ +

- + @@ -5984,6 +5989,7 @@

+
@@ -6002,6 +6008,7 @@

+
@@ -6020,6 +6027,7 @@

+
@@ -6038,6 +6046,7 @@

+
@@ -6075,6 +6084,7 @@

+
@@ -6090,11 +6100,13 @@

put key in the environment with value tracks added keys until write_changes has been called

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6119,6 +6131,7 @@

+
@@ -6138,6 +6151,7 @@

+
diff --git a/api/easybuild/tools/filetools/index.html b/api/easybuild/tools/filetools/index.html index 791d3b2e0..5c41760c2 100644 --- a/api/easybuild/tools/filetools/index.html +++ b/api/easybuild/tools/filetools/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6475,22 +6475,21 @@

filetools

- ZlibChecksum + ZlibChecksum

-

- Bases: object

+

+ Bases: object

wrapper class for adler32 and crc32 checksums to match the interface of the hashlib module

-
@@ -6503,6 +6502,7 @@

+
@@ -6521,6 +6521,7 @@

@@ -6548,6 +6549,7 @@

+
@@ -6562,11 +6564,13 @@

Change permissions for specified path, using specified permission bits

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6675,6 +6679,7 @@

+
@@ -6695,6 +6700,7 @@

+
@@ -6709,11 +6715,13 @@

@@ -6786,11 +6795,13 @@

Backs up a file appending a backup extension and timestamp to it (if there is already an existing backup).

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6849,6 +6860,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6873,6 +6886,7 @@

+
@@ -6891,6 +6905,7 @@

+
@@ -6905,11 +6920,13 @@

Change to directory at specified location.

+ +

- + @@ -6926,6 +6943,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6950,6 +6969,7 @@

+
@@ -6970,6 +6990,7 @@

+
@@ -6988,6 +7009,7 @@

+
@@ -7006,6 +7028,7 @@

@@ -7020,11 +7043,13 @@

Cleanup the specified log file and the tmp directory, if desired.

+ +

- + @@ -7079,6 +7104,7 @@

+
@@ -7093,11 +7119,13 @@

Compute checksum of specified file.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7120,7 +7148,7 @@

DEFAULT: - DEFAULT_CHECKSUM + DEFAULT_CHECKSUM

@@ -7132,6 +7160,7 @@

+
@@ -7150,6 +7179,7 @@

+
@@ -7164,11 +7194,13 @@

Copy single file/directory or list of files and directories to specified location

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7227,6 +7259,7 @@

+
@@ -7241,11 +7274,13 @@

Copy a directory from specified location to specified location

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7318,6 +7353,7 @@

+
@@ -7336,6 +7372,7 @@

+
@@ -7350,11 +7387,13 @@

Copy a file from specified location to specified location

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7399,6 +7438,7 @@

+
@@ -7414,11 +7454,13 @@

Copy list of files to specified target path. Target directory is created if it doesn't exist yet.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7505,6 +7547,7 @@

+
@@ -7523,6 +7566,7 @@

+
@@ -7541,6 +7585,7 @@

+
@@ -7559,6 +7604,7 @@

+
@@ -7577,6 +7623,7 @@

+
@@ -7595,6 +7642,7 @@

+
@@ -7615,6 +7663,7 @@

+
@@ -7633,6 +7682,7 @@

+
@@ -7651,6 +7701,7 @@

+
@@ -7669,6 +7720,7 @@

+
@@ -7687,6 +7739,7 @@

@@ -7705,6 +7758,7 @@

+
@@ -7723,6 +7777,7 @@

+
@@ -7739,11 +7794,13 @@

It searches for "+++ path/to/patched/file" lines to determine the patched files. Note: does not correctly handle filepaths with spaces.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7824,6 +7881,7 @@

+
@@ -7842,6 +7900,7 @@

+
@@ -7860,6 +7919,7 @@

+
@@ -7879,6 +7939,7 @@

+
@@ -7897,6 +7958,7 @@

+
@@ -7915,6 +7977,7 @@

+
@@ -7933,6 +7996,7 @@

+
@@ -7963,6 +8027,7 @@

+
@@ -7981,6 +8046,7 @@

+
@@ -7999,6 +8065,7 @@

+
@@ -8013,11 +8080,13 @@

Extract file at given path to specified directory

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8114,6 +8183,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -8138,6 +8209,7 @@

+
@@ -8156,6 +8228,7 @@

@@ -8177,6 +8250,7 @@

+
@@ -8195,6 +8269,7 @@

+
@@ -8213,6 +8288,7 @@

+
@@ -8231,6 +8307,7 @@

+
@@ -8249,11 +8326,13 @@

duplicate paths are not retained in the returned list of license specs.

If no license is found through environment variables, also consider 'lic_specs'.

+ +

- + @@ -8288,6 +8367,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -8312,6 +8393,7 @@

+
@@ -8330,6 +8412,7 @@

+
@@ -8348,6 +8431,7 @@

@@ -8362,11 +8446,13 @@

@@ -8425,6 +8512,7 @@

+
@@ -8440,11 +8528,13 @@

+
@@ -8503,6 +8595,7 @@

+
@@ -8521,6 +8614,7 @@

+
@@ -8539,6 +8633,7 @@

+
@@ -8557,6 +8652,7 @@

+
@@ -8575,6 +8671,7 @@

+
@@ -8593,6 +8690,7 @@

+
@@ -8611,6 +8709,7 @@

+
@@ -8629,6 +8728,7 @@

+
@@ -8644,11 +8744,13 @@

Create a directory Directory is the path to create

+ +

- + @@ -8701,6 +8803,7 @@

+
@@ -8719,6 +8822,7 @@

+
@@ -8733,11 +8837,13 @@

Move a file from path to target_path

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8782,6 +8888,7 @@

+
@@ -8800,6 +8907,7 @@

+
@@ -8819,6 +8927,7 @@

+
@@ -8837,6 +8946,7 @@

+
@@ -8857,6 +8967,7 @@

@@ -8875,6 +8986,7 @@

+
@@ -8893,6 +9005,7 @@

+
@@ -8911,6 +9024,7 @@

+
@@ -8929,6 +9043,7 @@

+
@@ -8948,6 +9063,7 @@

@@ -8962,11 +9078,13 @@

Remove single file/directory or list of files and directories

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8987,6 +9105,7 @@

+
@@ -9005,6 +9124,7 @@

+
@@ -9023,6 +9143,7 @@

+
@@ -9041,6 +9162,7 @@

+
@@ -9055,11 +9177,13 @@

Return fully resolved path for given path.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9080,6 +9204,7 @@

+
@@ -9098,6 +9223,7 @@

+
@@ -9116,6 +9242,7 @@

+
@@ -9134,6 +9261,7 @@

+
@@ -9148,11 +9276,13 @@

Search for files using in specified paths using specified search query (regular expression)

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9253,6 +9383,7 @@

+
@@ -9271,6 +9402,7 @@

+
@@ -9285,11 +9417,13 @@

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9334,6 +9468,7 @@
PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9383,6 +9520,7 @@

+
@@ -9401,6 +9539,7 @@

+
@@ -9415,11 +9554,13 @@

Return (first) path in $PATH for specified command, or None if command is not found

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9486,6 +9627,7 @@

+
@@ -9501,11 +9643,13 @@

Write given contents to file at given path; overwrites current file contents without backup by default!

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + diff --git a/api/easybuild/tools/github/index.html b/api/easybuild/tools/github/index.html index af91e75d3..069de54a8 100644 --- a/api/easybuild/tools/github/index.html +++ b/api/easybuild/tools/github/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6242,21 +6242,20 @@

github

- GithubError + GithubError

-

- Bases: Exception

+

+ Bases: Exception

Error raised by the Githubfs

-
@@ -6266,21 +6265,20 @@

- Githubfs + Githubfs

-

- Bases: object

+

+ Bases: object

This class implements some higher level functionality on top of the Github api

-
@@ -6293,6 +6291,7 @@

+
@@ -6307,11 +6306,13 @@

Construct a new githubfs object

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6398,6 +6399,7 @@

+
@@ -6416,6 +6418,7 @@

+
@@ -6434,6 +6437,7 @@

+
@@ -6456,6 +6460,7 @@

+
@@ -6478,6 +6483,7 @@

+
@@ -6500,6 +6506,7 @@

+
@@ -6518,6 +6525,7 @@

+
@@ -6537,6 +6545,7 @@

+
@@ -6564,6 +6573,7 @@

+
@@ -6578,11 +6588,13 @@

Try to determine and add labels to PR.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6605,7 +6617,7 @@

DEFAULT: - GITHUB_DEVELOP_BRANCH + GITHUB_DEVELOP_BRANCH

@@ -6617,6 +6629,7 @@

+
@@ -6641,6 +6654,7 @@

+
@@ -6660,6 +6674,7 @@

+
@@ -6674,11 +6689,13 @@

@@ -6733,11 +6753,13 @@

Close specified pull request

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6772,6 +6794,7 @@

+
@@ -6790,6 +6813,7 @@

+
@@ -6804,11 +6828,13 @@

Create remote in specified git working directory for specified account & repository.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6863,6 +6889,7 @@

+
@@ -6881,6 +6908,7 @@

+
@@ -6899,6 +6927,7 @@

@@ -6922,6 +6951,7 @@

+
@@ -6940,6 +6970,7 @@

+
@@ -6958,6 +6989,7 @@

+
@@ -6972,11 +7004,13 @@

Determine target repository for pull request from given cagetorized list of files

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6997,6 +7031,7 @@

+
@@ -7011,11 +7046,13 @@

Create title for PR based on first easyconfigs

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7036,6 +7073,7 @@

+
@@ -7050,11 +7088,13 @@

Download entire GitHub repo as a tar.gz archive, and extract it into specified path.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7067,7 +7107,7 @@

DEFAULT: - GITHUB_EASYCONFIGS_REPO + GITHUB_EASYCONFIGS_REPO

@@ -7095,7 +7135,7 @@

DEFAULT: - GITHUB_EB_MAIN + GITHUB_EB_MAIN

@@ -7135,6 +7175,7 @@

+
@@ -7153,6 +7194,7 @@

+
@@ -7171,6 +7213,7 @@

@@ -7189,6 +7232,7 @@

+
@@ -7207,6 +7251,7 @@

+
@@ -7221,11 +7266,13 @@

Fetch latest SHA1 for a specified repository and branch.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7294,6 +7341,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -7318,6 +7367,7 @@

+
@@ -7336,6 +7386,7 @@

+
@@ -7350,11 +7401,13 @@

@@ -7393,11 +7447,13 @@

@@ -7462,11 +7521,13 @@

Helper method, for performing get requests to GitHub API.

+ +

- + @@ -7511,6 +7572,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -7535,6 +7598,7 @@

+
@@ -7549,11 +7613,13 @@

Helper method, for performing put requests to GitHub API.

+ +

- + @@ -7598,6 +7664,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -7622,6 +7690,7 @@

+
@@ -7636,11 +7705,13 @@

Initialize a new Git repository at the specified location.

+ +

- + @@ -7685,6 +7756,7 @@

+
@@ -7699,11 +7771,13 @@

Install specified GitHub token for specified user.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7738,6 +7812,7 @@

+
@@ -7756,6 +7831,7 @@

+
@@ -7770,11 +7846,13 @@

List pull requests according to specified selection/order parameters

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7795,6 +7873,7 @@

+
@@ -7813,6 +7892,7 @@

+
@@ -7827,11 +7907,13 @@

Create new branch on GitHub using specified files

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7876,6 +7958,7 @@

+
@@ -7890,11 +7973,13 @@

Open new pull request using specified files

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7967,6 +8052,7 @@

+
@@ -7985,6 +8071,7 @@

+
@@ -8003,6 +8090,7 @@

+
@@ -8021,6 +8109,7 @@

+
@@ -8039,6 +8128,7 @@

+
@@ -8057,6 +8147,7 @@

+
@@ -8071,11 +8162,13 @@

Push specified branch to GitHub from specified git repository.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8126,6 +8219,7 @@

+
@@ -8144,6 +8238,7 @@

+
@@ -8158,11 +8253,13 @@

Set up repository by checking out specified branch for specfied GitHub account/repository.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8241,6 +8338,7 @@

+
@@ -8255,11 +8353,13 @@

Set up repository by checking out specified branch from repository at specified URL.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8324,6 +8424,7 @@

+
@@ -8342,6 +8443,7 @@

+
@@ -8360,6 +8462,7 @@

+
@@ -8378,6 +8481,7 @@

+
@@ -8392,11 +8496,13 @@

Update specified branch in GitHub using specified files

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8455,6 +8561,7 @@

+
@@ -8469,11 +8576,13 @@

Update specified pull request using specified files

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8528,6 +8637,7 @@

+
diff --git a/api/easybuild/tools/hooks/index.html b/api/easybuild/tools/hooks/index.html index d29c0e714..b7ea965e2 100644 --- a/api/easybuild/tools/hooks/index.html +++ b/api/easybuild/tools/hooks/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5852,6 +5852,7 @@

hooks

+
@@ -5866,11 +5867,13 @@

Find hook with specified label.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -5929,6 +5932,7 @@

+
@@ -5947,6 +5951,7 @@

+
@@ -5961,11 +5966,13 @@

Run hook with specified label and return result of calling the hook or None.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6052,6 +6059,7 @@

+
diff --git a/api/easybuild/tools/include/index.html b/api/easybuild/tools/include/index.html index 96bb3249b..4887a183b 100644 --- a/api/easybuild/tools/include/index.html +++ b/api/easybuild/tools/include/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5873,6 +5873,7 @@

include

+
@@ -5891,6 +5892,7 @@

+
@@ -5909,6 +5911,7 @@

+
@@ -5927,6 +5930,7 @@

@@ -5945,6 +5949,7 @@

+
@@ -5963,6 +5968,7 @@

@@ -5977,11 +5983,13 @@

Set up new easybuild subnamespace in specified path.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6026,6 +6034,7 @@

+
diff --git a/api/easybuild/tools/index.html b/api/easybuild/tools/index.html index 716c886c3..9df7c4746 100644 --- a/api/easybuild/tools/index.html +++ b/api/easybuild/tools/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/jenkins/index.html b/api/easybuild/tools/jenkins/index.html index 6a8f1e3cf..3a2722ad2 100644 --- a/api/easybuild/tools/jenkins/index.html +++ b/api/easybuild/tools/jenkins/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5838,6 +5838,7 @@

jenkins

+
@@ -5857,6 +5858,7 @@

+
diff --git a/api/easybuild/tools/job/backend/index.html b/api/easybuild/tools/job/backend/index.html index 87659114f..17c976e0d 100644 --- a/api/easybuild/tools/job/backend/index.html +++ b/api/easybuild/tools/job/backend/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5893,16 +5893,15 @@

backend

- JobBackend + JobBackend

-

- Bases: object

- +

+ Bases: object

@@ -5918,6 +5917,7 @@

+
@@ -5936,6 +5936,7 @@

+
@@ -5962,6 +5963,7 @@

+
@@ -5986,6 +5988,7 @@

+
@@ -6010,6 +6013,7 @@

+
@@ -6046,6 +6050,7 @@

+
@@ -6064,6 +6069,7 @@

+
diff --git a/api/easybuild/tools/job/gc3pie/index.html b/api/easybuild/tools/job/gc3pie/index.html index 8aeb89cfb..94c5fde48 100644 --- a/api/easybuild/tools/job/gc3pie/index.html +++ b/api/easybuild/tools/job/gc3pie/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5886,15 +5886,15 @@

gc3pie

- AbortingDependentTaskCollection + AbortingDependentTaskCollection

-

- Bases: AbortOnError, DependentTaskCollection

+

+ Bases: AbortOnError, DependentTaskCollection

A DependentTaskCollection:class: that aborts execution upon error.

@@ -5902,7 +5902,6 @@

- GC3Pie + GC3Pie

-

- Bases: JobBackend

+

+ Bases: JobBackend

Use the GC3Pie framework to submit and monitor compilation jobs, @@ -5931,7 +5930,6 @@

terminated.

-
@@ -5944,6 +5942,7 @@

+
@@ -5962,6 +5961,7 @@

+
@@ -5981,6 +5981,7 @@

+
@@ -5999,6 +6000,7 @@

+
@@ -6028,6 +6030,7 @@

+
@@ -6042,11 +6045,13 @@

Add a job to the queue, optionally specifying dependencies.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + diff --git a/api/easybuild/tools/job/index.html b/api/easybuild/tools/job/index.html index fd350559c..856f3820e 100644 --- a/api/easybuild/tools/job/index.html +++ b/api/easybuild/tools/job/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/job/pbs_python/index.html b/api/easybuild/tools/job/pbs_python/index.html index 669ed0471..7fe3ddfdc 100644 --- a/api/easybuild/tools/job/pbs_python/index.html +++ b/api/easybuild/tools/job/pbs_python/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5970,21 +5970,20 @@

pbs_python

- PbsJob + PbsJob

-

- Bases: object

+

+ Bases: object

Interaction with TORQUE

-
@@ -5997,6 +5996,7 @@

+
@@ -6018,6 +6018,7 @@

+
@@ -6036,6 +6037,7 @@

+
@@ -6055,6 +6057,7 @@

@@ -6073,6 +6076,7 @@

+
@@ -6091,6 +6095,7 @@

+
@@ -6109,6 +6114,7 @@

@@ -6127,6 +6133,7 @@

+
@@ -6145,6 +6152,7 @@

+
@@ -6177,21 +6185,20 @@

- PbsPython + PbsPython

-

- Bases: JobBackend

+

+ Bases: JobBackend

Manage PBS server communication and create PbsJob objects.

-
@@ -6204,6 +6211,7 @@

+
@@ -6222,6 +6230,7 @@

@@ -6241,6 +6250,7 @@

@@ -6259,6 +6269,7 @@

@@ -6277,6 +6288,7 @@

@@ -6296,6 +6308,7 @@

+
@@ -6314,6 +6327,7 @@

@@ -6328,11 +6342,13 @@

Add a job to the queue.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + diff --git a/api/easybuild/tools/job/slurm/index.html b/api/easybuild/tools/job/slurm/index.html index d57b4635f..9ed857e0d 100644 --- a/api/easybuild/tools/job/slurm/index.html +++ b/api/easybuild/tools/job/slurm/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5898,21 +5898,20 @@

slurm

- Slurm + Slurm

-

- Bases: JobBackend

+

+ Bases: JobBackend

Manage SLURM server communication and create SlurmJob objects.

-
@@ -5925,6 +5924,7 @@

+
@@ -5943,6 +5943,7 @@

+
@@ -5962,6 +5963,7 @@

+
@@ -5980,6 +5982,7 @@

+
@@ -5998,6 +6001,7 @@

+
@@ -6012,11 +6016,13 @@

Add a job to the queue.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6054,21 +6060,20 @@

- SlurmJob + SlurmJob

-

- Bases: object

+

+ Bases: object

Job class for SLURM jobs.

-
@@ -6081,6 +6086,7 @@

+
diff --git a/api/easybuild/tools/loose_version/index.html b/api/easybuild/tools/loose_version/index.html index 920e65b61..15a9670a5 100644 --- a/api/easybuild/tools/loose_version/index.html +++ b/api/easybuild/tools/loose_version/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5849,15 +5849,15 @@

loose_version

- LooseVersion + LooseVersion

-

- Bases: object

+

+ Bases: object

Version numbering for anarchists and software realists.

@@ -5867,7 +5867,6 @@

numerically, and the alphabetic components lexically.

-
diff --git a/api/easybuild/tools/module_generator/index.html b/api/easybuild/tools/module_generator/index.html index 6358b831c..6b849eb1d 100644 --- a/api/easybuild/tools/module_generator/index.html +++ b/api/easybuild/tools/module_generator/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6356,21 +6356,20 @@

module_generator

- ModuleGenerator + ModuleGenerator

-

- Bases: object

+

+ Bases: object

Class for generating module files.

-
@@ -6383,6 +6382,7 @@

@@ -6401,6 +6401,7 @@

@@ -6415,11 +6416,13 @@

@@ -6493,11 +6497,13 @@

@@ -6546,11 +6553,13 @@

@@ -6613,6 +6623,7 @@

@@ -6627,11 +6638,13 @@

Return formatted conditional statement, with given condition and body.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6732,6 +6745,7 @@

+
@@ -6750,6 +6764,7 @@

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7381,6 +7427,7 @@

+
@@ -7402,6 +7449,7 @@

+
@@ -7416,11 +7464,13 @@

@@ -7479,11 +7530,13 @@

@@ -7522,6 +7576,7 @@

+
@@ -7536,11 +7591,13 @@

@@ -7627,11 +7685,13 @@

- ModuleGeneratorLua + ModuleGeneratorLua

-

- Bases: ModuleGenerator

+

+ Bases: ModuleGenerator

Class for generating Lua module files.

-
@@ -7734,6 +7793,7 @@

@@ -7752,6 +7812,7 @@

@@ -7767,11 +7828,13 @@

@@ -7824,6 +7888,7 @@

@@ -7838,11 +7903,13 @@

Check the minimal version of the moduletool in the module file

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7887,6 +7954,7 @@

+
@@ -7905,6 +7973,7 @@

@@ -7919,11 +7988,13 @@

+
@@ -8043,6 +8115,7 @@

+
@@ -8061,6 +8134,7 @@

+
@@ -8079,6 +8153,7 @@

@@ -8093,11 +8168,13 @@

@@ -8188,11 +8266,13 @@

@@ -8283,6 +8366,7 @@

@@ -8301,6 +8385,7 @@

+
@@ -8319,6 +8404,7 @@

@@ -8333,11 +8419,13 @@

Create a symlink named 'default' inside the package's module folder in order to set the default module version

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8382,6 +8470,7 @@

+
@@ -8396,11 +8485,13 @@

Generate a quoted setenv statement for the given key/value pair.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8445,6 +8536,7 @@

+
@@ -8459,11 +8551,13 @@

@@ -8522,11 +8617,13 @@

Generate unload statement for specified module.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8547,6 +8644,7 @@

+
@@ -8561,11 +8659,13 @@

Generate prepend_path or append_path statements for the given list of paths

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8638,6 +8738,7 @@

+
@@ -8652,11 +8753,13 @@

- ModuleGeneratorTcl + ModuleGeneratorTcl

-

- Bases: ModuleGenerator

+

+ Bases: ModuleGenerator

Class for generating Tcl module files.

-
@@ -8759,6 +8861,7 @@

@@ -8774,11 +8877,13 @@

@@ -8831,6 +8937,7 @@

@@ -8845,11 +8952,13 @@

+
@@ -8969,6 +9079,7 @@

+
@@ -8987,6 +9098,7 @@

+
@@ -9005,6 +9117,7 @@

@@ -9019,11 +9132,13 @@

@@ -9118,6 +9234,7 @@

@@ -9136,6 +9253,7 @@

+
@@ -9154,6 +9272,7 @@

@@ -9168,11 +9287,13 @@

Create a .version file inside the package module folder in order to set the default version for TMod

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9217,6 +9338,7 @@

+
@@ -9231,11 +9353,13 @@

Generate a quoted setenv statement for the given key/value pair.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9280,6 +9404,7 @@

+
@@ -9294,11 +9419,13 @@

@@ -9357,11 +9485,13 @@

Generate unload statement for specified module.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9382,6 +9512,7 @@

+
@@ -9396,11 +9527,13 @@

Generate prepend-path or append-path statements for the given list of paths.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -9473,6 +9606,7 @@

+
@@ -9487,11 +9621,13 @@

@@ -9581,6 +9718,7 @@

@@ -9595,11 +9733,13 @@

@@ -9642,6 +9783,7 @@

diff --git a/api/easybuild/tools/module_naming_scheme/categorized_hmns/index.html b/api/easybuild/tools/module_naming_scheme/categorized_hmns/index.html index 135b8c4d3..77301e98e 100644 --- a/api/easybuild/tools/module_naming_scheme/categorized_hmns/index.html +++ b/api/easybuild/tools/module_naming_scheme/categorized_hmns/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5878,15 +5878,15 @@

categorized_hmns

- CategorizedHMNS + CategorizedHMNS

-

- Bases: HierarchicalMNS

+

+ Bases: HierarchicalMNS

Class implementing an extended hierarchical module naming scheme using the @@ -5894,7 +5894,6 @@

-
@@ -5907,6 +5906,7 @@

@@ -5926,6 +5926,7 @@

@@ -5947,6 +5948,7 @@

@@ -5969,6 +5971,7 @@

@@ -5993,6 +5996,7 @@

diff --git a/api/easybuild/tools/module_naming_scheme/categorized_mns/index.html b/api/easybuild/tools/module_naming_scheme/categorized_mns/index.html index 4a8fa30c6..9f259ca63 100644 --- a/api/easybuild/tools/module_naming_scheme/categorized_mns/index.html +++ b/api/easybuild/tools/module_naming_scheme/categorized_mns/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5858,21 +5858,20 @@

categorized_mns

- CategorizedModuleNamingScheme + CategorizedModuleNamingScheme

-

- Bases: ModuleNamingScheme

+

+ Bases: ModuleNamingScheme

Class implementing the categorized module naming scheme.

-
@@ -5885,6 +5884,7 @@

@@ -5899,11 +5899,13 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -5944,6 +5948,7 @@

diff --git a/api/easybuild/tools/module_naming_scheme/easybuild_mns/index.html b/api/easybuild/tools/module_naming_scheme/easybuild_mns/index.html index 7a6ddba5d..fa2bb97bd 100644 --- a/api/easybuild/tools/module_naming_scheme/easybuild_mns/index.html +++ b/api/easybuild/tools/module_naming_scheme/easybuild_mns/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5850,21 +5850,20 @@

easybuild_mns

- EasyBuildMNS + EasyBuildMNS

-

- Bases: ModuleNamingScheme

+

+ Bases: ModuleNamingScheme

Class implementing the default EasyBuild module naming scheme.

-
@@ -5877,6 +5876,7 @@

@@ -5891,11 +5891,13 @@

+ + diff --git a/api/easybuild/tools/module_naming_scheme/hierarchical_mns/index.html b/api/easybuild/tools/module_naming_scheme/hierarchical_mns/index.html index 72bb2d159..e963ee1c1 100644 --- a/api/easybuild/tools/module_naming_scheme/hierarchical_mns/index.html +++ b/api/easybuild/tools/module_naming_scheme/hierarchical_mns/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5914,21 +5914,20 @@

hierarchical_mns

- HierarchicalMNS + HierarchicalMNS

-

- Bases: ModuleNamingScheme

+

+ Bases: ModuleNamingScheme

Class implementing an example hierarchical module naming scheme.

-
@@ -5941,6 +5940,7 @@

@@ -5960,6 +5960,7 @@

@@ -5978,6 +5979,7 @@

@@ -5996,6 +5998,7 @@

@@ -6015,6 +6018,7 @@

@@ -6035,6 +6039,7 @@

@@ -6053,6 +6058,7 @@

@@ -6072,6 +6078,7 @@

@@ -6090,6 +6097,7 @@

@@ -6109,6 +6117,7 @@

diff --git a/api/easybuild/tools/module_naming_scheme/index.html b/api/easybuild/tools/module_naming_scheme/index.html index 0ae11b850..66e266335 100644 --- a/api/easybuild/tools/module_naming_scheme/index.html +++ b/api/easybuild/tools/module_naming_scheme/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/index.html b/api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/index.html index bbc6888f5..f039792a1 100644 --- a/api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/index.html +++ b/api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5850,16 +5850,15 @@

migrate_from_eb_to_hmns

- MigrateFromEBToHMNS + MigrateFromEBToHMNS

-

- Bases: HierarchicalMNS, EasyBuildMNS

- +

+ Bases: HierarchicalMNS, EasyBuildMNS

@@ -5875,6 +5874,7 @@

diff --git a/api/easybuild/tools/module_naming_scheme/mns/index.html b/api/easybuild/tools/module_naming_scheme/mns/index.html index 52307b717..a6f7a3348 100644 --- a/api/easybuild/tools/module_naming_scheme/mns/index.html +++ b/api/easybuild/tools/module_naming_scheme/mns/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5942,21 +5942,20 @@

mns

- ModuleNamingScheme + ModuleNamingScheme

-

- Bases: BaseModuleNamingScheme

+

+ Bases: BaseModuleNamingScheme

Abstract class for a module naming scheme implementation.

-
@@ -5969,6 +5968,7 @@

@@ -5987,6 +5987,7 @@

+
@@ -6001,11 +6002,13 @@

+ + @@ -6046,6 +6051,7 @@

@@ -6064,6 +6070,7 @@

@@ -6078,11 +6085,13 @@

+ + @@ -6123,6 +6134,7 @@

@@ -6143,6 +6155,7 @@

@@ -6157,11 +6170,13 @@

+ + @@ -6202,6 +6219,7 @@

@@ -6217,11 +6235,13 @@

+ + @@ -6262,6 +6284,7 @@

@@ -6280,6 +6303,7 @@

@@ -6294,11 +6318,13 @@

+ + @@ -6339,6 +6367,7 @@

@@ -6354,11 +6383,13 @@

+ + @@ -6399,6 +6432,7 @@

@@ -6418,6 +6452,7 @@

@@ -6438,6 +6473,7 @@

@@ -6456,6 +6492,7 @@

diff --git a/api/easybuild/tools/module_naming_scheme/toolchain/index.html b/api/easybuild/tools/module_naming_scheme/toolchain/index.html index 68038ad1b..729385bd7 100644 --- a/api/easybuild/tools/module_naming_scheme/toolchain/index.html +++ b/api/easybuild/tools/module_naming_scheme/toolchain/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5847,6 +5847,7 @@

toolchain

+
@@ -5861,11 +5862,13 @@

Determine compilers of toolchain for given EasyConfig instance.

+ +

- + @@ -5886,6 +5889,7 @@

+
@@ -5904,6 +5908,7 @@

@@ -5918,11 +5923,13 @@

Determine MPI library of toolchain for given EasyConfig instance.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + diff --git a/api/easybuild/tools/module_naming_scheme/utilities/index.html b/api/easybuild/tools/module_naming_scheme/utilities/index.html index 6bd33a25c..49a4179f5 100644 --- a/api/easybuild/tools/module_naming_scheme/utilities/index.html +++ b/api/easybuild/tools/module_naming_scheme/utilities/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5859,6 +5859,7 @@

utilities

+
@@ -5877,6 +5878,7 @@

@@ -5896,6 +5898,7 @@

+
@@ -5914,6 +5917,7 @@

+
diff --git a/api/easybuild/tools/modules/index.html b/api/easybuild/tools/modules/index.html index a8301ba9b..c2623e14d 100644 --- a/api/easybuild/tools/modules/index.html +++ b/api/easybuild/tools/modules/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6418,21 +6418,20 @@

modules

- EnvironmentModules + EnvironmentModules

-

- Bases: EnvironmentModulesTcl

+

+ Bases: EnvironmentModulesTcl

Interface to environment modules 4.0+

-
@@ -6445,6 +6444,7 @@

+
@@ -6476,21 +6476,20 @@

- EnvironmentModulesC + EnvironmentModulesC

-

- Bases: ModulesTool

+

+ Bases: ModulesTool

Interface to (C) environment modules (modulecmd).

-
@@ -6503,6 +6502,7 @@

+
@@ -6517,11 +6517,13 @@

+
@@ -6570,6 +6573,7 @@

@@ -6601,21 +6605,20 @@

- EnvironmentModulesTcl + EnvironmentModulesTcl

-

- Bases: EnvironmentModulesC

+

+ Bases: EnvironmentModulesC

Interface to (Tcl) environment modules (modulecmd.tcl).

-
@@ -6628,6 +6631,7 @@

+
@@ -6643,11 +6647,13 @@

@@ -6686,11 +6693,13 @@

Remove specified module path (using 'module unuse').

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6725,6 +6734,7 @@

+
@@ -6743,6 +6753,7 @@

@@ -6774,21 +6785,20 @@

- Lmod + Lmod

-

- Bases: ModulesTool

+

+ Bases: ModulesTool

Interface to Lmod.

-
@@ -6801,6 +6811,7 @@

+
@@ -6819,6 +6830,7 @@

+
@@ -6834,11 +6846,13 @@

Return a list of available modules for the given (partial) module name; use None to obtain a list of all available modules.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6863,6 +6877,7 @@

+
@@ -6881,6 +6896,7 @@

@@ -6899,6 +6915,7 @@

@@ -6913,11 +6930,13 @@

Compose full module command to run, based on provided arguments

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6934,6 +6953,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6958,6 +6979,7 @@

+
@@ -6972,11 +6994,13 @@

@@ -7026,6 +7051,7 @@

@@ -7040,11 +7066,13 @@

@@ -7111,6 +7140,7 @@

+
@@ -7129,6 +7159,7 @@

+
@@ -7143,11 +7174,13 @@

Add path to $MODULEPATH via 'module use'.

+ +

- + @@ -7195,21 +7228,20 @@

- Modules + Modules

-

- Bases: EnvironmentModulesC

+

+ Bases: EnvironmentModulesC

NO LONGER SUPPORTED: interface to modules tool, use modules_tool from easybuild.tools.modules instead

-
@@ -7235,21 +7267,20 @@

- ModulesTool + ModulesTool

-

- Bases: object

+

+ Bases: object

An abstract interface to a tool that deals with modules.

-
@@ -7262,6 +7293,7 @@

+
@@ -7276,11 +7308,13 @@

Create a ModulesTool object

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7305,6 +7339,7 @@

+
@@ -7323,6 +7358,7 @@

+
@@ -7337,11 +7373,13 @@

@@ -7391,11 +7430,13 @@

Return a list of available modules for the given (partial) module name; use None to obtain a list of all available modules.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7420,6 +7461,7 @@

+
@@ -7438,6 +7480,7 @@

+
@@ -7456,6 +7499,7 @@

@@ -7474,6 +7518,7 @@

@@ -7492,6 +7537,7 @@

@@ -7510,6 +7556,7 @@

@@ -7528,6 +7575,7 @@

@@ -7542,11 +7590,13 @@

@@ -7601,11 +7654,13 @@

Check if modules with specified names exists.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7668,6 +7723,7 @@

+
@@ -7682,11 +7738,13 @@

Get value for specific 'setenv' statement from module file for the specified module.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7717,6 +7775,7 @@

+
@@ -7731,11 +7790,13 @@

@@ -7784,6 +7846,7 @@

@@ -7802,6 +7865,7 @@

@@ -7820,6 +7884,7 @@

+
@@ -7834,11 +7899,13 @@

Load all requested modules.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7915,6 +7982,7 @@

+
@@ -7933,6 +8001,7 @@

@@ -7951,6 +8020,7 @@

@@ -7968,11 +8038,13 @@

@@ -8032,6 +8107,7 @@

@@ -8046,11 +8122,13 @@

@@ -8125,11 +8204,13 @@

@@ -8208,11 +8290,13 @@

@@ -8279,6 +8364,7 @@

+
@@ -8297,6 +8383,7 @@

@@ -8311,11 +8398,13 @@

@@ -8364,11 +8454,13 @@

Run module command.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8407,6 +8499,7 @@

+
@@ -8425,6 +8518,7 @@

@@ -8439,11 +8533,13 @@

@@ -8486,6 +8583,7 @@

@@ -8504,6 +8602,7 @@

+
@@ -8522,6 +8621,7 @@

+
@@ -8540,6 +8640,7 @@

+
@@ -8558,6 +8659,7 @@

+
@@ -8572,11 +8674,13 @@

Add path to $MODULEPATH via 'module use'.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8624,21 +8728,20 @@

- NoModulesTool + NoModulesTool

-

- Bases: ModulesTool

+

+ Bases: ModulesTool

Class that mock the module behaviour, used for operation not requiring modules. Eg. tests, fetch only

-
@@ -8651,6 +8754,7 @@

+
@@ -8669,6 +8773,7 @@

+
@@ -8687,6 +8792,7 @@

@@ -8705,6 +8811,7 @@

+
@@ -8732,6 +8839,7 @@

+
@@ -8750,6 +8858,7 @@

+
@@ -8764,11 +8873,13 @@

Return a list of current module paths.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8793,6 +8904,7 @@

+
@@ -8809,11 +8921,13 @@

Returns the library subdirectory, relative to software root. It fails if multiple library subdirs are found, unless only_one is False which yields a list of all library subdirs.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -8862,6 +8976,7 @@

+
@@ -8880,6 +8995,7 @@

+
@@ -8898,6 +9014,7 @@

@@ -8916,6 +9033,7 @@

+
@@ -8934,6 +9052,7 @@

@@ -8952,6 +9071,7 @@

@@ -8970,6 +9090,7 @@

+
@@ -8988,6 +9109,7 @@

+
diff --git a/api/easybuild/tools/multidiff/index.html b/api/easybuild/tools/multidiff/index.html index cff8dfdaa..d247cf922 100644 --- a/api/easybuild/tools/multidiff/index.html +++ b/api/easybuild/tools/multidiff/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5898,21 +5898,20 @@

multidiff

- MultiDiff + MultiDiff

-

- Bases: object

+

+ Bases: object

Class representing a multi-diff.

-
@@ -5925,6 +5924,7 @@

+
@@ -5939,11 +5939,13 @@

MultiDiff constructor

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -5998,6 +6000,7 @@

+
@@ -6016,6 +6019,7 @@

+
@@ -6034,6 +6038,7 @@

+
@@ -6052,6 +6057,7 @@

+
@@ -6066,11 +6072,13 @@

Return the line information for a specific line

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6087,6 +6095,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6111,6 +6121,7 @@

+
@@ -6129,6 +6140,7 @@

@@ -6143,11 +6155,13 @@

Register a diff line

+ +

- + @@ -6207,6 +6221,7 @@

+
@@ -6221,11 +6236,13 @@

Generate a diff for multiple files, all compared to base.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6266,6 +6283,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + diff --git a/api/easybuild/tools/options/index.html b/api/easybuild/tools/options/index.html index 855d51a9c..cb73c7c04 100644 --- a/api/easybuild/tools/options/index.html +++ b/api/easybuild/tools/options/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6017,21 +6017,20 @@

options

- EasyBuildOptions + EasyBuildOptions

-

- Bases: GeneralOption

+

+ Bases: GeneralOption

Easybuild generaloption class

-
@@ -6044,6 +6043,7 @@

+
@@ -6062,6 +6062,7 @@

@@ -6080,6 +6081,7 @@

@@ -6098,6 +6100,7 @@

@@ -6116,6 +6119,7 @@

@@ -6134,6 +6138,7 @@

@@ -6152,6 +6157,7 @@

@@ -6170,6 +6176,7 @@

@@ -6188,6 +6195,7 @@

@@ -6206,6 +6214,7 @@

@@ -6224,6 +6233,7 @@

@@ -6242,6 +6252,7 @@

+
@@ -6260,6 +6271,7 @@

+
@@ -6278,6 +6290,7 @@

@@ -6305,6 +6318,7 @@

@@ -6319,11 +6333,13 @@

Check whether we are running as root, and act accordingly

+ +

- + @@ -6348,6 +6364,7 @@

+
@@ -6362,11 +6379,13 @@

Clean up temporary directory and exit.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6387,6 +6406,7 @@

+
@@ -6403,11 +6423,13 @@

Can by used to convert e.g. easyconfig-specific options from an easystack file to a list of strings that can be fed into the EasyBuild option parser

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6424,6 +6446,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6448,6 +6472,7 @@

+
@@ -6462,11 +6487,13 @@

+
@@ -6539,11 +6570,13 @@

Pretty print options dict.

+ +

- + @@ -6564,6 +6597,7 @@

+
@@ -6583,6 +6617,7 @@

@@ -6601,6 +6636,7 @@

+
@@ -6615,11 +6651,13 @@

Set up EasyBuild configuration, by parsing configuration settings & initialising build options.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6700,6 +6738,7 @@

+
diff --git a/api/easybuild/tools/output/index.html b/api/easybuild/tools/output/index.html index a7a202a32..eee93d1f0 100644 --- a/api/easybuild/tools/output/index.html +++ b/api/easybuild/tools/output/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5948,22 +5948,21 @@

output

- DummyRich + DummyRich

-

- Bases: object

+

+ Bases: object

Dummy shim for Rich classes. Used in case Rich is not available, or when EasyBuild is not configured to use rich output style.

-
@@ -5985,6 +5984,7 @@

+
@@ -6003,6 +6003,7 @@

+
@@ -6021,6 +6022,7 @@

@@ -6039,6 +6041,7 @@

@@ -6057,6 +6060,7 @@

@@ -6075,6 +6079,7 @@

+
@@ -6093,6 +6098,7 @@

+
@@ -6111,6 +6117,7 @@

+
@@ -6129,6 +6136,7 @@

+
@@ -6147,6 +6155,7 @@

+
@@ -6165,6 +6174,7 @@

+
@@ -6183,6 +6193,7 @@

+
@@ -6197,11 +6208,13 @@

Start progress bar of given type.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6236,6 +6249,7 @@

+
@@ -6254,6 +6268,7 @@

+
@@ -6272,6 +6287,7 @@

+
@@ -6286,11 +6302,13 @@

Update progress bar of given type (if it was started), add progress of given size.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6339,6 +6357,7 @@

+
diff --git a/api/easybuild/tools/package/index.html b/api/easybuild/tools/package/index.html index b080d7780..2eb79814c 100644 --- a/api/easybuild/tools/package/index.html +++ b/api/easybuild/tools/package/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/index.html b/api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/index.html index 5d20109a4..76b39d0d2 100644 --- a/api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/index.html +++ b/api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5851,21 +5851,20 @@

easybuild_deb_friendly_pns

- EasyBuildDebFriendlyPNS + EasyBuildDebFriendlyPNS

-

- Bases: EasyBuildPNS

+

+ Bases: EasyBuildPNS

Class implmenting the Deb friendly EasyBuild packaging naming scheme.

-
@@ -5878,6 +5877,7 @@

diff --git a/api/easybuild/tools/package/package_naming_scheme/easybuild_pns/index.html b/api/easybuild/tools/package/package_naming_scheme/easybuild_pns/index.html index 98c34ab9e..6d60a65d6 100644 --- a/api/easybuild/tools/package/package_naming_scheme/easybuild_pns/index.html +++ b/api/easybuild/tools/package/package_naming_scheme/easybuild_pns/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5860,21 +5860,20 @@

easybuild_pns

- EasyBuildPNS + EasyBuildPNS

-

- Bases: PackageNamingScheme

+

+ Bases: PackageNamingScheme

Class implmenting the default EasyBuild packaging naming scheme.

-
@@ -5887,6 +5886,7 @@

@@ -5905,6 +5905,7 @@

diff --git a/api/easybuild/tools/package/package_naming_scheme/index.html b/api/easybuild/tools/package/package_naming_scheme/index.html index 7342b303c..67d863923 100644 --- a/api/easybuild/tools/package/package_naming_scheme/index.html +++ b/api/easybuild/tools/package/package_naming_scheme/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/package/package_naming_scheme/pns/index.html b/api/easybuild/tools/package/package_naming_scheme/pns/index.html index 4124e2919..515808a35 100644 --- a/api/easybuild/tools/package/package_naming_scheme/pns/index.html +++ b/api/easybuild/tools/package/package_naming_scheme/pns/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5874,21 +5874,20 @@

pns

- PackageNamingScheme + PackageNamingScheme

-

- Bases: object

+

+ Bases: object

Abstract class for package naming schemes

-
@@ -5901,6 +5900,7 @@

@@ -5919,6 +5919,7 @@

@@ -5941,6 +5942,7 @@

@@ -5959,6 +5961,7 @@

diff --git a/api/easybuild/tools/package/utilities/index.html b/api/easybuild/tools/package/utilities/index.html index 5930b2818..83c489706 100644 --- a/api/easybuild/tools/package/utilities/index.html +++ b/api/easybuild/tools/package/utilities/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5903,21 +5903,20 @@

utilities

- ActivePNS + ActivePNS

-

- Bases: BaseActivePNS

+

+ Bases: BaseActivePNS

The wrapper class for Package Naming Schemes.

-
@@ -5930,6 +5929,7 @@

+
@@ -5948,6 +5948,7 @@

@@ -5966,6 +5967,7 @@

@@ -5984,6 +5986,7 @@

@@ -6011,6 +6014,7 @@

@@ -6030,6 +6034,7 @@

@@ -6048,6 +6053,7 @@

@@ -6066,6 +6072,7 @@

+
diff --git a/api/easybuild/tools/parallelbuild/index.html b/api/easybuild/tools/parallelbuild/index.html index e31c3c52a..27603d1ce 100644 --- a/api/easybuild/tools/parallelbuild/index.html +++ b/api/easybuild/tools/parallelbuild/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5856,6 +5856,7 @@

parallelbuild

+
@@ -5874,11 +5875,13 @@

@@ -5951,11 +5955,13 @@

Creates a job to build a single easyconfig.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6010,6 +6016,7 @@

+
@@ -6024,11 +6031,13 @@

@@ -6063,11 +6073,13 @@

Submit jobs.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + diff --git a/api/easybuild/tools/py2vs3/index.html b/api/easybuild/tools/py2vs3/index.html index 6902ccb72..050251599 100644 --- a/api/easybuild/tools/py2vs3/index.html +++ b/api/easybuild/tools/py2vs3/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/py2vs3/py2/index.html b/api/easybuild/tools/py2vs3/py2/index.html index 28366ed5a..4f0a1d504 100644 --- a/api/easybuild/tools/py2vs3/py2/index.html +++ b/api/easybuild/tools/py2vs3/py2/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5883,6 +5883,7 @@

py2

+
@@ -5901,6 +5902,7 @@

+
@@ -5919,6 +5921,7 @@

+
@@ -5937,6 +5940,7 @@

+
@@ -5955,6 +5959,7 @@

+
@@ -5973,6 +5978,7 @@

@@ -5991,6 +5997,7 @@

+
@@ -6009,6 +6016,7 @@

diff --git a/api/easybuild/tools/py2vs3/py3/index.html b/api/easybuild/tools/py2vs3/py3/index.html index 93177b669..5f0db82cb 100644 --- a/api/easybuild/tools/py2vs3/py3/index.html +++ b/api/easybuild/tools/py2vs3/py3/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5883,6 +5883,7 @@

py3

+
@@ -5901,6 +5902,7 @@

+
@@ -5919,6 +5921,7 @@

+
@@ -5937,6 +5940,7 @@

+
@@ -5955,6 +5959,7 @@

+
@@ -5973,6 +5978,7 @@

@@ -5991,6 +5997,7 @@

+
@@ -6009,6 +6016,7 @@

diff --git a/api/easybuild/tools/repository/filerepo/index.html b/api/easybuild/tools/repository/filerepo/index.html index 0dfe5050b..716fb8714 100644 --- a/api/easybuild/tools/repository/filerepo/index.html +++ b/api/easybuild/tools/repository/filerepo/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5886,21 +5886,20 @@

filerepo

- FileRepository + FileRepository

-

- Bases: Repository

+

+ Bases: Repository

Class for file repositories.

-
@@ -5913,6 +5912,7 @@

@@ -5927,11 +5927,13 @@

Add easyconfig to repository

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -5988,6 +5990,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6012,6 +6016,7 @@

+
@@ -6026,11 +6031,13 @@

@@ -6099,6 +6109,7 @@

+
@@ -6117,6 +6128,7 @@

+
diff --git a/api/easybuild/tools/repository/gitrepo/index.html b/api/easybuild/tools/repository/gitrepo/index.html index ea2df6cb0..9c0ede486 100644 --- a/api/easybuild/tools/repository/gitrepo/index.html +++ b/api/easybuild/tools/repository/gitrepo/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5907,21 +5907,20 @@

gitrepo

- GitRepository + GitRepository

-

- Bases: FileRepository

+

+ Bases: FileRepository

Class for git repositories.

-
@@ -5934,6 +5933,7 @@

@@ -5953,6 +5953,7 @@

@@ -5967,11 +5968,13 @@

@@ -6066,11 +6072,13 @@

@@ -6139,6 +6150,7 @@

@@ -6157,6 +6169,7 @@

@@ -6175,6 +6188,7 @@

+
@@ -6193,6 +6207,7 @@

@@ -6207,11 +6222,13 @@

hgrepo

- HgRepository + HgRepository

-

- Bases: FileRepository

+

+ Bases: FileRepository

Class for hg repositories.

-
@@ -5935,6 +5934,7 @@

+
@@ -5954,6 +5954,7 @@

@@ -5968,11 +5969,13 @@

@@ -6067,11 +6073,13 @@

@@ -6140,6 +6151,7 @@

@@ -6158,6 +6170,7 @@

@@ -6176,6 +6189,7 @@

+
@@ -6194,6 +6208,7 @@

@@ -6208,11 +6223,13 @@

repository

- Repository + Repository

-

- Bases: object

+

+ Bases: object

Interface for repositories

-
@@ -5968,6 +5967,7 @@

@@ -5988,6 +5988,7 @@

@@ -6002,11 +6003,13 @@

@@ -6101,11 +6107,13 @@

@@ -6164,6 +6175,7 @@

@@ -6184,6 +6196,7 @@

@@ -6202,6 +6215,7 @@

+
@@ -6220,6 +6234,7 @@

@@ -6238,6 +6253,7 @@

@@ -6256,6 +6272,7 @@

@@ -6274,6 +6291,7 @@

@@ -6288,11 +6306,13 @@

@@ -6341,6 +6362,7 @@

diff --git a/api/easybuild/tools/repository/svnrepo/index.html b/api/easybuild/tools/repository/svnrepo/index.html index d1a286ebf..dbf9ddd18 100644 --- a/api/easybuild/tools/repository/svnrepo/index.html +++ b/api/easybuild/tools/repository/svnrepo/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5907,21 +5907,20 @@

svnrepo

- SvnRepository + SvnRepository

-

- Bases: FileRepository

+

+ Bases: FileRepository

Class for svn repositories

-
@@ -5934,6 +5933,7 @@

@@ -5952,6 +5952,7 @@

@@ -5966,11 +5967,13 @@

@@ -6065,11 +6071,13 @@

@@ -6138,6 +6149,7 @@

@@ -6156,6 +6168,7 @@

@@ -6174,6 +6187,7 @@

+
@@ -6192,6 +6206,7 @@

@@ -6206,11 +6221,13 @@

robot

+
@@ -5893,11 +5894,13 @@

Check for conflicts in dependency graphs for specified easyconfigs.

+ +

- + @@ -5938,6 +5941,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -5962,6 +5967,7 @@

+
@@ -5980,6 +5986,7 @@

+
@@ -5998,11 +6005,13 @@

* [F] for forced * [R] for rebuild

+ +

- + @@ -6047,6 +6056,7 @@

+
@@ -6065,6 +6075,7 @@

+
@@ -6083,6 +6094,7 @@

+
@@ -6097,11 +6109,13 @@

Work through the list of easyconfigs to determine an optimal order

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6160,6 +6174,7 @@

+
@@ -6174,11 +6189,13 @@

Search for easyconfigs, if a query is provided.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6279,6 +6296,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + diff --git a/api/easybuild/tools/run/index.html b/api/easybuild/tools/run/index.html index 58941d2b6..5603f181f 100644 --- a/api/easybuild/tools/run/index.html +++ b/api/easybuild/tools/run/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5900,6 +5900,7 @@

run

+
@@ -5915,11 +5916,13 @@

Check status of command that was started asynchronously.

:result: dict value with result of the check (boolean 'done', 'exit_code', 'output')

+ +

- + @@ -6022,6 +6025,7 @@

+
@@ -6036,11 +6040,13 @@

Check log_txt for messages matching regExps in order and do appropriate action

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6071,6 +6077,7 @@

+
@@ -6085,11 +6092,13 @@

Complete running of command represented by passed subprocess.Popen instance.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6234,6 +6243,7 @@

+
@@ -6249,11 +6259,13 @@

Check provided string (command output) for messages matching specified regular expressions, and return 2-tuple with list of warnings and errors.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6280,6 +6292,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6304,6 +6318,7 @@

+
@@ -6318,11 +6333,13 @@

Get output from running process (that was opened with subprocess.Popen).

+ +

- + @@ -6371,6 +6388,7 @@

+
@@ -6385,11 +6403,13 @@

Parse command output and construct return value.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6470,6 +6490,7 @@

+
@@ -6491,6 +6512,7 @@

+
@@ -6505,11 +6527,13 @@

Run specified command (in a subshell)

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6712,6 +6736,7 @@

+
@@ -6730,6 +6755,7 @@

+
@@ -6744,11 +6770,13 @@

Run specified interactive command (in a subshell)

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + diff --git a/api/easybuild/tools/systemtools/index.html b/api/easybuild/tools/systemtools/index.html index 0632a6316..02f9b07da 100644 --- a/api/easybuild/tools/systemtools/index.html +++ b/api/easybuild/tools/systemtools/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6081,26 +6081,26 @@

systemtools

- SystemToolsException + SystemToolsException

-

- Bases: Exception

+

+ Bases: Exception

raised when systemtools fails

-
+
@@ -6119,6 +6119,7 @@

@@ -6141,6 +6142,7 @@

@@ -6159,6 +6161,7 @@

+
@@ -6177,6 +6180,7 @@

@@ -6196,6 +6200,7 @@

+
@@ -6214,6 +6219,7 @@

+
@@ -6228,6 +6234,8 @@

Determine the current size of the terminal window.

+ +

PARAMETERDESCRIPTION DESCRIPTION
@@ -6252,6 +6260,7 @@

+
@@ -6267,11 +6276,13 @@

Search library by file name in the system Return absolute path to existing libraries

+ +

- + @@ -6292,6 +6303,7 @@

+
@@ -6310,6 +6322,7 @@

@@ -6328,6 +6341,7 @@

+
@@ -6346,6 +6360,7 @@

+
@@ -6360,6 +6375,8 @@

@@ -6398,6 +6416,8 @@

Determine CPU family.

+ +

PARAMETERDESCRIPTION DESCRIPTION
@@ -6422,6 +6442,7 @@

+
@@ -6440,6 +6461,7 @@

+
@@ -6458,6 +6480,7 @@

+
@@ -6477,6 +6500,7 @@

+
@@ -6491,6 +6515,8 @@

Try to detect the CPU vendor

+ +

@@ -6515,6 +6541,7 @@

+
@@ -6533,6 +6560,7 @@

+
@@ -6551,6 +6579,7 @@

+
@@ -6569,6 +6598,7 @@

+
@@ -6587,6 +6617,7 @@

+
@@ -6606,6 +6637,7 @@

+
@@ -6625,6 +6657,7 @@

+
@@ -6643,6 +6676,7 @@

+
@@ -6661,6 +6695,7 @@

+
@@ -6680,6 +6715,7 @@

+
@@ -6699,6 +6735,7 @@

+
@@ -6717,6 +6754,7 @@

+
@@ -6736,6 +6774,7 @@

+
@@ -6750,6 +6789,8 @@

Try to ascertain this node's total memory

+ +

@@ -6774,6 +6815,7 @@

+
@@ -6789,11 +6831,13 @@

Return absolute path to loaded library using dlinfo Based on https://stackoverflow.com/a/35683698

+ +

- + @@ -6814,6 +6858,7 @@

+
@@ -6836,6 +6881,7 @@

+
@@ -6850,11 +6896,13 @@

@@ -6917,6 +6966,7 @@

+
diff --git a/api/easybuild/tools/testing/index.html b/api/easybuild/tools/testing/index.html index 78fe5729f..85941e69d 100644 --- a/api/easybuild/tools/testing/index.html +++ b/api/easybuild/tools/testing/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5871,6 +5871,7 @@

testing

+
@@ -5885,11 +5886,13 @@

Create test report for easyconfigs PR, in Markdown format.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -5986,6 +5989,7 @@

+
@@ -6000,11 +6004,13 @@

Upload/dump overall test report

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6079,6 +6085,7 @@

+
@@ -6097,6 +6104,7 @@

+
@@ -6111,11 +6119,13 @@

Run regression test, using easyconfigs available in given path

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6160,6 +6170,7 @@

+
@@ -6178,6 +6189,7 @@

+
diff --git a/api/easybuild/tools/toolchain/compiler/index.html b/api/easybuild/tools/toolchain/compiler/index.html index a3a5e81c8..91b838491 100644 --- a/api/easybuild/tools/toolchain/compiler/index.html +++ b/api/easybuild/tools/toolchain/compiler/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5880,22 +5880,21 @@

compiler

- Compiler + Compiler

-

- Bases: Toolchain

+

+ Bases: Toolchain

General compiler-like class can't be used without creating new class C(Compiler,Toolchain)

-
@@ -5908,6 +5907,7 @@

+
@@ -5926,6 +5926,7 @@

@@ -5945,6 +5946,7 @@

@@ -5963,6 +5965,7 @@

@@ -5990,6 +5993,7 @@

diff --git a/api/easybuild/tools/toolchain/constants/index.html b/api/easybuild/tools/toolchain/constants/index.html index 06e62a909..8def1a8f6 100644 --- a/api/easybuild/tools/toolchain/constants/index.html +++ b/api/easybuild/tools/toolchain/constants/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/toolchain/fft/index.html b/api/easybuild/tools/toolchain/fft/index.html index 8e441c72c..127c25a99 100644 --- a/api/easybuild/tools/toolchain/fft/index.html +++ b/api/easybuild/tools/toolchain/fft/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5851,22 +5851,21 @@

fft

- Fft + Fft

-

- Bases: Toolchain

+

+ Bases: Toolchain

General FFT-like class To provide FFT tools

-
@@ -5879,6 +5878,7 @@

+
diff --git a/api/easybuild/tools/toolchain/index.html b/api/easybuild/tools/toolchain/index.html index 6a69e6347..fe63ff9a5 100644 --- a/api/easybuild/tools/toolchain/index.html +++ b/api/easybuild/tools/toolchain/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/api/easybuild/tools/toolchain/linalg/index.html b/api/easybuild/tools/toolchain/linalg/index.html index 24cf1f8ad..646e077ed 100644 --- a/api/easybuild/tools/toolchain/linalg/index.html +++ b/api/easybuild/tools/toolchain/linalg/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5865,15 +5865,15 @@

linalg

- LinAlg + LinAlg

-

- Bases: Toolchain

+

+ Bases: Toolchain

General LinearAlgebra-like class @@ -5881,7 +5881,6 @@

To provide the BLAS/LAPACK/ScaLAPACK tools

-
@@ -5894,6 +5893,7 @@

+
@@ -5912,6 +5912,7 @@

@@ -5930,6 +5931,7 @@

diff --git a/api/easybuild/tools/toolchain/mpi/index.html b/api/easybuild/tools/toolchain/mpi/index.html index 541f231d7..24b782e28 100644 --- a/api/easybuild/tools/toolchain/mpi/index.html +++ b/api/easybuild/tools/toolchain/mpi/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5879,22 +5879,21 @@

mpi

- Mpi + Mpi

-

- Bases: Toolchain

+

+ Bases: Toolchain

General MPI-like class can't be used without creating new class M(Mpi)

-
@@ -5907,6 +5906,7 @@

+
@@ -5925,6 +5925,7 @@

+
@@ -5943,6 +5944,7 @@

@@ -5961,6 +5963,7 @@

+
@@ -5988,6 +5991,7 @@

+
@@ -6002,11 +6006,13 @@

options

- ToolchainOptions + ToolchainOptions

-

- Bases: dict

- +

+ Bases: dict

@@ -5888,6 +5887,7 @@

@@ -5908,6 +5908,7 @@

diff --git a/api/easybuild/tools/toolchain/toolchain/index.html b/api/easybuild/tools/toolchain/toolchain/index.html index c7472cf7d..88e77a912 100644 --- a/api/easybuild/tools/toolchain/toolchain/index.html +++ b/api/easybuild/tools/toolchain/toolchain/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6151,21 +6151,20 @@

Toolchain te

- Toolchain + Toolchain

-

- Bases: object

+

+ Bases: object

General toolchain class

-
@@ -6178,6 +6177,7 @@

+
@@ -6192,11 +6192,13 @@

@@ -6325,6 +6328,7 @@

@@ -6343,6 +6347,7 @@

@@ -6362,6 +6367,7 @@

+
@@ -6380,6 +6386,7 @@

@@ -6398,6 +6405,7 @@

@@ -6416,6 +6424,7 @@

@@ -6430,11 +6439,13 @@

Determine list of relevant compilers for specified compiler caching tool.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6451,6 +6462,8 @@

PARAMETERDESCRIPTION DESCRIPTION
+ + @@ -6475,6 +6488,7 @@

+
@@ -6493,6 +6507,7 @@

@@ -6511,6 +6526,7 @@

@@ -6529,6 +6545,7 @@

@@ -6547,6 +6564,7 @@

+
@@ -6565,6 +6583,7 @@

@@ -6583,6 +6602,7 @@

+
@@ -6601,6 +6621,7 @@

@@ -6619,6 +6640,7 @@

@@ -6637,6 +6659,7 @@

+
@@ -6656,6 +6679,7 @@

@@ -6677,6 +6701,7 @@

@@ -6695,6 +6720,7 @@

@@ -6713,6 +6739,7 @@

@@ -6731,6 +6758,7 @@

@@ -6753,6 +6781,7 @@

@@ -6771,6 +6800,7 @@

+
@@ -6789,6 +6819,7 @@

@@ -6807,6 +6838,7 @@

@@ -6823,11 +6855,13 @@

@@ -6936,11 +6971,13 @@

Prepare for using specified compiler caching tool (e.g., ccache, f90cache)

+ +

- + @@ -6961,6 +6998,7 @@

+
@@ -6975,11 +7013,13 @@

Put RPATH wrapper script in place for compiler and linker commands

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -7004,6 +7044,7 @@

+
@@ -7023,6 +7064,7 @@

@@ -7041,6 +7083,7 @@

@@ -7059,6 +7102,7 @@

+
@@ -7077,6 +7121,7 @@

@@ -7096,6 +7141,7 @@

@@ -7114,6 +7160,7 @@

@@ -7128,11 +7175,13 @@

@@ -7198,6 +7249,7 @@

@@ -7217,6 +7269,7 @@

diff --git a/api/easybuild/tools/toolchain/toolchainvariables/index.html b/api/easybuild/tools/toolchain/toolchainvariables/index.html index 547b1bae3..4b3adb09a 100644 --- a/api/easybuild/tools/toolchain/toolchainvariables/index.html +++ b/api/easybuild/tools/toolchain/toolchainvariables/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5851,22 +5851,21 @@

toolchainvariables

- ToolchainVariables + ToolchainVariables

-

- Bases: Variables

+

+ Bases: Variables

Class to hold variable-like key/value pairs in context of compilers (i.e. the generated string are e.g. compiler options or link flags)

-
@@ -5879,6 +5878,7 @@

diff --git a/api/easybuild/tools/toolchain/utilities/index.html b/api/easybuild/tools/toolchain/utilities/index.html index a71c7e314..eedc92ca9 100644 --- a/api/easybuild/tools/toolchain/utilities/index.html +++ b/api/easybuild/tools/toolchain/utilities/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5844,6 +5844,7 @@

utilities

+
@@ -5859,11 +5860,13 @@

@@ -5950,11 +5954,13 @@

- + @@ -25,7 +25,7 @@ - + @@ -5941,21 +5941,20 @@

variables

- CommaSharedLibs + CommaSharedLibs

-

- Bases: LibraryList

+

+ Bases: LibraryList

Comma-separated list of shared libraries

-
@@ -5981,21 +5980,20 @@

- CommaStaticLibs + CommaStaticLibs

-

- Bases: LibraryList

+

+ Bases: LibraryList

Comma-separated list of static libraries

-
@@ -6021,15 +6019,15 @@

- CommandFlagList + CommandFlagList

-

- Bases: FlagList

+

+ Bases: FlagList

Command and flags list @@ -6037,7 +6035,6 @@

@@ -6063,21 +6060,20 @@

- FlagList + FlagList

-

- Bases: StrList

+

+ Bases: StrList

Flag list

-
@@ -6103,21 +6099,20 @@

- IncludePaths + IncludePaths

-

- Bases: AbsPathList

+

+ Bases: AbsPathList

Absolute path to directory containing include files

-
@@ -6143,21 +6138,20 @@

- LibraryList + LibraryList

-

- Bases: StrList

+

+ Bases: StrList

Link library list

-
@@ -6170,6 +6164,7 @@

@@ -6188,6 +6183,7 @@

@@ -6219,21 +6215,20 @@

- LinkLibraryPaths + LinkLibraryPaths

-

- Bases: AbsPathList

+

+ Bases: AbsPathList

Absolute path to directory containing libraries

-
@@ -6259,21 +6254,20 @@

- LinkerFlagList + LinkerFlagList

-

- Bases: StrList

+

+ Bases: StrList

Linker flags

-
@@ -6286,6 +6280,7 @@

@@ -6304,6 +6299,7 @@

+
@@ -6322,6 +6318,7 @@

+
@@ -6340,6 +6337,7 @@

+
diff --git a/api/easybuild/tools/utilities/index.html b/api/easybuild/tools/utilities/index.html index 606f65626..8adb842c7 100644 --- a/api/easybuild/tools/utilities/index.html +++ b/api/easybuild/tools/utilities/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5936,6 +5936,7 @@

utilities

+
@@ -5954,6 +5955,7 @@

+
@@ -5968,11 +5970,13 @@

Get class for a given Python class name and Python module path.

+ +

PARAMETERDESCRIPTION DESCRIPTION
- + @@ -6003,6 +6007,7 @@

+
@@ -6021,6 +6026,7 @@

+
@@ -6039,6 +6045,7 @@

+
@@ -6053,11 +6060,13 @@

@@ -6096,6 +6106,7 @@

+
@@ -6114,6 +6125,7 @@

+
@@ -6132,6 +6144,7 @@

+
@@ -6153,6 +6166,8 @@

unique elements of a list.

@type list_: a list :-)

+ +

PARAMETERDESCRIPTION DESCRIPTION
@@ -6177,6 +6192,7 @@

+
@@ -6195,6 +6211,7 @@

@@ -6213,6 +6230,7 @@

+
@@ -6231,11 +6249,13 @@

foo becomes 'foo', foo'bar becomes "foo'bar", foo'bar"baz becomes """foo'bar"baz""", etc.

+ +

- + @@ -6302,6 +6322,7 @@

+
@@ -6321,6 +6342,7 @@

+
@@ -6340,6 +6362,7 @@

+
@@ -6358,6 +6381,7 @@

+
diff --git a/api/easybuild/tools/variables/index.html b/api/easybuild/tools/variables/index.html index 77f359cd8..9b72dee7a 100644 --- a/api/easybuild/tools/variables/index.html +++ b/api/easybuild/tools/variables/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -6078,21 +6078,20 @@

variables

- AbsPathList + AbsPathList

-

- Bases: StrList

+

+ Bases: StrList

Absolute paths (eg -L or -I)

-
@@ -6105,6 +6104,7 @@

+
@@ -6125,6 +6125,7 @@

@@ -6156,21 +6157,20 @@

- CommaList + CommaList

-

- Bases: StrList

+

+ Bases: StrList

Comma-separated list

-
@@ -6196,21 +6196,20 @@

- ListOfLists + ListOfLists

-

- Bases: list

+

+ Bases: list

List of lists

-
@@ -6223,6 +6222,7 @@

+
@@ -6241,6 +6241,7 @@

@@ -6259,6 +6260,7 @@

+
@@ -6278,6 +6280,7 @@

+
@@ -6297,6 +6300,7 @@

+
@@ -6316,6 +6320,7 @@

+
@@ -6334,6 +6339,7 @@

+
@@ -6352,6 +6358,7 @@

+
@@ -6371,6 +6378,7 @@

@@ -6389,6 +6397,7 @@

@@ -6420,21 +6429,20 @@

- StrList + StrList

-

- Bases: list

+

+ Bases: list

List of strings

-
@@ -6447,6 +6455,7 @@

+
@@ -6465,6 +6474,7 @@

@@ -6483,6 +6493,7 @@

+
@@ -6501,6 +6512,7 @@

+
@@ -6519,6 +6531,7 @@

+
@@ -6537,6 +6550,7 @@

+
@@ -6568,15 +6582,15 @@

- Variables + Variables

-

- Bases: dict

+

+ Bases: dict

Class to hold variable-like key/value pairs @@ -6589,7 +6603,6 @@

-
@@ -6602,6 +6615,7 @@

+
@@ -6620,6 +6634,7 @@

+
@@ -6638,6 +6653,7 @@

+
@@ -6656,6 +6672,7 @@

@@ -6674,6 +6691,7 @@

@@ -6692,6 +6710,7 @@

@@ -6712,6 +6731,7 @@

+
@@ -6739,6 +6759,7 @@

@@ -6760,6 +6781,7 @@

+
diff --git a/api/easybuild/tools/version/index.html b/api/easybuild/tools/version/index.html index f5713d748..f81d0a1a4 100644 --- a/api/easybuild/tools/version/index.html +++ b/api/easybuild/tools/version/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5842,6 +5842,7 @@

version

+
@@ -5862,6 +5863,7 @@

+
diff --git a/api/index.html b/api/index.html index 6e2ed4c3b..4909720f1 100644 --- a/api/index.html +++ b/api/index.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -5755,10 +5755,10 @@

API¶<

Warning

This page will soon replace https://docs.easybuild.io/en/latest/api.html.

-

+

** It still needs to be ported from reStructuredText (.rst) to MarkDown (.md),
and you can help with that! -

+**

  • source: docs/api.rst in easybuilders/easybuild repo
  • target: docs/api/index.md in easybuilders/easybuild-docs repo
  • diff --git a/api/summary/index.html b/api/summary/index.html index d2f0c0061..89891081b 100644 --- a/api/summary/index.html +++ b/api/summary/index.html @@ -11,7 +11,7 @@ - + @@ -19,7 +19,7 @@ - + diff --git a/archived-easyconfigs/index.html b/archived-easyconfigs/index.html index 016367578..caccff137 100644 --- a/archived-easyconfigs/index.html +++ b/archived-easyconfigs/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/assets/stylesheets/main.26e3688c.min.css b/assets/stylesheets/main.26e3688c.min.css deleted file mode 100644 index d6684d58a..000000000 --- a/assets/stylesheets/main.26e3688c.min.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-hl-color:#ffff0080;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-mark-color:#ffff0080;--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent)}.md-typeset a code{color:currentcolor;transition:background-color 125ms}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help;text-decoration:none}@media (hover:none){.md-typeset abbr[title]:focus:after,.md-typeset abbr[title]:hover:after{background-color:var(--md-default-fg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z3);color:var(--md-default-bg-color);content:attr(title);font-size:.7rem;left:.8rem;margin-top:2em;padding:.2rem .3rem;position:absolute;right:.8rem}}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.9375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.9375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;position:absolute;right:.5em;top:.5em;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.9375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{align-content:baseline;display:flex;flex-wrap:wrap;justify-content:center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.9375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.1875em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem}[dir=rtl] .md-header__title{margin-right:1rem}[dir=ltr] .md-header__title{margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__item{padding:0 .6rem}[dir=ltr] .md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-left:0}.md-nav__link{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-top:.625em;overflow:hidden;scroll-snap-align:start;text-overflow:ellipsis;transition:color 125ms}.md-nav__link--passed{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active{color:var(--md-typeset-a-color)}.md-nav__item .md-nav__link--index [href]{width:100%}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link>*{cursor:pointer;display:flex}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.1875em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest);padding:0}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.9375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width:76.25em){.md-nav{transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon,.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav,.md-nav__toggle:indeterminate~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700;pointer-events:none}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link--index [href]{pointer-events:auto}.md-nav__item--section>.md-nav__link .md-nav__icon{display:none}.md-nav__item--section>.md-nav{display:block}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-nav__toggle:indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__list>.md-nav__item--nested,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);font-weight:700;margin-top:0;padding:0 .6rem;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__link--index){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link .md-nav__icon{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{display:block}[dir=ltr] .md-nav--lifted .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-right:.6rem}[dir=rtl] .md-nav--lifted .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-left:.6rem}.md-nav--integrated>.md-nav__list>.md-nav__item--active:not(.md-nav__item--nested){padding:0 .6rem}.md-nav--integrated>.md-nav__list>.md-nav__item--active:not(.md-nav__item--nested)>.md-nav__link{padding:0}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.9375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.9375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.9375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.9375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.9375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.9375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.9375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.1875em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{scrollbar-gutter:stable;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.1875em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.1875em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{display:inline-block;height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link--active,.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-tags{margin-bottom:.75em;margin-top:-.125em}[dir=ltr] .md-typeset .md-tag{margin-right:.5em}[dir=rtl] .md-typeset .md-tag{margin-left:.5em}.md-typeset .md-tag{background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:normal;line-height:1.6;margin-bottom:.5em;padding:.3125em .9375em;vertical-align:middle}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;margin-right:.4em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--md-default-fg-color--lightest);transform:scale(.95)}75%{box-shadow:0 0 0 .625em #0000;transform:scale(1)}to{box-shadow:0 0 0 0 #0000;transform:scale(.95)}}:root{--md-tooltip-width:20rem}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-weight:400;outline:none;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}.md-annotation:not([hidden]){display:inline-block;line-height:1.325}.md-annotation__index{cursor:pointer;font-family:var(--md-code-font-family);font-size:.85em;margin:0 1ch;outline:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.md-annotation .md-annotation__index{color:#fff;transition:z-index .25s}.md-annotation .md-annotation__index:focus,.md-annotation .md-annotation__index:hover{color:#fff}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);border-radius:2ch;content:"";height:2.2ch;left:-.125em;margin:0 -.4ch;padding:0 .4ch;position:absolute;top:0;transition:color .25s,background-color .25s;width:calc(100% + 1.2ch);width:max(2.2ch,100% + 1.2ch);z-index:-1}@media not all and (prefers-reduced-motion){[data-md-visible]>.md-annotation__index:after{animation:pulse 2s infinite}}.md-tooltip--active+.md-annotation__index:after{animation:none;transition:color .25s,background-color .25s}code .md-annotation__index{font-family:var(--md-code-font-family);font-size:inherit}.md-tooltip--active+.md-annotation__index,:hover>.md-annotation__index{color:var(--md-accent-bg-color)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}.md-tooltip--active+.md-annotation__index{animation:none;transition:none;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block;line-height:90%}.md-annotation__index [data-md-annotation-id]:before{content:attr(data-md-annotation-id);display:inline-block;padding-bottom:.1em;transform:scale(1.15);transition:transform .4s cubic-bezier(.1,.7,.1,1);vertical-align:.065em}@media not print{.md-annotation__index [data-md-annotation-id]:before{content:"+"}:focus-within>.md-annotation__index [data-md-annotation-id]:before{transform:scale(1.25) rotate(45deg)}}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.05rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.9375em){.md-typeset div.arithmatex{margin:0 -.8rem}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto;width:-webkit-min-content;width:min-content}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{display:inline-flex;height:1.125em;vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:1.125em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color);display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;padding-right:.5882352941em}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.9375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-accent-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-accent-fg-color)}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.9375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-accent-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){background-color:var(--md-accent-fg-color--transparent)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color)}.mermaid{line-height:normal;margin:1em 0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}} \ No newline at end of file diff --git a/assets/stylesheets/main.eebd395e.min.css b/assets/stylesheets/main.eebd395e.min.css new file mode 100644 index 000000000..eb7ce640f --- /dev/null +++ b/assets/stylesheets/main.eebd395e.min.css @@ -0,0 +1 @@ +@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-hl-color:#ffff0080;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-mark-color:#ffff0080;--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent)}.md-typeset a code{color:currentcolor;transition:background-color 125ms}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help;text-decoration:none}@media (hover:none){.md-typeset abbr[title]:focus:after,.md-typeset abbr[title]:hover:after{background-color:var(--md-default-fg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z3);color:var(--md-default-bg-color);content:attr(title);font-size:.7rem;left:.8rem;margin-top:2em;padding:.2rem .3rem;position:absolute;right:.8rem}}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.9375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.9375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;position:absolute;right:.5em;top:.5em;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.9375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{align-content:baseline;display:flex;flex-wrap:wrap;justify-content:center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.9375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.1875em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem}[dir=rtl] .md-header__title{margin-right:1rem}[dir=ltr] .md-header__title{margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__item{padding:0 .6rem}[dir=ltr] .md-nav__item .md-nav__item{padding-right:0}[dir=rtl] .md-nav__item .md-nav__item{padding-left:0}.md-nav__link{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-top:.625em;overflow:hidden;scroll-snap-align:start;text-overflow:ellipsis;transition:color 125ms}.md-nav__link--passed{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active{color:var(--md-typeset-a-color)}.md-nav__item .md-nav__link--index [href]{width:100%}.md-nav__link:focus,.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__link>*{cursor:pointer;display:flex}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.1875em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest);padding:0}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.9375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}}@media screen and (min-width:76.25em){.md-nav{transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon,.md-nav__toggle~.md-nav{display:none}.md-nav__toggle:checked~.md-nav,.md-nav__toggle:indeterminate~.md-nav{display:block}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700;pointer-events:none}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link--index [href]{pointer-events:auto}.md-nav__item--section>.md-nav__link .md-nav__icon{display:none}.md-nav__item--section>.md-nav{display:block}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-nav__toggle:indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__list>.md-nav__item--nested,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block;padding:0}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);font-weight:700;margin-top:0;padding:0 .6rem;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__link--index){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link .md-nav__icon{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{display:block}[dir=ltr] .md-nav--lifted .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-right:.6rem}[dir=rtl] .md-nav--lifted .md-nav[data-md-level="1"]>.md-nav__list>.md-nav__item{padding-left:.6rem}.md-nav--integrated>.md-nav__list>.md-nav__item--active:not(.md-nav__item--nested){padding:0 .6rem}.md-nav--integrated>.md-nav__list>.md-nav__item--active:not(.md-nav__item--nested)>.md-nav__link{padding:0}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.9375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.9375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.9375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.1875em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.9375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.9375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.9375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.9375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.1875em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.9375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.1875em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{scrollbar-gutter:stable;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.1875em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.1875em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{display:inline-block;height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link--active,.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-tags{margin-bottom:.75em;margin-top:-.125em}[dir=ltr] .md-typeset .md-tag{margin-right:.5em}[dir=rtl] .md-typeset .md-tag{margin-left:.5em}.md-typeset .md-tag{background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:normal;line-height:1.6;margin-bottom:.5em;padding:.3125em .9375em;vertical-align:middle}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;margin-right:.4em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--md-default-fg-color--lightest);transform:scale(.95)}75%{box-shadow:0 0 0 .625em #0000;transform:scale(1)}to{box-shadow:0 0 0 0 #0000;transform:scale(.95)}}:root{--md-tooltip-width:20rem}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-weight:400;outline:none;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}.md-annotation:not([hidden]){display:inline-block;line-height:1.325}.md-annotation__index{cursor:pointer;font-family:var(--md-code-font-family);font-size:.85em;margin:0 1ch;outline:none;position:relative;-webkit-user-select:none;user-select:none;z-index:0}.md-annotation .md-annotation__index{color:#fff;transition:z-index .25s}.md-annotation .md-annotation__index:focus,.md-annotation .md-annotation__index:hover{color:#fff}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);border-radius:2ch;content:"";height:2.2ch;left:-.125em;margin:0 -.4ch;padding:0 .4ch;position:absolute;top:0;transition:color .25s,background-color .25s;width:calc(100% + 1.2ch);width:max(2.2ch,100% + 1.2ch);z-index:-1}@media not all and (prefers-reduced-motion){[data-md-visible]>.md-annotation__index:after{animation:pulse 2s infinite}}.md-tooltip--active+.md-annotation__index:after{animation:none;transition:color .25s,background-color .25s}code .md-annotation__index{font-family:var(--md-code-font-family);font-size:inherit}.md-tooltip--active+.md-annotation__index,:hover>.md-annotation__index{color:var(--md-accent-bg-color)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}.md-tooltip--active+.md-annotation__index{animation:none;transition:none;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block;line-height:90%}.md-annotation__index [data-md-annotation-id]:before{content:attr(data-md-annotation-id);display:inline-block;padding-bottom:.1em;transform:scale(1.15);transition:transform .4s cubic-bezier(.1,.7,.1,1);vertical-align:.065em}@media not print{.md-annotation__index [data-md-annotation-id]:before{content:"+"}:focus-within>.md-annotation__index [data-md-annotation-id]:before{transform:scale(1.25) rotate(45deg)}}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.05rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.9375em){.md-typeset div.arithmatex{margin:0 -.8rem}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto;width:-webkit-min-content;width:min-content}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{display:inline-flex;height:1.125em;vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:1.125em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color);display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;padding-right:.5882352941em}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.9375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-accent-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-accent-fg-color)}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.9375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-accent-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){background-color:var(--md-accent-fg-color--transparent)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color)}.mermaid{line-height:normal;margin:1em 0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}} \ No newline at end of file diff --git a/assets/stylesheets/main.26e3688c.min.css.map b/assets/stylesheets/main.eebd395e.min.css.map similarity index 51% rename from assets/stylesheets/main.26e3688c.min.css.map rename to assets/stylesheets/main.eebd395e.min.css.map index 2e5e7a7a4..231356ef0 100644 --- a/assets/stylesheets/main.26e3688c.min.css.map +++ b/assets/stylesheets/main.eebd395e.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["src/assets/stylesheets/main/extensions/pymdownx/_keys.scss","../../../src/assets/stylesheets/main.scss","src/assets/stylesheets/main/_resets.scss","src/assets/stylesheets/main/_colors.scss","src/assets/stylesheets/main/_icons.scss","src/assets/stylesheets/main/_typeset.scss","src/assets/stylesheets/utilities/_break.scss","src/assets/stylesheets/main/components/_banner.scss","src/assets/stylesheets/main/components/_base.scss","src/assets/stylesheets/main/components/_clipboard.scss","src/assets/stylesheets/main/components/_consent.scss","src/assets/stylesheets/main/components/_content.scss","src/assets/stylesheets/main/components/_dialog.scss","src/assets/stylesheets/main/components/_feedback.scss","src/assets/stylesheets/main/components/_footer.scss","src/assets/stylesheets/main/components/_form.scss","src/assets/stylesheets/main/components/_header.scss","src/assets/stylesheets/main/components/_nav.scss","src/assets/stylesheets/main/components/_search.scss","src/assets/stylesheets/main/components/_select.scss","src/assets/stylesheets/main/components/_sidebar.scss","src/assets/stylesheets/main/components/_source.scss","src/assets/stylesheets/main/components/_tabs.scss","src/assets/stylesheets/main/components/_tag.scss","src/assets/stylesheets/main/components/_tooltip.scss","src/assets/stylesheets/main/components/_top.scss","src/assets/stylesheets/main/components/_version.scss","src/assets/stylesheets/main/extensions/markdown/_admonition.scss","node_modules/material-design-color/material-color.scss","src/assets/stylesheets/main/extensions/markdown/_footnotes.scss","src/assets/stylesheets/main/extensions/markdown/_toc.scss","src/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","src/assets/stylesheets/main/extensions/pymdownx/_critic.scss","src/assets/stylesheets/main/extensions/pymdownx/_details.scss","src/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","src/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","src/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss","src/assets/stylesheets/main/integrations/_mermaid.scss","src/assets/stylesheets/main/_modifiers.scss"],"names":[],"mappings":"AAgGM,gBCk+GN,CCtiHA,KAEE,6BAAA,CAAA,0BAAA,CAAA,qBAAA,CADA,qBDzBF,CC8BA,iBAGE,kBD3BF,CC8BE,gCANF,iBAOI,yBDzBF,CACF,CC6BA,KACE,QD1BF,CC8BA,qBAIE,uCD3BF,CC+BA,EACE,aAAA,CACA,oBD5BF,CCgCA,GAME,QAAA,CALA,kBAAA,CACA,aAAA,CACA,aAAA,CAEA,gBAAA,CADA,SD3BF,CCiCA,MACE,aD9BF,CCkCA,QAEE,eD/BF,CCmCA,IACE,iBDhCF,CCoCA,MAEE,uBAAA,CADA,gBDhCF,CCqCA,MAEE,eAAA,CACA,kBDlCF,CCsCA,OAKE,gBAAA,CACA,QAAA,CAHA,mBAAA,CACA,iBAAA,CAFA,QAAA,CADA,SD9BF,CCuCA,MACE,QAAA,CACA,YDpCF,CErDA,MAIE,6BAAA,CACA,oCAAA,CACA,mCAAA,CACA,0BAAA,CACA,sCAAA,CAGA,4BAAA,CACA,2CAAA,CACA,yBAAA,CACA,qCFmDF,CE7CA,+BAIE,kBF6CF,CE1CE,oHAEE,YF4CJ,CEnCA,qCAGE,+BAAA,CACA,sCAAA,CACA,wCAAA,CACA,yCAAA,CACA,0BAAA,CACA,sCAAA,CACA,wCAAA,CACA,yCAAA,CAGA,0BAAA,CACA,0BAAA,CAGA,4BAAA,CACA,iCAAA,CACA,kCAAA,CACA,mCAAA,CACA,mCAAA,CACA,kCAAA,CACA,iCAAA,CACA,+CAAA,CACA,6DAAA,CACA,gEAAA,CACA,4DAAA,CACA,4DAAA,CACA,6DAAA,CAGA,6CAAA,CAGA,+CAAA,CAGA,iCAAA,CAGA,gCAAA,CACA,gCAAA,CAGA,8BAAA,CACA,kCAAA,CACA,qCAAA,CAGA,kCAAA,CACA,gDAAA,CAGA,mDAAA,CACA,mDAAA,CAGA,+BAAA,CACA,0BAAA,CAGA,yBAAA,CACA,qCAAA,CACA,uCAAA,CACA,8BAAA,CACA,oCAAA,CAGA,8DAAA,CAKA,8DAAA,CAKA,0DFUF,CG5HE,aAIE,iBAAA,CAHA,aAAA,CAEA,aAAA,CADA,YHiIJ,CItIA,KACE,kCAAA,CACA,iCAAA,CAGA,uGAAA,CAKA,mFJuIF,CIjIA,iBAIE,mCAAA,CACA,6BAAA,CAFA,sCJsIF,CIhIA,aAIE,4BAAA,CADA,sCJoIF,CI3HA,MACE,0NAAA,CACA,mNAAA,CACA,oNJ8HF,CIvHA,YAGE,gCAAA,CAAA,kBAAA,CAFA,eAAA,CACA,eJ2HF,CItHE,aAPF,YAQI,gBJyHF,CACF,CItHE,uGAME,iBAAA,CAAA,cJwHJ,CIpHE,eAKE,uCAAA,CAHA,aAAA,CAEA,eAAA,CAHA,iBJ2HJ,CIlHE,8BAPE,eAAA,CAGA,qBJ6HJ,CIzHE,eAEE,kBAAA,CAEA,eAAA,CAHA,oBJwHJ,CIhHE,eAEE,gBAAA,CACA,eAAA,CAEA,qBAAA,CADA,eAAA,CAHA,mBJsHJ,CI9GE,kBACE,eJgHJ,CI5GE,eAEE,eAAA,CACA,qBAAA,CAFA,YJgHJ,CI1GE,8BAKE,uCAAA,CAFA,cAAA,CACA,eAAA,CAEA,qBAAA,CAJA,eJgHJ,CIxGE,eACE,wBJ0GJ,CItGE,eAGE,+DAAA,CAFA,iBAAA,CACA,cJyGJ,CIpGE,cACE,+BAAA,CACA,qBJsGJ,CInGI,mCAEE,sBJoGN,CIhGI,wCACE,+BJkGN,CI/FM,kDACE,uDJiGR,CI5FI,mBACE,kBAAA,CACA,iCJ8FN,CI1FI,4BACE,uCAAA,CACA,oBJ4FN,CIvFE,iDAIE,6BAAA,CACA,aAAA,CAFA,2BJ2FJ,CItFI,aARF,iDASI,oBJ2FJ,CACF,CIvFE,iBAIE,wCAAA,CACA,mBAAA,CACA,kCAAA,CAAA,0BAAA,CAJA,eAAA,CADA,uBAAA,CAEA,qBJ4FJ,CItFI,qCAEE,uCAAA,CADA,YJyFN,CInFE,gBAEE,iBAAA,CACA,eAAA,CAFA,iBJuFJ,CIlFI,qBASE,kCAAA,CAAA,0BAAA,CADA,eAAA,CAPA,aAAA,CAEA,QAAA,CAIA,uCAAA,CAHA,aAAA,CAFA,oCAAA,CASA,yDAAA,CADA,oBAAA,CAJA,iBAAA,CADA,iBJ0FN,CIjFM,2BACE,+CJmFR,CI/EM,wCAEE,YAAA,CADA,WJkFR,CI7EM,8CACE,oDJ+ER,CI5EQ,oDACE,0CJ8EV,CIvEE,gBAOE,4CAAA,CACA,mBAAA,CACA,mKACE,CANF,gCAAA,CAHA,oBAAA,CAEA,eAAA,CADA,uBAAA,CAIA,uBAAA,CADA,qBJ6EJ,CIlEE,iBAGE,6CAAA,CACA,kCAAA,CAAA,0BAAA,CAHA,aAAA,CACA,qBJsEJ,CIhEE,iBAGE,6DAAA,CADA,WAAA,CADA,oBJoEJ,CI/DI,oBAGE,wEAQE,2CAAA,CACA,mBAAA,CACA,8BAAA,CAJA,gCAAA,CACA,mBAAA,CAFA,eAAA,CAHA,UAAA,CAEA,cAAA,CADA,mBAAA,CAFA,iBAAA,CACA,WJuEN,CACF,CI1DE,kBACE,WJ4DJ,CIxDE,oDAEE,qBJ0DJ,CI5DE,oDAEE,sBJ0DJ,CItDE,iCACE,kBJ2DJ,CI5DE,iCACE,mBJ2DJ,CI5DE,iCAIE,2DJwDJ,CI5DE,iCAIE,4DJwDJ,CI5DE,uBAGE,uCAAA,CADA,aAAA,CAAA,cJ0DJ,CIpDE,eACE,oBJsDJ,CIlDE,kDAGE,kBJoDJ,CIvDE,kDAGE,mBJoDJ,CIvDE,8BAEE,SJqDJ,CIjDI,0DACE,iBJoDN,CIhDI,oCACE,2BJmDN,CIhDM,0CACE,2BJmDR,CI9CI,wDACE,kBJkDN,CInDI,wDACE,mBJkDN,CInDI,oCAEE,kBJiDN,CI9CM,kGAEE,aJkDR,CI9CM,0DACE,eJiDR,CI7CM,4HAEE,kBJgDR,CIlDM,4HAEE,mBJgDR,CIlDM,oFACE,kBAAA,CAAA,eJiDR,CI1CE,yBAEE,mBJ4CJ,CI9CE,yBAEE,oBJ4CJ,CI9CE,eACE,mBAAA,CAAA,cJ6CJ,CIxCE,kDAIE,WAAA,CADA,cJ2CJ,CInCI,4BAEE,oBJqCN,CIjCI,6BAEE,oBJmCN,CI/BI,kCACE,YJiCN,CI5BE,mBACE,iBAAA,CAGA,eAAA,CADA,cAAA,CAEA,iBAAA,CAHA,yBAAA,CAAA,sBAAA,CAAA,iBJiCJ,CI3BI,uBACE,aJ6BN,CIxBE,uBAGE,iBAAA,CADA,eAAA,CADA,eJ4BJ,CItBE,mBACE,cJwBJ,CIpBE,+BAME,2CAAA,CACA,iDAAA,CACA,mBAAA,CAPA,oBAAA,CAGA,gBAAA,CAFA,cAAA,CACA,aAAA,CAEA,iBJyBJ,CInBI,aAXF,+BAYI,aJsBJ,CACF,CIjBI,iCACE,gBJmBN,CIZM,8FACE,YJcR,CIVM,4FACE,eJYR,CIPI,8FACE,eJSN,CINM,kHACE,gBJQR,CIHI,kCAGE,eAAA,CAFA,cAAA,CACA,sBAAA,CAEA,kBJKN,CIDI,kCAGE,qDAAA,CAFA,sBAAA,CACA,kBJIN,CICI,wCACE,iCJCN,CIEM,8CACE,qDAAA,CACA,sDJAR,CIKI,iCACE,iBJHN,CIQE,wCACE,cJNJ,CISI,wDAIE,gBJDN,CIHI,wDAIE,iBJDN,CIHI,8CAME,UAAA,CALA,oBAAA,CAEA,YAAA,CAKA,oDAAA,CAAA,4CAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAHA,iCAAA,CAFA,0BAAA,CAHA,WJCN,CIWI,oDACE,oDJTN,CIaI,mEACE,kDAAA,CACA,yDAAA,CAAA,iDJXN,CIeI,oEACE,kDAAA,CACA,0DAAA,CAAA,kDJbN,CIkBE,wBACE,iBAAA,CACA,eAAA,CACA,iBJhBJ,CIoBE,mBACE,oBAAA,CAEA,kBAAA,CADA,eJjBJ,CIqBI,aANF,mBAOI,aJlBJ,CACF,CIqBI,8BACE,aAAA,CAEA,QAAA,CACA,eAAA,CAFA,UJjBN,CK9VI,wCD8XF,uBACE,iBJ5BF,CI+BE,4BACE,eJ7BJ,CACF,CMhiBA,WAGE,0CAAA,CADA,+BAAA,CADA,aNoiBF,CM/hBE,aANF,WAOI,YNkiBF,CACF,CM/hBE,oBAEE,2CAAA,CADA,gCNkiBJ,CM7hBE,kBAGE,eAAA,CADA,iBAAA,CADA,eNiiBJ,CM3hBE,6BACE,WNgiBJ,CMjiBE,6BACE,UNgiBJ,CMjiBE,mBAEE,aAAA,CACA,cAAA,CACA,uBN6hBJ,CM1hBI,yBACE,UN4hBN,CO5jBA,KASE,cAAA,CARA,WAAA,CACA,iBPgkBF,CK5ZI,oCEtKJ,KAaI,gBPyjBF,CACF,CKjaI,oCEtKJ,KAkBI,cPyjBF,CACF,COpjBA,KASE,2CAAA,CAPA,YAAA,CACA,qBAAA,CAKA,eAAA,CAHA,eAAA,CAJA,iBAAA,CAGA,UP0jBF,COljBE,aAZF,KAaI,aPqjBF,CACF,CKlaI,wCEhJF,yBAII,cPkjBJ,CACF,COziBA,SAEE,gBAAA,CAAA,iBAAA,CADA,eP6iBF,COxiBA,cACE,YAAA,CACA,qBAAA,CACA,WP2iBF,COxiBE,aANF,cAOI,aP2iBF,CACF,COviBA,SACE,WP0iBF,COviBE,gBACE,YAAA,CACA,WAAA,CACA,iBPyiBJ,COpiBA,aACE,eAAA,CACA,sBPuiBF,CO9hBA,WACE,YPiiBF,CO5hBA,WAGE,QAAA,CACA,SAAA,CAHA,iBAAA,CACA,OPiiBF,CO5hBE,uCACE,aP8hBJ,CO1hBE,+BAEE,uCAAA,CADA,kBP6hBJ,COvhBA,SASE,2CAAA,CACA,mBAAA,CAFA,gCAAA,CADA,gBAAA,CADA,YAAA,CAMA,SAAA,CADA,uCAAA,CANA,mBAAA,CAJA,cAAA,CAYA,2BAAA,CATA,UPiiBF,COrhBE,eAEE,SAAA,CAIA,uBAAA,CAHA,oEACE,CAHF,UP0hBJ,CO5gBA,MACE,WP+gBF,CQxqBA,MACE,+PR0qBF,CQpqBA,cASE,mBAAA,CAFA,0CAAA,CACA,cAAA,CAFA,YAAA,CAIA,uCAAA,CACA,oBAAA,CAVA,iBAAA,CAEA,UAAA,CADA,QAAA,CAUA,qBAAA,CAPA,WAAA,CADA,SR+qBF,CQpqBE,aAfF,cAgBI,YRuqBF,CACF,CQpqBE,kCAEE,uCAAA,CADA,YRuqBJ,CQlqBE,qBACE,uCRoqBJ,CQhqBE,wCACE,+BRkqBJ,CQ7pBE,oBAME,6BAAA,CADA,UAAA,CAJA,aAAA,CAEA,cAAA,CACA,aAAA,CAGA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CARA,aRuqBJ,CQ3pBE,sBACE,cR6pBJ,CQ1pBI,2BACE,2CR4pBN,CQtpBI,kEAEE,uDAAA,CADA,+BRypBN,CS/tBA,mBACE,GACE,SAAA,CACA,0BTkuBF,CS/tBA,GACE,SAAA,CACA,uBTiuBF,CACF,CS7tBA,mBACE,GACE,ST+tBF,CS5tBA,GACE,ST8tBF,CACF,CSntBE,qBASE,2BAAA,CADA,mCAAA,CAAA,2BAAA,CAFA,0BAAA,CADA,WAAA,CAEA,SAAA,CANA,cAAA,CACA,KAAA,CAEA,UAAA,CADA,ST2tBJ,CSjtBE,mBAcE,mDAAA,CANA,2CAAA,CACA,QAAA,CACA,mBAAA,CARA,QAAA,CASA,kDACE,CAPF,eAAA,CAEA,aAAA,CADA,SAAA,CALA,cAAA,CAGA,UAAA,CADA,ST4tBJ,CS7sBE,kBACE,aT+sBJ,CS3sBE,sBACE,YAAA,CACA,YT6sBJ,CS1sBI,oCACE,aT4sBN,CSvsBE,sBACE,mBTysBJ,CStsBI,6CACE,cTwsBN,CKlmBI,wCIvGA,6CAKI,aAAA,CAEA,gBAAA,CACA,iBAAA,CAFA,UT0sBN,CACF,CSnsBE,kBACE,cTqsBJ,CUtyBA,YACE,WAAA,CAIA,WVsyBF,CUnyBE,mBAEE,qBAAA,CADA,iBVsyBJ,CKzoBI,sCKtJE,4EACE,kBVkyBN,CU9xBI,0JACE,mBVgyBN,CUjyBI,8EACE,kBVgyBN,CACF,CU3xBI,0BAGE,UAAA,CAFA,aAAA,CACA,YV8xBN,CUzxBI,+BACE,eV2xBN,CUrxBE,8BACE,WV0xBJ,CU3xBE,8BACE,UV0xBJ,CU3xBE,8BAIE,iBVuxBJ,CU3xBE,8BAIE,kBVuxBJ,CU3xBE,oBAGE,cAAA,CADA,SVyxBJ,CUpxBI,aAPF,oBAQI,YVuxBJ,CACF,CUpxBI,gCACE,yCVsxBN,CUlxBI,wBACE,cAAA,CACA,kBVoxBN,CUjxBM,kCACE,oBVmxBR,CWp1BA,qBAeE,WXq1BF,CWp2BA,qBAeE,UXq1BF,CWp2BA,WAOE,2CAAA,CACA,mBAAA,CANA,YAAA,CAOA,8BAAA,CALA,iBAAA,CAMA,SAAA,CALA,mBAAA,CACA,mBAAA,CALA,cAAA,CAaA,0BAAA,CAHA,wCACE,CATF,SXi2BF,CWl1BE,aAlBF,WAmBI,YXq1BF,CACF,CWl1BE,mBAEE,SAAA,CADA,mBAAA,CAKA,uBAAA,CAHA,kEXq1BJ,CW90BE,kBAEE,gCAAA,CADA,eXi1BJ,CYn3BA,aACE,gBAAA,CACA,iBZs3BF,CYn3BE,sBAGE,WAAA,CADA,QAAA,CADA,SZu3BJ,CYj3BE,oBAEE,eAAA,CADA,eZo3BJ,CY/2BE,oBACE,iBZi3BJ,CY72BE,mBAIE,sBAAA,CAFA,YAAA,CACA,cAAA,CAEA,sBAAA,CAJA,iBZm3BJ,CY52BI,iDACE,yCZ82BN,CY12BI,6BACE,iBZ42BN,CYv2BE,mBAGE,uCAAA,CACA,cAAA,CAHA,aAAA,CACA,cAAA,CAGA,sBZy2BJ,CYt2BI,gDACE,+BZw2BN,CYp2BI,4BACE,0CAAA,CACA,mBZs2BN,CYj2BE,mBAEE,SAAA,CADA,iBAAA,CAKA,2BAAA,CAHA,8DZo2BJ,CY91BI,qBAEE,aAAA,CADA,eZi2BN,CY51BI,6BACE,SAAA,CACA,uBZ81BN,Ca76BA,WAEE,0CAAA,CADA,+Bbi7BF,Ca76BE,aALF,WAMI,Ybg7BF,CACF,Ca76BE,kBACE,6BAAA,CAEA,aAAA,CADA,abg7BJ,Ca56BI,gCACE,Yb86BN,Caz6BE,iBAOE,eAAA,CANA,YAAA,CAKA,cAAA,CAGA,mBAAA,CAAA,eAAA,CADA,cAAA,CAGA,uCAAA,CADA,eAAA,CAEA,uBbu6BJ,Cap6BI,8CACE,Ubs6BN,Cal6BI,+BACE,oBbo6BN,CKtxBI,wCQvIE,uBACE,abg6BN,Ca75BO,yCACC,Yb+5BR,CACF,Ca15BI,iCACE,gBb65BN,Ca95BI,iCACE,iBb65BN,Ca95BI,uBAEE,gBb45BN,Caz5BM,iCACE,eb25BR,Car5BE,kBACE,WAAA,CAIA,eAAA,CADA,mBAAA,CAFA,6BAAA,CACA,cAAA,CAGA,kBbu5BJ,Can5BE,mBAEE,YAAA,CADA,abs5BJ,Caj5BE,sBACE,gBAAA,CACA,Ubm5BJ,Ca94BA,gBACE,gDbi5BF,Ca94BE,uBACE,YAAA,CACA,cAAA,CACA,6BAAA,CACA,abg5BJ,Ca54BE,kCACE,sCb84BJ,Ca34BI,gFACE,+Bb64BN,Car4BA,cAKE,wCAAA,CADA,gBAAA,CADA,iBAAA,CADA,eAAA,CADA,Ub44BF,CKh2BI,mCQ7CJ,cASI,Ubw4BF,CACF,Cap4BE,yBACE,sCbs4BJ,Ca/3BA,WAEE,cAAA,CADA,qBbm4BF,CK72BI,mCQvBJ,WAMI,ebk4BF,CACF,Ca/3BE,iBACE,oBAAA,CAEA,aAAA,CACA,iBAAA,CAFA,Ybm4BJ,Ca93BI,wBACE,ebg4BN,Ca53BI,qBAGE,iBAAA,CAFA,gBAAA,CACA,mBb+3BN,CcniCE,uBAME,kBAAA,CACA,mBAAA,CAHA,gCAAA,CACA,cAAA,CAJA,oBAAA,CAEA,eAAA,CADA,kBAAA,CAMA,gEdsiCJ,CchiCI,gCAEE,2CAAA,CACA,uCAAA,CAFA,gCdoiCN,Cc9hCI,0DAEE,0CAAA,CACA,sCAAA,CAFA,+BdkiCN,Cc3hCE,gCAKE,4BdgiCJ,CcriCE,gEAME,6Bd+hCJ,CcriCE,gCAME,4Bd+hCJ,CcriCE,sBAIE,6DAAA,CAGA,8BAAA,CAJA,eAAA,CAFA,aAAA,CACA,eAAA,CAMA,sCd6hCJ,CcxhCI,wDACE,6CAAA,CACA,8Bd0hCN,CcthCI,+BACE,UdwhCN,Ce3kCA,WAOE,2CAAA,CAGA,8CACE,CALF,gCAAA,CADA,aAAA,CAHA,MAAA,CADA,eAAA,CACA,OAAA,CACA,KAAA,CACA,SfklCF,CevkCE,aAfF,WAgBI,Yf0kCF,CACF,CevkCE,mBAIE,2BAAA,CAHA,iEf0kCJ,CenkCE,mBACE,kDACE,CAEF,kEfmkCJ,Ce7jCE,kBAEE,kBAAA,CADA,YAAA,CAEA,ef+jCJ,Ce3jCE,mBAKE,kBAAA,CAEA,cAAA,CAHA,YAAA,CAIA,uCAAA,CALA,aAAA,CAFA,iBAAA,CAQA,uBAAA,CAHA,qBAAA,CAJA,SfokCJ,Ce1jCI,yBACE,Uf4jCN,CexjCI,iCACE,oBf0jCN,CetjCI,uCAEE,uCAAA,CADA,YfyjCN,CepjCI,2BAEE,YAAA,CADA,afujCN,CKz8BI,wCU/GA,2BAMI,YfsjCN,CACF,CenjCM,8DAIE,iBAAA,CAHA,aAAA,CAEA,aAAA,CADA,UfujCR,CKv+BI,mCUzEA,iCAII,YfgjCN,CACF,Ce7iCM,wCACE,Yf+iCR,Ce3iCM,+CACE,oBf6iCR,CKl/BI,sCUtDA,iCAII,YfwiCN,CACF,CeniCE,kBAEE,YAAA,CACA,cAAA,CAFA,iBAAA,CAIA,8DACE,CAFF,kBfsiCJ,CehiCI,oCAGE,SAAA,CADA,mBAAA,CAKA,6BAAA,CAHA,8DACE,CAJF,UfsiCN,Ce7hCM,8CACE,8Bf+hCR,Ce1hCI,8BACE,ef4hCN,CevhCE,4BAGE,gBf4hCJ,Ce/hCE,4BAGE,iBf4hCJ,Ce/hCE,4BAIE,kBf2hCJ,Ce/hCE,4BAIE,iBf2hCJ,Ce/hCE,kBACE,WAAA,CAIA,eAAA,CAHA,aAAA,CAIA,kBfyhCJ,CethCI,4CAGE,SAAA,CADA,mBAAA,CAKA,8BAAA,CAHA,8DACE,CAJF,Uf4hCN,CenhCM,sDACE,6BfqhCR,CejhCM,8DAGE,SAAA,CADA,mBAAA,CAKA,uBAAA,CAHA,8DACE,CAJF,SfuhCR,Ce5gCI,uCAGE,WAAA,CAFA,iBAAA,CACA,Uf+gCN,CezgCE,mBACE,YAAA,CACA,aAAA,CACA,cAAA,CAEA,+CACE,CAFF,kBf4gCJ,CetgCI,8DACE,WAAA,CACA,SAAA,CACA,oCfwgCN,CejgCE,mBACE,YfmgCJ,CKxjCI,mCUoDF,6BAQI,gBfmgCJ,Ce3gCA,6BAQI,iBfmgCJ,Ce3gCA,mBAKI,aAAA,CAEA,iBAAA,CADA,afqgCJ,CACF,CKhkCI,sCUoDF,6BAaI,kBfmgCJ,CehhCA,6BAaI,mBfmgCJ,CACF,CgB3uCA,MACE,0MAAA,CACA,gMAAA,CACA,yNhB8uCF,CgBxuCA,QACE,eAAA,CACA,ehB2uCF,CgBxuCE,eAKE,uCAAA,CAJA,aAAA,CAGA,eAAA,CADA,eAAA,CADA,eAAA,CAIA,sBhB0uCJ,CgBvuCI,+BACE,YhByuCN,CgBtuCM,mCAEE,WAAA,CADA,UhByuCR,CgBjuCQ,sFAME,iBAAA,CALA,aAAA,CAGA,aAAA,CADA,cAAA,CAEA,kBAAA,CAHA,UhBuuCV,CgB5tCE,cAGE,eAAA,CADA,QAAA,CADA,ShBguCJ,CgB1tCE,cACE,ehB4tCJ,CgBztCI,sCACE,ehB2tCN,CgB5tCI,sCACE,chB2tCN,CgBttCE,cAEE,kBAAA,CAKA,cAAA,CANA,YAAA,CAEA,6BAAA,CACA,iBAAA,CACA,eAAA,CAIA,uBAAA,CAHA,sBAAA,CAEA,sBhBytCJ,CgBrtCI,sBACE,uChButCN,CgBntCI,oCACE,+BhBqtCN,CgBjtCI,0CACE,UhBmtCN,CgB/sCI,wCACE,+BhBitCN,CgB7sCI,4BACE,uCAAA,CACA,oBhB+sCN,CgB3sCI,0CACE,YhB6sCN,CgB1sCM,yDAKE,6BAAA,CAJA,aAAA,CAEA,WAAA,CACA,qCAAA,CAAA,6BAAA,CAFA,UhB+sCR,CgBxsCM,kDACE,YhB0sCR,CgBrsCI,gBAEE,cAAA,CADA,YhBwsCN,CgBlsCE,cACE,ahBosCJ,CgBhsCE,gBACE,YhBksCJ,CKjpCI,wCW1CA,0CASE,2CAAA,CAHA,YAAA,CACA,qBAAA,CACA,WAAA,CALA,MAAA,CADA,iBAAA,CACA,OAAA,CACA,KAAA,CACA,ShBisCJ,CgBtrCI,+DACE,eAAA,CACA,ehBwrCN,CgBprCI,gCAQE,qDAAA,CAHA,uCAAA,CAEA,cAAA,CALA,aAAA,CAEA,kBAAA,CADA,wBAAA,CAFA,iBAAA,CAKA,kBhBwrCN,CgBnrCM,wDAGE,UhByrCR,CgB5rCM,wDAGE,WhByrCR,CgB5rCM,8CAIE,aAAA,CAEA,aAAA,CACA,YAAA,CANA,iBAAA,CACA,SAAA,CAGA,YhBurCR,CgBlrCQ,oDAKE,6BAAA,CADA,UAAA,CAHA,aAAA,CAEA,WAAA,CAGA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAPA,UhB2rCV,CgB/qCM,8CAGE,2CAAA,CACA,gEACE,CAJF,eAAA,CAKA,4BAAA,CAJA,kBhBorCR,CgB7qCQ,2DACE,YhB+qCV,CgB1qCM,8CAGE,2CAAA,CADA,gCAAA,CADA,ehB8qCR,CgBxqCM,yCAIE,aAAA,CAFA,UAAA,CAIA,YAAA,CADA,aAAA,CAJA,iBAAA,CACA,WAAA,CACA,ShB6qCR,CgBrqCI,+BACE,MhBuqCN,CgBnqCI,+BAEE,4DAAA,CADA,ShBsqCN,CgBlqCM,qDACE,+BhBoqCR,CgBjqCQ,sHACE,+BhBmqCV,CgB7pCI,+BAEE,YAAA,CADA,mBhBgqCN,CgB5pCM,uDAGE,mBhB+pCR,CgBlqCM,uDAGE,kBhB+pCR,CgBlqCM,6CAIE,gBAAA,CAFA,aAAA,CADA,YhBiqCR,CgB3pCQ,mDAKE,6BAAA,CADA,UAAA,CAHA,aAAA,CAEA,WAAA,CAGA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAPA,UhBoqCV,CgBppCM,+CACE,mBhBspCR,CgB9oCM,4CAEE,wBAAA,CADA,ehBipCR,CgB7oCQ,oEACE,mBhB+oCV,CgBhpCQ,oEACE,oBhB+oCV,CgB3oCQ,4EACE,iBhB6oCV,CgB9oCQ,4EACE,kBhB6oCV,CgBzoCQ,oFACE,mBhB2oCV,CgB5oCQ,oFACE,oBhB2oCV,CgBvoCQ,4FACE,mBhByoCV,CgB1oCQ,4FACE,oBhByoCV,CgBloCE,mBACE,wBhBooCJ,CgBhoCE,wBACE,YAAA,CACA,SAAA,CAIA,0BAAA,CAHA,oEhBmoCJ,CgB7nCI,kCACE,2BhB+nCN,CgB1nCE,gCACE,SAAA,CAIA,uBAAA,CAHA,qEhB6nCJ,CgBvnCI,8CAEE,kCAAA,CAAA,0BhBwnCN,CACF,CK/xCI,wCW+KA,0CACE,YhBmnCJ,CgBhnCI,yDACE,UhBknCN,CgB9mCI,wDACE,YhBgnCN,CgB5mCI,kDACE,YhB8mCN,CgBzmCE,gBAIE,iDAAA,CADA,gCAAA,CAFA,aAAA,CACA,ehB6mCJ,CACF,CK51CM,6DWwPF,6CACE,YhBumCJ,CgBpmCI,4DACE,UhBsmCN,CgBlmCI,2DACE,YhBomCN,CgBhmCI,qDACE,YhBkmCN,CACF,CKp1CI,mCW0PA,kCAME,qCAAA,CACA,qDAAA,CANA,eAAA,CACA,KAAA,CAGA,ShB6lCJ,CgBxlCI,6CACE,uBhB0lCN,CgBtlCI,gDACE,YhBwlCN,CACF,CKn2CI,sCW7JJ,QA8aI,oDhBslCF,CgBnlCE,gCAME,qCAAA,CACA,qDAAA,CANA,eAAA,CACA,KAAA,CAGA,ShBqlCJ,CgBhlCI,8CACE,uBhBklCN,CgBxkCE,sEACE,YhB6kCJ,CgBzkCE,sEACE,ahB2kCJ,CgBvkCE,6CACE,YhBykCJ,CgBrkCE,uBACE,aAAA,CACA,ehBukCJ,CgBpkCI,kCACE,ehBskCN,CgBlkCI,qCACE,eAAA,CACA,mBhBokCN,CgBjkCM,0CACE,uChBmkCR,CgB/jCM,mDACE,mBhBikCR,CgB7jCM,mDACE,YhB+jCR,CgB1jCI,+BACE,ahB4jCN,CgBzjCM,2DACE,ShB2jCR,CgBrjCE,cAGE,kBAAA,CADA,YAAA,CAEA,gCAAA,CAHA,WhB0jCJ,CgBpjCI,oBACE,uDhBsjCN,CgBljCI,oBAME,6BAAA,CACA,kBAAA,CAFA,UAAA,CAJA,oBAAA,CAEA,WAAA,CAMA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAJA,yBAAA,CAJA,qBAAA,CAFA,UhB8jCN,CgBjjCM,8BACE,wBhBmjCR,CgB/iCM,sKAEE,uBhBgjCR,CgBjiCI,+HACE,YhBuiCN,CgBpiCM,oDACE,aAAA,CACA,ShBsiCR,CgBniCQ,kEAOE,qCAAA,CACA,qDAAA,CAFA,eAAA,CADA,YAAA,CADA,eAAA,CAHA,eAAA,CACA,KAAA,CACA,ShB0iCV,CgBliCU,4FACE,mBhBoiCZ,CgBhiCU,gFACE,YhBkiCZ,CgB5hCM,kDACE,uChB8hCR,CgBxhCI,2CACE,ahB0hCN,CgBvhCM,iFACE,mBhByhCR,CgB1hCM,iFACE,kBhByhCR,CgBhhCI,mFACE,ehBkhCN,CgB/gCM,iGACE,ShBihCR,CgB5gCI,qFAGE,mDhB8gCN,CgBjhCI,qFAGE,oDhB8gCN,CgBjhCI,2EACE,aAAA,CACA,oBhB+gCN,CgB3gCM,0FACE,YhB6gCR,CACF,CiB7oDA,MACE,igBjBgpDF,CiB1oDA,WACE,iBjB6oDF,CK/+CI,mCY/JJ,WAKI,ejB6oDF,CACF,CiB1oDE,kBACE,YjB4oDJ,CiBxoDE,oBAEE,SAAA,CADA,SjB2oDJ,CKx+CI,wCYpKF,8BAkBI,YjBwoDJ,CiB1pDA,8BAkBI,ajBwoDJ,CiB1pDA,oBAYI,2CAAA,CACA,kBAAA,CAJA,WAAA,CACA,eAAA,CACA,mBAAA,CALA,iBAAA,CACA,SAAA,CAUA,uBAAA,CAHA,4CACE,CAPF,UjBkpDJ,CiBroDI,+DACE,SAAA,CACA,oCjBuoDN,CACF,CK9gDI,mCYjJF,8BAyCI,MjBioDJ,CiB1qDA,8BAyCI,OjBioDJ,CiB1qDA,oBAoCI,0BAAA,CADA,cAAA,CADA,QAAA,CAHA,cAAA,CACA,KAAA,CAKA,sDACE,CALF,OjByoDJ,CiB9nDI,+DAME,YAAA,CACA,SAAA,CACA,4CACE,CARF,UjBmoDN,CACF,CK7gDI,wCYxGA,+DAII,mBjBqnDN,CACF,CK3jDM,6DY/DF,+DASI,mBjBqnDN,CACF,CKhkDM,6DY/DF,+DAcI,mBjBqnDN,CACF,CiBhnDE,kBAEE,kCAAA,CAAA,0BjBinDJ,CK/hDI,wCYpFF,4BAmBI,MjB6mDJ,CiBhoDA,4BAmBI,OjB6mDJ,CiBhoDA,kBAUI,QAAA,CAEA,SAAA,CADA,eAAA,CALA,cAAA,CACA,KAAA,CAWA,wBAAA,CALA,qGACE,CALF,OAAA,CADA,SjBwnDJ,CiB1mDI,4BACE,yBjB4mDN,CiBxmDI,6DAEE,WAAA,CACA,SAAA,CAMA,uBAAA,CALA,sGACE,CAJF,UjB8mDN,CACF,CK1kDI,mCYjEF,4BA2CI,WjBwmDJ,CiBnpDA,4BA2CI,UjBwmDJ,CiBnpDA,kBA6CI,eAAA,CAHA,iBAAA,CAIA,8CAAA,CAFA,ajBumDJ,CACF,CKzmDM,6DYOF,6DAII,ajBkmDN,CACF,CKxlDI,sCYfA,6DASI,ajBkmDN,CACF,CiB7lDE,iBAIE,2CAAA,CACA,0BAAA,CAFA,aAAA,CAFA,iBAAA,CAKA,2CACE,CALF,SjBmmDJ,CKrmDI,mCYAF,iBAaI,0BAAA,CACA,mBAAA,CAFA,ajB+lDJ,CiB1lDI,uBACE,0BjB4lDN,CACF,CiBxlDI,4DAEE,2CAAA,CACA,6BAAA,CACA,8BAAA,CAHA,gCjB6lDN,CiBrlDE,4BAKE,mBAAA,CAAA,oBjB0lDJ,CiB/lDE,4BAKE,mBAAA,CAAA,oBjB0lDJ,CiB/lDE,kBAQE,gBAAA,CAFA,eAAA,CAFA,WAAA,CAHA,iBAAA,CAMA,sBAAA,CAJA,UAAA,CADA,SjB6lDJ,CiBplDI,+BACE,qBjBslDN,CiBllDI,kEAEE,uCjBmlDN,CiB/kDI,6BACE,YjBilDN,CKrnDI,wCYaF,kBA8BI,eAAA,CADA,aAAA,CADA,UjBklDJ,CACF,CK/oDI,mCYgCF,4BAmCI,mBjBklDJ,CiBrnDA,4BAmCI,oBjBklDJ,CiBrnDA,kBAqCI,aAAA,CADA,ejBilDJ,CiB7kDI,+BACE,uCjB+kDN,CiB3kDI,mCACE,gCjB6kDN,CiBzkDI,6DACE,kBjB2kDN,CiBxkDM,8EACE,uCjB0kDR,CiBtkDM,0EACE,WjBwkDR,CACF,CiBlkDE,iBAIE,cAAA,CAHA,oBAAA,CAEA,aAAA,CAEA,kCACE,CAJF,YjBukDJ,CiB/jDI,uBACE,UjBikDN,CiB7jDI,yCAGE,UjBgkDN,CiBnkDI,yCAGE,WjBgkDN,CiBnkDI,+BACE,iBAAA,CACA,SAAA,CAEA,SjB+jDN,CiB5jDM,6CACE,oBjB8jDR,CKrqDI,wCY+FA,yCAcI,UjB6jDN,CiB3kDE,yCAcI,WjB6jDN,CiB3kDE,+BAaI,SjB8jDN,CiB1jDM,+CACE,YjB4jDR,CACF,CKjsDI,mCYkHA,+BAwBI,mBjB2jDN,CiBxjDM,8CACE,YjB0jDR,CACF,CiBpjDE,8BAGE,WjBwjDJ,CiB3jDE,8BAGE,UjBwjDJ,CiB3jDE,oBAKE,mBAAA,CAJA,iBAAA,CACA,SAAA,CAEA,SjBujDJ,CK7rDI,wCYkIF,8BAUI,WjBsjDJ,CiBhkDA,8BAUI,UjBsjDJ,CiBhkDA,oBASI,SjBujDJ,CACF,CiBnjDI,uCACE,iBjByjDN,CiB1jDI,uCACE,kBjByjDN,CiB1jDI,6BAEE,uCAAA,CACA,SAAA,CAIA,oBAAA,CAHA,+DjBsjDN,CiBhjDM,iDAEE,uCAAA,CADA,YjBmjDR,CiB9iDM,gGAGE,SAAA,CADA,mBAAA,CAEA,kBjB+iDR,CiB5iDQ,sGACE,UjB8iDV,CiBviDE,8BAOE,mBAAA,CAAA,oBjB8iDJ,CiBrjDE,8BAOE,mBAAA,CAAA,oBjB8iDJ,CiBrjDE,oBAIE,kBAAA,CAKA,yCAAA,CANA,YAAA,CAKA,eAAA,CAFA,WAAA,CAKA,SAAA,CAVA,iBAAA,CACA,KAAA,CAUA,uBAAA,CAFA,kBAAA,CALA,UjBgjDJ,CKvvDI,mCYkMF,8BAgBI,mBjB0iDJ,CiB1jDA,8BAgBI,oBjB0iDJ,CiB1jDA,oBAiBI,ejByiDJ,CACF,CiBtiDI,+DACE,SAAA,CACA,0BjBwiDN,CiBniDE,6BAKE,+BjBsiDJ,CiB3iDE,0DAME,gCjBqiDJ,CiB3iDE,6BAME,+BjBqiDJ,CiB3iDE,mBAIE,eAAA,CAHA,iBAAA,CAEA,UAAA,CADA,SjByiDJ,CKtvDI,wCY2MF,mBAWI,QAAA,CADA,UjBsiDJ,CACF,CK/wDI,mCY8NF,mBAiBI,SAAA,CADA,UAAA,CAEA,sBjBqiDJ,CiBliDI,8DACE,8BAAA,CACA,SjBoiDN,CACF,CiB/hDE,uBASE,kCAAA,CAAA,0BAAA,CAFA,2CAAA,CANA,WAAA,CACA,eAAA,CAIA,kBjBgiDJ,CiB1hDI,iEAZF,uBAaI,uBjB6hDJ,CACF,CK5zDM,6DYiRJ,uBAkBI,ajB6hDJ,CACF,CK3yDI,sCY2PF,uBAuBI,ajB6hDJ,CACF,CKhzDI,mCY2PF,uBA4BI,YAAA,CAEA,yDAAA,CADA,oBjB8hDJ,CiB1hDI,kEACE,ejB4hDN,CiBxhDI,6BACE,+CjB0hDN,CiBthDI,0CAEE,YAAA,CADA,WjByhDN,CiBphDI,gDACE,oDjBshDN,CiBnhDM,sDACE,0CjBqhDR,CACF,CiB9gDA,kBACE,gCAAA,CACA,qBjBihDF,CiB9gDE,wBAKE,qDAAA,CADA,uCAAA,CAFA,gBAAA,CACA,kBAAA,CAFA,eAAA,CAKA,uBjBghDJ,CKp1DI,mCY8TF,kCAUI,mBjBghDJ,CiB1hDA,kCAUI,oBjBghDJ,CACF,CiB5gDE,wBAGE,eAAA,CADA,QAAA,CADA,SAAA,CAIA,wBAAA,CAAA,qBAAA,CAAA,gBjB6gDJ,CiBzgDE,wBACE,yDjB2gDJ,CiBxgDI,oCACE,ejB0gDN,CiBrgDE,wBACE,aAAA,CACA,YAAA,CAEA,uBAAA,CADA,gCjBwgDJ,CiBpgDI,4DACE,uDjBsgDN,CiBlgDI,gDACE,mBjBogDN,CiB//CE,gCAKE,cAAA,CADA,aAAA,CAEA,YAAA,CALA,eAAA,CAMA,uBAAA,CALA,KAAA,CACA,SjBqgDJ,CiB9/CI,wCACE,YjBggDN,CiB3/CI,wDACE,YjB6/CN,CiBz/CI,oCAGE,+BAAA,CADA,gBAAA,CADA,mBAAA,CAGA,2CjB2/CN,CKt4DI,mCYuYA,8CAUI,mBjBy/CN,CiBngDE,8CAUI,oBjBy/CN,CACF,CiBr/CI,oFAEE,uDAAA,CADA,+BjBw/CN,CiBl/CE,sCACE,2CjBo/CJ,CiB/+CE,2BAGE,eAAA,CADA,eAAA,CADA,iBjBm/CJ,CKv5DI,mCYmaF,qCAOI,mBjBi/CJ,CiBx/CA,qCAOI,oBjBi/CJ,CACF,CiB7+CE,kCAEE,MjBm/CJ,CiBr/CE,kCAEE,OjBm/CJ,CiBr/CE,wBAME,uCAAA,CAFA,aAAA,CACA,YAAA,CAJA,iBAAA,CAEA,YjBk/CJ,CKj5DI,wCY4ZF,wBAUI,YjB++CJ,CACF,CiB5+CI,8BAKE,6BAAA,CADA,UAAA,CAHA,oBAAA,CAEA,WAAA,CAGA,+CAAA,CAAA,uCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAPA,UjBq/CN,CiB3+CM,wCACE,oBjB6+CR,CiBv+CE,8BAGE,uCAAA,CAFA,gBAAA,CACA,ejB0+CJ,CiBt+CI,iCAKE,gCAAA,CAHA,eAAA,CACA,eAAA,CACA,eAAA,CAHA,ejB4+CN,CiBr+CM,sCACE,oBjBu+CR,CiBl+CI,iCAKE,gCAAA,CAHA,gBAAA,CACA,eAAA,CACA,eAAA,CAHA,ajBw+CN,CiBj+CM,sCACE,oBjBm+CR,CiB79CE,yBAKE,gCAAA,CAJA,aAAA,CAEA,gBAAA,CACA,iBAAA,CAFA,ajBk+CJ,CiB39CE,uBAGE,wBAAA,CAFA,+BAAA,CACA,yBjB89CJ,CkBloEA,WACE,iBAAA,CACA,SlBqoEF,CkBloEE,kBAOE,2CAAA,CACA,mBAAA,CACA,8BAAA,CAHA,gCAAA,CAHA,QAAA,CAEA,gBAAA,CADA,YAAA,CAMA,SAAA,CATA,iBAAA,CACA,sBAAA,CAaA,mCAAA,CAJA,oElBqoEJ,CkB9nEI,6EACE,gBAAA,CACA,SAAA,CAKA,+BAAA,CAJA,8ElBioEN,CkBznEI,wBAWE,+BAAA,CAAA,8CAAA,CAFA,6BAAA,CAAA,8BAAA,CACA,YAAA,CAFA,UAAA,CAHA,QAAA,CAFA,QAAA,CAIA,kBAAA,CADA,iBAAA,CALA,iBAAA,CACA,KAAA,CAEA,OlBkoEN,CkBtnEE,iBAOE,mBAAA,CAFA,eAAA,CACA,oBAAA,CAHA,QAAA,CAFA,kBAAA,CAGA,aAAA,CAFA,SlB6nEJ,CkBpnEE,iBACE,kBlBsnEJ,CkBlnEE,2BAGE,kBAAA,CAAA,oBlBwnEJ,CkB3nEE,2BAGE,mBAAA,CAAA,mBlBwnEJ,CkB3nEE,iBAIE,cAAA,CAHA,aAAA,CAIA,YAAA,CAIA,uBAAA,CAHA,2CACE,CALF,UlBynEJ,CkB/mEI,8CACE,+BlBinEN,CkB7mEI,uBACE,qDlB+mEN,CmBnsEA,YAIE,qBAAA,CADA,aAAA,CAGA,gBAAA,CALA,eAAA,CACA,UAAA,CAGA,anBusEF,CmBnsEE,aATF,YAUI,YnBssEF,CACF,CKxhEI,wCc3KF,+BAeI,anBisEJ,CmBhtEA,+BAeI,cnBisEJ,CmBhtEA,qBAUI,2CAAA,CAHA,aAAA,CAEA,WAAA,CALA,cAAA,CACA,KAAA,CASA,uBAAA,CAHA,iEACE,CAJF,aAAA,CAFA,SnB0sEJ,CmB9rEI,mEACE,8BAAA,CACA,6BnBgsEN,CmB7rEM,6EACE,8BnB+rER,CmB1rEI,6CAEE,QAAA,CAAA,MAAA,CACA,QAAA,CAEA,eAAA,CAJA,iBAAA,CACA,OAAA,CAEA,qBAAA,CAFA,KnB+rEN,CACF,CKvkEI,sCctKJ,YAuDI,QnB0rEF,CmBvrEE,mBACE,WnByrEJ,CmBrrEE,6CACE,UnBurEJ,CACF,CmBnrEE,uBACE,YAAA,CACA,OnBqrEJ,CKtlEI,mCcjGF,uBAMI,QnBqrEJ,CmBlrEI,8BACE,WnBorEN,CmBhrEI,qCACE,anBkrEN,CmB9qEI,+CACE,kBnBgrEN,CACF,CmB3qEE,wBAUE,uBAAA,CANA,kCAAA,CAAA,0BAAA,CAHA,cAAA,CACA,eAAA,CASA,yDAAA,CAFA,oBnB0qEJ,CmBrqEI,2CAEE,YAAA,CADA,WnBwqEN,CmBnqEI,mEACE,+CnBqqEN,CmBlqEM,qHACE,oDnBoqER,CmBjqEQ,iIACE,0CnBmqEV,CmBppEE,wCAGE,wBACE,qBnBopEJ,CmBhpEE,6BACE,kCnBkpEJ,CmBnpEE,6BACE,iCnBkpEJ,CACF,CK9mEI,wCc5BF,YAME,0BAAA,CADA,QAAA,CAEA,SAAA,CANA,cAAA,CACA,KAAA,CAMA,sDACE,CALF,OAAA,CADA,SnBmpEF,CmBxoEE,4CAEE,WAAA,CACA,SAAA,CACA,4CACE,CAJF,UnB6oEJ,CACF,CoB1zEA,iBACE,GACE,QpB4zEF,CoBzzEA,GACE,apB2zEF,CACF,CoBvzEA,gBACE,GACE,SAAA,CACA,0BpByzEF,CoBtzEA,IACE,SpBwzEF,CoBrzEA,GACE,SAAA,CACA,uBpBuzEF,CACF,CoB/yEA,MACE,+eAAA,CACA,ygBAAA,CACA,mmBAAA,CACA,sfpBizEF,CoB3yEA,WAOE,kCAAA,CAAA,0BAAA,CANA,aAAA,CACA,gBAAA,CACA,eAAA,CAEA,uCAAA,CAGA,uBAAA,CAJA,kBpBizEF,CoB1yEE,iBACE,UpB4yEJ,CoBxyEE,iBACE,oBAAA,CAEA,aAAA,CACA,qBAAA,CAFA,UpB4yEJ,CoBvyEI,+BACE,iBpB0yEN,CoB3yEI,+BACE,kBpB0yEN,CoB3yEI,qBAEE,gBpByyEN,CoBryEI,kDACE,iBpBwyEN,CoBzyEI,kDACE,kBpBwyEN,CoBzyEI,kDAEE,iBpBuyEN,CoBzyEI,kDAEE,kBpBuyEN,CoBlyEE,iCAGE,iBpBuyEJ,CoB1yEE,iCAGE,kBpBuyEJ,CoB1yEE,uBACE,oBAAA,CACA,6BAAA,CAEA,eAAA,CACA,sBAAA,CACA,qBpBoyEJ,CoBhyEE,kBACE,YAAA,CAMA,gBAAA,CALA,SAAA,CAMA,oBAAA,CAHA,gBAAA,CAIA,WAAA,CAHA,eAAA,CAFA,SAAA,CADA,UpBwyEJ,CoB/xEI,iDACE,4BpBiyEN,CoB5xEE,iBACE,eAAA,CACA,sBpB8xEJ,CoB3xEI,gDACE,2BpB6xEN,CoBzxEI,kCAIE,kBpBiyEN,CoBryEI,kCAIE,iBpBiyEN,CoBryEI,wBAOE,6BAAA,CADA,UAAA,CALA,oBAAA,CAEA,YAAA,CAKA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CALA,uBAAA,CAHA,WpBmyEN,CoBvxEI,iCACE,apByxEN,CoBrxEI,iCACE,gDAAA,CAAA,wCpBuxEN,CoBnxEI,+BACE,8CAAA,CAAA,sCpBqxEN,CoBjxEI,+BACE,8CAAA,CAAA,sCpBmxEN,CoB/wEI,sCACE,qDAAA,CAAA,6CpBixEN,CqBx6EA,SASE,2CAAA,CADA,gCAAA,CAJA,aAAA,CAGA,eAAA,CADA,aAAA,CADA,UAAA,CAFA,SrB+6EF,CqBt6EE,aAZF,SAaI,YrBy6EF,CACF,CK9vEI,wCgBzLJ,SAkBI,YrBy6EF,CACF,CqBt6EE,iBACE,mBrBw6EJ,CqBp6EE,yBAGE,iBrB26EJ,CqB96EE,yBAGE,kBrB26EJ,CqB96EE,eAOE,eAAA,CADA,eAAA,CAJA,QAAA,CAEA,aAAA,CAHA,SAAA,CAWA,oBAAA,CAPA,kBrBy6EJ,CqB/5EI,kCACE,YrBi6EN,CqB55EE,eACE,oBAAA,CACA,aAAA,CACA,kBAAA,CAAA,mBrB85EJ,CqBz5EE,eAOE,kCAAA,CAAA,0BAAA,CANA,aAAA,CAEA,eAAA,CADA,gBAAA,CAMA,UAAA,CAJA,uCAAA,CACA,oBAAA,CAIA,8DrB05EJ,CqBr5EI,iEAEE,aAAA,CACA,SrBs5EN,CqBj5EM,2CACE,qBrBm5ER,CqBp5EM,2CACE,qBrBs5ER,CqBv5EM,2CACE,qBrBy5ER,CqB15EM,2CACE,qBrB45ER,CqB75EM,2CACE,oBrB+5ER,CqBh6EM,2CACE,qBrBk6ER,CqBn6EM,2CACE,qBrBq6ER,CqBt6EM,2CACE,qBrBw6ER,CqBz6EM,4CACE,qBrB26ER,CqB56EM,4CACE,oBrB86ER,CqB/6EM,4CACE,qBrBi7ER,CqBl7EM,4CACE,qBrBo7ER,CqBr7EM,4CACE,qBrBu7ER,CqBx7EM,4CACE,qBrB07ER,CqB37EM,4CACE,oBrB67ER,CqBv7EI,gCACE,SAAA,CAIA,yBAAA,CAHA,wCrB07EN,CsBjhFA,MACE,wStBohFF,CsB3gFE,qBAEE,mBAAA,CADA,kBtB+gFJ,CsB1gFE,8BAGE,iBtBohFJ,CsBvhFE,8BAGE,gBtBohFJ,CsBvhFE,oBAUE,+CAAA,CACA,oBAAA,CAVA,oBAAA,CAIA,gBAAA,CACA,eAAA,CAEA,qBAAA,CADA,eAAA,CAHA,kBAAA,CAFA,uBAAA,CAOA,qBtB8gFJ,CsBzgFI,0BAGE,uCAAA,CAFA,aAAA,CACA,YAAA,CAEA,6CtB2gFN,CsBtgFM,gEAEE,0CAAA,CADA,+BtBygFR,CsBngFI,yBACE,uBtBqgFN,CsB7/EI,gCAOE,oDAAA,CADA,UAAA,CALA,oBAAA,CAEA,YAAA,CACA,iBAAA,CAKA,qCAAA,CAAA,6BAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAJA,iCAAA,CAHA,0BAAA,CAHA,WtBygFN,CsB3/EI,wFACE,0CtB6/EN,CuBrkFA,iBACE,GACE,uDAAA,CACA,oBvBwkFF,CuBrkFA,IACE,6BAAA,CACA,kBvBukFF,CuBpkFA,GACE,wBAAA,CACA,oBvBskFF,CACF,CuB9jFA,MACE,wBvBgkFF,CuB1jFA,YA6BE,kCAAA,CAAA,0BAAA,CAVA,2CAAA,CACA,mBAAA,CACA,8BAAA,CAHA,gCAAA,CADA,sCAAA,CAdA,+IACE,CAYF,8BAAA,CAMA,SAAA,CArBA,iBAAA,CACA,uBAAA,CAyBA,4BAAA,CAJA,uDACE,CATF,6BAAA,CADA,SvBqkFF,CuBnjFE,oBAEE,SAAA,CAKA,uBAAA,CAJA,2EACE,CAHF,SvBwjFJ,CuB9iFE,8CACE,sCvBgjFJ,CuB5iFE,mBAEE,gBAAA,CADA,avB+iFJ,CuB3iFI,2CACE,YvB6iFN,CuBziFI,0CACE,evB2iFN,CuBniFA,eACE,eAAA,CAEA,YAAA,CADA,kBvBuiFF,CuBniFE,yBACE,avBqiFJ,CuBjiFE,6BACE,oBAAA,CAGA,iBvBiiFJ,CuB7hFE,sBAME,cAAA,CAFA,sCAAA,CACA,eAAA,CAFA,YAAA,CAKA,YAAA,CAPA,iBAAA,CAMA,wBAAA,CAAA,qBAAA,CAAA,gBAAA,CALA,SvBqiFJ,CuB5hFI,qCACE,UAAA,CACA,uBvB8hFN,CuB3hFM,sFACE,UvB6hFR,CuBrhFI,4BAaE,oDAAA,CACA,iBAAA,CAFA,UAAA,CAHA,YAAA,CANA,YAAA,CAQA,cAAA,CADA,cAAA,CATA,iBAAA,CACA,KAAA,CAaA,2CACE,CATF,wBAAA,CACA,6BAAA,CAJA,UvBgiFN,CuBhhFM,4CAGE,8CACE,2BvBghFR,CACF,CuB5gFM,gDAIE,cAAA,CAHA,2CvB+gFR,CuBvgFI,2BACE,sCAAA,CACA,iBvBygFN,CuBrgFI,uEACE,+BvBugFN,CuBpgFM,mFACE,0CvBsgFR,CuBjgFI,0CAGE,cAAA,CADA,eAAA,CADA,SvBqgFN,CuB//EI,8CACE,oBAAA,CACA,evBigFN,CuB9/EM,qDAIE,mCAAA,CAHA,oBAAA,CACA,mBAAA,CAIA,qBAAA,CADA,iDAAA,CAFA,qBvBmgFR,CuB5/EQ,iBAVF,qDAWI,WvB+/ER,CuB5/EQ,mEACE,mCvB8/EV,CACF,CwB5tFA,kBAME,exBwuFF,CwB9uFA,kBAME,gBxBwuFF,CwB9uFA,QAUE,2CAAA,CACA,oBAAA,CAEA,8BAAA,CALA,uCAAA,CACA,cAAA,CALA,aAAA,CAGA,eAAA,CAKA,YAAA,CAPA,mBAAA,CAJA,cAAA,CACA,UAAA,CAiBA,yBAAA,CALA,mGACE,CAZF,SxB2uFF,CwBxtFE,aAtBF,QAuBI,YxB2tFF,CACF,CwBxtFE,kBACE,wBxB0tFJ,CwBttFE,gBAEE,SAAA,CADA,mBAAA,CAGA,+BAAA,CADA,uBxBytFJ,CwBrtFI,0BACE,8BxButFN,CwBltFE,4BAEE,0CAAA,CADA,+BxBqtFJ,CwBhtFE,YACE,oBAAA,CACA,oBxBktFJ,CyBvwFA,oBACE,GACE,mBzB0wFF,CACF,CyBlwFA,MACE,wfzBowFF,CyB9vFA,YACE,aAAA,CAEA,eAAA,CADA,azBkwFF,CyB9vFE,+BAOE,kBAAA,CAAA,kBzB+vFJ,CyBtwFE,+BAOE,iBAAA,CAAA,mBzB+vFJ,CyBtwFE,qBAQE,aAAA,CACA,cAAA,CACA,YAAA,CATA,iBAAA,CAKA,UzBgwFJ,CyBzvFI,qCAIE,iBzBiwFN,CyBrwFI,qCAIE,kBzBiwFN,CyBrwFI,2BAME,6BAAA,CADA,UAAA,CAJA,oBAAA,CAEA,YAAA,CAIA,yCAAA,CAAA,iCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CARA,WzBmwFN,CyBtvFE,kBAUE,2CAAA,CACA,mBAAA,CACA,8BAAA,CAJA,gCAAA,CACA,oBAAA,CAHA,kBAAA,CAFA,YAAA,CASA,SAAA,CANA,aAAA,CAFA,SAAA,CAJA,iBAAA,CAgBA,4BAAA,CAfA,UAAA,CAYA,+CACE,CAZF,SzBowFJ,CyBnvFI,+EACE,gBAAA,CACA,SAAA,CACA,sCzBqvFN,CyB/uFI,wBAGE,oCACE,gCzB+uFN,CyB3uFI,2CACE,czB6uFN,CACF,CyBxuFE,kBACE,kBzB0uFJ,CyBtuFE,4BAGE,kBAAA,CAAA,oBzB6uFJ,CyBhvFE,4BAGE,mBAAA,CAAA,mBzB6uFJ,CyBhvFE,kBAKE,cAAA,CAJA,aAAA,CAKA,YAAA,CAIA,uBAAA,CAHA,2CACE,CAJF,kBAAA,CAFA,UzB8uFJ,CyBnuFI,gDACE,+BzBquFN,CyBjuFI,wBACE,qDzBmuFN,C0Bp0FA,MAEI,uWAAA,CAAA,8WAAA,CAAA,sPAAA,CAAA,8xBAAA,CAAA,0MAAA,CAAA,gbAAA,CAAA,gMAAA,CAAA,iQAAA,CAAA,0VAAA,CAAA,6aAAA,CAAA,8SAAA,CAAA,gM1B61FJ,C0Bj1FE,4CAME,8CAAA,CACA,2BAAA,CACA,mBAAA,CACA,8BAAA,CAJA,mCAAA,CAJA,iBAAA,CAGA,gBAAA,CADA,iBAAA,CADA,eAAA,CAQA,uB1Bo1FJ,C0Bj1FI,aAbF,4CAcI,e1Bo1FJ,CACF,C0Bh1FI,gDACE,qB1Bk1FN,C0B90FI,gIAEE,iBAAA,CADA,c1Bi1FN,C0B50FI,4FACE,iB1B80FN,C0B10FI,kFACE,e1B40FN,C0Bx0FI,0FACE,Y1B00FN,C0Bt0FI,8EACE,mB1Bw0FN,C0Bn0FE,sEAGE,iBAAA,CAAA,mB1B60FJ,C0Bh1FE,sEAGE,kBAAA,CAAA,kB1B60FJ,C0Bh1FE,sEASE,uB1Bu0FJ,C0Bh1FE,sEASE,wB1Bu0FJ,C0Bh1FE,sEAUE,4B1Bs0FJ,C0Bh1FE,4IAWE,6B1Bq0FJ,C0Bh1FE,sEAWE,4B1Bq0FJ,C0Bh1FE,kDAOE,0BAAA,CACA,WAAA,CAFA,eAAA,CADA,eAAA,CAHA,oBAAA,CAAA,iBAAA,CADA,iB1B+0FJ,C0Bl0FI,kFACE,e1Bo0FN,C0Bh0FI,oFAOE,U1Bs0FN,C0B70FI,oFAOE,W1Bs0FN,C0B70FI,gEAME,wBCwIU,CDzIV,UAAA,CADA,WAAA,CAIA,kDAAA,CAAA,0CAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAVA,iBAAA,CACA,UAAA,CACA,U1B00FN,C0B9zFI,4DACE,4D1Bg0FN,C0BlzFE,sDACE,oB1BqzFJ,C0BjzFE,8DACE,0B1BozFJ,C0BjzFI,4EACE,wBAbG,CAcH,kDAAA,CAAA,0C1BmzFN,C0B/yFI,0EACE,a1BizFN,C0Bj0FE,8DACE,oB1Bo0FJ,C0Bh0FE,sEACE,0B1Bm0FJ,C0Bh0FI,oFACE,wBAbG,CAcH,sDAAA,CAAA,8C1Bk0FN,C0B9zFI,kFACE,a1Bg0FN,C0Bh1FE,sDACE,oB1Bm1FJ,C0B/0FE,8DACE,0B1Bk1FJ,C0B/0FI,4EACE,wBAbG,CAcH,kDAAA,CAAA,0C1Bi1FN,C0B70FI,0EACE,a1B+0FN,C0B/1FE,oDACE,oB1Bk2FJ,C0B91FE,4DACE,0B1Bi2FJ,C0B91FI,0EACE,wBAbG,CAcH,iDAAA,CAAA,yC1Bg2FN,C0B51FI,wEACE,a1B81FN,C0B92FE,4DACE,oB1Bi3FJ,C0B72FE,oEACE,0B1Bg3FJ,C0B72FI,kFACE,wBAbG,CAcH,qDAAA,CAAA,6C1B+2FN,C0B32FI,gFACE,a1B62FN,C0B73FE,8DACE,oB1Bg4FJ,C0B53FE,sEACE,0B1B+3FJ,C0B53FI,oFACE,wBAbG,CAcH,sDAAA,CAAA,8C1B83FN,C0B13FI,kFACE,a1B43FN,C0B54FE,4DACE,oB1B+4FJ,C0B34FE,oEACE,0B1B84FJ,C0B34FI,kFACE,wBAbG,CAcH,qDAAA,CAAA,6C1B64FN,C0Bz4FI,gFACE,a1B24FN,C0B35FE,4DACE,oB1B85FJ,C0B15FE,oEACE,0B1B65FJ,C0B15FI,kFACE,wBAbG,CAcH,qDAAA,CAAA,6C1B45FN,C0Bx5FI,gFACE,a1B05FN,C0B16FE,0DACE,oB1B66FJ,C0Bz6FE,kEACE,0B1B46FJ,C0Bz6FI,gFACE,wBAbG,CAcH,oDAAA,CAAA,4C1B26FN,C0Bv6FI,8EACE,a1By6FN,C0Bz7FE,oDACE,oB1B47FJ,C0Bx7FE,4DACE,0B1B27FJ,C0Bx7FI,0EACE,wBAbG,CAcH,iDAAA,CAAA,yC1B07FN,C0Bt7FI,wEACE,a1Bw7FN,C0Bx8FE,4DACE,oB1B28FJ,C0Bv8FE,oEACE,0B1B08FJ,C0Bv8FI,kFACE,wBAbG,CAcH,qDAAA,CAAA,6C1By8FN,C0Br8FI,gFACE,a1Bu8FN,C0Bv9FE,wDACE,oB1B09FJ,C0Bt9FE,gEACE,0B1By9FJ,C0Bt9FI,8EACE,wBAbG,CAcH,mDAAA,CAAA,2C1Bw9FN,C0Bp9FI,4EACE,a1Bs9FN,C4B/mGA,MACE,wM5BknGF,C4BzmGE,sBAEE,uCAAA,CADA,gB5B6mGJ,C4BzmGI,mCACE,a5B2mGN,C4B5mGI,mCACE,c5B2mGN,C4BvmGM,4BACE,sB5BymGR,C4BtmGQ,mCACE,gC5BwmGV,C4BpmGQ,2DACE,SAAA,CAEA,uBAAA,CADA,e5BumGV,C4BlmGQ,yGACE,SAAA,CACA,uB5BomGV,C4BhmGQ,yCACE,Y5BkmGV,C4B3lGE,0BACE,eAAA,CACA,e5B6lGJ,C4B1lGI,+BACE,oB5B4lGN,C4BvlGE,gDACE,Y5BylGJ,C4BrlGE,8BAIE,+BAAA,CAHA,oBAAA,CAEA,WAAA,CAGA,SAAA,CAKA,4BAAA,CAJA,4DACE,CAHF,0B5BylGJ,C4BhlGI,aAdF,8BAeI,+BAAA,CACA,SAAA,CACA,uB5BmlGJ,CACF,C4BhlGI,wCACE,6B5BklGN,C4B9kGI,oCACE,+B5BglGN,C4B5kGI,qCAKE,6BAAA,CADA,UAAA,CAHA,oBAAA,CAEA,YAAA,CAGA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAPA,W5BqlGN,C4BxkGQ,mDACE,oB5B0kGV,C6BxrGE,kCAEE,iB7B8rGJ,C6BhsGE,kCAEE,kB7B8rGJ,C6BhsGE,wBAGE,yCAAA,CAFA,oBAAA,CAGA,SAAA,CACA,mC7B2rGJ,C6BtrGI,aAVF,wBAWI,Y7ByrGJ,CACF,C6BrrGE,6FAEE,SAAA,CACA,mC7BurGJ,C6BjrGE,4FAEE,+B7BmrGJ,C6B/qGE,oBACE,yBAAA,CACA,uBAAA,CAGA,yE7B+qGJ,CKhjGI,sCwBrHE,qDACE,uB7BwqGN,CACF,C6BnqGE,kEACE,yB7BqqGJ,C6BjqGE,sBACE,0B7BmqGJ,C8B9tGE,2BACE,a9BiuGJ,CK5iGI,wCyBtLF,2BAKI,e9BiuGJ,CACF,C8B9tGI,6BAGE,0BAAA,CAAA,2BAAA,CADA,eAAA,CAEA,iBAAA,CAHA,yBAAA,CAAA,iB9BmuGN,C8B7tGM,2CACE,kB9B+tGR,C+BhvGE,uBACE,4C/BovGJ,C+B/uGE,8CAJE,kCAAA,CAAA,0B/BuvGJ,C+BnvGE,uBACE,4C/BkvGJ,C+B7uGE,4BAEE,kCAAA,CAAA,0BAAA,CADA,qC/BgvGJ,C+B5uGI,mCACE,a/B8uGN,C+B1uGI,kCACE,a/B4uGN,C+BvuGE,0BAKE,eAAA,CAJA,aAAA,CAEA,YAAA,CACA,aAAA,CAFA,kBAAA,CAAA,mB/B4uGJ,C+BtuGI,uCACE,e/BwuGN,C+BpuGI,sCACE,kB/BsuGN,CgCnxGA,MACE,8LhCsxGF,CgC7wGE,oBAGE,iBAAA,CAEA,gBAAA,CADA,ahC+wGJ,CgC3wGI,wCACE,uBhC6wGN,CgCzwGI,gCAEE,eAAA,CADA,gBhC4wGN,CgCrwGM,wCACE,mBhCuwGR,CgCjwGE,8BAKE,oBhCowGJ,CgCzwGE,8BAKE,mBhCowGJ,CgCzwGE,8BAOE,4BhCkwGJ,CgCzwGE,4DAQE,6BhCiwGJ,CgCzwGE,8BAQE,4BhCiwGJ,CgCzwGE,oBAME,cAAA,CAHA,aAAA,CACA,ehCqwGJ,CgC9vGI,kCACE,uCAAA,CACA,oBhCgwGN,CgC5vGI,wCAEE,uCAAA,CADA,YhC+vGN,CgC1vGI,oCASE,WhCgwGN,CgCzwGI,oCASE,UhCgwGN,CgCzwGI,0BAME,6BAAA,CADA,UAAA,CADA,WAAA,CAMA,yCAAA,CAAA,iCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAZA,iBAAA,CACA,UAAA,CAMA,sBAAA,CADA,yBAAA,CAJA,UhCswGN,CgCzvGM,oCACE,wBhC2vGR,CgCtvGI,4BACE,YhCwvGN,CgCnvGI,4CACE,YhCqvGN,CiC50GE,+DACE,mBAAA,CACA,cAAA,CACA,uBjC+0GJ,CiC50GI,2EAGE,iBAAA,CADA,eAAA,CADA,ajCg1GN,CkCt1GE,6BACE,sClCy1GJ,CkCt1GE,cACE,yClCw1GJ,CkC50GE,sIACE,oClC80GJ,CkCt0GE,2EACE,qClCw0GJ,CkC9zGE,wGACE,oClCg0GJ,CkCvzGE,yFACE,qClCyzGJ,CkCpzGE,6BACE,kClCszGJ,CkChzGE,6CACE,sClCkzGJ,CkC3yGE,4DACE,sClC6yGJ,CkCtyGE,4DACE,qClCwyGJ,CkC/xGE,yFACE,qClCiyGJ,CkCzxGE,2EACE,sClC2xGJ,CkChxGE,wHACE,qClCkxGJ,CkC7wGE,8BAGE,mBAAA,CADA,gBAAA,CADA,gBlCixGJ,CkC5wGE,eACE,4ClC8wGJ,CkC3wGE,eACE,4ClC6wGJ,CkCzwGE,gBAIE,wCAAA,CAHA,aAAA,CAEA,wBAAA,CADA,wBlC6wGJ,CkCvwGE,yBAOE,wCAAA,CACA,+DAAA,CACA,4BAAA,CACA,6BAAA,CARA,iBAAA,CAGA,eAAA,CACA,eAAA,CAFA,cAAA,CADA,oCAAA,CAFA,iBlCkxGJ,CkCtwGI,6BACE,YlCwwGN,CkCrwGM,kCACE,wBAAA,CACA,yBlCuwGR,CkCjwGE,iCAaE,wCAAA,CACA,+DAAA,CAJA,uCAAA,CACA,0BAAA,CALA,UAAA,CAJA,oBAAA,CAOA,2BAAA,CADA,2BAAA,CADA,2BAAA,CANA,eAAA,CAWA,wBAAA,CAAA,qBAAA,CAAA,gBAAA,CAPA,SlC0wGJ,CkCxvGE,sBACE,iBAAA,CACA,iBlC0vGJ,CkClvGI,sCACE,gBlCovGN,CkChvGI,gDACE,YlCkvGN,CkCxuGA,gBACE,iBlC2uGF,CkCvuGE,yCACE,aAAA,CACA,SlCyuGJ,CkCpuGE,mBACE,YlCsuGJ,CkCjuGE,oBACE,QlCmuGJ,CkC/tGE,4BACE,WAAA,CACA,SAAA,CACA,elCiuGJ,CkC9tGI,0CACE,YlCguGN,CkC1tGE,yBAKE,wCAAA,CAEA,+BAAA,CADA,4BAAA,CAHA,eAAA,CADA,oDAAA,CAEA,wBAAA,CAAA,qBAAA,CAAA,gBlC+tGJ,CkCxtGE,2BAEE,+DAAA,CADA,2BlC2tGJ,CkCvtGI,+BACE,uCAAA,CACA,gBlCytGN,CkCptGE,sBACE,MAAA,CACA,WlCstGJ,CkCjtGA,aACE,alCotGF,CkC1sGE,4BAEE,aAAA,CADA,YlC8sGJ,CkC1sGI,wDAEE,2BAAA,CADA,wBlC6sGN,CkCvsGE,+BAKE,2CAAA,CAEA,+BAAA,CADA,gCAAA,CADA,sBAAA,CAHA,mBAAA,CACA,gBAAA,CAFA,alC+sGJ,CkCtsGI,qCAEE,UAAA,CACA,UAAA,CAFA,alC0sGN,CK30GI,wC6BgJF,8BACE,iBlC+rGF,CkCrrGE,wSAGE,elC2rGJ,CkCvrGE,sCAEE,mBAAA,CACA,eAAA,CADA,oBAAA,CADA,kBAAA,CAAA,mBlC2rGJ,CACF,CDlhHI,yDAIE,+BAAA,CACA,8BAAA,CAFA,aAAA,CADA,QAAA,CADA,iBCwhHN,CDhhHI,uBAEE,uCAAA,CADA,cCmhHN,CD99GM,iHAEE,WAlDkB,CAiDlB,kBCy+GR,CD1+GM,6HAEE,WAlDkB,CAiDlB,kBCq/GR,CDt/GM,6HAEE,WAlDkB,CAiDlB,kBCigHR,CDlgHM,oHAEE,WAlDkB,CAiDlB,kBC6gHR,CD9gHM,0HAEE,WAlDkB,CAiDlB,kBCyhHR,CD1hHM,uHAEE,WAlDkB,CAiDlB,kBCqiHR,CDtiHM,uHAEE,WAlDkB,CAiDlB,kBCijHR,CDljHM,6HAEE,WAlDkB,CAiDlB,kBC6jHR,CD9jHM,yCAEE,WAlDkB,CAiDlB,kBCikHR,CDlkHM,yCAEE,WAlDkB,CAiDlB,kBCqkHR,CDtkHM,0CAEE,WAlDkB,CAiDlB,kBCykHR,CD1kHM,uCAEE,WAlDkB,CAiDlB,kBC6kHR,CD9kHM,wCAEE,WAlDkB,CAiDlB,kBCilHR,CDllHM,sCAEE,WAlDkB,CAiDlB,kBCqlHR,CDtlHM,wCAEE,WAlDkB,CAiDlB,kBCylHR,CD1lHM,oCAEE,WAlDkB,CAiDlB,kBC6lHR,CD9lHM,2CAEE,WAlDkB,CAiDlB,kBCimHR,CDlmHM,qCAEE,WAlDkB,CAiDlB,kBCqmHR,CDtmHM,oCAEE,WAlDkB,CAiDlB,kBCymHR,CD1mHM,kCAEE,WAlDkB,CAiDlB,kBC6mHR,CD9mHM,qCAEE,WAlDkB,CAiDlB,kBCinHR,CDlnHM,mCAEE,WAlDkB,CAiDlB,kBCqnHR,CDtnHM,qCAEE,WAlDkB,CAiDlB,kBCynHR,CD1nHM,wCAEE,WAlDkB,CAiDlB,kBC6nHR,CD9nHM,sCAEE,WAlDkB,CAiDlB,kBCioHR,CDloHM,2CAEE,WAlDkB,CAiDlB,kBCqoHR,CD1nHM,iCAEE,WAPkB,CAMlB,iBC6nHR,CD9nHM,uCAEE,WAPkB,CAMlB,iBCioHR,CDloHM,mCAEE,WAPkB,CAMlB,iBCqoHR,CmCvtHA,MACE,qMAAA,CACA,mMnC0tHF,CmCjtHE,wBAKE,mBAAA,CAHA,YAAA,CACA,qBAAA,CACA,YAAA,CAHA,iBnCwtHJ,CmC9sHI,8BAGE,QAAA,CACA,SAAA,CAHA,iBAAA,CACA,OnCktHN,CmC7sHM,qCACE,0BnC+sHR,CmChrHE,2BAKE,uBAAA,CADA,+DAAA,CAHA,YAAA,CACA,cAAA,CACA,aAAA,CAGA,oBnCkrHJ,CmC/qHI,aATF,2BAUI,gBnCkrHJ,CACF,CmC/qHI,cAGE,+BACE,iBnC+qHN,CmC5qHM,sCAQE,oCAAA,CANA,QAAA,CAKA,UAAA,CAHA,aAAA,CAEA,UAAA,CAHA,MAAA,CAFA,iBAAA,CAYA,2CAAA,CAJA,qCACE,CAEF,kDAAA,CAPA,+BnCorHR,CACF,CmCvqHI,8CACE,YnCyqHN,CmCrqHI,iCASE,+BAAA,CACA,6BAAA,CAJA,uCAAA,CAEA,cAAA,CAPA,aAAA,CAGA,gBAAA,CACA,eAAA,CAFA,8BAAA,CAWA,+BAAA,CAHA,2CACE,CALF,kBAAA,CALA,UnCirHN,CmClqHM,aAII,6CACE,OnCiqHV,CmClqHQ,8CACE,OnCoqHV,CmCrqHQ,8CACE,OnCuqHV,CmCxqHQ,8CACE,OnC0qHV,CmC3qHQ,8CACE,OnC6qHV,CmC9qHQ,8CACE,OnCgrHV,CmCjrHQ,8CACE,OnCmrHV,CmCprHQ,8CACE,OnCsrHV,CmCvrHQ,8CACE,OnCyrHV,CmC1rHQ,+CACE,QnC4rHV,CmC7rHQ,+CACE,QnC+rHV,CmChsHQ,+CACE,QnCksHV,CmCnsHQ,+CACE,QnCqsHV,CmCtsHQ,+CACE,QnCwsHV,CmCzsHQ,+CACE,QnC2sHV,CmC5sHQ,+CACE,QnC8sHV,CmC/sHQ,+CACE,QnCitHV,CmCltHQ,+CACE,QnCotHV,CmCrtHQ,+CACE,QnCutHV,CmCxtHQ,+CACE,QnC0tHV,CACF,CmCrtHM,uCACE,+BnCutHR,CmCjtHE,4BACE,UnCmtHJ,CmChtHI,aAJF,4BAKI,gBnCmtHJ,CACF,CmC/sHE,0BACE,YnCitHJ,CmC9sHI,aAJF,0BAKI,anCitHJ,CmC7sHM,sCACE,OnC+sHR,CmChtHM,uCACE,OnCktHR,CmCntHM,uCACE,OnCqtHR,CmCttHM,uCACE,OnCwtHR,CmCztHM,uCACE,OnC2tHR,CmC5tHM,uCACE,OnC8tHR,CmC/tHM,uCACE,OnCiuHR,CmCluHM,uCACE,OnCouHR,CmCruHM,uCACE,OnCuuHR,CmCxuHM,wCACE,QnC0uHR,CmC3uHM,wCACE,QnC6uHR,CmC9uHM,wCACE,QnCgvHR,CmCjvHM,wCACE,QnCmvHR,CmCpvHM,wCACE,QnCsvHR,CmCvvHM,wCACE,QnCyvHR,CmC1vHM,wCACE,QnC4vHR,CmC7vHM,wCACE,QnC+vHR,CmChwHM,wCACE,QnCkwHR,CmCnwHM,wCACE,QnCqwHR,CmCtwHM,wCACE,QnCwwHR,CACF,CmClwHI,+FAEE,QnCowHN,CmCjwHM,yGACE,wBAAA,CACA,yBnCowHR,CmC3vHM,2DAEE,wBAAA,CACA,yBAAA,CAFA,QnC+vHR,CmCxvHM,iEACE,QnC0vHR,CmCvvHQ,qLAGE,wBAAA,CACA,yBAAA,CAFA,QnC2vHV,CmCrvHQ,6FACE,wBAAA,CACA,yBnCuvHV,CmClvHM,yDACE,kBnCovHR,CmC/uHI,sCACE,QnCivHN,CmC5uHE,2BAEE,iBAAA,CAOA,kBAAA,CAHA,uCAAA,CAEA,cAAA,CAPA,aAAA,CAGA,YAAA,CACA,gBAAA,CAEA,mBAAA,CAGA,gCAAA,CAPA,WnCqvHJ,CmC3uHI,iCAEE,uDAAA,CADA,+BnC8uHN,CmCzuHI,iCAKE,6BAAA,CADA,UAAA,CAHA,aAAA,CAEA,WAAA,CAMA,8CAAA,CAAA,sCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CANA,+CACE,CALF,UnCmvHN,CmCpuHE,4BAOE,yEACE,CANF,YAAA,CAGA,aAAA,CAFA,qBAAA,CAGA,mBAAA,CALA,iBAAA,CAYA,wBAAA,CATA,YnC0uHJ,CmC9tHI,sCACE,wBnCguHN,CmC5tHI,oCACE,SnC8tHN,CmC1tHI,kCAGE,wEACE,CAFF,mBAAA,CADA,OnC8tHN,CmCptHM,uDACE,8CAAA,CAAA,sCnCstHR,CKt0HI,wC8B8HF,wDAEE,kBnC8sHF,CmChtHA,wDAEE,mBnC8sHF,CmChtHA,8CAGE,eAAA,CAFA,eAAA,CAGA,iCnC4sHF,CmCxsHE,8DACE,mBnC2sHJ,CmC5sHE,8DACE,kBnC2sHJ,CmC5sHE,oDAEE,UnC0sHJ,CmCtsHE,8EAEE,kBnCysHJ,CmC3sHE,8EAEE,mBnCysHJ,CmC3sHE,8EAGE,kBnCwsHJ,CmC3sHE,8EAGE,mBnCwsHJ,CmC3sHE,oEACE,UnC0sHJ,CmCpsHE,8EAEE,mBnCusHJ,CmCzsHE,8EAEE,kBnCusHJ,CmCzsHE,8EAGE,mBnCssHJ,CmCzsHE,8EAGE,kBnCssHJ,CmCzsHE,oEACE,UnCwsHJ,CACF,CmC1rHE,cAHF,olDAII,+BnC6rHF,CmC1rHE,g8GACE,sCnC4rHJ,CACF,CmCvrHA,4sDACE,uDnC0rHF,CmCtrHA,wmDACE,anCyrHF,CoCtiIA,MACE,8WAAA,CAEA,uXpC0iIF,CoChiIE,4BAEE,oBAAA,CADA,iBpCoiIJ,CoC/hII,sDAGE,SpCiiIN,CoCpiII,sDAGE,UpCiiIN,CoCpiII,4CACE,iBAAA,CACA,SpCkiIN,CoC5hIE,+CAEE,SAAA,CADA,UpC+hIJ,CoC1hIE,kDAOE,WpCgiIJ,CoCviIE,kDAOE,YpCgiIJ,CoCviIE,wCAME,qDAAA,CADA,UAAA,CADA,aAAA,CAIA,0CAAA,CAAA,kCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAVA,iBAAA,CACA,SAAA,CACA,YpCoiIJ,CoCxhIE,gEACE,wBTyWa,CSxWb,mDAAA,CAAA,2CpC0hIJ,CqC5kIA,QACE,8DAAA,CAGA,+CAAA,CACA,iEAAA,CACA,oDAAA,CACA,sDAAA,CACA,mDrC6kIF,CqCvkIA,SAEE,kBAAA,CADA,YrC2kIF,CKp7HI,mCiChKA,8BACE,UtC4lIJ,CsC7lIE,8BACE,WtC4lIJ,CsC7lIE,8BAGE,kBtC0lIJ,CsC7lIE,8BAGE,iBtC0lIJ,CsC7lIE,oBAKE,mBAAA,CADA,YAAA,CAFA,atC2lIJ,CsCrlII,kCACE,WtCwlIN,CsCzlII,kCACE,UtCwlIN,CsCzlII,kCAEE,iBAAA,CAAA,ctCulIN,CsCzlII,kCAEE,aAAA,CAAA,kBtCulIN,CACF","file":"main.css"} \ No newline at end of file +{"version":3,"sources":["src/assets/stylesheets/main/extensions/pymdownx/_keys.scss","../../../src/assets/stylesheets/main.scss","src/assets/stylesheets/main/_resets.scss","src/assets/stylesheets/main/_colors.scss","src/assets/stylesheets/main/_icons.scss","src/assets/stylesheets/main/_typeset.scss","src/assets/stylesheets/utilities/_break.scss","src/assets/stylesheets/main/components/_banner.scss","src/assets/stylesheets/main/components/_base.scss","src/assets/stylesheets/main/components/_clipboard.scss","src/assets/stylesheets/main/components/_consent.scss","src/assets/stylesheets/main/components/_content.scss","src/assets/stylesheets/main/components/_dialog.scss","src/assets/stylesheets/main/components/_feedback.scss","src/assets/stylesheets/main/components/_footer.scss","src/assets/stylesheets/main/components/_form.scss","src/assets/stylesheets/main/components/_header.scss","src/assets/stylesheets/main/components/_nav.scss","src/assets/stylesheets/main/components/_search.scss","src/assets/stylesheets/main/components/_select.scss","src/assets/stylesheets/main/components/_sidebar.scss","src/assets/stylesheets/main/components/_source.scss","src/assets/stylesheets/main/components/_tabs.scss","src/assets/stylesheets/main/components/_tag.scss","src/assets/stylesheets/main/components/_tooltip.scss","src/assets/stylesheets/main/components/_top.scss","src/assets/stylesheets/main/components/_version.scss","src/assets/stylesheets/main/extensions/markdown/_admonition.scss","node_modules/material-design-color/material-color.scss","src/assets/stylesheets/main/extensions/markdown/_footnotes.scss","src/assets/stylesheets/main/extensions/markdown/_toc.scss","src/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","src/assets/stylesheets/main/extensions/pymdownx/_critic.scss","src/assets/stylesheets/main/extensions/pymdownx/_details.scss","src/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","src/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","src/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","src/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss","src/assets/stylesheets/main/integrations/_mermaid.scss","src/assets/stylesheets/main/_modifiers.scss"],"names":[],"mappings":"AAgGM,gBCk+GN,CCtiHA,KAEE,6BAAA,CAAA,0BAAA,CAAA,qBAAA,CADA,qBDzBF,CC8BA,iBAGE,kBD3BF,CC8BE,gCANF,iBAOI,yBDzBF,CACF,CC6BA,KACE,QD1BF,CC8BA,qBAIE,uCD3BF,CC+BA,EACE,aAAA,CACA,oBD5BF,CCgCA,GAME,QAAA,CALA,kBAAA,CACA,aAAA,CACA,aAAA,CAEA,gBAAA,CADA,SD3BF,CCiCA,MACE,aD9BF,CCkCA,QAEE,eD/BF,CCmCA,IACE,iBDhCF,CCoCA,MAEE,uBAAA,CADA,gBDhCF,CCqCA,MAEE,eAAA,CACA,kBDlCF,CCsCA,OAKE,gBAAA,CACA,QAAA,CAHA,mBAAA,CACA,iBAAA,CAFA,QAAA,CADA,SD9BF,CCuCA,MACE,QAAA,CACA,YDpCF,CErDA,MAIE,6BAAA,CACA,oCAAA,CACA,mCAAA,CACA,0BAAA,CACA,sCAAA,CAGA,4BAAA,CACA,2CAAA,CACA,yBAAA,CACA,qCFmDF,CE7CA,+BAIE,kBF6CF,CE1CE,oHAEE,YF4CJ,CEnCA,qCAGE,+BAAA,CACA,sCAAA,CACA,wCAAA,CACA,yCAAA,CACA,0BAAA,CACA,sCAAA,CACA,wCAAA,CACA,yCAAA,CAGA,0BAAA,CACA,0BAAA,CAGA,4BAAA,CACA,iCAAA,CACA,kCAAA,CACA,mCAAA,CACA,mCAAA,CACA,kCAAA,CACA,iCAAA,CACA,+CAAA,CACA,6DAAA,CACA,gEAAA,CACA,4DAAA,CACA,4DAAA,CACA,6DAAA,CAGA,6CAAA,CAGA,+CAAA,CAGA,iCAAA,CAGA,gCAAA,CACA,gCAAA,CAGA,8BAAA,CACA,kCAAA,CACA,qCAAA,CAGA,kCAAA,CACA,gDAAA,CAGA,mDAAA,CACA,mDAAA,CAGA,+BAAA,CACA,0BAAA,CAGA,yBAAA,CACA,qCAAA,CACA,uCAAA,CACA,8BAAA,CACA,oCAAA,CAGA,8DAAA,CAKA,8DAAA,CAKA,0DFUF,CG5HE,aAIE,iBAAA,CAHA,aAAA,CAEA,aAAA,CADA,YHiIJ,CItIA,KACE,kCAAA,CACA,iCAAA,CAGA,uGAAA,CAKA,mFJuIF,CIjIA,iBAIE,mCAAA,CACA,6BAAA,CAFA,sCJsIF,CIhIA,aAIE,4BAAA,CADA,sCJoIF,CI3HA,MACE,0NAAA,CACA,mNAAA,CACA,oNJ8HF,CIvHA,YAGE,gCAAA,CAAA,kBAAA,CAFA,eAAA,CACA,eJ2HF,CItHE,aAPF,YAQI,gBJyHF,CACF,CItHE,uGAME,iBAAA,CAAA,cJwHJ,CIpHE,eAKE,uCAAA,CAHA,aAAA,CAEA,eAAA,CAHA,iBJ2HJ,CIlHE,8BAPE,eAAA,CAGA,qBJ6HJ,CIzHE,eAEE,kBAAA,CAEA,eAAA,CAHA,oBJwHJ,CIhHE,eAEE,gBAAA,CACA,eAAA,CAEA,qBAAA,CADA,eAAA,CAHA,mBJsHJ,CI9GE,kBACE,eJgHJ,CI5GE,eAEE,eAAA,CACA,qBAAA,CAFA,YJgHJ,CI1GE,8BAKE,uCAAA,CAFA,cAAA,CACA,eAAA,CAEA,qBAAA,CAJA,eJgHJ,CIxGE,eACE,wBJ0GJ,CItGE,eAGE,+DAAA,CAFA,iBAAA,CACA,cJyGJ,CIpGE,cACE,+BAAA,CACA,qBJsGJ,CInGI,mCAEE,sBJoGN,CIhGI,wCACE,+BJkGN,CI/FM,kDACE,uDJiGR,CI5FI,mBACE,kBAAA,CACA,iCJ8FN,CI1FI,4BACE,uCAAA,CACA,oBJ4FN,CIvFE,iDAIE,6BAAA,CACA,aAAA,CAFA,2BJ2FJ,CItFI,aARF,iDASI,oBJ2FJ,CACF,CIvFE,iBAIE,wCAAA,CACA,mBAAA,CACA,kCAAA,CAAA,0BAAA,CAJA,eAAA,CADA,uBAAA,CAEA,qBJ4FJ,CItFI,qCAEE,uCAAA,CADA,YJyFN,CInFE,gBAEE,iBAAA,CACA,eAAA,CAFA,iBJuFJ,CIlFI,qBASE,kCAAA,CAAA,0BAAA,CADA,eAAA,CAPA,aAAA,CAEA,QAAA,CAIA,uCAAA,CAHA,aAAA,CAFA,oCAAA,CASA,yDAAA,CADA,oBAAA,CAJA,iBAAA,CADA,iBJ0FN,CIjFM,2BACE,+CJmFR,CI/EM,wCAEE,YAAA,CADA,WJkFR,CI7EM,8CACE,oDJ+ER,CI5EQ,oDACE,0CJ8EV,CIvEE,gBAOE,4CAAA,CACA,mBAAA,CACA,mKACE,CANF,gCAAA,CAHA,oBAAA,CAEA,eAAA,CADA,uBAAA,CAIA,uBAAA,CADA,qBJ6EJ,CIlEE,iBAGE,6CAAA,CACA,kCAAA,CAAA,0BAAA,CAHA,aAAA,CACA,qBJsEJ,CIhEE,iBAGE,6DAAA,CADA,WAAA,CADA,oBJoEJ,CI/DI,oBAGE,wEAQE,2CAAA,CACA,mBAAA,CACA,8BAAA,CAJA,gCAAA,CACA,mBAAA,CAFA,eAAA,CAHA,UAAA,CAEA,cAAA,CADA,mBAAA,CAFA,iBAAA,CACA,WJuEN,CACF,CI1DE,kBACE,WJ4DJ,CIxDE,oDAEE,qBJ0DJ,CI5DE,oDAEE,sBJ0DJ,CItDE,iCACE,kBJ2DJ,CI5DE,iCACE,mBJ2DJ,CI5DE,iCAIE,2DJwDJ,CI5DE,iCAIE,4DJwDJ,CI5DE,uBAGE,uCAAA,CADA,aAAA,CAAA,cJ0DJ,CIpDE,eACE,oBJsDJ,CIlDE,kDAGE,kBJoDJ,CIvDE,kDAGE,mBJoDJ,CIvDE,8BAEE,SJqDJ,CIjDI,0DACE,iBJoDN,CIhDI,oCACE,2BJmDN,CIhDM,0CACE,2BJmDR,CI9CI,wDACE,kBJkDN,CInDI,wDACE,mBJkDN,CInDI,oCAEE,kBJiDN,CI9CM,kGAEE,aJkDR,CI9CM,0DACE,eJiDR,CI7CM,4HAEE,kBJgDR,CIlDM,4HAEE,mBJgDR,CIlDM,oFACE,kBAAA,CAAA,eJiDR,CI1CE,yBAEE,mBJ4CJ,CI9CE,yBAEE,oBJ4CJ,CI9CE,eACE,mBAAA,CAAA,cJ6CJ,CIxCE,kDAIE,WAAA,CADA,cJ2CJ,CInCI,4BAEE,oBJqCN,CIjCI,6BAEE,oBJmCN,CI/BI,kCACE,YJiCN,CI5BE,mBACE,iBAAA,CAGA,eAAA,CADA,cAAA,CAEA,iBAAA,CAHA,yBAAA,CAAA,sBAAA,CAAA,iBJiCJ,CI3BI,uBACE,aJ6BN,CIxBE,uBAGE,iBAAA,CADA,eAAA,CADA,eJ4BJ,CItBE,mBACE,cJwBJ,CIpBE,+BAME,2CAAA,CACA,iDAAA,CACA,mBAAA,CAPA,oBAAA,CAGA,gBAAA,CAFA,cAAA,CACA,aAAA,CAEA,iBJyBJ,CInBI,aAXF,+BAYI,aJsBJ,CACF,CIjBI,iCACE,gBJmBN,CIZM,8FACE,YJcR,CIVM,4FACE,eJYR,CIPI,8FACE,eJSN,CINM,kHACE,gBJQR,CIHI,kCAGE,eAAA,CAFA,cAAA,CACA,sBAAA,CAEA,kBJKN,CIDI,kCAGE,qDAAA,CAFA,sBAAA,CACA,kBJIN,CICI,wCACE,iCJCN,CIEM,8CACE,qDAAA,CACA,sDJAR,CIKI,iCACE,iBJHN,CIQE,wCACE,cJNJ,CISI,wDAIE,gBJDN,CIHI,wDAIE,iBJDN,CIHI,8CAME,UAAA,CALA,oBAAA,CAEA,YAAA,CAKA,oDAAA,CAAA,4CAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAHA,iCAAA,CAFA,0BAAA,CAHA,WJCN,CIWI,oDACE,oDJTN,CIaI,mEACE,kDAAA,CACA,yDAAA,CAAA,iDJXN,CIeI,oEACE,kDAAA,CACA,0DAAA,CAAA,kDJbN,CIkBE,wBACE,iBAAA,CACA,eAAA,CACA,iBJhBJ,CIoBE,mBACE,oBAAA,CAEA,kBAAA,CADA,eJjBJ,CIqBI,aANF,mBAOI,aJlBJ,CACF,CIqBI,8BACE,aAAA,CAEA,QAAA,CACA,eAAA,CAFA,UJjBN,CK9VI,wCD8XF,uBACE,iBJ5BF,CI+BE,4BACE,eJ7BJ,CACF,CMhiBA,WAGE,0CAAA,CADA,+BAAA,CADA,aNoiBF,CM/hBE,aANF,WAOI,YNkiBF,CACF,CM/hBE,oBAEE,2CAAA,CADA,gCNkiBJ,CM7hBE,kBAGE,eAAA,CADA,iBAAA,CADA,eNiiBJ,CM3hBE,6BACE,WNgiBJ,CMjiBE,6BACE,UNgiBJ,CMjiBE,mBAEE,aAAA,CACA,cAAA,CACA,uBN6hBJ,CM1hBI,yBACE,UN4hBN,CO5jBA,KASE,cAAA,CARA,WAAA,CACA,iBPgkBF,CK5ZI,oCEtKJ,KAaI,gBPyjBF,CACF,CKjaI,oCEtKJ,KAkBI,cPyjBF,CACF,COpjBA,KASE,2CAAA,CAPA,YAAA,CACA,qBAAA,CAKA,eAAA,CAHA,eAAA,CAJA,iBAAA,CAGA,UP0jBF,COljBE,aAZF,KAaI,aPqjBF,CACF,CKlaI,wCEhJF,yBAII,cPkjBJ,CACF,COziBA,SAEE,gBAAA,CAAA,iBAAA,CADA,eP6iBF,COxiBA,cACE,YAAA,CACA,qBAAA,CACA,WP2iBF,COxiBE,aANF,cAOI,aP2iBF,CACF,COviBA,SACE,WP0iBF,COviBE,gBACE,YAAA,CACA,WAAA,CACA,iBPyiBJ,COpiBA,aACE,eAAA,CACA,sBPuiBF,CO9hBA,WACE,YPiiBF,CO5hBA,WAGE,QAAA,CACA,SAAA,CAHA,iBAAA,CACA,OPiiBF,CO5hBE,uCACE,aP8hBJ,CO1hBE,+BAEE,uCAAA,CADA,kBP6hBJ,COvhBA,SASE,2CAAA,CACA,mBAAA,CAFA,gCAAA,CADA,gBAAA,CADA,YAAA,CAMA,SAAA,CADA,uCAAA,CANA,mBAAA,CAJA,cAAA,CAYA,2BAAA,CATA,UPiiBF,COrhBE,eAEE,SAAA,CAIA,uBAAA,CAHA,oEACE,CAHF,UP0hBJ,CO5gBA,MACE,WP+gBF,CQxqBA,MACE,+PR0qBF,CQpqBA,cASE,mBAAA,CAFA,0CAAA,CACA,cAAA,CAFA,YAAA,CAIA,uCAAA,CACA,oBAAA,CAVA,iBAAA,CAEA,UAAA,CADA,QAAA,CAUA,qBAAA,CAPA,WAAA,CADA,SR+qBF,CQpqBE,aAfF,cAgBI,YRuqBF,CACF,CQpqBE,kCAEE,uCAAA,CADA,YRuqBJ,CQlqBE,qBACE,uCRoqBJ,CQhqBE,wCACE,+BRkqBJ,CQ7pBE,oBAME,6BAAA,CADA,UAAA,CAJA,aAAA,CAEA,cAAA,CACA,aAAA,CAGA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CARA,aRuqBJ,CQ3pBE,sBACE,cR6pBJ,CQ1pBI,2BACE,2CR4pBN,CQtpBI,kEAEE,uDAAA,CADA,+BRypBN,CS/tBA,mBACE,GACE,SAAA,CACA,0BTkuBF,CS/tBA,GACE,SAAA,CACA,uBTiuBF,CACF,CS7tBA,mBACE,GACE,ST+tBF,CS5tBA,GACE,ST8tBF,CACF,CSntBE,qBASE,2BAAA,CADA,mCAAA,CAAA,2BAAA,CAFA,0BAAA,CADA,WAAA,CAEA,SAAA,CANA,cAAA,CACA,KAAA,CAEA,UAAA,CADA,ST2tBJ,CSjtBE,mBAcE,mDAAA,CANA,2CAAA,CACA,QAAA,CACA,mBAAA,CARA,QAAA,CASA,kDACE,CAPF,eAAA,CAEA,aAAA,CADA,SAAA,CALA,cAAA,CAGA,UAAA,CADA,ST4tBJ,CS7sBE,kBACE,aT+sBJ,CS3sBE,sBACE,YAAA,CACA,YT6sBJ,CS1sBI,oCACE,aT4sBN,CSvsBE,sBACE,mBTysBJ,CStsBI,6CACE,cTwsBN,CKlmBI,wCIvGA,6CAKI,aAAA,CAEA,gBAAA,CACA,iBAAA,CAFA,UT0sBN,CACF,CSnsBE,kBACE,cTqsBJ,CUtyBA,YACE,WAAA,CAIA,WVsyBF,CUnyBE,mBAEE,qBAAA,CADA,iBVsyBJ,CKzoBI,sCKtJE,4EACE,kBVkyBN,CU9xBI,0JACE,mBVgyBN,CUjyBI,8EACE,kBVgyBN,CACF,CU3xBI,0BAGE,UAAA,CAFA,aAAA,CACA,YV8xBN,CUzxBI,+BACE,eV2xBN,CUrxBE,8BACE,WV0xBJ,CU3xBE,8BACE,UV0xBJ,CU3xBE,8BAIE,iBVuxBJ,CU3xBE,8BAIE,kBVuxBJ,CU3xBE,oBAGE,cAAA,CADA,SVyxBJ,CUpxBI,aAPF,oBAQI,YVuxBJ,CACF,CUpxBI,gCACE,yCVsxBN,CUlxBI,wBACE,cAAA,CACA,kBVoxBN,CUjxBM,kCACE,oBVmxBR,CWp1BA,qBAeE,WXq1BF,CWp2BA,qBAeE,UXq1BF,CWp2BA,WAOE,2CAAA,CACA,mBAAA,CANA,YAAA,CAOA,8BAAA,CALA,iBAAA,CAMA,SAAA,CALA,mBAAA,CACA,mBAAA,CALA,cAAA,CAaA,0BAAA,CAHA,wCACE,CATF,SXi2BF,CWl1BE,aAlBF,WAmBI,YXq1BF,CACF,CWl1BE,mBAEE,SAAA,CADA,mBAAA,CAKA,uBAAA,CAHA,kEXq1BJ,CW90BE,kBAEE,gCAAA,CADA,eXi1BJ,CYn3BA,aACE,gBAAA,CACA,iBZs3BF,CYn3BE,sBAGE,WAAA,CADA,QAAA,CADA,SZu3BJ,CYj3BE,oBAEE,eAAA,CADA,eZo3BJ,CY/2BE,oBACE,iBZi3BJ,CY72BE,mBAIE,sBAAA,CAFA,YAAA,CACA,cAAA,CAEA,sBAAA,CAJA,iBZm3BJ,CY52BI,iDACE,yCZ82BN,CY12BI,6BACE,iBZ42BN,CYv2BE,mBAGE,uCAAA,CACA,cAAA,CAHA,aAAA,CACA,cAAA,CAGA,sBZy2BJ,CYt2BI,gDACE,+BZw2BN,CYp2BI,4BACE,0CAAA,CACA,mBZs2BN,CYj2BE,mBAEE,SAAA,CADA,iBAAA,CAKA,2BAAA,CAHA,8DZo2BJ,CY91BI,qBAEE,aAAA,CADA,eZi2BN,CY51BI,6BACE,SAAA,CACA,uBZ81BN,Ca76BA,WAEE,0CAAA,CADA,+Bbi7BF,Ca76BE,aALF,WAMI,Ybg7BF,CACF,Ca76BE,kBACE,6BAAA,CAEA,aAAA,CADA,abg7BJ,Ca56BI,gCACE,Yb86BN,Caz6BE,iBAOE,eAAA,CANA,YAAA,CAKA,cAAA,CAGA,mBAAA,CAAA,eAAA,CADA,cAAA,CAGA,uCAAA,CADA,eAAA,CAEA,uBbu6BJ,Cap6BI,8CACE,Ubs6BN,Cal6BI,+BACE,oBbo6BN,CKtxBI,wCQvIE,uBACE,abg6BN,Ca75BO,yCACC,Yb+5BR,CACF,Ca15BI,iCACE,gBb65BN,Ca95BI,iCACE,iBb65BN,Ca95BI,uBAEE,gBb45BN,Caz5BM,iCACE,eb25BR,Car5BE,kBACE,WAAA,CAIA,eAAA,CADA,mBAAA,CAFA,6BAAA,CACA,cAAA,CAGA,kBbu5BJ,Can5BE,mBAEE,YAAA,CADA,abs5BJ,Caj5BE,sBACE,gBAAA,CACA,Ubm5BJ,Ca94BA,gBACE,gDbi5BF,Ca94BE,uBACE,YAAA,CACA,cAAA,CACA,6BAAA,CACA,abg5BJ,Ca54BE,kCACE,sCb84BJ,Ca34BI,gFACE,+Bb64BN,Car4BA,cAKE,wCAAA,CADA,gBAAA,CADA,iBAAA,CADA,eAAA,CADA,Ub44BF,CKh2BI,mCQ7CJ,cASI,Ubw4BF,CACF,Cap4BE,yBACE,sCbs4BJ,Ca/3BA,WAEE,cAAA,CADA,qBbm4BF,CK72BI,mCQvBJ,WAMI,ebk4BF,CACF,Ca/3BE,iBACE,oBAAA,CAEA,aAAA,CACA,iBAAA,CAFA,Ybm4BJ,Ca93BI,wBACE,ebg4BN,Ca53BI,qBAGE,iBAAA,CAFA,gBAAA,CACA,mBb+3BN,CcniCE,uBAME,kBAAA,CACA,mBAAA,CAHA,gCAAA,CACA,cAAA,CAJA,oBAAA,CAEA,eAAA,CADA,kBAAA,CAMA,gEdsiCJ,CchiCI,gCAEE,2CAAA,CACA,uCAAA,CAFA,gCdoiCN,Cc9hCI,0DAEE,0CAAA,CACA,sCAAA,CAFA,+BdkiCN,Cc3hCE,gCAKE,4BdgiCJ,CcriCE,gEAME,6Bd+hCJ,CcriCE,gCAME,4Bd+hCJ,CcriCE,sBAIE,6DAAA,CAGA,8BAAA,CAJA,eAAA,CAFA,aAAA,CACA,eAAA,CAMA,sCd6hCJ,CcxhCI,wDACE,6CAAA,CACA,8Bd0hCN,CcthCI,+BACE,UdwhCN,Ce3kCA,WAOE,2CAAA,CAGA,8CACE,CALF,gCAAA,CADA,aAAA,CAHA,MAAA,CADA,eAAA,CACA,OAAA,CACA,KAAA,CACA,SfklCF,CevkCE,aAfF,WAgBI,Yf0kCF,CACF,CevkCE,mBAIE,2BAAA,CAHA,iEf0kCJ,CenkCE,mBACE,kDACE,CAEF,kEfmkCJ,Ce7jCE,kBAEE,kBAAA,CADA,YAAA,CAEA,ef+jCJ,Ce3jCE,mBAKE,kBAAA,CAEA,cAAA,CAHA,YAAA,CAIA,uCAAA,CALA,aAAA,CAFA,iBAAA,CAQA,uBAAA,CAHA,qBAAA,CAJA,SfokCJ,Ce1jCI,yBACE,Uf4jCN,CexjCI,iCACE,oBf0jCN,CetjCI,uCAEE,uCAAA,CADA,YfyjCN,CepjCI,2BAEE,YAAA,CADA,afujCN,CKz8BI,wCU/GA,2BAMI,YfsjCN,CACF,CenjCM,8DAIE,iBAAA,CAHA,aAAA,CAEA,aAAA,CADA,UfujCR,CKv+BI,mCUzEA,iCAII,YfgjCN,CACF,Ce7iCM,wCACE,Yf+iCR,Ce3iCM,+CACE,oBf6iCR,CKl/BI,sCUtDA,iCAII,YfwiCN,CACF,CeniCE,kBAEE,YAAA,CACA,cAAA,CAFA,iBAAA,CAIA,8DACE,CAFF,kBfsiCJ,CehiCI,oCAGE,SAAA,CADA,mBAAA,CAKA,6BAAA,CAHA,8DACE,CAJF,UfsiCN,Ce7hCM,8CACE,8Bf+hCR,Ce1hCI,8BACE,ef4hCN,CevhCE,4BAGE,gBf4hCJ,Ce/hCE,4BAGE,iBf4hCJ,Ce/hCE,4BAIE,kBf2hCJ,Ce/hCE,4BAIE,iBf2hCJ,Ce/hCE,kBACE,WAAA,CAIA,eAAA,CAHA,aAAA,CAIA,kBfyhCJ,CethCI,4CAGE,SAAA,CADA,mBAAA,CAKA,8BAAA,CAHA,8DACE,CAJF,Uf4hCN,CenhCM,sDACE,6BfqhCR,CejhCM,8DAGE,SAAA,CADA,mBAAA,CAKA,uBAAA,CAHA,8DACE,CAJF,SfuhCR,Ce5gCI,uCAGE,WAAA,CAFA,iBAAA,CACA,Uf+gCN,CezgCE,mBACE,YAAA,CACA,aAAA,CACA,cAAA,CAEA,+CACE,CAFF,kBf4gCJ,CetgCI,8DACE,WAAA,CACA,SAAA,CACA,oCfwgCN,CejgCE,mBACE,YfmgCJ,CKxjCI,mCUoDF,6BAQI,gBfmgCJ,Ce3gCA,6BAQI,iBfmgCJ,Ce3gCA,mBAKI,aAAA,CAEA,iBAAA,CADA,afqgCJ,CACF,CKhkCI,sCUoDF,6BAaI,kBfmgCJ,CehhCA,6BAaI,mBfmgCJ,CACF,CgB3uCA,MACE,0MAAA,CACA,gMAAA,CACA,yNhB8uCF,CgBxuCA,QACE,eAAA,CACA,ehB2uCF,CgBxuCE,eAKE,uCAAA,CAJA,aAAA,CAGA,eAAA,CADA,eAAA,CADA,eAAA,CAIA,sBhB0uCJ,CgBvuCI,+BACE,YhByuCN,CgBtuCM,mCAEE,WAAA,CADA,UhByuCR,CgBjuCQ,sFAME,iBAAA,CALA,aAAA,CAGA,aAAA,CADA,cAAA,CAEA,kBAAA,CAHA,UhBuuCV,CgB5tCE,cAGE,eAAA,CADA,QAAA,CADA,ShBguCJ,CgB1tCE,cACE,ehB4tCJ,CgBztCI,sCACE,ehB2tCN,CgB5tCI,sCACE,chB2tCN,CgBttCE,cAEE,kBAAA,CAKA,cAAA,CANA,YAAA,CAEA,6BAAA,CACA,iBAAA,CACA,eAAA,CAIA,uBAAA,CAHA,sBAAA,CAEA,sBhBytCJ,CgBrtCI,sBACE,uChButCN,CgBntCI,oCACE,+BhBqtCN,CgBjtCI,0CACE,UhBmtCN,CgB/sCI,wCACE,+BhBitCN,CgB7sCI,4BACE,uCAAA,CACA,oBhB+sCN,CgB3sCI,0CACE,YhB6sCN,CgB1sCM,yDAKE,6BAAA,CAJA,aAAA,CAEA,WAAA,CACA,qCAAA,CAAA,6BAAA,CAFA,UhB+sCR,CgBxsCM,kDACE,YhB0sCR,CgBrsCI,gBAEE,cAAA,CADA,YhBwsCN,CgBlsCE,cACE,ahBosCJ,CgBhsCE,gBACE,YhBksCJ,CKjpCI,wCW1CA,0CASE,2CAAA,CAHA,YAAA,CACA,qBAAA,CACA,WAAA,CALA,MAAA,CADA,iBAAA,CACA,OAAA,CACA,KAAA,CACA,ShBisCJ,CgBtrCI,+DACE,eAAA,CACA,ehBwrCN,CgBprCI,gCAQE,qDAAA,CAHA,uCAAA,CAEA,cAAA,CALA,aAAA,CAEA,kBAAA,CADA,wBAAA,CAFA,iBAAA,CAKA,kBhBwrCN,CgBnrCM,wDAGE,UhByrCR,CgB5rCM,wDAGE,WhByrCR,CgB5rCM,8CAIE,aAAA,CAEA,aAAA,CACA,YAAA,CANA,iBAAA,CACA,SAAA,CAGA,YhBurCR,CgBlrCQ,oDAKE,6BAAA,CADA,UAAA,CAHA,aAAA,CAEA,WAAA,CAGA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAPA,UhB2rCV,CgB/qCM,8CAGE,2CAAA,CACA,gEACE,CAJF,eAAA,CAKA,4BAAA,CAJA,kBhBorCR,CgB7qCQ,2DACE,YhB+qCV,CgB1qCM,8CAGE,2CAAA,CADA,gCAAA,CADA,ehB8qCR,CgBxqCM,yCAIE,aAAA,CAFA,UAAA,CAIA,YAAA,CADA,aAAA,CAJA,iBAAA,CACA,WAAA,CACA,ShB6qCR,CgBrqCI,+BACE,MhBuqCN,CgBnqCI,+BAEE,4DAAA,CADA,ShBsqCN,CgBlqCM,qDACE,+BhBoqCR,CgBjqCQ,sHACE,+BhBmqCV,CgB7pCI,+BAEE,YAAA,CADA,mBhBgqCN,CgB5pCM,uDAGE,mBhB+pCR,CgBlqCM,uDAGE,kBhB+pCR,CgBlqCM,6CAIE,gBAAA,CAFA,aAAA,CADA,YhBiqCR,CgB3pCQ,mDAKE,6BAAA,CADA,UAAA,CAHA,aAAA,CAEA,WAAA,CAGA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAPA,UhBoqCV,CgBppCM,+CACE,mBhBspCR,CgB9oCM,4CAEE,wBAAA,CADA,ehBipCR,CgB7oCQ,oEACE,mBhB+oCV,CgBhpCQ,oEACE,oBhB+oCV,CgB3oCQ,4EACE,iBhB6oCV,CgB9oCQ,4EACE,kBhB6oCV,CgBzoCQ,oFACE,mBhB2oCV,CgB5oCQ,oFACE,oBhB2oCV,CgBvoCQ,4FACE,mBhByoCV,CgB1oCQ,4FACE,oBhByoCV,CgBloCE,mBACE,wBhBooCJ,CgBhoCE,wBACE,YAAA,CACA,SAAA,CAIA,0BAAA,CAHA,oEhBmoCJ,CgB7nCI,kCACE,2BhB+nCN,CgB1nCE,gCACE,SAAA,CAIA,uBAAA,CAHA,qEhB6nCJ,CgBvnCI,8CAEE,kCAAA,CAAA,0BhBwnCN,CACF,CK/xCI,wCW+KA,0CACE,YhBmnCJ,CgBhnCI,yDACE,UhBknCN,CgB9mCI,wDACE,YhBgnCN,CgB5mCI,kDACE,YhB8mCN,CgBzmCE,gBAIE,iDAAA,CADA,gCAAA,CAFA,aAAA,CACA,ehB6mCJ,CACF,CK51CM,6DWwPF,6CACE,YhBumCJ,CgBpmCI,4DACE,UhBsmCN,CgBlmCI,2DACE,YhBomCN,CgBhmCI,qDACE,YhBkmCN,CACF,CKp1CI,mCW0PA,kCAME,qCAAA,CACA,qDAAA,CANA,eAAA,CACA,KAAA,CAGA,ShB6lCJ,CgBxlCI,6CACE,uBhB0lCN,CgBtlCI,gDACE,YhBwlCN,CACF,CKn2CI,sCW7JJ,QA8aI,oDhBslCF,CgBnlCE,gCAME,qCAAA,CACA,qDAAA,CANA,eAAA,CACA,KAAA,CAGA,ShBqlCJ,CgBhlCI,8CACE,uBhBklCN,CgBxkCE,sEACE,YhB6kCJ,CgBzkCE,sEACE,ahB2kCJ,CgBvkCE,6CACE,YhBykCJ,CgBrkCE,uBACE,aAAA,CACA,ehBukCJ,CgBpkCI,kCACE,ehBskCN,CgBlkCI,qCACE,eAAA,CACA,mBhBokCN,CgBjkCM,0CACE,uChBmkCR,CgB/jCM,mDACE,mBhBikCR,CgB7jCM,mDACE,YhB+jCR,CgB1jCI,+BACE,ahB4jCN,CgBzjCM,2DACE,ShB2jCR,CgBrjCE,cAGE,kBAAA,CADA,YAAA,CAEA,gCAAA,CAHA,WhB0jCJ,CgBpjCI,oBACE,uDhBsjCN,CgBljCI,oBAME,6BAAA,CACA,kBAAA,CAFA,UAAA,CAJA,oBAAA,CAEA,WAAA,CAMA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAJA,yBAAA,CAJA,qBAAA,CAFA,UhB8jCN,CgBjjCM,8BACE,wBhBmjCR,CgB/iCM,sKAEE,uBhBgjCR,CgBjiCI,+HACE,YhBuiCN,CgBpiCM,oDACE,aAAA,CACA,ShBsiCR,CgBniCQ,kEAOE,qCAAA,CACA,qDAAA,CAFA,eAAA,CADA,YAAA,CADA,eAAA,CAHA,eAAA,CACA,KAAA,CACA,ShB0iCV,CgBliCU,4FACE,mBhBoiCZ,CgBhiCU,gFACE,YhBkiCZ,CgB5hCM,kDACE,uChB8hCR,CgBxhCI,2CACE,ahB0hCN,CgBvhCM,iFACE,mBhByhCR,CgB1hCM,iFACE,kBhByhCR,CgBhhCI,mFACE,ehBkhCN,CgB/gCM,iGACE,ShBihCR,CgB5gCI,qFAGE,mDhB8gCN,CgBjhCI,qFAGE,oDhB8gCN,CgBjhCI,2EACE,aAAA,CACA,oBhB+gCN,CgB3gCM,0FACE,YhB6gCR,CACF,CiB7oDA,MACE,igBjBgpDF,CiB1oDA,WACE,iBjB6oDF,CK/+CI,mCY/JJ,WAKI,ejB6oDF,CACF,CiB1oDE,kBACE,YjB4oDJ,CiBxoDE,oBAEE,SAAA,CADA,SjB2oDJ,CKx+CI,wCYpKF,8BAkBI,YjBwoDJ,CiB1pDA,8BAkBI,ajBwoDJ,CiB1pDA,oBAYI,2CAAA,CACA,kBAAA,CAJA,WAAA,CACA,eAAA,CACA,mBAAA,CALA,iBAAA,CACA,SAAA,CAUA,uBAAA,CAHA,4CACE,CAPF,UjBkpDJ,CiBroDI,+DACE,SAAA,CACA,oCjBuoDN,CACF,CK9gDI,mCYjJF,8BAyCI,MjBioDJ,CiB1qDA,8BAyCI,OjBioDJ,CiB1qDA,oBAoCI,0BAAA,CADA,cAAA,CADA,QAAA,CAHA,cAAA,CACA,KAAA,CAKA,sDACE,CALF,OjByoDJ,CiB9nDI,+DAME,YAAA,CACA,SAAA,CACA,4CACE,CARF,UjBmoDN,CACF,CK7gDI,wCYxGA,+DAII,mBjBqnDN,CACF,CK3jDM,6DY/DF,+DASI,mBjBqnDN,CACF,CKhkDM,6DY/DF,+DAcI,mBjBqnDN,CACF,CiBhnDE,kBAEE,kCAAA,CAAA,0BjBinDJ,CK/hDI,wCYpFF,4BAmBI,MjB6mDJ,CiBhoDA,4BAmBI,OjB6mDJ,CiBhoDA,kBAUI,QAAA,CAEA,SAAA,CADA,eAAA,CALA,cAAA,CACA,KAAA,CAWA,wBAAA,CALA,qGACE,CALF,OAAA,CADA,SjBwnDJ,CiB1mDI,4BACE,yBjB4mDN,CiBxmDI,6DAEE,WAAA,CACA,SAAA,CAMA,uBAAA,CALA,sGACE,CAJF,UjB8mDN,CACF,CK1kDI,mCYjEF,4BA2CI,WjBwmDJ,CiBnpDA,4BA2CI,UjBwmDJ,CiBnpDA,kBA6CI,eAAA,CAHA,iBAAA,CAIA,8CAAA,CAFA,ajBumDJ,CACF,CKzmDM,6DYOF,6DAII,ajBkmDN,CACF,CKxlDI,sCYfA,6DASI,ajBkmDN,CACF,CiB7lDE,iBAIE,2CAAA,CACA,0BAAA,CAFA,aAAA,CAFA,iBAAA,CAKA,2CACE,CALF,SjBmmDJ,CKrmDI,mCYAF,iBAaI,0BAAA,CACA,mBAAA,CAFA,ajB+lDJ,CiB1lDI,uBACE,0BjB4lDN,CACF,CiBxlDI,4DAEE,2CAAA,CACA,6BAAA,CACA,8BAAA,CAHA,gCjB6lDN,CiBrlDE,4BAKE,mBAAA,CAAA,oBjB0lDJ,CiB/lDE,4BAKE,mBAAA,CAAA,oBjB0lDJ,CiB/lDE,kBAQE,gBAAA,CAFA,eAAA,CAFA,WAAA,CAHA,iBAAA,CAMA,sBAAA,CAJA,UAAA,CADA,SjB6lDJ,CiBplDI,+BACE,qBjBslDN,CiBllDI,kEAEE,uCjBmlDN,CiB/kDI,6BACE,YjBilDN,CKrnDI,wCYaF,kBA8BI,eAAA,CADA,aAAA,CADA,UjBklDJ,CACF,CK/oDI,mCYgCF,4BAmCI,mBjBklDJ,CiBrnDA,4BAmCI,oBjBklDJ,CiBrnDA,kBAqCI,aAAA,CADA,ejBilDJ,CiB7kDI,+BACE,uCjB+kDN,CiB3kDI,mCACE,gCjB6kDN,CiBzkDI,6DACE,kBjB2kDN,CiBxkDM,8EACE,uCjB0kDR,CiBtkDM,0EACE,WjBwkDR,CACF,CiBlkDE,iBAIE,cAAA,CAHA,oBAAA,CAEA,aAAA,CAEA,kCACE,CAJF,YjBukDJ,CiB/jDI,uBACE,UjBikDN,CiB7jDI,yCAGE,UjBgkDN,CiBnkDI,yCAGE,WjBgkDN,CiBnkDI,+BACE,iBAAA,CACA,SAAA,CAEA,SjB+jDN,CiB5jDM,6CACE,oBjB8jDR,CKrqDI,wCY+FA,yCAcI,UjB6jDN,CiB3kDE,yCAcI,WjB6jDN,CiB3kDE,+BAaI,SjB8jDN,CiB1jDM,+CACE,YjB4jDR,CACF,CKjsDI,mCYkHA,+BAwBI,mBjB2jDN,CiBxjDM,8CACE,YjB0jDR,CACF,CiBpjDE,8BAGE,WjBwjDJ,CiB3jDE,8BAGE,UjBwjDJ,CiB3jDE,oBAKE,mBAAA,CAJA,iBAAA,CACA,SAAA,CAEA,SjBujDJ,CK7rDI,wCYkIF,8BAUI,WjBsjDJ,CiBhkDA,8BAUI,UjBsjDJ,CiBhkDA,oBASI,SjBujDJ,CACF,CiBnjDI,uCACE,iBjByjDN,CiB1jDI,uCACE,kBjByjDN,CiB1jDI,6BAEE,uCAAA,CACA,SAAA,CAIA,oBAAA,CAHA,+DjBsjDN,CiBhjDM,iDAEE,uCAAA,CADA,YjBmjDR,CiB9iDM,gGAGE,SAAA,CADA,mBAAA,CAEA,kBjB+iDR,CiB5iDQ,sGACE,UjB8iDV,CiBviDE,8BAOE,mBAAA,CAAA,oBjB8iDJ,CiBrjDE,8BAOE,mBAAA,CAAA,oBjB8iDJ,CiBrjDE,oBAIE,kBAAA,CAKA,yCAAA,CANA,YAAA,CAKA,eAAA,CAFA,WAAA,CAKA,SAAA,CAVA,iBAAA,CACA,KAAA,CAUA,uBAAA,CAFA,kBAAA,CALA,UjBgjDJ,CKvvDI,mCYkMF,8BAgBI,mBjB0iDJ,CiB1jDA,8BAgBI,oBjB0iDJ,CiB1jDA,oBAiBI,ejByiDJ,CACF,CiBtiDI,+DACE,SAAA,CACA,0BjBwiDN,CiBniDE,6BAKE,+BjBsiDJ,CiB3iDE,0DAME,gCjBqiDJ,CiB3iDE,6BAME,+BjBqiDJ,CiB3iDE,mBAIE,eAAA,CAHA,iBAAA,CAEA,UAAA,CADA,SjByiDJ,CKtvDI,wCY2MF,mBAWI,QAAA,CADA,UjBsiDJ,CACF,CK/wDI,mCY8NF,mBAiBI,SAAA,CADA,UAAA,CAEA,sBjBqiDJ,CiBliDI,8DACE,8BAAA,CACA,SjBoiDN,CACF,CiB/hDE,uBASE,kCAAA,CAAA,0BAAA,CAFA,2CAAA,CANA,WAAA,CACA,eAAA,CAIA,kBjBgiDJ,CiB1hDI,iEAZF,uBAaI,uBjB6hDJ,CACF,CK5zDM,6DYiRJ,uBAkBI,ajB6hDJ,CACF,CK3yDI,sCY2PF,uBAuBI,ajB6hDJ,CACF,CKhzDI,mCY2PF,uBA4BI,YAAA,CAEA,yDAAA,CADA,oBjB8hDJ,CiB1hDI,kEACE,ejB4hDN,CiBxhDI,6BACE,+CjB0hDN,CiBthDI,0CAEE,YAAA,CADA,WjByhDN,CiBphDI,gDACE,oDjBshDN,CiBnhDM,sDACE,0CjBqhDR,CACF,CiB9gDA,kBACE,gCAAA,CACA,qBjBihDF,CiB9gDE,wBAKE,qDAAA,CADA,uCAAA,CAFA,gBAAA,CACA,kBAAA,CAFA,eAAA,CAKA,uBjBghDJ,CKp1DI,mCY8TF,kCAUI,mBjBghDJ,CiB1hDA,kCAUI,oBjBghDJ,CACF,CiB5gDE,wBAGE,eAAA,CADA,QAAA,CADA,SAAA,CAIA,wBAAA,CAAA,gBjB6gDJ,CiBzgDE,wBACE,yDjB2gDJ,CiBxgDI,oCACE,ejB0gDN,CiBrgDE,wBACE,aAAA,CACA,YAAA,CAEA,uBAAA,CADA,gCjBwgDJ,CiBpgDI,4DACE,uDjBsgDN,CiBlgDI,gDACE,mBjBogDN,CiB//CE,gCAKE,cAAA,CADA,aAAA,CAEA,YAAA,CALA,eAAA,CAMA,uBAAA,CALA,KAAA,CACA,SjBqgDJ,CiB9/CI,wCACE,YjBggDN,CiB3/CI,wDACE,YjB6/CN,CiBz/CI,oCAGE,+BAAA,CADA,gBAAA,CADA,mBAAA,CAGA,2CjB2/CN,CKt4DI,mCYuYA,8CAUI,mBjBy/CN,CiBngDE,8CAUI,oBjBy/CN,CACF,CiBr/CI,oFAEE,uDAAA,CADA,+BjBw/CN,CiBl/CE,sCACE,2CjBo/CJ,CiB/+CE,2BAGE,eAAA,CADA,eAAA,CADA,iBjBm/CJ,CKv5DI,mCYmaF,qCAOI,mBjBi/CJ,CiBx/CA,qCAOI,oBjBi/CJ,CACF,CiB7+CE,kCAEE,MjBm/CJ,CiBr/CE,kCAEE,OjBm/CJ,CiBr/CE,wBAME,uCAAA,CAFA,aAAA,CACA,YAAA,CAJA,iBAAA,CAEA,YjBk/CJ,CKj5DI,wCY4ZF,wBAUI,YjB++CJ,CACF,CiB5+CI,8BAKE,6BAAA,CADA,UAAA,CAHA,oBAAA,CAEA,WAAA,CAGA,+CAAA,CAAA,uCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAPA,UjBq/CN,CiB3+CM,wCACE,oBjB6+CR,CiBv+CE,8BAGE,uCAAA,CAFA,gBAAA,CACA,ejB0+CJ,CiBt+CI,iCAKE,gCAAA,CAHA,eAAA,CACA,eAAA,CACA,eAAA,CAHA,ejB4+CN,CiBr+CM,sCACE,oBjBu+CR,CiBl+CI,iCAKE,gCAAA,CAHA,gBAAA,CACA,eAAA,CACA,eAAA,CAHA,ajBw+CN,CiBj+CM,sCACE,oBjBm+CR,CiB79CE,yBAKE,gCAAA,CAJA,aAAA,CAEA,gBAAA,CACA,iBAAA,CAFA,ajBk+CJ,CiB39CE,uBAGE,wBAAA,CAFA,+BAAA,CACA,yBjB89CJ,CkBloEA,WACE,iBAAA,CACA,SlBqoEF,CkBloEE,kBAOE,2CAAA,CACA,mBAAA,CACA,8BAAA,CAHA,gCAAA,CAHA,QAAA,CAEA,gBAAA,CADA,YAAA,CAMA,SAAA,CATA,iBAAA,CACA,sBAAA,CAaA,mCAAA,CAJA,oElBqoEJ,CkB9nEI,6EACE,gBAAA,CACA,SAAA,CAKA,+BAAA,CAJA,8ElBioEN,CkBznEI,wBAWE,+BAAA,CAAA,8CAAA,CAFA,6BAAA,CAAA,8BAAA,CACA,YAAA,CAFA,UAAA,CAHA,QAAA,CAFA,QAAA,CAIA,kBAAA,CADA,iBAAA,CALA,iBAAA,CACA,KAAA,CAEA,OlBkoEN,CkBtnEE,iBAOE,mBAAA,CAFA,eAAA,CACA,oBAAA,CAHA,QAAA,CAFA,kBAAA,CAGA,aAAA,CAFA,SlB6nEJ,CkBpnEE,iBACE,kBlBsnEJ,CkBlnEE,2BAGE,kBAAA,CAAA,oBlBwnEJ,CkB3nEE,2BAGE,mBAAA,CAAA,mBlBwnEJ,CkB3nEE,iBAIE,cAAA,CAHA,aAAA,CAIA,YAAA,CAIA,uBAAA,CAHA,2CACE,CALF,UlBynEJ,CkB/mEI,8CACE,+BlBinEN,CkB7mEI,uBACE,qDlB+mEN,CmBnsEA,YAIE,qBAAA,CADA,aAAA,CAGA,gBAAA,CALA,eAAA,CACA,UAAA,CAGA,anBusEF,CmBnsEE,aATF,YAUI,YnBssEF,CACF,CKxhEI,wCc3KF,+BAeI,anBisEJ,CmBhtEA,+BAeI,cnBisEJ,CmBhtEA,qBAUI,2CAAA,CAHA,aAAA,CAEA,WAAA,CALA,cAAA,CACA,KAAA,CASA,uBAAA,CAHA,iEACE,CAJF,aAAA,CAFA,SnB0sEJ,CmB9rEI,mEACE,8BAAA,CACA,6BnBgsEN,CmB7rEM,6EACE,8BnB+rER,CmB1rEI,6CAEE,QAAA,CAAA,MAAA,CACA,QAAA,CAEA,eAAA,CAJA,iBAAA,CACA,OAAA,CAEA,qBAAA,CAFA,KnB+rEN,CACF,CKvkEI,sCctKJ,YAuDI,QnB0rEF,CmBvrEE,mBACE,WnByrEJ,CmBrrEE,6CACE,UnBurEJ,CACF,CmBnrEE,uBACE,YAAA,CACA,OnBqrEJ,CKtlEI,mCcjGF,uBAMI,QnBqrEJ,CmBlrEI,8BACE,WnBorEN,CmBhrEI,qCACE,anBkrEN,CmB9qEI,+CACE,kBnBgrEN,CACF,CmB3qEE,wBAUE,uBAAA,CANA,kCAAA,CAAA,0BAAA,CAHA,cAAA,CACA,eAAA,CASA,yDAAA,CAFA,oBnB0qEJ,CmBrqEI,2CAEE,YAAA,CADA,WnBwqEN,CmBnqEI,mEACE,+CnBqqEN,CmBlqEM,qHACE,oDnBoqER,CmBjqEQ,iIACE,0CnBmqEV,CmBppEE,wCAGE,wBACE,qBnBopEJ,CmBhpEE,6BACE,kCnBkpEJ,CmBnpEE,6BACE,iCnBkpEJ,CACF,CK9mEI,wCc5BF,YAME,0BAAA,CADA,QAAA,CAEA,SAAA,CANA,cAAA,CACA,KAAA,CAMA,sDACE,CALF,OAAA,CADA,SnBmpEF,CmBxoEE,4CAEE,WAAA,CACA,SAAA,CACA,4CACE,CAJF,UnB6oEJ,CACF,CoB1zEA,iBACE,GACE,QpB4zEF,CoBzzEA,GACE,apB2zEF,CACF,CoBvzEA,gBACE,GACE,SAAA,CACA,0BpByzEF,CoBtzEA,IACE,SpBwzEF,CoBrzEA,GACE,SAAA,CACA,uBpBuzEF,CACF,CoB/yEA,MACE,+eAAA,CACA,ygBAAA,CACA,mmBAAA,CACA,sfpBizEF,CoB3yEA,WAOE,kCAAA,CAAA,0BAAA,CANA,aAAA,CACA,gBAAA,CACA,eAAA,CAEA,uCAAA,CAGA,uBAAA,CAJA,kBpBizEF,CoB1yEE,iBACE,UpB4yEJ,CoBxyEE,iBACE,oBAAA,CAEA,aAAA,CACA,qBAAA,CAFA,UpB4yEJ,CoBvyEI,+BACE,iBpB0yEN,CoB3yEI,+BACE,kBpB0yEN,CoB3yEI,qBAEE,gBpByyEN,CoBryEI,kDACE,iBpBwyEN,CoBzyEI,kDACE,kBpBwyEN,CoBzyEI,kDAEE,iBpBuyEN,CoBzyEI,kDAEE,kBpBuyEN,CoBlyEE,iCAGE,iBpBuyEJ,CoB1yEE,iCAGE,kBpBuyEJ,CoB1yEE,uBACE,oBAAA,CACA,6BAAA,CAEA,eAAA,CACA,sBAAA,CACA,qBpBoyEJ,CoBhyEE,kBACE,YAAA,CAMA,gBAAA,CALA,SAAA,CAMA,oBAAA,CAHA,gBAAA,CAIA,WAAA,CAHA,eAAA,CAFA,SAAA,CADA,UpBwyEJ,CoB/xEI,iDACE,4BpBiyEN,CoB5xEE,iBACE,eAAA,CACA,sBpB8xEJ,CoB3xEI,gDACE,2BpB6xEN,CoBzxEI,kCAIE,kBpBiyEN,CoBryEI,kCAIE,iBpBiyEN,CoBryEI,wBAOE,6BAAA,CADA,UAAA,CALA,oBAAA,CAEA,YAAA,CAKA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CALA,uBAAA,CAHA,WpBmyEN,CoBvxEI,iCACE,apByxEN,CoBrxEI,iCACE,gDAAA,CAAA,wCpBuxEN,CoBnxEI,+BACE,8CAAA,CAAA,sCpBqxEN,CoBjxEI,+BACE,8CAAA,CAAA,sCpBmxEN,CoB/wEI,sCACE,qDAAA,CAAA,6CpBixEN,CqBx6EA,SASE,2CAAA,CADA,gCAAA,CAJA,aAAA,CAGA,eAAA,CADA,aAAA,CADA,UAAA,CAFA,SrB+6EF,CqBt6EE,aAZF,SAaI,YrBy6EF,CACF,CK9vEI,wCgBzLJ,SAkBI,YrBy6EF,CACF,CqBt6EE,iBACE,mBrBw6EJ,CqBp6EE,yBAGE,iBrB26EJ,CqB96EE,yBAGE,kBrB26EJ,CqB96EE,eAOE,eAAA,CADA,eAAA,CAJA,QAAA,CAEA,aAAA,CAHA,SAAA,CAWA,oBAAA,CAPA,kBrBy6EJ,CqB/5EI,kCACE,YrBi6EN,CqB55EE,eACE,oBAAA,CACA,aAAA,CACA,kBAAA,CAAA,mBrB85EJ,CqBz5EE,eAOE,kCAAA,CAAA,0BAAA,CANA,aAAA,CAEA,eAAA,CADA,gBAAA,CAMA,UAAA,CAJA,uCAAA,CACA,oBAAA,CAIA,8DrB05EJ,CqBr5EI,iEAEE,aAAA,CACA,SrBs5EN,CqBj5EM,2CACE,qBrBm5ER,CqBp5EM,2CACE,qBrBs5ER,CqBv5EM,2CACE,qBrBy5ER,CqB15EM,2CACE,qBrB45ER,CqB75EM,2CACE,oBrB+5ER,CqBh6EM,2CACE,qBrBk6ER,CqBn6EM,2CACE,qBrBq6ER,CqBt6EM,2CACE,qBrBw6ER,CqBz6EM,4CACE,qBrB26ER,CqB56EM,4CACE,oBrB86ER,CqB/6EM,4CACE,qBrBi7ER,CqBl7EM,4CACE,qBrBo7ER,CqBr7EM,4CACE,qBrBu7ER,CqBx7EM,4CACE,qBrB07ER,CqB37EM,4CACE,oBrB67ER,CqBv7EI,gCACE,SAAA,CAIA,yBAAA,CAHA,wCrB07EN,CsBjhFA,MACE,wStBohFF,CsB3gFE,qBAEE,mBAAA,CADA,kBtB+gFJ,CsB1gFE,8BAGE,iBtBohFJ,CsBvhFE,8BAGE,gBtBohFJ,CsBvhFE,oBAUE,+CAAA,CACA,oBAAA,CAVA,oBAAA,CAIA,gBAAA,CACA,eAAA,CAEA,qBAAA,CADA,eAAA,CAHA,kBAAA,CAFA,uBAAA,CAOA,qBtB8gFJ,CsBzgFI,0BAGE,uCAAA,CAFA,aAAA,CACA,YAAA,CAEA,6CtB2gFN,CsBtgFM,gEAEE,0CAAA,CADA,+BtBygFR,CsBngFI,yBACE,uBtBqgFN,CsB7/EI,gCAOE,oDAAA,CADA,UAAA,CALA,oBAAA,CAEA,YAAA,CACA,iBAAA,CAKA,qCAAA,CAAA,6BAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAJA,iCAAA,CAHA,0BAAA,CAHA,WtBygFN,CsB3/EI,wFACE,0CtB6/EN,CuBrkFA,iBACE,GACE,uDAAA,CACA,oBvBwkFF,CuBrkFA,IACE,6BAAA,CACA,kBvBukFF,CuBpkFA,GACE,wBAAA,CACA,oBvBskFF,CACF,CuB9jFA,MACE,wBvBgkFF,CuB1jFA,YA6BE,kCAAA,CAAA,0BAAA,CAVA,2CAAA,CACA,mBAAA,CACA,8BAAA,CAHA,gCAAA,CADA,sCAAA,CAdA,+IACE,CAYF,8BAAA,CAMA,SAAA,CArBA,iBAAA,CACA,uBAAA,CAyBA,4BAAA,CAJA,uDACE,CATF,6BAAA,CADA,SvBqkFF,CuBnjFE,oBAEE,SAAA,CAKA,uBAAA,CAJA,2EACE,CAHF,SvBwjFJ,CuB9iFE,8CACE,sCvBgjFJ,CuB5iFE,mBAEE,gBAAA,CADA,avB+iFJ,CuB3iFI,2CACE,YvB6iFN,CuBziFI,0CACE,evB2iFN,CuBniFA,eACE,eAAA,CAEA,YAAA,CADA,kBvBuiFF,CuBniFE,yBACE,avBqiFJ,CuBjiFE,6BACE,oBAAA,CAGA,iBvBiiFJ,CuB7hFE,sBAME,cAAA,CAFA,sCAAA,CACA,eAAA,CAFA,YAAA,CAKA,YAAA,CAPA,iBAAA,CAMA,wBAAA,CAAA,gBAAA,CALA,SvBqiFJ,CuB5hFI,qCACE,UAAA,CACA,uBvB8hFN,CuB3hFM,sFACE,UvB6hFR,CuBrhFI,4BAaE,oDAAA,CACA,iBAAA,CAFA,UAAA,CAHA,YAAA,CANA,YAAA,CAQA,cAAA,CADA,cAAA,CATA,iBAAA,CACA,KAAA,CAaA,2CACE,CATF,wBAAA,CACA,6BAAA,CAJA,UvBgiFN,CuBhhFM,4CAGE,8CACE,2BvBghFR,CACF,CuB5gFM,gDAIE,cAAA,CAHA,2CvB+gFR,CuBvgFI,2BACE,sCAAA,CACA,iBvBygFN,CuBrgFI,uEACE,+BvBugFN,CuBpgFM,mFACE,0CvBsgFR,CuBjgFI,0CAGE,cAAA,CADA,eAAA,CADA,SvBqgFN,CuB//EI,8CACE,oBAAA,CACA,evBigFN,CuB9/EM,qDAIE,mCAAA,CAHA,oBAAA,CACA,mBAAA,CAIA,qBAAA,CADA,iDAAA,CAFA,qBvBmgFR,CuB5/EQ,iBAVF,qDAWI,WvB+/ER,CuB5/EQ,mEACE,mCvB8/EV,CACF,CwB5tFA,kBAME,exBwuFF,CwB9uFA,kBAME,gBxBwuFF,CwB9uFA,QAUE,2CAAA,CACA,oBAAA,CAEA,8BAAA,CALA,uCAAA,CACA,cAAA,CALA,aAAA,CAGA,eAAA,CAKA,YAAA,CAPA,mBAAA,CAJA,cAAA,CACA,UAAA,CAiBA,yBAAA,CALA,mGACE,CAZF,SxB2uFF,CwBxtFE,aAtBF,QAuBI,YxB2tFF,CACF,CwBxtFE,kBACE,wBxB0tFJ,CwBttFE,gBAEE,SAAA,CADA,mBAAA,CAGA,+BAAA,CADA,uBxBytFJ,CwBrtFI,0BACE,8BxButFN,CwBltFE,4BAEE,0CAAA,CADA,+BxBqtFJ,CwBhtFE,YACE,oBAAA,CACA,oBxBktFJ,CyBvwFA,oBACE,GACE,mBzB0wFF,CACF,CyBlwFA,MACE,wfzBowFF,CyB9vFA,YACE,aAAA,CAEA,eAAA,CADA,azBkwFF,CyB9vFE,+BAOE,kBAAA,CAAA,kBzB+vFJ,CyBtwFE,+BAOE,iBAAA,CAAA,mBzB+vFJ,CyBtwFE,qBAQE,aAAA,CACA,cAAA,CACA,YAAA,CATA,iBAAA,CAKA,UzBgwFJ,CyBzvFI,qCAIE,iBzBiwFN,CyBrwFI,qCAIE,kBzBiwFN,CyBrwFI,2BAME,6BAAA,CADA,UAAA,CAJA,oBAAA,CAEA,YAAA,CAIA,yCAAA,CAAA,iCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CARA,WzBmwFN,CyBtvFE,kBAUE,2CAAA,CACA,mBAAA,CACA,8BAAA,CAJA,gCAAA,CACA,oBAAA,CAHA,kBAAA,CAFA,YAAA,CASA,SAAA,CANA,aAAA,CAFA,SAAA,CAJA,iBAAA,CAgBA,4BAAA,CAfA,UAAA,CAYA,+CACE,CAZF,SzBowFJ,CyBnvFI,+EACE,gBAAA,CACA,SAAA,CACA,sCzBqvFN,CyB/uFI,wBAGE,oCACE,gCzB+uFN,CyB3uFI,2CACE,czB6uFN,CACF,CyBxuFE,kBACE,kBzB0uFJ,CyBtuFE,4BAGE,kBAAA,CAAA,oBzB6uFJ,CyBhvFE,4BAGE,mBAAA,CAAA,mBzB6uFJ,CyBhvFE,kBAKE,cAAA,CAJA,aAAA,CAKA,YAAA,CAIA,uBAAA,CAHA,2CACE,CAJF,kBAAA,CAFA,UzB8uFJ,CyBnuFI,gDACE,+BzBquFN,CyBjuFI,wBACE,qDzBmuFN,C0Bp0FA,MAEI,uWAAA,CAAA,8WAAA,CAAA,sPAAA,CAAA,8xBAAA,CAAA,0MAAA,CAAA,gbAAA,CAAA,gMAAA,CAAA,iQAAA,CAAA,0VAAA,CAAA,6aAAA,CAAA,8SAAA,CAAA,gM1B61FJ,C0Bj1FE,4CAME,8CAAA,CACA,2BAAA,CACA,mBAAA,CACA,8BAAA,CAJA,mCAAA,CAJA,iBAAA,CAGA,gBAAA,CADA,iBAAA,CADA,eAAA,CAQA,uB1Bo1FJ,C0Bj1FI,aAbF,4CAcI,e1Bo1FJ,CACF,C0Bh1FI,gDACE,qB1Bk1FN,C0B90FI,gIAEE,iBAAA,CADA,c1Bi1FN,C0B50FI,4FACE,iB1B80FN,C0B10FI,kFACE,e1B40FN,C0Bx0FI,0FACE,Y1B00FN,C0Bt0FI,8EACE,mB1Bw0FN,C0Bn0FE,sEAGE,iBAAA,CAAA,mB1B60FJ,C0Bh1FE,sEAGE,kBAAA,CAAA,kB1B60FJ,C0Bh1FE,sEASE,uB1Bu0FJ,C0Bh1FE,sEASE,wB1Bu0FJ,C0Bh1FE,sEAUE,4B1Bs0FJ,C0Bh1FE,4IAWE,6B1Bq0FJ,C0Bh1FE,sEAWE,4B1Bq0FJ,C0Bh1FE,kDAOE,0BAAA,CACA,WAAA,CAFA,eAAA,CADA,eAAA,CAHA,oBAAA,CAAA,iBAAA,CADA,iB1B+0FJ,C0Bl0FI,kFACE,e1Bo0FN,C0Bh0FI,oFAOE,U1Bs0FN,C0B70FI,oFAOE,W1Bs0FN,C0B70FI,gEAME,wBCwIU,CDzIV,UAAA,CADA,WAAA,CAIA,kDAAA,CAAA,0CAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAVA,iBAAA,CACA,UAAA,CACA,U1B00FN,C0B9zFI,4DACE,4D1Bg0FN,C0BlzFE,sDACE,oB1BqzFJ,C0BjzFE,8DACE,0B1BozFJ,C0BjzFI,4EACE,wBAbG,CAcH,kDAAA,CAAA,0C1BmzFN,C0B/yFI,0EACE,a1BizFN,C0Bj0FE,8DACE,oB1Bo0FJ,C0Bh0FE,sEACE,0B1Bm0FJ,C0Bh0FI,oFACE,wBAbG,CAcH,sDAAA,CAAA,8C1Bk0FN,C0B9zFI,kFACE,a1Bg0FN,C0Bh1FE,sDACE,oB1Bm1FJ,C0B/0FE,8DACE,0B1Bk1FJ,C0B/0FI,4EACE,wBAbG,CAcH,kDAAA,CAAA,0C1Bi1FN,C0B70FI,0EACE,a1B+0FN,C0B/1FE,oDACE,oB1Bk2FJ,C0B91FE,4DACE,0B1Bi2FJ,C0B91FI,0EACE,wBAbG,CAcH,iDAAA,CAAA,yC1Bg2FN,C0B51FI,wEACE,a1B81FN,C0B92FE,4DACE,oB1Bi3FJ,C0B72FE,oEACE,0B1Bg3FJ,C0B72FI,kFACE,wBAbG,CAcH,qDAAA,CAAA,6C1B+2FN,C0B32FI,gFACE,a1B62FN,C0B73FE,8DACE,oB1Bg4FJ,C0B53FE,sEACE,0B1B+3FJ,C0B53FI,oFACE,wBAbG,CAcH,sDAAA,CAAA,8C1B83FN,C0B13FI,kFACE,a1B43FN,C0B54FE,4DACE,oB1B+4FJ,C0B34FE,oEACE,0B1B84FJ,C0B34FI,kFACE,wBAbG,CAcH,qDAAA,CAAA,6C1B64FN,C0Bz4FI,gFACE,a1B24FN,C0B35FE,4DACE,oB1B85FJ,C0B15FE,oEACE,0B1B65FJ,C0B15FI,kFACE,wBAbG,CAcH,qDAAA,CAAA,6C1B45FN,C0Bx5FI,gFACE,a1B05FN,C0B16FE,0DACE,oB1B66FJ,C0Bz6FE,kEACE,0B1B46FJ,C0Bz6FI,gFACE,wBAbG,CAcH,oDAAA,CAAA,4C1B26FN,C0Bv6FI,8EACE,a1By6FN,C0Bz7FE,oDACE,oB1B47FJ,C0Bx7FE,4DACE,0B1B27FJ,C0Bx7FI,0EACE,wBAbG,CAcH,iDAAA,CAAA,yC1B07FN,C0Bt7FI,wEACE,a1Bw7FN,C0Bx8FE,4DACE,oB1B28FJ,C0Bv8FE,oEACE,0B1B08FJ,C0Bv8FI,kFACE,wBAbG,CAcH,qDAAA,CAAA,6C1By8FN,C0Br8FI,gFACE,a1Bu8FN,C0Bv9FE,wDACE,oB1B09FJ,C0Bt9FE,gEACE,0B1By9FJ,C0Bt9FI,8EACE,wBAbG,CAcH,mDAAA,CAAA,2C1Bw9FN,C0Bp9FI,4EACE,a1Bs9FN,C4B/mGA,MACE,wM5BknGF,C4BzmGE,sBAEE,uCAAA,CADA,gB5B6mGJ,C4BzmGI,mCACE,a5B2mGN,C4B5mGI,mCACE,c5B2mGN,C4BvmGM,4BACE,sB5BymGR,C4BtmGQ,mCACE,gC5BwmGV,C4BpmGQ,2DACE,SAAA,CAEA,uBAAA,CADA,e5BumGV,C4BlmGQ,yGACE,SAAA,CACA,uB5BomGV,C4BhmGQ,yCACE,Y5BkmGV,C4B3lGE,0BACE,eAAA,CACA,e5B6lGJ,C4B1lGI,+BACE,oB5B4lGN,C4BvlGE,gDACE,Y5BylGJ,C4BrlGE,8BAIE,+BAAA,CAHA,oBAAA,CAEA,WAAA,CAGA,SAAA,CAKA,4BAAA,CAJA,4DACE,CAHF,0B5BylGJ,C4BhlGI,aAdF,8BAeI,+BAAA,CACA,SAAA,CACA,uB5BmlGJ,CACF,C4BhlGI,wCACE,6B5BklGN,C4B9kGI,oCACE,+B5BglGN,C4B5kGI,qCAKE,6BAAA,CADA,UAAA,CAHA,oBAAA,CAEA,YAAA,CAGA,2CAAA,CAAA,mCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAPA,W5BqlGN,C4BxkGQ,mDACE,oB5B0kGV,C6BxrGE,kCAEE,iB7B8rGJ,C6BhsGE,kCAEE,kB7B8rGJ,C6BhsGE,wBAGE,yCAAA,CAFA,oBAAA,CAGA,SAAA,CACA,mC7B2rGJ,C6BtrGI,aAVF,wBAWI,Y7ByrGJ,CACF,C6BrrGE,6FAEE,SAAA,CACA,mC7BurGJ,C6BjrGE,4FAEE,+B7BmrGJ,C6B/qGE,oBACE,yBAAA,CACA,uBAAA,CAGA,yE7B+qGJ,CKhjGI,sCwBrHE,qDACE,uB7BwqGN,CACF,C6BnqGE,kEACE,yB7BqqGJ,C6BjqGE,sBACE,0B7BmqGJ,C8B9tGE,2BACE,a9BiuGJ,CK5iGI,wCyBtLF,2BAKI,e9BiuGJ,CACF,C8B9tGI,6BAGE,0BAAA,CAAA,2BAAA,CADA,eAAA,CAEA,iBAAA,CAHA,yBAAA,CAAA,iB9BmuGN,C8B7tGM,2CACE,kB9B+tGR,C+BhvGE,uBACE,4C/BovGJ,C+B/uGE,8CAJE,kCAAA,CAAA,0B/BuvGJ,C+BnvGE,uBACE,4C/BkvGJ,C+B7uGE,4BAEE,kCAAA,CAAA,0BAAA,CADA,qC/BgvGJ,C+B5uGI,mCACE,a/B8uGN,C+B1uGI,kCACE,a/B4uGN,C+BvuGE,0BAKE,eAAA,CAJA,aAAA,CAEA,YAAA,CACA,aAAA,CAFA,kBAAA,CAAA,mB/B4uGJ,C+BtuGI,uCACE,e/BwuGN,C+BpuGI,sCACE,kB/BsuGN,CgCnxGA,MACE,8LhCsxGF,CgC7wGE,oBAGE,iBAAA,CAEA,gBAAA,CADA,ahC+wGJ,CgC3wGI,wCACE,uBhC6wGN,CgCzwGI,gCAEE,eAAA,CADA,gBhC4wGN,CgCrwGM,wCACE,mBhCuwGR,CgCjwGE,8BAKE,oBhCowGJ,CgCzwGE,8BAKE,mBhCowGJ,CgCzwGE,8BAOE,4BhCkwGJ,CgCzwGE,4DAQE,6BhCiwGJ,CgCzwGE,8BAQE,4BhCiwGJ,CgCzwGE,oBAME,cAAA,CAHA,aAAA,CACA,ehCqwGJ,CgC9vGI,kCACE,uCAAA,CACA,oBhCgwGN,CgC5vGI,wCAEE,uCAAA,CADA,YhC+vGN,CgC1vGI,oCASE,WhCgwGN,CgCzwGI,oCASE,UhCgwGN,CgCzwGI,0BAME,6BAAA,CADA,UAAA,CADA,WAAA,CAMA,yCAAA,CAAA,iCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAZA,iBAAA,CACA,UAAA,CAMA,sBAAA,CADA,yBAAA,CAJA,UhCswGN,CgCzvGM,oCACE,wBhC2vGR,CgCtvGI,4BACE,YhCwvGN,CgCnvGI,4CACE,YhCqvGN,CiC50GE,+DACE,mBAAA,CACA,cAAA,CACA,uBjC+0GJ,CiC50GI,2EAGE,iBAAA,CADA,eAAA,CADA,ajCg1GN,CkCt1GE,6BACE,sClCy1GJ,CkCt1GE,cACE,yClCw1GJ,CkC50GE,sIACE,oClC80GJ,CkCt0GE,2EACE,qClCw0GJ,CkC9zGE,wGACE,oClCg0GJ,CkCvzGE,yFACE,qClCyzGJ,CkCpzGE,6BACE,kClCszGJ,CkChzGE,6CACE,sClCkzGJ,CkC3yGE,4DACE,sClC6yGJ,CkCtyGE,4DACE,qClCwyGJ,CkC/xGE,yFACE,qClCiyGJ,CkCzxGE,2EACE,sClC2xGJ,CkChxGE,wHACE,qClCkxGJ,CkC7wGE,8BAGE,mBAAA,CADA,gBAAA,CADA,gBlCixGJ,CkC5wGE,eACE,4ClC8wGJ,CkC3wGE,eACE,4ClC6wGJ,CkCzwGE,gBAIE,wCAAA,CAHA,aAAA,CAEA,wBAAA,CADA,wBlC6wGJ,CkCvwGE,yBAOE,wCAAA,CACA,+DAAA,CACA,4BAAA,CACA,6BAAA,CARA,iBAAA,CAGA,eAAA,CACA,eAAA,CAFA,cAAA,CADA,oCAAA,CAFA,iBlCkxGJ,CkCtwGI,6BACE,YlCwwGN,CkCrwGM,kCACE,wBAAA,CACA,yBlCuwGR,CkCjwGE,iCAaE,wCAAA,CACA,+DAAA,CAJA,uCAAA,CACA,0BAAA,CALA,UAAA,CAJA,oBAAA,CAOA,2BAAA,CADA,2BAAA,CADA,2BAAA,CANA,eAAA,CAWA,wBAAA,CAAA,gBAAA,CAPA,SlC0wGJ,CkCxvGE,sBACE,iBAAA,CACA,iBlC0vGJ,CkClvGI,sCACE,gBlCovGN,CkChvGI,gDACE,YlCkvGN,CkCxuGA,gBACE,iBlC2uGF,CkCvuGE,yCACE,aAAA,CACA,SlCyuGJ,CkCpuGE,mBACE,YlCsuGJ,CkCjuGE,oBACE,QlCmuGJ,CkC/tGE,4BACE,WAAA,CACA,SAAA,CACA,elCiuGJ,CkC9tGI,0CACE,YlCguGN,CkC1tGE,yBAKE,wCAAA,CAEA,+BAAA,CADA,4BAAA,CAHA,eAAA,CADA,oDAAA,CAEA,wBAAA,CAAA,gBlC+tGJ,CkCxtGE,2BAEE,+DAAA,CADA,2BlC2tGJ,CkCvtGI,+BACE,uCAAA,CACA,gBlCytGN,CkCptGE,sBACE,MAAA,CACA,WlCstGJ,CkCjtGA,aACE,alCotGF,CkC1sGE,4BAEE,aAAA,CADA,YlC8sGJ,CkC1sGI,wDAEE,2BAAA,CADA,wBlC6sGN,CkCvsGE,+BAKE,2CAAA,CAEA,+BAAA,CADA,gCAAA,CADA,sBAAA,CAHA,mBAAA,CACA,gBAAA,CAFA,alC+sGJ,CkCtsGI,qCAEE,UAAA,CACA,UAAA,CAFA,alC0sGN,CK30GI,wC6BgJF,8BACE,iBlC+rGF,CkCrrGE,wSAGE,elC2rGJ,CkCvrGE,sCAEE,mBAAA,CACA,eAAA,CADA,oBAAA,CADA,kBAAA,CAAA,mBlC2rGJ,CACF,CDlhHI,yDAIE,+BAAA,CACA,8BAAA,CAFA,aAAA,CADA,QAAA,CADA,iBCwhHN,CDhhHI,uBAEE,uCAAA,CADA,cCmhHN,CD99GM,iHAEE,WAlDkB,CAiDlB,kBCy+GR,CD1+GM,6HAEE,WAlDkB,CAiDlB,kBCq/GR,CDt/GM,6HAEE,WAlDkB,CAiDlB,kBCigHR,CDlgHM,oHAEE,WAlDkB,CAiDlB,kBC6gHR,CD9gHM,0HAEE,WAlDkB,CAiDlB,kBCyhHR,CD1hHM,uHAEE,WAlDkB,CAiDlB,kBCqiHR,CDtiHM,uHAEE,WAlDkB,CAiDlB,kBCijHR,CDljHM,6HAEE,WAlDkB,CAiDlB,kBC6jHR,CD9jHM,yCAEE,WAlDkB,CAiDlB,kBCikHR,CDlkHM,yCAEE,WAlDkB,CAiDlB,kBCqkHR,CDtkHM,0CAEE,WAlDkB,CAiDlB,kBCykHR,CD1kHM,uCAEE,WAlDkB,CAiDlB,kBC6kHR,CD9kHM,wCAEE,WAlDkB,CAiDlB,kBCilHR,CDllHM,sCAEE,WAlDkB,CAiDlB,kBCqlHR,CDtlHM,wCAEE,WAlDkB,CAiDlB,kBCylHR,CD1lHM,oCAEE,WAlDkB,CAiDlB,kBC6lHR,CD9lHM,2CAEE,WAlDkB,CAiDlB,kBCimHR,CDlmHM,qCAEE,WAlDkB,CAiDlB,kBCqmHR,CDtmHM,oCAEE,WAlDkB,CAiDlB,kBCymHR,CD1mHM,kCAEE,WAlDkB,CAiDlB,kBC6mHR,CD9mHM,qCAEE,WAlDkB,CAiDlB,kBCinHR,CDlnHM,mCAEE,WAlDkB,CAiDlB,kBCqnHR,CDtnHM,qCAEE,WAlDkB,CAiDlB,kBCynHR,CD1nHM,wCAEE,WAlDkB,CAiDlB,kBC6nHR,CD9nHM,sCAEE,WAlDkB,CAiDlB,kBCioHR,CDloHM,2CAEE,WAlDkB,CAiDlB,kBCqoHR,CD1nHM,iCAEE,WAPkB,CAMlB,iBC6nHR,CD9nHM,uCAEE,WAPkB,CAMlB,iBCioHR,CDloHM,mCAEE,WAPkB,CAMlB,iBCqoHR,CmCvtHA,MACE,qMAAA,CACA,mMnC0tHF,CmCjtHE,wBAKE,mBAAA,CAHA,YAAA,CACA,qBAAA,CACA,YAAA,CAHA,iBnCwtHJ,CmC9sHI,8BAGE,QAAA,CACA,SAAA,CAHA,iBAAA,CACA,OnCktHN,CmC7sHM,qCACE,0BnC+sHR,CmChrHE,2BAKE,uBAAA,CADA,+DAAA,CAHA,YAAA,CACA,cAAA,CACA,aAAA,CAGA,oBnCkrHJ,CmC/qHI,aATF,2BAUI,gBnCkrHJ,CACF,CmC/qHI,cAGE,+BACE,iBnC+qHN,CmC5qHM,sCAQE,oCAAA,CANA,QAAA,CAKA,UAAA,CAHA,aAAA,CAEA,UAAA,CAHA,MAAA,CAFA,iBAAA,CAYA,2CAAA,CAJA,qCACE,CAEF,kDAAA,CAPA,+BnCorHR,CACF,CmCvqHI,8CACE,YnCyqHN,CmCrqHI,iCASE,+BAAA,CACA,6BAAA,CAJA,uCAAA,CAEA,cAAA,CAPA,aAAA,CAGA,gBAAA,CACA,eAAA,CAFA,8BAAA,CAWA,+BAAA,CAHA,2CACE,CALF,kBAAA,CALA,UnCirHN,CmClqHM,aAII,6CACE,OnCiqHV,CmClqHQ,8CACE,OnCoqHV,CmCrqHQ,8CACE,OnCuqHV,CmCxqHQ,8CACE,OnC0qHV,CmC3qHQ,8CACE,OnC6qHV,CmC9qHQ,8CACE,OnCgrHV,CmCjrHQ,8CACE,OnCmrHV,CmCprHQ,8CACE,OnCsrHV,CmCvrHQ,8CACE,OnCyrHV,CmC1rHQ,+CACE,QnC4rHV,CmC7rHQ,+CACE,QnC+rHV,CmChsHQ,+CACE,QnCksHV,CmCnsHQ,+CACE,QnCqsHV,CmCtsHQ,+CACE,QnCwsHV,CmCzsHQ,+CACE,QnC2sHV,CmC5sHQ,+CACE,QnC8sHV,CmC/sHQ,+CACE,QnCitHV,CmCltHQ,+CACE,QnCotHV,CmCrtHQ,+CACE,QnCutHV,CmCxtHQ,+CACE,QnC0tHV,CACF,CmCrtHM,uCACE,+BnCutHR,CmCjtHE,4BACE,UnCmtHJ,CmChtHI,aAJF,4BAKI,gBnCmtHJ,CACF,CmC/sHE,0BACE,YnCitHJ,CmC9sHI,aAJF,0BAKI,anCitHJ,CmC7sHM,sCACE,OnC+sHR,CmChtHM,uCACE,OnCktHR,CmCntHM,uCACE,OnCqtHR,CmCttHM,uCACE,OnCwtHR,CmCztHM,uCACE,OnC2tHR,CmC5tHM,uCACE,OnC8tHR,CmC/tHM,uCACE,OnCiuHR,CmCluHM,uCACE,OnCouHR,CmCruHM,uCACE,OnCuuHR,CmCxuHM,wCACE,QnC0uHR,CmC3uHM,wCACE,QnC6uHR,CmC9uHM,wCACE,QnCgvHR,CmCjvHM,wCACE,QnCmvHR,CmCpvHM,wCACE,QnCsvHR,CmCvvHM,wCACE,QnCyvHR,CmC1vHM,wCACE,QnC4vHR,CmC7vHM,wCACE,QnC+vHR,CmChwHM,wCACE,QnCkwHR,CmCnwHM,wCACE,QnCqwHR,CmCtwHM,wCACE,QnCwwHR,CACF,CmClwHI,+FAEE,QnCowHN,CmCjwHM,yGACE,wBAAA,CACA,yBnCowHR,CmC3vHM,2DAEE,wBAAA,CACA,yBAAA,CAFA,QnC+vHR,CmCxvHM,iEACE,QnC0vHR,CmCvvHQ,qLAGE,wBAAA,CACA,yBAAA,CAFA,QnC2vHV,CmCrvHQ,6FACE,wBAAA,CACA,yBnCuvHV,CmClvHM,yDACE,kBnCovHR,CmC/uHI,sCACE,QnCivHN,CmC5uHE,2BAEE,iBAAA,CAOA,kBAAA,CAHA,uCAAA,CAEA,cAAA,CAPA,aAAA,CAGA,YAAA,CACA,gBAAA,CAEA,mBAAA,CAGA,gCAAA,CAPA,WnCqvHJ,CmC3uHI,iCAEE,uDAAA,CADA,+BnC8uHN,CmCzuHI,iCAKE,6BAAA,CADA,UAAA,CAHA,aAAA,CAEA,WAAA,CAMA,8CAAA,CAAA,sCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CANA,+CACE,CALF,UnCmvHN,CmCpuHE,4BAOE,yEACE,CANF,YAAA,CAGA,aAAA,CAFA,qBAAA,CAGA,mBAAA,CALA,iBAAA,CAYA,wBAAA,CATA,YnC0uHJ,CmC9tHI,sCACE,wBnCguHN,CmC5tHI,oCACE,SnC8tHN,CmC1tHI,kCAGE,wEACE,CAFF,mBAAA,CADA,OnC8tHN,CmCptHM,uDACE,8CAAA,CAAA,sCnCstHR,CKt0HI,wC8B8HF,wDAEE,kBnC8sHF,CmChtHA,wDAEE,mBnC8sHF,CmChtHA,8CAGE,eAAA,CAFA,eAAA,CAGA,iCnC4sHF,CmCxsHE,8DACE,mBnC2sHJ,CmC5sHE,8DACE,kBnC2sHJ,CmC5sHE,oDAEE,UnC0sHJ,CmCtsHE,8EAEE,kBnCysHJ,CmC3sHE,8EAEE,mBnCysHJ,CmC3sHE,8EAGE,kBnCwsHJ,CmC3sHE,8EAGE,mBnCwsHJ,CmC3sHE,oEACE,UnC0sHJ,CmCpsHE,8EAEE,mBnCusHJ,CmCzsHE,8EAEE,kBnCusHJ,CmCzsHE,8EAGE,mBnCssHJ,CmCzsHE,8EAGE,kBnCssHJ,CmCzsHE,oEACE,UnCwsHJ,CACF,CmC1rHE,cAHF,olDAII,+BnC6rHF,CmC1rHE,g8GACE,sCnC4rHJ,CACF,CmCvrHA,4sDACE,uDnC0rHF,CmCtrHA,wmDACE,anCyrHF,CoCtiIA,MACE,8WAAA,CAEA,uXpC0iIF,CoChiIE,4BAEE,oBAAA,CADA,iBpCoiIJ,CoC/hII,sDAGE,SpCiiIN,CoCpiII,sDAGE,UpCiiIN,CoCpiII,4CACE,iBAAA,CACA,SpCkiIN,CoC5hIE,+CAEE,SAAA,CADA,UpC+hIJ,CoC1hIE,kDAOE,WpCgiIJ,CoCviIE,kDAOE,YpCgiIJ,CoCviIE,wCAME,qDAAA,CADA,UAAA,CADA,aAAA,CAIA,0CAAA,CAAA,kCAAA,CACA,4BAAA,CAAA,oBAAA,CACA,6BAAA,CAAA,qBAAA,CACA,yBAAA,CAAA,iBAAA,CAVA,iBAAA,CACA,SAAA,CACA,YpCoiIJ,CoCxhIE,gEACE,wBTyWa,CSxWb,mDAAA,CAAA,2CpC0hIJ,CqC5kIA,QACE,8DAAA,CAGA,+CAAA,CACA,iEAAA,CACA,oDAAA,CACA,sDAAA,CACA,mDrC6kIF,CqCvkIA,SAEE,kBAAA,CADA,YrC2kIF,CKp7HI,mCiChKA,8BACE,UtC4lIJ,CsC7lIE,8BACE,WtC4lIJ,CsC7lIE,8BAGE,kBtC0lIJ,CsC7lIE,8BAGE,iBtC0lIJ,CsC7lIE,oBAKE,mBAAA,CADA,YAAA,CAFA,atC2lIJ,CsCrlII,kCACE,WtCwlIN,CsCzlII,kCACE,UtCwlIN,CsCzlII,kCAEE,iBAAA,CAAA,ctCulIN,CsCzlII,kCAEE,aAAA,CAAA,kBtCulIN,CACF","file":"main.css"} \ No newline at end of file diff --git a/backup-modules/index.html b/backup-modules/index.html index 1b6ae2fb4..1e163a6f3 100644 --- a/backup-modules/index.html +++ b/backup-modules/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/changelog-docs/index.html b/changelog-docs/index.html index 85d1d245d..337ba3c6d 100644 --- a/changelog-docs/index.html +++ b/changelog-docs/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/code-style/index.html b/code-style/index.html index 8e45750f1..4c37f14d0 100644 --- a/code-style/index.html +++ b/code-style/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/common-toolchains/index.html b/common-toolchains/index.html index 9c403f7cd..046b4d6cf 100644 --- a/common-toolchains/index.html +++ b/common-toolchains/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -5990,7 +5990,7 @@

    foss toolchainhttp://netlib.org/lapack) libraries (for foss \< 2021a)
  • the FlexiBLAS library (https://www.mpi-magdeburg.mpg.de/projects/flexiblas), with - OpenBLAS + LAPACK as backend (for foss >= 2021a)
  • + OpenBLAS + LAPACK as backend (for foss >= 2021a)
  • the ScaLAPACK (http://netlib.org/scalapack) library is also included
  • the FFTW library (http://fftw.org/)
@@ -6172,6 +6172,18 @@

Component versions in foss

+ + + + + + + + + + + +
PARAMETERDESCRIPTION DESCRIPTION
2.2.0 3.3.10
2023aJun '232.4012.3.04.1.53.3.10.3.23(incl. with OpenBLAS)2.2.03.3.10

(components marked with * were patched)

@@ -6261,6 +6273,15 @@

Component versions in intel2021.7.1 2022.2.1 + +2023a +Jun '23 +2.40 +12.3.0 +2023.1.0 +2021.9.1 +2023.1.0 +

Overview of common toolchains (deprecated versions)

@@ -6509,7 +6530,7 @@

More information about toolchains Last update: - May 23, 2023 + August 10, 2023 diff --git a/configuration/index.html b/configuration/index.html index 797b6d71e..844360f79 100644 --- a/configuration/index.html +++ b/configuration/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/containers/index.html b/containers/index.html index 1b9facf9e..3f5c6bc60 100644 --- a/containers/index.html +++ b/containers/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/contributing/index.html b/contributing/index.html index e24a8e72f..ab5492fd6 100644 --- a/contributing/index.html +++ b/contributing/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/controlling-compiler-optimization-flags/index.html b/controlling-compiler-optimization-flags/index.html index 19c988632..b1a30b21c 100644 --- a/controlling-compiler-optimization-flags/index.html +++ b/controlling-compiler-optimization-flags/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/cray-support/index.html b/cray-support/index.html index 7ea8062bd..c3c1ef2c9 100644 --- a/cray-support/index.html +++ b/cray-support/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/demos/configuring/index.html b/demos/configuring/index.html index c7e3510c4..53bc32311 100644 --- a/demos/configuring/index.html +++ b/demos/configuring/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/demos/index.html b/demos/index.html index 0621321cd..bb76ff7cd 100644 --- a/demos/index.html +++ b/demos/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/demos/review-pr/index.html b/demos/review-pr/index.html index 5b7ea2071..193bffb06 100644 --- a/demos/review-pr/index.html +++ b/demos/review-pr/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/deprecated-easyconfigs/index.html b/deprecated-easyconfigs/index.html index 94486f6ca..307eff419 100644 --- a/deprecated-easyconfigs/index.html +++ b/deprecated-easyconfigs/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/deprecated-functionality/index.html b/deprecated-functionality/index.html index bd79fe356..470b2df9e 100644 --- a/deprecated-functionality/index.html +++ b/deprecated-functionality/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/detecting-loaded-modules/index.html b/detecting-loaded-modules/index.html index 4b953b8eb..17025229d 100644 --- a/detecting-loaded-modules/index.html +++ b/detecting-loaded-modules/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/easybuild-v4/overview-of-changes/index.html b/easybuild-v4/overview-of-changes/index.html index 604241ec4..86ef13a17 100644 --- a/easybuild-v4/overview-of-changes/index.html +++ b/easybuild-v4/overview-of-changes/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/easybuild-v4/overview-relocated-functions-constants/index.html b/easybuild-v4/overview-relocated-functions-constants/index.html index 4fac83c05..e756a4bc6 100644 --- a/easybuild-v4/overview-relocated-functions-constants/index.html +++ b/easybuild-v4/overview-relocated-functions-constants/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/easybuild-v5/index.html b/easybuild-v5/index.html index 33d715924..41a9496c1 100644 --- a/easybuild-v5/index.html +++ b/easybuild-v5/index.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + diff --git a/easybuild-v5/overview-of-changes/index.html b/easybuild-v5/overview-of-changes/index.html index 20bf2b8fc..a56eacf24 100644 --- a/easybuild-v5/overview-of-changes/index.html +++ b/easybuild-v5/overview-of-changes/index.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + diff --git a/easyconfig-files-local-variables/index.html b/easyconfig-files-local-variables/index.html index 299f339de..f51ffcc13 100644 --- a/easyconfig-files-local-variables/index.html +++ b/easyconfig-files-local-variables/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/easyconfigs-search-index/index.html b/easyconfigs-search-index/index.html index 9b3fd1a8e..651846167 100644 --- a/easyconfigs-search-index/index.html +++ b/easyconfigs-search-index/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/easystack-files/index.html b/easystack-files/index.html index ac9cf6dc5..0cfe0ecd8 100644 --- a/easystack-files/index.html +++ b/easystack-files/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/experimental-features/index.html b/experimental-features/index.html index 5e8732892..03dde831b 100644 --- a/experimental-features/index.html +++ b/experimental-features/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/extended-dry-run/index.html b/extended-dry-run/index.html index 132258f00..865341a56 100644 --- a/extended-dry-run/index.html +++ b/extended-dry-run/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/framework-overview/index.html b/framework-overview/index.html index 030c5245b..9c0d39342 100644 --- a/framework-overview/index.html +++ b/framework-overview/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/getting-help/index.html b/getting-help/index.html index 923800c0e..d17ce3bdc 100644 --- a/getting-help/index.html +++ b/getting-help/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/hooks/index.html b/hooks/index.html index 084e584d5..556149d18 100644 --- a/hooks/index.html +++ b/hooks/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/implementing-easyblocks/index.html b/implementing-easyblocks/index.html index 717aaad0a..d68103f37 100644 --- a/implementing-easyblocks/index.html +++ b/implementing-easyblocks/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/including-additional-python-modules/index.html b/including-additional-python-modules/index.html index 77d03eaa3..73122cdb7 100644 --- a/including-additional-python-modules/index.html +++ b/including-additional-python-modules/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/index.html b/index.html index 644969b37..f12299ddf 100644 --- a/index.html +++ b/index.html @@ -15,7 +15,7 @@ - + @@ -23,7 +23,7 @@ - + @@ -5784,7 +5784,7 @@

EasyBuild DocumentationGetting help: mailing list - Slack - conference calls - GitHub
-

(last update: 2023-07-07 - easybuild-docs commit 457ef5ef)

+

(last update: 2023-08-10 - easybuild-docs commit dbc4f86a)

diff --git a/installation-alternative/index.html b/installation-alternative/index.html index b0957521a..451a709e3 100644 --- a/installation-alternative/index.html +++ b/installation-alternative/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/installation/index.html b/installation/index.html index 83973a39a..5ec4e1b15 100644 --- a/installation/index.html +++ b/installation/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/installing-environment-modules-without-root-permissions/index.html b/installing-environment-modules-without-root-permissions/index.html index 10b8c6a1b..b23a40060 100644 --- a/installing-environment-modules-without-root-permissions/index.html +++ b/installing-environment-modules-without-root-permissions/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/installing-extensions-in-parallel/index.html b/installing-extensions-in-parallel/index.html index f8f522613..ea69c7010 100644 --- a/installing-extensions-in-parallel/index.html +++ b/installing-extensions-in-parallel/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/installing-lmod-without-root-permissions/index.html b/installing-lmod-without-root-permissions/index.html index cd9a44226..696042b7e 100644 --- a/installing-lmod-without-root-permissions/index.html +++ b/installing-lmod-without-root-permissions/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/integration-with-github/index.html b/integration-with-github/index.html index c414be7f1..afa8a70ae 100644 --- a/integration-with-github/index.html +++ b/integration-with-github/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/legacy/configuration/index.html b/legacy/configuration/index.html index 8e7b84b0c..b046c8fc2 100644 --- a/legacy/configuration/index.html +++ b/legacy/configuration/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/locks/index.html b/locks/index.html index 7ee48e415..24b572afb 100644 --- a/locks/index.html +++ b/locks/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/log-files/index.html b/log-files/index.html index 614a534f6..99f3d96e9 100644 --- a/log-files/index.html +++ b/log-files/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/maintainers/index.html b/maintainers/index.html index f33eb5c03..91b84b135 100644 --- a/maintainers/index.html +++ b/maintainers/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/manipulating-dependencies/index.html b/manipulating-dependencies/index.html index 3efac9834..b9469e35c 100644 --- a/manipulating-dependencies/index.html +++ b/manipulating-dependencies/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/packaging-support/index.html b/packaging-support/index.html index 578d46755..20abd85d0 100644 --- a/packaging-support/index.html +++ b/packaging-support/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/partial-installations/index.html b/partial-installations/index.html index fad4458f8..6b7c3707f 100644 --- a/partial-installations/index.html +++ b/partial-installations/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/progress-bars/index.html b/progress-bars/index.html index 6a19524a5..317a91e0e 100644 --- a/progress-bars/index.html +++ b/progress-bars/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/python-2-3-compatibility/index.html b/python-2-3-compatibility/index.html index 30f899d6d..b00578795 100644 --- a/python-2-3-compatibility/index.html +++ b/python-2-3-compatibility/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/release-notes/index.html b/release-notes/index.html index d8b30311a..e4909c605 100644 --- a/release-notes/index.html +++ b/release-notes/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + @@ -11389,7 +11389,7 @@

EasyBuild v4.4.0 (June 2nd 2021)#3685)
  • update HierarchicalMNS to also return - 'Toolchain/<name>/<version>' as $MODULEPATH extension + 'Toolchain/<name>/<version>' as $MODULEPATH extension for cpe* Cray toolchains (#3686)
  • make EasyConfigParser.get_config_dict return a copy rather diff --git a/removed-functionality/index.html b/removed-functionality/index.html index 9468c949f..48e121247 100644 --- a/removed-functionality/index.html +++ b/removed-functionality/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/rpath-support/index.html b/rpath-support/index.html index 7bfe3faf9..c06f65814 100644 --- a/rpath-support/index.html +++ b/rpath-support/index.html @@ -17,7 +17,7 @@ - + @@ -25,7 +25,7 @@ - + diff --git a/search/search_index.json b/search/search_index.json index ff9d3d6ad..0c5334003 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"EasyBuild Documentation","text":"

    Welcome to the documentation of EasyBuild (version 4.8.0).

    Use the menu to navigate, or use the search feature (top right).

    See also the EasyBuild tutorial (separate website).

    To contribute to this documentation, open a pull request.

    Quick links

    • What is EasyBuild? - terminology
    • Installing, configuring, and using EasyBuild
    • Writing easyconfig files - available easyconfig parameters
    • Generic easyblocks
    • List of common toolchains and supported software
    • Contributing to EasyBuild - GitHub integration features
    • EasyBuild release notes - EasyBuild v5.0
    • Getting help: mailing list - Slack - conference calls - GitHub

    (last update: 2023-07-07 - easybuild-docs commit 457ef5ef)

    "},{"location":"archived-easyconfigs/","title":"Archived easyconfigs","text":"

    Since EasyBuild v3.0.0, easyconfig files using deprecated (i.e., old and inactive) toolchains are archived.

    "},{"location":"archived-easyconfigs/#archived_easyconfigs_toolchain_deprecation","title":"Toolchain deprecation","text":"

    Once in a blue moon, we review the list of toolchains (& versions) that are included in EasyBuild.

    Easyconfig files that use toolchains that become deprecated are then moved to the easyconfigs archive, i.e. the __archive__ subdirectory in the easybuild-easyconfigs repository (see https://github.com/easybuilders/easybuild-easyconfigs/tree/main/easybuild/easyconfigs/__archive__).

    "},{"location":"archived-easyconfigs/#archived_easyconfigs_deprecated_toolchains_what","title":"What are deprecated toolchains?","text":"

    Toolchains become deprecated if:

    • no easyconfig files using that toolchain have been contributed recently (e.g., in the last year)
    • that toolchain is considered to be inactive, after consulting the EasyBuild community (via mailing list, bi-weekly conf calls)

    Deprecating a toolchain implies that all easyconfigs using that toolchain are moved to the easyconfigs archive, and that they are no longer included in the EasyBuild regression test. In addition, these easyconfigs are 'hidden' from plain sight, in the sense that you need to use --consider-archived-easyconfigs to make EasyBuild consider them when it is looking for easyconfigs (e.g., with --search or --robot).

    This does not mean that the support for using these toolchains is removed from the EasyBuild framework, although not testing them anymore may imply that using them may no longer work at some point in time.

    For toolchains for which no active versions are available (outside of the easyconfigs archive), it is possible that they will be reactivated, if a new toolchain version is contributed.

    "},{"location":"archived-easyconfigs/#archived_easyconfigs_deprecated_toolchains_why","title":"Why are toolchains being deprecated?","text":"
    • using old toolchains (incl. old compilers and/or libraries) is likely to become more and more difficult on modern operating systems
    • these toolchains put a significant burden on the regression testing for EasyBuild releases
    • easyconfigs using old toolchains are likely to be for old software versions, which may no longer be relevant anyway
    "},{"location":"archived-easyconfigs/#archived_easyconfigs_consider","title":"Using --consider-archived-easyconfigs","text":"

    To make EasyBuild consider archived easyconfig files, you need to enable the --consider-archived-easyconfigs configuration option:

    $ eb -S '^goolfc'\nCFGS=/home/example/work/easybuild-easyconfigs/easybuild/easyconfigs\n  * $CFGS1/g/goolfc/goolfc-2016.08.eb\n  * $CFGS1/g/goolfc/goolfc-2016.10.eb\n\nNote: 6 matching archived easyconfig(s) found, use --consider-archived-easyconfigs to see them\n
    $ eb -S '^goolfc' --consider-archived-easyconfigs\nCFGS=/home/example/easybuild-easyconfigs/easybuild/easyconfigs\n  * $CFGS/g/goolfc/goolfc-2016.08.eb\n  * $CFGS/g/goolfc/goolfc-2016.10.eb\n\nMatching archived easyconfigs:\n\n  * $CFGS/__archive__/g/goolfc/goolfc-1.3.12.eb\n  * $CFGS/__archive__/g/goolfc/goolfc-1.4.10.eb\n  * $CFGS/__archive__/g/goolfc/goolfc-2.6.10.eb\n
    "},{"location":"backup-modules/","title":"Backing up of existing modules","text":"

    While regenerating existing module files, you may want to preserve the existing module files to compare and assess that the changes in the newly generated module file match expectations.

    Backing up of existing modules can be enabled with --backup-modules.

    Backups are stored in the same directory as where the module file was located, and the files are given an additional extension of the form .bak_<year><month><day><hour><min><sec>.

    • With module files in Tcl syntax, the backup module file is hidden by adding a leading dot to the filename; this is done to avoid that it is displayed as a normal module in module avail.
    • With module files in Lua syntax, the backup module file is not made hidden (unless Lmod 6.x is used), since the additional .bak_* extension prevents from picking it up as a valid module file; only files ending in .lua are considered to be module files by Lmod 7+.

    The location of the backed up module file will be printed, as well as a \"unified diff\" comparison (very similar to what diff -u produces) between the backed up module file and the newly generated module file (or a message mentioning that no differences were found).

    "},{"location":"backup-modules/#backup_modules_disable","title":"Disabling automatic backup of modules","text":"

    When --skip or --module-only is used, backing up of existing modules is enabled automatically.

    This can be disabled with --disable-backup-modules.

    "},{"location":"backup-modules/#backup_modules_example","title":"Example","text":"

    Suppose existing modules in both Tcl & Lua syntax are present (bzip2/1.0.6).

    Both these module files are missing an update statement for $PATH because the /bin subdirectory was missing in the installation, for the purpose of this example:

    $ ls -la $EASYBUILD_PREFIX/modules/all/bzip2\ndrwxrwsr-x  2 example example 4096 May  9 09:12 .\ndrwxrwsr-x 17 example example 4096 May  9 09:12 ..\n-rw-rw-r--  1 example example 1637 May  9 09:12 1.0.8-GCCcore-12.2.0.lua\n

    Using --force and --backup-modules, we can reinstall the bzip2/1.0.6 modules and get a clear view on what has changed.

    To reinstall the bzip2/1.0.6 module in Lua syntax while retaining a backup of the existing module:

    $ eb bzip2-1.0.8-GCCcore-12.2.0.eb --module-syntax=Lua --force --backup-modules\n...\n== creating build dir, resetting environment...\n== backup of existing module file stored at /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923\n...\n== creating module...\n  >> generating module file @ /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua\n== comparing module file with backup /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923; diff is:\n--- /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923\n+++ /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua\n@@ -25,9 +25,10 @@\n prepend_path(\"LD_LIBRARY_PATH\", pathJoin(root, \"lib\"))\n prepend_path(\"LIBRARY_PATH\", pathJoin(root, \"lib\"))\n prepend_path(\"MANPATH\", pathJoin(root, \"man\"))\n+prepend_path(\"PATH\", pathJoin(root, \"bin\"))\n setenv(\"EBROOTBZIP2\", root)\n setenv(\"EBVERSIONBZIP2\", \"1.0.8\")\n setenv(\"EBDEVELBZIP2\", pathJoin(root, \"easybuild/bzip2-1.0.8-GCCcore-12.2.0-easybuild-devel\"))\n\n...\n

    Equivalently, we can reinstall the module in Tcl syntax using:

    eb bzip2-1.0.6.eb --module-syntax=Tcl --force --backup-modules\n

    Afterwards, both the newly generated modules and the backups are in place:

    $ ls -la $EASYBUILD_PREFIX/modules/all/bzip2\ntotal 4\ndrwxrwsr-x  2 example example 4096 May  9 09:29 .\ndrwxrwsr-x 17 example example 4096 May  9 09:12 ..\n-rw-rw-r--  1 example example 1559 May  9 09:29 1.0.8-GCCcore-12.2.0\n-rw-rw-r--  1 example example 1637 May  9 09:12 1.0.8-GCCcore-12.2.0.bak_20230509091754_3383740\n-rw-rw-r--  1 example example 1681 May  9 09:18 1.0.8-GCCcore-12.2.0.lua\n-rw-rw-r--  1 example example 1637 May  9 09:12 1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923\n

    Cleaning up the backup module files can be done with the following command (for example):

    $ find $EASYBUILD_PREFIX/modules/all/bzip2 -name '*.bak*' | xargs rm -v\nremoved 'example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.bak_20230509091754_3383740'\nremoved 'example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923'\n
    "},{"location":"changelog-docs/","title":"Changelog for EasyBuild documentation","text":"

    (for EasyBuild release notes, see EasyBuild release notes)

    • release 20230707.01 (7 July 2023): update release notes for EasyBuild v4.8.0 (see EasyBuild v4.8.0 (7 July 2023))
    • release 20230527.01 (27 May 2023): update release notes for EasyBuild v4.7.2 (see EasyBuild v4.7.2 (27 May 2023))
    • release 20230320.01 (20 Mar 2023): update release notes for EasyBuild v4.7.1 (see EasyBuild v4.7.1 (20 March 2023))
    • release 20230109.01 (Jan 9th 2023): update release notes for EasyBuild v4.7.0 (see EasyBuild v4.7.0 (January 9th 2023))
    • release 20221021.01 (Oct 21st 2022): update release notes for EasyBuild v4.6.2 (see EasyBuild v4.6.2 (October 21st 2022))
    • release 20220912.01 (Sep 12th 2022): update release notes for EasyBuild v4.6.1 (see EasyBuild v4.6.1 (September 12th 2022))
    • release 20220708.01 (Jul 8th 2022): update release notes for EasyBuild v4.6.0 (see EasyBuild v4.6.0 (July 8th 2022))
    • release 20220608.01 (Jun 8th 2022): update release notes for EasyBuild v4.5.5 (see EasyBuild v4.5.5 (June 8th 2022))
    • release 20220331.01 (Mar 31st 2022): update release notes for EasyBuild v4.5.4 (see EasyBuild v4.5.4 (March 31st 2022))
    • release 20220211.01 (Feb 11th 2022): update release notes for EasyBuild v4.5.3 (see EasyBuild v4.5.3 (February 11th 2022))
    • release 20220124.01 (Jan 24th 2022): update release notes for EasyBuild v4.5.2 (see EasyBuild v4.5.2 (January 24th 2022))
    • release 20211213.01 (Dec 13th 2021): update release notes for EasyBuild v4.5.1 (see EasyBuild v4.5.1 (December 13th 2021))
    • release 20211029.01 (Oct 29th 2021): update release notes for EasyBuild v4.5.0 (see EasyBuild v4.5.0 (October 29th 2021))
    • release 20210907.01 (Sep 7th 2021): update release notes for EasyBuild v4.4.2 (see EasyBuild v4.4.2 (September 7th 2021))
    • release 20210706.01 (Jul 6th 2021): update release notes for EasyBuild v4.4.1 (see EasyBuild v4.4.1 (July 6th 2021))
    • release 20210602.01 (Jun 2nd 2021): update release notes for EasyBuild v4.4.0 (see EasyBuild v4.4.0 (June 2nd 2021))
    • release 20210409.01 (Apr 9th 2021): update release notes for EasyBuild v4.3.4 (see EasyBuild v4.3.4 (Apr 9th 2021))
    • release 20210223.01 (Feb 23rd 2021): update release notes for EasyBuild v4.3.3 (see EasyBuild v4.3.3 (Feb 23rd 2021))
    • release 20201210.01 (Dec 10th 2020): update release notes for EasyBuild v4.3.2 (see EasyBuild v4.3.2 (December 10th 2020))
    • release 20201029.01 (Oct 29th 2020): update release notes for EasyBuild v4.3.1 (see EasyBuild v4.3.1 (October 29th 2020))
    • release 20200913.01 (Sep 13th 2020): update release notes for EasyBuild v4.3.0 (see EasyBuild v4.3.0 (September 13th 2020))
    • release 20200708.01 (July 8th 2020): update release notes for EasyBuild v4.2.2 (see EasyBuild v4.2.2 (July 8th 2020))
    • release 20200520.01 (May 20th 2020): update release notes for EasyBuild v4.2.1 (see EasyBuild v4.2.1 (May 20th 2020))
    • release 20200414.01 (Apr 14th 2020):
      • document new EasyBuild locking mechanism (see Locks to prevent duplicate installations running at the same time)
      • document support for creating index files (see Using an index to speed up searching for easyconfigs)
      • update release notes for EasyBuild v4.2.0 (see EasyBuild v4.2.0 (April 14th 2020))
    • release 20200316.01 (Mar 16th 2020): update release notes for EasyBuild v4.1.2 (see EasyBuild v4.1.2 (March 16th 2020))
    • release 20200116.01 (Jan 16th 2020): update release notes for EasyBuild v4.1.1 (see EasyBuild v4.1.1 (January 16th 2020))
    • release 20191204.01 (Dec 4th 2019): update release notes for EasyBuild v4.1.0 (see EasyBuild v4.1.0 (December 4th 2019))
    • release 20191015.01 (Oct 15th 2019): update release notes for EasyBuild v4.0.1 (see EasyBuild v4.0.1 (October 15th 2019))
    • release 20190920.01 (Sep 20th 2019): update release notes for EasyBuild v4.0.0 (see EasyBuild v4.0.0 (September 20th 2019)); see also Overview of changes in EasyBuild version 4.0
    • release 20190823.01 (Aug 23rd 2019): update release notes for EasyBuild v3.9.4 (see EasyBuild v3.9.4 (August 23rd 2019))
    • release 20190708.01 (Jul 8th 2019): update release notes for EasyBuild v3.9.3 (see EasyBuild v3.9.3 (July 8th 2019))
    • release 20190609.01 (Jun 9th 2019): update release notes for EasyBuild v3.9.2 (see EasyBuild v3.9.2 (June 9th 2019))
    • release 20190908.01 (Jun 8th 2019): update documentation on support for generating (Singularity) container recipes/images (see Generating container recipes & images)
    • release 20190520.01 (May 20th 2019): update release notes for EasyBuild v3.9.1 (see EasyBuild v3.9.1 (May 20th 2019))
    • release 20190412.01 (Apr 12th 2019): update release notes for EasyBuild v3.9.0 (see EasyBuild v3.9.0 (April 12th 2019))
    • release 20190129.01 (Jan 29th 2019): update release notes for EasyBuild v3.8.1 (see EasyBuild v3.8.1 (January 29th 2019))
    • release 20190124.01 (Jan 24th 2019): add definitions for 2019a common toolchains (see Common toolchains)
    • release 20181218.01 (Dec 18th 2018): update release notes for EasyBuild v3.8.0 (see EasyBuild v3.8.0 (December 18th 2018))
    • release 20181114.01 (Nov 14th 2018): add documentation on deprecated easyconfigs & toolchains (Deprecated easyconfigs)
    • release 20181104.01 (Nov 4th 2018): update --job documentation to also cover Slurm job backend (see Submitting jobs using --job)
    • release 20181018.01 (Oct 18th 2018): update release notes for EasyBuild v3.7.1 (see EasyBuild v3.7.1 (October 18th 2018))
    • release 20180925.01 (Sep 25th 2018): update release notes for EasyBuild v3.7.0 (see EasyBuild v3.7.0 (September 25th 2018))
    • release 20180921.01 (Sep 21st 2018): document support for wrapping dependencies (see Wrapping dependencies)
    • release 20180920.01 (Sep 20th 2018): document support for downloading sources directly from a Git repository (see Downloading from a Git repository)
    • release 20180711.01 (Jul 11th 2018): update release notes for EasyBuild v3.6.2 (see EasyBuild v3.6.2 (July 11th 2018))
    • release 20180710.01 (Jul 10th 2018): add definitions for 2018b common toolchains (see Common toolchains)
    • release 20180528.01 (May 28th 2018): update release notes for EasyBuild v3.6.1 (see EasyBuild v3.6.1 (May 26th 2018))
    • release 20180427.01 (Apr 27th 2018): update release notes for EasyBuild v3.6.0 (see EasyBuild v3.6.0 (April 26th 2018))
    • release 20180425.01 (Apr 25th 2018): add documentation on support for generating container recipes & images (see Generating container recipes & images)
    • release 20180307.01 (Mar 7th 2018): update release notes for EasyBuild v3.5.3 (see EasyBuild v3.5.3 (March 7th 2018))
    • release 20180302.01 (Mar 2nd 2018): update release notes for EasyBuild v3.5.2 (see EasyBuild v3.5.2 (March 2nd 2018))
    • release 20180116.01 (Jan 16th 2018): update release notes for EasyBuild v3.5.1 (see EasyBuild v3.5.1 (January 16th 2018))
    • release 20180112.01 (Jan 12th 2018): add definitions for 2018a common toolchains (see Common toolchains)
    • release 20171215.01 (Dec 15th 2017): update release notes for EasyBuild v3.5.0 (see EasyBuild v3.5.0 (December 15th 2017))
    • release 20171208.01 (Dec 8th 2017): document support for user-defined hooks (see hooks)
    • release 20171017.01 (Oct 17th 2017): update release notes for EasyBuild v3.4.1 (see EasyBuild v3.4.1 (October 17th 2017))
    • release 20170910.01 (Sept 10th 2017): update release notes for EasyBuild v3.4.0 (see EasyBuild v3.4.0 (September 10th 2017))
    • release 20170906.01 (Sept 6th 2017): document --trace (see Tracing progress)
    • release 20170824.02 (Aug 24th 2017): document --inject-checksums (see Adding or replacing checksums using --inject-checksums)
    • release 20170824.01 (Aug 24th 2017): document --backup-modules (see Backing up of existing modules)
    • release 20170712.01 (July 12th 2017): update release notes for EasyBuild v3.3.1 (see EasyBuild v3.3.1 (July 12th 2017))
    • release 20170708.01 (July 8th 2017): add documentation on Merging easyconfig pull requests
    • release 20170705.01 (July 5th 2017): clarify Requirements for pull requests, add page listing Requirements for pull requests
    • release 20170626.01 (June 26th 2017): update release notes for EasyBuild v3.3.0 (see EasyBuild v3.3.0 (June 26th 2017))
    • release 20170623.01 (June 23rd 2017): document use of checksums & alternative formats for sources (see Source files, patches and checksums)
    • release 20170622.01 (June 22nd 2017): document support for detecting loaded modules (see Detection of loaded modules)
    • release 20170522.01 (May 22nd 2017): document deprecated behaviour in EasyBuild v3.2.0 (see Overview of deprecated functionality in EasyBuild version)
    • release 20170512.01 (May 12th 2017): update release notes for EasyBuild v3.2.1 (see EasyBuild v3.2.1 (May 12th 2017))
    • release 20170505.01 (May 5th 2017): update release notes for EasyBuild v3.2.0 (see EasyBuild v3.2.0 (May 5th 2017))
    • release 20170320.01 (Mar 20th 2017): update release notes for EasyBuild v3.1.2 (see EasyBuild v3.1.2 (March 20th 2017))
    • release 20170307.01 (Mar 7th 2017): update release notes for EasyBuild v3.1.1 (see EasyBuild v3.1.1 (March 7th 2017))
    • release 20170221.01 (Feb 21st 2017): add documentation on Contributing
    • release 20170209.01 (Feb 9th 2017): add documentation on implementing easyblocks (see Implementing easyblocks)
    • release 20170203.01 (Feb 3rd 2017): update release notes for EasyBuild v3.1.0 (see EasyBuild v3.1.0 (February 3rd 2017))
    • release 20170129.01 (Jan 29th 2017): update --optarch documentation (see Setting architecture flags for different compilers via --optarch=<compiler:flags>;<compiler:flags>)
    • release 20170109.01 (Jan 9th 2017): add documentation on Common toolchains
    • release 20161222.01 (Dec 22nd 2016): update documentation and release notes for EasyBuild v3.0.2 (see EasyBuild v3.0.2 (December 22nd 2016))
    • release 20161218.01 (Dec 18th 2016): document need to download vsc-* source tarballs from PyPI
    • release 20161202.01 (Dec 2nd 2016): add documentation on Cray support (see EasyBuild on Cray)
    • release 20161130.01 (Nov 16th 2016): update release notes for EasyBuild v3.0.1 (see EasyBuild v3.0.1 (November 30th 2016))
    • release 20161117.01 (Nov 17th 2016): update mentions of default configuration according to updated default in EasyBuild v3.0.0
    • release 20161116.01 (Nov 16th 2016): update documentation and release notes for EasyBuild v3.0.0 (see EasyBuild v3.0.0 (November 16th 2016))
      • Archived easyconfigs
      • Support for RPATH
    • release 20161028.01 (Oct 28th 2016): recommend using --rebuild rather than --force (see Rebuild installation)
    • release 20161023.01 (Oct 24th 2016): add section on iterating over configure/build/install options (see List of configure/build/install options)
    • release 20161014.01 (Oct 14th 2016): update documentation on deprecated functionality (see Deprecated functionality)
    • release 20161010.01 (Oct 10th 2016): add page for EasyBuild demos (see demos)
    • release 20160923.02 (Sept 23rd 2016): update release notes for EasyBuild v2.9.0 (see EasyBuild v2.9.0 (September 23rd 2016))
    • release 20160923.01 (Sept 23rd 2016): add generated list of supported software (see List of supported software)
    • release 20160713.01 (July 13th 2016): update release notes for EasyBuild v2.8.2 (see EasyBuild v2.8.2 (July 13th 2016))
    • release 20160613.01 (June 13th 2016): clarify required dependencies (setuptools, vsc-install) (see Required Python packages)
    • release 20160607.01 (June 7th 2016): update/complete documentation on GitHub integration (see Integration with GitHub)
    • release 20160530.01 (May 30th 2016): update release notes for EasyBuild v2.8.1 (see EasyBuild v2.8.1 (May 30th 2016))
    • release 20160518.01 (May 18th 2016): update release notes for EasyBuild v2.8.0 (see EasyBuild v2.8.0 (May 18th 2016))
    • release 20160429.01 (April 29th 2016): add section on updating EasyBuild, see Updating an existing EasyBuild installation
    • release 20160320.01 (March 20th 2016): update release notes for EasyBuild v2.7.0 (see EasyBuild v2.7.0 (March 20th 2016))
    • release 20160228.01 (February 28th 2016):
      • update documentation on external modules metadata (see Metadata for external modules)
    • release 20160214.01 (February 14th 2016):

    • add section on --show-config (see Overview of current configuration)

    • release 20160126.02 (January 26th 2016): packaging support is stable since EasyBuild v2.5.0 (see Packaging support)

    • release 20160126.01 (January 26th 2016): update release notes for EasyBuild v2.6.0 (see EasyBuild v2.6.0 (January 26th 2016))

    • release 20151217.01 (December 17th 2015): update release notes for EasyBuild v2.5.0 (see EasyBuild v2.5.0 (December 17th 2015))

    • release 20151209.01 (December 9th 2015):

      • add documentation on controlling compiler optimizations flags, see Controlling compiler optimization flags
    • release 20151110.01 (November 10th 2015): update release notes for EasyBuild v2.4.0 (see EasyBuild v2.4.0 (November 10th 2015))

    • release 20151108.01 (November 8th 2015):

      • document (experimental) support for using minimal toolchains (see Using minimal toolchains for dependencies)
    • release 20151028.01 (October 28th 2015): document extended dry run mechanism (see Extended dry run)

    • release 20151021.01 (October 21st 2015):

      • include initial documentation on experimental support for easyconfig files in YAML syntax (.yeb), see Writing easyconfig files in YAML syntax (.yeb format) [IN DEVELOPMENT]
    • release 20150902.01 (September 2nd 2015): update release notes for EasyBuild v2.3.0 (see EasyBuild v2.3.0 (September 2nd 2015))

    • release 20150715.01 (July 15th 2015): update release notes for EasyBuild v2.2.0 (see EasyBuild v2.2.0 (July 15th 2015))

    • release 20150714.01 (July 14th 2015): add documentation on Packaging support

    • release 20150709.01 (July 9th 2015): add documentation on Submitting jobs using --job

    • release 20150708.01 (July 8th 2015):

      • add documentation on --include-* options (see Including additional Python modules)
    • release 20150703.01 (July 3rd 2015):

      • fix outdated documentation on easyblock parameter (see Easyblock specification)
    • release 20150624.01 (June 24th 2015): mention MigrateFromEBToHMNS module naming scheme in section on --module-only (see Generating additional module files)

    • release 20150610.01 (June 10th 2015): update Installing Lmod without root permissions for Lmod v6.0

    • release 20150518.01 (May 18th 2015):

      • update section on --search: better examples + highlight ability to search via regular expression (see Searching for easyconfigs)
      • update release notes for EasyBuild v2.1.1 (see EasyBuild v2.1.1 (May 18th 2015))
    • release 20150506.01 (May 6th 2015): updated documentation for EasyBuild v2.1.1

      • add note on $LMOD_CMD fallback to find full path to lmod binary (see Required modules tool)
    • release 20150430.01 (Apr 30th 2015): updated documentation for EasyBuild v2.1.0

      • also cover extensions in page on concepts and terminology (see Extensions)
      • add documentation on Partial installations, covering --stop, --skip and --module-only
      • add documentation on Manipulating dependencies, covering --filter-deps and --hide-deps
      • document -module-syntax configuration option (see Module files syntax (--module-syntax))
      • add note on detection of unknown $EASYBUILD-prefixed environment variables (see Environment variables)
      • mention support for prepending/appending to --robot-paths (see Prepending/appending to the default robot search path)
      • update release notes for EasyBuild v2.1.0 (see EasyBuild release notes)
    • release 20150425.01 (Apr 25th 2015):

      • add documentation on Using external modules
    • release 20150407.01 (Apr 7th 2015):

      • add link to Unit tests page in dedicated section at Installing EasyBuild page
      • clarify relation between --installpath, --prefix, -subdir-* and --installpath-* configuration options (see Software and modules install path)
      • mention --show-default-configfiles command line option in relevant section (see Default configuration files)
    • release 20150327.01 (Mar 27th 2015):

      • documented deprecated functionality w.r.t. error reporting (see error and exception log methods no longer raise an exception)
    • release 20150316.01 (Mar 16th 2015):

      • include list of EasyBuild repositories cloned by install-EasyBuild-develop.sh script (see Installation of latest development version using provided script)
    • release 20150312.01 (Mar 12th 2015):

      • enhance documentation w.r.t. template values in configuration files (see Templates and constants supported in configuration files)
      • improve documentation on --robot and --robot-paths (see Controlling the robot search path)
    • release 20150310.01 (Mar 10th 2015):

      • document peculiarities w.r.t. dependencies in combination with a dummy toolchain (see Dependencies)
      • document clean_gists.py script (see clean_gists.py)
      • mention taking into account of proxy settings for downloading sources (see Source files, patches and checksums)
    • release 20150306.03 (Mar 6th 2015): add release notes for EasyBuild v2.0.0 (see EasyBuild release notes)

    • release 20150306.02 (Mar 6th 2015):

      • add documentation on GitHub integration features (see Integration with GitHub), mainly --from-pr (see Using easyconfigs from pull requests)
      • document locations where (specified) easyconfig files are being searched for (see Specifying what to install)
    • release 20150306.01 (Mar 6th 2015):

      • add documentation on removed functionality (see Removed functionality)
      • clean up documentation on deprecated functionality (see Deprecated functionality)
      • add documentation on provided scripts, in particular fix-broken-easyconfigs.py (see Useful scripts)
    • release 20150302.01 (Mar 2nd 2015): update/cleanup documentation on Alternative installation methods

    • release 20150227.02 (Feb 27th 2015): add documentation on the EasyBuild unit test suites, see Unit tests

    • release 20150227.01 (Feb 27th 2015): enhance documentation w.r.t. to (optional dependencies), see Installing EasyBuild

    • release 20150220.01 (Feb 20th 2015):

      • document new advanced bootstrapping options: skipping stage 0 and providing source tarballs (see Installing EasyBuild)
    • release 20150219.01 (Feb 19th 2015): first updates for EasyBuild v2.0.0

      • extend section on (default) EasyBuild configuration files to also cover $XDG_CONFIG_DIRS (see Configuration file(s))
    • release 20150205.01 (Feb 5th 2015): include information on deprecated functionality in (generic) easyblocks (see Deprecated functionality)

    • release 20150126.01 (Jan 26th 2015):

      • fix pip installation prefix option (Alternative installation methods)
      • clarify need to have modules tool binary available in $PATH (Installing EasyBuild)
    • release 20150112.01 (Jan 12th 2015): mention need to escape % when setting log file format via config file (see Logfile format (--logfile-format))

    • release 20150107.01 (Jan 7th 2015): document behaviour of dummy toolchain (dummy toolchain (DEPRECATED))

    • release 20141219.01 (Dec 19th 2014): add release notes for EasyBuild v1.16.1 (see EasyBuild release notes)

    • release 20141218.01 (Dec 18th 2014): add release notes for EasyBuild v1.16.0 (see EasyBuild release notes)

    • release 20141217.01 (Dec 17th 2014): document deprecated functionality in EasyBuild v1.x (Deprecated functionality)

    • release 20141204.02 (Dec 4th 2014): add EasyBuild release notes (see EasyBuild release notes)

    • release 20141204.01 (Dec 4th 2014): updates for EasyBuild v1.16.0

      • document details w.r.t. (controlling of) robot search path, incl. --robot-paths (Using the EasyBuild command line)
      • document use of templates and constants in EasyBuild configuration files (Configuring EasyBuild)
      • bump EasyBuild version to 1.16.0
      • changed release number scheme for documentation (based on datestamp)
    • release 1.0.3 (Dec 3rd 2014): add page on Code style

    • release 1.0.2 (Nov 6th 2014): typo and grammar fixes, update Lmod installation instructions for Lmod v5.8

    • release 1.0.1 (Nov 4th 2014): fix issues with Changelog

    • release 1.0.0 `(Nov 4th 2014)`: initial release of revamped EasyBuild documentation @ http://easybuild.readthedocs.org, covering basic topics:

      • introductory topics:
        • What is EasyBuild?
        • Concepts and terminology
        • Typical workflow example: building and installing WRF
      • getting started:
        • Installing EasyBuild
        • Configuring EasyBuild
      • basic usage topics:
        • Using the EasyBuild command line
        • Writing easyconfig files: the basics
        • Understanding EasyBuild logs
    ","boost":0.5},{"location":"code-style/","title":"Code style","text":"

    The code style we follow in the EasyBuild code repository is mainly dictated by the Python standard PEP8.

    Highlighted PEP8 code style rules:

    • use 4 spaces for indentation, do not use tabs
      • for example, use :set tabstop 4 and :set expandtab in Vim
    • indent items in a list at an extra 4 spaces
      • nested lists can be indented at the same indentation as the first item in the list if it is on the first line, closing brackets must match visual indentation
    • use optional underscores, not camelCase, for variable, function and method names (i.e. poll.get_unique_voters(), not poll.getUniqueVoters)
    • use InitialCaps for class names
    • in docstrings, don't use \"action words\"

    The only (major) exception to PEP8 is our preference for longer line lengths: line lengths must be limited to 120 characters, and should by preference be shorter than 100 characters (as opposed to the 80-character limit in PEP8).

    "},{"location":"code-style/#notes","title":"Notes","text":"

    Code style in easyconfig files can be automatically checked using --check-contrib, for example: eb --check-contrib sympy-1.3-intel-2018a-Python-2.7.14.eb (see Code style review for more details).

    Style guides that go a step beyond PEP8:

    • https://www.gramps-project.org/wiki/index.php?title=Programming_guidelines
    • https://code.google.com/p/volatility/wiki/StyleGuide

    Automatic rewriting of Python code: PythonTidy

    pep8 might be a useful tool to check PEP8 compliance.

    "},{"location":"common-toolchains/","title":"Common toolchains","text":"

    This page documents the concept of common toolchains in the EasyBuild community; for a more general definition of what (compiler) toolchains are, see Toolchains.

    "},{"location":"common-toolchains/#common_toolchains_what","title":"Definition and motivation","text":"

    Picking a compiler toolchain to use is one of the first things you (need to) do when starting to use EasyBuild. This can be a daunting task, since a whole bunch of toolchains and different toolchain versions are readily available in EasyBuild. It may be difficult to determine which toolchain would be most rewarding to use, in terms of stability, performance of the resulting binaries and readily available easyconfig files.

    In an attempt to focus the effort of the EasyBuild community, the concept of so-called common toolchains was introduced.

    The idea is to compose and maintain a limited set of specific compiler toolchains, and try and convince many HPC sites to employ these toolchains. This helps in assuring stability of these toolchains w.r.t. which software can be built (correctly) with them, since they get significantly more testing. In addition, the expectation/hope is that more easyconfigs are contributed back to the central easyconfigs repository (https://github.com/easybuilders/easybuild-easyconfigs), resulting in a wide range of readily available easyconfig files using the common toolchains.

    The intention is to revise/update the definitions of the common toolchains regularly (see Update cycle for common toolchains), which again can be a joint effort that benefits many HPC sites.

    Currently, two different families of common toolchains are being maintained: foss and intel; see below for more details, and also Overview of common toolchains.

    "},{"location":"common-toolchains/#toolchains_diagram","title":"Toolchain diagram","text":"

    To be more helpful in understanding the differences between these families, here is a diagram that explains what is added in each additional layer.

    Note: because there have been a few changes in toolchains, there are notes below the diagram that explain the differences between the generations going back to the 2020b version of the foss and intel toolchains.

    "},{"location":"common-toolchains/#newest-generations-2022b-and-later","title":"Newest generations (2022b and later):","text":"
    graph LR\n  A[GCCCore] --> |binutils| B[GCC];\n  A --> |binutils| C[intel-compilers];\n  B --> |OpenMPI| E[gompi];\n  C --> |impi| F[iimpi];\n  B --> |FlexiBLAS + FFTW + ScaLAPACK| D[gfbf];\n  D --> |OpenMPI| G[foss];\n  E --> |FlexiBLAS + FFTW + ScaLAPACK| G[foss];\n  F --> |imkl| Z[intel];\n  C --> |imkl| H[iimkl];\n  H --> |impi| Z[intel];

    Note: following notes apply for the generations listed and those older than it:

    • 2022a - iimkl not present yet
    • 2021b - gfbf not present yet
    • 2020b - foss uses OpenBLAS instead of FlexiBLAS, iccifort is used instead of intel-compilers

    Keep in mind that when creating an Easyconfig, you need to look at what toolchain \"level\" (e.g. foss vs GCC) your dependencies are using and choose the highest of them (or higher if needed) for your easyconfig. For example, if one of your dependencies is using the foss toolchain, you need to use the foss toolchain, and not the GCC toolchain.

    "},{"location":"common-toolchains/#common_toolchains_foss","title":"foss toolchain","text":"

    The foss common compiler toolchain consists entirely of open source software (hence the name, derived from the common term 'FOSS', which is short for \"Free and Open Source Software\").

    This toolchain consists of:

    • binutils (https://www.gnu.org/software/binutils/)
    • the GNU Compiler Collection (GCC, https://gcc.gnu.org/), i.e. gcc (C), g++ (C++) and gfortran (Fortran)
    • the Open MPI library (https://www.open-mpi.org/)
    • the OpenBLAS (http://www.openblas.net/) + LAPACK (http://netlib.org/lapack) libraries (for foss \\< 2021a)
    • the FlexiBLAS library (https://www.mpi-magdeburg.mpg.de/projects/flexiblas), with OpenBLAS + LAPACK as backend (for foss >= 2021a)
    • the ScaLAPACK (http://netlib.org/scalapack) library is also included
    • the FFTW library (http://fftw.org/)

    Note

    The toolchain name was deliberately chosen to be generic, to allow for swapping any of the toolchain components with a better (open source) alternative in the future, should the need or opportunity arise.

    "},{"location":"common-toolchains/#common_toolchains_intel","title":"intel toolchain","text":"

    The intel common compiler toolchain consists of the Intel compilers and libraries, i.e.:

    • the Intel C/C++/Fortran compilers (https://software.intel.com/en-us/intel-compilers), i.e. icc, icpc and ifort,
    • binutils and GCC, which serve as a base for the Intel compilers, are also included
    • the Intel MPI library (https://software.intel.com/en-us/intel-mpi-library)
    • the Intel Math Kernel Library (MKL, https://software.intel.com/en-us/intel-mkl) for BLAS/LAPACK/FFT functionality

    Note

    This compiler toolchain includes licensed software; valid licenses must be available to install and use it.

    "},{"location":"common-toolchains/#common_toolchains_versioning_scheme","title":"Versioning scheme for common toolchains","text":"

    The common toolchains follow a specific versioning scheme, which takes the 6-month update cycle into account.

    Each revision of the common toolchains is versioned as the year in which it was defined, plus an additional 'a' or 'b' to indicate whether the toolchain was defined at the start of the year ('a') or halfway through the year ('b'); in short, the common toolchains are versioned as <year>{a,b}.

    For example, foss/2021b is a revision of the foss that was composed mid-2021.

    A full historic overview of the foss and intel common toolchains is available in Overview of common toolchains.

    Note

    Next to the versions that follow the <year>{a,b} versioning scheme, additional versions of the foss and intel versions are available as well.

    These versions are not considered to be part of the series of common toolchains (even though they consists of the same toolchain components). These versions may be site-specific, or compositions that were put in place to evaluate a potential future common toolchain.

    Typically, they are versioned as <year>.<month>, indicating when the most recent component included was released, or when that particular toolchain composition was defined.

    "},{"location":"common-toolchains/#common_toolchains_update_cycle","title":"Update cycle for common toolchains","text":"

    The intention is to revise and update the common toolchains every 6 months: once in late December/early January (version <year>a), and once in late June/early July (version <year>b).

    This is meant be to be a community effort, in the sense that a proposal for an updated composition is shared and discussed before it is set in stone.

    Recent versions of each of the toolchain components are considered, taking into account stability, performance improvements, added features, known bugs/issues and experiences with those versions.

    Moreover, the proposed toolchain compositions are tested extensively, typically by rebuilding all available easyconfigs that are using the most recent revision of the common toolchains at that time.

    "},{"location":"common-toolchains/#common_toolchains_overview","title":"Overview of common toolchains","text":""},{"location":"common-toolchains/#common_toolchains_overview_foss","title":"Component versions in foss toolchain","text":"foss date binutils GCC Open MPI FlexiBLAS OpenBLAS LAPACK ScaLAPACK FFTW 2019a Jan '19 2.31.1 8.2.0 3.1.3 (none) 0.3.5 (incl. with OpenBLAS) 2.0.2 3.3.8 2019b Sept '19 2.32 8.3.0 3.1.4 (none) 0.3.7 (incl. with OpenBLAS) 2.0.2 3.3.8 2020a May '20 2.34 9.3.0 4.0.3 (none) 0.3.9 (incl. with OpenBLAS) 2.1.0 3.3.8 2020b Nov '20 2.35 10.2.0 4.0.5 (none) 0.3.12 (incl. with OpenBLAS) 2.1.0 3.3.8 2021a May '21 2.36.1 10.3.0 4.1.1 3.0.4 0.3.15 (incl. with OpenBLAS) 2.1.0 3.3.9 2021b Oct '21 2.37 11.2.0 4.1.1 3.0.4 0.3.18 (incl. with OpenBLAS) 2.1.0 3.3.10 2022a Jun '22 2.38 11.3.0 4.1.4 3.2.0 0.3.20 (incl. with OpenBLAS) 2.2.0 3.3.10 2022b Dec '22 2.39 12.2.0 4.1.4 3.2.1 0.3.21 (incl. with OpenBLAS) 2.2.0 3.3.10

    (components marked with * were patched)

    "},{"location":"common-toolchains/#common_toolchains_overview_intel","title":"Component versions in intel toolchain","text":"intel date binutils GCC Intel compilers Intel MPI Intel MKL 2019a Jan '19 2.31.1 8.2.0 2019.1.144 2018.4.274 2019.1.144 2019b Sept '19 2.32 8.3.0 2019.5.281 2018.5.288 2019.5.281 2020a May '20 2.34 9.3.0 2020.1.217 2019.7.217 2020.1.217 2020b Nov '20 2.35 10.2.0 2020.4.304 2019.9.304 2020.4.304 2021a May '21 2.36.1 10.3.0 2021.2.0 2021.2.0 2021.2.0 2021b Oct '21 2.37 11.2.0 2021.4.0 2021.4.0 2021.4.0 2022a Jun '22 2.38 11.3.0 2022.1.0 2021.6.0 2022.1.0 2022b Dec '22 2.39 12.2.0 2022.2.1 2021.7.1 2022.2.1"},{"location":"common-toolchains/#common_toolchains_overview_deprecated","title":"Overview of common toolchains (deprecated versions)","text":""},{"location":"common-toolchains/#common_toolchains_overview_foss_deprecated","title":"Component versions in foss toolchain (deprecated versions)","text":"foss date binutils GCC Open MPI FlexiBLAS OpenBLAS LAPACK ScaLAPACK FFTW 2014b Jul '14 '(none) 4.8.3 1.8.1 (none) 0.2.9 3.5.0 2.0.2 3.3.4 2015a Jan '15 '(none) 4.9.2 1.8.4 (none) 0.2.13 3.5.0 2.0.2 3.3.4 2015b Jul '15 2.25 4.9.3 1.8.8 (none) 0.2.14 3.5.0 2.0.2 3.3.4 2016a Jan '16 2.25 4.9.3 1.10.2 (none) 0.2.15 3.6.0 2.0.2 3.3.4 2016b Jul '16 2.26 5.4.0 1.10.3 (none) 0.2.18 3.6.1 2.0.2 3.3.4 2017a Jan '17 2.27 6.3.0 2.0.2 (none) 0.2.19 3.7.0 2.0.2 3.3.6(-pl2) 2017b Jul '17 2.28 6.4.0 2.1.1 (none) 0.2.20* (incl. with OpenBLAS) 2.0.2 3.3.6(-pl2) 2018a Jan '18 2.28 6.4.0 2.1.2 (none) 0.2.20* (incl. with OpenBLAS) 2.0.2 3.3.7 2018b Jul '18 2.30 7.3.0 3.1.1 (none) 0.3.1 (incl. with OpenBLAS) 2.0.2 3.3.8"},{"location":"common-toolchains/#common_toolchains_overview_intel_deprecated","title":"Component versions in intel toolchain (deprecated versions)","text":"intel date binutils GCC Intel compilers Intel MPI Intel MKL 2014b Jul '14 '(none) 4.8.3 2013.5.192 4.1.3.049 11.1.2.144 2015a Jan '15 '(none) 4.9.2 2015.1.133 5.0.2.044 11.2.1.133 2015b Jul '15 2.25 4.9.3 2015.3.187 5.0.3.048 11.2.3.187 2016a Jan '16 2.26 4.9.3 2016.1.150 5.1.2.150 11.3.1.150 2016b Jul '16 2.26 5.4.0 2016.3.210 5.1.3.181 11.3.3.210 2017a Jan '17 2.27 6.3.0 2017.1.132 2017.1.132 2017.1.132 2017b Jul '17 2.28 6.4.0 2017.4.196 2017.3.196 2017.3.196 2018a Jan '18 2.28 6.4.0 2018.1.163 2018.1.163 2018.1.163 2018b Jul '18 2.30 7.3.0 2018.3.222 2018.3.222 2018.3.222"},{"location":"common-toolchains/#common_toolchains_customizing","title":"Customizing common toolchains","text":"

    Sometimes the need arises to customize one or more components of a common toolchain w.r.t. site-specific aspects. One common example is using additional configuration options for Open MPI.

    To customize a toolchain component, you should copy the corresponding easyconfig file, modify according to your needs, and make sure it is included in a location in the robot search path that precedes the location of the easyconfig files that are included with EasyBuild (see also Searching for easyconfigs: the robot search path), before building and installation the toolchain.

    "},{"location":"common-toolchains/#more-information-about-toolchains","title":"More information about toolchains","text":"

    Please see the List of known toolchains for how to obtain a listing of the currently known toolchains.

    For a detailed listing of the compiler options available with each toolchain, please see Available toolchain options (by toolchain).

    "},{"location":"configuration/","title":"Configuring EasyBuild","text":"

    This page discusses the recommended style of configuring EasyBuild, which is supported since EasyBuild v1.3.0.

    See a demo on configuring EasyBuild.

    "},{"location":"configuration/#configuration_types","title":"Supported configuration types","text":"

    Configuring EasyBuild can be done by:

    • using eb with command line arguments
    • setting environment variables ($EASYBUILD_...)
    • providing one or more configuration files

    Of course, combining any of these types of configuration works too (and is even fairly common).

    The order of preference for the different configuration types is as listed above, that is:

    • environment variables override the corresponding entries in the configuration file
    • command line arguments in turn override the corresponding environment variables and matching entries in the configuration file
    "},{"location":"configuration/#configuration_consistency","title":"Consistency across supported configuration types","text":"

    Note that the various available configuration options are handled consistently across the supported configuration types.

    For example: to configure EasyBuild to use Lmod as modules tool, the following alternatives are available:

    • configuration file entry (key-value assignment):
    [config]\nmodules-tool = Lmod\n
    • environment variable (upper case, EASYBUILD_ prefix, -'s becomes _'s):
    export EASYBUILD_MODULES_TOOL=Lmod\n
    • command line argument (long options preceded by -- and (optionally) using =):
    eb --modules-tool=Lmod\n

    or

    eb --modules-tool Lmod\n

    For more details w.r.t. each of the supported configuration types, see below.

    "},{"location":"configuration/#configuration_file","title":"Configuration file(s)","text":""},{"location":"configuration/#list_of_configuration_files","title":"List of used configuration files","text":"

    The list of configuration files that will be used by EasyBuild is determined in the following order of preference:

    • the path(s) specified via the command line argument --configfiles
    • the path(s) specified via the $EASYBUILD_CONFIGFILES environment variable
    • the default paths for EasyBuild configuration files
    "},{"location":"configuration/#default_configuration_files","title":"Default configuration files","text":"

    By default, EasyBuild will use existing configuration files at the following paths:

    • $dir/easybuild.d/*.cfg, for each directory $dir listed in $XDG_CONFIG_DIRS (where $XDG_CONFIG_DIRS defaults to /etc)
    • $XDG_CONFIG_HOME/easybuild/config.cfg (where $XDG_CONFIG_HOME defaults to $HOME/.config)

    Hence, if $XDG_CONFIG_HOME and $XDG_CONFIG_DIRS are not defined, EasyBuild will only consider default configuration files at /etc/easybuild.d/*.cfg and $HOME/.config/easybuild/config.cfg.

    The configuration file located in $XDG_CONFIG_HOME will be listed after the ones obtained via $XDG_CONFIG_DIRS, such that user-defined configuration settings have preference over system defaults.

    A detailed overview of the list of default configuration files is available via eb --show-default-configfiles (available since EasyBuild v2.1.0). For example::

    $ XDG_CONFIG_DIRS=/tmp/etc:/tmp/moreetc eb --show-default-configfiles\nefault list of configuration files:\n\n[with $XDG_CONFIG_HOME: (not set), $XDG_CONFIG_DIRS: /tmp/etc:/tmp/moreetc]\n\n* user-level: ${XDG_CONFIG_HOME:-$HOME/.config}/easybuild/config.cfg\n  -> /home/example/.config/easybuild/config.cfg => found\n* system-level: ${XDG_CONFIG_DIRS:-/etc}/easybuild.d/*.cfg\n  -> {/tmp/etc, /tmp/moreetc}/easybuild.d/*.cfg => /tmp/etc/easybuild.d/config.cfg, /tmp/moreetc/easybuild.d/bar.cfg, /tmp/moreetc/easybuild.d/foo.cfg\n\nDefault list of existing configuration files (4): /tmp/etc/easybuild.d/config.cfg, /tmp/moreetc/easybuild.d/bar.cfg, /tmp/moreetc/easybuild.d/foo.cfg, /home/example/.config/easybuild/config.cfg\n
    "},{"location":"configuration/#multiple-configuration-files","title":"Multiple configuration files","text":"

    If multiple configuration files are listed via a mechanism listed above, the settings in the last configuration file have preference over the others.

    Each available configuration file will be used, and the configuration settings specified in these files will be retained according to the order of preference as indicated above: settings in configuration files specified via --configfiles override those in configuration files specified via $EASYBUILD_CONFIGFILES, which in turns override settings in default configuration files.

    "},{"location":"configuration/#ignored-configuration-files","title":"Ignored configuration files","text":"

    On top of this, the --ignoreconfigfiles configuration option allows to specify configuration files that should be ignored by EasyBuild (regardless of whether they are specified via any of the options above).

    "},{"location":"configuration/#configuration-file-format","title":"Configuration file format","text":"

    The EasyBuild configuration file follows the default Python configuration format as parsed by the configparser module (see https://docs.python.org/3/library/configparser.html).

    Configuration files are organized in sections, the section name for a particular configuration setting is indicated in the output of eb --help. Some examples sections are: MAIN, basic, config, informative, override, regtest, software, unittest, etc.

    Sections are indicated by specifying the section name in square brackets on a dedicated line, e.g., [basic].

    Configuration settings are specified in a key = value or key: value format, without using quotes for string-like values. For boolean configuration settings, values that evaluated to True (e.g., true, 1, \u2026) are all equivalent to enabling the setting.

    Comment lines start with a hash character # (just like in Python code).

    An example configuration file that should make everything clear is shown below.

    [basic]\n# always enable logging to stdout\nlogtostdout = true\n[config]\n# use Lmod as modules tool\nmodules-tool: Lmod\n# use different default installation path\nprefix=/home/you/work/easybuild/\n
    "},{"location":"configuration/#configuration_file_templates_constants","title":"Templates and constants supported in configuration files","text":"

    Two types of template values %(...)s are supported in configuration files:

    • for configuration options defined in the configuration file (and only those)
      • syntax: %(opt)s, i.e., using the (lowercase) name of the configuration option
    • for the default value of selected configuration options (see eb --avail-cfgfile-constants)
      • syntax: %(DEFAULT_OPT)s, i.e., using the uppercase name of the configuration option and prefixed with DEFAULT_

    Note

    These template values are only supported in configuration files, not in environment variable values or command line option values.

    Note

    Using an unknown template value, i.e. either one for a configuration option that was not defined in the configuration file, or a non-existing one for a particular default value, will result in an error like: ConfigParser.InterpolationMissingOptionError: Bad value substitution.

    "},{"location":"configuration/#example","title":"Example","text":"

    To include both the (custom) location for the easyconfigs archive repository and the default list of robot search paths in the active robot search path, the following configuration file entry can be used, featuring the template for the repositorypath configuration option and the provided DEFAULT_ROBOT_PATHS constant::

    [basic]\nrepositorypath = /home/example/easybuild/easyconfigs_archive\nrobot-paths = %(repositorypath)s:%(DEFAULT_ROBOT_PATHS)s\n

    See also Controlling the robot search path.

    "},{"location":"configuration/#generating-a-template-configuration-file","title":"Generating a template configuration file","text":"

    Since EasyBuild v1.10, a command line option --confighelp is available that prints out the help text as an annotated configuration file. This can be used as an empty template configuration file:

    mkdir -p $HOME/.config/easybuild\neb --confighelp > $HOME/.config/easybuild/config.cfg\n
    $ head $HOME/.easybuild/config.cfg\n[MAIN]\n# Enable debug log mode (def False)\n#debug=\n# Enable info log mode (def False)\n#info=\n# Enable info quiet/warning mode (def False)\n#quiet=\n\n[basic]\n# Print build overview incl. dependencies (full paths) (def False)\n
    "},{"location":"configuration/#configuration_env_vars","title":"Environment variables","text":"

    All configuration settings listed as long options in eb --help can also be specified via EASYBUILD_-prefixed environment variables.

    Configuration settings specified this way always override the corresponding setting specified in a configuration file.

    For example, to enable debug logging using an environment variable:

    export EASYBUILD_DEBUG=1\n

    More examples of using environment variables to configure EasyBuild are shown in the sections below.

    Tip

    Any configuration option of EasyBuild which can be tuned by command line or via the configuration file, can also be tuned via a corresponding environment variable.

    Note

    If any $EASYBUILD-prefixed environment variables are defined that do not correspond to a known configuration option, EasyBuild will report an error message and exit.

    "},{"location":"configuration/#configuration_cmdline","title":"Command line arguments","text":"

    The configuration type with the highest precedence are the eb command line arguments, which override settings specified through environment variables or in configuration files.

    For some configuration options, both short and long command line arguments are available (see eb --help); the long options indicate how the configuration setting should be specified in a configuration file or via an environment variable ($EASYBUILD_<LONGOPTION>).

    For boolean configuration settings, both the --<option> and --disable-<option> variants are always available.

    Examples (more below):

    • enable debug logging (long option) and logging to stdout (short option)
    eb --debug -l ...\n
    • use /dev/shm as build path, install to temporary install path, disable debug logging
    eb --buildpath=/dev/shm --installpath=/tmp/$USER --disable-debug ...\n
    "},{"location":"configuration/#configuration_show_config","title":"Overview of current configuration","text":"

    (--show-config, --show-full-config)

    To get an overview of the current EasyBuild configuration across all configuration types, you can use eb --show-config.

    The output will specify:

    • any configuration setting for which the current value is different from the default value
    • a couple of selected important configuration settings (even if they are still set to the default value), i.e.:
      • build path
      • install path
      • path to easyconfigs repository
      • the robot search path
      • source path
    • through which configuration type each setting was defined
      • i.e., default value, configuration file, environment variable or command line argument

    Example output

    $ cat $HOME/.config/easybuild/config.cfg\n[config]\nbuildpath = /tmp/eb-build\n\n$ export EASYBUILD_MODULES_TOOL=Lmod\n$ export EASYBUILD_OPTARCH=''\n\n$ eb --show-config --installpath=$HOME/apps --job-cores=4\n#\n# Current EasyBuild configuration\n# (C: command line argument, D: default value, E: environment variable, F: configuration file)\n#\nbuildpath      (F) = /tmp/eb-build\ninstallpath    (C) = /Users/example/apps\njob-cores      (C) = 4\nmodules-tool   (E) = Lmod\noptarch        (E) = ''\nrepositorypath (D) = /Users/example/.local/easybuild/ebfiles_repo\nrobot-paths    (D) = /Users/example/easybuild-easyconfigs/easybuild/easyconfigs\nsourcepath     (D) = /Users/example/.local/easybuild/sources\n

    For a full overview of the current configuration, including all configuration settings, see eb --show-full-config.

    "},{"location":"configuration/#configuration_available_settings","title":"Available configuration settings","text":"

    To obtain a full and up-to-date list of available configuration settings, see eb --help. We refrain from listing all available configuration settings here, to avoid outdated documentation.

    A couple of selected configuration settings are discussed below, in particular the mandatory settings.

    "},{"location":"configuration/#configuration_mandatory_settings","title":"Mandatory configuration settings","text":"

    A handful of configuration settings are mandatory, and should be provided using one of the supported configuration types.

    The following configuration settings are currently mandatory (more details in the sections below):

    • Source path (--sourcepath)
    • Build path (--buildpath)
    • Software and modules install path (--installpath, --installpath-software, --installpath-modules)
    • Easyconfigs repository (--repository, --repositorypath)
    • Logfile format (--logfile-format)

    If any of these configuration settings is not provided in one way or another, EasyBuild will complain and exit.

    In practice, all of these have reasonable defaults (see eb --help for the default settings).

    Note

    The mandatory path-related options can be tweaked collectively via --prefix, see Overall prefix path (--prefix) for more information.

    "},{"location":"configuration/#sourcepath","title":"Source path (--sourcepath)","text":"

    default: $HOME/.local/easybuild/sources/ (determined via Overall prefix path (--prefix))

    The sourcepath configuration setting specifies the parent path of the directory in which EasyBuild looks for software source and install files.

    Looking for the files specified via the sources parameter in the .eb easyconfig file is done in the following order of preference:

    • <sourcepath>/<name>: a subdirectory determined by the name of the software package
    • <sourcepath>/<letter>/<name>: in the style of the easyblocks/easyconfigs directories: in a subdirectory determined by the first letter (in lower case) of the software package and by its full name
    • <sourcepath>: directly in the source path

    Note that these locations are also used when EasyBuild looks for patch files in addition to the various easybuild/easyconfigs directories that are listed in the $PYTHONPATH.

    You can specify multiple paths, separated with :, in which EasyBuild will look for sources, but only the first one will be used for downloading, so one needs to make sure at least the first path is writable by the user invoking eb.

    "},{"location":"configuration/#buildpath","title":"Build path (--buildpath)","text":"

    default: $HOME/.local/easybuild/build/ (determined via Overall prefix path (--prefix))

    The buildpath configuration setting specifies the parent path of the (temporary) directories in which EasyBuild builds its software packages.

    Each software package is (by default) built in a subdirectory of the specified buildpath under <name>/<version>/<toolchain><versionsuffix>.

    Note that the build directories are emptied and removed by EasyBuild when the installation is completed (by default).

    Tip

    Using /dev/shm as build path can significantly speed up builds, if it is available and provides a sufficient amount of space. Setting up the variable EASYBUILD_BUILDPATH in your shell startup files makes this default. However be aware that, fi., two parallel GCC builds may fill up /dev/shm !

    "},{"location":"configuration/#installpath","title":"Software and modules install path","text":"

    (--installpath, --installpath-software, --installpath-modules)

    defaults:

    • software install path: $HOME/.local/easybuild/software (determined via Overall prefix path (--prefix) and --subdir-software)
    • modules install path: $HOME/.local/easybuild/modules/all (determined via Overall prefix path (--prefix), --subdir-modules and --suffix-modules-path)

    There are several ways in which the software and modules install path used by EasyBuild can be configured:

    • using the direct configuration options --installpath-software and --installpath-modules (see below)
    • via the parent install path configuration option --installpath (see below)
    • via the overall prefix path configuration option --prefix (see Overall prefix path (--prefix))
    "},{"location":"configuration/#installpath_direct_options","title":"Direct options","text":"

    (--installpath-software and --installpath-modules)

    default: (no default specified)

    The --installpath-software and --installpath-modules configuration options (available since EasyBuild v2.1.0) allow to directly specify the software and modules install paths, respectively.

    These configuration options have precedence over all of the other configuration options that relate to specifying the install path for software and/or modules (see below).

    "},{"location":"configuration/#parent_installpath","title":"Parent install path: --installpath","text":"

    default: (no default specified)

    The --installpath configuration option specifies the parent path of the directories in which EasyBuild should install software packages and the corresponding module files.

    The install path for software and modules specifically is determined by combining --installpath with --subdir-software, and combining --installpath with --subdir-modules and --suffix-modules-path, respectively.

    For more information on these companion configuration options, see Software and modules install path subdirectories (--subdir-software, --subdir-modules, --suffix-modules-path).

    "},{"location":"configuration/#full-install-path-for-software-and-module-file","title":"Full install path for software and module file","text":"

    The full software and module install paths for a particular software package are determined by the active module naming scheme along with the general software and modules install paths specified by the EasyBuild configuration.

    Both the software itself and the corresponding module file will be installed in a subdirectory of the corresponding install path named according to the active module naming scheme (default format: <name>/<version>-<toolchain><versionsuffix>). Additionally, symlinks to the actual module file are installed in a subdirectory of the modules install path named according to the value of the moduleclass easyconfig parameter.

    For more information on the module naming scheme used by EasyBuild, see Active module naming scheme (--module-naming-scheme).

    "},{"location":"configuration/#updating-modulepath","title":"Updating $MODULEPATH","text":"

    To make the modules generated by EasyBuild available, the $MODULEPATH environment variable must be updated to include the modules install path.

    The recommended way to do this is to use the module use command. For example:

    eb --installpath=$HOME/easybuild\nmodule use $HOME/easybuild/modules/all\n

    It is probably a good idea to add this to your (favourite) shell .rc file, e.g., ~/.bashrc, and/or the ~/.profile login scripts, so you do not need to adjust $MODULEPATH every time you start a new session.

    Note

    Updating $MODULEPATH is not required for EasyBuild itself, since eb updates $MODULEPATH itself at runtime according to the modules install path it is configured with.

    "},{"location":"configuration/#easyconfigs_repo","title":"Easyconfigs repository (--repository, --repositorypath)","text":"

    default: FileRepository at $HOME/.local/easybuild/ebfiles_repo (determined via Overall prefix path (--prefix))

    EasyBuild has support for archiving (tested) .eb easyconfig files. After successfully installing a software package using EasyBuild, the corresponding .eb file is uploaded to a repository defined by the repository and repositorypath configuration settings.

    Currently, EasyBuild supports the following repository types (see also eb --avail-repositories):

    • FileRepository('path', 'subdir'): a plain flat file repository; path is the path where files will be stored, subdir is an optional subdirectory of that path where the files should be stored
    • GitRepository('path', 'subdir/in/repo': a non-empty bare git repository (created with git init --bare or git clone --bare); path is the path to the git repository (can also be a URL); subdir/in/repo is optional, and specifies a subdirectory of the repository where files should be stored in
    • SvnRepository('path', 'subdir/in/repo'): an SVN repository; path contains the subversion repository location (directory or URL), the optional second value specifies a subdirectory in the repository

    You need to set the repository setting inside a configuration file like this:

    [config]\nrepository = FileRepository\nrepositorypath = <path>\n

    Or, optionally an extra argument representing a subdirectory can be specified, e.g.:

    export EASYBUILD_REPOSITORY=GitRepository\nexport EASYBUILD_REPOSITORYPATH=<path>,<subdir>\n

    You do not have to worry about importing these classes, EasyBuild will make them available to the configuration file.

    Using git requires the GitPython Python modules, using svn requires the pysvn Python module (see Dependencies).

    If access to the easyconfigs repository fails for some reason (e.g., no network or a missing required Python module), EasyBuild will issue a warning. The software package will still be installed, but the (successful) easyconfig will not be automatically added to the archive (i.e., it is not considered a fatal error).

    "},{"location":"configuration/#logfile_format","title":"Logfile format (--logfile-format)","text":"

    default: easybuild, easybuild-%(name)s-%(version)s-%(date)s.%(time)s.log

    The logfile format configuration setting contains a tuple specifying a log directory name and a template log file name. In both of these values, using the following string templates is supported:

    • %(name)s: the name of the software package to install
    • %(version)s: the version of the software package to install
    • %(date)s: the date on which the installation was performed (in YYYYMMDD format, e.g. 20120324)
    • %(time)s: the time at which the installation was started (in HHMMSS format, e.g. 214359)

    Note

    Because templating is supported in configuration files themselves (see Templates and constants supported in configuration files), the '%' character in these template values must be escaped when used in a configuration file (and only then), e.g., '%%(name)s'. Without escaping, an error like InterpolationMissingOptionError: Bad value substitution will be thrown by ConfigParser.

    For example, configuring EasyBuild to generate a log file mentioning only the software name in a directory named easybuild can be done via the --logfile-format command line option:

    eb --logfile-format=\"easybuild,easybuild-%(name)s.log\" ...\n

    or the $EASYBUILD_LOGFILE_FORMAT environment variable:

    export EASYBUILD_LOGFILE_FORMAT=\"easybuild,easybuild-%(name)s.log\"\n

    or by including the following in an EasyBuild configuration file (note the use of '%%' to escape the name template value here):

    logfile-format = easybuild,easybuild-%%(name)s.log\n
    "},{"location":"configuration/#configuration_optional_settings","title":"Optional configuration settings","text":"

    The subsections below discuss a couple of commonly used optional configuration settings.

    "},{"location":"configuration/#prefix","title":"Overall prefix path (--prefix)","text":"

    default: $HOME/.local/easybuild

    The overall prefix path used by EasyBuild can be specified using the --prefix configuration option.

    This affects the default value of several configuration options:

    • source path
    • build path
    • software and modules install path
    • easyconfigs repository path
    • package path
    • container path
    "},{"location":"configuration/#installpath_subdirs","title":"Software and modules install path subdirectories","text":"

    (--subdir-software, --subdir-modules, --suffix-modules-path)

    defaults:

    • software install path subdirectory (--subdir-software): software
    • modules install path subdirectory (--subdir-modules): modules
    • modules install path suffix (--suffix-modules-path): all

    The subdirectories for the software and modules install paths (relative to --installpath, see install path) can be specified using the corresponding dedicated configuration options (available since EasyBuild v1.14.0).

    For example:

    export EASYBUILD_SUBDIR_SOFTWARE=installs\neb --installpath=$HOME/easybuild --subdir-modules=module_files ...\n
    "},{"location":"configuration/#modules_tool","title":"Modules tool (--modules-tool)","text":"

    default: Lmod

    Specifying the modules tool that should be used by EasyBuild can be done using the modules-tool configuration setting. A list of supported modules tools can be obtained using eb --avail-modules-tools.

    Currently, the following modules tools are supported:

    • Lmod (default): Lmod, an modern alternative to environment modules, written in Lua (lmod)
    • EnvironmentModules: modern Tcl-only version of environment modules (4.x) (modulecmd.tcl)
    • EnvironmentModulesC: Tcl/C version of environment modules, usually version 3.2.10 (modulecmd)
    • EnvironmentModulesTcl: (ancient) Tcl-only version of environment modules (modulecmd.tcl)

    You can determine which modules tool you are using by checking the output of type -f module (in a bash shell), or alias module (in a tcsh shell).

    The actual module command (i.e., modulecmd, modulecmd.tcl, lmod, ...) must be available via $PATH (which is not standard), except when using Lmod (in that case the lmod binary can also be located via $LMOD_CMD).

    For example, to indicate that EasyBuild should be using Lmod as modules tool:

    eb --modules-tool=Lmod ...\n
    "},{"location":"configuration/#module_naming_scheme","title":"Active module naming scheme (--module-naming-scheme)","text":"

    default: EasyBuildModuleNamingScheme

    The module naming scheme that should be used by EasyBuild can be specified using the module-naming-scheme configuration setting.

    eb --module-naming-scheme=HierarchicalMNS ...\n

    For more details, see the dedicated page on using a custom module naming scheme.

    "},{"location":"configuration/#module_syntax","title":"Module files syntax (--module-syntax)","text":"

    default: Lua

    supported since: EasyBuild v2.1

    The syntax to use for generated module files can be specified using the --module-syntax configuration setting.

    Possible values are:

    • Lua: generate module files in Lua syntax
      • this requires the use of Lmod as a modules tool to consume the module files (see modules tool)
      • module file names will have the .lua extension
    • Tcl: generate module files in Tcl syntax
      • Tcl module files can be consumed by all supported modules tools
      • module files will contain a header string #%Module indicating that they are composed in Tcl syntax

    Note

    Lmod is able to deal with having module files in place in both Tcl and Lua syntax. When a module file in Lua syntax (i.e., with a .lua file name extension) is available, a Tcl module file with the same name will be ignored. The Tcl-based environment modules tool will simply ignore module files in Lua syntax, since they do not contain the header string that is included in Tcl module files.

    Note

    Using module files in Lua syntax has the advantage that Lmod does not need to translate from Lua to Tcl internally when processing the module files, which benefits responsiveness of Lmod when used interactively by users. In terms of Lmod-specific aspects of module files, the syntax of the module file does not matter; Lmod-specific statements supported by EasyBuild can be included in Tcl module files as well, by guarding them by a condition that only evaluates positively when Lmod is consuming the module file, i.e. 'if { [ string match \"*tcl2lua.tcl\" $env(_) ] } { ... }'. Only conditional load statements like 'load(atleast(\"gcc\",\"4.8\"))' can only be used in Lua module files.

    "},{"location":"containers/","title":"Generating container recipes & images","text":"

    EasyBuild has support for generating Singularity and Docker container recipes which will use EasyBuild to build and install a specified software stack. In addition, EasyBuild can (optionally) leverage the build tool provided by the container software of choice to create container images.

    Note

    The features documented here have been available since EasyBuild v3.6.0 but are still experimental, which implies they are subject to change in upcoming versions of EasyBuild.

    You will need to enable the --experimental configuration option in order to use them.

    See Experimental features for more information.

    Initially (since EasyBuild v3.6.0), only Singularity (https://www.sylabs.io/singularity) was supported. Since EasyBuild v3.6.2, generating (recipes for) Docker (https://www.docker.com/) containers is also supported.

    In EasyBuild v3.9.2 the support for generating Singularity container recipes/images was enhanced significantly.

    "},{"location":"containers/#containers_req","title":"Requirements","text":"
    • Docker, or Singularity version 2.4 (or more recent, incl. version 3.x)
    • sudo permissions (only required to actually build container images, see Building container images)
    "},{"location":"containers/#containers_usage","title":"Usage","text":""},{"location":"containers/#containers_usage_containerize","title":"Generating container recipes","text":"

    (--containerize / -C)

    To generate container recipes, use eb --containerize, or eb -C for short.

    The resulting container recipe will, in turn, leverage EasyBuild to build and install the software that corresponds to the easyconfig files that are specified as arguments to the eb command (and all required dependencies, if needed).

    Note

    EasyBuild will refuse to overwrite existing container recipes.

    To re-generate an already existing recipe file, use the --force command line option.

    "},{"location":"containers/#containers_usage_template_recipe","title":"Container template recipe","text":"

    (--container-template-recipe)

    Via the --container-template-recipe configuration option, you can specify a specific container template recipe that EasyBuild should use to generate container recipes.

    This gives you control over a variety of aspects, including:

    • the operating system (version) used in the container image
    • the location where EasyBuild installs software within the container
    • how EasyBuild is configured when installing software in the container
    • etc.

    When generating container recipes, EasyBuild will replace the following template values:

    • %(bootstrap)s: bootstrap agent to use
      • see also https://www.sylabs.io/guides/latest/user-guide/definition_files.html#header
    • %(bootstrap_config)s: configuration for the bootstrap agent
      • this is expected to include lines that specify From:, MirrorURL:, etc.
      • for more information, see Container configuration
    • %(easyconfigs)s: (list of) easyconfig file name(s)/path(s) to pass to eb command
    • %(eb_args)s: additional arguments for 'eb' command
    • %(include)s: list of additional OS packages to include
      • see also include keyword: OS packages to include
    • %(install_eb)s: list of commands to install EasyBuild
    • %(install_os_deps)s: list of commands to install required OS packages (for example yum install -y openssl)
      • incl. osdependencies specified in easyconfig files
    • %(mirrorurl): URI to use to download OS
      • see also mirrorurl keyword: mirror URL to use to download OS
    • %(modname)s: module name(s) to load in environment
    • %(osversion): OS version to use
      • see also osversion keyword: OS version to use
    • %(post_commands)s: additional commands for the post section of the (Singularity) container recipe
    "},{"location":"containers/#containers_usage_config","title":"Container configuration","text":"

    (--container-config)

    Using --container-config, values for specific template values can be specified.

    Values can be specified as a comma-separated list of <key>=<value> pairs; for example: --container-config bootstrap=localimage,from:example.sif.

    Currently supported keywords include:

    • bootstrap: bootstrap agent to use
      • two types of values are supported:
        • Image-based bootstrap agents
        • Linux distro bootstrap agents
    • eb_args: additional arguments for 'eb' command
    • from: argument to pass to bootstrap agent
      • required/only valid with docker, library, localimage and shub bootstrap agents
      • for more details, see Image-based bootstrap agents
    • include: list of additional OS packages to include
      • see also include keyword: OS packages to include
    • install_eb: commands to install EasyBuild
    • mirrorurl: URI to use to download OS
      • see also mirrorurl keyword: mirror URL to use to download OS
    • osversion: OS version to use
      • see also osversion keyword: OS version to use
    • post_commands: additional commands for post section of (Singularity) container recipe

    For more details on the last three, see Linux distro bootstrap agents.

    Note

    Specifying any unknown keywords will results in an error.

    "},{"location":"containers/#container_bootstrap_agent_image_based","title":"Image-based bootstrap agents","text":"

    (e.g. docker, library, localimage, shub)

    These bootstrap agents involve using an existing container image as a base.

    Supported values include:

    • docker: base container image hosted on Docker Hub (https://hub.docker.com/)
    • library: base container image hosted on Sylabs Container Library (https://cloud.sylabs.io/)
    • localimage: local base container image file
    • shub: base container image hosted on Singularity Hub (https://singularity-hub.org/)

    The from keyword must also be specified when using one of these bootstrap agents.

    The localimage bootstrap agents corresponds to using a local container image file as a base, where it's path is specified using the from keyword. For example: \"bootstrap=localimage,from=/home/example/base.sif\".

    Each of the other image-based bootstrap agents imply that the container image to use as a base is downloaded from the corresponding registry, ad specified through the from keyword, with a specific format:

    • for docker bootstrap agent: <registry>/<namespace>/<container>:<tag>@<digest>
    • for library bootstrap agent: <entity>/<collection>/<container>:<tag>
    • for shub bootstrap agent: <registry>/<username>/<container-name>:<tag>@digest

    For more details, see https://www.sylabs.io/guides/latest/user-guide/appendix.html#build-modules.

    "},{"location":"containers/#containers_usage_container_base_image_requirements","title":"Requirements for base container image","text":"

    There are a couple of specific requirements for the base container image:

    • all dependencies of EasyBuild must be installed, including:
      • Python 2.7 or 3.6+
      • Lmod
      • standard tools & utilities like make, patch, tar, etc.
      • OS packages for system libraries like OpenSSL

    See also Requirements

    Each generated container recipe will include commands to create the easybuild user if it doesn't exist yet, as well as commands to create the /app and /scratch directories and give the easybuild user write permissions to those locations.

    Note

    The generated container recipe currently hardcodes some of this. We intend to make this more configurable in a future version of EasyBuild.

    "},{"location":"containers/#container_bootstrap_agent_linux_distro","title":"Linux distro bootstrap agents","text":"

    (e.g. arch, busybox, debootstrap, yum, zypper)

    Dedicated bootstrap agents are supported for different flavors of Linux distributions, including:

    • arch: Arch Linux
    • busybox: BusyBox Linux
    • debootstrap: apt-based systems like Ubuntu/Debian
    • yum: yum-based systems like CentOS
    • zypper: zypper-based systems like openSUSE

    When one of these bootstrap agents is used, additional keywords can be specified:

    • include keyword: OS packages to include
    • mirrorurl keyword: mirror URL to use to download OS
    • osversion keyword: OS version to use
    "},{"location":"containers/#container_bootstrap_agent_linux_distro_include","title":"include keyword: OS packages to include","text":"

    Via the include keywords, a list of packages can be specified that should be include on top of the base OS installation.

    For some bootstrap agents, a default value is used if no value is specified:

    • for the yum bootstrap agent: yum
    • for the zypper bootstrap agent: zypper

    See also https://www.sylabs.io/guides/latest/user-guide/appendix.html#yum-bootstrap-agent and https://www.sylabs.io/guides/latest/user-guide/appendix.html#zypper-bootstrap-agent.

    "},{"location":"containers/#container_bootstrap_agent_linux_distro_mirrorurl","title":"mirrorurl keyword: mirror URL to use to download OS","text":"

    For most of the Linux distro bootstrap agents (all except arch), Singularity requires that a mirror URL is specified that will be used when downloading the corresponding OS.

    You can specify a value using the mirrorurl keyword. For example: \"bootstrap=yum,mirrorurl=https://example.com\".

    EasyBuild will use a default value for mirrorurl if no other value is specified:

    • busybox: https://www.busybox.net/downloads/binaries/%{OSVERSION}/busybox-x86_64
    • debootstrap: http://us.archive.ubuntu.com/ubuntu/
    • yum: http://mirror.centos.org/centos-%{OSVERSION}/%{OSVERSION}/os/x86_64/
    • zypper:: http://download.opensuse.org/distribution/leap/%{OSVERSION}/repo/oss/
    "},{"location":"containers/#container_bootstrap_agent_linux_distro_osversion","title":"osversion keyword: OS version to use","text":"

    Using the osversion keyword you can specify which OS version should be installed.

    Note that is this only required/used if value for the mirrorurl value contains %{OSVERSION}s.

    For example: \"bootstrap=yum,osversion=7\".

    "},{"location":"containers/#containers_usage_build_image","title":"Building container images","text":"

    (--container-build-image)

    To instruct EasyBuild to also build a container image from the generated container recipe, use --container-build-image (in combination with -C or --containerize).

    EasyBuild will leverage functionality provided by the container software of choice (see Type of container recipe/image to generate) to build the container image.

    For example, in the case of Singularity, EasyBuild will run sudo /path/to/singularity build on the generated container recipe.

    Note

    In order to leverage the image building functionality of the container software, admin privileges are typically required. Therefore, EasyBuild will run the command to build the container image with sudo. You may need to enter your password to let the command execute.

    EasyBuild will only run the actual container image build command with sudo. It will not use elevated privileges for anything else.

    In case of doubt, you can use --extended-dry-run or -x do perform a dry run, so you can evaluate which commands will be executed (see also Extended dry run.

    If you're not comfortable with this, you can just let EasyBuild generate the container recipe, and then use that to build the actual container images yourself, either locally or through Singularity Hub (https://singularity-hub.org).

    The container image will be placed in the location specified by the --containerpath configuration option (see Location for generated container recipes & images), next to the generated container recipe that was used to build the image.

    Note

    When building container images, make sure to use a file system location with sufficient available storage space. Singularity may pull metadata during the build, and each image can range from several hundred MBs to GBs, depending on software stack you are including in the container image.

    Note

    EasyBuild will refuse to overwrite existing container images.

    To re-generate an already existing image file, use the --force command line option.

    "},{"location":"containers/#containers_usage_example","title":"Example usage","text":"

    In this example, we will use a pre-built base container image located at example.sif (see also Image-based bootstrap agents).

    To let EasyBuild generate a container recipe for GCC 6.4.0 + binutils 2.28:

    eb GCC-6.4.0-2.28.eb --containerize --container-config bootstrap=localimage,from=example.sif --experimental\n

    With other configuration options left to default (see output of eb --show-config), this will result in a Singularity container recipe using example.sif as base image, which will be stored in $HOME/.local/easybuild/containers:

    $ eb GCC-6.4.0-2.28.eb --containerize --container-config bootstrap=localimage,from=example.sif --experimental\n== temporary log file in case of crash /tmp/eb-dLZTNF/easybuild-LPLeG0.log\n== Singularity definition file created at /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28\n== Temporary log file(s) /tmp/eb-dLZTNF/easybuild-LPLeG0.log* have been removed.\n== Temporary directory /tmp/eb-dLZTNF has been removed.\n

    Docker supports a limited set of the container options. Example of commands that can be used to generate Docker containers are:

    eb  --containerize --container-type=docker --experimental --container-config=ubuntu:20.04 zlib-1.2.11.eb\neb  --containerize --container-type=docker --experimental --container-config=centos:7 zlib-1.2.11.eb\n
    "},{"location":"containers/#containers_example_recipe","title":"Example of a generated container recipe","text":"

    Below is an example of container recipe for that was generated by EasyBuild, using the following command:

    eb Python-3.6.4-foss-2018a.eb -C --container-config bootstrap=yum,osversion=7 --experimental\n
    Bootstrap: yum\nOSVersion: 7\nMirrorURL: http://mirror.centos.org/centos-%{OSVERSION}/%{OSVERSION}/os/x86_64/\nInclude: yum\n\n%post\nyum install --quiet --assumeyes epel-release\nyum install --quiet --assumeyes python setuptools Lmod\nyum install --quiet --assumeyes python-pip\nyum install --quiet --assumeyes bzip2 gzip tar zip unzip xz\nyum install --quiet --assumeyes curl wget\nyum install --quiet --assumeyes patch make\nyum install --quiet --assumeyes file git which\nyum install --quiet --assumeyes gcc-c++\nyum install --quiet --assumeyes perl-Data-Dumper\nyum install --quiet --assumeyes perl-Thread-Queue\nyum --skip-broken --quiet --assumeyes install libibverbs-dev libibverbs-devel rdma-core-devel\nyum --skip-broken --quiet --assumeyes install openssl-devel libssl-dev libopenssl-devel\n\n# install EasyBuild using pip\npip install -U setuptools\npip install 'vsc-install<0.11.4' 'vsc-base<2.9.0'\npip install easybuild\n\n# create 'easybuild' user (if missing)\nid easybuild || useradd easybuild\n\n# create /app software installation prefix + /scratch sandbox directory\nif [ ! -d /app ]; then mkdir -p /app; chown easybuild:easybuild -R /app; fi\nif [ ! -d /scratch ]; then mkdir -p /scratch; chown easybuild:easybuild -R /scratch; fi\n\n# install Lmod RC file\ncat > /etc/lmodrc.lua << EOF\nscDescriptT = {\n  {\n    [\"dir\"]       = \"/app/lmodcache\",\n    [\"timestamp\"] = \"/app/lmodcache/timestamp\",\n  },\n}\nEOF\n\n# change to 'easybuild' user\nsu - easybuild\n\n# verbose commands, exit on first error\nset -ve\n\n# configure EasyBuild\n\n# use /scratch as general prefix, used for sources, build directories, etc.\nexport EASYBUILD_PREFIX=/scratch\n\n# also use /scratch for temporary directories\nexport EASYBUILD_TMPDIR=/scratch/tmp\n\n# download sources to /scratch/sources, but also consider files located in /tmp/easybuild/sources;\n# that way, source files that can not be downloaded can be seeded in\nexport EASYBUILD_SOURCEPATH=/scratch/sources:/tmp/easybuild/sources\n\n# install software & modules into /app\nexport EASYBUILD_INSTALLPATH=/app\n\n# use EasyBuild to install specified software\neb Python-3.6.4-foss-2018a.eb --robot\n\n# update Lmod cache\nmkdir -p /app/lmodcache\n$LMOD_DIR/update_lmod_system_cache_files -d /app/lmodcache -t /app/lmodcache/timestamp /app/modules/all\n\n# exit from 'easybuild' user\nexit\n\n# cleanup, everything in /scratch is assumed to be temporary\nrm -rf /scratch/*\n\n%runscript\neval \"$@\"\n\n%environment\n# make sure that 'module' and 'ml' commands are defined\nsource /etc/profile\n# increase threshold time for Lmod to write cache in $HOME (which we don't want to do)\nexport LMOD_SHORT_TIME=86400\n# purge any modules that may be loaded outside container\nmodule --force purge\n# avoid picking up modules from outside of container\nmodule unuse $MODULEPATH\n# pick up modules installed in /app\nmodule use /app/modules/all\n# load module(s) corresponding to installed software\nmodule load Python/3.6.4-foss-2018a\n\n%labels\n

    The generated container recipe includes a bunch of yum install commands to install additional required/useful OS packages, pip install commands to install EasyBuild (if it's not installed yet), commands to create the easybuild user and provide write access to the /app and /scratch directories, and to configure Lmod and update the Lmod cache after software was installed with EasyBuild.

    In addition, the generated module files will follow the default module naming scheme (EasyBuildMNS). The modules that correspond to the easyconfig files that were specified on the command line will be loaded automatically, see the statements in the %environment section of the generated container recipe.

    "},{"location":"containers/#containers_example_build_image","title":"Example of building container image","text":"

    You can instruct EasyBuild to also build the container image by also using --container-build-image.

    Note that you will need to enter your sudo password (unless you recently executed a sudo command in the same shell session):

    $ eb GCC-6.4.0-2.28.eb --containerize --container-config bootstrap=localimage,from=/tmp/example.sif --container-build-image --experimental\n== temporary log file in case of crash /tmp/eb-aYXYC8/easybuild-8uXhvu.log\n== Singularity tool found at /usr/bin/singularity\n== Singularity version '2.4.6' is 2.4 or higher ... OK\n== Singularity definition file created at /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28\n== Running 'sudo /usr/bin/singularity build  /home/example/.local/easybuild/containers/GCC-6.4.0-2.28.sif /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28', you may need to enter your 'sudo' password...\n== (streaming) output for command 'sudo /usr/bin/singularity build  /home/example/.local/easybuild/containers/GCC-6.4.0-2.28.sif /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28':\nUsing container recipe deffile: /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28\nSanitizing environment\nAdding base Singularity environment to container\n...\n== temporary log file in case of crash /scratch/tmp/eb-WnmCI_/easybuild-GcKyY9.log\n== resolving dependencies ...\n...\n== building and installing GCCcore/6.4.0...\n...\n== building and installing binutils/2.28-GCCcore-6.4.0...\n...\n== building and installing GCC/6.4.0-2.28...\n...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file(s) /app/software/GCC/6.4.0-2.28/easybuild/easybuild-GCC-6.4.0-20180424.084946.log\n== Build succeeded for 15 out of 15\n...\nBuilding Singularity image...\nSingularity container built: /home/example/.local/easybuild/containers/GCC-6.4.0-2.28.sif\nCleaning up...\n== Singularity image created at /home/example/.local/easybuild/containers/GCC-6.4.0-2.28.sif\n== Temporary log file(s) /tmp/eb-aYXYC8/easybuild-8uXhvu.log* have been removed.\n== Temporary directory /tmp/eb-aYXYC8 has been removed.\n

    The inspect the container image, you can use singularity shell to start a shell session in the container:

    $ singularity shell --shell \"/bin/bash --norc\" $HOME/.local/easybuild/containers/GCC-6.4.0-2.28.sif\n\nSingularity GCC-6.4.0-2.28.sif:~> module list\n\nCurrently Loaded Modules:\n  1) GCCcore/6.4.0   2) binutils/2.28-GCCcore-6.4.0   3) GCC/6.4.0-2.28\n\nSingularity GCC-6.4.0-2.28.sif:~> which gcc\n/app/software/GCCcore/6.4.0/bin/gcc\n\nSingularity GCC-6.4.0-2.28.sif:~> gcc --version\ngcc (GCC) 6.4.0\n...\n

    Note

    We are passing --shell \"/bin/bash --norc to singularity shell to avoid that the .bashrc login script that may be present in your home directory is sourced, since that may include statements that are not relevant in the container environment.

    Or, you can use singularity exec to execute a command in the container.

    Compare the output of running which gcc and gcc --version locally:

    $ which gcc\n/usr/bin/gcc\n$ gcc --version\ngcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)\n...\n

    and the output when running the same commands in the container:

    $ singularity exec GCC-6.4.0-2.28.sif which gcc\n/app/software/GCCcore/6.4.0/bin/gcc\n\n$ singularity exec GCC-6.4.0-2.28.sif gcc --version\ngcc (GCC) 6.4.0\n...\n
    "},{"location":"containers/#configuration","title":"Configuration","text":"

    Note

    You can specify each of these configuration options either as options to the eb command, via the equivalent $EASYBUILD_CONTAINER* environment variable, or via an EasyBuild configuration file; see Supported configuration types.

    "},{"location":"containers/#containers_cfg_path","title":"Location for generated container recipes & images","text":"

    (--containerpath)

    To control the location where EasyBuild will put generated container recipes & images, use the --containerpath configuration setting. Next to providing this as an option to the eb command, you can also define the $EASYBUILD_CONTAINERPATH environment variable or specify containerpath in an EasyBuild configuration file.

    The default value for this location is $HOME/.local/easybuild/containers, unless the --prefix configuration setting was provided, in which case it becomes <prefix>/containers (see Overall prefix path).

    Use eb --show-full-config | grep containerpath to determine the currently active setting.

    "},{"location":"containers/#containers_cfg_image_format","title":"Container image format","text":"

    (--container-image-format)

    Note

    This is only relevant when creating Singularity container images; the value for --container-image-format is ignored when creating Docker container images.

    The format for container images that EasyBuild is produces via the functionality provided by the container software can be controlled via the --container-image-format configuration setting.

    For Singularity containers (see Type of container recipe/image to generate), three image formats are supported:

    • squashfs (default when using Singularity 2.x): compressed images using squashfs read-only file system
    • sif (default when using Singularity 3.x): compressed read-only Singularity Image File (SIF)
    • ext3: writable image file using ext3 file system (only supported with Singularity 2.x)
    • sandbox: container image in a regular directory

    See also https://www.sylabs.io/guides/latest/user-guide/build_a_container.html .

    "},{"location":"containers/#containers_cfg_image_name","title":"Name for container recipe & image","text":"

    (--container-image-name)

    By default, EasyBuild will use the name of the first easyconfig file (without the .eb suffix) as a name for both the container recipe and image.

    You can specify an altername name using the --container-image-name configuration setting.

    The filename of generated container recipe will be Singularity.<name>.

    The filename of the container image will be <name><extension>, where the value for <extension> depends on the image format (see Container image format):

    • '.simg' for squashfs Singularity container images (only with Singularity 2.x)
    • '.img' for ext3 Singularity container images (only with Singularity 2.x)
    • '.sif' for Singularity container images in Singularity Image Format (SIF) (only with Singularity 3.x)
    • empty for sandbox Singularity container images (in which case the container image is actually a directory rather than a file)
    • empty for Docker container images
    "},{"location":"containers/#containers_tmpdir","title":"Temporary directory for creating container images","text":"

    (--container-tmpdir)

    The container software that EasyBuild leverages to build container images may be using a temporary directory in a location that doesn't have sufficient free space.

    You can instruct EasyBuild to pass an alternate location via the --container-tmpdir configuration setting.

    For Singularity, the default is to use /tmp, see https://www.sylabs.io/guides/latest/user-guide/build_env.html#temporary-folders. If --container-tmpdir is specified, the $SINGULARITY_TMPDIR environment variable will be defined accordingly to let Singularity use that location instead.

    "},{"location":"containers/#containers_cfg_type","title":"Type of container recipe/image to generate","text":"

    (--container-type)

    With the --container-type configuration option, you can specify what type of container recipe/image EasyBuild should generated. Possible values are:

    • docker: Docker (https://docs.docker.com/) container recipe & images (supported since EasyBuild v3.6.2)
    • singularity (default): Singularity (https://www.sylabs.io/singularity) container recipes & images
    "},{"location":"containers/#containers_stacking","title":"'Stacking' container images","text":"

    To avoid long build times and excessive large container images, you can construct your target container image step-by-step, by first building a base container image for the compiler toolchain you want to use, and then using it to build a container images for a particular (set of) software package(s).

    For example, to build a container image for Python 3.6.4 built with the foss/2018a toolchain:

    $ cd /tmp\n\n# use current directory as location for generated container recipes & images\n$ export EASYBUILD_CONTAINERPATH=$PWD\n\n# build base container image for OpenMPI + GCC parts of foss/2018a toolchain, on top of CentOS 7.4 base image\n$ eb -C --container-build-image OpenMPI-2.1.2-GCC-6.4.0-2.28.eb --container-config bootstrap=yum,osversion=7 --experimental\n...\n== Singularity image created at /tmp/OpenMPI-2.1.2-GCC-6.4.0-2.28.sif\n...\n\n$ ls -lh OpenMPI-2.1.2-GCC-6.4.0-2.28.sif\n-rwxr-xr-x 1 root root 590M Apr 24 11:43 OpenMPI-2.1.2-GCC-6.4.0-2.28.sif\n\n# build another container image for the for the full foss/2018a toolchain, using the OpenMPI + GCC container as a base\n$ eb -C --container-build-image foss-2018a.eb --container-config bootstrap=localimage,from=OpenMPI-2.1.2-GCC-6.4.0-2.28.sif --experimental\n...\n== Singularity image created at /tmp/foss-2018a.sif\n...\n\n$ ls -lh foss-2018a.sif\n-rwxr-xr-x 1 root root 614M Apr 24 13:11 foss-2018a.sif\n\n# build container image for Python 3.6.4 with foss/2018a toolchain by leveraging base container image foss-2018a.sif\n$ eb -C --container-build-image Python-3.6.4-foss-2018a.eb --container-config bootstrap=localimage,from=foss-2018a.sif --experimental\n...\n== Singularity image created at /tmp/Python-3.6.4-foss-2018a.sif\n...\n\n$ ls -lh Python-3.6.4-foss-2018a.sif\n-rwxr-xr-x 1 root root 759M Apr 24 14:01 Python-3.6.4-foss-2018a.sif\n\n$ singularity exec Python-3.6.4-foss-2018a.sif which python\n/app/software/Python/3.6.4-foss-2018a/bin/python\n\n$ singularity exec Python-3.6.4-foss-2018a.sif python -V\nvsc40023 belongs to gsingularity\nPython 3.6.4\n
    "},{"location":"containers/#containers_seeding","title":"Seeding in source files for container build process","text":"

    In some cases, you may need to \"seed in\" manually downloaded source files into the container build environment, because the sources can not be downloaded automatically.

    As shown in Example of a generated container recipe, the container recipe generated by EasyBuild includes /tmp/easybuild/sources/ as a fallback directory in the list of locations considered by EasyBuild when looking for sources/patches (see also Source path).

    That way, you can copy source files that should be available when building the container image into /tmp/easybuild/sources/.

    "},{"location":"contributing/","title":"Contributing","text":"

    This documentation explains how you can contribute to EasyBuild, and discusses the review process for contributions.

    "},{"location":"contributing/#contributing_how","title":"How to contribute","text":"

    It is a common misconception that contributing to an open source project requires being intimately familiar with its codebase.

    There are various ways to contribute, even if you don't have any experience with the programming language(s) being used by the project you are interested in.

    You can contribute to EasyBuild by:

    • Giving feedback
    • Reporting bugs
    • Submitting feature/change requests
    • Helping others
    • Contributing easyconfig files
    • Contributing code changes
    • Writing documentation
    • Joining the conversation
    "},{"location":"contributing/#contributing_feedback","title":"Giving feedback","text":"

    An easy way to contribute to EasyBuild, even without having a lot of hands-on experience with it, is to provide feedback on your experiences.

    Feedback from people new to EasyBuild is valuable, since it provides a perspective that is easily overlooked by more experienced users.

    You can contact the EasyBuild community via the EasyBuild mailing list (easybuild@lists.ugent.be), the #easybuild IRC channel (see also Getting help).

    "},{"location":"contributing/#contributing_bugs","title":"Reporting bugs","text":"

    If you run into unexpected problems when using EasyBuild, please open a bug report in the issue tracker of the relevant GitHub repository:

    • https://github.com/easybuilders/easybuild-framework/issues: for general problems with eb, the EasyBuild framework, etc.
    • https://github.com/easybuilders/easybuild-easyblocks/issues: for problems specific to a particular (generic or software-specific) easyblock, etc.
    • https://github.com/easybuilders/easybuild-easyconfigs/issues: for problems specific to a particular software package, e.g., with building and installing a particular version of that software, or when using a particular toolchain, etc.
    • https://github.com/easybuilders/easybuild/issues: for problems with the EasyBuild documentation, etc.

    Please try and provide all relevant information, which may include:

    • the EasyBuild version you are using
    • the specifics of the system you are using, incl. OS + version, Python version, modules tool & version, etc.
    • the active EasyBuild configuration; usually the output of eb --show-config is sufficient
    • the full eb command line that was used
    • warning or error messages, or other relevant informative messages
    • filename or contents of easyconfig file(s) being used
    • EasyBuild log file (for example via https://gist.github.com/), preferably collected with eb --debug
    "},{"location":"contributing/#contributing_requests","title":"Submitting feature/change requests","text":"

    If you have suggestions for enhancements or ideas for new features that could be useful, please open an issue in the relevant GitHub repository (see Reporting bugs).

    Describe what you have in mind, and maybe also provide a concrete example to illustrate how your suggestion would improve the current functionality.

    "},{"location":"contributing/#contributing_helping_others","title":"Helping others","text":"

    Try and help others based on your experience, or help them figure out an answer to their question or a solution to their problem using the EasyBuild documentation or by reaching out to someone else in the EasyBuild community that may know the answer.

    The EasyBuild community is known to be very welcoming and helpful, and you too can be a part of that.

    "},{"location":"contributing/#contributing_easyconfigs","title":"Contributing easyconfig files","text":"

    Please contribute easyconfig files that are not included yet in (the develop branch of) the easybuild-easyconfigs GitHub repository at https://github.com/easybuilders/easybuild-easyconfigs.

    This includes easyconfigs for software that is not supported yet by EasyBuild, as well as updates to existing easyconfigs (e.g., version updates, using a different toolchain, etc.), even if you consider the updates to be trivial. Keep in mind that being able to use something that is known to work out-of-the-box can save quite a bit of time compared to having to tweak existing easyconfigs and validate the result installations.

    We highly recommend using the --new-pr and --update-pr command line options for contributing easyconfig files; see Submitting new and updating pull requests.

    "},{"location":"contributing/#contributing_code","title":"Contributing code changes","text":"

    Of course you can also contribute code changes, including bug fixes, enhancements or additional features in the EasyBuild framework, the easyblocks repository, the test suites or in related scripts.

    Do keep in mind that this requires some experience with Python, although you should be able to go a long way by using the existing code base as support.

    See Pull requests for more information on the practical aspects of contributing code.

    "},{"location":"contributing/#contributing_docs","title":"Writing documentation","text":"

    Another way to contribute to EasyBuild without having to implement Python code is by writing documentation, i.e. enhancing or updating existing documentation or documenting features that are not covered yet.

    To contribute to the documentation hosted at https://docs.easybuild.io, you should open a pull request to the main branch of the https://github.com/easybuilders/easybuild-docs repository; see the docs subdirectory.

    The EasyBuild documentation is made with Material for MkDocs and written in MarkDown.

    "},{"location":"contributing/#contributing_conversation","title":"Joining the conversation","text":"

    Last but not least, you can actively join the conversation that arise on the EasyBuild mailing list, the #easybuild IRC channel and during the bi-weekly EasyBuild conference calls (see https://github.com/easybuilders/easybuild/wiki/Conference-calls).

    Engage with the EasyBuild community, and help steer EasyBuild development by participating in the conversations regarding a variety of topics related to building and installing (scientific) software.

    "},{"location":"contributing/#contributing_pull_requests","title":"Pull requests","text":"

    To contribute to the EasyBuild framework, easyblocks, easyconfig files or the EasyBuild documentation, you will need to open a pull request to the corresponding GitHub repository:

    • EasyBuild framework: https://github.com/easybuilders/easybuild-framework
    • easyblocks: https://github.com/easybuilders/easybuild-easyblocks
    • easyconfigs: https://github.com/easybuilders/easybuild-easyconfigs
    • documentation: https://github.com/easybuilders/easybuild (see docs subdirectory)

    Doing this the traditional way requires some knowledge about using git (i.e. creating commits, using branches, pushing to and pulling from remote Git repositories, etc.), and being familiar with GitHub.

    However, this can be largely circumvented by using the GitHub integration provided by EasyBuild, see Integration with GitHub .

    "},{"location":"contributing/#contributing_pull_request_setup","title":"Setting up","text":"

    Note

    These instructions assume that you already have a working GitHub account.

    If you don't have a GitHub account yet, visit https://github.com/ to create one.

    We highly recommend registering your SSH public key in your GitHub account, via https://github.com/settings/keys. This allows pushing to your fork of the GitHub repositories without using a password.

    Before you can open pull requests, you will need to fork the GitHub repository you are targeting, and create a local working copy of that repository. This only needs to be done once for every of the EasyBuild repositories.

    Note

    For the purpose of this guide, we will be using the easybuild-framework repository.

    However, the instructions are equivalent for the other EasyBuild repositories.

    "},{"location":"contributing/#contributing_pull_request_setup_fork_repo","title":"Forking the repository","text":"

    First, create your own fork of the repository in your GitHub account using the Fork button on the top right at https://github.com/easybuilders/easybuild-framework.

    This will create a 'copy' of the easybuild-framework repository owned by the easybuilders GitHub organisation to your own personal GitHub account.

    You will have to use this fork as a staging area for your work, to prepare your contributions before creating the actual pull requests.

    "},{"location":"contributing/#contributing_pull_request_setup_working_copy","title":"Creating a working copy","text":"

    In addition to forking the repository on GitHub, you also need to create a local working copy of the repository. This is basically a local checkout of the repository where you can track the changes you are making.

    First, clone your fork of the repository:

    git clone git@github.com:EXAMPLE/easybuild-framework.git\n

    Note

    Do not forget to replace EXAMPLE with your GitHub account name.

    If that worked as expected, you should have a new directory named easybuild-framework. Move into the easybuild-framework directory:

    cd easybuild-framework\n

    Finally, we recommended to also check out the develop branch, which will be used as the base for your own branches:

    git checkout -b develop origin/develop\n

    With this in place, you are all set to open pull requests for your contributions.

    "},{"location":"contributing/#keeping-the-develop-branch-in-sync","title":"Keeping the develop branch in sync","text":"

    It is important to keep the develop branch in your working copy in sync with the upstream repository in the GitHub easybuilders organization.

    For this, you need to add the upstream repository as a 'remote' repository:

    git remote add upstream git@github.com:easybuilders/easybuild-framework.git\n

    Note

    upstream is just a name that you give to the remote the central

    easybuilders repository on GitHub; you can modify this to your liking if desired (but do take that into account for the further instructions if you do so).

    For your fork of the repository, a default remote named origin should have been created via git clone (see the output of git remote -v).

    To sync your develop branch, use git pull upstream develop after making sure you have the develop branch checked out:

    git checkout develop\ngit pull upstream develop\n
    "},{"location":"contributing/#contributing_creating_pull_requests","title":"Opening a new pull request","text":"

    Note

    This section describes the manual procedure to open a new pull request.

    Please consider using eb --new-pr instead, see Submitting pull requests.

    Note

    We assume you are already located in your local working copy of the repository you want to contribute to (e.g., easybuild-framework).

    To open a pull request for your contribution, you must follow these steps:

    1. Creating a new branch
    2. Committing your changes
    3. Pushing your branch
    4. Pull request title & description
    5. Opening the pull request
    "},{"location":"contributing/#contributing_creating_pull_requests_branch","title":"Creating a new branch","text":"

    First, create a new branch for your work. You can do this either before or after making the changes that you would like to contribute, but we recommend to create a new branch before making any changes.

    Make sure you have the develop branch checked out before creating your branch:

    git checkout develop\n

    To create a new branch, you should use git branch <branch_name> followed by git checkout <branch_name>, or equivalently git checkout -b <branch_name>.

    For example, to create a new branch named mybranch:

    git checkout -b mybranch\n

    You can choose the branch name freely, but make it sufficiently descriptive \u2013 your future self will thank you.

    "},{"location":"contributing/#contributing_creating_pull_requests_commit","title":"Committing your changes","text":"

    To 'save' your changes, you should create one or more commits in the branch you created. We recommended making separate commits for different 'units of work'.

    First, make sure you have checked out the branch were you want to commit the changes to. For example, to prepare for committing changes to the mybranch branch:

    git checkout mybranch\n

    To check which branch is currently checked out, use git branch.

    To get a high-level overview of the changes before committing them, you can use git status.

    To see the actual changes that were made, use git diff.

    To commit the changes you want to contribute, use git add <files> to stage the changes, followed by git commit -m \"<message>\" to create the actual commit.

    For example, to commit the changes that were made to easybuild/tools/filetools.py:

    git add easybuild/tools/filetools.py\ngit status  # check which files are staged for commit\ngit commit -m \"example commit message for changes to filetools.py\"\n

    Note

    Please use a concise commit message that describes the changes you made.

    Note

    For files that are already being tracked, you can use git commit -am <message> to commit all changes at once.

    To verify that your work was committed, use git log to see all commits on the current branch. Use git log --stat and/or git log --diff to see more details about which changes are included in each of the commits.

    "},{"location":"contributing/#contributing_creating_pull_requests_push","title":"Pushing your branch","text":"

    Once you have committed your changes to a branch, you should push your branch to your fork of the GitHub repository using git push.

    For example, to push the mybranch branch to your fork of the GitHub repository (via the origin remote, see Creating a working copy):

    git push origin mybranch\n

    Note

    The above command will make your work public.

    "},{"location":"contributing/#contributing_creating_pull_requests_pr_title","title":"Pull request title & description","text":"

    Please use a descriptive (short) title for your pull requests, and clarify (if needed) in the pull request description.

    If any other pull requests are required, refer to them in the description using #<PR number> (only for pull requests to the same repository), or by copy-pasting the URL to the pull request.

    For pull requests to the easyconfig repository, we recommend using this format for the pull request title when contributing new easyconfig files:

    {<moduleclass>}[<toolchain>] <software name> <software version> <extra info>\n

    For example:

    • {tools}[dummy] EasyBuild v3.2.1
    • {math}[intel/2017a] numpy 1.13.0 w/ Python 2.7.13
    • {math,numlib}[foss/2017a] METIS v5.1.0, ParMETIS v4.0.3, SuiteSparse v4.5.5, ...

    If you are opening a work-in-progress pull request, for example to solicit feedback, tag it using (WIP). in the pull request title.

    "},{"location":"contributing/#contributing_creating_pull_requests_open_pr","title":"Opening the pull request","text":"

    To open a pull request using the branch you pushed, you should use the GitHub interface, and follow the steps outlined below.

    1. visit https://github.com/EXAMPLE/easybuild-framework

      Note

      Replace EXAMPLE with your GitHub account name, and easybuild-framework with the name of the target EasyBuild repository.

    2. switch to the branch that includes the changes you want to contribute using the Branch: main button on the left, for example by selecting Branch: mybranch from the dropdown list

    3. click the New pull request button
    4. change the target branch to develop using the base: main button
    5. review your changes using the 'diff' view presented by GitHub;
    6. provide an appropriate title and description for your contribution;
    7. open the pull request by clicking the green Create pull request button

    Next, your pull request will be reviewed & tested, see Review process for contributions.

    "},{"location":"contributing/#contributing_updating_pull_requests","title":"Updating existing pull requests","text":"

    Note

    This section describes the manual procedure to create a new pull request.

    Please consider using eb --update-pr instead, see Updating existing pull requests.

    It is quite common to update a pull request after creating it, for example if the test suite run in GitHub Actions reports problems with the changes being made, or as a response to someone reviewing your contribution.

    To update an existing pull request, it suffices to add commits to the branch that was used for opening the pull request, and pushing the updated branch to GitHub.

    For example, to update the pull request that was created using the mybranch branch:

    git checkout mybranch\n# make changes...\ngit add <paths to changed files>\ngit commit -m \"example commit message for additional changes\"\ngit push origin mybranch\n

    Updating a pull request will trigger GitHub Actions to re-test your contribution, and a notification will be sent out to whoever is 'watching' your pull request.

    "},{"location":"contributing/#contributing_merging_pull_requests","title":"Merging of pull requests","text":"

    Once your pull request has been given the green light by GitHub Actions and one or more people reviewing have approved the changes, it can be merged into the develop branch.

    This can only be done by a member of the EasyBuild maintainers team. Only pull requests that meet the requirements are eligible for merging, see Requirements for pull requests .

    Merging a pull request usually implies that the changes will be part of the next EasyBuild release.

    "},{"location":"contributing/#contributing_review_process","title":"Review process for contributions","text":"

    Each contribution is thoroughly reviewed and tested before it gets merged in. Some aspects of this are automated, others require human intervention.

    "},{"location":"contributing/#contributing_review_process_pr_requirements","title":"Requirements for pull requests","text":"

    Only pull requests (PRs) that fulfil these requirements are eligible to be merged:

    • the PR must target the develop branch of the repository; see develop branch
    • the test suite must (still) pass, i.e. GitHub Actions must give a green light; see Test suite (GitHub Actions)

      • tests should be added or enhanced when appropriate; see Adding tests, especially for PRs to the easybuild-framework repository
    • backward compatibility should be retained; see Backward compatibility

    • code style must be kept consistent; see Code style review

      • easyconfigs should be kept consistent across versions & toolchains; see Comparing with existing easyconfigs
    • (successful) test reports must be submitted for easyconfig PRs; see Test reports for easyconfig contributions

    • the PR is approved by one or more maintainers of the repository; see EasyBuild maintainers

    • the PR should be merged by one of the maintainers, other than the author of the PR; see Pull requests are merged by a maintainer other than the author
    "},{"location":"contributing/#contributing_review_process_develop_branch","title":"develop branch","text":"

    Pull requests are only merged in the develop branch of the EasyBuild repositories, which contains the changes that will be included in the next EasyBuild release.

    The main branch provides the latest stable release of EasyBuild at all times. Only the EasyBuild release manager should issue a pull request to the EasyBuild main branch, when preparing a new EasyBuild release.

    Occasionally, an additional version branch (e.g. 3.3.x) may be introduced temporarily, in case an intermittent bugfix release is being worked on.

    "},{"location":"contributing/#contributing_review_process_github_actions","title":"Test suite (GitHub Actions)","text":"

    Each pull request is tested automatically by GitHub Actions and the test result is reported in the pull request.

    Only pull requests that have been tested and approved by GitHub Actions are eligible for being merged!

    Note that GitHub Actions will only run the test suite for that particular repository. That is, for easyconfig contributions it does not include actually building and installing software.

    For more information on the test suites, see Unit tests.

    "},{"location":"contributing/#contributing_review_process_adding_tests","title":"Adding tests","text":"

    An implicit requirement for contributions, in particular contributions to the EasyBuild framework, is that they must be accompanied by additional tests or test cases.

    For new features or enhancements, a dedicated test (case) must be added which verifies that the feature implementation works as expected.

    For bug fixes, a test (case) must be added that triggers the code path where the bug manifested, and which verifies that the bug was indeed fixed.

    Tests not only confirm that the implementation is correct, it also helps to ensure that any future changes will not break the functionality you contributed.

    "},{"location":"contributing/#contributing_review_process_backward_compatibility","title":"Backward compatibility","text":"

    Contributions should retain backward compatibility, i.e., they should not make any changes that alter the (default) functionality of the existing code base. Of course, enhancements to existing code that retain backward compatibility can be made.

    One exception to this rule is bug fixes, where the whole point is usually to fix functionality that was implemented incorrectly.

    This also applies to existing easyconfig files; for example, the versions of dependencies should not be altered. Adding dependencies that were missing or otherwise enhancing existing easyconfigs (e.g., adding extra extensions, enabling additional features, etc.) are usually considered acceptable.

    Changes that break backward compatibility have to be motivated well with technical arguments, and must be approved by the EasyBuild maintainers.

    "},{"location":"contributing/#contributing_review_process_code_style","title":"Code style review","text":"

    Next to functional evaluation of contributions, care is also taken to maintain a consistent code style across the EasyBuild code base (see also Code style); contributions must take the (mostly PEP8) code style into account.

    This aspect is sometimes considered to be needless overhead, yet it is an important aspect of the review process. A consistent code style is invaluable in a large code base that is constantly being updated by a worldwide community.

    This also applies to easyconfig files, where we try to maintain a strict style that mostly matches the established PEP8 coding style for Python (since easyconfigs are written in Python syntax). However, also the grouping and ordering of easyconfig parameters is a part of the 'code' style we maintain.

    An automated (partial) check to see whether easyconfig files are ready to be contributed can be performed via eb --check-contrib. This will check:

    • style aspects for the specified easyconfig files
    • whether SHA256 checksums are included for all source files & patches

    This check is also a part of the test suite run by GitHub Actions for easyconfig PRs.

    "},{"location":"contributing/#contributing_review_process_review_pr","title":"Comparing with existing easyconfigs","text":"

    (--review-pr)

    We try to maintain consistency across easyconfig files for a particular software package, across multiple software versions, toolchains and variants (with a different versionsuffix).

    Therefore, easyconfig contributions are also reviewed using eb --review-pr <PR #>, which compares the touched easyconfig files to those in the current develop branch that are most closely related.

    The easyconfig files to compare with are selected based on similarity, by combining two criteria, in order.

    First, the software version is taken into account, using one of the following criteria:

    • exact match on software version match
    • match on major/minor software version
    • match on major software version
    • no match on software version

    This is combined with one of the criteria below (in order):

    • matching versionsuffix and toolchain name/version
    • matching versionsuffix and toolchain name (any toolchain version)
    • matching versionsuffix (any toolchain name/version)
    • matching toolchain name/version (any versionsuffix)
    • matching toolchain name (any versionsuffix, toolchain version)
    • no extra requirements (any versionsuffix, toolchain name/version)

    The first combination of one of the software version criteria with one of the other criteria that yields one or more matching easyconfig files is used. If none of the combinations match, no easyconfig files for that particular software package are available yet, and no comparison is made.

    The output of --review-pr provides a 'multidiff' comparison, which highlights the differences between the easyconfig file in the pull request and the most similar selected ones from the current develop branch. Interpreting this output is a quick and easy way to assess how different the contributed easyconfig files are from the existing easyconfigs, although it does require a bit of practice because of the density of the provided information.

    "},{"location":"contributing/#contributing_review_process_test_reports","title":"Test reports for easyconfig contributions","text":"

    (upload-test-report)

    For easyconfig contributions, one or more accompanying test reports must be submitted to confirm that the added and/or changed easyconfig files (still) work as expected.

    We recommend that you submit a test report for your own easyconfig pull requests. Other people can also submit test reports to confirm that your contribution works as expected on their system(s).

    With EasyBuild being properly configured (see GitHub: Configuration), this should be as simple as running eb --from-pr <PR#> --upload-test-report --force --robot.

    See Uploading test reports for more information.

    "},{"location":"contributing/#contributing_review_process_do_not_merge_your_own_prs","title":"Pull requests are merged by a maintainer other than the author","text":"

    A pull request should never be merged by its author.

    This policy is maintained in order to ensure a \"two-pairs-of-eyes\" review process of all contributions.

    "},{"location":"contributing/#contributing_review_process_why_pr_closed_by_maintainer","title":"Why a pull request may be closed by a maintainer","text":"

    Although it is generally avoided, there are a few reasons why maintainers might close a pull request:

    • uses an archived toolchain
    • no activity for > 6 months
    • obsolete because more recent PRs for newer versions of the software have been merged already

    This is done routinely as a way of focusing everyone's efforts on relevant contributions, and should not be seen as a rejection. In fact, contributors are encouraged to reopen the pull request if they feel it is still relevant.

    "},{"location":"controlling-compiler-optimization-flags/","title":"Controlling compiler optimization flags","text":"

    This page provides an overview on the different ways in which compiler optimization flags used by EasyBuild can be controlled.

    "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch","title":"Controlling target architecture specific optimizations via --optarch","text":""},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_default","title":"Default behaviour","text":"

    By default, EasyBuild optimizes builds for the CPU architecture of the build host, by instructing the compiler to generate instructions for the highest instruction set supported by the process architecture of the build host processor.

    This is done by including specific compiler flags in $CFLAGS, $CXXFLAGS, $FFLAGS, $F90FLAGS, etc.

    For example:

    • for toolchains using the GCC compilers, --march=native will be used (see https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/i386-and-x86-64-Options.html)
    • for toolchains using the Intel compilers, -xHost will be used (https://software.intel.com/en-us/node/522846)
    "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_caveats","title":"Caveats","text":""},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_caveats_heterogeneous","title":"Heterogeneous clusters","text":"

    Optimizing for the processor architecture of the build host is usually what you want in an HPC cluster, but it has some implications if your cluster is heterogeneous (i.e., has different processor generations), or if you want to execute your applications in a machine with a processor architecture that is different from the one of the build host.

    For example, if you compile your application optimized for an Intel Haswell processor (i.e. using AVX2 instructions), it will not run on a system with an older Intel Nehalem processor.

    One possible workaround for heterogeneous HPC clusters is to build as many copies of the software stack as you have processor generations in your cluster, and to configure your system so each compute node uses the right software stack matching its processor architecture type. Details for one way of doing this, using automounter/autofs are available at https://easybuild.io/files/sciCORE-software-management_20150611.pdf.

    Another solution is to configure EasyBuild to not optimize for the processor architecture of the build host via --optarch, see below.

    "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_caveats_hardcoding","title":"Build environment vs hardcoding in build scripts","text":"

    Be aware that that using --optarch as described below does not provide hard guarantees that the build will be executed using the intended compiler flags.

    EasyBuild will define the appropriate environment variables ($CFLAGS and co) to use the compiler flags as specified, but some MakeFiles or build systems could have hardcoded values that have not been dealt with yet (for example, via a patch file or by specifying options to the make command).

    For example, the OpenBLAS build system will autodetect the processor architecture in the build host, and will optimize for that processor architecture by default.

    If you want a generic OpenBLAS build you will need to tweak the OpenBLAS easyconfig file to define the desired TARGET to use. For this you will need to modify the buildopts easyconfig parameter, for example:

    buildopts = 'TARGET=PRESCOTT BINARY=64 ' + threading + ' CC=\"$CC\" FC=\"$F77\"'\n

    See these links for more details w.r.t. OpenBLAS:

    • https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt
    • https://github.com/xianyi/OpenBLAS/issues/685
    "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_flags","title":"Specifying target architecture specific optimization flags to use via --optarch=<flags>","text":"

    Using the --optarch EasyBuild configuration option, specific compiler flags can be provided that EasyBuild should use, rather than the ones used by default (depending on the compiler in the toolchain being used).

    Like any other configuration setting, this can also be specified via $EASYBUILD_OPTARCH, or by defining optarch in an EasyBuild configuration file (cfr. Consistency across supported configuration types).

    For example, by specifying --optarch=march=core2, EasyBuild will use -march=core2 rather than the default flag --march=native (when using GCC compilers).

    Likewise, to avoid using the default -xHost flag with the Intel compilers and using -xSSSE3 instead, you can define $EASYBUILD_OPTARCH to be equal to xSSSE3.

    Note

    The first dash (-) is added automagically to the value specified to --optarch, because of technicalities with the current implementation.

    The --optarch configuration option gives you flexibility to define the specific target architecture optimization flags you want, but requires that you take care of specifying different flags for different compilers and choose the right flags depending on your specific processor architecture.

    "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_generic","title":"Optimizing for a generic processor architecture via --optarch=GENERIC","text":"

    To make EasyBuild optimize for a generic processor architecture, --optarch can be set to 'GENERIC'.

    When this is the case, EasyBuild will use the right compiler flags to optimize for a generic processor architecture, i.e. avoid using machine instructions that are only supported by very recent processors.

    The GENERIC keyword for --optarch is recognized since EasyBuild v2.5.0, and is supported for GCC and Intel compilers on x86-64 systems (Intel or AMD). For other compilers that can be used in toolchains and other system architectures, the necessary compiler flags will be defined in later EasyBuild versions.

    Currently, using --optarch=GENERIC will result in the following target architecture optimization flags being used, (on a Linux x86-64 system):

    • for toolchains using GCC compilers: -march=x86-64 -mtune=generic
    • for toolchains using Intel compilers: -xSSE2

    On other systems or for other compilers, you can check which compiler flags will be used via Extended dry run.

    "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_per_compiler","title":"Setting architecture flags for different compilers via --optarch=<compiler:flags>;<compiler:flags>","text":"

    Starting with version 3.1.0, EasyBuild supports specifying architecture flags on a per-compiler basis. This enables to \"set and forget\" the --optarch option for your compilers of interest, as opposed to change it depending on the compiler used on the packages to be installed.

    The syntax is <compiler:flags>;<compiler:flags>, where : separates the compiler name from the compiler flags, and ; separates different compilers. This is an example for the Intel and GCC compilers: --optarch='Intel:xHost;GCC:march=x86-64 -mtune=generic'. As in the simple cases, EasyBuild adds one - to the flags specified, so the flags passed to the Intel and GCC compilers in this case are -xHost and -march=x86-64 -mtune=generic. Please note the quotes to escape the space in the GCC flags.

    Additionally, GENERIC is also supported on a compiler basis, allowing to specify a generic compilation for the desired compilers. This is an example of this usage: --optarch=Intel:xHost;GCC:GENERIC. Of course, this is supported just for compiler toolchains that recognize GENERIC.

    The options for each compiler are set independently. That means that if a GCC-based toolchain is used, but the only compiler specified is Intel (for example with --optarch=Intel:xCORE-AVX2), then EasyBuild will behave as if --optarch was not specified for this toolchain.

    The compiler name corresponds to the value of the COMPILER_FAMILY constant of the toolchain. Two common examples are GCC and Intel.

    Due to the special treatment of --optarch in Cray environments, this feature is not supported on this platform.

    "},{"location":"cray-support/","title":"EasyBuild on Cray","text":"

    As of EasyBuild v2.7.0, the support for using EasyBuild on Cray systems is considered stable. Tt enables building/installing software using the PrgEnv modules provided by Cray. This page provides an overview of the current status.

    For more information about this, contact:

    • Guilherme Peretti-Pezzi (CSCS, Switzerland, peretti@cscs.ch)
    • Kenneth Hoste (HPC-UGent, Belgium; kenneth.hoste@ugent.be)
    • Petar Forai (IMBA/IMP, Austria; petar.forai@imp.ac.at).

    Thanks to:

    • Olli-Pekka Letho (CSC.fi)
    • Tim Robinson and Guilherme Peretti-Pezzi (CSCS.ch)
    • Eric Bavier (Cray)
    • Brett Bode (NCSA)

    for providing us access to Cray systems, for their support and for testing and contributing to this work.

    "},{"location":"cray-support/#test-systems","title":"Test systems","text":"
    • Piz Daint & Piz Dora @ CSCS.ch (https://www.cscs.ch/computers/piz_daint_piz_dora/index.html)
    • Santis & Brisi (TDS) @ CSCS.ch
    • Sisu @ CSC.fi (https://research.csc.fi/sisu-supercomputer)
    • Swan (TDS) @ Cray
    • Blue Waters @ NCSA
    "},{"location":"cray-support/#easybuild-toolchains","title":"EasyBuild toolchains","text":"
    • CrayCCE: PrgEnv-cray with pinned versions of cce, cray-libsci and cray-mpich
    • CrayGNU: PrgEnv-gnu with pinned versions of gcc, cray-libsci and cray-mpich
    • CrayIntel: PrgEnv-intel with pinned versions of intel, cray-libsci and cray-mpich
    • CrayPGI: PrgEnv-pgi with pinned versions of pgi and cray-mpich

    versions:

    • Cray{CCE,GNU,Intel}/2015.06 (requires Cray PE June/2015)
    • Cray{CCE,GNU,Intel}/2015.11 (requires Cray PE November/2015)
    • CrayGNU/2016.03 (requires Cray PE March/2016)
    • Cray{GNU,PGI}/2016.04 (requires Cray PE April/2016)
    • Cray{GNU,Intel}/2016.06 (requires Cray PE June/2016)
    "},{"location":"cray-support/#what-works-already","title":"What works already?","text":"

    (see below for more information)

    • HPL (LINPACK) benchmark version 2.1
    "},{"location":"cray-support/#major-scientific-software-applications","title":"Major scientific software applications","text":"
    • CP2K 2.6.0
    • GROMACS 4.6.7
    • Python 2.7.9 + numpy 1.9.2 + scipy 0.15.1
    • WRF 3.6.1 (pending on Sisu)

    An up-to-date list of software applications built on Cray systems at CSCS can be found https://github.com/eth-cscs/production/, see https://github.com/eth-cscs/production/tree/master/jenkins-builds.

    "},{"location":"cray-support/#required-easybuild-configuration","title":"Required EasyBuild configuration","text":""},{"location":"cray-support/#modules-tool","title":"Modules tool","text":"
    • Sisu: self-installed Lmod 5.8
    • Piz Daint, Dora, Swan, Santis, Brisi: system-provided environment modules 3.2.10

    Example for environment modules 3.2.10:

    source /opt/modules/3.2.10.3/init/bash\nexport PATH=/opt/modules/3.2.10.3/bin/:$PATH\nexport EASYBUILD_MODULES_TOOL=EnvironmentModulesC\nexport EASYBUILD_MODULE_SYNTAX=Tcl\n
    "},{"location":"cray-support/#architecture","title":"Architecture","text":"
    • the craype-<target> module to load must be specified using --optarch
      • e.g., --optarch=sandybridge results in craype-sandybridge being loaded in the build environment used by EasyBuild

    You can also export this option as a shell variable. Example for sandybridge:

    export EASYBUILD_OPTARCH=sandybridge\n
    "},{"location":"cray-support/#metadata-for-cray-provided-modules","title":"Metadata for Cray-provided modules","text":"
    • Easybuild provides a sample metadata file in order to use modules provided by Cray:
    easybuild-framework/etc/cray_external_modules_metadata.cfg\n

    This file is loaded by default and contains enough information to build the easyconfig files shipped with EasyBuild.

    If you need to use a customized file, it can be specified using --external-modules-metadata. For more details see Metadata for external modules.

    "},{"location":"cray-support/#major-supportedtested-applications","title":"Major supported/tested applications","text":"

    (in alphabetical order)

    "},{"location":"cray-support/#cp2k","title":"CP2K","text":"
    • https://www.cp2k.org
    • version(s): 2.6.0
    eb CP2K-2.6.0-CrayGNU-2015.06.eb -dr\n
    "},{"location":"cray-support/#gromacs","title":"GROMACS","text":"
    • https://www.gromacs.org
    • version(s): 4.6.7
    eb GROMACS-4.6.7-CrayGNU-2015.06-mpi.eb -dr\n
    "},{"location":"cray-support/#hpl","title":"HPL","text":"
    • https://www.netlib.org/benchmark/hpl
    • version(s): 2.1
    eb HPL-2.1-CrayCCE-2015.06.eb -dr\neb HPL-2.1-CrayGNU-2015.06.eb -dr \neb HPL-2.1-CrayIntel-2015.06.eb -dr 
    "},{"location":"cray-support/#python-numpyscipy","title":"Python + numpy/scipy","text":"
    • https://python.org, https://www.numpy.org, https://www.scipy.org
    • version(s): Python 2.7.9, numpy 1.9.2, scipy 0.15.1
    eb Python-2.7.9-CrayGNU-2015.06.eb -dr # includes a few python packages (such as mpi4py, numpy and scipy)\n
    "},{"location":"cray-support/#wrf","title":"WRF","text":"
    • https://www2.mmm.ucar.edu/wrf/users/
    • version(s): 3.6.1
    eb WRF-3.6.1-CrayGNU-2015.06-dmpar.eb --dr\n
    "},{"location":"deprecated-easyconfigs/","title":"Deprecated easyconfigs","text":"

    Since EasyBuild v3.8.0, individual easyconfig files or particular (versions of) toolchains can be marked as deprecated.

    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_symptoms","title":"Symptoms","text":"

    Using an easyconfig file or toolchain that was marked as deprecated results in a warning message like:

    WARNING: Deprecated functionality, will no longer work in v4.0: easyconfig file '/home/example/test.eb' is marked as deprecated:\nThis is an example message explaining why the easyconfig file was deprecated.\n(see also http://easybuild.readthedocs.org/en/latest/Deprecated-easyconfigs.html)\n

    Or, in case you are trying to use an easyconfig file or toolchain that was marked deprecated in a previous major version of EasyBuild:

    ERROR: Failed to process easyconfig /home/example/test.eb: DEPRECATED (since v4.0) functionality used: easyconfig file '/home/example/test.eb' is marked as deprecated:\nThis is an example message explaining why the easyconfig file was deprecated.\n(see also http://easybuild.readthedocs.org/en/latest/Deprecated-easyconfigs.html)\n
    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_why","title":"Reasons for deprecation","text":"

    There are several possible reasons why a particular easyconfig file or toolchain was deprecated, some of which include:

    • old/obsolete versions of software or toolchain components
    • toolchains that are superseded by other toolchains
    • known installation problems that are hard to resolve (or not worth the effort to resolve)
    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_implications","title":"Implications","text":"

    Easyconfig files that are deprecated or which use a deprecated toolchain are not actively maintained, and are no longer included in the EasyBuild regression test (which means they may be broken by recent changes to the EasyBuild framework or relevant easyblocks).

    In a future major version of EasyBuild, these easyconfig files will be archived (see also Archived easyconfigs).

    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains","title":"Deprecated toolchains","text":"

    Overview of deprecated toolchains:

    • foss and fosscuda toolchain
    • GCCcore and GCC toolchains
    • gcccuda toolchain
    • gompi and gompic toolchains
    • goolf and goolfc toolchains
    • ictce toolchain
    • iccifort, iimpi, iimpic, intel, and intelcuda toolchains
    • iompi, iompic, iomkl, and iomklc toolchains
    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_foss","title":"foss and fosscuda toolchain","text":"
    • deprecated since: EasyBuild v4.5.0
    • will be archived in: EasyBuild v5.0.0

    The oldest versions of the foss and fosscuda toolchains have been deprecated, which currently includes any version older than foss/2019a and fosscuda/2019a.

    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_gcc","title":"GCCcore and GCC toolchains","text":"
    • deprecated since: EasyBuild v4.5.0
    • will be archived in: EasyBuild v5.0.0

    The oldest versions of the GCCcore and GCC toolchains have been deprecated, which currently includes any version older than 8.0.

    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_gcccuda","title":"gcccuda toolchain","text":"
    • deprecated since: EasyBuild v4.5.0
    • will be archived in: EasyBuild v5.0.0

    The oldest versions of the gcccuda toolchains have been deprecated, which currently includes any version older than gcccuda/2019a.

    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_gompi","title":"gompi and gompic toolchains","text":"
    • deprecated since: EasyBuild v4.5.0
    • will be archived in: EasyBuild v5.0.0

    Versions of the gompi and gompic toolchains that were used as a subtoolchain for a deprecated toolchain have also been deprecated; this includes versions older than gompi/2019a and gompic/2019a.

    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_goolf","title":"goolf and goolfc toolchains","text":"
    • deprecated since: EasyBuild v3.8.0
    • archived in: EasyBuild v4.0.0

    The goolf and goolfc toolchains have been deprecated, since they are superseded by the foss toolchain and fosscuda toolchains, respectively.

    The foss* toolchains are equivalent to the goolf* toolchains, except that binutils is also included as a companion to GCC(core) in the foss* toolchains.

    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_ictce","title":"ictce toolchain","text":"
    • deprecated since: EasyBuild v3.8.0
    • archived in: EasyBuild v4.0.0

    The ictce toolchain has been deprecated, since it is superseded by the intel toolchain.

    The ictce toolchain is equivalent to intel w.r.t. toolchain components, except that binutils is also included as a companion to GCC(core) (which serves as a base for the Intel compilers) in the intel toolchain.

    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_intel","title":"iccifort, iimpi, iimpic, intel, and intelcuda toolchains","text":"
    • deprecated since: EasyBuild v4.5.0
    • will be archived in: EasyBuild v5.0.0

    The oldest versions of the iccifort, iimpi and intel toolchain have been deprecated.

    Deprecated versions include:

    • iccifort versions older than 2019.0
    • iimpi and iimpic versions older than 2019a
    • intel and intelcuda versions older than 2019a
    "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_iomkl","title":"iompi, iompic, iomkl, and iomklc toolchains","text":"
    • deprecated since: EasyBuild v4.5.0
    • will be archived in: EasyBuild v5.0.0

    The oldest versions of the iompi, iompic, iomkl and iomklc toolchains have been deprecated, which currently includes any version older than 2019a.

    "},{"location":"deprecated-functionality/","title":"Deprecated functionality","text":"

    Some of the functionality that was available in previous EasyBuild versions is deprecated, and should no longer be used.

    This functionality will be removed in a future version of EasyBuild (see Removed functionality for more information about functionality that has been removed already).

    This page:

    • provides an Overview of deprecated functionality in EasyBuild version together with available alternatives
    • describes the Deprecation policy
    • explains how to easily check for use of deprecated functionality
    "},{"location":"deprecated-functionality/#overview_deprecated","title":"Overview of deprecated functionality in EasyBuild version","text":"

    The different section below document the functionality that is deprecated in EasyBuild version, for which support will be removed in EasyBuild version 5.0.

    For EasyBuild users:

    • Support for using Lmod 6.x

    For authors of easyconfig files:

    • dummy toolchain

    For developers of easyblocks:

    (nothing yet)

    For EasyBuild framework developers:

    (nothing yet)

    "},{"location":"deprecated-functionality/#depr_lmod6","title":"Support for using Lmod 6.x","text":"
    • deprecated since: EasyBuild v4.1.0 (Nov'19)
    • removed in: EasyBuild v5.0
    • alternative(s): use Lmod 7.x or more recent

    Support for using Lmod 6.x as modules tool with EasyBuild has been deprecated, and will be removed in a future version of EasyBuild.

    "},{"location":"deprecated-functionality/#depr_dummy_toolchain","title":"dummy toolchain","text":"
    • deprecated since: EasyBuild v4.0.0 (Sept'19)
    • removed in: EasyBuild v5.0
    • alternative(s): use system toolchain instead

    The dummy toolchain is has been deprecated, and is replaced with the system toolchain.

    For more information, see System toolchain.

    "},{"location":"deprecated-functionality/#deprecation_policy","title":"Deprecation policy","text":"

    With every EasyBuild release, we try very hard to maintain backward compatibility. That is, EasyBuild version X.Y should still build software packages that could be built with EasyBuild version X.(Y-1), without requiring modifications to the used easyconfig file or easyblock.

    However, every now and then a breaking change needs to be made to EasyBuild, because of design decisions or to resolve mistakes that were made in the past. These changes involve deprecating the behaviour or functionality we want to get rid of, together with supporting a better alternative.

    Deprecating functionality:

    • using a log.deprecated(\"msg\", 'X.Y') statement in EasyBuild version X.(Y-n) a certain block of code is tagged as deprecated, indicating that the corresponding functionality will no longer be supported in EasyBuild version X.Y; for example, to deprecate the use of the makeopts easyconfig parameter with EasyBuild v2.0:

      if self.cfg['makeopts']:\n    self.log.deprecated(\"Easyconfig parameter 'makeopts' is deprecated, use 'buildopts' instead\", '2.0')\n
    • until EasyBuild version X.Y, the deprecation log message will manifest itself as a warning, highlighting the use of deprecated functionality; for example:

      == 2014-12-16 16:29:07,906 main.easyconfig.easyconfig WARNING Deprecated functionality, will no longer work in v2.0:\nEasyconfig parameter 'makeopts' is deprecated, use 'buildopts' instead;\nsee http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information\n

    Removing support for deprecated behavior:

    • starting with EasyBuild version X.Y, the deprecation log message will result in an error, indicating that the deprecated behavior is no longer supported; for example:

      ERROR: EasyBuild encountered an exception (at easybuild/framework/easyconfig/easyconfig.py:937 in process_easyconfig):\nFailed to process easyconfig /home/example/gzip-1.5-goolf-1.4.10.eb:\nDEPRECATED (since v2.0) functionality used: Easyconfig parameter 'makeopts' is deprecated, use 'buildopts' instead;\nsee http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information.\n
    • the code supporting the deprecated functionality is removed in EasyBuild version X.(Y+1) (i.e., the first non-bugfix-only release after version X.Y), see also Removed functionality

    • until EasyBuild version X.(Y+1), the code supporting the deprecated functionality will still be available; using the --deprecated command line option (or, equivalently, the $EASYBUILD_DEPRECATED environment variable), the deprecated functionality can be reactivated by specifying a lower version; for example, to avoid running into an error with EasyBuild v2.0 for functionality that was deprecated for EasyBuild v2.0:

      eb gzip-1.5-goolf-1.4.10.eb --deprecated=1.0\n
    "},{"location":"deprecated-functionality/#how_to_check_use_of_deprecated_functionality","title":"How to check for use of deprecated functionality","text":"

    Since EasyBuild v1.16.0, the --deprecated command line option can be used to check whether deprecated behavior is still being triggered in your EasyBuild setup.

    For example, using --deprecated=5.0 with EasyBuild v4.x will transform any deprecation warning for functionality that will no longer be supported in EasyBuild v5.0 into an error message. For example:

    $ eb test.eb --deprecated=5.0\n== temporary log file in case of crash /tmp/easybuild-WWalWX/easybuild-aoL9Nd.log\nERROR: Failed to process easyconfig /home/example/test.eb:\nDEPRECATED (since v5.0) functionality used: Use of 'dummy' toolchain is deprecated, use 'system' toolchain instead;\nsee http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information\nbe used; see http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information\n

    Tip

    Define deprecated to the next major EasyBuild version in one of your EasyBuild configuration files (see Configuration file(s)) or by defining $EASYBUILD_DEPRECATED=5.0, to ensure you are made aware of deprecated behavior as early as possible.

    You can (temporarily) still rely on the deprecated functionality by specifying a lower version via --deprecated to overrule that setting, until the functionality is actually disabled.

    "},{"location":"detecting-loaded-modules/","title":"Detection of loaded modules","text":"

    Since EasyBuild v3.3.0, the eb command performs a check to see if any (EasyBuild-generated) modules have been loaded in the current environment.

    This check can be controlled via the --detect-loaded-modules and --allow-loaded-modules configuration options.

    In addition any unknown $EBROOT* environment variables are detected and acted upon, according to how the --check-ebroot-env-vars configuration option was set.

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_motivation","title":"Motivation","text":"

    Running EasyBuild in an environment where one or more (EasyBuild-generated) modules are loaded may interfere with the software installations performed by EasyBuild, i.e.:

    • they may cause installations failures, for example due to incompatibilities with the modules being loaded during the installation procedure being performed;
    • they may cause installations to work in that particular environment, for example by providing a necessary dependency

    Since manually loading modules may affect the reproducibility of software installations, it should be discouraged.

    In EasyBuild versions before v3.3.0, having a loaded module for the same software packages as the one being installed resulted in an EasyBuild error message.

    Since EasyBuild v3.3.0 a more extensive detection mechanism is available and the action that should be taken for loaded modules can be controlled via --detect-loaded-modules. Having a module loaded for any software package that is being installed still results in a hard error.

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_mechanism","title":"Detection mechanism","text":"

    Detecting loaded EasyBuild-generated modules is done by checking the environment for defined $EBROOT* environment variables. If any are found, the corresponding loaded module is determined for better reporting.

    In case defined $EBROOT* environment variables are found that do not match a loaded modules, action is taken as well; see Checking of $EBROOT* environment variables.

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action","title":"Action to take if loaded modules are detected","text":"

    The action that should be taken when one or more loaded (EasyBuild-generated) modules are detected can be specified via the --detect-loaded-modules configuration option.

    Supported values include:

    • error: report error and stop EasyBuild upon detection of loaded modules
    • ignore: ignore any loaded modules
    • purge: run 'module purge' to clean environment of loaded modules
    • unload: unload loaded modules
    • warn: print warning and continue upon detection of loaded modules (current default)

    The specified action is only taken for non-allowed loaded modules, see Allowing particular loaded modules.

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_error","title":"error: report error and stop EasyBuild upon detection of loaded modules","text":"

    When EasyBuild is configured with --detect-loaded-modules=error, it will print a clear error and stop when any (non-allowed) loaded modules are detected.

    For example:

    $ eb example.eb --detect-loaded-modules=error\n== temporary log file in case of crash /tmp/eb-UlKMRN/easybuild-MgfEHi.log\nERROR: Found one or more non-allowed loaded (EasyBuild-generated) modules in current environment:\n* Spack/0.10.0\n\nTo make EasyBuild allow particular loaded modules, use the --allow-loaded-modules configuration option.\nUse --detect-loaded-modules={error,ignore,purge,unload,warn} to specify action to take when loaded modules are detected.\n\nSee http://easybuild.readthedocs.io/en/latest/Detecting_loaded_modules.html for more information.\n
    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_ignore","title":"ignore: ignore any loaded modules","text":"

    With --detect-loaded-modules=ignore in place, any loaded modules are simply ignored and EasyBuild continues silently.

    This is equivalent to the behaviour of EasyBuild versions prior to version 3.3.0.

    Warning

    This is not recommended!

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_purge","title":"purge: run 'module purge' to clean environment of loaded modules","text":"

    Using --detect-loaded-modules=purge, EasyBuild will run module purge if any (non-allowed) loaded modules are detected, in an attempt to restore the environment to a clean state before starting software installations.

    A short warning message is printed in case module purge was used to clean up the environment:

    $ export EASYBUILD_DETECT_LOADED_MODULES=purge\n$ eb example.eb\n== temporary log file in case of crash /tmp/eb-QLTV9v/easybuild-6mOmIN.log\n\nWARNING: Found non-allowed loaded (EasyBuild-generated) modules (Spack/0.10.0), running 'module purge'\n\n...\n

    Note

    Whether or not module purge is a suitable action is site-specific, since this will unload all loaded modules (except for 'sticky' modules when Lmod is used), including modules that were not installed with EasyBuild and which may be always required.

    Configuring EasyBuild to use module purge when (non-allowed) loaded modules are found should not be done on Cray systems, since it will result in a broken environment.

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_unload","title":"unload: unload loaded modules","text":"

    When --detect-loaded-modules=unload is used, EasyBuild will only unload the (non-allowed & EasyBuild-generated) modules. The modules are unloaded in reverse order, i.e. the last loaded module is unloaded first.

    This is an alternative to using module purge, in case some other (allowed) modules are loaded and should remain loaded.

    A short warning message is printed when loaded modules are unloaded:

    $ eb example.eb --detect-loaded-modules=unload\n== temporary log file in case of crash /tmp/eb-JyyaEF/easybuild-WyGqZs.log\n\nWARNING: Unloading non-allowed loaded (EasyBuild-generated) modules: Spack/0.10.0\n\n...\n
    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_warn","title":"warn: print warning and continue upon detection of loaded modules","text":"

    When EasyBuild is configured with --detect-loaded-modules=warn, EasyBuild will print a warning mentioning that one or more loaded (EasyBuild-generated) were detected, before continuing as normal.

    The warning is intended to make the user aware that the environment in which EasyBuild is being run is not clean.

    For example:

    $ export EASYBUILD_DETECT_LOADED_MODULES=warn\n$ eb example.eb\n== temporary log file in case of crash /tmp/eb-9HD20m/easybuild-WAYzK2.log\n\nWARNING: Found one or more non-allowed loaded (EasyBuild-generated) modules in current environment:\n* Spack/0.10.0\n\nTo make EasyBuild allow particular loaded modules, use the --allow-loaded-modules configuration option.\nUse --detect-loaded-modules={error,ignore,purge,unload,warn} to specify action to take when loaded modules are detected.\n\nSee http://easybuild.readthedocs.io/en/latest/Detecting_loaded_modules.html for more information.\n\n...\n

    Note

    This is the default behaviour in EasyBuild v3.3.0 and newer.

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_allow","title":"Allowing particular loaded modules","text":"

    By default, only EasyBuild itself is considered as an allowed module.

    EasyBuild can be configured to allow particular modules to be loaded via --allow-loaded-modules, by specifying a comma-separated list of software names.

    For example:

    $ export EASYBUILD_DETECT_LOADED_MODULES=error\n$ export EASYBUILD_ALLOW_LOADED_MODULES=EasyBuild,GC3Pie\n\n$ module load EasyBuild\n$ module load GC3Pie\n$ eb example.eb\n...\n

    When --allow-loaded-modules is used, the EasyBuild module is no more allowed by default and must be explicitly listed if you want to allow an EasyBuild installation provided through a module.

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars","title":"Checking of $EBROOT* environment variables","text":"

    The detection mechanism for loaded modules relies on defined $EBROOT* environment variables, and determining by which loaded module they were set.

    When one or more $EBROOT* environment variables are found for which the corresponding loaded modules can not be found, this can lead to problems.

    Hence, EasyBuild will detect this and act on it, according to the value specified to --check-ebroot-env-vars:

    • error: report error and stop EasyBuild on unknown $EBROOT* environment variables
    • ignore: ignore unknown $EBROOT* environment variables
    • unset: unset unknown $EBROOT* environment variables and print warning
    • warn: print warning for unknown $EBROOT* environment variables and continue (current default)
    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars_error","title":"error: report error and stop EasyBuild on unknown $EBROOT* environment variables","text":"

    When configured with --check-ebroot-env-vars=error, EasyBuild will stop with a clear error message when it discovers one or more $EBROOT* environment variables that do not correspond to a loaded module:

    $ export EBROOTUNKNOWN=just_an_example\n\n$ eb example.eb --check-ebroot-env-vars=error\n\n== temporary log file in case of crash /tmp/eb-cNqOzG/easybuild-xmV8vc.log\nERROR: Found defined $EBROOT* environment variables without matching loaded module: $EBROOTUNKNOWN\n(control action via --check-ebroot-env-vars={error,ignore,unset,warn})\n
    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars_ignore","title":"ignore: ignore unknown $EBROOT* environment variables","text":"

    To simply ignore any defined $EBROOT* environment variables that do not correspond with a loaded module, configure EasyBuild with --check-ebroot-env-vars=ignore.

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars_unset","title":"unset: unset unknown $EBROOT* environment variables and print warning","text":"

    If you are confident that the defined $EBROOT* environment variables for which no matching loaded module was found are harmless, you can specify that EasyBuild should clean up the environment by unsetting them, before continuing. A clear warning message will be printed whenever this occurs:

    $ export EBROOTUNKNOWN=just_an_example\n\n$ eb bzip2-1.0.6.eb --check-ebroot-env-vars=unset\n\n== temporary log file in case of crash /tmp/eb-IvXik8/easybuild-cjHjhs.log\n\nWARNING: Found defined $EBROOT* environment variables without matching loaded module: $EBROOTUNKNOWN; unsetting them\n\n...\n

    Note that these unknown $EBROOT* will only be unset in the environment of the running EasyBuild session, not in the current session in which eb is being run.

    "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars_warn","title":"warn: print warning for unknown $EBROOT* environment variables and continue","text":"

    If EasyBuild was configured with --check-ebroot-env-vars=warn, a warning will be printed when one or more defined $EBROOT* environment variables are encountered for which no corresponding loaded module was found:

    $ export EBROOTUNKNOWN=just_an_example\n\n$ export EASYBUILD_CHECK_EBROOT_ENV_VARS=warn\n$ eb example.eb\n\n== temporary log file in case of crash /tmp/eb-1h_LQ9/easybuild-BHrPk4.log\nWARNING: Found defined $EBROOT* environment variables without matching loaded module: $EBROOTUNKNOWN\n(control action via --check-ebroot-env-vars={error,ignore,unset,warn})\n\n...\n

    Note

    This is the default behaviour in EasyBuild v3.3.0 and newer.

    "},{"location":"easyconfig-files-local-variables/","title":"Local variables in easyconfig files","text":"

    This page discusses the use of local variables in easyconfig files.

    For more general information on writing easyconfig files, please see Writing easyconfig files: the basics.

    "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_motivation","title":"Motivation & context","text":"

    When composing easyconfig files, it can sometimes make sense to use one or more local variables to define easyconfig parameters in a cleaner way, for example to avoid copy-pasting values that are used multiple times, or to avoid too long lines (longer than the maximum width of 120 characters as specified in Code style). A local variable within the context of easyconfig files is any variable that does not correspond to a known easyconfig parameter (either general of easyblock-specific).

    One thing that is easily overlooked is the importance of how these local variables are named: you should try and avoid that the names of local variables will match with the name of an easyconfig parameter that may get introduced in future EasyBuild versions. If that would happen, the semantics of the easyconfig file will change which may either result in a broken installation or perhaps a different installation than was intended (which could be worse than a broken one).

    Avoiding that names of local variables are close to the name of (future) easyconfig parameters is also important, because of the \"typo detection\" feature that EasyBuild has: if the name of a local variable is too close to a known easyconfig parameter, EasyBuild will assume you have made a mistake, and will report a typo error, for example:

    ERROR: Failed to process easyconfig example.eb:\nYou may have some typos in your easyconfig file: configopt -> configopts\n
    "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_easybuild4","title":"Changes in EasyBuild v4.0 w.r.t. local variables in easyconfig files","text":"

    Some changes were made in EasyBuild v4.0 to discourage the use of poorly named local variables:

    • a Recommended naming scheme for local variables in easyconfig files was defined;
    • a mechanism was implemented to detect the use of local variables in easyconfig files, which will print a Warning for local variables that do not follow the recommended naming scheme
    • EasyBuild can be configured to report an error for local variables that do not follow the recommended naming scheme; see Specifying what should be done when non-confirming local variables are found via --local-var-naming-check
    • using eb --fix-deprecated-easyconfigs, the names of local variables can be changed automatically to match the recommended naming scheme; see Renaming local variables to match the recommended naming scheme using eb --fix-deprecated-easyconfigs
    "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_naming_scheme","title":"Recommended naming scheme for local variables in easyconfig files","text":"

    To ensure that local variables used in easyconfig files do not clash with easyconfig parameters that get added in future EasyBuild versions, we have defined a recommended naming scheme for local variables.

    Names of local variables should either:

    • start with local_, to make it explicit that it is a local variable (examples: local_example, local_var)
    • consist of a single letter (examples: f, l, x); this is typically only done within the context of a list comprehension
    • start with a single underscore (_), which matches the common convention in Python code that these variables are only for \"internal use\" (examples: _example, _local_var)

    Note

    A check was added in EasyBuild v4.0 to ensure that the names of known easyconfig parameters do not conform to any of these rules, to ensure that local variables can always be discriminated from known easyconfig parameters.

    "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_naming_warning","title":"Warning for local variables that do not follow the recommended naming scheme","text":"

    By default, EasyBuild will produce a clear warning when one or more local variables are used that do not conform to the Recommended naming scheme for local variables in easyconfig files.

    For example, when using an easyconfig file that includes a local variable named var:

    $ eb example.eb\n...\nWARNING: Use of 1 unknown easyconfig parameters detected in example.eb: var\nIf these are just local variables please rename them to start with 'local_', or try using --fix-deprecated-easyconfigs to do this automatically.\n

    To get rid of this warning, you can either:

    • rename the local variable, either manually to something like local_var or using eb --fix-deprecated-easyconfigs example.eb (see also Renaming local variables to match the recommended naming scheme using eb --fix-deprecated-easyconfigs)
    • configure EasyBuild to only log the warning (not print it), via --local-var-naming-check=log (see also Specifying what should be done when non-confirming local variables are found via --local-var-naming-check; note that silencing the printed warning is not recommended, see the motivation in Motivation & context
    "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_check_mode","title":"Specifying what should be done when non-confirming local variables are found via --local-var-naming-check","text":"

    Using the --local-var-naming-check configuration option, you can specify what should be done when one or more local variables are found that do not follow the Recommended naming scheme for local variables in easyconfig files:

    • --local-var-naming-check=error: fail with an error if any easyconfig file that was parsed includes local variables that do not follow the recommended naming scheme;
    • --local-var-naming-check=log: only log a warning (but do not print it) if any easyconfig file that was parsed includes local variables that do not follow the recommended naming scheme;
    • --local-var-naming-check=warn [default]: print a warning if any easyconfig file that was parsed includes local variables that do not follow the recommended naming scheme;

    The default is set such that non-confirming local variables are only reported through a printed warning, but do not result in cancelling the installation (since they're usually not actually problematic).

    "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_fix_deprecated_easyconfigs","title":"Renaming local variables to match the recommended naming scheme using eb --fix-deprecated-easyconfigs","text":"

    To fix one or more easyconfig files that includes local variables that do not follow the Recommended naming scheme for local variables in easyconfig files, eb --fix-deprecated-easyconfigs can be used.

    For example:

    eb --fix-deprecated-easyconfigs bzip2.eb zlib.eb\n== temporary log file in case of crash /tmp/eb-Z7r_KJ/easybuild-dHtPY4.log\n\n* [1/2] fixing /tmp/example/bzip2.eb... FIXED!\n  (changes made in place, original copied to /tmp/example/bzip2.eb.orig_20190815180106_53972)\n\n* [2/2] fixing /tmp/example/zlib.eb... FIXED!\n  (changes made in place, original copied to /tmp/example/zlib.eb.orig_20190815180106_53972)\n\nAll done! Fixed 2 easyconfigs (out of 2 found).\n\n== Temporary log file(s) /tmp/eb-Z7r_KJ/easybuild-dHtPY4.log* have been removed.\n== Temporary directory /tmp/eb-Z7r_KJ has been removed.\n

    There are a couple of caveats here though...

    While --fix-deprecated-easyconfigs can be very useful, it's certainly not perfect since all it does is simple search and replace of the names of non-conforming local variables (as whole words) to prefix them with local_.

    This means that it may make some unintended changes, so make sure to always double check which changes were made!

    In addition, it sometimes make more sense to simply eliminate the local variable rather than renaming it, for example when it wasn't really needed at all: maybe it was only actually used once, or maybe using a template like %(pyver)s or (pyshortver)s (see also Available template values for easyconfigs) renders it obsolete.

    "},{"location":"easyconfigs-search-index/","title":"Using an index to speed up searching for easyconfigs","text":"

    EasyBuild often needs to search for Easyconfig files (or accompanying files like patches), either based on command line arguments (like the name of an easyconfig file) or options to the eb command (like --search, see Searching for easyconfigs), or to resolve dependencies for a particular easyconfig file that was parsed already.

    Searching for easyconfig files or patches may take a while, since it can potentially involve weeding through thousands of files, which may be located on a shared filesystem (where metadata-intensive operations like file searching can be rather slow).

    If EasyBuild turns out to be sluggish when searching for easyconfig files in your setup, using an index file could make a big difference.

    Note

    Support for index files was implemented in EasyBuild version 4.2.0 .

    "},{"location":"easyconfigs-search-index/#easyconfigs_index_create","title":"Creating an index","text":"

    (--create-index)

    eb --create-index can be used to create an index file for a particular directory that holds a (large) set of easyconfig files.

    The index file (a hidden file named .eb-path-index) will be created in the specified directory. It will contain a list of (relative) paths for all files in that directory, along with some metadata: the time at which the index file was created and a timestamp that indicates how long the index is considered to be valid (see Controlling how long the index is valid).

    Note

    Make sure to create an index for the correct path.

    The search for easyconfig files performed by EasyBuild will not recurse into subdirectories of the locations it considers (see Searching for easyconfigs: the robot search path), other than those with a name matching the software for which it is trying to find an easyconfig file (like t/TensorFlow/ when searching for an easyconfig file for TensorFlow).

    Hence, if the directory housing your easyconfig files has an easybuild/easyconfigs subdirectory (for example, a working copy of the easybuild-easyconfigs repository), create the index in that subdirectory, rather than in the higher-level directory.

    "},{"location":"easyconfigs-search-index/#easyconfigs_index_create_example","title":"Example of creating an index","text":"
    $ eb --create-index $HOME/easybuild-easyconfigs/easybuild/easyconfigs\n== temporary log file in case of crash /tmp/eb-tUu6_w/easybuild-SKBnVO.log\nCreating index for /home/example/easybuild-easyconfigs/easybuild/easyconfigs...\n== found valid index for /home/example/easybuild-easyconfigs/easybuild/easyconfigs, so using it...\nIndex created at /home/example/easybuild-easyconfigs/easybuild/easyconfigs/.eb-path-index (738 files)\n\n$ head -n 5 $HOME/easybuild-easyconfigs/easybuild/easyconfigs/.eb-path-index\n# created at: 2020-04-13 14:19:57.008981\n# valid until: 2020-04-20 14:19:57.008981\na/Arrow/Arrow-0.16.0-intel-2019b-Python-3.7.4.eb\nb/Boost/Boost-1.71.0-gompi-2019b.eb\nb/bokeh/bokeh-1.4.0-foss-2019b-Python-3.7.4.eb\n

    Note

    The \"found valid index ...\" message being printed occurs because EasyBuild tries to load the index file right after creating it, as a sanity check.

    "},{"location":"easyconfigs-search-index/#easyconfigs_index_update","title":"Updating an existing index","text":"

    (--create-index --force)

    To update an existing index, you can use --create-index --force.

    Without using --force, EasyBuild will refuse to overwrite the existing index file:

    $ eb --create-index $HOME/easybuild-easyconfigs/easybuild/easyconfigs\n== temporary log file in case of crash /tmp/eb-tUu6_w/easybuild-SKBnVO.log\nCreating index for /home/example/easybuild-easyconfigs/easybuild/easyconfigs...\nERROR: File exists, not overwriting it without --force: /home/example/easybuild-easyconfigs/easybuild/easyconfigs/.eb-path-index\n
    "},{"location":"easyconfigs-search-index/#easyconfigs_index_use","title":"Using index files","text":"

    EasyBuild will automatically pick up and use any index file that it runs into while searching for easyconfig files or patches. If an index file is found, it will be preferred over walking through the directory tree to check for the target file, which is likely to significantly speed up the search operation.

    When a (valid) index file is found for a particular path, a message will be printed mentioning \"found valid index for...\":

    $ eb --search TensorFlow-2.1.0-foss-2019b\n== found valid index for /home/example/easybuild-easyconfigs/easybuild/easyconfigs, so using it...\n* /home/example/easybuild-easyconfigs/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.1.0-foss-2019b-Python-3.7.4.eb\n
    "},{"location":"easyconfigs-search-index/#easyconfigs_index_ignore","title":"Ignoring indices","text":"

    (--ignore-index)

    One potential issue with having an index in place is that it may get outdated: new files may have been added to the directory since the index was created or last updated.

    If updating the indexes is not an option (see Updating an existing index), you can instruct EasyBuild to ignore any existing indices using the --ignore-index configuration option.

    The only downside of this option is that searching for easyconfig files may be significantly slower. Any existing index files are left untouched (they will not be updated or removed).

    "},{"location":"easyconfigs-search-index/#easyconfigs_index_max_age","title":"Controlling how long the index is valid","text":"

    (--index-max-age)

    When creating an index file, you can specify how long the index should be considered valid.

    Using the --index-max-age configuration option, you can specify how long after the creation time the index remains valid (in seconds).

    By default, EasyBuild will consider index files to remain valid for 1 week (7 * 24 * 60 * 60 = 604,800 seconds).

    To create an index that always remains valid (never expires), use zero (0) as value for --index-max-age:

    $ eb --index-max-age=0 --create-index $HOME/easybuild-easyconfigs/easybuild/easyconfigs\n\n$ head -n 2 $HOME/easybuild-easyconfigs/easybuild/easyconfigs/.eb-path-index\n# created at: 2020-04-13 15:10:07.173191\n# valid until: 9999-12-31 23:59:59.999999\n

    Note

    Trust us here, December 31st 9999 is the end of times. Better get prepared.

    "},{"location":"easyconfigs-search-index/#easyconfigs_index_release","title":"Index included with EasyBuild releases","text":"

    Each EasyBuild release (since EasyBuild v4.2.0) comes with an index file for the easyconfig (and patch) files that are included with that release.

    Hence, you only need to use --create-index to create/update the index file for any additional directories with easyconfig files you may have on the side (and only if searching those easyconfig files is rather slow).

    "},{"location":"easyconfigs-search-index/#easyconfigs_index_should_use","title":"Should I create an index?","text":"

    Whether or not you should create an index file for your directories housing additional easyconfig files depends on a number of factors, including:

    • how often files are added and/or removed in those directories, since files listed in the index are assumed to be there and any files not included in the index will be overlooked by EasyBuild when it's searching for files;
    • the filesystem on which those directories are located, since an index file will only make a significant difference on filesystems where metadata-intensive operations are relatively slow;
    • how many files there are in those directories, since performance benefits will only be apparent if the number if files is sufficiently large;

    Note

    Keep in mind that creating an index implies also updating it frequently, to ensure that EasyBuild will take all available files in account.

    "},{"location":"easystack-files/","title":"Easystack files","text":"

    This documentation covers aspects of specifying a software stack to install with Easybuild with easystack files.

    Note: this is an experimental feature. Some of the mentioned functionality may be subject to change or be prone to errors.

    Note

    Some breaking changes were made to the experimental easystack support in EasyBuild v4.7.0.

    Easystack files must now use the easyconfigs top-level key to list easyconfig filenames, as opposed to the software top-level key and separate subkeys like version, versionsuffix and toolchain to specify aspects of an easyconfig file that were supported before.

    "},{"location":"easystack-files/#easystack_basics","title":"The basics","text":"

    Easystack files describe an entire software stack, and can be used to specify to EasyBuild what to install.

    "},{"location":"easystack-files/#easystack_usage","title":"Usage","text":"

    To build software with Easystack, type:

    eb --easystack example.yaml --experimental\n

    where example.yaml is the file with specifications that you just created (more about this in the next section).

    "},{"location":"easystack-files/#easystack_structure","title":"Structure of an easystack file","text":"

    Easystack files are written in YAML syntax.

    Essentially, an easystack file lists the easyconfig files you want to install, which are specified under the easyconfigs key.

    For example:

    easyconfigs:\n- PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb\n- OpenFOAM-v2206-foss-2022a.eb\n

    Note

    You must use '-' to list the easyconfigs in an easystack file.

    In addition, you can specify additional configuration options via the options subkey which will only apply to the installation of a particular easyconfig file.

    For example:

    easyconfigs:\n- PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb:\noptions:\nfrom-pr: 15924\ndebug: True\n- Hypre-2.25.0-foss-2022a.eb:\n- OpenFOAM-v2206-foss-2022a.eb:\noptions:\ninstallpath: /my/custom/installpath\nparallel: \"1\"\n

    Note

    You need to take care with some values in YAML, especially integers, booleans, etc.

    If the specified value definitely must be a string value, you should use quotes ('...') to avoid that the YAML parser automatically converts the value to be of a specific type.

    If you wish to use 1 (the number one), such as for the value to parallel option in the example above, then this should be quoted, to avoid it being treated as the boolean True.

    In other cases, the automatic conversion is useful, like for the True used above, since debug is a boolean configuration option.

    The configuration options that are valid for the eb command can be used (see eb --help), but the - or -- prefixes that are commonly used on the command line are omitted in easystack files.

    Using the example easystack file above would be equivalent to running:

    eb PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb --from-pr 15924 --debug\neb Hypre-2.25.0-foss-2022a.eb\neb OpenFOAM-v2206-foss-2022a.eb --installpath /my/custom/installpath\n

    Note

    Whenever configuration options are not specified (as is the case for Hypre in the example easystack file above), you are still allowed to use ':' after the easyconfig filename: there is no difference in behaviour in ending with or without ':'.

    Specifying short options in an easystack file is allowed, for example:

    easyconfigs:\n- OpenFOAM-v2206-foss-2022a.eb:\noptions:\nD: True\n

    This is not recommended however, as short options are more difficult to interpret by humans.

    "},{"location":"easystack-files/#easystack_combining_options","title":"Combining command line options with options in an easystack file","text":"

    When building software with an easystack file, you can still add additional options on the command line as well. These apply to all items in the easystack file. For example, if you have an easystack file named my_easystack.yaml

    easyconfigs:\n- PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb:\noptions:\nfrom-pr: 15924\ndebug: True\n- OpenFOAM-v2206-foss-2022a.eb:\n

    and you run with

    eb --experimental --easystack my_easystack.yaml --dry-run\n

    this will have the same effect as running

    eb PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb --dry-run --from-pr 15924 --debug\neb OpenFOAM-v2206-foss-2022a.eb --dry-run --installpath /my/custom/installpath\n

    Note that options specified on the command line are placed before the easyconfig-specific options in the easystack file. EasyBuild will always respect the argument that was put last.

    For example:

    eb PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb --dry-run --disable-dry-run\n

    will effectively run without enabling dry run mode, since --disable-dry-run is specified after --dry-run.

    Since easyconfig-specific configuration options specified in the easystack file are put last, they take priority over the the ones on the command line, if the same configuration option is specified in both.

    For example, running:

    eb --experimental --easystack my_easystack.yaml --disable-debug\n

    will effectively cause PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb to be installed with debug logging enabled, while OpenFOAM-v2206-foss-2022a.eb will be effectively installed without debug logging.

    "},{"location":"easystack-files/#to-be-developed","title":"To be developed","text":"

    In the future, we are planning to support additional also global options specified in the easystack file. For example:

    options:\nrobot: True\neasyconfigs:\n- PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb\n- OpenFOAM-v2206-foss-2022a.eb\n

    would installed both PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb and OpenFOAM-v2206-foss-2022a.eb using --robot (see issue #4105).

    Additionally, we plan to support specifying for which EasyBuild version an easystack file was intended, which can be helpful in more accurately recreating a certain software stack (see issue #4106).

    In the future, the --easystack option will probably be dropped, and EasyBuild will automatically detect the use of easystack files (see issue #4104).

    Finally, we plan to support specifying labels, which would make it more easy to install only a certain subset of the items listed in an easystack file. For example, by labelling all GPU-capable software with a gpu label, one could easily choose to not build anything labeled gpu on a CPU node (see issue #3512).

    "},{"location":"experimental-features/","title":"Experimental features","text":"

    First introduced in EasyBuild v2.1.0 (see EasyBuild v2.1.0 Release Notes), experimental features can only be used by enabling the --experimental configuration option.

    An experimental feature indicates to users that these features may change significantly in a future release and should be used only for testing, not (yet) for production usage.

    Currently enabled experimental features include:

    • support for easyconfig files in YAML syntax (see Writing easyconfig files in YAML syntax)
    • support for generating container recipes & images (see Generating container recipes & images)
    • support for using easystack files (see Easystack files)
    • support for trying to update versions of the dependencies of an easyconfig based on what is available in the robot path (see Output of eb --help)
    • support for installing extensions in parallel (see Installing extensions in parallel)
    "},{"location":"extended-dry-run/","title":"Extended dry run","text":"

    Using --extended-dry-run or -x (supported since EasyBuild v2.4.0, see release notes for EasyBuild v2.4.0 (November 10th 2015)), a detailed overview of the build and install procedure that EasyBuild is going to execute can be obtained almost instantly.

    All time-consuming operations, including executing commands to configure/build/install the software, are only reported rather than being actually performed.

    Example output is available at Extended dry run: examples.

    "},{"location":"extended-dry-run/#extended_dry_run_notes","title":"Important notes","text":"

    There are a couple of things you should be aware of when using --extended-dry-run and interpreting the output it produces.

    "},{"location":"extended-dry-run/#extended_dry_run_notes_differences","title":"Build/install procedure reported by dry run may be (slightly) different","text":"

    The actual build and install procedure may (slightly) differ from the one reported by --extended-dry-run, due to conditional checks in the easyblock being used.

    For example, expressions that are conditional on the presence of certain files or directories in the build directory will always be false, since the build directory is never actually populated.

    "},{"location":"extended-dry-run/#extended_dry_run_notes_ignored_errors","title":"Errors are ignored (by default) during dry run","text":"

    Any errors that occur are ignored, and are reported with a clear warning message. This is done because it is possible that these errors occur because of the dry run mechanism.

    For example, the install step could assume that certain files created by a previous step will be present, but they will not be there since the commands that are supposed to produce them were not actually performed in dry run mode.

    Errors are ignored on a per-step basis. When an error is ignored in a particular step, that step is aborted, which may result in partial dry run output for that particular step. Subsequent steps will still be run (in dry run mode), however.

    Since it's possible that these errors occur due to a bug in the easyblock being used, it's important to pay attention to these ignored errors.

    Ignored errors are reported as follows, for example:

    == testing... [DRY RUN]\n\n[test_step method]\n!!!\n!!! WARNING: ignoring error \"[Errno 2] No such file or directory: 'test'\"\n!!!\n

    At the end of dry run output, another warning message is shown if any ignored errors occurred:

    == COMPLETED: Installation ended successfully\n\n!!!\n!!! WARNING: One or more errors were ignored, see warnings above\n!!!\n
    "},{"location":"extended-dry-run/#extended_dry_run_notes_ignored_errors_disabling","title":"Disabling ignoring errors during dry run","text":"

    Ignoring errors that occur during a dry run is enabled by default; it can be disabled using the configuration option that is available for it, i.e. by:

    • the --disable-extended-dry-run-ignore-errors command line option
    • by defining the $EASYBUILD_DISABLE_EXTENDED_DRY_RUN_IGNORE_ERRORS environment variable
    • or by defining disable-extended-dry-run-ignore-errors in an EasyBuild configuration file

    (see also Configuring EasyBuild)

    "},{"location":"extended-dry-run/#extended_dry_run_overview","title":"Overview of dry run mechanism","text":"

    During an extended dry run, several operations are not performed, or are only simulated.

    The sections below give a detailed overview of the dry run mechanism.

    "},{"location":"extended-dry-run/#extended_dry_run_overview_build_install_dirs","title":"Temporary directories as build/install directories","text":"

    To make very sure that EasyBuild does not touch any files or directories during the dry run, the build and (software/module) install directories are replaced by subdirectories of the temporary directory used by that particular EasyBuild session.

    In the background, the values for self.builddir, self.installdir and self.installdir_mod are changed in the EasyBlock instance(s) being used; this also affects the use of the %(builddir)s and $(installdir)s values in easyconfig files.

    Although the build and install directories are effectively temporary directories during a dry run (under a prefix like /tmp/eb-aD_yNu/__ROOT__), this is not visible in the dry run output: the 'fake' build and install directories are replaced by the corresponding original value in the dry run output. For example:

    [extract_step method]\n  running command \"tar xzf /home/example/easybuild/sources/b/bzip2/bzip2-1.0.6.tar.gz\"\n  (in /tmp/example/eb_build/bzip2/1.0.6/GCC-4.9.2)\n
    "},{"location":"extended-dry-run/#extended_dry_run_overview_build_dir_guess","title":"Note on build directory in dry run mode","text":"

    The build (sub)directory used during an actual (non-dry run) EasyBuild session may be different than the one mentioned in the dry run output.

    This is because during a dry run, EasyBuild will guess the name of the subdirectory that is created by unpacking the first source file in the build directory as being <name>-<version>. Although this is a common pattern, it is not always 100% correct.

    For example, you may see this in the dry run output for WRF (for which a build-in-installdir procedure is used):

    [build_step method]\n  running command \"tcsh ./compile -j 4 wrf\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n

    The actual build (and install) subdirectory is slightly different while not in dry run mode however, i.e.: /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRFV3.

    "},{"location":"extended-dry-run/#extended_dry_run_overview_downloading","title":"No downloading of missing source files/patches","text":"

    Required files (source files/patches) are not downloaded during a dry run if they are not available yet.

    The dry run output will specify whether files are found (and if so, at which path) or not; the exact output for files that were not found depends on whether or not source URLs are available.

    For example: if the required source file for bzip2 is not available yet, it is indicated where EasyBuild will try to download it to:

    [fetch_step method]\nAvailable download URLs for sources/patches:\n  * http://www.bzip.org/1.0.6/$source\n\nList of sources:\n  * bzip2-1.0.6.tar.gz downloaded to /home/example/easybuild/sources/b/bzip2/bzip2-1.0.6.tar.gz\n\nList of patches:\n(none)\n

    If the source file is already available in the source path that EasyBuild was configured with, it is indicated as such:

    List of sources:\n  * bzip2-1.0.6.tar.gz found at /home/example/easybuild/sources/b/bzip2/bzip2-1.0.6.tar.gz\n

    In case no source URLs are available and required files are missing, they are simply marked as such:

    Available download URLs for sources/patches:\n(none)\n\nList of sources:\n  * bzip2-1.0.6.tar.bz2 (MISSING)\n

    However, since the dry run mechanism never actually uses the source files/patches, this does not affect the remainder of the output of --extended-dry-run/-x.

    "},{"location":"extended-dry-run/#extended_dry_run_overview_checksum_verification","title":"Checksum verification is skipped","text":"

    Computing checksums of sources files/patches, and verifying them against specified checksums (if available) is skipped during a dry run, because it is considered potentially too time-consuming. In addition, source files/patches may not be available anyway.

    If checksums are available they are only reported, for example (for GCC v4.9.3):

    [checksum_step method]\n* expected checksum for gcc-4.9.3.tar.bz2: 6f831b4d251872736e8e9cc09746f327\n* expected checksum for gmp-6.0.0a.tar.bz2: b7ff2d88cae7f8085bd5006096eed470\n* expected checksum for mpfr-3.1.2.tar.gz: 181aa7bb0e452c409f2788a4a7f38476\n* expected checksum for mpc-1.0.2.tar.gz: 68fadff3358fb3e7976c7a398a0af4c3\n* expected checksum for mpfr-3.1.2-allpatches-20141204.patch: 58aec98d15982f9744a043d2f1c5af82\n
    "},{"location":"extended-dry-run/#extended_dry_run_overview_unpacking_sources","title":"Source files are not unpacked","text":"

    Source files are not unpacked, since this may require too much time (in case of large source files). Additionally, source files may not be available anyway.

    This has a number of implications:

    • files or directories that may be expected to be there are not, which may lead to (ignored) errors if the used easyblock does not take this into account (see also Errors are ignored (by default) during dry run)
    • the build directory in which commands are executed may be incorrect in the dry run output (see also Note on build directory in dry run mode)

    The extraction command is mentioned in the dry run output however, for example:

    [extract_step method]\n  running command \"tar xjf bzip2-1.0.6.tar.bz2\"\n  (in /tmp/example/eb_build/bzip2/1.0.6/GCC-4.9.2)\n
    "},{"location":"extended-dry-run/#extended_dry_run_overview_patching","title":"Patch files are not applied, no runtime patching","text":"

    Since source files are not unpacked, patch files can not applied either.

    The dry run output does provide an overview of patch files, together with where they are found and how they are applied:

    [patch_step method]\n* applying patch file WRF_parallel_build_fix.patch\n  running command \"patch -b -p<derived> -i /home/example/easybuild/sources/w/WRF/WRF_parallel_build_fix.patch\"\n  (in /home/example/easybuild/easybuild/software/WRF/3.6.1-intel-2015a-dmpar)\n* applying patch file WRF-3.6.1_known_problems.patch\n  running command \"patch -b -p<derived> -i /home/example/easybuild/sources/w/WRF/WRF-3.6.1_known_problems.patch\"\n  (in /home/example/easybuild/easybuild/software/WRF/3.6.1-intel-2015a-dmpar)\n

    Likewise, runtime patching performed by the easyblock itself can not work either. If the apply_regex_substitutions function (available from easybuild.tools.filetools) is used, a clear overview is included in the dry run output (see also Runtime patching of files).

    For example, in the configure step of the WRF easyblock when using the Intel compilers, this yields:

    [configure_step method]\n...\napplying regex substitutions to file configure.wrf\n  * regex pattern '^(DM_FC\\s*=\\s*).*$', replacement string '\\1 mpif90'\n  * regex pattern '^(DM_CC\\s*=\\s*).*$', replacement string '\\1 mpicc -DMPI2_SUPPORT'\n

    If the apply_regex_substitutions function provided for runtime patching is not used (and fileinput is used directly, for example), runtime patching performed by the easyblock will most likely result in an error, leading to the step in which it is being performed being aborted (see Errors are ignored (by default) during dry run).

    "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load","title":"Module load statements are executed or simulated","text":"

    module load statements are either effectively executed or simulated, depending on whether the corresponding module files are available or not.

    "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load_available","title":"Available modules are loaded","text":"

    module load statements are fairly light-weight, so they are effectively executed if the module being loaded is available.

    The dry run output includes an overview of the modules being loaded. In addition an overview of all loaded modules, including the ones that were loaded indirectly, is shown.

    For example:

    [prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load GCC/4.9.2\n\nLoading modules for dependencies...\n\nmodule load M4/1.4.17-GCC-4.9.2\n\nFull list of loaded modules:\n  1) GCC/4.8.2\n  2) M4/1.4.17-GCC-4.9.2\n
    "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load_simulated","title":"Loading of non-available modules is simulated","text":"

    If the module file required to execute a particular module load statement is not available, the dry run mechanism will simulate the loading of the module.

    The module load statements that were simulated rather than actually performed are clearly indicated using [SIMULATED] in the dry run output, for example:

    [prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load intel/2015a\n\nLoading modules for dependencies...\n\nmodule load JasPer/1.900.1-intel-2015a\nmodule load netCDF/4.3.2-intel-2015a [SIMULATED]\nmodule load netCDF-Fortran/4.4.0-intel-2015a [SIMULATED]\nmodule load tcsh/6.18.01-intel-2015a\n

    Only modules that were effectively loaded will appear in the full list of modules being printed; modules for which the load was simulated will not be included.

    "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load_simulated_deps","title":"Simulated loading of non-available dependency modules","text":"

    For dependencies, simulating a module load statement basically (only) entails defining the $EBROOT* and $EBVERSION* environment variables (the full variable names are determined by the software name), which are picked up by resp. the get_software_root and get_software_version functions often used in easyblocks.

    The $EBVERSION* environment variable is defined with the actual software version of the dependency.

    For the $EBROOT* environment variable, the name of the environment variable itself prefixed with a '$' is used as a dummy value, rather than using an fake installation software prefix. For example, when simulating the load statement for a GCC module, the environment variable $EBROOTGCC is defined as the string value '$EBROOTGCC' (literally).

    This results in sensible output when this value is picked up via get_software_root by the easyblock.

    For example, for netCDF used as a dependency for WRF the following is included in the module file contents included in the dry run output:

    setenv  NETCDF      \"$EBROOTNETCDF\"\nsetenv  NETCDFF     \"$EBROOTNETCDFMINFORTRAN\"\n
    "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load_simulated_toolchain","title":"Simulated loading of non-available toolchain module","text":"

    When the module that corresponds to the toolchain being used is not available, the dry run mechanism will also simulate the module load statements for the individual toolchain components, to ensure that version checks on the toolchain components can work as expected.

    For example, if the toolchain module intel/2015a is not available, the loading of the icc, ifort, impi and imkl modules that would be loaded by the intel module is also simulated:

    [prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load icc/2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load ifort/2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load impi/5.0.2.044-iccifort-2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load imkl/11.2.1.133-iimpi-7.2.3-GCC-4.9.2 [SIMULATED]\nmodule load intel/2015a [SIMULATED]\n
    "},{"location":"extended-dry-run/#extended_dry_run_build_environment","title":"Build environment is reported","text":"

    The build environment that is set up based on the toolchain (and toolchain options) being used, and the dependencies being loaded is reported as a part of the dry run output.

    For example, when GCC is used as a toolchain something like this will be included in the prepare_step part of the dry run output:

    Defining build environment...\n\n  export CC=\"gcc\"\n  export CFLAGS=\"-O2\"\n  export CXX=\"g++\"\n  export CXXFLAGS=\"-O2\"\n  export F77=\"gfortran\"\n  export F90=\"gfortran\"\n  export F90FLAGS=\"-O2\"\n  export FFLAGS=\"-O2\"\n  export FLIBS=\"-lgfortran\"\n  export LDFLAGS=\"-L/home/example/eb/software/GCC/4.8.2/lib\"\n  export LIBS=\"-lm -lpthread\"\n  export OPTFLAGS=\"-O2\"\n  export PRECFLAGS=\"\"\n

    This is particularly useful as an overview of which environment variables that are defined by the toolchain mechanism, and to assess the effect of changing toolchain options.

    The output is deliberately formatted such that is can be easily copy-pasted, which can be useful to mimic the environment in which EasyBuild will perform the build and install procedure.

    "},{"location":"extended-dry-run/#extended_dry_run_overview_run_cmd","title":"Shell commands are not executed","text":"

    Any shell commands that are executed via the run_cmd and run_cmd_qa functions that are provided by the EasyBuild framework via the easybuild.tools.run are not executed, only reported (see also Executing commands).

    This typically includes the commands that are defined in the easyblock to be run as a part of the configure/build/install steps.

    For example:

    configuring... [DRY RUN]\n\n[configure_step method]\n  running command \" ./configure --prefix=/home/example/eb/software/make/3.82-GCC-4.8.2 \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\nbuilding... [DRY RUN]\n\n[build_step method]\n  running command \" make -j 4 \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\n...\n\ninstalling... [DRY RUN]\n\n[stage_install_step method]\n\n[make_installdir method]\n\n[install_step method]\n  running command \" make install \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n

    There are a couple of minor exceptions though. Some (light-weight) commands are always run by the EasyBuild framework, even in dry run mode, and an easyblock can specify that particular commands must always be run (see also Executing commands).

    "},{"location":"extended-dry-run/#extended_dry_run_overview_sanity_check","title":"Sanity check paths/commands are not checked","text":"

    Since nothing is actually being installed during a dry run, the sanity check paths/commands can not be checked.

    Instead, the dry run mechanism will produce a clear overview of which paths are expected to be found in the installation directory, and which commands are expected to work (if any).

    For example:

    sanity checking... [DRY RUN]\n\n[sanity_check_step method]\nSanity check paths - file ['files']\n  * WRFV3/main/ideal.exe\n  * WRFV3/main/libwrflib.a\n  * WRFV3/main/ndown.exe\n  * WRFV3/main/nup.exe\n  * WRFV3/main/real.exe\n  * WRFV3/main/tc.exe\n  * WRFV3/main/wrf.exe\nSanity check paths - (non-empty) directory ['dirs']\n  * WRFV3/main\n  * WRFV3/run\nSanity check commands\n  (none)\n
    "},{"location":"extended-dry-run/#extended_dry_run_overview_no_downloading","title":"Module file is incomplete and only printed","text":"

    During a dry run, the contents of the module file that would be installed is still generated, but only printed; it is not actually written to file.

    More importantly however, the module file being reported is bound to be incomplete, since the module generator only includes certain statements conditionally, for example only if the files/directories to which they relate actually exist. This typically affects prepend-path statements, e.g. for $PATH, $LD_LIBRARY_PATH, etc.

    For example, the reported module file for make v3.82 built with GCC/4.8.2 may look something like:

    creating module... [DRY RUN]\n\n[make_module_step method]\nGenerating module file /home/example/eb/modules/all/make/3.82-GCC-4.8.2, with contents:\n\n    #%Module\n    proc ModulesHelp { } {\n        puts stderr { make-3.82: GNU version of make utility - Homepage: http://www.gnu.org/software/make/make.html\n        }\n    }\n\n    module-whatis {Description: make-3.82: GNU version of make utility - Homepage: http://www.gnu.org/software/make/make.html}\n\n    set root /home/example/eb/software/make/3.82-GCC-4.8.2\n\n    conflict make\n\n    if { ![ is-loaded GCC/4.8.2 ] } {\n        module load GCC/4.8.2\n    }\n\n    setenv  EBROOTMAKE      \"$root\"\n    setenv  EBVERSIONMAKE       \"3.82\"\n    setenv  EBDEVELMAKE     \"$root/easybuild/make-3.82-GCC-4.8.2-easybuild-devel\"\n\n    # Built with EasyBuild version 2.4.0\n

    Note that there is no prepend-path PATH statement for the bin subdirectory, for example.

    "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks","title":"Guidelines for easyblocks","text":"

    To ensure useful output under --extended-dry-run, easyblocks should be implemented keeping in mind that some operations are possible not performed, to avoid generating errors in dry run mode.

    Although errors are just ignored by the dry run mechanism on a per-step basis, they may hide subsequent operations and useful information for the remainder of the step (see also Errors are ignored (by default) during dry run).

    "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_detect_dry_run","title":"Detecting dry run mode and enhancing the dry run output","text":"

    To detect whether an easyblock is being used in dry run mode, it suffices to check the self.dry_run class variable.

    Additional messages can be included in the dry run output using the self.dry_run_msg method.

    For example:

    class Example(EasyBlock):\n\n    def configure_step(self):\n\n        if self.dry_run:\n            self.dry_run_msg(\"Dry run mode detected, not reading template configuration files\")\n            ...\n
    "},{"location":"extended-dry-run/#extended_dry_run_guidelines_files_dirs_checks","title":"Check whether files/directories exist before accessing them","text":"

    Rather than assuming that particular files or directories will be there, easyblocks should take into that they may not be, for example because EasyBuild is being run in dry run mode.

    For example, instead of simply assuming that a directory named 'test' will be there, the existence should be checked first. If not, an appropriate error should be produced, but only when the easyblock is not being used in dry run mode.

    Bad example:

    # *BAD* example: maybe the 'test' directory is not there (e.g., because we're in dry run mode)!\ntry:\n    testcases = os.listdir('test')\nexcept OSError as err:\n    raise EasyBuildError(\"Unexpected error when determining list of test cases: %s\", err)\n

    Good example:

    # make sure the 'test' directory is there before trying to access it\nif os.path.exists('test'):\n    try:\n        testcases = os.listdir('test')\n    except OSError as err:\n        raise EasyBuildError(\"Unexpected error when determining list of test cases: %s\", err)\n\n# only raise an error if we're not in dry run mode\nelif not self.dry_run:\n    raise EasyBuildError(\"Test directory not found, failed to determine list of test cases\")\n

    Easyblocks that do not take this into account are likely to result in ignored errors during a dry run (see also Errors are ignored (by default) during dry run). For example, for the bad example shown above:

    !!!\n!!! WARNING: ignoring error \"Unexpected error when determining list of test cases: [Errno 2] No such file or directory: 'test'\"\n!!!\n
    "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions","title":"Use functions provided by the EasyBuild framework","text":"

    The EasyBuild framework provides a bunch of functions that are \"dry run-aware\", and which can significantly help in keeping easyblocks free from conditional statements checking self.dry_run:

    • Defining environment variables
    • Writing or appending to files
    • Runtime patching of files
    • Executing commands
    "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions_setvar","title":"Defining environment variables","text":"

    (setvar)

    For defining environment variables, the setvar function available in the easybuild.tools.environment module should be used.

    For example, from the WRF easyblock:

    jasper = get_software_root('JasPer')\nif jasper:\n    env.setvar('JASPERINC', os.path.join(jasper, 'include'))\n

    When triggered in dry run mode, this will result in a clear dry run message like:

    export JASPERINC=\"$EBROOTJASPER/include\"\n

    The actual output depends on whether or not the required module for JasPer is available (see Simulated loading of non-available dependency modules).

    "},{"location":"extended-dry-run/#silently-defining-environment-variables","title":"Silently defining environment variables","text":"

    The setvar function also supports defining environment variables silently, i.e. without producing a corresponding dry run message, via the named argument verbose.

    This is used in a couple of places in the EasyBuild framework, to avoid some environment variables being defined cluttering the dry run output without added value. It can be used for similar reasons in easyblocks.

    For example, the PythonPackage uses it in the install step, to modify $PYTHONPATH as required by the python setup.py install procedure (which is considered not relevant to include in the dry run output, since it's a technicality):

    env.setvar('PYTHONPATH', new_pythonpath, verbose=False)\n
    "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions_write_file","title":"Writing or appending to files","text":"

    (write_file)

    For writing and appending to files, the EasyBuild framework provides the write_file function (available from the easybuild.tools.filetools module).

    Using it is straightforward, for example:

    write_file('example.txt', \"Contents for the example file\")\n

    To append to an existing file, write_file support a named argument append.

    When used in dry run mode, write_file does not actually (attempt to) write to the file; instead, it just produces an appropriate dry run message and returns.

    For example:

    file written: /tmp/eb-ksVC07/tmp.conf\n
    "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions_runtime_patching","title":"Runtime patching of files","text":"

    (apply_regex_substitutions)

    To make runtime patching of files in easyblocks easier, and to do it with taking the possibility of being in dry run module into account, the EasyBuild framework provides the apply_regex_substitutions function (available from the easybuild.tools.filetools module, since EasyBuild v2.4.0).

    This function takes two arguments: a path to the file that should be patched, and a list of tuples specifying the regular expression pattern to match on, and the string value that should be used as replacement text.

    For example (simple fictional example):

    # replace value for C++ compiler\napply_regex_substitutions('config.mk', [('^(CPLUSPLUS\\s*=).*', '\\1 %s' % os.environ['CXX'])])\n

    When used in dry run mode, it will produce a message like:

    applying regex substitutions to file config.mk\n  * regex pattern '^(CPLUSPLUS\\s*=\\s).*', replacement string '\\1 g++'\n
    "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions_run_cmd","title":"Executing commands","text":"

    (run_cmd and run_cmd_qa)

    To execute shell commands, the run_cmd and run_cmd_qa functions are provided by the EasyBuild framework in the easybuild.tools.run module, with the latter providing support for running interactive commands.

    In their simplest form, they simply take the command to execute as a string. For example:

    run_cmd(\"tcsh ./compile -j %s wrf\" % self.cfg['parallel'])\n

    In dry run mode, these functions just produce a dry run message, rather than actually executing the specified command. For example:

    running command \"tcsh ./compile -j 4 wrf\"\n(in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n

    Take into account that the directory included in the message may not be 100% accurate, see Note on build directory in dry run mode.

    "},{"location":"extended-dry-run/#silently-executing-commands","title":"Silently executing commands","text":"

    The verbose named argument supported by the run_cmd function allows to execute a particular command silently, i.e. without producing a dry run message.

    For example:

    # only run for debugging purposes\nrun_cmd(\"ulimit -v\", verbose=False)\n
    "},{"location":"extended-dry-run/#forced-execution-of-particular-commands","title":"Forced execution of particular commands","text":"

    Sometimes, it can be required that specific (light-weight) commands are always executed, because they have side-effects that are assumed to have taken place later in the easyblock.

    For this, the run_cmd function support another named argument, i.e. force_in_dry_run. When set to True, the specified command will always be executed, even when in dry run mode.

    This is mainly intended for use in the EasyBuild framework itself, where commands that verify certain things must be executed, but it can also be useful for easyblocks (if used correctly).

    For example:

    out, exit_code = run_cmd(\"type module\", simple=False, force_in_dry_run=True)\n
    "},{"location":"extended-dry-run/#extended_dry_run_examples","title":"Extended dry run: examples","text":"

    Output examples for eb --extended-dry-run/eb -x:

    • make v3.82 with GCC/4.8.2
    • WRF v3.6.1 with intel/2015a
    "},{"location":"extended-dry-run/#extended_dry_run_examples_make382_GCC482","title":"make v3.82 with GCC/4.8.2","text":"
    $ eb make-3.82-GCC-4.8.2.eb -x\n== temporary log file in case of crash /tmp/eb-ksVC07/easybuild-MmAugb.log\n\n== processing EasyBuild easyconfig /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/m/make/make-3.82-GCC-4.8.2.eb\n\nImportant note: the actual build & install procedure that will be performed may diverge\n(slightly) from what is outlined below, due to conditions in the easyblock which are\nincorrectly handled in a dry run.\nAny errors that may occur are ignored and reported as warnings, on a per-step basis.\nPlease be aware of this, and only use the information below for quick debugging purposes.\n\n*** DRY RUN using 'ConfigureMake' easyblock (easybuild.easyblocks.generic.configuremake @ /home/example/eb/easybuild-easyblocks/easybuild/easyblocks/generic/configuremake.pyc) ***\n\n== building and installing make/3.82-GCC-4.8.2...\nfetching files... [DRY RUN]\n\n[fetch_step method]\nAvailable download URLs for sources/patches:\n  * http://ftpmirror.gnu.org/make/$source\n\nList of sources:\n  * make-3.82.tar.bz2 will be downloaded to /home/example/eb/sources/m/make/make-3.82.tar.bz2\n\nList of patches:\n(none)\n\ncreating build dir, resetting environment... [DRY RUN]\n\n[check_readiness_step method]\n\n[make_builddir method]\n\n[reset_changes method]\n\n[handle_iterate_opts method]\n\nunpacking... [DRY RUN]\n\n[checksum_step method]\n* expected checksum for make-3.82.tar.bz2: (none)\n\n[extract_step method]\n  running command \"tar xjf /home/example/eb/sources/m/make/make-3.82.tar.bz2\"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2)\n\npatching... [DRY RUN]\n\n[patch_step method]\n\npreparing... [DRY RUN]\n\n[prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load GCC/4.8.2\n\nLoading modules for dependencies...\n\n\nFull list of loaded modules:\n  1) GCC/4.8.2\n\nDefining build environment...\n\n  export CC=\"gcc\"\n  export CFLAGS=\"-O2\"\n  export CXX=\"g++\"\n  export CXXFLAGS=\"-O2\"\n  export F77=\"gfortran\"\n  export F90=\"gfortran\"\n  export F90FLAGS=\"-O2\"\n  export FFLAGS=\"-O2\"\n  export FLIBS=\"-lgfortran\"\n  export LDFLAGS=\"-L/home/example/eb/software/GCC/4.8.2/lib\"\n  export LIBS=\"-lm -lpthread\"\n  export OPTFLAGS=\"-O2\"\n  export PRECFLAGS=\"\"\n\nconfiguring... [DRY RUN]\n\n[configure_step method]\n  running command \" ./configure --prefix=/home/example/eb/software/make/3.82-GCC-4.8.2 \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\nbuilding... [DRY RUN]\n\n[build_step method]\n  running command \" make -j 4 \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\ntesting... [DRY RUN]\n\n[test_step method]\n\ninstalling... [DRY RUN]\n\n[stage_install_step method]\n\n[make_installdir method]\n\n[install_step method]\n  running command \" make install \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\ntaking care of extensions... [DRY RUN]\n\n[extensions_step method]\n\npostprocessing... [DRY RUN]\n\n[post_install_step method]\n\nsanity checking... [DRY RUN]\n\n[sanity_check_step method]\nSanity check paths - file ['files']\n  * bin/make\nSanity check paths - (non-empty) directory ['dirs']\n  (none)\nSanity check commands\n  (none)\n\ncleaning up... [DRY RUN]\n\n[cleanup_step method]\n\ncreating module... [DRY RUN]\n\n[make_module_step method]\nGenerating module file /home/example/eb/modules/all/make/3.82-GCC-4.8.2, with contents:\n\n    #%Module\n    proc ModulesHelp { } {\n        puts stderr { make-3.82: GNU version of make utility - Homepage: http://www.gnu.org/software/make/make.html\n        }\n    }\n\n    module-whatis {Description: make-3.82: GNU version of make utility - Homepage: http://www.gnu.org/software/make/make.html}\n\n    set root /home/example/eb/software/make/3.82-GCC-4.8.2\n\n    conflict make\n\n    if { ![ is-loaded GCC/4.8.2 ] } {\n        module load GCC/4.8.2\n    }\n\n    setenv  EBROOTMAKE      \"$root\"\n    setenv  EBVERSIONMAKE       \"3.82\"\n    setenv  EBDEVELMAKE     \"$root/easybuild/make-3.82-GCC-4.8.2-easybuild-devel\"\n\n    # Built with EasyBuild version 2.4.0\n\n\npermissions... [DRY RUN]\n\n[permissions_step method]\n\npackaging... [DRY RUN]\n\n[package_step method]\n\n== COMPLETED: Installation ended successfully\n\nImportant note: the actual build & install procedure that will be performed may diverge\n(slightly) from what is outlined above, due to conditions in the easyblock which are\nincorrectly handled in a dry run.\nAny errors that may occur are ignored and reported as warnings, on a per-step basis.\nPlease be aware of this, and only use the information above for quick debugging purposes.\n\n(no ignored errors during dry run)\n\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-ksVC07/easybuild-MmAugb.log* have been removed.\n== Temporary directory /tmp/eb-ksVC07 has been removed.\n
    "},{"location":"extended-dry-run/#extended_dry_run_examples_WRF361_intel2015a","title":"WRF v3.6.1 with intel/2015a","text":"
    $ eb WRF-3.6.1-intel-2015a-dmpar.eb -x\n== temporary log file in case of crash /tmp/eb-Dh1wOp/easybuild-0bu9u9.log\n\n== processing EasyBuild easyconfig /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1-intel-2015a-dmpar.eb\n\nImportant note: the actual build & install procedure that will be performed may diverge\n(slightly) from what is outlined below, due to conditions in the easyblock which are\nincorrectly handled in a dry run.\nAny errors that may occur are ignored and reported as warnings, on a per-step basis.\nPlease be aware of this, and only use the information below for quick debugging purposes.\n\n*** DRY RUN using 'EB_WRF' easyblock (easybuild.easyblocks.wrf @ /home/example/eb/easybuild-easyblocks/easybuild/easyblocks/w/wrf.py) ***\n\n== building and installing WRF/3.6.1-intel-2015a-dmpar...\nfetching files... [DRY RUN]\n\n[fetch_step method]\nAvailable download URLs for sources/patches:\n  * http://www2.mmm.ucar.edu/wrf/src//$source\n  * http://www.mmm.ucar.edu/wrf/src//$source\n\nList of sources:\n  * WRFV3.6.1.TAR.gz will be downloaded to /home/example/eb/sources/w/WRF/WRFV3.6.1.TAR.gz\n\nList of patches:\n  * WRF_parallel_build_fix.patch found at /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF_parallel_build_fix.patch\n  * WRF-3.6.1_netCDF-Fortran_separate_path.patch found at /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1_netCDF-Fortran_separate_path.patch\n  * WRF-3.6.1_known_problems.patch found at /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1_known_problems.patch\n  * WRF_tests_limit-runtimes.patch found at /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF_tests_limit-runtimes.patch\n\ncreating build dir, resetting environment... [DRY RUN]\n\n[check_readiness_step method]\n\n[make_builddir method]\n\n[reset_changes method]\n\n[handle_iterate_opts method]\n\nunpacking... [DRY RUN]\n\n[checksum_step method]\n* expected checksum for WRFV3.6.1.TAR.gz: (none)\n* expected checksum for WRF_parallel_build_fix.patch: (none)\n* expected checksum for WRF-3.6.1_netCDF-Fortran_separate_path.patch: (none)\n* expected checksum for WRF-3.6.1_known_problems.patch: (none)\n* expected checksum for WRF_tests_limit-runtimes.patch: (none)\n\n[extract_step method]\n  running command \"tar xzf /home/example/eb/sources/w/WRF/WRFV3.6.1.TAR.gz\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n\npatching... [DRY RUN]\n\n[patch_step method]\n* applying patch file WRF_parallel_build_fix.patch\n  running command \"patch -b -p<derived> -i /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF_parallel_build_fix.patch\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n* applying patch file WRF-3.6.1_netCDF-Fortran_separate_path.patch\n  running command \"patch -b -p<derived> -i /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1_netCDF-Fortran_separate_path.patch\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n* applying patch file WRF-3.6.1_known_problems.patch\n  running command \"patch -b -p<derived> -i /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1_known_problems.patch\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n* applying patch file WRF_tests_limit-runtimes.patch\n  running command \"patch -b -p<derived> -i /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF_tests_limit-runtimes.patch\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n\npreparing... [DRY RUN]\n\n[prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load icc/2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load ifort/2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load impi/5.0.2.044-iccifort-2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load imkl/11.2.1.133-iimpi-7.2.3-GCC-4.9.2 [SIMULATED]\nmodule load intel/2015a [SIMULATED]\n\nLoading modules for dependencies...\n\nmodule load JasPer/1.900.1-intel-2015a [SIMULATED]\nmodule load netCDF/4.3.2-intel-2015a [SIMULATED]\nmodule load netCDF-Fortran/4.4.0-intel-2015a [SIMULATED]\nmodule load tcsh/6.18.01-intel-2015a [SIMULATED]\n\nFull list of loaded modules:\n  (none)\n\n\n!!!\n!!! WARNING: Not all FFTW interface libraries ['fftw3xc_intel', 'mkl_intel_lp64', 'mkl_sequential', 'mkl_core'] are found in ['$EBROOTIMKL/mkl/lib/intel64', '$EBROOTIMKL/compiler/lib/intel64'], can't set $FFT_LIB.\n!!!\n\nDefining build environment...\n\n  export BLACS_INC_DIR=\"\"\n  export BLACS_LIB_DIR=\"\"\n  export BLACS_MT_STATIC_LIBS=\"libmkl_blacs_intelmpi_lp64.a\"\n  export BLACS_STATIC_LIBS=\"libmkl_blacs_intelmpi_lp64.a\"\n  export BLAS_INC_DIR=\"\"\n  export BLAS_LAPACK_INC_DIR=\"\"\n  export BLAS_LAPACK_LIB_DIR=\"\"\n  export BLAS_LAPACK_MT_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_intel_thread.a,libmkl_core.a,libiomp5.a,libpthread.a\"\n  export BLAS_LAPACK_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a\"\n  export BLAS_LIB_DIR=\"\"\n  export BLAS_MT_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_intel_thread.a,libmkl_core.a,libiomp5.a,libpthread.a\"\n  export BLAS_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a\"\n  export CC=\"icc\"\n  export CFLAGS=\"-O2 -ftz -fp-speculation=safe -fp-model source\"\n  export CPPFLAGS=\"\"\n  export CXX=\"icpc\"\n  export CXXFLAGS=\"-O2 -ftz -fp-speculation=safe -fp-model source\"\n  export F77=\"ifort\"\n  export F90=\"ifort\"\n  export F90FLAGS=\"-O2 -ftz -fp-speculation=safe -fp-model source\"\n  export FFLAGS=\"-O2 -ftz -fp-speculation=safe -fp-model source\"\n  export FFTW_INC_DIR=\"\"\n  export FFTW_LIB_DIR=\"\"\n  export FFTW_STATIC_LIBS=\"\"\n  export FFT_INC_DIR=\"\"\n  export FFT_LIB_DIR=\"\"\n  export FFT_STATIC_LIBS=\"\"\n  export I_MPI_CC=\"icc\"\n  export I_MPI_CXX=\"icpc\"\n  export I_MPI_F77=\"ifort\"\n  export I_MPI_F90=\"ifort\"\n  export LAPACK_INC_DIR=\"\"\n  export LAPACK_LIB_DIR=\"\"\n  export LAPACK_MT_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_intel_thread.a,libmkl_core.a,libiomp5.a,libpthread.a\"\n  export LAPACK_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a\"\n  export LDFLAGS=\"\"\n  export LIBBLACS=\"-Wl,-Bstatic -Wl,--start-group -lmkl_blacs_intelmpi_lp64 -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBBLACS_MT=\"-Wl,-Bstatic -Wl,--start-group -lmkl_blacs_intelmpi_lp64 -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBBLAS=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBBLAS_MT=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBFFT=\"\"\n  export LIBLAPACK=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBLAPACK_MT=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBLAPACK_MT_ONLY=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBLAPACK_ONLY=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBS=\"-liomp5 -lpthread\"\n  export LIBSCALAPACK=\"-Wl,-Bstatic -Wl,--start-group -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBSCALAPACK_MT=\"-Wl,-Bstatic -Wl,--start-group -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBSCALAPACK_MT_ONLY=\"-Wl,-Bstatic -Wl,--start-group -lmkl_scalapack_lp64 -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBSCALAPACK_ONLY=\"-Wl,-Bstatic -Wl,--start-group -lmkl_scalapack_lp64 -Wl,--end-group -Wl,-Bdynamic\"\n  export MPICC=\"mpicc\"\n  export MPICH_CC=\"icc\"\n  export MPICH_CXX=\"icpc\"\n  export MPICH_F77=\"ifort\"\n  export MPICH_F90=\"ifort\"\n  export MPICXX=\"mpicxx\"\n  export MPIF77=\"mpif77\"\n  export MPIF90=\"mpif90\"\n  export MPI_INC_DIR=\"\"\n  export MPI_LIB_DIR=\"\"\n  export MPI_LIB_SHARED=\"\"\n  export MPI_LIB_STATIC=\"\"\n  export OPTFLAGS=\"-O2\"\n  export PRECFLAGS=\"-ftz -fp-speculation=safe -fp-model source\"\n  export SCALAPACK_INC_DIR=\"\"\n  export SCALAPACK_LIB_DIR=\"\"\n  export SCALAPACK_MT_STATIC_LIBS=\"libmkl_scalapack_lp64.a,libmkl_blacs_intelmpi_lp64.a,libmkl_intel_lp64.a,libmkl_intel_thread.a,libmkl_core.a,libiomp5.a,libpthread.a\"\n  export SCALAPACK_STATIC_LIBS=\"libmkl_scalapack_lp64.a,libmkl_blacs_intelmpi_lp64.a,libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a\"\n\nconfiguring... [DRY RUN]\n\n[configure_step method]\n  export NETCDF=\"$EBROOTNETCDF\"\n  export NETCDFF=\"$EBROOTNETCDFMINFORTRAN\"\n  export JASPERINC=\"$EBROOTJASPER/include\"\n  export JASPERLIB=\"$EBROOTJASPER/lib\"\n  export WRFIO_NCD_LARGE_FILE_SUPPORT=\"1\"\nPerl script patched: arch/Config_new.pl\n  running interactive command \"./configure\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\napplying regex substitutions to file configure.wrf\n  * regex pattern '^(DM_FC\\s*=\\s*).*$', replacement string '\\1 mpif90'\n  * regex pattern '^(DM_CC\\s*=\\s*).*$', replacement string '\\1 mpicc -DMPI2_SUPPORT'\n  * regex pattern '^(SFC\\s*=\\s*).*$', replacement string '\\1 ifort'\n  * regex pattern '^(SCC\\s*=\\s*).*$', replacement string '\\1 icc'\n  * regex pattern '^(CCOMP\\s*=\\s*).*$', replacement string '\\1 icc'\napplying regex substitutions to file configure.wrf\n  * regex pattern '^(FCOPTIM.*)(\\s-O3)(\\s.*)$', replacement string '\\1 -O2 -ftz -fp-speculation=safe -fp-model source \\3'\n  * regex pattern '^(CFLAGS_LOCAL.*)(\\s-O3)(\\s.*)$', replacement string '\\1 -O2 -ftz -fp-speculation=safe -fp-model source \\3'\n\nbuilding... [DRY RUN]\n\n[build_step method]\n  running command \"tcsh ./compile -j 4 wrf\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n  running command \"tcsh ./compile -j 4 em_real\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n  running command \"tcsh ./compile -j 4 em_b_wave\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n\ntesting... [DRY RUN]\n\n[test_step method]\n  export I_MPI_MPD_TMPDIR=\"/tmp/eb-Dh1wOp\"\n  export PBS_ENVIRONMENT=\"PBS_BATCH_MPI\"\n  export I_MPI_PROCESS_MANAGER=\"mpd\"\nfile written: /tmp/eb-Dh1wOp/mpi_cmd_for-nzyh5V/mpdboot\nfile written: /tmp/eb-Dh1wOp/mpi_cmd_for-nzyh5V/nodes\n  export I_MPI_MPD_TMPDIR=\"/tmp/eb-Dh1wOp\"\n  export PBS_ENVIRONMENT=\"PBS_BATCH_MPI\"\n  export I_MPI_PROCESS_MANAGER=\"mpd\"\nfile written: /tmp/eb-Dh1wOp/mpi_cmd_for-hIOEd_/mpdboot\nfile written: /tmp/eb-Dh1wOp/mpi_cmd_for-hIOEd_/nodes\n\ninstalling... [DRY RUN]\n\n[stage_install_step method]\n\n[make_installdir method]\n\n[install_step method]\n\ntaking care of extensions... [DRY RUN]\n\n[extensions_step method]\n\npostprocessing... [DRY RUN]\n\n[post_install_step method]\n\nsanity checking... [DRY RUN]\n\n[sanity_check_step method]\nSanity check paths - file ['files']\n  * WRFV3/main/ideal.exe\n  * WRFV3/main/libwrflib.a\n  * WRFV3/main/ndown.exe\n  * WRFV3/main/nup.exe\n  * WRFV3/main/real.exe\n  * WRFV3/main/tc.exe\n  * WRFV3/main/wrf.exe\nSanity check paths - (non-empty) directory ['dirs']\n  * WRFV3/main\n  * WRFV3/run\nSanity check commands\n  (none)\n\ncleaning up... [DRY RUN]\n\n[cleanup_step method]\n\ncreating module... [DRY RUN]\n\n[make_module_step method]\nGenerating module file /home/example/eb/modules/all/WRF/3.6.1-intel-2015a-dmpar, with contents:\n\n    #%Module\n    proc ModulesHelp { } {\n        puts stderr { The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale\n     numerical weather prediction system designed to serve both operational forecasting and atmospheric\n     research needs. - Homepage: http://www.wrf-model.org\n        }\n    }\n\n    module-whatis {Description: The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale\n     numerical weather prediction system designed to serve both operational forecasting and atmospheric\n     research needs. - Homepage: http://www.wrf-model.org}\n\n    set root /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar\n\n    conflict WRF\n\n    if { ![ is-loaded intel/2015a ] } {\n        module load intel/2015a\n    }\n\n    if { ![ is-loaded JasPer/1.900.1-intel-2015a ] } {\n        module load JasPer/1.900.1-intel-2015a\n    }\n\n    if { ![ is-loaded netCDF/4.3.2-intel-2015a ] } {\n        module load netCDF/4.3.2-intel-2015a\n    }\n\n    if { ![ is-loaded netCDF-Fortran/4.4.0-intel-2015a ] } {\n        module load netCDF-Fortran/4.4.0-intel-2015a\n    }\n\n    setenv  EBROOTWRF       \"$root\"\n    setenv  EBVERSIONWRF        \"3.6.1\"\n    setenv  EBDEVELWRF      \"$root/easybuild/WRF-3.6.1-intel-2015a-dmpar-easybuild-devel\"\n\n    setenv  NETCDF      \"$EBROOTNETCDF\"\n    setenv  NETCDFF     \"$EBROOTNETCDFMINFORTRAN\"\n    # Built with EasyBuild version 2.4.0\n\n\npermissions... [DRY RUN]\n\n[permissions_step method]\n\npackaging... [DRY RUN]\n\n[package_step method]\n\n== COMPLETED: Installation ended successfully\n\nImportant note: the actual build & install procedure that will be performed may diverge\n(slightly) from what is outlined above, due to conditions in the easyblock which are\nincorrectly handled in a dry run.\nAny errors that may occur are ignored and reported as warnings, on a per-step basis.\nPlease be aware of this, and only use the information above for quick debugging purposes.\n\n(no ignored errors during dry run)\n\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-Dh1wOp/easybuild-0bu9u9.log* have been removed.\n== Temporary directory /tmp/eb-Dh1wOp has been removed.\n
    "},{"location":"framework-overview/","title":"EasyBuild Framework Overview","text":""},{"location":"framework-overview/#package-structure","title":"Package Structure","text":"

    The easybuild-framework package provides the following easybuild.* Python packages:

    • easybuild.framework is the core of EasyBuild, which contains the machinery to build and install software by processing EasyConfigs and their EasyBlocks.

    • easybuild.tools is a toolbox of utilities used across the EasyBuild codebase (easybuild-framework and easybuild-easyblocks). Its functionality ranges from handling EasyBuild options and configuration, to file system operations, including the integration with GitHub, support for hooks, etc.

    • easybuild.toolchains contains all toolchain definitions.

    Overview of the package structure of EasyBuild framework (v4.7.1) \u2014 easybuild.framework shown in blue and easybuild.tools in orange:

    "},{"location":"framework-overview/#workflow_overview","title":"Workflow Overview","text":"

    The following diagram shows the main steps carried out by EasyBuild for a regular software installation with the eb command:

    stateDiagram-v2\n    easybuild.main --> tools\n    robot --> build_install\n    build_install --> easyblock\n\n    state \"easybuild.tools\" as tools{\n        [*] --> options\n        options --> parse_ec\n        process_ec --> robot\n\n        state \"easybuild.tools.options\n        \u2022 parsing of options\n        \u2022 set_up_configuration( )\" as options\n\n        state \"easybuild.tools.robot\n        \u2022 resolve_dependencies( )\" as robot\n    }\n\n    state \"build_and_install_software( )\" as build_install\n\n    state \"easybuild.framework.easyblock\" as easyblock{\n        [*] --> build_install_one\n        build_install_one --> get_easyblock\n        get_easyblock --> easyblock_class\n\n        state \"easybuild.framework.easyblock\n        \u2022 build_and_install_one( )\" as build_install_one\n\n        state \"class EasyBlock\n        \u2022 run_all_steps( )\" as easyblock_class\n    }\n\n    state \"easybuild.framework.easyconfig\" as easyconfig{\n        parse_ec --> process_ec\n\n        state \"easybuild.framework.easyconfig.tools\n        \u2022 parse_easyconfigs( )\" as parse_ec\n\n        state \"easybuild.framework.easyconfig.easyconfig\n        \u2022 process_easyconfig( )\" as process_ec\n\n        state \"easybuild.framework.easyconfig.easyconfig\n        \u2022 get_easyblock_class( )\" as get_easyblock\n    }\n

    The process starts by calling the set_up_configuration function, which takes care of configuration options passed to EasyBuild. Either through the command line, configuration files or in the environment.

    The scope of the EasyBuild execution is ultimately defined by the target easyconfig files given in the eb command. They will define the number of actions to carry out, such as software installations, fetching of sources or opening of PRs. Therefore, target easyconfig files are parsed early in the process, just after the runtime options have been resolved. The tooling to parse easyconfig files is located in a specific tools module in easybuild.framework.easyconfig.tools, while the EasyConfig class is found in easybuild.framework.easyconfig.easyconfig.

    Once the easyconfig files are properly parsed, a common action is to resolve the dependencies for those installations with the --robot option. This is handled in easybuild.tools.robot which provides methods to search easyconfig files, resolve dependencies, and check conflicts between software packages.

    The resolve_dependencies function returns an ordered list of all (parsed) easyconfigs that have to be installed to fulfill the dependency requirements of the requested installation (or throws an error if those dependencies cannot be fulfilled). EasyBuild will iterate over that list carrying out each installation in sequence.

    The installation procedure of each software package is defined by the easyblock attached to it. This means that EasyBuild creates an EasyBlock instance for each individual installation and determines the easyblock to use from the easyconfig file. Once the EasyBlock instance is created, EasyBuild will call its run_all_steps() method to execute the installation steps defined for that software.

    "},{"location":"framework-overview/#step_wise_install","title":"Step-wise Installation Procedure","text":"
    flowchart LR\n    subgraph source_phase [A. Setting up]\n        direction TB\n        parse[A1. Parse EasyConfig]\n        fetch[A2. Fetch sources]\n        check[A3. Check readiness]\n        unpack[A4. Unpack sources]\n        patch[A5. Apply patches]\n        parse --> fetch\n        fetch --> check\n        check --> unpack\n        unpack --> patch\n    end\n    subgraph build_phase [B. Installing]\n        direction TB\n        prepare[B1. Prepare build]\n        config[B2. Configure build]\n        build[B3. Compile/build]\n        test[B4. Test]\n        install[B5. Install]\n        prepare --> config\n        config --> build\n        build --> test\n        test --> install\n    end\n    subgraph ext_phase [Extensions]\n        ext_install[Extension Install]\n    end\n    subgraph clean_phase [C. Wrapping up]\n        direction TB\n        postinstall[C1. Post-Install]\n        sanity[C2. Sanity check]\n        clean[C3. Clean-up]\n        module[C4. Make Module]\n        perms[C5. Permissions]\n        package[C6. Package]\n        testcases[C7. Test Cases]\n        postinstall --> sanity\n        sanity --> clean\n        clean --> module\n        module --> perms\n        perms --> package\n        package --> testcases\n    end\n    source_phase --> build_phase\n    build_phase --> ext_phase\n    ext_phase --> clean_phase
    "},{"location":"framework-overview/#easyblock-class","title":"EasyBlock class","text":"

    The base EasyBlock class in easybuild.framework.easyblock is a skeleton class that cannot carry out any installation on its own, but that lays the ground for child classes to define custom installation procedures. This does not mean that the EasyBlock class is an empty shell though, it is actually one of the biggest classes in EasyBuild with 4000+ lines of code (v4.7.x). It provides methods for generic actions that are useful in most installations, independently of the installation method.

    Most of the steps in the initial Arrangement phase are already covered to some extent in the EasyBlock class, such as:

    • A2. Fetch sources: EasyBlock.fetch_sources, EasyBlock.fetch_patches, EasyBlock.obtain_file

    • A3. Check readiness: EasyBlock.make_buildir, EasyBlock.reset_env

    • A4. Unpack sources: EasyBlock.checksum_step, EasyBlock.extract_step

    Several steps in the last Cleaning phase are already covered by the base EasyBlock as well:

    • C1. Post-Install: EasyBlock.run_post_install_commands, EasyBlock.apply_post_install_patches, EasyBlock.fix_shebang

    • C2. Sanity check: EasyBlock.sanity_check_step, EasyBlock.sanity_check_load_module, EasyBlock.sanity_check_linked_shared_libs

    • C3. Clean-up: EasyBlock.cleanup_step

    • C4. Env. Module: EasyBlock.make_module_step

    • C5. Permissions: EasyBlock.permissions_step

    Therefore, custom easyblocks (child classes of EasyBlock) only need to define some of the steps in the Build and Install phase, the core of the workflow. Specifically, the configuration (B2), build (B3) and install (B4) steps are the only mandatory steps in custom easyblocks. Check the section Implementing EasyBlocks to start writing your own custom easyblocks.

    "},{"location":"framework-overview/#extension-and-extensioneasyblock-classes","title":"Extension and ExtensionEasyBlock classes","text":"

    The EasyBlock class has the machinery to trigger the installation of any extensions found in the easyconfig file. The method EasyBlock.run_all_steps always goes through EasyBlock.extensions_step which executes the installation of each extension instance in EasyBlock.ext_instances (if any).

    The installation process in the extension step starts in EasyBlock.install_extensions, which will determine the installation approach for the extensions (sequential or parallel based on given options/support) and call the Extension.run method of each extension instance. This run method is the one carrying out the actual installation of the extension and typically executes the install step of the parent EasyBlock with some extra actions before and/or after it. Nonetheless, custom easyblocks for extensions can fully redefine their run method.

    Warning

    In EasyBuild v5.0 the name of the Extension.run method will be changed to a more meaningful and less generic name.

    Framework also provides the ExtensionEasyBlock class which inherits from both EasyBlock and Extension. This class is useful for software that can be either installed standalone with their own easyconfig file or as an extension:

    • as extension: ExtensionEasyBlock uses the Extension class

    • stand-alone: ExtensionEasyBlock uses the EasyBlock class

    For instance, PythonPackage, RPackage or PerlModule are generic easyblocks commonly used to install standalone packages or extensions of packages that use other easyblocks. You will find many examples of both cases in our easyblock-easyconfigs repository.

    "},{"location":"framework-overview/#easyconfig-class","title":"EasyConfig class","text":"

    The EasyConfig class handles parsing and validating of easyconfig files. As such, EasyConfig is independent from EasyBlock and it is actually needed to determine the easyblock used in the installation of the target software package.

    Once the target easyconfig file is read and all its parameters are validated, they will be accessible through different attributes and methods of the EasyConfig object. The main examples are:

    • EasyConfig.name returns the name of the package

    • EasyConfig.version returns the version of the package

    • EasyConfig.toolchain returns the toolchain used by the package

    • EasyConfig.dependencies() returns the list of dependencies

    Note

    The EasyConfig instance is also accessible from the corresponding EasyBlock instance through its EasyBlock.cfg attribute.

    "},{"location":"framework-overview/#easystack-class","title":"EasyStack class","text":"

    Warning

    EasyStacks are an experimental feature in active development.

    The machinery for EasyStacks is located in the easybuild.framework.easystack module. It contains:

    • EasyStackParser: class to parse the easystack files in YAML format

    • SoftwareSpecs: attribute class with the specs of each software package in the easystack

    • EasyStack: collection of SoftwareSpecs in the easystack

    "},{"location":"framework-overview/#toolchain-mechanism","title":"Toolchain mechanism","text":"

    A toolchain in EasyBuild is much more than just a bundle of libraries and compilers to build and run software in a consistent environment. Toolchains are defined by their own classes built on top of the Toolchain class.

    The base Toolchain class is defined in easybuild.tools.toolchain.toolchain. It does not only provide the attributes defining the toolchain (i.e. name and version) but also provides methods to setup the build environment with that toolchain :

    • set the environment of the toolchain: Toolchain.prepare

      • validate dependencies for the toolchain: Toolchain._check_dependencies

      • load modules of the toolchain: Toolchain._load_modules

      • set environment variables (e.g. $CC, $CFLAGS): Toolchain._setenv_variables

      • handle build options: Toolchain.prepare_rpath_wrappers, Toolchain.prepare_compiler_cache, Toolchain.handle_sysroot

    Hence, the base Toolchain class provides the skeleton to further develop custom toolchain definitions through child classes. EasyBuild already provides many toolchains definitions that cover common and not-so-common combinations of compilers, numeric libraries and MPI implementations. All toolchain definitions are found in the easybuild.toolchains package of the EasyBuild framework.

    Toolchains are modular. Each toolchain component (i.e compiler, numerical library, MPI implementation) is defined by its own child class or by multiple ones. These components are combined in sub-toolchains (e.g. the gompi toolchain) which can then be re-combined with other components in bigger toolchains (e.g. the foss toolchain). Therefore, the resulting options of the toolchain, its attributes and methods will be the combined result of all inherited class components.

    flowchart\n    toolchain --> compiler & mpi & linalg & fft\n    subgraph \"Compiler\"\n        compiler --> gcc --> gcccore --> gcctoolchain \n    end\n    subgraph \"MPI Implementation\"\n        mpi --> ompi \n    end\n    gcctoolchain & ompi --> gompi --> foss\n    subgraph \"Fast-Fourier Libraries\"\n        fft --> fftw \n    end\n    fftw --> foss\n    subgraph \"Linear Algebra Libraries\"\n        linalg --> oblas & fblas\n        linalg --> blacs --> scalapack\n    end\n    oblas & fblas & scalapack --> foss\n    toolchain(\"class Toolchain\n    eb.tools.toolchain.toolchain\")\n    compiler(\"class Compiler\n    eb.tools.toolchain.compiler\")\n    gcc(\"class Gcc\n    eb.toolchains.compiler.gcc\")\n    gcccore(\"class GccCore\n    eb.toolchains.gcccore\")\n    gcctoolchain(\"class GccToolchain\n    eb.toolchains.gcc\")\n    mpi(\"class Mpi\n    eb.tools.toolchain.mpi\")\n    ompi(\"class OpenMPI\n    eb.toolchains.mpi.openmpi\")\n    gompi(\"class Gompi\n    eb.toolchains.gompi\")\n    fft(\"class Fft\n    eb.tools.toolchain.fft\")\n    fftw(\"class Fftw\n    eb.toolchains.fft.fftw\")\n    linalg(\"class LinAlg\n    eb.tools.toolchain.linalg\")\n    oblas(\"class OpenBLAS\n    eb.toolchains.linalg.openblas\")\n    fblas(\"class FlexiBLAS\n    eb.toolchains.linalg.flexiblas\")\n    blacs(\"class Blacs\n    eb.toolchains.linalg.blacs\")\n    scalapack(\"class ScaLAPACK\n    eb.toolchains.linalg.scalapack\")\n    foss(\"class Foss\n    eb.toolchains.foss\")
    "},{"location":"framework-overview/#easybuild-configuration-options","title":"EasyBuild configuration options","text":"

    Configuration options in EasyBuild can come from multiple sources:

    • command line arguments to the eb command
    • environment variables
    • settings in configuration files
    • settings in easyconfig files

    Tip

    Check the Configuring EasyBuild for details on how to use the different configuration mechanisms.

    All configuration options in EasyBuild are defined in easybuild.tools.options. The EasyBuildOptions class gathers all options, including the name of the argument and its help string.

    The easybuild.tools.options module also handles the parsing of options through its set_up_configuration() method, which is called in the very early stages of the eb execution. The main step is parse_options() to read and validate the command line itself.

    Once all options are parsed, those options listed in easybuild.tools.config will be gathered in a singleton BuildOptions class. This class is the centralized location of configuration options for the current EasyBuild session. The method build_option() in easybuild.tools.config provides a simple interface to it:

    if build_option('ignore_test_failure'):\n    print_warning(\"Test failure ignored\")\nelse:\n    raise EasyBuildError(\"Test failure\")\n

    Therefore, adding a new option to eb and making that options available through build_option() is a two step process. First the option has to be added to EasyBuildOptions in easybuild.tools.options and then also listed in easybuild.tools.config. As an example, you can check easybuild-framework#4226 which is a PR adding the download_timeout option to EasyBuild.

    "},{"location":"framework-overview/#features-in-easybuildtools","title":"Features in easybuild.tools","text":""},{"location":"framework-overview/#environment-modules","title":"Environment modules","text":""},{"location":"framework-overview/#interface","title":"Interface","text":"

    easybuild.tools.modules provides the interface to the different environment module tools supported in EasyBuild. The ModulesTool class is an abstraction layer to interact with the environment modules in the host system.

    Additionally, easybuild.tools.modules also provides methods to retrieve information about loaded software in the EasyBuild environment, such as get_software_root() or get_software_version(), which are extensively used in easyblocks.

    "},{"location":"framework-overview/#naming-scheme","title":"Naming scheme","text":"

    easybuild.tools.module_naming_scheme contains the definitions of the module naming schemes (MNS) supported in EasyBuild. You will find in it one module per MNS. The structure of the naming scheme is defined in corresponding classes based on ModuleNamingScheme.

    "},{"location":"framework-overview/#module-generator","title":"Module generator","text":"

    easybuild.tools.module_generator is the engine used by EasyBuild to write module files. It provides the ModuleGeneratorLua and ModuleGeneratorTcl classes for each of the supported module file formats. The module generator is mainly used in the make module step of the installation process.

    "},{"location":"framework-overview/#host-system","title":"Host system","text":""},{"location":"framework-overview/#system-information","title":"System information","text":"

    easybuild.tools.systemtools provides a toolset to check multiple aspects of the underlying operative system, such as CPU specs, amount of memory, OS characteristics and system libraries.

    "},{"location":"framework-overview/#environment","title":"Environment","text":"

    easybuild.tools.environment provides an interface to access and modify the environment in the host system.

    "},{"location":"framework-overview/#file-system","title":"File system","text":"

    easybuild.tools.filetools provides multiple methods to interact with the underlying file system in the host. This abstraction layer sits on top of lower interfaces provided by the standard Python library.

    "},{"location":"framework-overview/#job-schedulers","title":"Job schedulers","text":"

    easybuild.tools.job contains the interfaces to the different job schedulers supported in EasyBuild.

    "},{"location":"framework-overview/#containers","title":"Containers","text":"

    easybuild.tools.containers contains the interfaces to the different container systems supported in EasyBuild.

    "},{"location":"framework-overview/#github-integration","title":"GitHub integration","text":"

    easybuild.tools.github provides the interface to remote repositories in GitHub. It allows to fetch easyconfig files from PRs, open new PRs, upload test reports and several other maintainer actions on PRs.

    "},{"location":"framework-overview/#hooks","title":"Hooks","text":"

    easybuild.tools.hooks contains the definition of all accessible hooks in EasyBuild. The actual call to the hooks defined by the user are spread across the steps of the installation process. Hence, this module is only interesting if you want to add or modify the available hooks.

    "},{"location":"framework-overview/#contributing-to-framework","title":"Contributing to Framework","text":""},{"location":"framework-overview/#reporting-issues-and-bugs","title":"Reporting issues and bugs","text":"

    Reporting issues and bugs to easybuild-framework is no different than to any other bug tracker. You should provide as many information as needed to allow the developers to reproduce your issue/bug, including:

    1. a description of what you are trying to do
    2. a description of the steps to reproduce the problem
    3. EasyBuild configuration and host system information
    4. custom easyblock or easyconfig files
    5. full error messages and tracebacks

    In the case of EasyBuild, the main complication to report issues and bugs might be to determine if the issue/bug at hand does actually originate in easybuild-framework or if instead it belongs in easybuild-easyblocks or easybuild-easyconfigs. It is not uncommon that the traceback of bugs in easyblocks or easyconfigs reach the codebase in easybuild.framework or easybuild.tools.

    Nevertheless, do not worry too much if you cannot determine which repository to target with your issue/bug. In case of doubt, easybuild-framework is the best bet in general and maintainers can move issues between EasyBuild repositories if needed.

    "},{"location":"framework-overview/#pull-requests","title":"Pull requests","text":"

    Contributing bug fixes or new features to easybuild-framework is always welcomed. However, keep in mind that due to the broader scope of the source code in framework, making contributions might be a bit more complicated than for easyblocks and easyconfigs:

    • EasyBuild does not currently provide integration in the eb command to make contributions to the easybuild-framework repository. Therefore, as contributor, you have to manually fork easybuild-framework and open the pull request from your fork. The GitHub documentation contains a detailed description on how to create PRs from forks.

    • We recommend to link all new PRs in easybuild-framework to a corresponding issue in the issue tracker. Splitting the issue from the PR helps focus the activity in the PR to the changes in the source code and keep it separate from the discussion about the underlying problem.

    • The source code of easybuild-framework must be covered by the unit tests in test.framework and all tests must pass. You can run the unit tests in EasyBuild on your computer to check their results before opening the PR to our repository. In general, this requirement on unit tests has the following implications depending on the type of changes introduced in your PR:

      • Bug fix: the presence of a bug means that either that part of the codebase is currently uncovered by the tests or that it is already covered but tests are also buggy.

      • New feature: new unit tests have to be added covering the new feature.

      Therefore, in (almost) all cases, new PRs to framework have to also include related changes in unit tests. The suite of unit tests in framework is already very extensive and you will find all tests organized per module in the test/framework directory.

      If you are not familiar with writing tests in Python, you can find all the details in the unittest documentation. We also recommend the guide Getting Started With Testing in Python as a more comprehensive alternative.

    "},{"location":"getting-help/","title":"Getting help","text":"

    Having trouble with EasyBuild? The EasyBuild community would like to help!

    • Search this documentation using the search box on top;
    • Search for information in the archives of the EasyBuild mailing list;
    • Subscribe to the EasyBuild mailing list easybuild@lists.ugent.be to post a question;
    • Check the output of eb --help;
    • Ask a question in the EasyBuild Slack channel;
    • Consider participating in an EasyBuild conference call;
    • Ask a question or report a problem:
      • for EasyBuild framework in the easybuilders/easybuild-framework GitHub repository
      • for easyblocks in the easybuilders/easybuild-easyblocks GitHub repository
      • for easyconfigs in the easybuilders/easybuild-easyconfigs GitHub repository
      • for EasyBuild in general in the easybuilders/easybuild GitHub repository
      • for the EasyBuild documentation in the easybuilders/easybuild-docs GitHub repository
    "},{"location":"hooks/","title":"Hooks","text":"

    Since v3.5.0, EasyBuild supports hooks that can be used to customise the behaviour of EasyBuild according to site policies if needed, without having to change the EasyBuild framework or the existing easyblocks.

    "},{"location":"hooks/#what-are-hooks","title":"What are hooks?","text":"

    Hooks are user-defined functions that are called by the EasyBuild framework at specific times during the installation procedure. They can be leveraged to alter or augment the installation procedure.

    This is usually done to conform with site-specific policies that are difficult to enforce otherwise, but it can also be (ab)used to fix specific problems or inject self-implemented enhancements (before you flesh them out in a proper contribution, for example).

    Both the EasyBlock instance and the parsed easyconfig file that are being used are fully accessible (and modifiable) from within hook implementations. Hence, this mechanism provides a lot of flexibility to change the EasyBuild functionality should you require it, without having to modify the codebase of EasyBuild itself.

    "},{"location":"hooks/#configuring-easybuild-to-use-your-hook-implementations","title":"Configuring EasyBuild to use your hook implementations","text":"

    To instruct EasyBuild to use your hook implementations, you only need to specify the location of the Python module (*.py) that implements them.

    This is done via the --hooks configuration option (or equivalently via the $EASYBUILD_HOOKS environment variable, or via hooks = ... in an EasyBuild configuration file, see also Configuring EasyBuild).

    For example:

    eb --hooks=$HOME/my_eb_hooks.py ...\n

    or:

    export EASYBUILD_HOOKS=$HOME/my_eb_hooks.py\neb ...\n
    "},{"location":"hooks/#available-hooks","title":"Available hooks","text":"

    Currently (since EasyBuild v3.7.0), three types of hooks are supported:

    • start_hook and end_hook, which are triggered once before starting software installations, and once right after completing all installations, respectively
    • parse_hook, which is triggered when an easyconfig file is being parsed
    • module_write_hook, which is triggered right before a module file is written. This includes the temporary module file used when installing extensions and during the sanity check, as well as the devel module.
    • \"step\" hooks that are triggered before and after every step of each installation procedure that is performed, also aptly named 'pre'- and 'post'-hooks

    The list of currently available hooks in order of execution, which can also be consulted using eb --avail-hooks, is:

    • start_hook (only called once in an EasyBuild session)
    • parse_hook (available since EasyBuild v3.7.0)
    • pre_fetch_hook, post_fetch_hook
    • pre_ready_hook, post_ready_hook
    • pre_source_hook, post_source_hook
    • pre_patch_hook, post_patch_hook
    • pre_prepare_hook, post_prepare_hook
    • pre_configure_hook, post_configure_hook
    • pre_build_hook, post_build_hook
    • pre_test_hook, post_test_hook
    • pre_install_hook, post_install_hook
    • pre_extensions_hook, post_extensions_hook
    • pre_postproc_hook, post_postproc_hook
    • pre_sanitycheck_hook, post_sanitycheck_hook
    • pre_cleanup_hook, post_cleanup_hook
    • pre_module_hook, post_module_hook
    • pre_permissions_hook, post_permissions_hook
    • pre_package_hook, post_package_hook
    • pre_testcases_hook, post_testcases_hook
    • end_hook (only called once in an EasyBuild session)
    • module_write_hook (called multiple times per installation, available since EasyBuild v4.4.1)

    All functions implemented in the provided Python module for which the name ends with _hook are considered.

    If any *_hook functions are encountered that do not match any of the available hooks, an error is reported. EasyBuild will try to provide suggestions for available hooks that closely match the encountered unknown hook.

    For example:

    $ eb --hooks wrong_hooks.py example.eb\n== temporary log file in case of crash /tmp/eb-nMawy1/easybuild-Gu2ZP6.log\nERROR: Found one or more unknown hooks:\n* stat_hook (did you mean 'start_hook'?)\n* this_is_not_a_hook\n* install_hook (did you mean 'pre_install_hook', or 'post_install_hook'?)\n\nRun 'eb --avail-hooks' to get an overview of known hooks\n
    "},{"location":"hooks/#implementing-hooks","title":"Implementing hooks","text":"

    To implement hooks, simply define one or more functions in a Python module (*.py), each named after an available hook.

    Do take into account the following:

    • for start_hook and end_hook, no arguments are provided
    • for parse_hook, one argument is provided: the EasyConfig instance that corresponds to the easyconfig file being parsed (usually referred to as ec)
    • for module_write_hook, 3 arguments are provided:
    • the EasyBlock instance used to perform the installation (usually referred to as self)
    • the filepath of the module that will be written
    • the module text as a string The return value of this hook, when set, will replace the original text that is then written to the module file.
    • for the step hooks, one argument is provided: the EasyBlock instance used to perform the installation (usually referred to as self)
    • the parsed easyconfig file can be accessed in the step hooks via the EasyBlock instance, i.e., via self.cfg

    It is recommended to anticipate possible changes in the provided (named) arguments, using the *args and **kwargs mechanism commonly used in Python. This avoids that your hook implementations may break when updating to future EasyBuild versions. For example:

    # example pre-configure hook that anticipates changes in provided arguments\ndef pre_configure_hook(self, *args, **kwargs):\n    ...\n

    In hooks you have access to the full functionality provided by the EasyBuild framework, so do import from easybuild.tools.* (or other easybuild.* namespaces) to leverage those functions.

    "},{"location":"hooks/#parse-hook-specifics","title":"Parse hook specifics","text":"

    parse_hook is triggered right after reading the easyconfig file, before further parsing of some easyconfig parameters (like *dependencies) into custom data structures is done.

    This is important since it allows to dynamically modify easyconfig files while they are still \"raw\", i.e. when the easyconfig parameter values are still basic Python data structures like lists, dictionaries, etc. that are easy to manipulate (see also Manipulating easyconfig parameters).

    In parse_hook easyconfig parameters can be accessed and/or modified in a straightforward way, see Example hook to inject a custom patch file.

    "},{"location":"hooks/#caveats","title":"Caveats","text":"

    Due to internal details of the EasyBuild framework, you may run into some surprises when implementing hooks. Here are some things to take into account:

    "},{"location":"hooks/#resolving-of-template-values","title":"Resolving of template values","text":"

    In all step hooks, template values in easyconfig parameters will be resolved whenever they are accessed.

    That is, if the %(version) template is used in for example the sources easyconfig parameter, it will be replaced with the actual value of the version easyconfig parameter whenever the sources value is used. This can be avoided by temporarily disabling templating by wrapping the code in with self.cfg.disable_templating:.

    There is one notable exception to this: Templates in easyconfig parameters are not resolved in parse_hook, because templating has been disabled explicitly before parse_hook is called; this helps significantly to simplify manipulating of easyconfig parameter values (see also Manipulating easyconfig parameters).

    "},{"location":"hooks/#manipulating-easyconfig-parameters","title":"Manipulating easyconfig parameters","text":"

    You may run into surprises when trying to manipulate easyconfig parameters, for various reasons.

    First of all, the original easyconfig parameters may already be processed in another data structure which does not resemble the original format in which the parameter was defined in the easyconfig file.

    Moreover, this processing could be done either \"in place\" by replacing the original easyconfig parameter value, or in a separate variable, which effectively means that any changes to the original easyconfig parameter value are simply ignored.

    In addition, because of how the templating mechanism for easyconfig parameter works, changes to easyconfig parameters with non-string values (i.e. lists, dictionaries, etc.) will go up in smoke if not done correctly.

    More specifically, the following approach will not work in any of the (step) hooks, except for parse_hook:

    def pre_fetch_hook(self):\n     \"Example of pre-fetch hook to manipulate list of patches.\"\n     # this does NOT have the intended affect in any pre- or post-step hook\n     self.cfg['patches'].append('example.patch')\n

    The problem here is that the value obtained via self.cfg['patches'] is not a reference to the actual easyconfig parameter value but a reference to a temporary copy thereof; hence any updates on the copy are effectively lost immediately.

    To achieve the intended effect, you can either:

    • temporarily disable the templating mechanism:

      def pre_fetch_hook(self):\n    \"Example of pre-fetch hook to manipulate list of patches.\"\n    # temporarily disable templating, so changes to 'patches' easyconfig parameter are picked up\n    with self.cfg.disable_templating:\n        # add patch\n        self.cfg['patches'].append('example.patch')\n    # templating state restored\n
    • or replace the original value entirely:

      def pre_fetch_hook(self):\n    \"Example of pre-fetch hook to manipulate list of patches.\"\n    self.cfg['patches'] = self.cfg['patches'] + ['example.patch']\n

    A better approach for manipulating easyconfig parameters is to use the parse_hook that was introduced in EasyBuild v3.7.0 (see Parse hook specifics), where these kind of surprises will not occur (because templating is automatically disabled before parse_hook is called and restored immediately afterwards). See also Example hook to inject a custom patch file.

    "},{"location":"hooks/#archived-easyconfig-file-vs-hooks","title":"Archived easyconfig file vs hooks","text":"

    EasyBuild archives the easyconfig file that was used for a particular installation: A copy is stored both in the easybuild subdirectory of the software installation directory and in the easyconfigs repository (see Easyconfigs repository).

    If any changes were made to the easyconfig file via hooks, these changes will not be reflected in these copies. The assumption here is that the hooks will also be in place for future (re-)installations.

    EasyBuild does however store an additional copy of the easyconfig file which includes any modifications that were done dynamically, for example by hooks. If subtoolchains were used to resolve dependencies, they will also be hardwired in this copy.

    This \"reproducible easyconfig\" is stored in the easybuild/reprod subdirectory of the software installation directory.

    "},{"location":"hooks/#examples-of-hook-implementations","title":"Examples of hook implementations","text":""},{"location":"hooks/#replace-with-verbs-with-without-verbs-in-openmpi-configure-options","title":"Replace --with-verbs with --without-verbs in OpenMPI configure options","text":"
    def pre_configure_hook(self, *args, **kwargs):\n\"\"\"Example pre-configure hook to replace --with-verbs with --without -verbs for OpenMPI.\"\"\"\n    if self.name == 'OpenMPI' and '--with-verbs' in self.cfg['configopts']:\n        self.log.info(\"[pre-configure hook] Replacing --with-verbs with --without-verbs\")\n        self.cfg['configopts'] = self.cfg['configopts'].replace('--with-verbs', '--without-verbs')\n
    "},{"location":"hooks/#inject-a-custom-patch-file","title":"Inject a custom patch file","text":"
    def parse_hook(ec, *args, **kwargs):\n\"\"\"Example parse hook to inject a patch file for a fictive software package named 'Example'.\"\"\"\n    if ec.name == 'Example':\n        patch_file = 'example.patch'\n        ec.log.info(\"[parse hook] Injecting additional patch file '%s'\", patch_file)\n        ec['patches'].append(patch_file)\n
    "},{"location":"hooks/#replace-pythonpath-by-ebpythonprefixes-in-lua-modules","title":"Replace PYTHONPATH by EBPYTHONPREFIXES in (Lua) modules","text":"
    def module_write_hook(self, filepath, module_txt, *args, **kwargs):\n    # note: if `self.mod_filepath == filepath` => final module file\n    if 'Python' in (dep['name'] for dep in self.cfg.dependencies()):\n        search = r'prepend_path\\(\"PYTHONPATH\", pathJoin\\(root, \"lib/python\\d.\\d/site-packages\"\\)\\)'\n        replace = 'prepend_path(\"EBPYTHONPREFIXES\", root)'\n        return re.sub(search, replace, module_txt)\n
    "},{"location":"implementing-easyblocks/","title":"Implementing easyblocks","text":"

    This documentation covers aspects of implementing easyblocks and how to use them. For a concise definition of easyblocks, see Easyblocks.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_basics","title":"The basics","text":"

    An easyblock is a Python module that implements a software build and installation procedure.

    This concept is essentially implemented as a Python script that plugs into the EasyBuild framework.

    EasyBuild will leverage easyblocks as needed, depending on which software packages it needs to install. Which easyblock is required is determined by the easyblock easyconfig parameter, if it is present, or the software name (see Generic vs software-specific easyblocks).

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_generic_vs_software_specific","title":"Generic vs software-specific easyblocks","text":"

    Easyblocks can either be generic or software-specific.

    Generic easyblocks implement a 'standard' software build and installation procedure that is used by multiple different software packages. A commonly used example is the ConfigureMake generic easyblock, which implements the standard configure - make - make install installation procedure used by most GNU software packages.

    Software-specific easyblocks implement the build and installation procedure for a particular software package (see also Module name/location). Typically this involves highly customised substeps, for example specifying dedicated configuration options, creating or adjusting specific files, executing non-standard shell commands, etc. Usually a custom implementation of the sanity check is also included.

    Since EasyBuild v2.0, using a generic easyblock requires specifying the easyblock parameter in the easyconfig file. If it is not specified, EasyBuild will try and find the software-specific easyblock derived from the software name.

    The distinction between generic and software-specific easyblocks can be made based on the naming scheme that is used for an easyblock (see also Naming scheme for easyblocks).

    See also .

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_vs_easyconfigs","title":"Easyblocks vs easyconfigs","text":"

    Before you start implementing an easyblock, you should determine whether or not you really need an easyblock.

    Easyconfig files provide quite a bit of flexibility that alleviate the need for implementing many (software-specific) easyblocks. Examples include easyconfig parameters like (pre){config,build,installopts} (available for any easyblock), install_cmd (only for Binary generic easyblock or derivates), etc. See Writing easyconfig files: the basics for an overview of what is supported in easyconfig files, and for custom easyconfig parameters for the existing generic easyblocks (see also 'eb -e <easyblock> -a').

    On the other hand, somewhat complex or heavily customised software build and installation procedures may be handled better via a custom easyblock.

    Easyblocks are \"do once and forget\", and can provide a central solution for peculiarities of installations. Since they are basically Python scripts, they are very flexible and can take care of the 'heavy lifting' that goes beyond the key-value defining scope of easyconfig files.

    Hence, there is a fine line between using 'fat' easyconfigs with a generic easyblock and using a custom software-specific easyblock.

    Reasons to consider implementing a custom easyblock include:

    • 'critical' values for easyconfig parameters, which are required to make the installation succeed
    • compiler- or toolchain-specific aspects of the build and installation procedure (e.g., configure/build/install options)
    • interactive commands that need to be run
    • custom (configure) options for dependencies
    • having to create or adjust specific (configuration) files
    • 'hackish' usage of existing (generic) easyblocks and available easyconfig parameters

    One important aspect to consider of course is that implementing easyblocks requires some familiarity with Python, while easyconfig files can mostly be seen as a set of pure key-value definitions and hence are easier to create or update.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_naming_scheme","title":"Naming scheme for easyblocks","text":"

    Easyblocks need to follow a strict naming scheme, to ensure that EasyBuild can pick them up as needed. This involves two aspects: i) the name of the Python class, and ii) the name and location of the Python module file.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_naming_scheme_class_name_specific","title":"Class name for software-specific easyblocks","text":"

    The name of the Python class is determined by the software name for software-specific easyblocks. It consists of a prefix 'EB_', followed by the (original) software name.

    Because of limitations in Python on characters allowed in names of Python classes, only alphanumeric characters and _ are allowed. Any other characters are replaced following an encoding scheme:

    • spaces are replaced by underscores (_)
    • dashes - are replaced by _minus_
    • underscores are replaced by _underscore_
    • etc.

    The encode_class_name function provided in easybuild.tools.filetools returns the expected class name for a given software name; for example:

    >>> from easybuild.tools.filetools import encode_class_name\n>>> encode_class_name('netCDF-Fortran')\n'EB_netCDF_minus_Fortran'\n
    "},{"location":"implementing-easyblocks/#implementing_easyblocks_naming_scheme_class_name_generic","title":"Class name for generic easyblocks","text":"

    For generic easyblocks, the class name does not include an EB_ prefix (since there is no need for an escaping mechanism) and hence the name is fully free to choose, taking into account the restriction to alphanumeric characters and underscores.

    For code style reasons, the class name should start with a capital letter.

    Examples include Bundle, ConfigureMake, CMakePythonPackage.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_naming_scheme_module","title":"Module name/location","text":"

    The name of the Python module file is directly related to the name of Python class (i.e., the actual easyblock) that it provides.

    It should:

    • not include the EB_ prefix of the class name for software-specific easyblocks
    • consists only of lower-case alphanumeric characters ([a-z0-9]) and underscores (_)
      • dashes (-) are replaced by underscores (_)
      • any other non-alphanumeric characters (incl. spaces) are simply dropped

    Examples include:

    • gcc.py (for GCC)
    • netcdf_fortran.py (for netCDF-Fortran)
    • gamess_us.py (for GAMESS (US))

    The get_module_path function provided in easybuild.framework.easyconfig.easyconfig returns the (full) module location for a particular software name or easyblock class name; for example:

    >>> from easybuild.framework.easyconfig.easyconfig import get_module_path\n>>> get_module_path('netCDF-Fortran')\n'easybuild.easyblocks.netcdf_fortran'\n>>> get_module_path('EB_netCDF_minus_Fortran')\n'easybuild.easyblocks.netcdf_fortran'\n

    The location of the Python module is determined by whether the easyblock is generic or software-specific. Generic easyblocks are located in the easybuid.easyblocks.generic namespace, while software-specific easyblocks live in the easybuild.easyblocks namespace directly. To keep things organised, the actual Python module file for software-specific easyblocks are kept in 'letter' subdirectories, rather than in one large 'easyblocks' directory (see https://github.com/easybuilders/easybuild-easyblocks/blob/main/easybuild/easyblocks/).

    Note that you shouldn't concern yourself too much with getting the location of an easyblock right, as long as you use --include-easyblocks to make EasyBuild use additional or customised easyblocks (see Including additional easyblocks (--include-easyblocks) for more information).

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_structure","title":"Structure of an easyblock","text":"

    The example below shows the overall structure of an easyblock:

    from easybuild.framework.easyblock import EasyBlock\nfrom easybuild.tools.run import run_cmd\n\nclass EB_Example(EasyBlock):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def configure_step(self):\n\"\"\"Custom implementation of configure step for Example\"\"\"\n\n        # run configure.sh to configure the build\n        run_cmd(\"./configure.sh --install-prefix=%s\" % self.installdir)\n

    Each easyblock includes an implementation of a class that (directly or indirectly) derives from the abstract EasyBlock class.

    Typically some useful functions provided by the EasyBuild framework are imported at the top of the Python module.

    In the class definition, one or more '*_step' methods are redefined, to implement the corresponding step in the build and installation procedure.

    Each easyblock must implement the configure, build and install steps, since these are not implemented in the abstract EasyBlock class. This could be done explicitly by redefining the corresponding *_step methods, or implicitly by deriving from existing (generic) easyblocks.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_deriving","title":"Deriving from existing (generic) easyblocks","text":"

    When implementing an easyblock, it is common to derive from an existing (usually generic) easyblock, and to leverage the functionality provided by it. This approach is typically used when only a specific part of the build and installation procedure needs to be customised.

    In the (fictitious) example below, we derive from the generic ConfigureMake easyblock to redefine the configure step. In this case, we are extending the configure step as implemented by ConfigureMake rather than redefining it entirely, since we call out to the original configure_step method at the end.

    from easybuild.easyblocks.generic.configuremake import ConfigureMake\nfrom easybuild.tools.filetools import copy_file\n\nclass EB_Example(ConfigureMake):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def configure_step(self):\n\"\"\"Custom implementation of configure step for Example\"\"\"\n\n        # use example make.cfg for x86-64\n        copy_file('make.cfg.x86', 'make.cfg')\n\n        # call out to original configure_step implementation of ConfigureMake easyblock\n        super(EB_Example, self).configure_step()\n
    "},{"location":"implementing-easyblocks/#implementing_easyblocks_specifics","title":"Specific aspects of easyblocks","text":""},{"location":"implementing-easyblocks/#implementing_easyblocks_default_parameters","title":"Default easyconfig parameters","text":"

    All of the parameters which are \"set\" in an easyconfig file (see Available easyconfig parameters) become key-value pairs in the self.cfg dictionary. For instance, if the easyconfig file specifies

    name = 'example'\nversion = '2.5.3'\nversionsuffix = '-Python-3.7.4'\n

    then these three parameters are accessible within an easyblock via

    longform = ''.join(self.cfg['name'],'/',self.cfg['version'],self.cfg['versionsuffix'])\n

    You can use this notation successfully in your easyblock. A few of the most commonly used parameters can be referenced directly,

    • self.name = self.cfg['name']
    • self.version = self.cfg['version']
    • self.toolchain = self.cfg['toolchain']
    • self.all_dependencies: combines builddependencies, dependencies, and toolchain, in one dictionary

    So in your easyblock code, you may replace the above expression with

    longform = ''.join(self.name,'/',self.version,self.cfg['versionsuffix'])\n

    The other easyconfig parameters, and any additional custom parameters which you define for your own easyblock, will not be automatically mapped. You will need to use self.cfg to access them in your code.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_custom_parameters","title":"Custom easyconfig parameters","text":"

    In an easyblock, additional custom easyconfig parameters can be defined to steer the behaviour of the easyblock. This is done via the extra_options static method. Custom parameters can be defined to be mandatory or optional.

    The example below shows how this can be implemented:

    from easybuild.easyblocks.generic.configuremake import ConfigureMake\nfrom easybuild.framework.easyconfig import CUSTOM, MANDATORY\n\nclass EB_Example(ConfigureMake):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    @staticmethod\n    def extra_options():\n\"\"\"Custom easyconfig parameters for Example\"\"\"\n        extra_vars = {\n            'required_example_param': [None, \"Help text for required example custom parameter\", MANDATORY],\n            'optional_example_param': [None, \"Help text for (optional) example custom parameter\", CUSTOM],\n        }\n        return ConfigureMake.extra_options(extra_vars)\n

    The first element in the list of a defined custom parameter corresponds to the default value for that parameter (both None in the example above). The second element provides some informative help text, and the last element indicates whether the parameter is mandatory (MANDATORY) or just a custom parameter (CUSTOM).

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_constructor","title":"Easyblock constructor","text":"

    In the class constructor of the easyblock, i.e. the __init__ method, one or more class variables can be initialised. These can be used for sharing information between different *_step methods in the easyblock.

    For example:

    from easybuild.framework.easyblock import EasyBlock\n\nclass EB_Example(EasyBlock):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def __init__(self, *args, **kwargs):\n\"\"\"Constructor for Example easyblock, initialises class variables.\"\"\"\n\n        # call out to original constructor first, so 'self' (i.e. the class instance) is initialised\n        super(EB_Example, self).__init__(*args, **kwargs)\n\n        # initialise class variables\n        self.var1 = None\n        self.var2 = None\n
    "},{"location":"implementing-easyblocks/#implementing_easyblocks_files","title":"Reading/writing/copying/patching files","text":"

    File manipulation is a common use case for implementing easyblocks, hence the EasyBuild framework provides a number of useful functions related to this, including:

    • read_file(<path>): read file at a specified location and returns its contents
    • write_file(<path>, <text>) at a specified location with provided contents; to append to an existing file, use append=True as an extra argument
    • copy_file(<src>, <dest>) to copy an existing file
    • apply_regex_substitutions(<path>, <list of regex substitutions>) to patch an existing file

    All of these functions are provided by the easybuild.tools.filetools module.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_commands","title":"Executing (interactive) shell commands","text":"

    For executing shell commands two functions are provided by the easybuild.tools.run module:

    • run_cmd(<cmd>) to run a non-interactive shell command
    • run_cmd_qa(<cmd>, <dict with questions & answers>) to run an interactive shell command

    Both of these accept a number of optional arguments:

    • simple=True to just return True or False to indicate a successful execution, rather than the default return value, i.e., a tuple that provides the command output and the exit code (in that order)
    • path=<path> to run the command in a specific subdirectory

    The run_cmd_qa function takes two additional specific arguments:

    • no_qa=<list> to specify a list of patterns to recognize non-questions
    • std_qa=<dict> to specify patterns for common questions and the matching answer
    "},{"location":"implementing-easyblocks/#implementing_easyblocks_environment","title":"Manipulating the environment","text":"

    To (re)define environment variables, the setvar function provided by the easybuild.tools.environment module should be used.

    This makes sure that the changes being made to the specified environment variable are kept track of, and that they are handled correctly under --extended-dry-run.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_logging","title":"Log statements","text":"

    It is good practice to include meaningful log messages in the *_step methods being customised in the easyblock, to enrich the build log with useful information for later debugging or diagnostics.

    For logging, the provided self.log logger class should be used, i.e. the self.log.info or self.log.debug methods should be called.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_sanity_check","title":"Custom (default) sanity check","text":"

    For software-specific easyblocks, a custom sanity check is usually included to verify that the installation was successful or not.

    This is done by redefining the sanity_check_step method in the easyblock. For example:

    from easybuild.framework.easyblock import EasyBlock\n\nclass EB_Example(EasyBlock):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def sanity_check_step(self):\n\"\"\"Custom sanity check for Example.\"\"\"\n\n        custom_paths = {\n            'files': ['bin/example'],\n            'dirs': [],\n        }\n        custom_commands = ['example --version']\n\n        # call out to parent to do the actual sanity checking, pass through custom paths and commands\n        super(EB_Example, self).sanity_check_step(custom_paths=custom_paths, custom_commands=custom_commands)\n

    You can both specify file path and subdirectories to check for, which are specified relative to the installation directory, as well as simple commands that should execute successfully after completing the installation and loading the generated module file.

    Note that it is up to you how extensive you make the sanity check, but it is recommended to make the check as complete as possible to catch any potential build or installation problems that may occur.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_version_specific","title":"Version-specific parts","text":"

    In some case, version-specific actions or checks need to be included in an easyblock. For this, it is recommended to use LooseVersion rather than directly comparing version numbers using string values.

    For example:

    from distutils.version import LooseVersion\n\nfrom easybuild.framework.easyblock import EasyBlock\n\nclass EB_Example(EasyBlock):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def sanity_check_step(self):\n\"\"\"Custom sanity check for Example.\"\"\"\n\n        custom_paths = {\n            'files': [],\n            'dirs': [],\n        }\n\n        # in older version, the binary used to be named 'EXAMPLE' rather than 'example'\n        if LooseVersion(self.version) < LooseVersion('1.0'):\n            custom_paths['files'].append('bin/EXAMPLE')\n        else:\n            custom_paths['files'].append('bin/example')\n\n        super(EB_Example, self).sanity_check_step(custom_paths=custom_paths)\n
    "},{"location":"implementing-easyblocks/#implementing_easyblocks_module_only_compatibility","title":"Compatibility with --extended-dry-run/-x and --module-only","text":"

    Some special care must be taken to ensure that an easyblock is fully compatible with --extended-dry-run / -x (see Extended dry run) and --module-only (see Only (re)generating (additional) module files using --module-only).

    For --extended-dry-run/-x, this is already well covered at Detecting dry run mode and enhancing the dry run output.

    For --module-only, you should make sure that both the make_module_step, including the make_module_* submethods, and the sanity_check_step methods do not make any assumptions about the presence of certain environment variables or that class variables have been defined already.

    This needs to be handled with care since under --module-only the large majority of the *_step functions is simply skipped entirely. So, if the configure_step method is responsible for defining class variables that are picked up in sanity_check_step, the latter may run into unexpected initial values like None. A possible workaround is to define a separate custom method to define the class variables, and to call out to this method from configure_step and sanity_check_step (for the latter, conditionally, i.e., only if the class variables still have the initial values).

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_using","title":"Using new/custom easyblocks","text":"

    The best way to make EasyBuild aware of new or customized easyblocks is via --include-easyblocks, see Including additional easyblocks (--include-easyblocks) for more information.

    To verify that your easyblocks are indeed picked up correctly, you can use --list-easyblocks=detailed, see also List of available easyblocks, --list-easyblocks.

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_testing","title":"Testing easyblocks","text":"

    Before testing your easyblock implementation by actually building and installing the software package(s) it was implemented for, it is recommended to:

    • study the output produced by --extended-dry-run/-x
    • evaluate the generated module file that is obtained by using --module-only --force

    For the output of --extended-dry-run/-x, there should be no ignored errors (cfr. Errors are ignored (by default) during dry run), that is the end of the output produced should include this message:

    (no ignored errors during dry run)\n

    With --module-only --force, the easyblock complete successfully without crashing, and should generate a module file that includes everything that is expected (except for statements that require that the actual installation was performend).

    "},{"location":"implementing-easyblocks/#implementing_easyblocks_use_case_tensorlow","title":"Use case: an easyblock for Tensorflow","text":"

    (work in progress)

    "},{"location":"including-additional-python-modules/","title":"Including additional Python modules","text":"

    (--include-*)

    EasyBuild's capabilities can be extended easily, by including additional Python modules that implement support for building and installing software that is not supported (yet), define additional module naming schemes, or introduce additional toolchains, (optionally) with support for additional compilers, MPI libraries, linear algebra libraries, etc.

    Since EasyBuild v2.2.0, dedicated configuration options are available that make it straightforward to get EasyBuild to pick up additional Python modules, and get them registered in the appropriate easybuild subnamespace.

    • Including additional easyblocks
    • Including additional module naming schemes
    • Including additional toolchains
    "},{"location":"including-additional-python-modules/#include_general_remarks","title":"General aspects of --include-* options","text":""},{"location":"including-additional-python-modules/#configuration-types","title":"Configuration types","text":"

    The --include-* options can be specified via the eb command line, using an environment variable ($EASYBUILD_INCLUDE_*) or by defining the corresponding include-* parameters in an EasyBuild configuration file, just like all other configuration options (see also Consistency across supported configuration types).

    "},{"location":"including-additional-python-modules/#format","title":"Format","text":"

    The --include-* options accept a comma-separated list of paths to Python modules.

    These paths can be absolute or relative paths, or so-called glob patterns, i.e., paths containing wildcard characters like * or ?. The latter can be used to include several Python modules at once.

    For example, to include all Python modules located in the directory $HOME/myeb, a path pattern like $HOME/myeb/*.py can be specified to the appropriate --include-* option.

    Note

    Shell expansion can get in the way of specifying paths to eb that contains wildcards. To avoid problems simply wrap the path in single quotes, or escape the wildcard characters using a backslash. Keep in mind that using single quotes also prevents environment variables (e.g., $HOME) from being expanded.

    Examples of correct path specifications containing wildcards: - in a configuration file (no escaping of wildcards required): include-easyblocks = /home/example/myeb/*.py - using an environment variable: export EASYBUILD_INCLUDE_EASYBLOCKS=\"$HOME/myeb\\*.py\" - on the command line: eb --include-easyblocks='/home/example/myeb/*.py' ....

    "},{"location":"including-additional-python-modules/#how-it-works","title":"How it works","text":"

    For each of the --include-* options, EasyBuild will set up a temporary directory providing the corresponding Python package. In this directory, symlinks will be put in place to each of the included Python modules. The parent path is then injected in the Python search path to make the included Python modules available as required.

    "},{"location":"including-additional-python-modules/#order-of-preference","title":"Order of preference","text":"

    Python modules that are included via --include-* get preference over other Python modules available in the Python search path (e.g., the one that are part of the EasyBuild installation you are using). This may be useful when testing modifications to particular components of EasyBuild, for example easyblocks.

    Note

    It is recommended to only override existing components during testing. Future EasyBuild versions may include important updates like bug fixes, which may be missed if customised implementations of components were put in place.

    "},{"location":"including-additional-python-modules/#include_easyblocks","title":"Including additional easyblocks","text":"

    (--include-easyblocks)

    Adding support for building and installing additional software packages can be done by specifying the location of Python modules that implement easyblocks via --include-easyblocks.

    Generic easyblocks are expected to be located in a directory named generic.

    To verify that the easyblocks you included are indeed being picked up, --list-easyblocks=detailed can be used (see also List of available easyblocks).

    Since EasyBuild 4.2.0, easyblocks from a pull request on GitHub can also be included, using --include-easyblocks-from-pr (see Using easyblocks from pull requests).

    "},{"location":"including-additional-python-modules/#example","title":"Example","text":"

    The example below shows how all self-implemented easyblocks (both software-specific and generic) located in the $HOME/myeasyblocks directory can be included:

    $ export EASYBUILD_INCLUDE_EASYBLOCKS=$HOME/myeasyblocks/\\*.py,$HOME/myeasyblocks/generic/\\*.py\n$ eb --list-easyblocks=detailed\n...\n|-- EB_mytest (easybuild.easyblocks.mytest @ /tmp/example/eb-Bk3zxb/included-easyblocks/easybuild/easyblocks/mytest.py)\n...\n|-- foo (easybuild.easyblocks.generic.foo @ /tmp/example/eb-Bk3zxb/included-easyblocks/easybuild/easyblocks/generic/foo.py)\n...\n
    "},{"location":"including-additional-python-modules/#include_mns","title":"Including additional module naming schemes","text":"

    (--include-module-naming-schemes)

    To make EasyBuild aware of one or more custom module naming schemes, the path to the corresponding Python modules can be specified via --include-module-naming-schemes.

    To verify that EasyBuild is aware of the additional module naming schemes, the --avail-module-naming-schemes option can be used.

    "},{"location":"including-additional-python-modules/#example_1","title":"Example","text":"

    The example below shows how all custom module naming schemes located in the $HOME/myebmns can be included:

    $ eb --include-module-naming-schemes=$HOME/myebmns/\\*.py --avail-module-naming-schemes\nList of supported module naming schemes:\n    ...\n    MyCustomMNS\n    MyOtherCustomMNS\n    ...\n
    "},{"location":"including-additional-python-modules/#include_toolchains","title":"Including additional toolchains","text":"

    (--include-toolchains)

    Plugging in Python modules that add support for additional toolchains, optionally including additional toolchain components (compilers, MPI libraries, BLAS/LAPACK/FFT libraries, ...) can be done via --include-toolchains.

    EasyBuild will determine whether the Python module is a toolchain definition or implements support for an additional toolchain component based on the name of the directory in which it is located. Implementations of toolchain components are expected to be located in a directory named according to the type of component (compiler, mpi, linalg or fft).

    To verify that EasyBuild is aware of the included toolchains, --list-toolchains can be used.

    "},{"location":"including-additional-python-modules/#example_2","title":"Example","text":"

    The example below shows how the support for additional toolchains and the required additional compiler/MPI toolchain components implemented by the Python modules located in the directory $HOME/myebtcs can be included:

    $ export EASYBUILD_INCLUDE_TOOLCHAINS=$HOME/myebtcs/\\*.py,$HOME/myebtcs/compiler/\\*.py,$HOME/myebtcs/mpi/\\*.py\n$ eb --list-toolchains\nList of known toolchains (toolchainname: module[,module...]):\n    ...\n    mytoolchain: MyCompiler, MyMPI\n    ...\n
    "},{"location":"installation-alternative/","title":"Alternative installation methods","text":"

    This page describes the alternative installation methods:

    • Standard installation of latest release
    • Installation from downloaded sources
    • Installation of latest release from GitHub
    • Installation of latest development version

    Do take into account the list of (required) dependencies (see Dependencies).

    "},{"location":"installation-alternative/#standard-installation-of-latest-release","title":"Standard installation of latest release","text":"

    Usually, you just want to install the latest (stable) version of each of the EasyBuild packages (framework, easyblocks, easyconfigs).

    Python provides a couple of ways to do that. Every version of the EasyBuild packages is released via PyPi.

    "},{"location":"installation-alternative/#alt_inst_easy_install_pip","title":"Installing EasyBuild without admin rights","text":"

    If you do not have EasyBuild installed yet, or if you just want to install the most recent version of each of the EasyBuild packages, you can use one of the following simple commands:

    • using easy_install (old tool, but still works):

      easy_install --prefix $HOME/EasyBuild easybuild\n

      Note

      If you already have easybuild installed, you may need to instruct easy_install to install a newer version, using --upgrade or -U.

    • using pip (more recent and better installation tool for Python software):

      pip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild\n

      The --prefix $HOME/EasyBuild part in these commands allows you to install EasyBuild without admin rights into $HOME/EasyBuild.

      Note

      For pip v8.0 and newer, pip install --prefix=$HOME/EasyBuild easybuild works too.

    "},{"location":"installation-alternative/#adjusting-path-and-pythonpath-environment-variables","title":"Adjusting $PATH and $PYTHONPATH environment variables","text":"

    After installing EasyBuild with either easy_install or pip like this, you will need to update the $PATH and $PYTHONPATH environment variable to make sure the system can find the main EasyBuild command eb. On (most) Linux distributions, the command for doing this is:

    export PATH=$HOME/EasyBuild/bin:$PATH\nexport PYTHONPATH=$HOME/EasyBuild/lib/python2.7/site-packages:$PYTHONPATH\n

    Tip

    To determine the path that should be added to the $PYTHONPATH environment variable for a given installation prefix, you can use the following command:

    python -c \"import distutils.sysconfig; print distutils.sysconfig.get_python_lib(prefix='$HOME/EasyBuild/');\"\n
    "},{"location":"installation-alternative/#install-with-admin-rights","title":"Install with admin rights","text":"

    If you do have admin rights on the system where you want to install EasyBuild, you can simply omit the --prefix $HOME/EasyBuild/ to have EasyBuild installed system-wide. In that case, you do not need to touch the $PATH or $PYTHONPATH environment variables since the eb command will be installed in one of the default paths.

    "},{"location":"installation-alternative/#alternatives-to-prefix","title":"Alternatives to --prefix","text":"

    As an alternative to --prefix when you do not have admin rights, you can specify that EasyBuild should be installed in your $HOME directory using the --user option.

    The full list of commands to install EasyBuild in your $HOME directory using pip would be:

    pip install --user easybuild\nexport PATH=$HOME/.local/bin:$PATH\n

    Warning

    In our experience, using --user creates more problems than it solves. We have run into unexpected behavior with Python software installed in your home directory using --user, for example it always being preferred over versions installed somewhere else. Hence, we strongly discourage using --user to install EasyBuild (or other Python software).

    "},{"location":"installation-alternative/#installing-the-easybuild-packages-separately","title":"Installing the EasyBuild packages separately","text":"

    Each of the EasyBuild packages can also be installed separately:

    pip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild-framework\npip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild-easyblocks\npip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild-easyconfigs\n

    This is the exact same sequence of steps as they will be performed when running pip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild.

    "},{"location":"installation-alternative/#installation-from-downloaded-sources","title":"Installation from downloaded sources","text":"

    To install one of the EasyBuild packages from a downloaded source tarball, use the following steps:

    tar xfvz easybuild-framework-1.0.tar.gz\ncd easybuild-framework-1.0\npip install --install-option \"--prefix=$HOME/EasyBuild\" .\n

    Do note that when an EasyBuild package is being installed without having the EasyBuild packages that it depends upon available, both easy_install and pip will try and pull in the latest available version of those packages from PyPi.

    Thus, to have full control over the EasyBuild installation, you need to respect the following installation order: easybuild-framework, easybuild-easyblocks, easybuild-easyconfigs. The easyblocks package depends on the framework package; the easyconfigs package depends on both the framework and easyblocks packages.

    If you do not have pip or easy_install available, you can also fall back to using the setup.py script directly:

    python setup.py --prefix $HOME/EasyBuild install\n
    "},{"location":"installation-alternative/#installation-of-latest-release-from-github","title":"Installation of latest release from GitHub","text":"

    To install the latest (stable) release of an EasyBuild package directly from GitHub, use the following command:

    pip install --install-option \"--prefix=$HOME/EasyBuild\" https://github.com/easybuilders/easybuild-framework/archive/main.tar.gz\n

    Again, the order in which the EasyBuild packages are installed is important to have full control over the installation process, see previous section.

    "},{"location":"installation-alternative/#installation-of-latest-development-version","title":"Installation of latest development version","text":"

    To install the latest development version of an EasyBuild package from GitHub, you can simply adjust the command from the previous section to install from the develop branch (or any of the available feature branches in any EasyBuild repository for that matter):

    pip install --install-option \"--prefix=$HOME/EasyBuild\" https://github.com/easybuilders/easybuild-framework/archive/develop.tar.gz\n

    Note

    You should use this only if you are interested in developing for EasyBuild. Although it is well tested, the development version of the EasyBuild repositories may be unstable at a given point in time.

    "},{"location":"installation-alternative/#install_latest_develop_using_script","title":"Installation of latest development version using provided script","text":"

    After you have forked each of the EasyBuild repositories on GitHub (+ vsc-base), you can set up a development version of EasyBuild using the install-EasyBuild-develop.sh script.

    This script will clone the different EasyBuild repositories from GitHub:

    • easybuild: EasyBuild metapackage & documentation sources for http://easybuild.readthedocs.org
    • vsc-base: dependency for EasyBuild framework (logging, command line interface, ...)
    • easybuild-framework: EasyBuild framework
    • easybuild-easyblocks: collection of easyblocks
    • easybuild-easyconfigs: collection of easyconfig files

    It can be used as follows:

    # pick an installation prefix (adjust as you like)\nINSTALL_PREFIX=$(mktemp -d $HOME/EasyBuild-XXXXXX)\n# download script\ncurl -O https://raw.githubusercontent.com/easybuilders/easybuild-framework/main/easybuild/scripts/install-EasyBuild-develop.sh\n# run downloaded script, specifying *your* GitHub username and the installation prefix\nbash install-EasyBuild-develop.sh GITHUB_USERNAME $INSTALL_PREFIX\n# update $MODULEPATH via 'module use', and load the module\nmodule use $INSTALL_PREFIX/modules\nmodule load EasyBuild-develop\neb --version  ## This should ensure you have a reasonable instance of EasyBuild\n

    Note

    The above creates a module file which you can load/inspect at will.

    The interesting aspect about it is that it is pointing to an EasyBuild installation directly on local git repositories, which allows you to customise it easily. Remember to commit/push or otherwise save your changes, if you intend to use them later.

    "},{"location":"installation/","title":"Installing EasyBuild","text":"

    EasyBuild is Python software, so there are a couple of ways to install it.

    We recommend installing EasyBuild using pip. This method is described at Using pip to Install EasyBuild.

    It is also possible to install EasyBuild as a module. To do this, use the 3-step procedure outlined at Installing EasyBuild with EasyBuild.

    Do take into account the required and optional dependencies (see Requirements and Dependencies).

    Notes on other ways of installing EasyBuild are available under section Alternative installation methods.

    "},{"location":"installation/#requirements","title":"Requirements","text":"

    The only strict requirements are:

    • a GNU/Linux distribution as operating system
      • some common shell tools are expected to be available, see Required shell tools
    • Python:
      • Python 2.7, or Python 3.x (>= 3.5);
      • since Python 2 is end-of-life we strongly recommend using Python 3 if it is available;
      • only EasyBuild v4.0 (or newer) is compatible with Python 3, earlier EasyBuild releases require Python 2;
      • EasyBuild 5.0 will require Python >= 3.6;
      • no third-party Python packages are strictly required (the Python standard library is sufficient);
      • for some specific EasyBuild features additional Python packages are required however, see Optional Python packages;
    • a modules tool: Tcl(/C) environment modules or Lmod
      • the actual modules tool must be available via $PATH, see Required modules tool
    • a C/C++ compiler (e.g., gcc and g++)
      • only required to build and install GCC with, or as a dependency for the Intel compilers, for example

    For more information on dependencies, see Dependencies.

    "},{"location":"installation/#pip","title":"Using pip to Install EasyBuild","text":"

    Since EasyBuild is released as a Python package on PyPI you can install it using pip, the most commonly used tool for installing Python packages.

    Install EasyBuild with:

    pip install easybuild\n

    You may need to tweak this command a bit, depending on your setup, see Additional pip install options.

    Note

    There are various other ways of installing Python packages, which we won't cover here. If you are familiar with other tools like virtualenv or pipenv, feel free to use those instead to install EasyBuild.

    "},{"location":"installation/#sanity-check","title":"Sanity check","text":"

    Compare the version of eb, the main EasyBuild command, with the version of the EasyBuild module that was installed. For example::

    $ module load EasyBuild\n$ module list\n\nCurrently Loaded Modules:\n  1) EasyBuild/4.8.0\n\n$ eb --version\nThis is EasyBuild 4.8.0 (framework: 4.8.0, easyblocks: 4.8.0) on host example.local\n

    Tip

    The Tcl-based or Lmod implementations of environment modules do their default sorting differently. The former will normally sort in the lexicographic order, while Lmod follows an approach that is closer to Python's construct LooseVersion way of ordering. Such aspects may make a big difference, if you have installed both versions 1.9.0 and 1.15.2, with respect to what is the version being loaded by default.

    You can also run eb --show-system-info to see system information relevant to EasyBuild, or runeb --show-config to see the default EasyBuild configuration (see also Configuring EasyBuild).

    "},{"location":"installation/#updating","title":"Updating an existing EasyBuild installation","text":"

    To upgrade to a newer EasyBuild version than the one currently installed:

    • pip install --upgrade easybuild will upgrade EasyBuild to the latest release.
    "},{"location":"installation/#more_pip","title":"Additional pip install options","text":"

    For the pip install, you may wish to slightly change this command depending on the context and your personal preferences:

    • to install EasyBuild system-wide, you can use sudo (if you have admin privileges):

      sudo pip install easybuild\n
    • To install EasyBuild in your personal home directory, you can use the --user option:

      pip install --user easybuild\n

      This will result in an EasyBuild installation in $HOME/.local/.

    • To install EasyBuild in a specific directory you can use the --prefix option:

      pip install --prefix _PREFIX_ easybuild\n

      In this command, you should replace '_PREFIX_' with the location where you want to have EasyBuild installed (for example, $HOME/tools or /tmp/$USER).

    Keep in mind that you may need to update your environment too when using --user or --prefix, see Updating your environment.

    "},{"location":"installation/#more_pip_pip3","title":"pip vs pip3","text":"

    On systems where both Python 2 and Python 3 are installed you may also have different pip commands available. Or maybe pip is not available at all, and only \"versioned\" pip commands like pip3 are available.

    If you (only) have pip3 available, you can replace pip with pip3 in any of the pip install commands above:

    pip3 install easybuild\n

    If you want to ensure that you are using the pip installation that corresponds to the Python 3 installation that you intend to use, you can use python3 -m pip rather than pip3.

    python3.6 -m pip install easybuild\n

    Note that you may also need to instruct the eb command to use the correct Python version at runtime, via $EB_PYTHON (see Setting $EB_PYTHON).

    "},{"location":"installation/#more_pip_env","title":"Updating your environment","text":"

    If you used the --user or --prefix option in the pip install command, or if you installed EasyBuild with a pip version that does not correspond to your default Python installation, you will need to update your environment to make EasyBuild ready for use. This is not required if you did a system-wide installation in a standard location with the default Python version.

    Note

    Keep in mind that you will have to make these environment changes again if you start a new shell session. To avoid this, you can update one of the shell startup scripts in your home directory (.bashrc for example).

    "},{"location":"installation/#more_pip_env_PATH","title":"Updating $PATH","text":"

    Update the $PATH environment variable to make sure the eb command is available::

    export PATH=_PREFIX_/bin:$PATH\n

    Replace _PREFIX_ in this command with the directory path where EasyBuild was installed into (use $HOME/.local if you used pip install --user).

    This is not required if you installing EasyBuild in a standard system location.

    You can check with the which eb command to determine whether or not you need to update the $PATH environment variable.

    "},{"location":"installation/#more_pip_env_PYTHONPATH","title":"Updating $PYTHONPATH","text":"

    If you installed EasyBuild to a non-standard location using pip install --prefix, you also need to update the Python search path environment variable $PYTHONPATH to instruct Python where it can find the EasyBuild Python packages.

    This is not required if you used the --user option, since Python will automatically consider $HOME/.local when searching for installed Python packages, or if you installed EasyBuild in a standard system-wide location.

    Update $PYTHONPATH by running a command like::

    export PYTHONPATH=_PREFIX_/lib/pythonX.Y/site-packages:$PYTHONPATH\n

    Here, you need to replace the X and Y with the major and minor version of your Python installation, which you can determine by running python -V. For example, if you are using Python 3.6, make sure you are using /python3.6/ in the command to update $PYTHONPATH.

    And of course, you again need to replace '_PREFIX_' with the installation prefix where EasyBuild was installed into.

    For example:

    # update $PYTHONPATH if EasyBuild was installed in $HOME/tools with Python 3.6\nexport PYTHONPATH=$HOME/tools/lib/python3.6/site-packages:$PYTHONPATH\n
    "},{"location":"installation/#more_pip_env_EB_PYTHON","title":"Setting $EB_PYTHON","text":"

    If you want to control which Python version is used to run EasyBuild, you can specify the name or the full path to the python command that should be used by the eb command via the $EB_PYTHON environment variable.

    This may be required when you are installing EasyBuild with a version of pip that does not correspond with the default Python version.

    For example, to ensure that eb uses python3.6:

    export EB_PYTHON=python3.6\n
    "},{"location":"installation/#more_pip_env_EB_VERBOSE","title":"Setting $EB_VERBOSE","text":"

    To determine which python commands are being considered by the eb command, you can define the $EB_VERBOSE environment variable. For example:

    $ EB_VERBOSE=1 eb --version\n>> Considering 'python3.6'...\n>> 'python3' version: 3.6.8, which matches Python 3 version requirement (>= 3.5)\n>> Selected Python command: python3 (/usr/bin/python3.6)\n>> python3.6 -m easybuild.main --version\nThis is EasyBuild 4.8.0 (framework: 4.8.0, easyblocks: 4.8.0) on host example\n
    "},{"location":"installation/#eb_as_module","title":"Installing EasyBuild with EasyBuild","text":"

    If you prefer having EasyBuild available through an environment module file, you can consider installing EasyBuild with EasyBuild. This can be done in 3 steps:

    • Step 1: Installing EasyBuild with pip into a temporary location (only needed if EasyBuild is not installed yet)
    • Step 2: Using EasyBuild to install EasyBuild as a module
    • Step 3: Loading the EasyBuild module
    "},{"location":"installation/#eb_as_module_step1","title":"Step 1: Installing EasyBuild into a temporary location","text":"

    If you don't have EasyBuild installed yet, you need to install it in a temporary location first. The recommended way of doing this is using pip to install EasyBuild.

    For example, to install EasyBuild into a subdirectory /tmp/$USER using the default Python 3 version:

    # pick installation prefix, and install EasyBuild into it\nexport EB_TMPDIR=/tmp/$USER/eb_tmp\npython3 -m pip install --ignore-installed --prefix $EB_TMPDIR easybuild\n\n# update environment to use this temporary EasyBuild installation\nexport PATH=$EB_TMPDIR/bin:$PATH\nexport PYTHONPATH=$(/bin/ls -rtd -1 $EB_TMPDIR/lib*/python*/site-packages | tail -1):$PYTHONPATH\nexport EB_PYTHON=python3\n
    "},{"location":"installation/#eb_as_module_step2","title":"Step 2: Using EasyBuild to install EasyBuild","text":"

    Once you have a working (recent) temporary EasyBuild installation, you can use it to install EasyBuild as a module. Usually this is done in the location where you would like to install other software too.

    You can use the eb --install-latest-eb-release command for this, combined with the --prefix option to control which directories are used by EasyBuild for the installation.

    For example, to install the latest version of EasyBuild as a module into $HOME/easybuild:

    eb --install-latest-eb-release --prefix $HOME/easybuild\n

    Note

    You may see a harmless deprecation warning popping up when performing this installation, just ignore it.

    "},{"location":"installation/#eb_as_module_step3","title":"Step 3: Loading the EasyBuild module","text":"

    Once Step 2: Using EasyBuild to install EasyBuild is completed, you should be able to load the module that was generated alongside the EasyBuild installation. You will need to do this every time you start a new shell session.

    First, make the module available by running the following command (which will update the module search path environment variable $MODULEPATH):

    module use _PREFIX_/modules/all\n

    Replace _PREFIX_ with the path to the directory that you used when running Step 2: Using EasyBuild to install EasyBuild (for example, $HOME/easybuild).

    Then, load the EasyBuild module to update your environment and make EasyBuild available for use:

    module load EasyBuild\n

    Note

    Note that in this case, we don't need to make any changes to our environment for EasyBuild to work correctly. The environment module file that was generated by EasyBuild specifies all changes that need to be made.

    "},{"location":"installation/#dependencies","title":"Required Dependencies","text":"

    This section gives further information on the required dependencies.

    "},{"location":"installation/#required_shell_tools","title":"Required shell tools","text":"

    A couple of shell tools may be required, depending on the particular use case (in relative order of importance):

    • shell builtin commands:
      • type, for inspecting the module function (if defined)
      • ulimit, for querying user limits
    • tools for unpacking (source) archives:
      • commonly required: tar, gunzip, bunzip2
      • occasionally required: unzip, unxz
    • patch, for applying patch files to unpacked sources (relatively common)
    • rpm or dpkg, for querying OS dependencies (only needed occasionally)
    • locate, only as a (poor mans) fallback to rpm/dpkg (rarely needed)
    • sysctl, for querying system characteristics (only required on non-Linux systems)
    "},{"location":"installation/#required_modules_tool","title":"Required modules tool","text":"

    EasyBuild not only generates module files to be used along with the software it installs, it also depends on the generated modules, mainly for resolving dependencies. Hence, a modules tool must be available to consume module files with.

    Supported module tools:

    • Tcl/C environment-modules (version >= 3.2.10)
    • Tcl-only variant of environment modules
    • Lmod (version >= 6.5.1), highly recommended

    Note

    The path to the actual modules tool binary/script used must be included in $PATH, to make it readily available to EasyBuild.

    • for Tcl/C environment modules: modulecmd
    • for Tcl-only environment modules: modulecmd.tcl
    • for Lmod: lmod

    The path where the modules tool binary/script is located can be determined via the definition of the module function; for example, using type module or type -f module.

    Note

    For Lmod specifically, EasyBuild will try to fall back to finding the lmod binary via the $LMOD_CMD environment variable, in case lmod is not available in $PATH.

    In EasyBuild versions prior to 2.1.1, the path specified by $LMOD_CMD was (erroneously) preferred over the (first) lmod binary available via $PATH.

    Additional notes:

    • Tcl(/C) environment-modules requires Tcl to be installed (with header files and development libraries)
    • Lmod requires Lua and a couple of non-standard Lua libraries (lua-posix, lua-filesystem) to be available
      • Tcl (tclsh) must also be available for Lmod to support module files in Tcl syntax
    • a guide to installing Tcl/C environment modules without having root permissions is available at Installing environment modules without root permissions.
    • a guide to installing Lmod without having root permissions is available at Installing Lmod without root permissions.
    "},{"location":"installation/#required_python_packages","title":"Required Python packages","text":"

    Since EasyBuild v4.0, no Python packages outside of the Python standard library are required.

    "},{"location":"installation/#optional-dependencies","title":"Optional dependencies","text":"

    Some dependencies are optional and are only required to support certain features.

    "},{"location":"installation/#optional_python_packages","title":"Optional Python packages","text":"
    • GC3Pie, only needed when using GC3Pie as a backend for --job, see also Submitting jobs using --job;
    • GitPython, only needed if EasyBuild is hosted in a git repository or if you\u2019re using a git repository for easyconfig files (.eb);
    • graphviz for Python, only needed for building nice-looking dependency graphs using --dep-graph *.pdf / *.png;
    • keyring, only needed for securely storing a GitHub token (see Integration with GitHub);
    • pycodestyle, only required for --check-style and --check-contrib;
    • python-graph-dot, only needed for building nice-looking dependency graphs using --dep-graph *.dot
    • Rich, only needed to let eb produce rich output, like Progress bars;
    "},{"location":"installation/#sources","title":"Sources","text":"

    EasyBuild is split up into three different packages, which are available from the Python Package Index (PyPi):

    • easybuild-framework - the EasyBuild framework, which includes the easybuild.framework and easybuild.tools Python packages that provide general support for building and installing software
    • easybuild-easyblocks - a collection of easyblocks that implement support for building and installing (collections of) software packages
    • easybuild-easyconfigs - a collection of example easyconfig files that specify which software to build, and using which build options; these easyconfigs will be well tested with the latest compatible versions of the easybuild-framework and easybuild-easyblocks packages
    • easybuild-docs - a repository containing the sources of the EasyBuild documentation, which is hosted at https://docs.easybuild.io.

    Next to these packages, a meta-package named easybuild is also available on PyPi, in order to easily install the full EasyBuild distribution.

    The source code for these packages is also available on GitHub:

    • easybuild-framework git repository
    • easybuild-easyblocks git repository
    • easybuild-easyconfigs git repository
    • the main EasyBuild repository
    "},{"location":"installation/#in-case-of-installation-issues","title":"In case of installation issues...","text":"

    Should the installation of EasyBuild fail for you, please open an issue to report the problems you're running into.

    "},{"location":"installation/#how-to-collect-info-in-case-sanity-checks-fail-or-there-is-another-issue","title":"How to collect info in case sanity checks fail or there is another issue","text":"

    In order to get a better understanding in which kind of environment you are using the bootstrap script, please copy-paste the commands below and provide the output in your problem report. Do not worry if some of these commands fail or spit out error messages.

    python -V\ntype module\ntype -f module\nmodule --version\nmodule av EasyBuild\nwhich -a eb\neb --version\n
    "},{"location":"installing-environment-modules-without-root-permissions/","title":"Installing environment modules without root permissions","text":"

    This short guide will explain how to install the standard environment modules Tcl/C software package without root permissions on a Linux or Mac OS X system, together with Tcl on which it depends.

    "},{"location":"installing-environment-modules-without-root-permissions/#tcl","title":"Tcl","text":"
    1. Go to https://www.tcl.tk and download the latest Tcl sources. At the time of writing, the latest available Tcl version was 8.5.15, which can be downloaded from here. The remainder of these commands will assume Tcl v8.5.15 is being installed, you may need to adjust them accordingly. Note: Stick to Tcl v8.5.x, don't consider using the more recent v8.6.x or higher, since the environment modules package is not compatible with those Tcl versions.

    2. Unpack the Tcl source tarball:

      tar xfvz tcl8.5.15-src.tar.gz\n
    3. Pick a location where you will install Tcl. It should be a directory you have write permissions on. My suggestion would be to use something like $HOME/.local/Tcl.

    4. Go to the unix subdirectory of the unpacked Tcl directory, and run the configure script using the --prefix option:

      cd tcl8.5.15/unix\n./configure --prefix=$HOME/.local/Tcl\n

      If you're building Tcl and environment modules on Mac, you should run configure in the tcl8.5.15/macosx directory instead.

    5. Next, build Tcl using the make command. If the system you are building on has multiple cores, running make in parallel will speed up the build. Just use the -j option, and pass it a degree of parallelism (just use the number of cores your system has available), e.g.:

      make -j 4\n
    6. The final step consists of installing Tcl to the directory specified in step 4. To do this, simply run:

      make install\n

    All done! Now you are ready to build the environment modules package, which requires Tcl.

    "},{"location":"installing-environment-modules-without-root-permissions/#environment-modules","title":"Environment Modules","text":"
    1. Download the latest source tarball for the environment modules tools from https://modules.sourceforge.net. At the time of writing, the latest available version is 3.2.10 which can be downloaded from here.

    2. Unpack the downloaded source tarball:

      tar xfvz modules-3.2.10.tar.gz\n
    3. Configure the build, again use --prefix to specify where to install the environment modules tool in the end. If you needed to install Tcl by hand as outlined in the previous section, you'll also need to specify where it was installed using the --with-tcl option:

      cd modules-3.2.10\n./configure --prefix=$HOME/.local/environment-modules --with-tcl=$HOME/.local/Tcl/lib\n
    4. Build with make, consider parallel build if your system is recent enough:

      make -j 4\n
    5. Install:

      make install\n

    Alright, now just one more thing...

    "},{"location":"installing-environment-modules-without-root-permissions/#set-up-your-environment","title":"Set up your environment","text":"

    Because you've installed environment modules and Tcl in a non-default location, you need to make sure your environment is setup up correctly to use them.

    To make a long story short, these are the commands you need to execute:

    export PATH=$HOME/.local/environment-modules/Modules/3.2.10/bin:$PATH\nexport LD_LIBRARY_PATH=$HOME/.local/Tcl/lib:$LD_LIBRARY_PATH\n# adjust line below if you're using a shell other than bash, check with 'echo $SHELL'\nsource $HOME/.local/environment-modules/Modules/3.2.10/init/bash\n

    Tip

    Add these three lines in your .bashrc file, that way they'll be executed every time you log in.

    "},{"location":"installing-extensions-in-parallel/","title":"Installing extensions in parallel (experimental!)","text":"

    Since EasyBuild v4.5.0 (initial) support is available for installing extensions in parallel, that is to run the installation command for multiple extensions that are ready to install at the same time in the background, to exploit the availability of multiple cores.

    Note: this is an experimental feature. Some of the mentioned functionality may be subject to change or be prone to errors.

    "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_configuration","title":"Configuration","text":"

    To let EasyBuild install extensions in parallel, the parallel-extensions-install configuration option must be enabled.

    In addition, since the support for installing extensions in parallel is an experimental feature, the experimental configuration option must be also be enabled (see also Experimental features).

    How many extension installations should be started (at maximum) at the same time is controlled by the parallel configuration option.

    "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_requirements","title":"Requirements","text":"

    For EasyBuild to be able to install a list of extensions in parallel, two requirements must be met:

    • The easyblock(s) that are used for installing the extensions must have support for determining which installed extensions are required to fulfil the dependencies for a particular extension. This is done via the required_deps property method.
    • EasyBuild must be able to start a single shell command (asynchronously, so it runs in the background) to perform the installation of the extension via the run_async method, and check whether the command has completed via the async_cmd_check method.

    For an example of how required_deps, run_async, and async_cmd_check can be implemented, see the RPackage easyblock.

    "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues","title":"Caveats and Known issues","text":"

    (last update: EasyBuild v4.5.0)

    There are a couple of caveats and known issues with installing extensions in parallel, which we hope to resolve in future EasyBuild releases.

    This is also why the support for installing extensions in parallel is currently marked as an experimental feature.

    "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues_only_r","title":"Only works for R extensions","text":"

    The support for installing extensions in parallel currently only works for R extensions, since only the RPackage easyblock (which is used to install R packages as extensions) implements the necessary methods (see Requirements).

    Supporting other types of extensions (Python, Perl, etc.) requires that the corresponding easyblocks that are used to install those extensions (like PythonPackage, PerlModule) are enhanced to support determining required dependencies and starting the installation command asynchronously.

    "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues_exts_list","title":"List of extensions must be self-contained","text":"

    The EasyBuild framework currently enforces that all required dependencies for a particular extension are included in the list of extensions that is being installed (specified via the exts_list easyconfig parameter). Extensions provided by dependencies are not taken into account (yet).

    As a result, trying to install an R-bundle-Bioconductor easyconfig with parallel-extensions-install enabled will result in an error reporting missing required dependencies.

    "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues_skip","title":"Skipping of installed extensions is still done sequentially","text":"

    Checking which extensions are already installed for which the installation can be skipped when --skip (see Installing additional extensions using -k/-skip) is being used is still done sequentially.

    Additional work is needed to also run these checks in parallel across the cores that are available to EasyBuild.

    "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues_sanity_check","title":"Sanity check for extensions is still run sequentially","text":"

    The sanity checks that are done for each extension are still done through a sequential loop over the list of extensions.

    Additional work is needed to also run these checks in parallel across the cores that are available to EasyBuild.

    "},{"location":"installing-lmod-without-root-permissions/","title":"Installing Lmod without root permissions","text":"

    This short guide will show how to install Lmod (and Lua, on which it depends) on Linux, without requiring root permissions.

    "},{"location":"installing-lmod-without-root-permissions/#lua","title":"Lua","text":"

    Dependencies: Installing Lua using the steps below requires rsync, make and gcc

    Build and install Lua using the source tarball available in the Lmod SourceForge repository. This version is a lot easier to build, and already includes the required extra Lua modules. At the time of writing this relates to the lua-5.1.4.8.tar.gz tarball.

    Step 1: Download and unpack lua-5.1.4.8.tar.gz.

    Step 2: Configure the Lua build, provide a custom installation prefix (e.g. $HOME/lua) and specify to statically link libraries (i.e. libreadline and ncurses), to avoid problems when modules that provide these libraries are being loaded. Then build and install via make:

    ./configure --with-static=yes --prefix=$HOME/lua && make && make install\n

    Step 3: Make sure the lua binary is available in your $PATH (only required when building Lmod, see below):

    export PATH=$HOME/lua/bin:$PATH\n

    Optionally, check whether the lua binary indeed doesn\u2019t link to any unexpected readline or ncurses libraries:

    $ ldd $HOME/lua/bin/lua\n        linux-vdso.so.1 (0x00007fffad7ff000)\n        libm.so.6 => /lib64/libm.so.6 (0x00007ff9914db000)\n        libdl.so.2 => /lib64/libdl.so.2 (0x00007ff9912d7000)\n        libc.so.6 => /lib64/libc.so.6 (0x00007ff990f2a000)\n        /lib64/ld-linux-x86-64.so.2 (0x00007ff9917d9000)\n
    "},{"location":"installing-lmod-without-root-permissions/#lmod","title":"Lmod","text":"

    Dependencies: building Lmod using the steps below requires tcl, tcl-dev(el), make and bzip2

    Step 1: Download and unpack the latest available Lmod version, Lmod-8.4.tar.bz2 at the time of writing.

    tar xfvj Lmod-8.4.tar.bz2 && cd Lmod-8.4\n

    Step 2: Configure, build and install Lmod build, in a custom prefix:

    ./configure --prefix=$HOME && make install\n

    Step 3: Update $PATH so lmod is available (put this in your .bashrc):

    export PATH=$HOME/lmod/8.4/libexec:$PATH\n

    Optionally, give it a spin:

    $ lmod --version\n\nModules based on Lua: Version 8.4  2020-07-31 12:25 -05:00\n    by Robert McLay mclay@tacc.utexas.edu\n

    Step 4: Define module function to use lmod (optional for use with EasyBuild):

    source $HOME/lmod/8.4/init/bash\nexport LMOD_CMD=$HOME/lmod/8.4/libexec/lmod\n
    "},{"location":"integration-with-github/","title":"Integration with GitHub","text":"

    EasyBuild provides several features that integrate with GitHub, where the different EasyBuild repositories are located.

    From the EasyBuild command line eb several options are available to reach out to GitHub, which are documented below.

    "},{"location":"integration-with-github/#github_requirements","title":"Requirements","text":"

    Depending on which GitHub integration features you want to use, there are a couple of requirements:

    • a GitHub account
      • see https://github.com; creating an account is free
    • a GitHub user name
      • only required for authenticated access to the GitHub API, which can help to avoid rate limitations
      • not strictly necessary for read-only operations
        • i.e. not required for Using easyconfigs from pull requests and Reviewing easyconfig pull requests
      • see Providing a GitHub username
    • a GitHub token + keyring Python package
      • install via pip install keyring (for Python2: pip install 'keyring<19.0')
      • optionally install potentially unsafe keyrings: pip install keyrings.alt (but read and understand the warning)
      • allows accessing the GitHub API with authentication
      • only strictly required for features that require GitHub 'write' permissions
        • i.e. for Uploading test reports and Submitting pull requests
      • see Installing a GitHub token
    • git command / GitPython Python package
      • install via pip install GitPython (for Python2: pip install 'GitPython<3.0')
      • only required when local git commands need to be executed, e.g. to manipulate a Git repository
        • i.e. for Submitting pull requests and Updating existing pull requests
    • SSH public key registered on GitHub
      • only required when push access to Git repositories that reside on GitHub is required
        • i.e. for Submitting pull requests and Updating existing pull requests
      • see https://github.com/settings/ssh
    • fork of the EasyBuild repositories on GitHub
      • only required for submitting/updating pull requests (Submitting pull requests and Updating existing pull requests
      • see Fork button (top right) at https://github.com/easybuilders/easybuild-easyconfigs (for example)

    See also Checking status of GitHub integration.

    "},{"location":"integration-with-github/#github_configuration","title":"Configuration","text":"

    The following sections discuss the EasyBuild configuration options relevant to the GitHub integration features.

    "},{"location":"integration-with-github/#github_user","title":"Providing a GitHub username","text":"

    (--github-user)

    To specify your GitHub username, do one of the following:

    • use the --github-user configuration option on the eb command line
    • define the $EASYBUILD_GITHUB_USER environment variable
    • specify github-user in your EasyBuild configuration file

    (see also Configuring EasyBuild)

    "},{"location":"integration-with-github/#github_token","title":"Installing a GitHub token","text":"

    (--install-github-token)

    Note

    requires: GitHub username + keyring Python package

    A GitHub token is a string of 40 characters that is tied to your GitHub account, allowing you to access the GitHub API authenticated.

    Using a GitHub token is beneficial with respect to rate limitations, and enables write permissions on GitHub (e.g. posting comments, creating gists, opening pull requests).

    To obtain a GitHub token:

    • visit https://github.com/settings/tokens/new and log in with your GitHub account
    • enter a token description, for example: \"EasyBuild\"
    • make sure (only) the gist and public_repo (in the repo section) scopes are fully enabled
    • click Generate token
    • copy-paste the generated token

    Note

    You will only be able to copy-paste the generated token right after you have created it. The value corresponding to an existing token can not be retrieved later through the GitHub interface.

    Please keep your token secret at all times; it allows fully authenticated access to your GitHub account!

    You can install the GitHub token in your keyring using EasyBuild, so it can pick it up when it needs to, using eb --install-github-token:

    $ eb --github-user example --install-github-token\nToken: <copy-paste-your-40-character-token-here>\nValidating token...\nToken seems to be valid, installing it.\nToken 'e3a..0c2' installed!\n

    EasyBuild will validate the provided token, to check that authenticated access to your GitHub account works as expected.

    Note

    EasyBuild will never print the full token value, to avoid leaking it. For debugging purposes, only the first and last 3 characters will be shown.

    "},{"location":"integration-with-github/#github_git_working_dirs_path","title":"Specify location of working directories","text":"

    (--git-working-dirs-path)

    You can specify the location of your Git working directories with one of the following:

    • use the --git-working-dirs-path configuration option on the eb command line
    • define the $EASYBUILD_GIT_WORKING_DIRS_PATH environment variable
    • specify the git-working-dirs-path option in your EasyBuild configuration file

    The provided path should be the parent directory of the location of the working directories (i.e. clones) of the EasyBuild repositories (easybuild-easyconfigs, etc.); the assumption is that you keep them all in a single parent directory.

    Although not strictly required, this is useful for speeding up --new-pr and --update-pr, since it allows that the repository can be copied & updated, rather than being cloned from scratch.

    "},{"location":"integration-with-github/#github_requirements_check","title":"Checking status of GitHub integration","text":"

    (--check-github)

    To check the status of your setup w.r.t. GitHub integration, the --check-github command line option can be used.

    Using this will trigger EasyBuild to perform a number of checks, and report back on what the test results mean for the different GitHub integration features.

    If all requirements are taken care of in your setup, you should see output like this:

    $ eb --check-github\n\n== temporary log file in case of crash /tmp/eb-xWCpWl/easybuild-hGnKS5.log\n\nChecking status of GitHub integration...\n\nMaking sure we're online... OK\n\n* GitHub user... example => OK\n* GitHub token... e3f..0c8 (len: 40) => OK (validated)\n* git command... OK (\"git version 2.7.4 (Apple Git-66); \")\n* GitPython module... OK\n* push access to example/easybuild-easyconfigs repo @ GitHub... OK\n* creating gists... OK\n* location to Git working dirs...  OK (/home/example/git-working-dirs)\n\nAll checks PASSed!\n\nStatus of GitHub integration:\n* --from-pr: OK\n* --new-pr: OK\n* --review-pr: OK\n* --update-pr: OK\n* --upload-test-report: OK\n

    Note

    Checking whether push access to GitHub works may take some time, since a recent clone of the easybuild-easyconfigs GitHub repository will be created in the process (at a temporary location).

    See also Requirements.

    "},{"location":"integration-with-github/#github_from_pr","title":"Using easyconfigs from pull requests","text":"

    (--from-pr, supported since EasyBuild v1.13.0)

    Via the --from-pr command line option (available since EasyBuild v1.13.0), easyconfig files that are added or modified by a particular pull request to the easybuild-easyconfigs GitHub repository can be used (regardless of whether the pull request is merged or not).

    This can be useful to employ easyconfig files that are not available yet in the active EasyBuild installation, or to test new contributions by combining --from-pr with --upload-test-report (see Uploading test reports).

    When --from-pr is used, EasyBuild will download all modified files (easyconfig files and patches) to a temporary directory before processing them.

    For example, to use the GCC v4.9.2 easyconfigs contributed via easyconfigs pull request #1177:

    $ eb --from-pr 1177 --dry-run\n== temporary log file in case of crash /tmp/eb-88quZc/easybuild-62fFdo.log\nDry run: printing build status of easyconfigs and dependencies\n * [ ] /tmp/eb-88quZc/files_pr1177/GCC-4.9.2-CLooG-multilib.eb (module: GCC/4.9.2-CLooG-multilib)\n * [ ] /tmp/eb-88quZc/files_pr1177/GCC-4.9.2-CLooG.eb (module: GCC/4.9.2-CLooG)\n * [ ] /tmp/eb-88quZc/files_pr1177/GCC-4.9.2.eb (module: GCC/4.9.2)\n== temporary log file /tmp/eb-88quZc/easybuild-62fFdo.log has been removed.\n== temporary directory /tmp/eb-88quZc has been removed.\n

    Note

    To avoid GitHub rate limiting, let EasyBuild know which GitHub account should be used to query the GitHub API, and provide a matching GitHub token; see also Installing a GitHub token.

    "},{"location":"integration-with-github/#github_from_pr_vs_develop","title":"Relation between pull requests and current develop branch","text":"

    Since EasyBuild v2.9.0, the current develop branch of the central easybuild-easyconfigs GitHub repository is taken into account when applicable with --from-pr. Before, only the branch corresponding to the specified pull request itself was being considered, which potentially did not reflect the correct state of things, in particular for pull requests based on an outdated branch in which easyconfigs are changed that have been updated in develop as well.

    As such, the exact semantics of --from-pr depends on the state of the specified pull request, i.e. whether or not the pull request was merged already, whether the pull request is mergeable and stable (as indicated by GitHub Actions), etc.

    "},{"location":"integration-with-github/#github_from_pr_vs_develop_open_stable_prs","title":"Open stable pull requests","text":"

    For open pull requests that are stable (i.e. tests pass and no merge conflicts), the pull request is effectively treated as a patch to the current develop branch. This is done to ensure that contributions that are picked up via --from-pr are correctly evaluated.

    First, the current develop branch of the central easybuild-easyconfigs GitHub repository is downloaded to a temporary directory. Afterwards, the patch corresponding to the specified pull request is applied on top of the develop branch. This results in a correct reflection of how the easyconfig files would look like if the pull request would be merged, which is particularly important for testing of contributions (see also Uploading test reports).

    Easyconfig files touched by the pull request that are explicitly specified are then picked up from this location; see also Specifying particular easyconfig files.

    "},{"location":"integration-with-github/#github_from_pr_vs_develop_merged_prs","title":"Merged pull requests","text":"

    For merged pull requests, the current develop branch is considered to be the correct state of the easyconfigs touched by the pull request.

    Note that this implies that the easyconfig files being picked up are potentially different from the ones that appear in the specified pull request itself, taking into account that further updates may have been applied in the develop branch since the pull request got merged.

    "},{"location":"integration-with-github/#github_from_pr_vs_develop_closed_unstable_prs","title":"Closed or unstable pull requests","text":"

    For closed and unstable pull requests, only the branch corresponding to the pull request itself is being considered, which aligns with the semantics of --from-pr as it was before EasyBuild v2.9.0. In this case, the current develop branch is not taken into account.

    Note

    A pull request is considered unstable when GitHub reports merge conflicts or when GitHub Actions reports one or more failing tests.

    "},{"location":"integration-with-github/#github_from_pr_robot_synergy","title":"Synergy with --robot","text":"

    Since EasyBuild v1.15.0, the temporary directory containing the easyconfigs (and patch files) from the specified pull request is included in the robot search path.

    Up until EasyBuild v2.9.0, this directory was prepended to the robot search path, to ensure that easyconfigs that were modified in the respective pull request are picked up via --robot when they are required. Thus, for easyconfig files that were available in the pull request as well as locally, the ones from the specified pull request were preferred.

    This was changed in EasyBuild v2.9.0, where the directory containing the easyconfigs touched by the pull request is appended to the robot search path. This change was made to ensure that customized easyconfig files that are available in the robot search path are preferred over the (patched) easyconfig files from the develop branch (see also Relation between pull requests and current develop branch).

    For example, to build and install HPL with the intel/2015a toolchain, both of which are contributed via easyconfigs pull request #1238:

    $ eb --from-pr 1238 --dry-run --robot $HOME/easyconfigs\n== temporary log file in case of crash /tmp/eb-A1fRvw/easybuild-Eqc8Oi.log\nDry run: printing build status of easyconfigs and dependencies\n * [x] /home/example/easyconfigs/g/GCC/GCC-4.9.2.eb (module: GCC/4.9.2)\n * [x] /home/example/easyconfigs/i/icc/icc-2015.1.133-GCC-4.9.2.eb (module: icc/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/ifort/ifort-2015.1.133-GCC-4.9.2.eb (module: ifort/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/iccifort/iccifort-2015.1.133-GCC-4.9.2.eb (module: iccifort/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/impi/impi-5.0.2.044-iccifort-2015.1.133-GCC-4.9.2.eb (module: impi/5.0.2.044-iccifort-2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/iimpi/iimpi-7.2.3-GCC-4.9.2.eb (module: iimpi/7.2.3-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/imkl/imkl-11.2.1.133-iimpi-7.2.3-GCC-4.9.2.eb (module: imkl/11.2.1.133-iimpi-7.2.3-GCC-4.9.2)\n * [ ] /tmp/eb-A1fRvw/files_pr1238/intel-2015a.eb (module: intel/2015a)\n * [ ] /tmp/eb-A1fRvw/files_pr1238/HPL-2.1-intel-2015a.eb (module: HPL/2.1-intel-2015a)\n== temporary log file /tmp/eb-A1fRvw/easybuild-Eqc8Oi.log has been removed.\n== temporary directory /tmp/eb-A1fRvw has been removed.\n

    Note that the easyconfigs that are required to resolve dependencies and are available locally in $HOME/easyconfigs are being picked up as needed.

    "},{"location":"integration-with-github/#github_from_pr_specifying_easyconfigs","title":"Specifying particular easyconfig files","text":"

    Since EasyBuid v2.0.0 the particular easyconfigs to be used can be specified, rather than using all easyconfigs that are touched by the pull request (which is the default if no easyconfigs are specified alongside --from-pr).

    For example, to only use CMake-3.0.0-intel-2015a.eb from easyconfigs pull request #1330, and ignore the other easyconfigs being contributed in that same pull request for netCDF, WRF, ...:

    $ eb --from-pr 1330 CMake-3.0.0-intel-2015a.eb --dry-run --robot $HOME/easyconfigs\n== temporary log file in case of crash /tmp/eb-QhM_qc/easybuild-TPvMkJ.log\nDry run: printing build status of easyconfigs and dependencies\n * [x] /home/example/easyconfigs/g/GCC/GCC-4.9.2.eb (module: GCC/4.9.2)\n * [x] /home/example/easyconfigs/i/icc/icc-2015.1.133-GCC-4.9.2.eb (module: icc/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/ifort/ifort-2015.1.133-GCC-4.9.2.eb (module: ifort/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/iccifort/iccifort-2015.1.133-GCC-4.9.2.eb (module: iccifort/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/impi/impi-5.0.2.044-iccifort-2015.1.133-GCC-4.9.2.eb (module: impi/5.0.2.044-iccifort-2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/iimpi/iimpi-7.2.3-GCC-4.9.2.eb (module: iimpi/7.2.3-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/imkl/imkl-11.2.1.133-iimpi-7.2.3-GCC-4.9.2.eb (module: imkl/11.2.1.133-iimpi-7.2.3-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/intel/intel-2015a.eb (module: intel/2015a)\n * [x] /home/example/easyconfigs/n/ncurses/ncurses-5.9-intel-2015a.eb (module: ncurses/5.9-intel-2015a)\n * [ ] /tmp/eb-QhM_qc/files_pr1330/CMake-3.0.0-intel-2015a.eb (module: CMake/3.0.0-intel-2015a)\n== temporary log file /tmp/eb-QhM_qc/easybuild-TPvMkJ.log has been removed.\n== temporary directory /tmp/eb-QhM_qc has been removed.\n

    Again, note that locally available easyconfigs that are required to resolve dependencies are being picked up as needed.

    "},{"location":"integration-with-github/#github_include_easyblocks_from_pr","title":"Using easyblocks from pull requests","text":"

    (--include-easyblocks-from-pr, supported since EasyBuild v4.2.0)

    Via the --include-easyblocks-from-pr command line option, easyblocks that are added or modified by a particular pull request to the easybuild-easyblocks GitHub repository can be used (regardless of whether the pull request is merged or not).

    This can be useful to employ easyblocks that are not available yet in the active EasyBuild installation, or to test new contributions by combining --include-easyblocks-from-pr with --from-pr and --upload-test-report (see Uploading test reports).

    When --include-easyblocks-from-pr is used, EasyBuild will download all modified easyblocks to a temporary directory before processing them. Just like with --include-easyblocks (see Including additional easyblocks), the easyblocks that are included are preferred over the ones included in the EasyBuild installation.

    For example, to use the LAMMPS easyblock contributed via easyblocks pull request #1964 together with the LAMMPS v7Aug2019 easyconfigs contributed via easyconfigs pull request #9884:

    $ eb --from-pr 9884 --include-easyblocks-from-pr 1964 --list-easyblocks=detailed\n== temporary log file in case of crash /tmp/eb-Eq2zsJ/easybuild-1AaWf8.log\nEasyBlock (easybuild.framework.easyblock)\n...\n|   |   |-- EB_LAMMPS (easybuild.easyblocks.lammps @ /tmp/included-easyblocks-rD2HEQ/easybuild/easyblocks/lammps.py)\n...\n
    "},{"location":"integration-with-github/#github_upload_test_report","title":"Uploading test reports","text":"

    (--upload-test-report, supported since EasyBuild v1.13.0)

    Note

    requires that a GitHub token was required gist permissions is available, cfr. Installing a GitHub token

    For every installation performed with EasyBuild, a test report is generated. By default, the test report is copied in the installation directory, right next to the log file (see also Understanding EasyBuild logs).

    Using --upload-test-report, the test report can also be pushed to GitHub (as a gist, cfr. https://gist.github.com) to share it with others.

    Each test report includes:

    • an overview of the easyconfigs being processed
    • time & date
    • the exact eb command line that was used
    • the full EasyBuild configuration that was in place
    • information about the system on which EasyBuild was used (hostname, OS, architecture, etc.)
    • the list of modules that was loaded
    • the full environment of the session in which eb was run (note: can be filtered, see Filtering the environment details

    For each easyconfig that failed to install a partial log will be uploaded as a separate gist, and a link to this gist will be included in the test report.

    If --upload-test-report is combined with --from-pr, a comment referring to the test report (incl. a brief summary) will be placed in the respective pull request. This makes it a very powerful tool when testing contributions.

    Note

    If you want to easily access a test report without uploading it to GitHub, use --dump-test-report.

    Example:

    $ eb --from-pr 3153 --rebuild --upload-test-report\n== temporary log file in case of crash /tmp/eb-aqk20q/easybuild-wuyZBV.log\n== processing EasyBuild easyconfig /tmp/eb-aqk20q/files_pr3153/EasyBuild/EasyBuild-2.8.1.eb\n== building and installing EasyBuild/2.8.1...\n...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/software/EasyBuild/2.8.1/easybuild/easybuild-EasyBuild-2.8.1-20160603.090702.log\n== Test report uploaded to https://gist.github.com/1cb2db8a2913a1b8ddbf1c6fee3ff83c and mentioned in a comment in easyconfigs PR#3153\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-aqk20q/easybuild-wuyZBV.log* have been removed.\n== Temporary directory /tmp/eb-aqk20q has been removed.\n

    The resulting test report can be viewed at https://gist.github.com/1cb2db8a2913a1b8ddbf1c6fee3ff83c .

    Note

    It is common to use --rebuild in combination with --upload-test-report, to ensure that all easyconfigs in the pull request are rebuilt, resulting in a complete test report.

    "},{"location":"integration-with-github/#github_test_report_env_filter","title":"Filtering the environment details","text":"

    (--test-report-env-filter)

    Since the environment of the session in which eb was used may contain sensitive information, it can be filtered through --test-report-env-filter.

    This configuration option takes a regular expression that is used to determine which environment variables can be included in the test report (based on their name). Environment variables for which the name matches the specified regular expression will not be included in the test report.

    An example of a typical setting:

    export EASYBUILD_TEST_REPORT_ENV_FILTER='^SSH|USER|HOSTNAME|UID|.*COOKIE.*'\n
    "},{"location":"integration-with-github/#github_review_pr","title":"Reviewing easyconfig pull requests","text":"

    (--review-pr)

    A useful tool when reviewing pull requests for the easybuild-easyconfigs repository that add new or update existing easyconfig files is --review-pr.

    The 'files' tab in the GitHub interface shows the changes being made to existing files; using --review-pr the differences with one or more other similar easyconfig files, for example the one(s) with the same toolchain (version) and/or software version, can also be evaluated.

    This is very useful to quickly see how easyconfig files in pull requests differ from existing easyconfig files, and to maintain consistency across easyconfig files where desired.

    The --review-pr output consists of a 'multidiff' view per easyconfig file that is being touched by the specified pull request. The exact format of the output depends on whether EasyBuild is configured to allow colored output (enabled by default, see --color).

    "},{"location":"integration-with-github/#search-criteria-for-similar-easyconfigs","title":"Search criteria for similar easyconfigs","text":"

    The set of existing similar easyconfig files is determined by specific search criteria; the first one that results in a non-empty set of easyconfigs is retained.

    The search criteria consists of a combination of the software version criterion with additional restrictions.

    The software version criterion is one of the criterions below (considered in order), with x.y.z the software version of the easyconfig file from the pull request:

    • exact same software version
    • same major/minor software version (same x and y)
    • same major software version (same x)
    • no (partial) version match (so consider any version)

    The addition restrictions are the following (also considered in order):

    • matching versionsuffix and toolchain name/version
    • matching versionsuffix and toolchain name (any toolchain version)
    • matching versionsuffix (any toolchain name/version)
    • matching toolchain name/version (any versionsuffix)
    • matching toolchain name (any versionsuffix, toolchain version)
    • no extra requirements (any versionsuffix, toolchain name/version)
    "},{"location":"integration-with-github/#github_merge_pr","title":"Merging easyconfig pull requests","text":"

    (--merge-pr, supported since EasyBuild v3.3.1)

    EasyBuild maintainers need to take the Requirements for pull requests into account.

    They can merge a pull request to the easybuild-easyconfigs repository via eb --merge-pr, which will first verify whether the pull request meets the prescribed requirements (at least the ones that can be verified automatically).

    For example, for a pull request that is not eligible for merging yet:

    $ eb --merge-pr 4725\n== temporary log file in case of crash /tmp/eb-ba7rVp/easybuild-fBfcwN.log\n\neasybuilders/easybuild-easyconfigs PR #4725 was submitted by vanzod, you are using GitHub account 'example'\n\nChecking eligibility of easybuilders/easybuild-easyconfigs PR #4725 for merging...\n* targets develop branch: OK\n* test suite passes: FAILED => not eligible for merging!\n* last test report is successful: (no test reports found) => not eligible for merging!\n* approved review: MISSING => not eligible for merging!\n* milestone is set: no milestone found => not eligible for merging!\n\nWARNING: Review indicates this PR should not be merged (use -f/--force to do so anyway)\n

    When a PR is considered eligible for merging, EasyBuild will go ahead and merge it:

    $ eb --merge-pr 4829\n== temporary log file in case of crash /tmp/eb-F9a3oB/easybuild-3B2wdq.log\n\neasybuilders/easybuild-easyconfigs PR #4829 was submitted by SethosII, you are using GitHub account 'example'\n\nChecking eligibility of easybuilders/easybuild-easyconfigs PR #4829 for merging...\n* targets develop branch: OK\n* test suite passes: OK\n* last test report is successful: OK\n* approved review: OK (by boegel)\n* milestone is set: OK (3.3.1)\n\nReview OK, merging pull request!\n\nAdding comment to easybuild-easyconfigs issue #4829: 'Going in, thanks @SethosII!'\nMerged easybuilders/easybuild-easyconfigs pull request #4829\n

    Note

    eb --merge-pr can also be run in dry run mode, by also using one of the following options: --dry-run, -D, --extended-dry-run, -x.

    This results in the same checks being performed but skips the actual merging of the pull request, resulting in messages like:

    $ eb --merge-pr 4829 --dry-run\n\n...\n\nReview OK, merging pull request!\n\n[DRY RUN] Adding comment to easybuild-easyconfigs issue #4829: 'Going in, thanks @SethosII!'\n[DRY RUN] Merged easybuilders/easybuild-easyconfigs pull request #4829\n
    "},{"location":"integration-with-github/#github_new_update_pr","title":"Submitting new and updating pull requests","text":"

    (--new-pr, --update-pr, supported since EasyBuild v2.6.0)

    EasyBuild provides two simple yet powerful features that make contributing to the central EasyBuild repositories significantly easier and less error-prone, especially for people who are not very familiar with git and/or GitHub yet:

    • --new-pr to create new pull requests
    • --update-pr to update existing pull requests
    "},{"location":"integration-with-github/#github_preview_pr","title":"Previewing easyconfig pull requests","text":"

    (--preview-pr, supported since EasyBuild v3.5.0)

    It is very useful to quickly see how easyconfig files in pull requests differ from existing easyconfig files, and to maintain consistency across easyconfig files where desired.

    Maintainers will use --review-pr as part of the review process once the PR is submitted (see Reviewing easyconfig pull requests), but it is now possible to preview that output before submitting a PR, eventually fixing any inconsistencies in advance.

    To preview a PR before submitting, simply use --preview-pr with the list of files to submit:

    eb --preview-pr example.eb example.patch 

    Besides accepting local files instead of a PR number, --preview-pr works the same as --review-pr, as described in Comparing with existing easyconfigs.

    "},{"location":"integration-with-github/#github_new_pr","title":"Submitting pull requests","text":"

    (--new-pr)

    Note

    Submitting pull requests using --new-pr only works for the easybuild-easyconfigs repository, for now. For other repositories, see the manual procedure documented at Pull requests.

    To create a new pull request, the --new-pr command line option can be used, provided that the necessary requirements are fulfilled (see Requirements).

    In its simplest form, you just provide the location of the file(s) that you want to include in the pull request:

    eb --new-pr test.eb\n

    This takes care of all the steps required to make a contribution, i.e.:

    • set up a working copy of the relevant EasyBuild repository (e.g., easybuild-easyconfigs)
    • create a new 'feature' branch, starting from the up-to-date develop branch
    • renaming easyconfig files according to their name, version, versionsuffix and toolchain
    • moving easyconfig files to the right location in the repository (e.g. easybuild/easyconfigs/e/EasyBuild/)
    • staging and committing the files in the feature branch
    • pushing the feature branch to your fork of the relevant EasyBuild repository on GitHub
    • creating the pull request, targeting the develop branch of the central EasyBuild repository (e.g. easybuilders/easybuild-easyconfigs)

    It should be clear that automating this whole procedure with a single simple eb command greatly lowers the bar for contributing, especially since it even alleviates the need for interacting directly with git entirely!

    The working copy of the EasyBuild repository is created in a temporary location, and cleaned up once the pull request has been created. EasyBuild does not make changes to an existing working copy you may have in place already (cfr. Specify location of working directories).

    Note

    When modifying existing files via --new-pr, you must specify a (meaningful) commit message using --pr-commit-msg, see Controlling pull request metadata.

    "},{"location":"integration-with-github/#example","title":"Example","text":"

    For example, to create a pull request for a new version of, let's say, EasyBuild:

    $ eb --new-pr example.eb\n== temporary log file in case of crash /tmp/eb-mWKR9u/easybuild-cTpf2W.log\n== copying /home/example/git-working-dirs/easybuild-easyconfigs...\n== fetching branch 'develop' from https://github.com/easybuilders/easybuild-easyconfigs.git...\n\nOpening pull request\n* target: easybuilders/easybuild-easyconfigs:develop\n* from: boegel/easybuild-easyconfigs:20160530131447_new_pr_EasyBuild281\n* title: \"{tools}[dummy/dummy] EasyBuild v2.8.1\"\n* description:\n\"\"\"\n(created using `eb --new-pr`)\n\n\"\"\"\n* overview of changes:\n .../easyconfigs/e/EasyBuild/EasyBuild-2.8.1.eb     | 35 ++++++++++++++++++++++\n 1 file changed, 35 insertions(+)\n\nOpened pull request: https://github.com/easybuilders/easybuild-easyconfigs/pull/3153\n

    Yes, it's that easy!

    "},{"location":"integration-with-github/#github_update_pr","title":"Updating existing pull requests","text":"

    (--update-pr)

    Note

    Updating pull requests using --update-pr only works for the easybuild-easyconfigs repository, for now. For other repositories, see the manual procedure documented at Pull requests.

    Similarly to creating new pull requests, existing pull requests can be easily updated using eb --update-pr (regardless of whether or not they were created with --new-pr).

    The usage is equally simple, for example to update pull request #1234 just list the changed/new file(s):

    eb --update-pr 1234 example.eb\n

    Again, this take care of the whole procedure required to update an existing pull request:

    • set up a working copy of the relevant EasyBuild repository (e.g., easybuild-easyconfigs)
    • determining the branch corresponding to the pull request, which should be updated by pushing a new commit to it
    • checking out that branch
    • renaming easyconfig files according to their name, version, versionsuffix and toolchain
    • moving easyconfig files to the right location in the repository (e.g. easybuild/easyconfigs/e/EasyBuild/)
    • staging and committing the (changed/new) files
    • pushing the updated branch to GitHub

    Again, not a single git command to be executed; the only thing that is required is the ID of the pull request that should be updated.

    Just like with --new-pr, this is done in a temporary working copy of the repository, no changes are made to a possible existing working copy.

    Note

    When using --update-pr you must specify a (meaningful) commit message via --pr-commit-msg, see Controlling pull request metadata.

    "},{"location":"integration-with-github/#example_1","title":"Example","text":"

    For example, to update pull request #3153 with a changed easyconfig file:

    $ eb --update-pr 3153 example.eb\n== temporary log file in case of crash /tmp/eb-gO2wJu/easybuild-37Oo2z.log\n== Determined branch name corresponding to easybuilders/easybuild-easyconfigs PR #3153: 20160530131447_new_pr_EasyBuild281\n== copying /home/example/git-working-dirs/easybuild-easyconfigs...\n== fetching branch '20160530131447_new_pr_EasyBuild281' from https://github.com/boegel/easybuild-easyconfigs.git...\nOverview of changes:\n easybuild/easyconfigs/e/EasyBuild/EasyBuild-2.8.1.eb | 3 +++\n 1 file changed, 3 insertions(+)\n\nUpdated easybuilders/easybuild-easyconfigs PR #3159 by pushing to branch boegel/20160530131447_new_pr_EasyBuild281\n
    "},{"location":"integration-with-github/#github_new_update_pr_patches","title":"Including patch files in easyconfigs pull requests","text":"

    Next to providing one or more easyconfig files to add/update via --new-pr or --update-pr, you can also include patch files that are required by those easyconfig files.

    EasyBuild will try and figure out where each patch file should be located (i.e. in the same directory as the easyconfig files that require that patch file), by scanning the provided easyconfigs (or, if needed, scanning all existing easyconfig files).

    For example:

    eb --new-pr example.eb example.patch --pr-commit-msg \"just an example\"\n

    Note

    When providing one or more patch files, you must specify a (meaningful) commit message via --pr-commit-msg, see Controlling pull request metadata.

    "},{"location":"integration-with-github/#github_new_update_pr_delete","title":"Deleting easyconfig files or patches","text":"

    Next to adding easyconfigs files or patches, or modifying existing ones, you can also specify to delete particular files, by including a colon character : before the name of the file.

    For example:

    eb --new-pr :example-1.0.eb --pr-commit-msg \"delete example-1.0.eb easyconfig file\"\n

    Note

    When deleting existing files, you must specify a custom commit message using --pr-commit-msg, see also Controlling pull request metadata.

    "},{"location":"integration-with-github/#github_controlling_pr_metadata","title":"Controlling pull request metadata","text":"

    You can control the metadata for pull requests using the following configuration options:

    • --pr-branch-name: branch name for new pull requests
    • --pr-commit-msg: commit message to use when creating new or updating existing pull requests
    • --pr-descr: pull request description
    • --pr-title: pull request title

    EasyBuild will use sensible defaults for each of these, see below.

    "},{"location":"integration-with-github/#default-branch-name-for-new-pull-requests","title":"Default branch name for new pull requests","text":"

    The branch name for new pull requests will be composed from:

    • a timestamp, down to the second in an attempt to make it unique
      • example: 20160513141133 for a pull request created on May 13th 2016, 2:11:33 PM
    • a label new_pr
    • the software name and version of the first easyconfig file, with some filtering (e.g. remove .'s)
      • example: GCC530 for GCC v5.3.0

    Full example: 20160513141133_new_pr_GCC530

    Although there is usually no reason to change this default, it can be done if desired using --pr-branch-name when opening a new pull request with --new-pr.

    "},{"location":"integration-with-github/#default-commit-message","title":"Default commit message","text":"

    EasyBuild will try to generate an appropriate default commit message when only new easyconfigs are being added via --new-pr.

    When existing easyconfigs are being modified, patch files are being added/updated or --update-pr is used, a custom (meaningful) commit message must be provided via --pr-commit-msg (see Controlling pull request metadata).

    "},{"location":"integration-with-github/#default-pull-request-description","title":"Default pull request description","text":"

    By default, the pull description will only contain the following text:

    (created using eb --new-pr)\n

    It is generally advised to provide more descriptive information, although the changes made by the pull request may be self-explanatory (e.g. when only adding new easyconfig files).

    To change this default text, you can either use --pr-descr or edit the description via the GitHub interface after the pull request has been opened.

    Particularly useful information to specify here is dependencies on other pull requests, by copy-pasting the respective URLs with a short descriptive message like 'depends on PR <URL>'.

    "},{"location":"integration-with-github/#default-pull-request-title","title":"Default pull request title","text":"

    The pull request title is derived from the easyconfig files being changed/added, taking into account the recommendation for easyconfig pull requests to clearly specify module class, toolchain, software name/version, as follows: {<module_class>}[<toolchain>] <software_name> v<software_version>.

    For example, when opening a pull request for an easyconfig for Python 2.7.11 with the intel/2016a toolchain, the default pull request title will be something like: {lang}[intel/2016a] Python v2.7.11 .

    If multiple easyconfig files are provided, the respective software names/versions will be included separated by a ,, up until the first 3 easyconfig files (to avoid excessively lengthy pull request titles).

    In case (only) existing easyconfig files are being changed, it's advisable to provide a more descriptive title using --pr-title.

    "},{"location":"integration-with-github/#github_configuring_new_update_pr","title":"Configuring --new-pr and --update-pr","text":"

    By default, --new-pr and --update-pr affect pull requests to the central easybuilders/easybuild-easyconfigs repository.

    However, this can be changed with the following configurations options:

    • --pr-target-account (default: easybuilders): target GitHub account for new pull requests
    • --pr-target-branch (default: develop): target branch for new pull requests
    • --pr-target-repo (default: easybuild-easyconfigs): target repository for new pull requests
    "},{"location":"integration-with-github/#github_synergy_new_update_pr_dry_run","title":"Synergy with --dry-run/-D and --extended-dry-run/-x","text":"

    Both --new-pr and --update-pr are 'dry run-aware', in the sense that you can combine them with either --dry-run/-D- or --extended-dry-run/-x to preview the pull request they would create/update without actually doing so.

    For example:

    $ eb --new-pr EasyBuild-2.9.0.eb -D\n== temporary log file in case of crash /tmp/eb-1ny69k/easybuild-UR1Wr4.log\n== copying /home/example/git-working-dirs/easybuild-easyconfigs...\n== fetching branch 'develop' from https://github.com/easybuilders/easybuild-easyconfigs.git...\n\nOpening pull request [DRY RUN]\n* target: easybuilders/easybuild-easyconfigs:develop\n* from: boegel/easybuild-easyconfigs:20160603105641_new_pr_EasyBuild290\n* title: \"{tools}[dummy/dummy] EasyBuild v2.9.0\"\n* description:\n\"\"\"\n(created using `eb --new-pr`)\n\n\"\"\"\n* overview of changes:\n .../easyconfigs/e/EasyBuild/EasyBuild-2.9.0.eb     | 35 ++++++++++++++++++++++\n 1 file changed, 35 insertions(+)\n

    The only difference between using --dry-run and --extended-dry-run is that the latter will show the full diff of the changes (equivalent to git diff), while the former will only show a summary of the changes (equivalent to git diff --stat, see example above).

    "},{"location":"locks/","title":"Locks","text":""},{"location":"locks/#locks","title":"Locks to prevent duplicate installations running at the same time","text":"

    Easybuild creates a lock before starting the installation of an easyconfig file, to avoid a collision between multiple installations running at the same time.

    If an EasyBuild session tries to install an easyconfig file when a lock for that installation already exists, it will be automatically aborted with an error like \"Lock ... already exists, aborting!\".

    Note

    Locking of installations was implemented in EasyBuild version 4.2.0 .

    "},{"location":"locks/#locks_implementation","title":"Locking implementation details","text":"

    Easybuild will create a lock when starting an installation if no corresponding lock exists yet, regardless of whether the installation was requested explicitly or is performed to resolve a dependency.

    The name of the lock corresponds to the full path of the installation directory, with slashes (/) and dashes (-) replaced by underscores (_), and with an additional .lock added at the end.

    Locks are created in the locks directory.

    The lock created by EasyBuild is an empty directory (rather than a file), because that can be created more atomically on modern filesystems.

    For example, if OpenFOAM-v2206-foss-2022a.eb is being installed to /apps/easybuild/software, an empty directory that serves as a lock for this installation will be created at /apps/easybuild/software/.locks/_apps_easybuild_software_OpenFOAM_7_foss_2019b.lock (assuming the default locks directory is used).

    A lock is automatically removed by Easybuild when the installation ends, regardless of whether the installation was successful or not. Therefore, new installations of the same easyconfig will be aborted in case of:

    • another installation for the same easyconfig is in progress;
    • a previous installation of the same easyconfig was abruptly interrupted;
    "},{"location":"locks/#locks_removing","title":"Removing locks","text":"

    If a previous installation was abruptly interrupted and a lock was left in place, it can be easily removed using the rmdir command (since the lock is actually an empty directory).

    "},{"location":"locks/#locks_configuration_options","title":"Configuration options related to installation locks","text":"

    The behaviour of the locking mechanism in Easybuild can be tuned with the following configuration options:

    "},{"location":"locks/#locks_ignore","title":"Ignoring locks","text":"

    (--ignore-locks)

    Using the --ignore-locks configuration option, you can instruct EasyBuild to ignore any existing locks. Locks that exist are left untouched, even if the installation completes successfully.

    Use this with caution, since installations may be (partially) overwritten if another EasyBuild session is also performing those installations!

    "},{"location":"locks/#locks_wait","title":"Waiting for locks to be removed","text":"

    (--wait-on-lock-interval)

    Wait interval (in seconds) to use when waiting for existing lock to be removed

    (--wait-on-lock-limit)

    Maximum amount of time (in seconds) to wait until lock is released (0 means no waiting at all, exit with error; -1 means no waiting limit, keep waiting).

    (--wait-on-lock <secs>) (DEPRECATED)

    Using the --wait-on-lock configuration option, you can change how EasyBuild deals with existing locks, by specifying how frequently EasyBuild should check whether an existing lock was removed. By specifying a non-zero value secs, you can indicate how many seconds EasyBuild should wait before checking again whether the lock is still in place.

    Warning

    The --wait-on-lock configuration option is deprecated, please use --wait-on-lock-interval and --wait-on-lock-limit instead!

    Note

    If the lock is never removed, the EasyBuild session will never terminate; it will keep checking every S seconds whether the lock is still in place.

    By default, EasyBuild will abort the installation with an error like \"Lock ... already exists, aborting!\" if a corresponding lock already exists.

    "},{"location":"locks/#locks_dir","title":"Locks directory","text":"

    If desired, an alternate location where locks should be created and checked for can be specified via the --locks-dir configuration option.

    Note

    Keep in mind that a path on a shared filesystem should be used, to ensure that active EasyBuild sessions running on different systems use the same locks directory.

    By default, locks are created in a hidden subdirectory .locks in the top-level software installation directory; that is, the software subdirectory of the installpath configuration setting of the active EasyBuild session.

    "},{"location":"log-files/","title":"Understanding EasyBuild logs","text":"

    EasyBuild thoroughly keeps track of the executed build and install procedures. This page details some of the specifics, to help you making sense of them.

    "},{"location":"log-files/#basic-information","title":"Basic information","text":"

    During an invocation of the eb command, a temporary log file is provided. This log can be consulted in case any problems occur during the process. Right before completing successfully, EasyBuild will clean up this temporary log file.

    A separate log file is created for each build and install procedure that is performed. After each successful installation, this application log file is copied to the install directory for future reference.

    By default, the application log file is copied to a subdirectory of the installation prefix named easybuild, and has a filename like easybuild-WRF-4.4.1-20230426.143346.log for example, which corresponds to the filename template easybuild-%(name)s-%(version)s-%(date)s.%(time)s.log. This aspect can be tweaked via the --logfile-format configuration option.

    Example:

    $ eb WRF-4.4.1-foss-2022b-dmpar.eb\n== Temporary log file in case of crash /tmp/eb-1zbqix6e/easybuild-1ixy86r2.log\n[...]\n== building and installing WRF/4.4.1-foss-2022b-dmpar...\n[...]\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file(s) /home/example/.local/easybuild/software/WRF/4.4.1-foss-2022b-dmpar/easybuild/easybuild-WRF-4.4.1-20230531.181321.log\n== Build succeeded for 1 out of 1\n== temporary log file /tmp/eb-1zbqix6e/easybuild-1ixy86r2.log* has been removed.\n== temporary directory /tmp/eb-1zbqix6e has been removed.\n

    Note

    Enabling debug mode using the --debug or -d command line option ensures that all details of the executed build and installation procedure are included in the log file, but will also result is significantly bigger and more verbose logs.

    Tip

    Always include a reference to a log file (even if partial) when reporting a potential bug in EasyBuild. A particularly useful way of doing so is by creating a Gist (https://gist.github.com/), and sharing the corresponding URL. This is much better than sending a lengthy log file via email, since it can be easily shared across different communication channels (mailing list, IRC, IM, etc.).

    "},{"location":"log-files/#navigating-log-files","title":"Navigating log files","text":"

    Extracting the information you're interested in from an EasyBuild log file may be a daunting task, especially for debug logs. The information and guidelines in this section should make navigating logs less scary.

    "},{"location":"log-files/#log-message-format","title":"Log message format","text":"

    Each log message as emitted by EasyBuild follows a well-defined format. Example:

    == 2023-05-31 16:11:21,044 easyblock.py:313 INFO This is EasyBuild 4.7.3 (framework: 4.7.3, easyblocks: 4.7.3) on host example.\n

    Each log line consists of the following parts:

    • a prefix label ==, which is useful to discriminate between EasyBuild log messages and the output of executed shell commands;
    • date and time information (e.g., 2023-05-31 16:11:21,044);
    • the Python module/class/function that is responsible for the log message (e.g., easyblock.py:313);
    • the log level (e.g., INFO);
    • and a string with the actual log message at the end
    "},{"location":"log-files/#useful-handles-in-log-files","title":"Useful handles in log files","text":"

    Next to looking for a particular search pattern (e.g., [Ee]rror), there are a couple of handles that can be used to jump around in log files.

    "},{"location":"log-files/#step-markers","title":"Step markers","text":"

    For each step performed in the build and installation process, corresponding log messages is emitted. For example:

    == 2023-05-31 16:11:44,977 build_log.py:267 INFO configuring...\n== 2023-05-31 16:11:44,981 easyblock.py:3926 INFO Starting configure step\n[...]\n== 2023-05-31 16:11:44,982 easyblock.py:3934 INFO Running method configure_step part of step configure\n

    This allows you to navigate a log file step by step, for example using the _step search pattern.

    "},{"location":"log-files/#executed-shell-commands","title":"Executed shell commands","text":"

    For each executed shell command, log messages are included with the full command line, the location where the command was executed and the command's output and exit code. For example:

    == 2023-05-31 18:59:24,222 run.py:176 DEBUG run_cmd: Output of \"/home/example/.local/easybuild/software/WRF/4.4.1-foss-2022b-dmpar/WRF-4.4.1/compile -j 8 wrf\" will be logged to /tmp/eb-1zbqix6e/easybuild-run_cmd-ueqo5bn0.log\n== 2023-05-31 18:59:24,225 run.py:217 DEBUG run_cmd: running cmd /home/example/.local/easybuild/software//WRF/4.4.1-foss-2022b-dmpar/WRF-4.4.1/compile -j 8 wrf (in /home/example/.local/easybuild/software//WRF/4.4.1-foss-2022b-dmpar/WRF-4.4.1)\n[...]\n== 2023-05-31 20:06:35,979 run.py:650 DEBUG cmd \"/home/example/.local/easybuild/software/WRF/4.4.1-foss-2022b-dmpar/WRF-4.4.1/compile -j 8 wrf\" exited with exit code 0 and output:\n

    If you are primarily interested in the different commands as they were executed by EasyBuild, you can use INFO cmd (or run_cmd, in debug logs) as a search pattern.

    Note

    Next to the configure/build/install commands, EasyBuild also runs a couple of other commands to obtain system information, or to query the modules tool. Typically, a single invocation of eb involves executing a dozen or so different shell commands, minimally.

    "},{"location":"maintainers/","title":"EasyBuild maintainers","text":""},{"location":"maintainers/#maintainers_criteria","title":"Criteria","text":"

    EasyBuild maintainers should meet the following criteria:

    • being sufficiently familiar with the contribution procedure (see Contributing)
    • frequently contributing to the EasyBuild GitHub repositories
    • being an active member of the EasyBuild community for a significant amount of time, i.e.:
      • following the EasyBuild mailing list and participating in discussions (see Getting help)
      • actively participating in the EasyBuild IRC or Slack channel (see Getting help);
      • (occasionally) joining in on the EasyBuild conference calls (see https://github.com/easybuilders/easybuild/wiki/Conference-calls)
    • having access to a working setup for submitting test reports (see Test reports for easyconfig contributions (--upload-test-report))
    "},{"location":"maintainers/#maintainers_roles","title":"Roles","text":""},{"location":"maintainers/#maintainers_release_manager","title":"Release managers","text":"

    The release managers are responsible for releasing new stable EasyBuild versions on a regular basis, with the help of the other EasyBuild maintainers.

    Sebastian, Miguel & Kenneth have been working together to get EasyBuild releases out the door on a regular basis (about once every 6 weeks, see https://pypi.org/project/easybuild/#history).

    • Sebastian Achilles (JSC)
      • GitHub: @SebastianAchilles - e-mail: s.achilles (at) fz-juelich.de - IRC/Slack: Sebastian Achilles
    • Miguel Dias Costa (National University of Singapore)
      • GitHub: @migueldiascosta - e-mail: migueldiascosta (at) nus.edu.sg - IRC/Slack: migueldiascosta
    • Kenneth Hoste (HPC-UGent)
      • GitHub: @boegel - e-mail: kenneth.hoste (at) ugent.be - IRC/Slack: boegel
    "},{"location":"maintainers/#maintainers_easybuild_repo","title":"Maintainers","text":"

    The EasyBuild maintainers all have admin access to the different EasyBuild GitHub repositories:

    • https://github.com/easybuilders/easybuild (documentation (https://easybuild.readthedocs.io), EasyBuild website, easybuild metapackage)
    • https://github.com/easybuilders/easybuild-framework (EasyBuild framework)
    • https://github.com/easybuilders/easybuild-easyblocks (central repository for easyblocks)
    • https://github.com/easybuilders/easybuild-easyconfigs (central repository for easyconfigs)

    (maintainers are listed in alphabetical order, by last name)

    • Sebastian Achilles (JSC)
      • GitHub: @SebastianAchilles - e-mail: s.achilles (at) fz-juelich.de - IRC/Slack: Sebastian Achilles
    • Damian Alvarez (JSC)
      • GitHub: @damianam - e-mail: d.alvarez (at) fz-juelich.de - IRC/Slack: dalvarez
    • Simon Branford (BEAR - University of Birmingham)
      • GitHub: @branfosj - e-mail: s.j.branford (at) bham.ac.uk - IRC/Slack: Simon
    • Miguel Dias Costa (National University of Singapore)
      • GitHub: @migueldiascosta - e-mail: migueldiascosta (at) nus.edu.sg - IRC/Slack: migueldiascosta
    • Alex Domingo (Vrije Universiteit Brussel)
      • GitHub: @lexming - e-mail: alex.domingo.toro (at) vub.be - IRC/Slack: lexming
    • Bob Dr\u00f6ge (University of Groningen)
      • GitHub: @bedroge - e-mail: b.e.droge (at) rug.nl - IRC/Slack: Bob Dr\u00f6ge
    • Pablo Escobar (sciCORE, University of Basel)
      • GitHub: @pescobar - e-mail: pablo.escobarlopez (at) unibas.ch - IRC/Slack: pescobar
    • Fotis Georgatos (SDSC)
      • GitHub: @fgeorgatos - e-mail: kefalonia (at) gmail.com - IRC/Slack: fotis
    • Jasper Grimm (University or York)
      • GitHub: @jfgrimm - e-mail: jasper.grimm (at) york.ac.uk - IRC/Slack: Jasper
    • Bal\u00e1zs Hajgat\u00f3 (HPC-UGent)
      • GitHub: @hajgato - e-mail: balazs.hajgato (at) ugent.be - IRC/Slack: hajgato
    • Kenneth Hoste (HPC-UGent)
      • GitHub: @boegel - e-mail: kenneth.hoste (at) ugent.be - IRC/Slack: boegel
    • Adam Huffman (Big Data Institute, University of Oxford)
      • GitHub: @verdurin - e-mail: adam.huffman (at) gmail.com - IRC/Slack: verdurin
    • Samuel Moors (Vrije Universiteit Brussel)
      • GitHub: @smoors - e-mail: samuel.moors (at) vub.be - IRC/Slack: smoors
    • Alan O'Cais (CECAM)
      • GitHub: @ocaisa - e-mail: alan.ocais (at) cecam.org - IRC/Slack: ocaisa
    • Mikael \u00d6hman (Chalmers University of Technology)
      • GitHub: @Micket - e-mail: micketeer (at) gmail.com - IRC/Slack: micketeer
    • Bart Oldeman (ComputeCanada)
      • GitHub: @bartoldeman - e-mail: bart.oldeman (at) calculquebec.ca - IRC/Slack: bartoldeman
    • Ward Poelmans (Vrije Universiteit Brussel)
      • GitHub: @wpoely86 - e-mail: wpoely86 (at) gmail.com - IRC/Slack: wpoely86
    • \u00c5ke Sandgren (Ume\u00e5 University, Sweden)
      • GitHub: @akesandgren - e-mail: ake.sandgren (at) hpc2n.umu.se - IRC/Slack: ake_s
    • Caspar Van Leeuwen (SURFsara, Netherlands)
      • GitHub: @casparvl - e-mail: caspar.vanleeuwen (at) surfsara.nl - IRC/Slack: Caspar Van Leeuwen
    • Davide Vanzo (Microsoft)
      • GitHub: @vanzod - e-mail: davide.vanzo (at) microsoft.com - IRC/Slack: vanzod
    • Lars Viklund (Ume\u00e5 University, Sweden)
      • GitHub: @zao - e-mail: lars.viklund (at) umu.se - IRC/Slack: zao
    "},{"location":"manipulating-dependencies/","title":"Manipulating dependencies","text":"

    A couple of different ways are available to manipulate the list of dependencies that are specified for the software packages being installed.

    "},{"location":"manipulating-dependencies/#filter_deps","title":"Filtering out dependencies using --filter-deps","text":"

    To avoid that certain dependencies are being installed, a list of software names can be specified to --filter-deps. Any time a dependency with a name from this list is specified, it will be simply filtered out by EasyBuild, and thus disregarded when resolving dependencies, loading modules for the dependencies in the build environment, and including 'module load' statements in the generated module files.

    This can be useful when particular tools and libraries are already provided by OS packages (or in some other way), and should not be reinstalled as modules by EasyBuild.

    For example:

    • overview of dependencies of HDF5:

      $ eb HDF5-1.8.13-intel-2015a.eb -D\n...\n* [ ] $CFGS/i/intel/intel-2015a.eb (module: intel/2015a)\n* [ ] $CFGS/z/zlib/zlib-1.2.8-intel-2015a.eb (module: zlib/1.2.8-intel-2015a)\n* [ ] $CFGS/s/Szip/Szip-2.1-intel-2015a.eb (module: Szip/2.1-intel-2015a)\n* [ ] $CFGS/h/HDF5/HDF5-1.8.13-intel-2015a.eb (module: HDF5/1.8.13-intel-2015a)\n
    • overview of dependencies of HDF5, with zlib and Szip excluded:

      $ eb HDF5-1.8.13-intel-2015a.eb --filter-deps=zlib,Szip -D\n...\n* [ ] $CFGS/i/intel/intel-2015a.eb (module: intel/2015a)\n* [ ] $CFGS/h/HDF5/HDF5-1.8.13-intel-2015a.eb (module: HDF5/1.8.13-intel-2015a)\n
    "},{"location":"manipulating-dependencies/#filter_deps_by_version","title":"Filtering dependencies based on version","text":"

    Since EasyBuild v3.8.0, filtering dependencies based on their version is also supported.

    For each entry in --filter-deps, the expected format is either:

    • <name>: a software name without any version specification, to indicate that this dependency should always be filtered out (regardless of its version)
    • examples: X11, zlib
    • <name>=<version>: a software name and version, to indicate that a particular version of this dependency should be filtered out
    • examples: zlib=1.2.8, ncurses=5.9
    • <name>=<lower_limit>:<upper_limit>: a software name and a version range, to indicate that any version of this dependency that falls within the specified range should be filtered out

    When a version range is specified, a lower limit and/or upper limit can be specified (separated by :). In other words, the version range can be open ended. The : separator is strictly required.

    For both limits, you must indicate whether it is either:

    • inclusive, by using [ for the lower limit, and ] for the upper limit
    • exclusive, by using ] for the lower limit, and [ for the upper limit

    Examples:

    • to filter out zlib version 1.2 up until 1.2.99 (incl.), use: zlib=[1.2:1.2.99]
    • to filter out ncurses version 5.0 or newer, use: ncurses=[5.0:
    • to filter out any version of CMake that is older than 4.0, use: CMake=:4.0[
    "},{"location":"manipulating-dependencies/#hide_deps","title":"Installing dependencies as hidden modules using --hide-deps","text":"

    Selected software packages can be marked to be installed as hidden modules (i.e., modules that are not visible via 'module avail', but can be loaded) whenever they are included as a dependency, via the --hide-deps configuration option.

    For example (note the preceding '.' in the last part of the module names for zlib and Szip):

    $ eb HDF5-1.8.13-intel-2015a.eb --hide-deps=zlib,Szip -D\n...\n* [ ] $CFGS/i/intel/intel-2015a.eb (module: intel/2015a)\n* [ ] $CFGS/z/zlib/zlib-1.2.8-intel-2015a.eb (module: zlib/.1.2.8-intel-2015a)\n* [ ] $CFGS/s/Szip/Szip-2.1-intel-2015a.eb (module: Szip/.2.1-intel-2015a)\n* [ ] $CFGS/h/HDF5/HDF5-1.8.13-intel-2015a.eb (module: HDF5/1.8.13-intel-2015a)\n

    Note

    Using Lmod (version >= 5.7.5), hidden modules can be made visible in the output of 'module avail' using the --show-hidden option.

    For example:

    $ module avail bzip2\n\nUse \"module spider\" to find all possible modules.\nUse \"module keyword key1 key2 ...\" to search for all possible modules matching any of the \"keys\".\n\n$ module --show-hidden avail bzip2\n----- /home/example/.local/easybuild/modules/all -----\nbzip2/.1.0.6\n\nUse \"module spider\" to find all possible modules.\nUse \"module keyword key1 key2 ...\" to search for all possible modules matching any of the \"keys\".\n
    "},{"location":"manipulating-dependencies/#minimal_toolchains","title":"Using minimal toolchains for dependencies","text":"

    By default, EasyBuild will try to resolve dependencies using the same toolchain as the one that is used for the software being installed, unless a specific toolchain is specified for the dependency itself (see Dependencies).

    Using the --minimal-toolchains configuration option, you can instruct EasyBuild to consider subtoolchains for dependencies in the reverse order (from the bottom of the toolchain hierarchy to the top). This can be useful to refrain from having to frequently hardcode specific toolchains in order to avoid having the same dependency version installed with multiple toolchains that are compatible with each other. Although hardcoding the toolchain for dependencies will work fine, it severely limits the power of other EasyBuild features, like --try-toolchain for example.

    When instructed to use minimal toolchains, EasyBuild will check whether an easyconfig file is available (in the robot search path, see Searching for easyconfigs: the robot search path) for that dependency using the different subtoolchains of the toolchain specified for the 'parent' software. Subtoolchains are considered 'bottom-up', i.e. starting with the most minimal subtoolchain (typically a compiler-only toolchain), and then climbing up towards the toolchain that is specified for the software being installed.

    Note that if a specific toolchain is specified for a particular dependency, EasyBuild will stick to using it, even when instructed to use minimal toolchains. Also note that as of v3.0, if no easyconfig exists to resolve a dependency using the default toolchain EasyBuild will search for the dependency using a compatible subtoolchain (the difference being that the search order is from the top of the toolchain hierarchy to the bottom).

    "},{"location":"manipulating-dependencies/#minimal_toolchains_system","title":"Considering system as minimal toolchain","text":"

    The System toolchain is only considered as the most minimal subtoolchain if the --add-system-to-minimal-toolchains configuration option is enabled. By default, this configuration option is disabled.

    "},{"location":"manipulating-dependencies/#minimal_toolchains_existing_modules","title":"Taking existing modules into account","text":"

    You can instruct EasyBuild to take existing modules into account when determining which subtoolchain should be used for each of the dependencies, using the --use-existing-modules configuration option.

    By default existing modules are ignored, meaning that the EasyBuild dependency resolution mechanism will pick a minimal toolchain for each dependency solely based on the available easyconfig files (if the --minimal-toolchains configuration option is enabled, that is).

    With --use-existing-modules enabled, EasyBuild will first check whether modules exist for the dependencies that were built with the toolchain or any of the subtoolchains (searching top-down). If so, the toolchain of the first encountered existing module will determine the toolchain being selected. If not, the toolchain to use will be determined based on the available easyconfig files.

    "},{"location":"manipulating-dependencies/#minimal_toolchains_example","title":"Example","text":"

    Consider the following (partial) easyconfig file for Python v2.7.9 with the foss/2015b toolchain:

    name = 'Python'\nversion = '2.7.9'\n\ntoolchain = {'name': 'foss', 'version': '2015b'}\n\ndependencies = [\n    ('zlib', '1.2.8'),\n]\n

    When the --minimal-toolchains configuration option is enabled, EasyBuild will also consider the subtoolchains GCC/4.9.3 and gompi/2015b of the foss/2015b toolchain (in that order) as potential minimal toolchains when determining the toolchain to use for dependencies.

    So, for the zlib v1.2.8 dependency included in the example above, the following scenarios are possible:

    • without the use of --minimal-toolchains, the default behaviour of EasyBuild is to first consider the foss/2015b toolchain for zlib v1.2.8, if no such easyconfig file is found, it will continue searching using the gompi/2015b toolchain, and finally the GCC/4.9.3 toolchain
    • if (only) --minimal-toolchains is enabled, EasyBuild will search for an easyconfig file for zlib v1.2.8 using the GCC/4.9.3 toolchain; if no such easyconfig file is found, it will continue searching using the gompi/2015b toolchain, and finally the foss/2015b toolchain
    • if --add-system-to-minimal-toolchains is also enabled, EasyBuild will try locating an easyconfig file for zlib v1.2.8 that uses the system toolchain prior to considering the GCC/4.9.3 toolchain
    • additionally, with --use-existing-modules enabled, EasyBuild will first check whether a zlib module for version 1.2.8 built with the (sub)toolchains being considered exists; if not, it will search for an easyconfig file for zlib as outlined above
    "},{"location":"packaging-support/","title":"Packaging support","text":"

    Note

    Packaging support was added as an experimental feature in EasyBuild v2.2.0 (cfr. Experimental features). Since EasyBuild v2.5.0, it is considered stable.

    "},{"location":"packaging-support/#packaging_prereq","title":"Prerequisites","text":"

    EasyBuild leverages FPM to create binary packages (RPMs, Debian files, etc.).

    Hence, FPM must be available in some way or another. One way is via EasyBuild, for example by installing a module for FPM using one of the available easyconfig files.

    EasyBuild will also take care of installing Ruby for you (which is required for FPM itself):

    $ export EASYBUILD_PREFIX=/home/example\n\n$ eb FPM-1.3.3-Ruby-2.1.6.eb --robot\n[...]\n== building and installing Ruby/2.1.6...\n[...]\n== COMPLETED: Installation ended successfully\n[...]\n== building and installing FPM/1.3.3-Ruby-2.1.6...\n[...]\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/software/FPM/1.3.3-Ruby-2.1.6/easybuild/easybuild-FPM-1.3.3-20150524.181859.log\n== Build succeeded for 2 out of 2\n\n$ module load FPM/1.3.3-Ruby-2.1.6\n\n$ fpm --version\n1.3.3\n
    "},{"location":"packaging-support/#packaging_config","title":"Configuration options","text":"

    Several configuration options related to packaging support are available.

    • --package:
      • enables packaging; other options will be void unless this option is enabled
    • --package-tool=<tool>:
      • specifies which tool you wish to package with; for now, only fpm is supported (and is set as default)
    • --package-type=<type>:
      • specifies which type of package you wish to build, which is passed through to fpm (as target type); examples include: rpm (default), deb, ... (see https://github.com/jordansissel/fpm/wiki#overview)
    • --package-naming-scheme=<PNS>:
      • specifies which package naming scheme to use; default: EasyBuildPNS
    • --packagepath:
      • specifies destination path of packages being built
    • --package-release:
      • specifies the package release (default: 1); typically, this should be an integer value

    Note

    Changing the package naming scheme should be done with caution. For example, RPM will only allow one package of a particular name to be installed, so if you wish multiple versions of a package to be installed at the same time you need to ensure variables like the software version are included in the package name.

    "},{"location":"packaging-support/#packaging_usage","title":"Usage","text":"

    To make EasyBuild generate packages, just use --package. By default, this will make EasyBuild leverage FPM to create RPMs:

    $ export EASYBUILD_PREFIX=/home/example\n$ eb --package Perl-5.20.1-GCC-4.9.2-bare.eb --robot\n[...]\n== building and installing Perl/5.20.1-GCC-4.9.2-bare...\n== fetching files...\n== creating build dir, resetting environment...\n== unpacking...\n== patching...\n== preparing...\n== configuring...\n== building...\n== testing...\n== installing...\n== taking care of extensions...\n== postprocessing...\n== sanity checking...\n== cleaning up...\n== creating module...\n== packaging...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/software/Perl/5.20.1-GCC-4.9.2-bare/easybuild/easybuild-Perl-5.20.1-20150527.023522.log\n== Build succeeded for 1 out of 1\n

    Packages will be located in the directory indicated by the --packagepath configuration option; by default, this corresponds to $prefix/packages.

    By default, the package will have the following properties:

    $ rpm -qip --requires --provides /home/example/packages/Perl-5.20.1-GCC-4.9.2-bare.eb2.2.0-1.x86_64.rpm\nName        : Perl-5.20.1-GCC-4.9.2-bare\nVersion     : eb2.2.0\nRelease     : 1\nArchitecture: x86_64\nInstall Date: (not installed)\nGroup       : default\nSize        : 64539427\nLicense     : unknown\nSignature   : (none)\nSource RPM  : Perl-5.20.1-GCC-4.9.2-bare.eb2.2.0-1.x86_64.src.rpm\nBuild Date  : Tue 07 Jul 2015 11:27:54 PM EDT\nBuild Host  : 59e46bbf1cd0\nRelocations : /\nPackager    : <easybuild@59e46bbf1cd0>\nVendor      : easybuild@59e46bbf1cd0\nURL         : http://example.com/no-uri-given\nSummary     : no description given\nDescription :\nno description given\nGCC-4.9.2-dummy-dummy\nrpmlib(PartialHardlinkSets) <= 4.0.4-1\nrpmlib(PayloadFilesHavePrefix) <= 4.0-1\nrpmlib(CompressedFileNames) <= 3.0.4-1\nPerl-5.20.1-GCC-4.9.2-bare\nPerl-5.20.1-GCC-4.9.2-bare = eb2.2.0-1\nPerl-5.20.1-GCC-4.9.2-bare(x86-64) = eb2.2.0-1\n
    "},{"location":"packaging-support/#packaging_skip","title":"Packaging existing installations","text":"

    To create packages for existing software installations (performed using EasyBuild), combine --package with --skip --rebuild:

    $ eb --package Perl-5.20.1-GCC-4.9.2-bare.eb --skip --rebuild\n[...]\n== building and installing Perl/5.20.1-GCC-4.9.2-bare...\n== fetching files...\n== creating build dir, resetting environment...\n== unpacking [skipped]\n== patching [skipped]\n== preparing...\n== configuring [skipped]\n== building [skipped]\n== testing [skipped]\n== installing [skipped]\n== taking care of extensions...\n== postprocessing [skipped]\n== sanity checking...\n== cleaning up...\n== creating module...\n== packaging...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/software/Perl/5.20.1-GCC-4.9.2-bare/easybuild/easybuild-Perl-5.20.1-20150527.041734.log\n== Build succeeded for 1 out of 1\n
    "},{"location":"partial-installations/","title":"Partial installations","text":"

    Several ways of performing partial installations are supported. These may be useful when debugging a particular issue with the installation procedure being performed by EasyBuild, updating existing software installations or module files, or after changing the EasyBuild configuration (e.g., switching to module files in Lua syntax or a different module naming scheme).

    "},{"location":"partial-installations/#partial_installation_stop","title":"Stopping the installation procedure after a step using -s/--stop","text":"

    To stop the installation procedure after a specific step in the installation procedure, the -s/--stop command line option can be used; the name of the step must be supplied as an argument.

    The following step names are recognized (listed in execution order): fetch, ready, source, patch, prepare, configure, build, test, install, extensions, package, postproc, sanitycheck, cleanup, module, testcases.

    Example usage:

    $ eb GCC-4.9.2.eb --stop configure\n== temporary log file in case of crash /tmp/eb-X2Z0b7/easybuild-mGxmNb.log\n== processing EasyBuild easyconfig /home/example/GCC-4.9.2.eb\n== building and installing GCC/4.9.2...\n== fetching files...\n== creating build dir, resetting environment...\n== unpacking...\n== patching...\n== preparing...\n== configuring...\n== COMPLETED: Installation STOPPED successfully\n== Results of the build can be found in the log file /dev/shm/example/GCC/4.9.2/dummy-dummy/easybuild/easybuild-GCC-4.9.2-20150430.091644.log\n== Build succeeded for 1 out of 1\n== temporary log file(s) /tmp/eb-X2Z0b7/easybuild-mGxmNb.log* have been removed.\n== temporary directory /tmp/eb-X2Z0b7 has been removed.\n
    "},{"location":"partial-installations/#partial_installation_fetch","title":"Fetching sources with --fetch","text":"

    It may be useful to be able to batch-download sources on a machine where no modules tool is installed. The --fetch option, which is equivalent with --stop fetch --ignore-osdeps, addresses this requirement.

    Example usage:

    $ eb GCCcore-6.2.0.eb --fetch\n== temporary log file in case of crash /tmp/eb-1ZZX2b/easybuild-NSmm5P.log\n== processing EasyBuild easyconfig /home/example/GCCcore-6.2.0.eb\n== building and installing GCCcore/6.2.0...\n== fetching files...\n== COMPLETED: Installation STOPPED successfully\n== Results of the build can be found in the log file(s) /dev/shm/example/GCC/4.9.2/dummy-dummy/easybuild/easybuild-GCCcore-6.2.0-20180330.170523.log\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-1ZZX2b/easybuild-NSmm5P.log* have been removed.\n== Temporary directory /tmp/eb-1ZZX2b has been removed.\n

    Note

    --fetch can be used in conjunction with the --robot and --robot-path options to download sources of the whole dependency tree of an easyconfig (see Enabling dependency resolution, --robot / -r and --robot-paths).

    Note

    Sources will be downloaded in the default location (see Source path (--sourcepath)), unless EasyBuild is configured via the --sourcepath option.

    "},{"location":"partial-installations/#partial_installation_skip","title":"Installing additional extensions using -k/-skip","text":"

    For software applications that may include Extensions, it is often required to install one or more additional extensions without having to reinstall the software package (and all extensions) from scratch. For this purpose, the -k/--skip command line option is available.

    To actually skip an existing software installation and all installed extensions, a corresponding module must be available already; if not, the installation procedure will be performed from scratch. To trigger the installation of missing extensions, --rebuild ( or --force, see Forced reinstallation) must be used as well; without it, the installation procedure will be skipped as a whole (since the module is already available).

    When --skip is combined with --rebuild, EasyBuild will:

    i) ensure that all (extension) sources are available (and try to fetch them if needed); ii) prepare the build environment; iii) check which extensions have not been installed yet; iv) install the missing extensions; v) run the sanity check (which includes checking that all extensions are available) vi) regenerate the module file (since it contains a list of installed extensions)

    Example usage:

    $ eb Python-2.7.9-intel-2015a.eb --skip\n...\n== Python/2.7.9-intel-2015a is already installed (module found), skipping\n== No easyconfigs left to be built.\n== Build succeeded for 0 out of 0\n
    $ eb Python-2.7.9-intel-2015a.eb --skip --rebuild\n...\n== building and installing Python/2.7.9-intel-2015a...\n...\n== configuring [skipped]\n== building [skipped]\n== testing [skipped]\n== installing [skipped]\n== taking care of extensions...\n...\n== sanity checking...\n== cleaning up...\n== creating module...\n== COMPLETED: Installation ended successfully\n

    Note

    Upgrading of extensions to a newer version does not work (yet) using --skip, because the way in which extensions are checked for availability, i.e. the extensions filter, is (usually) version-agnogstic.

    Note

    The 'skipsteps' easyconfig parameter has a different purpose, i.e. to specify which installation steps should always be skipped when the installation of a particular software package is performed, no matter whether the software or corresponding module is already available or not.

    Note

    When --skip is used, a backup is created for all existing module files that are regenerated. To disable backing up of module files, use --disable-backup-modules (see also Backing up of existing modules (--backup-modules)).

    "},{"location":"partial-installations/#module_only","title":"Only (re)generating (additional) module files using --module-only","text":"

    Since EasyBuild v2.1, it is possible to only (re)generate the module file that matches the specifications in the easyconfig file, using --module-only. Depending on the use case, additional options should be supplied.

    Usually --rebuild is also required, either to ignore the existing module file (if the module is available under the same name as the one being (re)generated), or to skip the sanity check that verifies the software installation (if no software installation is available).

    Combining --module-only with --installpath-modules is also a common use case, to generate the module file in a (test) location other than the software installation prefix (see Software and modules install path (--installpath, --installpath-software, --installpath-modules)).

    Note

    Although --module-only was already supported in EasyBuild v2.1.0, we strongly recommend to use EasyBuild v2.1.1 or a more recent version, because of some critical bug fixes with respect to --module-only.

    Use cases:

    • Only (re)generating (existing) module file
    • Generating additional module files

    Note

    When --module-only is used, a backup is created for all existing module files that are regenerated. To disable backing up of module files, use --disable-backup-modules (see also Backing up of existing modules (--backup-modules)).

    "},{"location":"partial-installations/#module_only_only_regenerate","title":"Only (re)generating (existing) module file","text":"

    To only generate a module file (i.e., skip actually building and installing the software), or to regenerate an existing module file, --module-only can be used.

    In the former case, enabling --rebuild is required because the sanity check step that verifies whether the installation produced the expected files and/or directories is not skipped unless forced. In the latter case, --rebuild must be used to make EasyBuild ignore that the module is already available according to the modules tool.

    Example usage:

    • only generate module file:

      $ module avail GCC\n---------------------------- /home/example/.local/modules/all ----------------------------\nGCC/4.8.2\n\n$ eb GCC-5.1.0.eb --module-only --rebuild\n...\n== building and installing GCC/5.1.0...\n== fetching files [skipped]\n...\n== configuring [skipped]\n== building [skipped]\n== testing [skipped]\n== installing [skipped]\n...\n== sanity checking [skipped]\n== cleaning up [skipped]\n== creating module...\n== COMPLETED: Installation ended successfully\n...\n\n$ module avail GCC\n\n---------------------------- /home/example/.local/modules/all ----------------------------\nGCC/4.8.2     GCC/5.1.0\n
    • regenerate existing module file:

      $ module avail GCC/4.8.2\n\n---------------------------- /home/example/.local/modules/all ----------------------------\nGCC/4.8.2\n\n$ ls -l /home/example/.local/modules/all/GCC/4.8.2\n-rw-rw-r-- 1 example example 1002 Jan 11 17:19 /home/example/.local/modules/all/GCC/4.8.2\n\n$ eb GCC-4.8.2.eb --module-only --rebuild\n...\n== building and installing GCC/4.8.2...\n...\n== sanity checking [skipped]\n== creating module...\n== COMPLETED: Installation ended successfully\n...\n\n$ ls -l /home/example/.local/modules/all/GCC/4.8.2\n-rw-rw-r-- 1 example example 1064 Apr 30 10:54 /home/example/.local/modules/all/GCC/4.8.2\n
    "},{"location":"partial-installations/#module_only_additional","title":"Generating additional module files","text":"

    Generating an additional module file, next to the one(s) already available, is also supported. This can achieved by combining --module-only with additional configuration options that apply to the module generation.

    Examples:

    • to generate a module file in Lua syntax, next to an already existing module file in Tcl syntax, --module-only --module-syntax=Lua can be used:

      $ module avail GCC/4.8.2\n\n---------------------------- /home/example/.local/modules/all ----------------------------\nGCC/4.8.2\n\n$ ls -l /home/example/.local/modules/all/GCC/4.8.2*\n-rw-rw-r-- 1 example example 1064 Apr 30 10:54 /home/example/.local/modules/all/GCC/4.8.2\n\n$ eb GCC-4.8.2.eb --modules-tool=Lmod --module-only --module-syntax=Lua --rebuild\n...\n== building and installing GCC/4.8.2...\n...\n== sanity checking [skipped]\n== creating module...\n== COMPLETED: Installation ended successfully\n...\n\n$ ls -l /home/example/.local/modules/all/GCC/4.8.2*\n-rw-rw-r-- 1 example example 1064 Apr 30 10:54 /home/example/.local/modules/all/GCC/4.8.2\n-rw-rw-r-- 1 example example 1249 Apr 30 11:56 /home/example/.local/modules/all/GCC/4.8.2.lua\n

      Note

      Since only Lmod can consume module files in Lua syntax, it must be used as a modules tool; see also Module files syntax (--module-syntax).

      Only changing the syntax of the module file does not affect the module name, so Lmod will report the module as being available. Hence, --rebuild must be used here as well.

    • to generate a module file using a different naming scheme, --module-only can be combined with --module-naming-scheme:

      $ eb --installpath-modules=$HOME/test/modules --module-only --module-naming-scheme=HierarchicalMNS --rebuild\n...\n== building and installing Core/GCC/4.8.2...\n...\n== sanity checking [skipped]\n== creating module...\n== COMPLETED: Installation ended successfully\n\n$ module unuse $HOME/.local/modules/all\n$ module use $HOME/test/modules/all\n$ module avail\n\n---------------------------- /home/example/test/modules/all ----------------------------\nCore/GCC/4.8.2\n

      Note

      Modules that are generated used different module naming schemes should never be mixed, hence the use of --installpath-modules, see also Direct options: --installpath-software and --installpath-modules.

      Note

      The modules files generated using the specified module naming scheme will most likely not be tied to an existing software installation in this case (unless the software installation was already there somehow), since the name of the subdirectory of the software installation prefix is also governed by the active module naming scheme. This is also why --rebuild must be used in the example above (to skip the sanity check that verifies the software installation).

      Thus, this is only useful to assess how the module tree would look like under a particular module naming scheme; the modules themselves are useless since they point to empty installation directories.

      To tie a module file generated using to an existing software installation that was performed under a different module naming scheme, a simple module naming scheme can be implemented that mixes two modules naming schemes, by providing the name of the software installation subdirectory using one scheme, and the module names (and other metadata for module files) with the other.

      An example of such a module naming scheme is MigrateFromEBToHMNS, which allows to generate module files using the hierarchical module naming scheme implemented by HierarchicalMNS for the software installed in subdirectories following the default EasyBuild module naming scheme EasyBuildMNS. The MigrateFromEBToHMNS module naming scheme is available since EasyBuild v2.2.0.

    "},{"location":"progress-bars/","title":"Progress bars","text":"

    (supported since: EasyBuild v4.5.0)

    "},{"location":"progress-bars/#general-information-on-progress-bars","title":"General information on progress bars","text":"

    EasyBuild will show progress bars for various aspects of the installation progress by default, if the Rich Python package is available.

    The progress bars shown by EasyBuild are dynamic: they are only visible when they are relevant.

    Note that for most progress bars each step is treated as being equal even though the time taken for the various steps varies. There are many factors that impact how long an individual installation step, installing an easyconfig, or installing an extension may and this makes it very difficult to get a good estimate on how much time will be needed. The download progress bar is an exception here (as long as the size of the file to download could be determined first).

    "},{"location":"progress-bars/#types-of-progress-bars","title":"Types of progress bars","text":"

    EasyBuild will show different progress bars to show the progress for different aspects of the installation process.

    "},{"location":"progress-bars/#overall-progress-bar-status-bar","title":"Overall progress bar (status bar)","text":"

    The progress bar at the bottom, also known as the status bar, shows the overall progress in installing software for the currently active EasyBuild session.

    From left to right, the following information is included:

    • The total amount of time that this EasyBuild session has spent on installing software.
    • The number of easyconfigs that have been processed already, the total number of easyconfigs being processed, and a count of easyconfigs that failed to installed so far (if there are any).
    • The list of already processed easyconfigs, along with the result:
      • OK (in green) for a successful installation;
      • FAILED (in red) for a failed installation;

    Processed easyconfigs are shown in reversed order: most recently processed easyconfigs are listed first.

    If EasyBuild is configured to continue processing easyconfigs when an installation failed (for example when using --upload-test-report), failing easyconfigs are listed before easyconfigs that were installed successfully, to highlight failing installations.

    The status bar is not shown if only a single easyconfig file is being installed, and is hidden automatically as soon as the EasyBuild session finishes.

    "},{"location":"progress-bars/#easyconfig-progress-bar","title":"Easyconfig progress bar","text":"

    A dedicated progress bar is shown for every easyconfig file that is installed, right above the status bar (if present), which shows:

    • The name of the module that is being installed.
    • The currently active installation step.
    • The number of completed installations steps, as well as the total number of installation steps for this easyconfig.
    • A visual progress bar that represents the progress in installing this easyconfig.
    • The total amount of time spent on installing this easyconfig so far.

    The progress bar for a specific easyconfig file will be hidden as soon as the installation finishes (regardless of whether it was successful or not).

    "},{"location":"progress-bars/#download-progress-bars","title":"Download progress bars","text":"

    When EasyBuild is downloading one or more files, a dedicated progress bar will be visible:

    • For large downloads: the name of the file being downloaded, a visual progress bar, the amount of data downloaded so far, the amount of data to download in total, the average download speed, and the estimated time remaining to complete the download (based on average download speed).
    • If there are multiple files being downloaded: an overview of how many files have been downloaded already, and how many need to be downloaded in total.

    The download progress bars will be hidden as soon as the downloading has been completed (or has failed).

    "},{"location":"progress-bars/#extensions-progress-bar","title":"Extensions progress bar","text":"

    When extensions are being installed for a particular easyconfig, a dedicated progress bar will pop up for the extensions step, which shows:

    • The name of the extension that is currently being installed.
    • The number of extensions installed so far, and the total number of extensions to install.
    • A visual progress bar that represents the progress for installing extensions so far.
    • The total amount of time spent installing extensions for this easyconfig.
    "},{"location":"progress-bars/#relevant-configuration-options","title":"Relevant configuration options","text":""},{"location":"progress-bars/#output-style","title":"output-style","text":"

    The output-style configuration option determines the output style of the eb command.

    Setting output-style to 'rich' results in rich output being produced, which includes progress bars. This also makes Rich a required dependency for EasyBuild.

    Using 'basic' as value for output-style results in basic output (no progress bars).

    By default output-style is set to 'auto', which implies using the Rich Python package to produce rich output (incl. progress bars) if is available, and falling back to using the basic output style if Rich is not available.

    "},{"location":"progress-bars/#show-progress-bar","title":"show-progress-bar","text":"

    The show-progress-bar configuration option (enabled by default) controls whether or not progress bars are shown, regardless of the active output style and whether Rich is available.

    "},{"location":"python-2-3-compatibility/","title":"Compatibility with Python 2 and Python 3","text":"

    Starting with EasyBuild v4.0, the EasyBuild framework and easyblocks are compatible with both Python versions 2 and 3. More specifically, the following Python versions are currently supported:

    • Python 2.6.x (support was removed in EasyBuild v4.4.0)
    • Python 2.7.x
    • Python 3.5.x
    • Python 3.6.x
    • Python 3.7.x
    • Python 3.8.x (requires EasyBuild v4.1.0)
    • Python 3.9.x (requires EasyBuild v4.3.1)
    • Python 3.10.x (requires EasyBuild v4.5.2)
    • Python 3.11.x (requires EasyBuild v4.5.2)
    "},{"location":"python-2-3-compatibility/#py2_py3_compatibility_EB_VERBOSE","title":"Determining which Python version EasyBuild is using via $EB_VERBOSE","text":"

    To determine which Python version is being used to run EasyBuild, you can define the $EB_VERBOSE environment variable.

    For example:

    $ export EB_VERBOSE=1\n$ eb --version\n>> Considering 'python'...\n>> No 'python' found in $PATH, skipping...\n>> Considering 'python3'...\n>> 'python3' version: 3.6.9, which matches Python 3 version requirement (>= 3.5)\n>> Selected Python command: python3 (/usr/local/bin/python3)\n>> python3 -m easybuild.main --version\nThis is EasyBuild 4.0.0 (framework: 4.0.0, easyblocks: 4.0.0) on host example.\n
    "},{"location":"python-2-3-compatibility/#py2_py3_compatibility_EB_PYTHON","title":"Controlling which python command EasyBuild will use via $EB_PYTHON","text":"

    The eb command will consider different python commands, and check the Python version corresponding with the command before selecting one. The commands considered are (in order):

    • python
    • python3
    • python2

    Before considering these commands, eb will first consider the command name specified via the $EB_PYTHON environment variable (if defined), so you can always control which Python version is being used if desired.

    For example:

    $ export EB_PYTHON=python3.7\n$ export EB_VERBOSE=1\n$ eb --version\n>> Considering 'python3.7'...\n>> 'python3.7' version: 3.7.2, which matches Python 3 version requirement (>= 3.5)\n>> Selected Python command: python3.7 (/usr/local/bin/python3.7)\n>> python3.7 -m easybuild.main --version\nThis is EasyBuild 4.0.0 (framework: 4.0.0, easyblocks: 4.0.0) on host example.\n
    "},{"location":"python-2-3-compatibility/#the-easybuildtoolspy2vs3-package","title":"The easybuild.tools.py2vs3 package","text":"

    To facilitate this, the easybuild.tools.py2vs3 package was introduced in EasyBuild v4.0. When importing a function from this package, you will automatically get a version of the function that is compatible with the Python version being used to run EasyBuild.

    Through this approach we can hide subtle differences between Python 2 and 3, while avoiding code duplication and Python version checks throughout the codebase, as well as avoid requiring packages like six or future (which facilitate maintaining compatibility with Python 2 and 3, but are also a bit of a burden).

    The easybuild.tools.py2vs3 package provides two major classes of items (listed below in alphabetical order):

    • functions from the Python standard library which should be imported from different locations in Python 2 and 3
    • wrappers for functionality in the Python standard library which behaves differently in Python 2 and 3
    "},{"location":"python-2-3-compatibility/#py2vs3_ascii_letters","title":"ascii_letters","text":"
    • Python 2: corresponds to string.letters
    • Python 3: corresponds to string.ascii_letters
    "},{"location":"python-2-3-compatibility/#py2vs3_ascii_lowercase","title":"ascii_lowercase","text":"
    • Python 2: corresponds to string.lowercase
    • Python 3: corresponds to string.ascii_lowercase
    "},{"location":"python-2-3-compatibility/#py2vs3_build_opener","title":"build_opener","text":"
    • Python 2: corresponds to urllib2.build_opener function
    • Python 3: corresponds to urllib.request.build_opener function
    "},{"location":"python-2-3-compatibility/#py2vs3_configparser","title":"configparser","text":"
    • Python 2: corresponds to ConfigParser.configparser module
    • Python 3: corresponds to configparser module
    "},{"location":"python-2-3-compatibility/#py2vs3_create_base_metaclass","title":"create_base_metaclass","text":"

    Function to create a metaclass that can be used as a base class, implemented in a way that is compatible with both Python 2 and 3.

    "},{"location":"python-2-3-compatibility/#py2vs3_extract_method_name","title":"extract_method_name","text":"

    Function to method name from lambda function, implemented in a way that is compatible with both Python 2 and 3.

    "},{"location":"python-2-3-compatibility/#py2vs3_HTTPError","title":"HTTPError","text":"
    • Python 2: corresponds to urllib2.HTTPError
    • Python 3: corresponds to urllib.request.HTTPError
    "},{"location":"python-2-3-compatibility/#py2vs3_HTTPSHandler","title":"HTTPSHandler","text":"
    • Python 2: corresponds to urllib2.HTTPSHandler
    • Python 3: corresponds to urllib.request.HTTPSHandler
    "},{"location":"python-2-3-compatibility/#py2vs3_json_loads","title":"json_loads","text":"
    • Python 2: wraps json.loads function

    • Python 3: wraps json.loads function, taking into account that for Python versions older than 3.6

      • a value of type string (rather than bytes) is required as argument
    "},{"location":"python-2-3-compatibility/#py2vs3_mk_wrapper_baseclass","title":"mk_wrapper_baseclass","text":"

    Function to create a wrapper base class using the specified metaclass, implemented in a way that is compatible with both Python 2 and 3.

    "},{"location":"python-2-3-compatibility/#py2vs3_OrderedDict","title":"OrderedDict","text":"
    • Python 2.6: corresponds to easybuild.tools.ordereddict.OrderedDict
    • Python 2.7: corresponds to collections.OrderedDict
    • Python 3: corresponds to collections.OrderedDict
    "},{"location":"python-2-3-compatibility/#py2vs3_reload","title":"reload","text":"
    • Python 2: corresponds to reload built-in function
    • Python 3: corresponds to importlib.reload function
    "},{"location":"python-2-3-compatibility/#py2vs3_raise_with_traceback","title":"raise_with_traceback","text":"

    Function to raise an error with specified message and traceback, implemented in a way that is compatible with both Python 2 and 3.

    "},{"location":"python-2-3-compatibility/#py2vs3_Request","title":"Request","text":"
    • Python 2: corresponds to urllib2.Request
    • Python 3: corresponds to urllib.request.Request
    "},{"location":"python-2-3-compatibility/#py2vs3_subprocess_popen_text","title":"subprocess_popen_text","text":"
    • Python 2: wrapper for subprocess.Popen
    • Python 3: wrapper for subprocess.Popen while forcing text mode (using universal_newlines=True)
    "},{"location":"python-2-3-compatibility/#py2vs3_std_urllib","title":"std_urllib","text":"
    • Python 2: corresponds to urllib package
    • Python 3: corresponds to urllib.request package
    "},{"location":"python-2-3-compatibility/#py2vs3_string_type","title":"string_type","text":"
    • Python 2: corresponds to basestring built-in string type
    • Python 3: corresponds to str built-in string type
    "},{"location":"python-2-3-compatibility/#py2vs3_StringIO","title":"StringIO","text":"
    • Python 2: corresponds to StringIO.StringIO class
    • Python 3: corresponds to io.StringIO class
    "},{"location":"python-2-3-compatibility/#py2vs3_urlencode","title":"urlencode","text":"
    • Python 2: corresponds to urllib.urlencode function
    • Python 3: corresponds to urllib.parse.urlencode function
    "},{"location":"python-2-3-compatibility/#py2vs3_URLError","title":"URLError","text":"
    • Python 2: corresponds to urllib2.URLError
    • Python 3: corresponds to urllib.request.URLError
    "},{"location":"python-2-3-compatibility/#py2vs3_urlopen","title":"urlopen","text":"
    • Python 2: corresponds to urllib2.urlopen
    • Python 3: corresponds to urllib.request.urlopen
    "},{"location":"release-notes/","title":"EasyBuild release notes","text":"

    The latest version of EasyBuild provides support for building and installing 3,161 different software packages, including 39 different (compiler) toolchains. It contains 249 software-specific easyblocks and 42 generic easyblocks, alongside 17,511 easyconfig files.

    ","boost":0.5},{"location":"release-notes/#release_notes_eb480","title":"EasyBuild v4.8.0 (7 July 2023)","text":"

    feature release

    framework

    • various enhancements, including:
      • use version suffixes in PR title instead of Python versions when using --new-pr (#4253 + #4286)
      • add script to find updated ECs for installed module (#4271)
    • various bug fixes, including:
      • fix regex for extracting glibc version from output of 'ldd --version' in Gentoo Linux (#4290)
      • allow versionsuffix to be set to None in det_full_ec_version (#4292)
    • other changes:
      • stop running tests with Python 2.7 since it is no longer supported in GitHub Action (#4267)
      • replace imp.load_source by leveraging importlib.util.module_from_spec when using Python 3 (#4280)

    easyblocks

    • add PerlBundle generic easyblock for installing a bundle of Perl modules (#2945)
    • add custom easyblock for Rust, which makes sure that all shared libraries use RPATH rather than RUNPATH if --rpath is used (#2952)
    • minor enhancements and updates, including:
      • add support for NVIDIA Hopper CC 9.0 in LAMMPS (#2941)
      • add support for install_cmds in Binary easyblock (#2953)
    • various bug fixes, including:
      • patch CMake's UnixPaths.cmake script if --sysroot is set (#2248)
      • fix incorrect sanity_check_step for torchvision (#2938)
      • update OpenBLAS easyblock since make shared is necessary and sufficient with OpenBLAS 0.3.23 + recent parallel build fixes (#2944)
      • improve handling of optarch in Cargo easyblock (#2947)
      • reset modules loaded by PythonPackage to let ExtensionEasyBlock handle multi_deps correctly (#2951)
    • other changes:
      • stop running tests with Python 2.7 since it is no longer supported in GitHub Actions (#2943)

    easyconfigs

    • added easyconfigs for foss/2023a (#18264) and intel/2023a (#18275) common toolchains
    • added example easyconfig files for 76 new software packages:
      • 3d-dna (#9258), affinity (#18051), AIMAll (#13153), alleleIntegrator (#17923), AlphaPulldown (#17774), ASCAT (#17923), ASF-SearchAPI (#18179), ATAT (#18213), AutoDockSuite (#9678), axel (#10961), BayesPrism (#17885), BGC-Bayesian-genomic-clines (#18005), CalculiX-CrunchiX (#16805), CASA (#18055), cctbx-base (#17774), Circuitscape (#16720), CppHeaderParser (#18272), CuCLARK (#9482), cuteSV (#18077), DALI (#18204), DaliLite (#17989), DEICODE (#18181), dm-haiku (#18013), dominate (#18086), dx-toolkit (#18232), easel (#18156), ecFlow (#15719), EDirect (#17479), FragPipe (#18161), GEM (#18120), gemelli (#18120), GLIMPSE (#18163), GRIDSS (#18170), HOOMD-blue (#18224), KerasTuner (#18197), LayoutParser (#18220), LISFLOOD-FP (#18194), LuaRocks (#18073), mannkendall (#18043), MOB-suite (#16798), molecularGSM (#13150), MONAI-Label (#18180), MView (#18198), NanoStat (#18201), oxDNA (#18175 + #18214), pastml (#15336), pbipa (#18229), Perl-bundle-CPAN (#17970), PheWeb (#10951), plinkliftover (#18136), pmt (#18052), PyBioLib (#18124), Pychopper (#10344), pydicom-seg (#18180), pyMannKendall (#18044), pypmt (#18045), python-mujoco (#18253), pytorch-CycleGAN-pix2pix (#18086), PyTorch-Image-Models (#18220), PyWBGT (#17980), Safetensors (#18220), Sniffles (#18048), strace (#14381), Structure_threader (#18219), subset-bam (#18032), SVclone (#18084), SVIM (#18071), Tapenade (#18109), TensorFlow-Graphics (#17465), timm (#17787), Trinotate (#18124), Ultralytics (#17894), visdom (#18086), wrapt (#18125), xclip (#17055), xdotool (#17055)
    • added additional easyconfigs for various supported software packages, including:
      • AGAT 1.1.0, alleleCount 4.2.1, AMS 2023.101, ANSYS 2023R1, BayesTraits 3.0.2, Bismark 0.24.1, BLAST+ 2.14.0, boto3 1.26.163, Bowtie2 2.5.1, BUSCO 5.4.7, Cellpose 2.2.2, CHERAB 1.4.0, CmdStanR 0.5.2, CNVkit 0.9.10, corner 2.2.2, CUDA 12.1.1 + 12.2.0, cuDNN 8.9.2.26, cutadapt 4.4, cuTENSOR 1.7.0.1, CVXOPT 1.3.1, Dalton 2020.1, datamash 1.8, deepTools 3.5.2, DIAMOND 2.1.8, DMTCP 3.0.0, dorado 0.3.0 + 0.3.1, dtcmp 1.1.4, duplex-tools 0.3.3, elastix 5.0.0, Emacs 28.2, emcee 3.1.4, Extrae 4.0.4, fastp 0.23.4, FlexiBLAS 3.3.1, fontconfig 2.14.2, FreeSurfer 7.4.0, freetype 2.13.0, GATK 4.4.0.0, GBprocesS 4.0.0.post1, GCC 11.4.0, GCTA 1.94.1, GDRCopy 2.3.1, Geant4 11.1.2, Geant4-data 11.1, GetOrganelle 1.7.7.0, git 2.41.0, GMAP-GSNAP 2023-04-20, GROMACS 2023.1, hifiasm 0.19.5, Horovod 0.25.0, hwloc 2.9.1, InterProScan 5.62, IQ-TREE 2.2.2.3, ITSTool 2.0.7, JAGS 4.3.2, Julia 1.9.0, libfabric 1.18.0, libheif 1.16.2, libjxl 0.8.1, LibLZF 3.6, LMfit 1.2.1, LSD2 2.4.1, LuaJIT 2.1.0, lwgrp 1.0.5, MAGeCK 0.5.9.5, MATLAB 2023a, MaxQuant 2.4.2.0.eb, MCR R2022a.5, meshio 5.3.4, Meson 1.1.1, minimap2 2.26, MMseqs2 14-7e284, mpifileutils 0.11.1, MuJoCo 2.2.2, nanomath 1.3.0, ncbi-vdb 3.0.5, NCCL 2.18.3, Nextflow 23.04.2, ngspice 39, ont-fast5-api 4.1.1, OpenBLAS 0.3.23, OpenMPI 4.1.5, openpyxl 3.1.2, OSU-Micro-Benchmarks 7.1-1, parasail 2.6.2, Paraver 4.11.1, ParaView 5.11.1, patchelf 0.18.0, Perl 5.36.1, PMIx 4.2.4, POT 0.9.0, PSI4 1.7, psutil 5.9.4, psycopg2 2.9.6, PyCalib 20230531, pycocotools 2.0.6, pyfaidx 0.7.2.1, pyiron 0.3.0, PyQtGraph 0.13.3, Pysam 0.21.0, pySCENIC 0.12.1, pyspoa 0.0.9, Python 3.11.3, python-parasail 1.3.4, PyTorch 1.13.1, rasterio 1.3.8, regionmask 0.10.0, Ruby 3.2.2, Rust 1.70.0, ScaFaCoS 1.0.4, seqtk 1.4, SRA-Toolkit 3.0.5, statsmodels 0.14.0, strace 5.14, Subversion 1.14.2, SUNDIALS 6.5.1, tidymodels 1.1.0, tokenizers 0.13.3, torchaudio 0.12.0, TransDecoder 5.5.0, Transformers 4.29.2 + 4.30.2, UCC 1.2.0, UCC-CUDA 1.2.0, UCX 1.14.1, UCX-CUDA 1.14.1, util-linux 2.39, VASP 6.3.2, VTK 9.2.6, WhatsHap 1.7, X11 20230603, xarray 2023.4.2, XlsxWriter 3.1.2, XML-LibXML 2.0208, xorg-macros 1.20.0, zlib-ng 2.0.7
    • minor enhancements, including:
      • add CI check for -DCMAKE_BUILD_TYPE, should use build_type instead (#14008)
      • enhance sanity check for recent LibTIFF easyconfigs (#17975)
      • update JupyterLab v3.5.0 to set $JUPYTERLAB_SETTINGS_DIR and $JUPYTERLAB_WORKSPACES_DIR on loading of module (#17982)
      • use custom easyblock for Rust 1.65.0 (#18174) and Rust 1.70.0 (#18167)
      • update easyconfig for Nextflow 23.04.2 to use install_cmds (#18173)
      • add extra packages to recent R easyconfigs (#18029, #18063, #18122, #18195, #18245)
      • add extra packages to recent R-bundle-Bioconductor easyconfigs (#18196, #18246)
    • various bug fixes, including:
      • add patches to fix TensorFlow 2.7.1 on POWER (#16795)
      • fix patches + extensions in easyconfig for TensorFlow 2.8.4 w/ foss/2021b (#17058)
      • stick to FFmpeg 4.4.2 as dependency for SoX 14.4.2 (#17998)
      • add pkgconfig as build dependency for nodejs , required for finding ICU dependency (#18007)
      • fix exec permissions for all binaries & scripts of L_RNA_scaffolder 20190530 (#18030)
      • update SUNDIALS dependency for Cantera v2.6.0 to v6.5.1 + add missing dependencies (#18041)
      • fix --sanity-check-only for MAGeCK v0.5.9.4 (#18047)
      • enable building static libs and check for libexslt.* in libxslt (#18064)
      • add -pthread flag for dorado (#18072)
      • add missing patch files for Qt5 5.15.2 to fix build problems with glibc 2.34 (#18087)
      • add missing pkgconf build dependency for XML-LibXML v2.0208 (#18159)
      • update homepage for NWChem 7.x (#18184)
      • update homepage for SUNDIALS 5.x and 6.x (#18186)
      • add missing source_urls for SimpleITK (#18212)
      • use patch files for Qt5 v5.17.7 to fix compatiblity with glibc 2.34 (#18230)
      • fix incorrect version for GMAP-GSNAP 2021-12-17 (was 2021-21-17) (#18231)
      • fix CUDA build of recent TensorFlow easyconfigs when using compiler symlinks (#18235)
      • use patch to make ncbi-vdb 2.11.2 compatible with HDF5 1.12.2 (#18236)
      • update source_urls for Velvet 1.2.10 (#18237)
      • use upstream patch for symbol compatibility in XZ 5.2.5 (#18250)
      • update source url for pkgconf (#18271)
    • other changes:
      • stop running easyconfig unit tests with Python 2.7 (#18006)
      • fix toolchain for networkx-3.0 (foss/2022b -> gfbf/2022b) (#18061)
      • remove unused PyTorch patch (#18062)
      • allow multiple dependency variants of ncbi-vdb for SRA-TOolkit per easyconfigs generation, as long as versions match (#18098)
      • bump OpenSSL 1.1 wrapper fallback to 1.1.1u (#18188)
      • remove default separate_build_dir = True and build_type = 'Release' from double-conversion (#18222)
      • remove default separate_build_dir = True and CMAKE_BUILD_TYPE=Release from MariaDB (#18223)
      • remove incorrect '-Dgallium-drivers=swrast' configure option in ROOT easyconfigs (#18260)
      • change base compiler for intel/2023.03 to GCCcore/12.3.0 (required to use it as intel/2023a) (#18263)
    ","boost":0.5},{"location":"release-notes/#release_notes_eb472","title":"EasyBuild v4.7.2 (27 May 2023)","text":"

    bugfix/update release

    framework

    • various enhancements, including:
      • extend (experimental) support for generating container images with Apptainer (#3975)
      • add default download timeout (#4226)
      • make the RPATH section check with readelf -d in sanity check optional (#4249)
    • various bug fixes, including:
      • add make_extension_string and _make_extension_list methods to EasyBlock class, so easyblocks can customize them (#3697)
      • fix typo in condition guarding installation of GitHub token in CI workflow to run unit tests + fix broken tests related to GitHub integration features (#4216)
      • fix --check-github as gist url now includes username (#4231)
      • switch to Ubuntu 22.04 in GitHub Actions workflow to run container tests (#4238)
      • use \"/usr/bin/env python\" in test_run_cmd_script (#4241)
    • other changes:
      • print potential errors after running a command only once (#4065)
      • change github_* template descriptions to be somewhat clearer (#4251)
      • remove workflow to test bootstrap script (#4255)

    easyblocks

    • new generic easyblock for installing Rust crates with cargo: Cargo and CargoPythonPackage (#2902, #2934)
    • minor enhancements and updates, including:
      • let MATLAB easyblock raise an error if the MATLAB installation key is not provided (#2905)
      • print message to inform that GPU package (instead of Kokkos) is used for LAMMPS (#2906)
      • enhance PyTorch easyblock to use FlexiBLAS for PyTorch >= 1.11.0 (#2915)
    • various bug fixes, including:
      • use custom RPATH sanity check for Go packages that doesn't actually check for an RPATH section in the binary (#2913)
      • use string '0' to avoid problems when openssl version is not determined (#2914)
      • update GCC easyblock to ensure that --sysroot is passed to linker (but only when it needs to be) (#2921)
      • add output log to MATLAB installs, actually parse for common errors (#2924)
      • enhance Gurobi easyblock to allow using $EB_GUROBI_LICENSE_FILE environment variable (#2926)
      • force building torchvision with CUDA support if CUDA is included as dependency by setting $FORCE_CUDA (#2931)
      • fix exec permission on files in arch bindir for COMSOL (#2932)

    easyconfigs

    • added easyconfigs for intel/2023.03 (#17676)
    • added example easyconfig files for 89 new software packages:
      • AGeNT (#17864), anndata (#17677), Annocript (#17910), avro-cpp (#17527), batchgenerators (#17833), BoltzTraP2 (#17742), Braindecode (#17913), build (#17776), casacore (#15499), Casanovo (#17735, #17736), CASPR (#17606), CellChat (#17856), CellOracle (#17507), CLIP (#17782), CodingQuarry (#17682), ColabFold (#17751), CopyKAT (#17646), CPC2 (#17849), cppzmq (#17601), dask-labextension (#17882), DIALOGUE (#17696), DiCE-ML (#17591), ESPResSo (#17709), Evcxr-REPL (#17831), EZC3D (#17832), funannotate (#17588), FunGAP (#17652), GATB-Core (#17635), GenMap (#17746), GimmeMotifs (#17507), GLI (#17793), GOBNILP (#17639), h5netcdf (#17835), HD-BET (#17833), HTSplotter (#17369, #17586), ipympl (#17613), IsoSeq (#17791), KrakenUniq (#17569), LIANA (#17928), libWallModelledLES (#17480), LoRDEC (#17635), M3GNet (#17555), mandrake (#17394), mctc-lib (#16760), MOABB (#17913), MRPRESSO (#17925), ont-guppy (#17477, #17828), OptaDOS (#17777), PALEOMIX (#17912), PGPLOT (#15496), PICI-LIGGGHTS (#17710), pod5-file-format (#17776), powerlaw (#17647), pp-sketchlib (#17397), py3Dmol (#17752), pytesseract (#17898), pytest-cpp (#17966), pytest-flakefinder (#17966), Python-bundle (#17626), python-xxhash (#17844), PyTorch-bundle (#17540), qnorm (#17507), R-MXM (#17667), R-transport (#17642, #17968), Raven (#15833), ReaxFF (#17780), ripunzip (#17959), RPostgreSQL (#17739), rustworkx (#17857), Scalene (#16472), sceasy (#17677), SCIP (#17639), Simple-DFTD3 (#16760), SMAP (#17672), SoPlex (#17639), SoupX (#17851), spektral (#15551), synthcity (#17623), sysbench (#17643), tantan (#17681), thirdorder (#17703), TOPAS (#17553), Triplexator (#17866), tRNAscan-SE (#17680, #17800), turbinesFoam (#17917), unicore-uftp (#17665), vispr (#17606), WCSLIB (#15497), ZIMPL (#17639)
    • added additional easyconfigs for various supported software packages, including:
      • Abseil v20230125.2, AlphaFold v2.3.1 + v2.3.4, Arrow v11.0.0, arrow-R v11.0.0.3, astropy v5.2.2, awscli v2.11.21, Bismark v0.24.0, biom-format v2.1.14, Blender v3.5.0, Blosc2 v2.8.0, Bottleneck v1.3.7, breseq v0.38.1, bwa-meth v0.2.6, buildenv default for foss/2022b + CUDA 12.0.0, Cantera v2.6.0, CapnProto v0.10.3, CASTEP v22.11, Clang v15.0.5, CLHEP v2.4.6.4, CMake v3.26.3, CMSeq v1.0.4, coverage v7.2.3, CP2K v9.1 + v2022.1, CPLEX v22.1.1, CREST v2.11.2, cURL v8.0.1, CuPy v11.4.0, DBus v1.15.4, DBG2OLC v20200724, dlb v3.3.1, double-conversion v3.3.0, Doxygen v1.9.7, expat v2.5.0, FASTA v36.3.8i, FHI-aims v221103, fio v3.34, Fiona v1.9.2, Flask v2.2.3, fmt v10.0.0, freeglut v3.4.0, FUSE v3.14.1, GapFiller v2.1.2, GCC 12.3.0 + 13.1.0, GDCM v3.0.21, GitPython v3.1.31, Go v1.20.4, googletest v1.13.0, gpustat v1.1, Guile v3.0.9, Gurobi v10.0.1, Harminv v1.4.2, Highway v1.0.4, IgBlast v1.21.0, Imath v3.1.7, infercnvpy v0.4.2, IQ-TREE v2.2.2.3, jax v0.3.25, jupyterlmod v4.0.3, Kalign v3.3.5, L_RNA_scaffolder v20190530, libaio v0.3.113, libarchive v3.6.2, libctl v4.5.1, libdeflate v1.8, libgcrypt v1.10.1, libGridXC v1.1.0, libjpeg-turbo v2.1.5.1, libmaus2 v2.0.499, libopus v1.4, libpng v1.6.39, libPSML v1.1.12, libRmath v4.2.1, libsigc++ v3.4.0, LibTIFF v4.5.0, libunistring v1.1, libxc v6.1.0, libxml2 v2.11.4, libxslt v1.1.38, lifelines v0.27.4, lxml v4.9.2, make v4.4.1, MariaDB v10.11.2, Meep v1.26.0, MetaPhlAn v4.0.6, mold v1.11.0, MPB v1.11.1, muParser v2.3.4, NAG v7.1, NAGfor v7.1, nano v7.2, NASM v2.16.01, ncurses v6.4, netcdf4-python v1.6.3, networkx v2.8.8, NSS v3.89.1, numexpr v2.8.4, nvtop v3.0.1, OpenEXR v3.1.7, OpenMM v8.0.0, Pandoc v3.1.2, ParaView v5.11.0, PCRE2 v10.42, PhyloPhlAn v3.0.3, phyx v1.3, picard v3.0.0, Pint v0.20.1, pkgconf v1.9.5, PostgreSQL v15.2, PROJ v9.2.0, Proteinortho v6.2.3, protobuf v23.0, protobuf-python v4.23.0, pydantic v1.10.4, pyFFTW v0.13.1, PyGEOS v0.14, Pyomo v6.5.0, pyparsing v3.0.9, pyperf v2.6.0, pyproj v3.5.0, pytest v7.2.2, PYTHIA v8.309, Qtconsole v5.4.0, R-bundle-Bioconductor v3.16, R-tesseract v5.1.0, RE2 v2023-03-01, ReFrame v4.2.0, RepeatMasker v4.1.5, RevBayes v1.2.1, rgdal v1.6-6, rioxarray v0.14.0, rocm-smi v5.4.4, ROOT v6.26.10, Rtree v1.0.1, scib v1.1.3, scikit-build v0.17.2, Seaborn v0.12.2, SHAP v0.41.0, Shapely v2.0.1, ShengBTE v1.5.0, SLiM v4.0.1, snappy v1.1.10, spdlog v1.11.0, spglib v2.0.2, spglib-python v2.0.2, SQLite v3.42.0, Subread v2.0.4, Tcl v8.6.13, tcsh v6.24.05, torchtext v0.14.1, trimesh v3.21.5, UCC-CUDA v1.1.0, utf8proc v2.8.0, Vim v9.0.1434, vsc-mympirun v5.3.1, WRF v4.4.1, xmlf90 v1.5.6, xxHash v0.8.1, XZ v5.4.2, zsh v5.9, zstd v1.5.5
    • minor enhancements, including:
      • add local::lib extension to Perl 5.34.0 (#17679)
      • install shared libraries for tesseract (#17721)
      • add additional extensions to recent R easyconfigs: word2vec, tau, quanteda, ... (#17738)
      • add extensions to R-bundle-Bioconductor 3.15: deepSNV (#17852)
      • add extensions to R 4.2.x: dlm (#17640), PMA + unikn + ppcor (#17695), tvem (#17729), epitools (#17852)
    • various bug fixes, including:
      • add patch for UCC 1.1.0 for multiple component paths (#17255)
      • fix configure step for ELSI 2.5.0+ (#17288)
      • switch bamtofastq to Cargo easyblock (#17595)
      • add missing OpenJPEG dependency for recent GDAL versions (#17599)
      • fix CodAn bin/* executable permissions for all users #(#17607)
      • upgrade traitlets, ipywidgets, and widgetsnbextension + downgrade jupyterlab_widgets extensions in IPython v8.5.0 to fix known issues (#17612)
      • add patch for GPAW-22.8.0 with 2022a toolchain to make test tolerance a bit less strict (#17618)
      • add alternative checksum for MONAI 1.0.1 (#17628)
      • fix paths to Perl modules in MAKER v3.01.04 (#17629)
      • add missing dependencies and add patch for fix incorrect ids for BRAKER v2.1.6 (#17631)
      • explicitely disable mpi/python in Boost (intel-compilers/2021.4.0) (#17638)
      • remove LLVM build dependency from TensorFlow easyconfigs (#17641)
      • update easyconfig for Longshot 0.4.5 to use Cargo easyblock (#17666)
      • fix homepage in ELPA easyconfigs (due to switch to new domain) (#17697)
      • add patch for scipy 1.10.1 extension in SciPy-bundle 2023.02 to fix broken test (#17713)
      • use CUDA variant of OpenMM 7.5.1 as dependency for AlphaFold 2.3.0 (#17717)
      • exclude flaky test_optim for PyTorch 1.12.1 + make excluded tests for PyTorch 1.12.1 consistent (#17726, #17730, #17731, #17737)
      • add missing PCRE dependency for InterProScan 5.55-88.0 (#17762)
      • fix building Python bindings of DGL, requires static libs (#17764)
      • only use QEF gitlab source url for QuantumESPRESSO itself (#17766)
      • add egg file to OpenCV 4.6.0 python package for pip + pkgconfig file (#17779)
      • fix broken source URL for AOCC 4.0.0 (#17794)
      • specify source_urls inside exts_default_options in Seurat easyconfigs to ensure correct name expansion for the archived packages (#17830)
      • add Doxygen build dependency to X11 (#17842)
      • FLINT needs BLAS so move it up from GCC level (#17868)
      • fix broken tarball links for ispc 1.6, 1.10, and 1.12 easyconfigs (#17875)
      • add dependency on PycURL to easyconfig for JupyterHub 3.0.0 (#17887)
      • add historical repo paths to install command for old versions of texlive (#17893)
      • add missing FastTreeMP binary for FastTree (#17897)
      • add checksum for arm64 source tarball for Go 1.18.3 (#17903)
      • add patch to fix test_quantization in PyTorch 1.12.1 (#17908)
      • add make 4.3 as build dependency for recent OpenBLAS versions (#17924)
    • other changes:
      • bump versions in Java wrappers to latest builds that include ppc64le: Java/8.362, Java/11.0.8, Java/17.0.6 (#17775)
      • move Arb and polymake to gfbf/foss since FLINT is now at gfbf/foss (#17869)
    ","boost":0.5},{"location":"release-notes/#release_notes_eb471","title":"EasyBuild v4.7.1 (20 March 2023)","text":"

    bugfix/update release

    framework

    • various enhancements, including:

      • add option to make sanity_check_paths arch dependent (#3845)
      • add support for %(start_dir)s easyconfig template (#4073)
      • add Ubuntu friendly package naming scheme EasyBuildDebFriendlyPNS (#4115)
      • allow to directly import constants from easybuild.framework.easyconfig.constants (#4144)
      • accept single source as dict and single checksum in check_checksums_for (#4180)
      • add pre/post extension hook that is triggered before/after individual extension installations (#4193)
      • enforce absolute paths as start dir of extensions (#4196)
      • print warning when non-existing start_dir is specified for extension (#4201)
      • add support to silence deprecation warning for easyconfigs and toolchains (#4207)
      • skip directories when fixing shebangs (#4209)
      • add support for modunloadmsg easyconfig parameter (#4223)
    • various bug fixes, including:

      • fix use of locate in check_os_dependency (#4166)
      • add VERSION to easybuild.easyblocks namespace in test sandbox (#4171)
      • also apply filter to asyncprocess test subsuite (#4172)
      • don't use deprecated SafeConfigParser when running with Python 3.x (#4173)
      • update CI workflows to run apt-get update if installation of packages via apt-get install failed, likely due to stale apt cache (#4176)
      • fixes for findPythonDeps script (#4179)
      • check type of versionsuffix value in det_full_ec_version, and raise useful error message if it's not a string (#4184)
      • avoid GC3Pie deprecation warning (#4185)
      • correctly restore sys.path in tests (#4186)
      • suppress output of --skip-test-step test (#4187)
      • fix flaky test_search_file due to accidental matches for .*C++ search pattern (#4190)
      • silence distutils deprecation warnings (#4204)
      • improve handling of start_dir and add tests for cases where either ext_dir or initial start_dir or both are unset or None (#4206)
      • restore initial environment before processing each easystack item (#4213)
      • make test_help_long work on small terminals (#4218)
    • other changes:

      • use better test assertions by replacing use of assertFalse/assertTrue (#4170, #4205)
      • remove Travis CI configuration file (#4174)
      • filter out deprecation warnings for platform.dist in get_os_version and platform.linux_distribution in get_os_name (#4175)
      • only give read permissions in GitHub Actions workflows (#4182)
      • fix website/docs links in README (#4199)
      • only print \"default:\" for configuration option of strlist type if default is not empty (#4220)

    easyblocks

    • minor enhancements and updates, including:

      • fix TensorFlow easyblock for new versions of Bazel & TensorFlow (#2854)
      • make NAMD easyblock aware of (pre)testopts (#2856)
      • update MesonNinja easyblock for Meson >=0.64.0 (#2861)
      • update scipy easyblock for scipy >= 1.9.0 to use meson/ninja (#2862, #2903)
      • modify logic in QScintilla easyblock to find the PyQt5 sipdir in more places (#2868)
      • add testinstall custom easyconfig parameter to PythonPackage easyblock (#2872)
      • use -x option for \"go install\" in GoPackage generic easyblock, to print commands as they are executed (#2878)
      • allow disabling pybind11 tests with runtest = False (#2892)
      • call parent post_install_step in EasyBuildMeta easyblock (so postinstallcmds are taken into account) (#2893)
      • update and enhance Maple easyblock for recent versions (#2895)
      • relax glob pattern to find Mathematica install script (#2896)
      • implement CUDA support in the ELPA EasyBlock & fix $CPP configure issue on newer ELPA versions (#2898)
      • update Trilinos easyblock to allow disabling of building tests and forward deps + support Trilinos v13.x (#2900)
      • enhance Python easyblock to create non-versioned symlink for python-config + check for bin/python and bin/python-config in sanity check (#2904)
    • various bug fixes, including:

      • do not use -g77 option when installing NVHPC 22.9+ (#2819)
      • check that sanity_check_module_loaded attribute exists before querying it in PythonPackage easyblock (#2865)
      • fix $JULIA_DEPOT_PATH in installation of multiple JuliaPackage extensions (#2869)
      • fix checking of CUDA/ROCR-Runtime dependencies for Clang to determine default build targets (#2873)
      • show template values of exts_default_options in PythonBundle (#2874)
      • fix missing initialization of CMakeMake in CMakePythonPackage (#2876)
      • fix error when failing pip version check during PythonPackage sanity check (#2877)
      • handle templating correctly in CMakeMake when playing with configopts (#2882)
      • avoid crash in test step of PyTorch easyblock if runtest is not a command (#2883)
      • fix check configure option in FlexiBLAS easyblock (#2886)
      • use older ncgen -H for older netCDF (#2889)
      • fix linking numexpr with Intel MKL's VML library for imkl >= 2021.x (#2897)
    • other changes:

      • only give read permissions in GitHub Actions workflows (#2863)
      • use start dir of extension to install R packages (#2867)
      • fix website/docs links in README (#2870)
      • add deprecation notice to RPackage extensions with relative paths in start_dir (#2879)

    easyconfigs

    • added example easyconfig files for 99 new software packages:

      • astro-tulips (#17263), BA3-SNPS-autotune (#17248), BayesAss3-SNPs (#17247), Block (#27), CatLearn (#14940), CDFlib (#17133), Cellpose (#13703), CheckM-Database (#17462), chemprop (#17261), cimfomfa (#17268), conan (#17326), cooler (#17328), crossguid (#16207), cuSPARSELt (#17141), cython-blis (#17544), DBCSR (#17170), dclone (#17225), DensPart (#17473), Deprecated (#1248), DLPack (#17311), DMLC-Core (#17311), dorado (#17195), duplex-tools (#17497), eQuilibrator (#16812), fastai (#16985), fastjet (#17367), fastjet-contrib (#17377), ffnvcodec (#17271), finder (#1917), flowFDA (#17495), gbasis (#17473), genomepy (#17506), Giotto-Suite (#17207), GKeyll (#16044), GraphDB (#17280), graphviz-python (#17352), grid (#17473), GUSHR (#16905), Health-GPS (#17434), HepMC3 (#17341), HiCMatrix (#17330), Inferelator (#17223), iodata (#17473), irodsfs (#17486), jupyter-contrib-nbextensions (#17270), jupyterlab-lmod (#16563), jupyterlmod (#16563), kb-python (#17260), kineto (#17194), KMCP (#17267), krbalancing (#17325), Lace (#954), LASSO-Python (#17510), libemf (#16188), loomR (#14518), MAKER (#17345), methylartist (#17264), nanoflann (#17311), netMHCII (#9741), NEXUS-CL (#17350), nichenetr (#17524), Parallel-Hashmap (#17311), pdsh (#17139), Perseus (#17210), PfamScan (#17530), Phenoflow (#17495), PIRATE (#17275), PLAMS (#17473), plot1cell (#17498), pybinding (#17137), pyperf (#17063), pyslim (#17150), pytest-rerunfailures (#17295), pytest-shard (#17295), python-louvain (#17207), PyTorch-Ignite (#15491), PyVCF3 (#17519), R2jags (#17226), rapidcsv (#16211), rapidNJ (#17399), Rivet (#17380), rmarkdown (#17189), scArches (#17069), scHiCExplorer (#17334), scib (#17142), SeaView (#17385), silhouetteRank (#17207), siscone (#17342), smfishHmrf (#17207), sparse-neighbors-search (#17329), SpatialDE (#17207), sradownloader (#17188), stardist (#17215), Strainberry (#17522), toil (#17098), vConTACT2 (#17372), VirSorter2 (#17371), vitessce-python (#17472), vitessceR (#17525), YODA (#17343)
    • added additional easyconfigs for various supported software packages, including:

      • AlphaFold 2.3.0, Anaconda3 2022.10, angsd 0.940, archspec 0.2.0, Armadillo 11.4.3, AUGUSTUS 3.5.0, bcbio-gff 0.7.0, BCFtools 1.17, beagle-lib 4.0.0, Beast 2.7.3, BeautifulSoup 4.11.1, Biopython 1.81, BLAT 3.7, Blender 3.4.1, Blosc2 2.6.1, Boost 1.81.0, Bottleneck 1.3.6, BUSCO 5.4.5, bx-python 0.9.0, CatMAP 20220519, CellRanger 7.1.0, Cereal 1.3.2, CFITSIO 4.2.0, CheckM 1.2.2, code-server 4.9.1, configurable-http-proxy 4.5.3, csvkit 1.1.0, 4.8, CUDA 12.1.0, cuDNN 8.8.0.121, cwltool 3.1.20221008225030, Cython 0.29.33, DGL 0.9.1, DIAMOND 2.1.0, dill 0.3.6, DIRAC 23.0, dm-tree 0.1.8, dRep 3.4.2, eggnog-mapper 2.1.10, elfutils 0.189, ELPA 2022.05.001, epiScanpy 0.4.0, FabIO 0.14.0, FastQ_Screen 0.14.0, FFmpeg 5.1.2, FLAC 1.4.2, flatbuffers 23.1.4, FLINT 2.9.0, GDAL 2.4.4, GDAL 3.6.2, GDGraph 1.56, GEOS 3.11.1, GMAP-GSNAP 2023-02-17, gmsh 4.11.1, gnuplot 5.4.6, GOATOOLS 1.3.1, googletest 1.12.1, GPyTorch 1.9.1, Greenlet 2.0.2, GST-plugins-base 1.22.1, GStreamer 1.22.1, GTDB-Tk 2.1.1, h5py 3.8.0, HDBSCAN 0.8.29, HDF5 1.14.0, HiCExplorer 3.7.2, Highway 1.0.3, HTSlib 1.17, hypothesis 6.68.2, Hypre 2.27.0, igraph 0.10.3, IGV 2.16.0, IJulia 1.24.0, Imath 3.1.6, imbalanced-learn 0.10.1, imkl 2023.0.0, imkl-FFTW 2023.0.0, impi 2021.8.0, intel-compilers 2023.0.0, IRkernel 1.3.2, JAGS 4.3.1, jax 0.4.4, Julia 1.8.5, JupyterHub 3.0.0, jupyter-matlab-proxy 0.5.0, jupyter-resource-usage 0.6.3, jupyter-server-proxy 3.2.2, Kent_tools 442, leidenalg 0.9.1, LERC 4.0.0, libcerf 2.3, libgit2 1.5.0, libnsl 2.0.0, libsndfile 1.2.0, libtirpc 1.3.3, libxslt 1.1.37, Longshot 0.4.5, MAFFT 7.505, Maple 2022.1, MaSuRCA 4.1.0, Mathematica 13.1.0, MATIO 1.5.23, MATLAB 2022a + 2022a-r3 + 2022b, matplotlib 3.7.0, MaxQuant 2.2.0.0, MCL 22.282, MDAnalysis 2.4.2, Miniconda3 22.11.1, mm-common 1.0.5, MPFR 4.2.0, mpi4py 3.1.4, mpmath 1.2.1, msprime 1.2.0, MultiQC 1.14, mygene 3.2.2, nano 7.1, nanomax-analysis-utils 0.4.4, ncbi-vdb 3.0.2, NetLogo 6.2.2 + 6.3.0, nettle 3.8.1, networkx 3.0, Nextflow 22.10.6, nlohmann_json 3.11.2, numba 0.56.4, NVHPC 22.9 + 22.11 + 23.1, NVSHMEM 2.8.0, OpenMPI 4.1.5, Optuna 3.1.0, ORCA 5.0.4, PAML 4.10.5, panaroo 1.3.2, ParallelIO 2.5.10, parasail 2.6, Pillow 9.4.0, PIPITS 3.0, PLINK 2.00a3.7, plotly.py 5.12.0 + 5.13.1, PLUMED 2.8.1, poetry 1.2.2, polymake 4.8, preseq 3.2.0, presto 1.0.0-20230113, PROJ 9.1.1, protobuf 3.21.9, psycopg2 2.9.5, pybind11 2.10.3, PyCharm 2022.3.2, py-cpuinfo 9.0.0, pyFAI 0.21.3, pyfaidx 0.7.1, pyGenomeTracks 3.8, pygraphviz 1.10, pymca 5.7.6, Pysam 0.20.0, PySCF 2.1.1, PyTables 3.8.0, Python 3.11.2, python-parasail 1.3.3, PyZMQ 24.0.1, QCG-PilotJob 0.13.1, QIIME2 2022.11, QtPy 2.3.0, QUAST 5.2.0, R 4.2.2, Ray-project 2.2.0, RDKit 2022.09.4, Redis 7.0.8, redis-py 4.5.1, ReFrame 4.0.5, RepeatMasker 4.1.4, RepeatModeler 2.0.4, rjags 4-13, RMBlast 2.13.0, ROOT 6.22.08, Salmon 1.9.0, SAMtools 1.17, Scalasca 2.6.1, scikit-learn 1.2.1, SciPy-bundle 2023.02, SDL2 2.26.3, SeqKit 2.3.1, silx 1.0.0, snakemake 7.22.0, SNAP-HMM 20221022, SpaceRanger 2.0.1, SPAdes 3.15.5, spaln 2.4.13f, Spark 3.3.1, SRA-Toolkit 3.0.3, SSW 1.2.4, STAR 2.7.10b, STAR-CCM+ 18.02.008, SVG 2.87, TensorFlow-Datasets 4.8.3, Tkinter 3.10.8, tqdm 4.64.1, Trilinos 13.4.1, Trim_Galore 0.6.10, Trinity 2.15.1, TWL-NINJA 0.98-cluster_only, Unidecode 1.3.6, vsc-mympirun 5.3.0, VSEARCH 2.22.1, wget 1.21.3, wxWidgets 3.2.2.1, x264 20230226, Xerces-C++ 3.2.4, XlsxWriter 3.0.8, xtb 6.5.1, Xvfb 21.1.6
    • minor enhancements, including:

      • add additional extensions to R 4.2.1 (#17043, #17125, #17224, #17493, #17523)
      • add additional extensions to Bioconductor 3.15 (#17126, #17315, #17494)
      • add sanity check command to OpenMolcas v22.10 (#17128)
      • add Set::Object and Heap::Fibonacci extensions to Perl 5.32.1 (#17151)
      • add additional extensions to Python 3.10.8 (required for scipy test suite) (#17159)
      • enhance OpenFold 1.0.1 for standalone usage (#17206)
      • add SDL2 dependency for FFmpeg 5.0.1 to build ffplay (#17213)
      • set $JULIA_DEPOT_PATH and $JULIA_HISTORY in Julia easyconfigs (#17216)
      • add Devel::Size + Math::Utils extension to recent Perl easyconfigs (#17246, #17466)
      • combine errors of extension patch check into a single failure (#17286)
      • add case-insensitive name clash test (#17303)
      • add ffnvcodec build dependency to all recent FFmpeg easyconfigs (#17316)
      • use 'import deap.base' in sanity check for deap extension in SciPy-bundle 2022.05 (#17429)
      • add source URL to cuDNN 8.8 easyconfig (#17439)
      • add missing zstd dep to Boost (#17482)
    • various bug fixes, including:

      • fix postinstallcmds and clarify download instructions for netMHC + netMHCpan 4.0a (#9739, #9740)
      • fix OpenBLAS 0.3.15 patch to correctly set the CPU core type for Tiger Lake (#15845)
      • add alternative checksum for UCX 1.13.1 after source tarball was changed in-place (without actual code changes) (#17077)
      • fix build of TensorFlow 2.5+ on aarch64 (#17101)
      • explictely download qe-gipaw source tarball from qe-gipaw GitHub repository in QuantumESPRESSO 7.1 easyconfigs (#17129)
      • add patch for GCCcore 11.1.0 + 11.2.0 to fix AVX2 bug (#17135)
      • add patch to make ncbi-vdb 3.0.0 compatible with HDF5 1.12.2 (#17140)
      • fix source URL for p7zip v17.x (#17144)
      • add patches for Qt5 5.15.5 to fix compilation failures in abseil and breakpad with glibc 2.34 (#17165)
      • remove dependency on Pillow from scikit-bio v0.5.7 (#17178)
      • correctly specify path to libfabric installation prefix in PMIx 4.1.0 easyconfig (#17204)
      • use GCC as toolchain for serial variants of HDF5, since it has a FORTRAN API (#17221)
      • fix CMake print summary for long hostnames for NECI (#17230)
      • add missing pmix patch to OpenMPI 4.1.1 easyconfig used in iomkl/2021a and iomkl/2021b (#17240)
      • include required stereo_chemical_props.txt for OpenFold 1.0.1 (#17242)
      • add patch for PAPI 7.0.0 to fix compilation error (#17244)
      • also update $PERL5LIB for RepeatMasker v4.1.4 (#17245)
      • add alternative source_url for MariaDB > 10.4 (#17250)
      • remove use of rysnc in building Kent_tools (#17252)
      • add missing pkgconf build dependency in recent libxslt easyconfigs (#17254)
      • add psycopg2, PyYAML, and Cartopy dependencies to QGIS 3.28.1 (#17257)
      • fix postinstallcmds in shovill easyconfigs (#17279)
      • allow multiple easyconfigs with same name if they differ by CUDA version included in versionsuffix (#17289)
      • remove duplicate SlamDunk easyconfig using lowercase name (#17301)
      • use https in homepage + source URL for GenomeThreader 1.7.3 (#17338)
      • consistently use Check capitailisation (#17351)
      • add alternative checksum for spatial 7.3-14 extension in R 4.1.x easyconfigs (#17356)
      • fix homepage + source URL for ELPA (due to switch to new domain) (#17357)
      • fix homepage in ELPA easyconfigs (due to switch to new domain) (#17358)
      • rename libpsml for consistency with libPSML (#17359)
      • replace obsolete pycrypto with pycryptodome in Python 3.10.x easyconfigs (#17412)
      • update deap to version 1.3.3 in SciPy-bundle 2022.05 easyconfigs (since deap 1.3.1 is broken) (#17413)
      • add patch for Qt5 5.12.2 with GCCcore/11.2.0 to fix template bug (#17464)
      • replace src include path with installation dir for HDF5 (#17469, #17488)
      • disable Python support for OTF2 v2.2, since we're not including Python 2.x as dependency (#17499)
      • update homepage and source urls of DFT-D3 (#17528)
      • use Binary easyblock for ANIcalculator to prevent RPATH sanity check failures (#17536)
    • other changes:

      • fix invalid escape sequences in easyconfigs by using raw strings (r\"...\") (#11149)
      • add exception for ncbi-vdb 3.0.0 dependency variant (#17131)
      • use proper source tarball instead of cloning GitHub repository for wxWidgets v3.2.1 (#17167)
      • enable -fPIC in GEOS 3.11.1 (required by GDAL) (#17196)
      • fix website/docs links in README (#17232)
      • remove commented out line and delete unused patch for TALON (#17298)
      • re-enable disabled tests (#17304)
      • rename MAGMA to MAGMA-gene-analysis to avoid name collision (#17345)
      • Archive ARB and blasr patch files (#17346)
      • Archive BAMM, BamM, and GroopM to avoid BAMM/BamM name collision (#17348)
      • consistently use NanoFilt capitalisation (#17349)
      • rename ncl to NEXUS-CL to avoid case-insensitive name clash (#17350)
      • rename python graphviz to graphviz-python to avoid case-insensitive name clash (#17352)
      • archive charmm and CHARMM easyconfigs to avoid case-insensitive name clash (#17364)
    ","boost":0.5},{"location":"release-notes/#release_notes_eb470","title":"EasyBuild v4.7.0 (January 9th 2023)","text":"

    feature release

    framework

    • print deprecation warning with running EasyBuild with Python 2 (#4136)

    • various enhancements, including:

      • add support for checksums specified in external checksums.json file (#3749)
      • vendor distutils.version.LooseVersion as easybuild.tools.LooseVersion (since distutils is deprecated in Python 3.10) (#3794, #4156)
      • take into account custom configuration options specified in easystack file (#4057)
      • add support for using --output-format=md (MarkDown) (#4117, #4155)
      • add support for --filter-rpath-sanity-libs to skip RPATH sanity check for designated libraries (#4119)
      • add sanity_check_load_module method to EasyBlock to provide control over when module is loaded during sanity check step (#4125)
      • add eb_bash_completion_local.bash script to setup.py (#4127)
      • check whether nvidia-smi/rocm-smi command is available before trying to run it in get_gpu_info (#4131)
      • add gfbf as subtoolchain of foss (#4143)
      • add support for postinstallmsgs (#4145)
      • make iimkl toolchain aware of intel-compilers (#4146)
      • add definition for nvofbf toolchain (#4157, #4163)
    • various bug fixes, including:

      • also use EasyConfig instances cache in process_easyconfig when build_specs is empty dict (#4107)
      • fix build options that should have empty list as default value (#4108)
      • catch easyconfig parsing failure so we can generate and post a test report (#4109)
      • add explicit return when no checksums match those specified in a tuple (#4112)
      • tweak findPythonDeps.py script to use canonical package names (#4118)
      • add -fdefault-double-8 to r8 toolchain compiler option for GCC (to be consistent with Intel) (#4121)
      • always start with empty list for banned/requires libraries to avoid that corresponding build option is updated in-place (#4137)
      • fix container tests by using EPEL archive URL for downloading Singularity RPM (#4138)
      • use -march=x86-64 -mtune=generic instead of -xSSE2 when using Intel oneAPI compilers (#4147)
      • partially skip test_det_copy_ec_specs if no GitHub token is available (#4149)
    • other changes:

      • drop support for easystack files using 'software' top-level key (#4057)
      • also run unit tests with Python 3.11 + add Python 3.11 to classifiers in setup.py (#4092, #4141)
      • use new EasyBuild logo in README (#4123)
      • automatically cancel Github Action workflow runs for outdated commits (#4132)
      • auto-enable use of oneAPI C/C++ compilers for intel-compilers >= 2022.2.0 (#4135)
      • trim CI test configurations to avoid hitting GitHub rate limits (#4148)
      • various tweaks to docstrings and help messages to fix problems with auto-generated documentation in MarkDown format (#4129, #4130, #4154, #4160, #4162, #4168)
      • update copyright lines for 2023 (#4161)

    easyblocks

    • add generic easyblocks for installing (bundle of) Julia packages: JuliaPackage (#2816) and JuliaBundle (#2830)

    • minor enhancements and updates, including:

      • enhance TensorFlow easyblock to take into account provided OpenSSL dependency (#2575)
      • add fix_shebang to install_step of PythonPackage easyblock so that we can fix shebangs when installing extensions (#2680)
      • update PETSc easyblock for newer versions (>= 3.17) (#2796)
      • update Clang easyblock to add support for new directory structure in Clang versions >= 14 + support Flang (#2800)
      • update Xmipp easyblock since versions >= 3.20.07 use noAsk option to configure (#2809)
      • add include/opencv4 to $CPATH for OpenCV versions >= 4.0 (#2818)
      • add extra option for disabling LAPACK in ESMF (#2821)
      • enable building of static libraries for libxml2 >= 2.10 (#2825)
      • update Xmipp easyblock to handle effects of CUDA at SYSTEM level and newer CUDA version requirements for stdc++ (#2831)
      • update LLVM easyblock to put 'cmake' symlink in place so separate CMake modules required for LLVM 15+ can be found (#2832)
      • set $TEMPDIRPATH for testsuite in the BerkeleyGW easyblock, to avoid polluting /tmp (#2836)
      • add configure_no_prefix option to skip addition of prefix to configure command in ConfigureMake easyblock (#2842)
      • update qscintilla.py to be compatible with EB install of PyQt5 >= 5.15 (#2845)
      • add UCC to known_dependencies in OpenMPI EasyBlock (#2847)
      • update Clang-AOMP easyblock to handle version 5.2 and newer (#2851)
    • various bug fixes, including:

      • fix installing of Clang with RPATH linking (#2799)
      • fix --module-only for Clang + fix sanity check for Clang 11.x (#2800)
      • create $XDG_CACHE_HOME for PyTorch tests (#2806)
      • make PythonPackage easyblock compatible with --sanity-check-only by loading module early during sanity check step (#2828)
      • fix docstring of PythonBundle generic easyblock (#2833)
      • fix counting of failures in PyTorch tests (#2834, #2840)
      • make sure that ANSYS INSTALL script has execute permissions (#2852, #2853)
    • other changes:

      • remove useless -openmp build option for MRtrix v3.x (#2822)
      • update HDF5 easyblock to use --enable-threadsafe configure option to make C API thread safe (#2824)
      • use new EasyBuild logo in README (#2827)
      • automatically cancel Github Action workflow runs for outdated commits (#2835)
      • use fixed names for bazel/wrapper subdirectories used when building TensorFlow, to make debugging easier (#2841)
      • also run unit tests with Python 3.11 (#2844)
      • tweak docstring in some generic easyblocks so it renders nicely in auto-generated documentation (#2849)
      • update copyright lines for 2023 (#2850)

    easyconfigs

    • added easyconfigs for foss/2022b, intel/2022b common toolchains (#16961 and #16962)

      • see also https://docs.easybuild.io/en/latest/Common-toolchains.html
    • added easyconfigs for NVHPC-based toolchains nvompi/2022.07 and nvofbf/2022.07 (#16724)

    • added example easyconfig files for 107 new software packages:

      • Alfred (#16780), attrdict3 (#16856), bamFilters (#16735), bcl-convert (#16351), Beagle (#346), Boost.MPI (#15757), captum (#16477), CAT-BAT (#16577, #16634), cdo-bindings (#16669), Chemaxon-Marvin (#13954), CliMetLab (#16842), CloudCompare (#16944), cmocean (#16659), COBRApy (#16616), CodAn (#16902), CoSymLib (#17049), CPPE (#16749), cryoCARE (#16534), CTPL (#16498), CUDA-Samples (#16914), cwltool (#16503), Cytoscape (#16682), DeepLabCut (#16391), DeepMod2 (#17008), Dice (#16752), dlb (#16845), DRAGMAP (#16532), ecBuild (#16842), EGTtools (#16704), ESM-2 (#16528), flair-NLP (#15588), FMS (#16965), Godon (#16574), gsw (#16643), HighFive (#16737), humann (#16853), HyperQueue (#16753), IJulia (#16494, #16665), infercnvpy (#16712), InParanoid (#16572), jupyter-server (#14844), KaHIP (#16861), KITE (#16550), lagrangian-filtering (#16654), LHAPDF (#17028), librttopo (#16856), libwpe (#16088), Magics (#16842), matlab-proxy (#14270), mcu (#16566), MEMOTE (#16772), memtester (#16763), meson-python (#16911), minizip (#16856), MITgcmutils (#16623), MONAI (#16519), MOOSE (#13824), mstore (#16892, #17029), MultilevelEstimators (#15630, #16665), n2v (#16535), NanoLyse (#16575), napari (#16468), NECI (#16751), nf-core-mag (#16613), oceanspy (#16640), olego (#16909), OmegaFold (#16698), OVITO (#16811), Panedr (#16564), Parcels (#16838), polars (#16989), PsiCLASS (#16906), pyccel (#16823), PyCheMPS2 (#16710), PyDamage (#16576), PyImageJ (#16757), pysteps (#16783), python-libsbml (#16610), python-telegram-bot (#16442), pyWannier90 (#16447), resolos (#16649), RLCard (#16695), SAP (#5200), scikit-misc (#16457), scvi-tools (#16457), SELFIES (#17032), SeuratDisk (#16951), sfftk (#16466), simint (#16886), SISSO++ (#15759), slamdunk (#15197), spaCy (#17027), Sphinx-RTD-Theme (#16736), SPOOLES (#16756), Squidpy (#16880), svist4get (#16505), task-spooler (#17048), TBA (#16497), TensorFlow-Datasets (#16421), TFEA (#16476), TinyXML (#16992), tokenizers (#15587), torchsampler (#16464), trimesh (#16858), UCX-ROCm (#17033), wpebackend-fdo (#16093), xmitgcm (#16637)
    • added additional easyconfigs for various supported software packages, including:

      • Albumentations 1.3.0, ANSYS 2022R2, AOCC 4.0.0, archspec 0.1.4, ArviZ 0.12.1, ASAP 2.1, astropy 5.1.1, basemap 1.3.6, BBMap 39.01, BEDOPS 2.4.41, Blender 3.3.1, Blosc 1.21.3, Blosc2 2.4.3, bokeh 2.4.3, Bonnie++ 2.00a, boto3 1.26.37, BRAKER 2.1.6, CDO 2.1.1, cdsapi 0.5.1, CharLS 2.4.1, CheMPS2 1.8.12, CMake 3.24.3, CubeGUI 4.8, CubeLib 4.8, CubeWriter 4.8, CUDA 11.8.0 + 12.0.0, cuDNN 8.6.0.163 + 8.7.0.84, cURL 7.86.0, cutadapt 4.2, cuTENSOR 1.6.1.5, dask 2022.10.0, DAS_Tool 1.1.3, DBus 1.15.2, dcm2niix 1.0.20220720, DCMTK 3.6.7, deepdiff 5.8.1, dm-reverb 0.7.0, double-conversion 3.2.1, Doxygen 1.9.5, ecCodes 2.27.0, exiv2 0.27.5, Fiji 2.9.0, Filtlong 0.2.1, FLANN 1.9.1, FlexiBLAS 3.2.1, fontconfig 2.14.1, FreeXL 1.0.6, g2clib 1.7.0, GATK 4.3.0.0, GD 2.75, GDCM 3.0.20, Gdk-Pixbuf 2.42.10, GeneMark-ET 4.71, gensim 4.2.0, geopandas 0.12.2, gettext 0.21.1, gh 2.20.2, Ghostscript 10.0.0, git 2.38.1, GLib 2.75.0, GlobalArrays 5.8.2, GnuTLS 3.7.8, GObject-Introspection 1.74.0, GRASS 8.2.0, GTK3 3.24.35, HarfBuzz 5.3.1, HTSeq 2.0.2, hwloc 2.8.0, Hyperopt 0.2.7, ICU 72.1, imagecodecs 2022.9.26, imageio 2.22.2, ImageMagick 7.1.0-53, imbalanced-learn 0.9.0, JasPer 4.0.0, jax 0.3.23, JupyterLab 3.5.0, Leptonica 1.83.0, libavif 0.11.1, libdap 3.20.11, libdeflate 1.15, libdrm 2.4.114, libfabric 1.16.1, libffi 3.4.4, libglvnd 1.6.0, libgpg-error 1.46, libidn 1.41, libjpeg-turbo 2.1.4, LibLZF 3.6, libpciaccess 0.17, libpng 1.6.38, librsvg 2.55.1, LibSoup 3.0.8, libspatialindex 1.9.3, libspatialite 5.0.1, libtasn1 4.19.0, LibTIFF 4.4.0, libxml2 2.10.3, libxml2-python 2.9.13, line_profiler 4.0.0, LittleCMS 2.14, LLVM 15.0.5, lz4 1.9.4, makedepend 1.0.7, Mako 1.2.4, MATLAB-Engine 2021b, Mesa 22.2.4, Meson 0.64.0, MIGRATE-N 5.0.4, Miniconda3 4.12.0, mold 1.7.1, Molden 7.1, MotionCor2 1.5.0, MoviePy 1.0.3, MRChem 1.1.1, MRCPP 1.4.1, nano 7.0, NanoFilt 2.8.0, nanoget 1.18.1, nanomath 1.2.1, ncbi-vdb 3.0.0, NCCL 2.16.2, NCCL-tests 2.13.6, NCO 5.1.3, nglview 3.0.3, NiBabel 4.0.2, Ninja 1.11.1, nodejs 18.12.1, NSPR 4.35, NSS 3.85, NVHPC 22.7, NVSHMEM 2.7.0, Octave 7.1.0, OPARI2 2.0.7, OpenFOAM 10, OpenFold 1.0.1, OpenImageIO 2.3.17.0, OpenMolcas 22.10, openpyxl 3.0.10, openslide-python 1.2.0, OpenStackClient 6.0.0, OSU-Micro-Benchmarks 6.2, OTF2 3.0.2, Pango 1.50.12, PAPI 7.0.0, pauvre 0.2.3, PETSc 3.17.4, phonopy 2.16.3, pigz 2.7, Pillow 9.2.0, Pint 0.19.2, pixman 0.42.2, PMIx 4.2.2, poppler 22.12.0, psutil 5.9.3, pybedtools 0.9.0, PyBerny 0.6.3, pydantic 1.10.2, pydicom 2.3.0, pyproj 3.4.0, PyQt5 5.15.5, pytest 7.1.3, Python 3.10.8, python-isal 1.1.0, PyTorch 1.12.1, PyTorch-Geometric 2.1.0, PyTorch-Lightning 1.8.4, QCA 2.3.5, QGIS 3.28.1, QIIME2 2022.8, QScintilla 2.11.6, Qt5 5.15.7, Qtconsole 5.3.2, QtKeychain 0.13.2, QtPy 2.2.1, rasterio 1.3.4, re2c 3.0, ReFrame 3.12.0, RStudio-Server 2022.07.2+576, Ruby 3.0.5, Rust 1.65.0, SAP 1.1.3, scanpy 1.9.1, scikit-image 0.19.3, SCons 4.4.0, Score-P 8.0, Seaborn 0.12.1, SentencePiece 0.1.97, Seurat 4.3.0, SignalP 6.0g, SimPEG 0.18.1, SLEPc 3.17.2, SNAP 2.0.1, SpaceRanger 2.0.0, SQLite 3.39.4, STAR-CCM+ 17.06.007, SuperLU_DIST 8.1.0, tensorboardX 2.5.1, TensorFlow 2.8.4, tensorflow-probability 0.16.0, tesseract 5.3.0, texinfo 6.8, TM-align 20190822, tmux 3.3a, TOBIAS 0.14.0, TOML-Fortran 0.3.1, Transformers 4.24.0, typing-extensions 4.4.0, UCC 1.1.0, UCX-CUDA 1.13.1, util-linux 2.38.1, Valgrind 3.20.0, Vim 9.0.0950, VTK 9.2.2, wandb 0.13.6, WebKitGTK+ 2.37.1, WPS 4.4, WRF 4.4, wxPython 4.2.0, wxWidgets 3.2.0, X11 20221110, xarray 2022.9.0, XCFun 2.1.1, XGBoost 1.7.2, Xmipp 3.22.07, XZ 5.2.7, yaml-cpp 0.7.0, zarr 2.13.3, zlib-ng 2.0.6
    • minor enhancements, including:

      • enable building of dev tools in recent PyQt5 easyconfigs (#16469)
      • add extensions to R v4.2.1: LMERConvenienceFunctions (#16512), HGNChelper 4.2.1 (#16744)
      • add extensions to R-bundle-Bioconductor 3.15: SPOTlight (#16569), HiCcompare (#16581), ROntoTools (#16636), scDblFinder (#16686), numbat (#16777), HiCBricks (#16913), zellkonverter (#16952)
      • add libmad dependency to SoX v14.4.2 (#16758)
      • also install subtree support in recent git easyconfigs (#16784, #16785)
      • add extensions to ESM-2 to enhance it for esmfold (#16841)
      • add libwebp dependency to Pillow-SIMD 9.2.0 to add webp support (#16844)
      • add KaHIP dependency to OpenFOAM v2206 (#16974)
      • enable dataset support for recent versions of Arrow (#16956)
    • various bug fixes, including:

      • define $JUPYTER_PATH via modextrapaths rather than modextravars for IRkernel 1.x (#15776)
      • add patches to fix PyTorch 1.10.0 build on POWER (#15904)
      • fix installation of Python 2.7.18 with GCCcore/11.2.0 (was broken due to 0.0.0 version for some extensions) (#16485)
      • add patch for M4 1.4.18 to fix glibc v2.34 SIGSTKSZ compatibility (#16486)
      • add patch for pybind11 2.6.0 to fix failing test due to extra whitespace (#16487)
      • work around installation problem for extensions in Python 2.7.16 easyconfig due to missing build-backend spec in pyproject.toml (#16490)
      • fix libsanitzer for glibc 2.36 to build GCCcore 10.x and 11.x (#16502)
      • add OpenBLAS patches to disable FMA in [cz]cal and fix crash in zdot (#16510)
      • add missing Perl build dependency GStreamer + add patch to skip trying to make files suid (#16516)
      • build nodejs with OpenSSL and ICU provided as proper dependencies (#16529)
      • also define $JUPYTER_CONFIG_PATH in IPython and JupyterLab easyconfigs (#16556)
      • define $GTKDOCIZE as 'echo' before generating configure script for recent HarfBuzz versions (#16570)
      • disable use of -Werror in recent NSS easyconfigs (#16571)
      • use 'cpan.metacpan.org' rather than 'www.cpan.org' in extension source_urls for recent Perl easyconfigs (#16611)
      • avoid that zlib + htslib are downloaded and built during installation of MetaBAT (#16624)
      • add patch to fix installation of MetaBAT 2.15 on non-x86_64 systems (#16633)
      • add missing pyWannier90 dependency for mcu + enhance sanity check (#16667)
      • fix source_urls for colossalai 0.1.8 (no longer available via PyPI, only via GitHub repo) (#16693)
      • add patches to fix or skip PyTorch 1.12.1 tests (#16793)
      • fix checksum for cell2location 0.05-alpha and add missing build dependency on flex (#16819)
      • upgrade dependency on libdeflate to common v1.8 in fastp and vt easyconfigs using GCC(core)/10.3.0 (#16839)
      • fix checksum for dlllogger extension in OpenFold v1.0.0 (#16694)
      • make sure that Python dependency is actually used for VTK 9.0.1 (#16741)
      • fix homepage for pocl v1.8 (#16857)
      • fix source_urls in MUMPS easyconfigs (#16931, #16932)
      • fix installation of Bowtie2 v2.4.4+ on non-x86_64 systems (#16946)
      • add missing OpenSSL dependency to DCMTK 3.6.7 (#16979)
      • fix source URL for PCRE2 (#16987)
      • add pkgconf dependency for ICU and add patch to avoid trouble with long path names for nodejs-16.15.1/GCCcore-11.3.0 (#16990)
      • add patch for libwpe 1.13.3 to avoid build issues on CentOS 7 (#17001)
      • add missing zlib and zstd to GnuTLS (#17013)
      • add missing pkgconf build dependency to Transformers v4.24.0 (#17020)
      • fix checksums for xxx-rocm-4.5.0.tar.gz source tarballs for Clang-AOMP 4.5.0 (#17042)
      • replace useless test step for simint 0.7 with (lightweight) sanity check command (#17044)
    • other changes:

      • only give read permissions in GitHub Actions workflows (#16263)
      • remove ExomeDepth from recent R-bundle-Bioconductor easyconfigs (#16492)
      • include tqdm as extension in the idemux bundle to avoid multivariant deps on GCCcore-10.2.0 (#16578)
      • use new EasyBuild logo in README (#16641)
      • rename hyperopt to Hyperopt, to be consistent with existing Hyperopt easyconfigs (#16697)
      • automatically cancel Github Action workflow runs for outdated commits (#16754)
      • use geo moduleclass for SimPEG 0.14.1 (#16847)
    ","boost":0.5},{"location":"release-notes/#release_notes_eb462","title":"EasyBuild v4.6.2 (October 21st 2022)","text":"

    bugfix/update release

    framework

    • various enhancements, including:
      • add support for easystack file that contains easyconfig filenames + implement parsing of configuration options (#4021)
      • skip over unset $EB_PYTHON/$EB_INSTALLPYTHON in eb wrapper script (#4080)
      • add GITHUB_RELEASE and GITHUB_LOWER_RELEASE templates (#4084)
      • add %(cuda_cc_cmake)s template (#4087)
    • various bug fixes, including:
      • make check_sha256_checksums verify all checksums if they're specified as a dict value (#4076)
      • replace use of symlink with copied files in alt_location tests to fix failing EasyBuild installation on BeeGFS (#4083)
      • fix trying to generate RPATH wrappers for Clang (#4088)
      • make sure that GitPython version is a proper version before checking minimal required version (#4090, #4091)
      • first look for patch in alt_location when it is specified (#4093)
    • other changes:
      • make scripts executable (#4081)
      • make --inject-checksums inject dictionary value for checksums which maps filename to SHA256 checksum (#4085)
      • update to v3 of actions/checkout and actions/setup-python in CI workflows (#4089)
      • use SYSTEM template constant in dependencies instead of True in framework tests (#4094)

    easyblocks

    • 2 new software-specific easyblock:
      • CUDA compatibility libraries (#2764) and mamba (#2808)
    • minor enhancements and updates, including:
      • update OpenFOAM easyblock to support OpenFOAM 10 + clean up variant/version checks (#2766)
      • added support for ESMPy in ESMF (#2789)
      • enhance OpenBLAS easyblock to support running LAPACK test suite + checking how many tests fail (#2801)
      • make numexpr easyblock aware of toolchain with GCC + imkl (#2810)
      • add sanity check commands for netCDF (#2811)
    • various bug fixes, including:
      • handle problems copying symlink that points to CUDA folder that is not created for non CUDA builds of SuiteSparse (#2790)
      • don't install docs (to avoid trouble with Java) + add Rocky support for ABAQUS (#2792)
      • correctly count the number of failing tests (not failing test suites) in PyTorch builds (#2794, #2803)
      • fix docstring for PyTorch easyblock (#2795)
      • handle iterative builds with MakeCp easyblock (#2798)
      • accept both None and empty value for optarch to let OpenCV detect host CPU (#2804)
      • enhance EasyBuildMeta easyblock: auto-enable installing with pip + fix setup.py of easyconfigs package so installation with setuptools >= 61.0 works (#2805)
      • use python -m pip instead of pip in PythonPackage easyblock (#2807)
    • other changes:
      • make the test output from PythonPackage less verbose by disabling default search for error patterns done by run_cmd (#2797)

    easyconfigs

    • add easyconfig for intel/2022.09 toolchain (#16435)
    • added example easyconfig files for 25 new software packages:
      • AGAT (#16261), AMAPVox (#16438), Avogadro2 (#16257), buildingspy (#16308), CDBtools (#16436), Compress-Raw-Zlib (#16307), CUDAcompat (#15892), CWIPI (#16342), enchant-2 (#16082, #16319), f90wrap (#16346), Imath (#16276), Mamba (#16432), Miller (#16221), nghttp2 (#16096), ngtcp2 (#16098), NVSHMEM (#16254), pairsnp (#16331), paladin (#16320), PyMOL (#16394), python-irodsclient (#16328), ruffus (#16428), TELEMAC-MASCARET (#16274), torchdata (#16344), Waylandpp (#16092), x13as (#16163)
    • added additional easyconfigs for various supported software packages, including:
      • Amber 22.0, AMS 2022.102, ASE 3.22.1, atools 1.5.1, Beast 2.6.7, biogeme 3.2.10, Boost.Python 1.79.0, ccache 4.6.3, dbus-glib 0.112, Delly 1.1.5, ESMF 8.3.0, expat 2.4.9, FDS 6.7.9, file 5.43, FLTK 1.3.8, FTGL 2.4.0, gc 8.2.2, GitPython 3.1.27, Go 1.18.3, GPAW 22.8.0, Guile 3.0.8, htop 3.2.1, hunspell 1.7.1, IPython 8.5.0, jq 1.6, Julia 1.8.2, LDC 1.30.0, libcint 5.1.6, libconfig 1.7.3, libreadline 8.2, LibSoup 3.0.7, LIBSVM 3.30, libwebp 1.2.4, likwid 5.2.2, MariaDB 10.9.3, matplotlib 3.5.2, ncdu 1.17, netcdf4-python 1.6.1, Nextflow 22.10.0, NFFT 3.5.3, Nipype 1.8.5, numactl 2.0.16, onedrive 2.4.21, OpenCV 4.6.0, OpenEXR 3.1.5, OpenJPEG 2.5.0, OpenMM 7.7.0, OpenPGM 5.2.122, OpenSSL 1.1.1q, Perl 5.36.0, Pillow-SIMD 9.2.0, pkgconf 1.9.3, PostgreSQL 14.4, PyCharm 2022.2.2, PyTorch 1.12.0, PyTorch 1.12.0, PyTorch-Lightning 1.7.7, RDFlib 6.2.0, SAMtools 1.16.1, scikit-learn 1.1.2, Score-P 7.1, SDL2 2.0.22, spaln 2.4.12, spglib-python 2.0.0, SuiteSparse 5.13.0, SUNDIALS 6.3.0, sympy 1.11.1, tensorboard 2.10.0, torchvision 0.13.1, TRIQS 3.1.1, TRIQS-cthyb 3.1.0, TRIQS-dft_tools 3.1.0, TRIQS-tprf 3.1.1, TRUST4 1.0.7, TurboVNC 3.0.1, typing-extensions 4.3.0, UCX 1.13.1, umap-learn 0.5.3, VEP 107, VMD 1.9.4a57, Wayland 1.21.0, wxWidgets 3.2.1, xprop 1.2.5
    • minor enhancements, including:
      • configure recent pocl versions with -DLLC_HOST_CPU=native to avoid CPU auto-detection (#16246)
      • add multi-dep exception to easyconfigs test suite for ncbi-vdb-3.0.0 which requires HDF5 1.10.x (#16316)
      • enable running of LAPACK tests for recent OpenBLAS easyconfigs + add patch to fix failing LAPACK tests due to use of -ftree-vectorize (#16406)
      • add GITHUB_(LOWER_)RELEASE to known constants in setup.cfg (#16422)
      • add AMAPVox extension to R v4.2.1 (#16439)
      • add OpenEXR dependency to POV-Ray 3.7.0.10 (#16408)
    • various bug fixes, including:
      • add patch for OpenBLAS 0.3.7-0.3.12 to fix miscomputation on POWER (#16199)
      • skip flaky test in PyTorch 1.9.0 (#16258)
      • add --with-versioned-syms to ncurses 6.2 and 6.3 (#16270)
      • add missing pkg-config build dependency to Guile (#16317)
      • add patches to fix incompatibilites between ASE and other packages in 2022a toolchain (#16332)
      • add patches to fix PyTorch 1.11 on POWER (#16339)
      • add patches for Ambertools 21 to Amber 20.11 to work with updated Amber easyblock (#16343)
      • use Intel MPI from EasyBuild toolchain in AMS (#16363)
      • fix execution permissions for bin/ngm* for NextGenMap v0.5.5 (#16383)
      • fix using provided Qhull and freetype dependencies for matplotlib 3.5.2 by creating mplsetup.cfg rather than setup.cfg (#16396)
      • fix GitHub download link in for libpsl 0.21.1 (#16397)
      • stick to http in source URL for stride.tar.gz in VMD 1.9.4a51 easyconfigs due to problems with SSL certificate (#16403)
      • add patch to detect available cores and remove unneeded deps for Unicycler 0.5.0 (#16407)
      • add missing ICU + libunistring dependencies for libpsl 0.21.1 w/ GCCcore/10.3.0 (#16410)
      • add patch to GCC 11.x + 12.x to fix vectorizer bug (#16411)
      • fix checksum for GULP 6.1 (#16423)
      • add bzip2 and libxml2 as dependencies for netCDF 4.9.0 (#16450)
    • other changes:
      • drop Java dep from ABAQUS 2022 (#16314)
      • deprecate use of True in favour of SYSTEM for system-toolchain dependencies in easyconfigs using a recent toolchain version (>2019b) (#16384)
      • update easyconfigs to use SYSTEM template constant instead of True in dependencies (#16386, #16418)
      • update libxml2 + libxslt easyconfigs to use gnome.org source URL (#16429)
    ","boost":0.5},{"location":"release-notes/#release_notes_eb461","title":"EasyBuild v4.6.1 (September 12th 2022)","text":"

    bugfix/update release

    framework

    • various enhancements, including:
      • add script to find dependencies of Python packages (#3839)
      • add ai default module class (#4053)
    • various bug fixes, including:
      • fix code style issues reported by recent flake8 linter (#4049)
      • stick to autopep8 < 1.7.0 with Python 2.7 (#4055)
      • ensure we call EasyBlock.patch_step for postinstallpatches (#4063)
      • fix leaked handles in set_columns, complete_cmd, run_cmd_qa, det_terminal_size functions + tests (#4066)
      • fix quote_str when string with both ' and \" ends with a double quote (#4068)
      • fix type-checking of patches to allow dict values + correctly handle patches specified as dict values in --new-pr (#4070)
      • relax toolchain test by accepting both -march=native (x86_64) and -mcpu=native (aarch64) (#4071)
    • other changes:
      • run python in the same process as eb wrapper script by using exec (#4048)
      • add get_linked_libs_raw function, and use it from both check_linked_shared_libs and sanity_check_rpath (#4051)
      • update CI workflows (except container tests) to use Ubuntu 20.04, since Ubuntu 18.04 is deprecated (#4064)
      • use SYSTEM constant for dependency that uses system toolchain in dumped easyconfig (#4069)

    easyblocks

    • minor enhancements and updates, including:
      • update LAMMPS easyblock for LAMMPS/23Jun22 (#2213)
      • reduce the number of command line options for cmake command in CMakeMake generic easyblock (#2514)
      • update libQGLViewer easyblock to take into account changes in the shared library names depending on Qt versions they are compiled with (#2730)
      • improve PLUMED detection in GROMACS easyblock (#2749)
      • make $LD_LIBRARY_PATH detection more robust for LAMMPS (#2765)
      • enhance NVHPC easyblock to avoid superfluous warning (#2767)
      • enhance PyTorch easyblock to also capture tests failing with signal (#2768)
      • enhance PythonPackage easyblock to make sure all test command output makes it to the EasyBuild log, also when return_output_ec=True (#2770)
      • set $NVHPC_CUDA_HOME for NVHPC 22.7+ (#2776)
    • various bug fixes, including:
      • make Amber easyblock aware of FlexiBLAS (#2720)
      • update PyTorch easyblock to configure without breakpad support on POWER (#2763)
      • use lib* in post_install step of FFTW.MPI easyblock to fix paths not being found on Linux distros favouring lib64 (like Suse/SLES) (#2771)
      • use det_cmake_version function to determine CMake version in CMakeMake generic easyblock (#2772)
      • don't enable building of ld.gold when installing binutils on a RISC-V system + don't configure GCC to use gold as default linker on a RISC-V system (#2780)
      • tweak Amber(Tools) easyblock to run tests from top-level directory (#2781)
      • fix version check for NVPTX library in sanity check of Clang easyblock (#2783)
    • other changes:
      • update CI workflows to use Ubuntu 20.04 (since Ubuntu 18.04 is deprecated) (#2779)

    easyconfigs

    • added example easyconfig files for 37 new software packages:
      • AptaSUITE (#8583), BigDFT (#15860), colossalai (#15971), CrystFEL (#8407), Dakota (#15883, #16210), FastFold (#15972), fastparquet (#15020), FOX-Toolkit (#15986), GLM-AED (#15879), hiredis (#16071), how_are_we_stranded_here (#16220, #16227), indicators (#16209), JavaFX (#8583), json-fortran (#15979), jupyter-resource-usage (#15834), libev (#16086), libmad (#16067), libplinkio (#13040), LuaJIT2-OpenResty (#16047), MetaMorpheus (#15825), mgltools (#16226), miniasm (#15858), muMerge (#16115), nano (#16198), nghttp3 (#16097), olaFlow (#16021), OpenFAST (#15983, #15983), OpenFold (#15971), Phantompeakqualtools (#15871), pyGenomeTracks (#16143), QuickPIC (#15978), RheoTool (#16077), Satsuma2 (#16068), SMC++ (#16017), stripy (#15866), UCC-CUDA (#15956), VESTA (#16217)
    • added additional easyconfigs for various supported software packages, including:
      • alevin-fry 0.6.0, AmberTools 22.3, arrow-R 8.0.0, ASE 3.22.1, BBMap 38.98, BCFtools 1.15.1, binutils 2.39, BLAST+ 2.13.0, Bowtie2 2.4.5, BUSCO 5.4.3, CapnProto 0.10.2, Cartopy 0.20.3, ccache 4.6.1, cclib 1.7.2, CDO 2.0.5, CellRanger-ATAC 2.1.0, CoordgenLibs 3.0.1, cURL 7.84.0, cuTENSOR 1.6.0.3, einops 0.4.1, Elk 8.5.2, Emacs 28.1, Embree 3.13.4, FFmpeg 4.4.2 + 5.0.1, fio 3.32, Flask 2.2.2, Flye 2.9.1, fmt 9.1.0, FORD 6.1.15, FreeSurfer 7.3.2, GATE 9.2, GATK 4.2.6.1, GCC(core) 12.2.0, GDB 12.1, Geant4 11.0.2, GetOrganelle 1.7.6.1, gifsicle 1.93, GLFW 3.3.8, glib-networking 2.72.1, Globus-CLI 3.6.0, gnuplot 5.4.4, gperftools 2.10, Graphviz 5.0.0, Gurobi 9.5.2, HDF5 1.12.2, HTSlib 1.15.1, Hypre 2.25.0, Jansson 2.14, jax 0.3.14, Kalign 3.3.2, kim-api 2.3.0, LAMMPS 23Jun2022, libcerf 2.1, libdwarf 0.4.1, Libint 2.7.2, libQGLViewer 2.8.0, LibSoup 2.74.0, libzip 1.9.2, Lua 5.4.4, lxml 4.9.1, maeparser 1.3.0, matplotlib 3.5.2, MATSim 14.0, MDAnalysis 2.2.0, medaka 1.6.0, Megalodon 2.5.0, Mercurial 6.2, MetaEuk 6, Mini-XML-3.3.1, MUMmer 4.0.0rc1, MUMPS 5.5.1, netCDF-Fortran 4.6.0, NGSpeciesID 0.1.2.1, ont-remora 1.0.0, OpenFOAM v2206, OTF2 3.0, parallel 20220722, ParaView 5.10.1, patchelf 0.15.0, Perl 5.36.0, pftoolsV3 3.2.12, PLINK 2.00a3.6, pretty-yaml 21.10.1, PRSice 2.3.5, pugixml 1.12.1, Pyomo 6.4.2, PyOpenCL 2021.2.13, Pysam 0.19.1, PyStan 3.5.0, PyYAML 6.0, RDKit 2022.03.5, scikit-bio 0.5.7, scikit-build 0.15.0, scikit-learn 1.1.2, scikit-optimize 0.9.0, SCOTCH 7.0.1, SIONlib 1.7.7, SISSO 3.1, spglib-python 2.0.0, Stacks 2.62, Stata 17, SUMO 1.14.1, tbb 2021.5.0, tqdm 4.64.0, Transformers 4.21.1, Trycycler 0.5.3, Unicycler 0.5.0, Valgrind 3.19.0, ViennaRNA 2.5.1, VTune 2022.3.0.eb, wxPython 4.1.1, x264 20220620, Z3 4.10.2, zfp 1.0.0
    • minor enhancements, including:
      • add alternate download URL for Voro++ (#15898)
      • add extra symlinks and sanity checks for libtinfo in ncurses (#15903)
      • include some easyconfig constants in flake8 configuration file (#16040)
      • add pigz dependency for cutadapt v3.4 + v3.5 (#16056)
      • add sanity check commands for recent gettext versions (>= 0.20.x) (#16091)
    • various bug fixes, including:
      • use correct Matlab Runtime Compiler (v8.4) for FreeSurfer v7.1.1 (#13375)
      • fix set-alias statements for MaxQuant v2.0.3.0 (#15743)
      • add Autotools build dependency to R 4.2.0 w/ foss 2021b (#15822)
      • add patch for BLIS to fix auto-detection of POWER (#15826)
      • downgrade SPAdes dependency to v3.13.1 for Unicycler 0.4.9 since v3.15.3 is too new (#15840)
      • explicitly enable HDF5 from kallisto v0.46.2 onwards (#15843)
      • add CVE patch for XZ 5.2.5 + attempt to fix symbol patch for all OSs (#15856)
      • use build environment set by EasyBuild and add missing dependency on zlib to minimap2 (#15859)
      • add missing dependencies and execute tests on Trycycler v0.5.2 (#15864)
      • add patch for AlphaFold v2.2.2 to fix NaN problem with jax 0.3.9 (#15874)
      • exclude (flaky) fault_tolerance_test and fix non-x86 build for TensorFlow 2.7.1 (#15882)
      • work around miscompilation of OpenBLAS on POWER by compiling with -fstack-protector-strong (#15885)
      • fix tests on POWER9 for BLIS 0.9.0 + fix auto-detect for POWER10 for BLIS (AMD) v2.0 + v3.0 (#15889)
      • add and fix patches for PyTorch 1.9.0 on POWER (#15919)
      • exclude Binary, PackedBinary and JAR easyblocks from binutils build requirements (#15932)
      • consistently add libffi + elfutils dependencies to recent Clang easyconfigs (#15935, #16225)
      • add patch to fix broken test on POWER for numpy in SciPy-bundle 2022.05 (#15968)
      • refactor checksum test for extensions to use collect_exts_file_info (#15973)
      • fix dependency on FOX Toolkit in SUMO (#15986)
      • add missing SciPy-bundle dependency for rMATS-turbo (#15988)
      • explicitly download wannier90 source tarball from wannier90 GitHub repository in QuantumESPRESSO 7.1 easyconfigs (#15993)
      • restore ploteig in EIGENSOFT 7.2.1 (#15996)
      • add alternative checksum for plot3Drgl extension in R v4.1.x + v4.2.0 easyconfigs (#16011)
      • add patch to fix missing sync in LINCS and SETTLE CUDA kernels for GROMACS 2020 (#16027) and 2021 (#16026)
      • exclude failing test in TensorFlow 2.4.1 (#16042)
      • skip NASA performance and remote server tests in netCDF v4.9.0 (#16050, #16158)
      • use versioned symbols in ncurses built with system toolchain (by adding --with-versioned-syms configure option) (#16064)
      • add patch to fix pkgconfig file for Blitz++ v1.0.2 (#16102)
      • add missing BCFtools dependency for recent medaka versions (#16107)
      • add GTK2 v2.24.33 as a dependency for Ghostscript v9.56.1 (#16112)
      • fix checksum for Stacks v2.62 (due to silent re-release without version bump) (#16134)
      • fix libsanitzer for glibc 2.36 to build GCCcore 11.3.0 (#16145)
      • fix top level Makefile for AmberTools 20 and enable tests (#16150)
      • add missing patches + enable running tests for AmberTools 21 with intel/2021a (#16151) and intel/2021b (#16152)
      • replace HDF5 v1.13.1 with v1.12.1 as dependency, since we shouldn't use odd minor versions of HDF5 which are not stable releases (#16153)
      • remove modextrapaths to add top-level install directory to $PATHfor recent InterProScan easyconfigs (now done by default by Binary easyblock) (#16167)
      • fix sources + source URL + homepage for Molekel v5.4.0 (#16219)
      • consistently add maeparser + CoordgenLibs dependencies to OpenBabel 3.1.1 easyconfigs (#16231)
      • fix checksum for CUDA 11.4.1 aarch64 installer (#16234)
      • remove incorrect comment for Boost dependency in OpenBabel 3.1.1 easyconfigs (#16238)
      • add direct Pango dependency in recent ImageMagick easyconfigs (#16237)
    • other changes:
      • remove superfluous -DCMAKE_BUILD_TYPE=Release, use of build_type = Release, or enabling separate_build_dir from easyconfigs using CMakeMake easyblock (#13384)
      • synchronize ncurses easyconfigs using system toolchain (#15903)
      • stick to Java/11 as dependency for Bazel 5.1.1 (which is available for x86_64, aarch64, ppc64le) (#15906)
      • speed up OpenMPI 4.1.4 configure by not running autogen.pl --force, but only running required Autotools commands (#15957)
      • replace sed commands by upstreamed patches for BLIS built with intel-compilers toolchain (#15958)
      • simplify AlphaFold foss/2021a easyconfigs by using a fleshed out patched OpenMM dependency (#15981)
      • update Java/11 to 11.0.16 and Java/17 to 17.0.4 (#16001)
      • remove unnecessary patch in recent JupyterLab (#16030)
      • update CI workflows to use Ubuntu 20.04 (since Ubuntu 18.04 is deprecated) (#16070)
      • make check for toolchain value in dependency spec in easyconfigs test suite aware that dumped easyconfig uses SYSTEM constant (#16126)
    ","boost":0.5},{"location":"release-notes/#release_notes_eb460","title":"EasyBuild v4.6.0 (July 8th 2022)","text":"

    feature release

    framework

    • various enhancements, including:
      • allow searching for sources/patches in alternative location by specifying 'alt_location' in source/patch spec (#3994)
      • show URLs used for download attempts in trace output (#4026)
      • add support for setting environment variables via 'pushenv' with modextravars (#4030)
      • add support for OneAPI compilers using toolchain option 'oneapi' (#4031, #4032, #4039)
      • make check_linked_shared_libs more robust by taking into account that 'ldd' may fail (#4033)
      • fall back to sequential extension install if parallel install is not implemented (#4034)
      • add support for using template values in name/version of extensions (#4036)
    • various bug fixes, including:
      • make sure that ARCH constant has 'aarch64' (rather than 'arm64') as value on macOS ARM (#4018)
      • tweak 'eb' wrapper script to correctly handle errors when python command being considered fails to run (#4019)
      • tweak is_patch_for function to make it more robust (#4028)
    • other changes:
      • update Lmod used to run tests to version 8.7.6 (#4027, #4030)
      • tweak apply_patch to not create .orig files (by default) when applying patch files (#4038)

    easyblocks

    • new software-specific easyblock for STAR-CCM+ (#1613)
    • minor enhancements and updates, including:
      • update Siesta EasyBlock to support GCC 10+ by adding -fallow-argument-mismatch Fortran compiler option (#2690)
      • enable building of shared library for Libint 2.7+ (#2738)
      • allow some PyTorch tests to fail + print warning if one or more tests fail (#2742)
      • also support OpenSSL 3.0 in OpenSSL wrapper easyblock (#2746)
      • add more logging to install_pc_files method of OpenSSL wrapper easyblock (#2752)
      • make WPS easyblock aware of (pre)buildopts (#2754)
      • add Abseil system dependency for TensorFlow 2.9+ (#2757)
      • disable altivec when building FFTW versions < 3.4 with single-precision with GCC on POWER (#2758)
    • various bug fixes, including:
      • make VEP easyblock compatible with --sanity-check-only (#2743)
      • update Rosetta easyblock to take into account that $LD_LIBRARY_PATH, $CPATH, $PATH may not be defined (#2744)
      • only load temporary module file during sanity check for pybind11 for stand-alone installations, so it can be installed as extension (#2747)
      • make sure that CMakeMakeCp uses correct build dir (#2748)
      • enhance Bazel easyblock to avoid writing to $HOME in sanity check (#2756)

    easyconfigs

    • added easyconfigs for foss/2022a, intel/2022a common toolchains (#15755)

      • see also https://docs.easybuild.io/en/latest/Common-toolchains.html
    • add easyconfig for gfbf/2022a toolchain (#15653, #15755)

    • added example easyconfig files for 24 new software packages:

      • BLT (#15624), category_encoders (#15638), fio (#10321), FSON (#15721), G-PhoCS (#7619), GCTA (#15649), Gibbs2 (#15702), InterProScan_data (#15717), Jorg (#15346), libopus (#15682), Minipolish (#15713), mm-common (#15764), MONA (#15696), NetPyNE (#15606), pfind (#15685), regionmask (#15786), samplot (#15686), SISSO (#15766), sklearn-pandas (#15637), STAR-CCM+ (#7398), SWIPE (#6795), topaz (#15739), uncertainty-calibration (#15612), Virtuoso-opensource (#14102)
    • added additional easyconfigs for various supported software packages, including:

      • AlphaFold 2.2.2, Arriba 2.3.0, Arrow 8.0.0, Bracken 2.7, CellRanger 7.0.0, Clp 1.17.7, CoinUtils 2.11.6, cppy 1.2.1, deal.II 9.3.3, double-conversion 3.2.0, Doxygen 1.9.4, FLAC 1.3.4, fmt 7.1.1, FSL 6.0.5.1, GDAL 3.5.0, gdbm 1.21, geopandas 0.11.0, GEOS 3.10.3, Ghostscript 9.56.1, GLibmm 2.66.4, Groovy 4.0.3, GULP 6.1, h5py 3.7.0, HDF5 1.13.1, hifiasm 0.16.1, IGMPlot 2.6.9b, ImageMagick 7.1.0-37, InterProScan 5.55-88.0, IRkernel 1.3, jemalloc 5.3.0, JsonCpp 1.9.5, Julia 1.7.3, Leptonica 1.82.0, libgeotiff 1.7.1, libgit2 1.4.3, libiconv 1.17, libRmath 4.2.0, libsigc++ 2.10.8, libsndfile 1.1.0, libxc 5.2.3, libxml++ 2.42.1, line_profiler 3.5.1, LittleCMS 2.13.1, MaSuRCA 4.0.9, mayavi 4.7.4, MetaEuk 5, mold 1.3.0, NCCL 2.12.12, netCDF 4.9.0, nettle 3.8, networkx 2.8.4, NEURON 7.8.2, NLopt 2.7.1, nodejs 16.15.1, NSPR 4.34, NSS 3.79, nsync 1.25.0, nvtop 2.0.2, Osi 0.108.7, p4est 2.8, parasail 2.5, Pillow 9.1.1, PLUMED 2.8.0, PnetCDF 1.12.3, PRISMS-PF 2.2, PROJ 9.0.0, protobuf 3.19.4, protobuf-python 3.19.4, pyfaidx 0.7.0, PyOpenGL 3.1.6, pyproj 3.3.1, PyTorch 1.11.0, Qhull 2020.2, Qt5 5.15.5, QuantumESPRESSO 7.1, Qwt 6.2.0, R 4.2.1, rasterio 1.2.10, Ray-project 1.13.0, RE2 2022-06-01, redis-py 4.3.3, ReFrame 3.11.2, rioxarray 0.11.1, RNA-SeQC 2.4.2, Schrodinger 2022-2, Shapely 1.8.2, Siesta 4.1.5, SimpleITK 2.1.1.2, SpectrA 1.0.1, TensorFlow 2.7.1, Tk 8.6.12, Tkinter 3.10.4, Transformers 4.20.1, UCX-CUDA 1.12.1, utf8proc 2.7.0, WhatsHap 1.4, WPS 3.9.1, Xvfb 21.1.3
    • minor enhancements, including:

      • add extensions to R v4.2.0: hypergeo (#15701), rtdists (#15734), geeM (#15810)
      • add patch for GCCcore 11.3.0 to support using -fuse-ld=mold (#15715)
      • add patch for porefoam to fix hardcoded mpirun command and take into account $POREFOAM_MPIRUN_CMD (#15730)
    • various bug fixes, including:

      • switch to Rust 1.60.0 build dependency for bamtofastq, since build fails with Rust 1.52.1 (#15636)
      • avoid that pygmo v2.18.0 installs stuff in Python installation directory + add custom sanity check paths to pygmo easyconfigs (#15657)
      • add patch for Mmg v5.6.0 to remove library CI tests that point to external sources (#15691)
      • correct configopts in deal.II v9.1.1 easyconfig (#15692)
      • add missing Python dependency for HPDBSCAN to fix unresolved %(pyshortver)s template (#15694)
    • other changes:

      • disable flaky GPU test for TensorFlow 2.6.0 (#15824)
    ","boost":0.5},{"location":"release-notes/#release_notes_eb455","title":"EasyBuild v4.5.5 (June 8th 2022)","text":"

    bugfix/update release

    framework

    • various enhancements, including:
      • add toolchain definitions for nvompi (NVHPC + OpenMPI) (#3969), nvpsmpi (NVHPC + ParaStationMPI) (#3970), gfbf (GCC, FlexiBLAS, FFTW) (#4006)
      • add support for FFTW.MPI toolchain component ($FFT*DIR variables) (#4012)
      • add support for customizing EasyBuild command used in jobs via --job-eb-cmd (#4016)
    • various bug fixes, including:
      • fix copying of easyconfig file with --copy-ec without --rebuild if module is already installed (#3993)
      • ignore deprecation warnings regarding cryptography in Python 3.6 + Blowfish with Python 3.10 in test suite output (#3999)
      • fix typo in debug log message in easyblock.py (#4000)
      • fix printing of list of attempted download URLs when url-encoded characters are used in URL (#4005)
      • set $FFT(W)_LIB_DIR to imkl-FFTW's lib path in build environment if usempi toolchain option is enabled (#4011)
      • correctly identify Apple Silicon M1 as Arm 64-bit by also considering arm64 next to aarch64 (#4014)
      • fix 'eb --show-system-info' on Apple M1 system (#4015)
    • other changes:
      • change 'eb' command to import easybuild.framework to check if EasyBuild framework is available (#3995, #3998)

    easyblocks

    • new software-specific easyblock for FFTW.MPI (#2724)
    • minor enhancements and updates, including:
      • update NEURON easyblock to use CMakeMake for recent versions (#2304)
      • enhance Clang easyblock to add support for building with AMDGPU offload (#2684, #2729)
      • update sanity check in OpenMPI easyblock to support OpenMPI v5.0.0 (#2709)
      • don't use gold linker by default for GCC >= 11.3 (#2711)
      • update sanity check in R easyblock for versions >= 4.2.0, since S.h is not included anymore (#2713)
      • update ABAQUS easyblock for ABAQUS 2022 (#2716)
      • update LLVM easyblock for LLVM v14.0.x (#2718)
      • update Mesa easyblock to remove swr driver configopts for versions 22+ (#2719)
      • enhance Clang easyblock to support also installing Python bindings (#2721, #2725)
      • enhance SuperLU easyblock to support building on top of FlexiBLAS and be compatible with SuperLU v5.3 (#2722)
      • update TensorFlow easyblock for version 2.8.0 (#2723)
      • modify FFTW's sanity check step to allow checking only for MPI parts of FFTW installation (#2724)
      • add support to ConfigureMake for tweaking (first part of) test command via 'test_cmd' (#2726, #2737)
      • enhance MrBayes easyblock with custom sanity check command (#2727)
      • update cudnnarch string templates used to compose source tarball names from cuDNN 8.3.3 onwards (#2728)
      • add sanity check command to OpenSSL wrapper easyblock to verify that system certificates are available to OpenSSL (#2735)
      • ignore exit code of pkg-config command in OpenSSL wrapper easyblock, since with pkgconf they exit with a non-zero exit code if the OS package is not installed (#2736)
    • various bug fixes, including:
      • remove system-compiled binutils dirs from $LDFLAGS in binutils easyblock (#2712)
      • fix for FreeSurfer easyblock: define $FREESURFER needed by recon_all (#2717)
      • also symlink cert.pem in from-source OpenSSL installation (if it exists) (#2735)

    easyconfigs

    • add candidates for 2022a common toolchains: foss/2022.05 (#15561), intel/2022.05 (#15485)
    • added example easyconfig files for 35 new software packages:
      • Albumentations (#15302), AMPtk (#15435), arosics (#15249), CellTypist (#15530), detectron2 (#15442), EigenExa (#15234), Fastaq (#15332), FFTW.MPI (#15561), FreeBarcodes (#15350), gcloud (#15443), GST-plugins-bad (#15446), gsutil (#15507), GTK4 (#15447), hector (#15397), i7z (#15236), libde265 (#15395), libheif (#15395), ModelTest-NG (#15448), num2words (#15473), OGDF (#15407), panito (#15314), parameterized (#15481), purge_dups (#15385), redis-py (#15475), ruamel.yaml (#15531), SCGid (#15065), scPred (#15575), slow5tools (#15457), smooth-topk (#15506), SPOTPY (#15326), tmap (#14601), UCC (#14291), Wayland (#11107), XGrafix (#15268), XPLOR-NIH (#15479)
    • added additional easyconfigs for various supported software packages, including:
      • ABAQUS 2022, Arb 2.22.1, ARGoS 3.0.0, Arriba 2.2.1, astropy 5.0.4, ATK 2.38.0, Autotools 20220317, Bader 1.04, Bazel 4.2.2 + 5.1.1, BDBag 1.6.3, binutils 2.38, biom-format 2.1.12, BLIS 0.9.0, Boost 1.79.0, breseq 0.36.1, bx-python 0.8.13, cairo 1.17.4, CellRanger-ARC 2.0.1, CMake 3.23.1, cryoDRGN 1.0.0, CUDA 11.7.0, cuDNN 8.4.1.50, cURL 7.83.0, DBus 1.14.0, eggnog-mapper 2.1.7, elfutils 0.187, EvidentialGene 2022.01.14, expat 2.4.8, FlexiBLAS 3.2.0, FLINT 2.8.4, fontconfig 2.14.0, freebayes 1.3.6, freeglut 3.2.2, freetype 2.12.1, FriBidi 1.0.12, GCC 9.5.0 + 11.3.0 + GCC 12.1.0, Gdk-Pixbuf 2.42.8, geopandas 0.10.2, git 2.36.0, GLib 2.72.1, GMAP-GSNAP 2021-21-17, Go 1.18.1, GObject-Introspection 1.72.0, Graphene 1.10.8, GST-plugins-base 1.20.2, GStreamer 1.20.2, GTDB-Tk 2.0.0, GTK3 3.24.33, gzip 1.12, HarfBuzz 4.2.1, help2man 1.49.2, hwloc 2.7.1, hypothesis 6.46.7, Hypre 2.24.0, ICU 71.1, IGV 2.12.3, IMB 2021.3, inferCNV 1.10.1, InterProScan 5.52, IQ-TREE 2.2.1, jax 0.3.9, json-c 0.16, LAPACK 3.10.1, libarchive 3.6.1, libdeflate 1.10, libdrm 2.4.110, libedit 20210910, libepoxy 1.5.10, libfabric 1.15.1, libglvnd 1.4.0, libjpeg-turbo 2.1.3, libreadline 8.1.2, librsb 1.3.0.1, librsvg 2.52.8, libtool 2.4.7, libunwind 1.6.2, libxml2 2.9.13, LLVM 14.0.3, LocARNA 1.9.2.3, MACS2 2.2.7.1, magma 2.6.2, Mako 1.2.0, Mathematica 13.0.0, MCL 14.137, MCR R2022a.1, Mesa 22.0.3, Meson 0.62.1, MIRA 5.0rc2, Mmg 5.6.0, mold 1.2.1, mosdepth 0.3.3, MrBayes 3.2.7a, MultiQC 1.12, MUMPS 5.5.0, muParser 2.3.3, ncurses 6.3, neptune-client 0.16.2, Nextflow 22.04.0, Nim 1.6.6, NTPoly 2.7.1, OpenMPI 4.1.4, openpyxl 3.0.9, OpenSSL 1.1.1n, OpenStackClient 5.8.0, OSU-Micro-Benchmarks 5.9, pagmo 2.18.0, Pango 1.50.7, parallel-fastq-dump 0.6.7, PCRE2 10.40, Perl 5.34.1, Pillow 9.1.0, PLINK 2.00a3.1, PMIx 4.1.2, PyAMG 4.2.3, pybind11 2.9.2, PyCairo 1.21.0, pygmo 2.18.0, PyGObject 3.42.1, Python 3.10.4, R 4.2.0, RAxML-NG 1.1.0, R-bundle-Bioconductor 3.15, ReFrame 3.11.0, RNA-Bloom 1.4.3, rnaQUAST 2.2.2, Rust 1.60.0, Sambamba 0.8.2, SAMtools 1.15.1, ScaLAPACK 2.2.0, SciPy-bundle 2022.05, SeqKit 2.2.0, Shapely 1.8.1.post1, SpaceRanger 1.3.1, Spack 0.17.2, Spark 3.2.1, SQLite 3.38.3, StringTie 2.2.1, SUMO 1.12.0, SuperLU 5.3.0, tbl2asn 20220427, Tcl 8.6.12, TCLAP 1.2.5, tcsh 6.24.01, texlive 20220321, ToFu 1.5.0, UCX 1.12.1, util-linux 2.38, VEP 105, ViennaRNA 2.5.0, vsc-mympirun 5.2.11, worker 1.6.13, X11 2022050, YAXT 0.9.2.1, Z3 4.8.16, Zip 3.0, zlib 1.2.12, zstd 1.5.2
    • minor enhancements, including:
      • use OpenSSL wrapper dependency for CMake 3.18.4 with system toolchain (#15227)
      • also build BLIS backend for FlexiBLAS v3.0.4 with GCC/10.3.0 (#15347)
      • add extensions to R v4.1.2 + v4.2.0 easyconfigs:
        • Hmsc (#15393), MonteCarlo + RhpcBLASctl (#15438), chkptstanr (#15540), chkptstanr + MLmetrics + renv (#15573)
      • add extensions to R-bundle-Bioconductor 3.14 easyconfig: DNABarcodes (#15405)
      • use redist source_urls for cuDNN > 7.5 (#15411)
      • add download_instructions to Java 1.8 > 200 (#15412)
      • update Arrow to use EB versions of some dependencies and enable all compression codecs (#15512)
      • add csh -> tcsh symlink in recent tcsh easyconfigs (#15571)
      • allow external tools to be located elsewhere for ETE (#15578)
      • add additional sanity check commands for IQ-TREE v2.2.1 (#15596)
    • various bug fixes, including:
      • fix source URL for freetype 2.6.5 with foss/2016b (#14204)
      • fix installation of easybuild-easyconfigs with setuptools>=61 by explicitly declaring there are no Python packages (#15206)
      • use x.py to bootstrap Rust so that build options are properly passed through (#15211)
      • fix RepeatMasker-4.1.2-p1 easyconfig by moving the database configure command to postinstallcmds (#15280, #15615)
      • add hwloc dependency to tbb v2021.4.0 (#15294)
      • tweak find command used in preconfigopts in easyconfig for pkg-config v0.29.2 with system toolchain to avoid descending into other filesystems (#15313)
      • remove pkg-config use from SeqLib configure patch (avoids problem due to faulty autoconf macro) (#15316)
      • update source URL for isl in GCCcore easyconfigs (#15320)
      • update source URLs for YAXT 0.9.x to fix download (#15323)
      • define $HHLIB as path to HH-suite installation directory, required by Perl scripts (#15324)
      • add missing parallel and tbl2asn dependencies for prokka 1.14.5 (#15360, #15381)
      • add missing dependencies for libheif (libpng, libjpeg-turbo) (#15408)
      • switch to configuring build of libheif with CMake so libde265 dependency is picked up (#15408)
      • disable use of -ftree-vectorize for OpenFOAM v2112 with foss/2021b (#15495)
      • add patch for OpenMPI 4.1.1 to support building using --with-cuda=internal (#15528, #15589)
      • add patch to fix support for external PMIx v3.1 in OpenMPI v3.1.3 (#15566)
      • also build shared library + fix $PYTHONPATH for gmsh 4.9.0 (#15579)
      • add patch for GLib 2.68.2 to fix use of close_range (#15594)
      • fix download of thrift 0.12.0 for Arrow 0.16.0 (#15597)
      • add Bison and flex build dependencies to SCOTCH 6.1.x (#15618)
      • add alternative checksums for class, nnet, spatial extensions in R v4.2.0 easyconfig (#15619)
      • add missing dependencies + switch to non-static build for Arriba v2.1.0 (#15623)
    • other changes:
      • add R dependency to vcflib 1.0.3, and move from GCC/11.2.0 to foss/2021b toochain (#15216)
      • update fallback version for OpenSSL 1.1 wrapper to v1.1.1o (#15592)
      • install sklearn meta-package with scikit-learn v1.0.1 (#15613)
      • switch from pkg-config to pkgconf as build dependency for OpenSSL wrapper easyconfigs (#15616, #15617)
    ","boost":0.5},{"location":"release-notes/#release_notes_eb454","title":"EasyBuild v4.5.4 (March 31st 2022)","text":"

    bugfix/update release

    framework

    • various enhancements, including:
      • warn about potentially missing patches in --new-pr (#3759, #3966)
      • add support for 'clone_into' field in git_config source spec to specify different name for top-level directory (#3949)
      • add bash completion for easyconfigs from local dir but not robot search path (#3953)
      • add a 'sync pr' message when the PR has a mergeable state but is showing a failed status for the test suite on the last commit (#3967)
      • add gmpit toolchain definition (GCC + MPItrampoline) (#3971)
      • use 'zypper search -i' to check whether specified OS dependency is installed on openSUSE + make sure that rpm is considered for checking OS dependencies on RHEL8 (#3973)
      • add support for post-install patches (#3974)
      • add support for 'download_instructions' easyconfig parameter key to specify some download or installation steps for user in case of complicated way of obtaining needed files (#3976, #3981)
      • also try collecting AMD GPU info (via rocm-smi) for --show-system-info (#3978, #3982)
    • various bug fixes, including:
      • ensure --review-pr can find dependencies included in PR (#3979)
      • run 'apt-get update' in GitHub Actions workflow for container tests to update container package list before installing anything (#3985)
    • other changes:
      • enable code linting check for all supported Python versions (#3725)
      • update copyright lines for 2022 (#3986)

    easyblocks

    • minor enhancements and updates, including:
      • update Clang-AOMP easyblock to add support for ROCm v5.0 (#2681)
      • enable system SSL certificates in OpenSSL installations (#2683)
      • enhance MRtrix easyblock: build in parallel + enable OpenMP support for MRtrix >= 3.0 (#2685)
      • avoid dependency on 'which' command in sanity check for Python, use 'command -v' instead (#2687)
      • enhance Tarball easyblock to support using it for installing extensions (#2688)
      • update wxPython easyblock to support wxPython v4.1 (#2689)
      • enhance Gurobi easyblock to also update $MATLABPATH (#2691)
      • build single-file shared libraries for imkl so it can be used as FlexiBLAS backend via $FLEXIBLAS_LIBRARY_PATH (#2694)
    • various bug fixes, including:
      • added regex to replace /lib/cpp with cpp in OpenFOAM's wmake rules file (#2331)
      • set $NINJAFLAGS to make sure Ninja doesn't use all visible cores when building Qt5 (#2338)
      • update Siesta EasyBlock to use serial FFTW (#2662)
      • fix support for imkl for numexpr 2.8.0+ in numexpr easyblock (#2678)
      • make sure TensorFlow doesn't see the nvptx-none dir when searching for gcc include dir (#2682)
      • force use of bash for Anaconda install script (#2692)
      • add guess for path to add to $MANPATH for intel-compilers (#2696)
      • change permissions of the Java build directory to avoid permission denied error (#2698)
      • also consider $MKLROOT/lib/pkgconfig for $PKG_CONFIG_PATH for imkl (#2701)
      • close log after installing Bundle component (#2702)
        • fixes problem of log leaking across installations (framework issue #3533)
      • replace hardcoded /tmp to make sure that Bazel build respects $TMPDIR (#2703)
    • other changes:
      • minor code cleanup in numexpr easyblock (#2679)
      • update copyright lines for 2022 (#2705)

    easyconfigs

    • added example easyconfig files for 29 new software packages:
      • Abseil (#15102), AMS (#13155), ArchR (#15119), CMAverse (#14963), CmdStanR (#15198), CONN (#15052), Devito (#14984, #15009), GraphMap (#10299), gRPC (#14728), Hydra (#15025), jupyter-server-proxy (#14844), M1QN3 (#15002), MAGeCK (#15082), matplotlib-inline (#15084), MEGAN (#15064), MNE-Python (#15174), ONNX (#15158), ONNX-Runtime (#15158), ont-remora (#15162), Optuna (#15021), patch (#15035), porefoam (#15067), presto (#15119), PyFrag (#15184), skorch (#15175), SlamDunk (#15197), SPM (#15050), STRique (#14980), XML-Compile (#15177)
    • added additional easyconfigs for various supported software packages, including:
      • ABAQUS 2021, AlphaFold 2.1.2, AmberTools 21, archspec 0.1.3, Bandage 0.9.0, BLIS 3.1, c-ares 1.18.1, CCL 1.12.1, CharLS 2.3.4, Clang-Python-bindings 13.0.1, dcm2niix 1.0.20211006, DFTB+ 21.1, DIRAC 22.0, ELPA 2021.11.001, FlexiBLAS 3.1.3, FLUENT 2021R2, GATK 4.2.5.0, GetOrganelle 1.7.5.3, IgBLAST 1.18.0, IntelClusterChecker 2021.5.0, intervaltree-python 3.1.0, ITSx 1.1.3, Julia 1.7.2, kallisto 0.48.0, KMC 3.2.1, libobjcryst 2021.1.2, libtree 3.0.3, loompy 3.0.7, matplotlib 3.5.1, MCR R2022a, MDAnalysis 1.1.1+ 2.0.0, MDTraj 1.9.7, medaka 1.5.0, meshalyzer 20200308, MRtrix 3.0.3, NiBabel 3.2.2, NLTK 3.7, numexpr 2.8.1, ont-fast5-api 4.0.2, OpenAI-Gym 0.21.0, OpenBLAS 0.3.20, ORCA 5.0.3, parallel-fastq-dump 0.6.6, PIPITS 2.8, pocl 1.8, pycocotools 2.0.4, pyEGA3 4.0.0, pyobjcryst 2.2.1, RE2 2022-02-01, SAMtools 1.15, SBCL 2.2.1, shovill 1.1.0, SKESA 2.4.0, SOCI 4.0.3, sympy 1.9, TensorFlow 2.5.3, VirtualGL 3.0, vsc-mympirun 5.2.10, VSEARCH 2.21.1, VTK 9.1.0, VTune 2022.2.0, XGBoost 1.5.0
    • minor enhancements, including:
      • add Flask-Session to Flask v1.1.4 and Flask v2.0.2 (#15027)
      • add check to verify that patch files touched in PRs have a description in place (#15061)
      • add extensions to R v4.1.2 easyconfig: hash (#15098), nabor + harmony (#15117), apluster, DataCombine, docstring, gdalUtils, openair, mstate, SNFtool, and deps (#15141)
      • also install rMATS_P commands in rMATS-turbo easyconfig (#15113)
      • add extensions to Bioconductor v3.14 easyconfig: chromVAR (#15118), EnsDb.Hsapiens.v79 (#15154), WGCNA (#15178)
      • add extensions to Perl v5.34.0 easyconfigs: Sys::Info, HTML::Template, Log::Report (#15176), Sys::::Unknown, Sys::::Linux, Unix::Processors (#15190)
      • enable running of tests for MEME with gompi/2021b (#15191, #15199)
      • various bug fixes, including:
        • add missing xxd build dependency for recent PLUMED versions (2.6.2, 2.7.x) (#14847)
        • downgrade dependency on nodejs + use jupyter-server-proxy in jupyter-matlab-proxy and configurable-http-proxy easyconfigs using GCCcore/10.3.0 toolchain (#14942)
        • add additional valid checksum for extensions in R 4.1.0 and 4.1.2 easyconfigs: norm (#14987), optmatch (#14993)
        • avoid pollution in the tmp directory when running the AlphaFold tests (#14989)
        • consistently enable usempi toolchain option in OSU-Micro-Benchmarks easyconfigs (#15039)
        • fix GBprocesS easyconfig by switching to source tarball created using git_config (#15048)
        • add patches for mauveAligner to fix build on RHEL8 (#15049)
        • fix installation of RDKit by using -DBoost_NO_BOOST_CMAKE=ON (#15051)
        • add patch to fix linking error for imread extension in scikit-image easyconfigs using intel toolchain (#15054)
        • avoid excessively long shebang in Autoconf/Automake Perl scripts + promote Perl to runtime dependency + fix Perl shebang for intltool (#15055)
        • fix python shebang in cutadapt script for cutadapt 1.18 w/ GCCcore/8.3.0 (#15059)
        • don't use v2.1.0rc1 release candidate of gmpy2, stick to proper release v2.1.2 (#15060)
        • add M4 as build dependency for CCL-1.12 (#15075)
        • configure libffi 3.4.2 with --disable-exec-static-tramp to prevent segfaults (#15086)
        • set XLA_PYTHON_CLIENT_ALLOCATOR=platform for running tests in jax CUDA easyconfigs (#15097)
        • remove disable flag for RTTI in snappy v1.1.9 (#15099)
        • fix grconvert build for Grace 5.1.25 with foss/2021a by adding libtirpc dependency + related patch (#15121)
        • clean up PSolver and futile easyconfigs and add dynamic libs (#15148)
        • enhance vcflib easyconfigs to also install scripts (#15181)
        • add patch to fix shared linking in vcflib (#15203)
        • fix failing sanity check for PRINSEQ (#15205)
      • other changes:
        • use typing-extensions from Python v3.9.6 easyconfig in ArviZ and PyMC3 (#15003)
        • disable building of documentation for DBus 1.13.18 (#15010)
        • consistently use system toolchain in EasyBuild easyconfigs (#15126)
        • use EasyBuild hwloc in likwid and move to GCC/intel-compiler level due to Fortran modules (#15149)
      • ","boost":0.5},{"location":"release-notes/#release_notes_eb453","title":"EasyBuild v4.5.3 (February 11th 2022)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • also check for git in --check-eb-deps (#3954)
          • add end2end test for eb --containerize (#3958)
        • various bug fixes, including:
          • take into account that patch files can also be zipped when checking filename extension for patches (#3936)
          • initialize BACKUP_PKG_URL with empty string in install_eb_dep.sh script (#3939)
          • fix get_os_name and get_os_version to avoid reporting UNKNOWN in output of eb --show-system-info (#3942)
          • consistently use actions/setup-python@v2 in CI workflows (#3944)
          • switch to using pip3 for installing EasyBuild in container recipes generated by EasyBuild (#3945)
          • specify easybuild.io as EasyBuild homepage in setup.py (#3947)
          • avoid crash in get_os_version on modern SLES-based OSs (#3955)
        • other changes:
          • indicate compatibility with Python 3.10 in setup.py (#3940)

        easyblocks

        • new software-specific easyblock for reticulate R package (#2668)
        • minor enhancements and updates, including:
          • set CUDA target architecture(s) for GROMACS based on cuda_cc_semicolon_sep template value (#2655)
          • add support to NAMD easyblock to opt out of building with CUDA support even if CUDA is included as dependency (#2666)
          • update sanity check in CUDA easyblock: CUDA 11.6 no longer includes samples (#2669)
        • various bug fixes, including:
          • also run easyblocks test suite with Python 3.8-3.10 + consistently use actions/setup-python@v2 in CI workflows (#2664)
          • specify easybuild.io as EasyBuild homepage in setup.py (#2667)
        • other changes:
          • remove vulnerable binaries from sanity check of HDF5, no longer installed by default with HDF5 1.10.8 (#2670)

        easyconfigs

        • added example easyconfig files for 25 new software packages:
          • Arcade-Learning-Environment (#14753), Bambi (#14811), CASTEP (#14420), Crumble (#14785), deepmedic (#14953), FoBiS (#14771), histolab (#14945), Iris (#14788), Jasmine (#14789), libexif (#14823), libgdiplus (#14823), MuJoCo (#14965), mujoco-py (#14776, #14965), namedlist (#14814), OpenCensus-python (#14837), PyEVTK (#14911), pyradiomics (#14851), PyTorch-Lightning (#14933), Redis (#14783), rising (#14952), SoXt (#14803), SURVIVOR (#14786), tensorboard (#14926), xtensor (#14944), xxd (#14846)
        • added additional easyconfigs for various supported software packages, including:
          • aiohttp 3.8.1, AOCC 3.2.0, ArviZ 0.11.4, BeautifulSoup 4.10.0, bokeh 2.4.2, Boost.Python 1.77.0, Bowtie 1.3.1, CheMPS2 1.8.11, Clang 13.0.1, CLHEP 2.4.5.1, ConnectomeWorkbench 1.5.0, Crumble 0.8.3, CUDA 11.5.1 + 11.6.0, cutadapt 3.5, dask 2022.1.0, deepdiff 5.7.0, deepTools 3.5.0, dm-tree 0.1.6, DROP 1.1.1, ecCodes 2.24.2, Emacs 27.2, FDS 6.7.7, file 5.41, Flask 2.0.2, FORD 6.1.6, GATE 9.1, Geant4 11.0.0, GEMMA 0.98.5, GnuTLS 3.7.3, Go 1.17.6, gpustat 1.0.0b1, Graphviz 2.50.0, GROMACS 2021.5, Guile 3.0.7, HDF5 1.10.8, imageio 2.13.5, JupyterLab 3.2.8, lftp 4.9.2, libBigWig 0.4.6, libpsml 1.1.10, libRmath 4.1.2, librsb 1.3.0.0, libtasn1 4.18.0, libunistring 1.0, likwid 5.2.1, MaxQuant 2.0.3.0, MEGA 11.0.10.eb, MethylDackel 0.6.1, methylpy 1.2.9, minimap2 2.24, Mono 6.12.0.122, MUSCLE 5.1, nanomax-analysis-utils 0.4.3, ncbi-vdb 2.11.2, NCIPLOT-4.0 20200624, Nextflow 21.10.6, NGS 2.11.2, nvtop 1.2.2, OpenCV 4.5.5, openslide-python 1.1.2, pftoolsV3 3.2.11, picard 2.26.10, pydicom 2.2.2, pyFAI 0.20.0, Pysam 0.18.0, pytest-xdist 2.5.0, Racon 1.5.0, RAxML 8.2.12, ReFrame 3.10.1, ROOT 6.24.06, scikit-image 0.19.1, SDL2 2.0.20, SeqKit 2.1.0, Siesta 4.1.5, SimpleITK 2.1.1, SqueezeMeta 1.5.0, tMAE 1.0.1, torchvision 0.11.3, Trim_Galore 0.6.7, typing-extensions 3.10.0.2
        • minor enhancements, including:
          • also install Python bindings for SHTns 3.5.1 (#14893)
          • add catlearn extension to easyconfig for R v4.1.2 (#14940)
        • various bug fixes, including:
          • update TALYS sources to (hopefully) ensure constant checksums (#14797)
          • add missing graphite2 + HarfBuzz dependencies to Qt5 v5.15.2 (#14802)
          • add missing UCX-CUDA dep to GROMACS for foss-2021a-CUDA-11.3.1 (#14859)
          • specify easybuild.io as EasyBuild homepage in setup.py (#14870)
          • add alternative checksum for MASS, class, nnet, spatial extensions in R 4.1.0 (#14873) and R 4.1.2 (#14880) easyconfigs
          • add patch to fix Kraken2 ncbi ftp/https check in rsync_from_ncbi.pl for versions 2.0.9-2.1.1 (#14889)
          • disable building of tests/benchmarks for snappy 1.1.8 to avoid failing build (#14923)
          • disable use of -Werror for recent NSS versions (#14924)
          • fix download URL in UDUNITS v2.2.28 easyconfigs (#14954)
          • remove unnecessary CUDAcore dependency from nvtop v1.2.1 easyconfig (#14957)
          • consistently apply patch for mapDamage 2.2.1 to use external seqtk (#14961)
          • fix typo in templated source URL in RcppGSL 0.3.8 easyconfig: $(name)s should be %(name)s (#14962)
        • other changes:
          • update Java/17 wrapper to Java 17.0.2 (#14868)
          • use actions/setup-python@v2 in CI workflows + trim test configurations for easyconfigs test suite: only test with Python 2.7 + 3.6 and Lmod 7.x + 8.x (#14857, #14881)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb452","title":"EasyBuild v4.5.2 (January 24th 2022)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • automatically prepend value for env-for-shebang configuration setting with sysroot (#3919)
          • enhance update_build_option to return original value + add support for update_build_options (#3923)
          • fix compatibility with Python 3.10 (#3926, #3933)
          • also take /etc/os-release into account in get_os_name and get_os_version (#3930)
          • enhance get_cpu_architecture and get_cpu_family to be aware of RISC-V (#3931)
        • various bug fixes, including:
          • relax pattern checks in test_toy_exts_parallel (#3921)
          • use sources.easybuild.io as backup URL for downloading Environment Modules sources to run test suite (#3928)
          • make intelfftw toolchain component aware of GCCcore (#3929)
        • other changes:
          • deprecate use of (actual) patch files that don't have a filename ending with .patch (#3920)
          • remove version restriction for keyring in requirements.txt to test with latest version (#3925)
          • simplify requirements.txt by removing Python 2.6 support (#3927)
          • only run GitHub tests when testing with Lua module syntax, to avoid hitting GitHub rate limit when running tests (#3938)

        easyblocks

        • minor enhancements and updates, including:
          • remove necessity for license for oneAPI versions (>= 2021.x) in itac easyblock (#2492)
          • add CUDA support in SuiteSparse easyblock (#2627)
          • use all available cores for running Perl test suite (#2637)
          • add option to not copy the license file for Gurobi (#2639, #2641)
          • update AOCC easyblock to support version 3.2.0 (#2643)
          • don't grep for specific version in --version output of Intel compiler commands for versions 2022.x (#2644)
          • add support for enabling sanity checks for specific components in the Bundle easyblock (#2649)
          • update Libint easyblock for LibInt v2.7.0 which requires configuring via CMake (#2650)
          • update Mathematica easyblock for version 13 (#2652)
          • add sanity check command for Bazel (#2653)
          • update NAMD easyblock to allow non-system csh (#2654)
          • enhance CUDA easyblock to create version independent pkgconfig files (#2656)
          • add util subdirectory to $PATH for WPS (#2658)
        • various bug fixes, including:
          • convert version numbers to strictly numerical in Siesta easyblock (#2553)
          • fix shebang of scripts in Perl installation if installation prefix is too long (#2640)
          • enhance IntelBase easyblock to avoid crash when $USER is not set (#2642)
          • fix quotes in definition of default platform macro and enhance sanity check in GATE easyblock (#2645)
          • avoid excessively long shebang line in compile script for WRF (#2648)
          • fix checking of Intel Fortran compiler version in CP2K easyblock for recent toolchains (#2651)

        easyconfigs

        • added easyconfig for intel/2022.00 toolchain (#14620)
        • added example easyconfig files for 48 new software packages:
          • alevin-fry (#14617), AMD-uProf (#14626), ANGEL (#11857), atropos (#7580), Austin (#14596), AutoDock-GPU (#14671), AutoDock-Vina (#14675), boost_histogram (#14516), CAFE5 (#14603), Calcam (#7488), Carma (#14527), Cogent (#14278), dlib (#14556), DualSPHysics (#14632), dune-core (#14693), dune-fem (#14693), DyMat (#14615), elbencho (#14548), Embree (#7471), ExaML (#14530), FMPy (#14481), genozip (#14583), hivtrace (#14691), intervaltree-python (#8995), IsoNet (#14075), MACSE (#14709), MetaPhlAn (#12917), MicrobeAnnotator (#14549), mold (#14595), numdiff (#14609), OpenFace (#14556), PhyloPhlAn (#14564), PREQUAL (#14722), PuLP (#14581), PyCalib (#14616), PyTorch3D (#13240), QCG-PilotJob (#14337), RaGOO (#8995), RAPSearch2 (#13199), SCopeLoomR (#14518), ShengBTE (#14557), SHTns (#14682), STRUMPACK (#14560), TALYS (#14716), TN93 (#14691), xxHash (#14251), yaml-cpp (#14547), Zgoubi (#14516)
        • added additional easyconfigs for various supported software packages, including:
          • annovar 20200607, antiSMASH 5.2.0, Armadillo 10.7.5, Arrow 6.0.1, Bismark 0.23.1, BLAST+ 2.12.0, cDNA_Cupcake 26.0.0, CHERAB 1.3.0, CMake 3.22.1, CP2K 8.2, DIAMOND 2.0.13, dotNET-Core-Runtime 6.0.1, dotNET-SDK 6.0.101, Extrae 3.8.3, fastp 0.23.2, FreeSurfer 7.2.0, GffCompare 0.12.6, gmsh 4.9.0, GTK3 3.24.31, h5py 3.6.0, igraph 0.9.5, Inspector 2022.0.0, IQ-TREE 2.1.3, itac 2021.5.0.eb, Java/15 + Java/17, JUBE 2.4.2, libdeflate 1.8, libxsmm 1.17, LSD2 2.3, MAGMA 1.09b, MATLAB 2021b, MinPath 1.6, MultiQC 1.11, MUSCLE 5.0.1428, numba 0.54.1, NVHPC 21.11, OBITools 1.2.13, occt 7.5.0p1, openCARP 8.2, OpenCV 3.4.1, OpenFOAM v2112, ORCA 5.0.2, phonopy 2.12.0, Pillow 8.3.2, Pillow-SIMD 8.3.2, PLUMED 2.7.3, poppler 22.01.0, PyQtGraph 0.12.3, python-igraph 0.9.8, PyZMQ 22.3.0, Raysect 0.7.1, Rgurobi 9.5.0, scanpy 1.8.2, Schrodinger 2021, SqueezeMeta 1.0.0, statsmodels 0.13.1, texlive 20210324, VTune 2022.0.0
        • minor enhancements, including:
          • add yaml-cpp dependency to Trilinos 12.12.1 with foss/2019b (#14547)
          • include output of failing code style check in message produced by failing easyconfigs style test (#14578)
          • bundle LAPACKE with FlexiBLAS 3.0.4 (#14591), #14769)
          • add extensions to R v4.1.2 easyconfig: semTools, mirt, OpenMX (#14634), FactorCopula (#14648), rpact, ldbounds (#14750)
          • add extensions to R-bundle-Bioconductor 3.14: ExomeDepth (#14684), DSS (#14748), pathview (#14806)
        • various bug fixes, including:
          • fix homepage and source_urls for GLIMMER 3.02b (#7945)
          • fix source URL for Trilinos 12.12.1 with foss/2019b (#14547)
          • use proper Perl dependency for worker 1.6.12 with foss/2019a (fixes installation on RHEL8 OS) (#14565)
          • fix checksum and versions of annovar v20191024 (#14579)
          • add patch for Rust 1.52.2 and 1.54.0 to fix build when using alternate sysroot (#14584)
          • retain version in filename for cromwell sources (#14586)
          • specify compiler to use in WildMagic easyconfig (#14594)
          • avoid need for git build dependency for recent x265 easyconfigs (#14605)
          • fix broken patch file for recent GPAW versions (#14619)
          • add alternative checksum for Siesta-4.1-MaX-1.0 (#14643)
          • add missing PCRE dependency for pullseq + add sanity check commands (#14650)
          • use %(arch)s template to avoid hardcoding x86_64 in recent XML-LibXML easyconfigs (#14655)
          • fix name for (binary) AutoDock-Vina v1.1.2 (#14675)
          • add patch to fix memory leak in OpenMPI that heavily affects CP2K, SIESTA, QuantumESPRESSO, VASP, ... (#14726)
          • set $GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS for installing grcpio extension included with:
            • TensorFlow 2.2.3-2.4.1 with 2020* toolchain (#14729) and 2.5.0+ (#14728)
            • Ray-project (#14730)
          • enforce using internal boost for bcl2fastq2 with a GCC 10.x toolchain (#14741)
          • add patch for hard-coded checksum value of downloaded source file in the source code of RDKit 2021.03.4 (#14743)
          • also install libaio.so.1 symlink in easyconfigs for libaio v0.3.112 (#14745)
          • do not use external libgcrypt or python for libxslt with recent toolchains (#14756)
          • add patches to fix CVE-2021-23437 for Pillow (#14765) and Pillow-SIMD (#14792)
          • add libXfont2 patch to fix build when libbsd is present (#14821)
        • other changes:
          • update Java 1.8 wrapper to 1.8.0_311 for x86_64 (#14644)
          • bring gffread back down to GCCcore level for toolchain version 10.3.0 (#14660)
          • update build dependencies for recent binutils + GCCcore easyconfigs to avoid depending on M4 1.4.18 with system toolchain (#14731), #14755)
          • bump nbconvert extension in recent IPython easyconfigs to version 6.4.0 (#14738)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb451","title":"EasyBuild v4.5.1 (December 13th 2021)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • also dump environment to reprod directory (#3374)
          • determine which extensions can be skipped in parallel (if --parallel-extensions-install is enabled) (#3890)
          • fall back to sequential installation for extensions with unknown dependencies when using --parallel-extensions-install (#3906)
          • allow oversubscription in sanity check for OpenMPI-based toolchains (#3909)
        • various bug fixes, including:
          • don't try to ensure absolute path for path part of repositorypath (#3893, #3899)
          • fix typo in EULA agreement error message (#3894)
          • only remove lock if it was created in the same EasyBuild session (not if it existed already) (#3889)
          • introduce EasyBlock.post_init method to correctly define builddir variable when build-in-installdir mode is enabled in easyconfig or easyblock (#3900)
          • also show download progress bar when using --inject-checksums (#3905)
          • pick up custom extract_cmd specified for extension (#3907)
          • make test_run_cmd_async more robust against fluke failures (#3908)

        easyblocks

        • new software-specific easyblock for Clang-AOMP (#2617)
        • minor enhancements and updates, including:
          • enhance Rpm generic easyblock to support installing tarball of RPMs (by unpacking it first) + take into account (pre)installopts (#2580)
          • add option to control use of MKL-DNN in jaxlib easyblock (#2619)
          • update SAMtools easyblock to support installation of SAMtools 1.14 (#2620)
          • add option to ignore PLUMED version check for GROMACS (#2621)
          • update Inspector easyblock for recent versions (>= 2021, oneAPI versions) (#2624)
          • enhance tbb easyblock by adding option to build Python bindings (#2626)
          • fix patching of CMakeLists.txt for Eigen v3.4 (#2633)
        • various bug fixes, including:
          • update CP2K easyblock to use -D__MKL for CP2K versions newer than 2.3 (#2586)
          • set OpenMPI configuration for ORCA sanity check (#2596)
          • allow oversubscription in OpenMPI sanity check (#2611)
          • set wm_* class variables in OpenFOAM easyblock constructor (to fix --sanity-check-only) (#2616)
          • remove newline from easybuild-easyblocks package description (required to avoid installation error with setuptools>=59.0.0) (#2623)
          • avoid patching binary files + other enhancements for MUMmer easyblock (#2630)
          • enable build-in-installdir mode in constructor of PETSc and SLEPc easyblocks (#2631)
          • skip netcdf4-python tests that require network connectivity (#2634)

        easyconfigs

        • added example easyconfig files for 71 new software packages:
          • ANIcalculator (#14478, #14494, #14510), arrow-R (#14267), ASAP (#14367), BabelStream (#14503), bamtofastq (#14391), bcbio-gff (#14322), biom-format (#13205), Blosc2 (#14247), boto3 (#14452), Brotli-python (#14528), Brunsli (#14247), Clang-AOMP (#14327), CLEASE (#14413), CMSeq (#14326), cpu_features (#14385), cromwell (#12125), cxxopts (#14487, #14504), dRep (#14479), DUBStepR (#14495), eht-imaging (#14239), einops (#14373), ELFIO (#14488, #14504), elprep (#14422), epiScanpy (#14447), FMM3D (#14257), FORD (#13653), GPy (#14380), HIP (#14339), idemux (#14499), imagecodecs (#14247), InChI (#13902), jupyter-matlab-proxy (#14270), jxrlib (#14247), LBFGS++ (#14230), LERC (#14247), libaec (#14247), libavif (#14246), LibLZF (#14246), libnsl (#14494), libtree (#14501), LPeg (#14157), Megalodon (#14256), nnU-Net (#14249), PAL2NAL (#14430), photontorch (#14410), pkgconf (#14426), pmx (#14319), PPanGGOLiN (#14449), ProFit (#14340), pugixml (#14367, #14492), PySide2 (#13460), Relate (#14443), ROCm (#14355), rocm-cmake (#14327), ROCm-CompilerSupport (#14327), rocminfo (#14327), rocm-smi (#14354), ROCR-Runtime (#14327), ROCT-Thunk-Interface (#14327), SCENIC (#14260), Shasta (#14385), SimNIBS (#14257), SMV (#14157), SRST2 (#14253), STACEY (#14293), termcolor (#14489, #14504), ThemisPy (#14231), TOBIAS (#14452, #14458), zfp (#14246), zlib-ng (#14246), Zopfli (#14246)
        • added additional easyconfigs for various supported software packages, including:
          • ABINIT 9.6.2, ABRicate 1.0.0, AlphaFold 2.1.1, antiSMASH 6.0.1, Arrow 6.0.0, astropy 4.3.1, BCFtools 1.14, BeautifulSoup 4.9.3, Boost 1.77.0, bpp 4.4.0, Bracken 2.6.2, CapnProto 0.9.1, CellRanger 6.1.2, Eigen 3.4.0, enaBrowserTool 1.6, ESMF 8.2.0, Flye 2.9, FMRIprep 1.4.1, FSL 6.0.4, GATK 4.2.3.0, gc 8.2.0, GDB 11.1, git 2.33.1, Go 1.17.3, Gurobi 9.5.0, Horovod 0.23.0, HTSlib 1.14, HyPhy 2.5.33, Infernal 1.1.4, Inspector 2021.4.0 ITK 5.2.1, jax 0.2.24, Julia 1.7.0, Kent_tools 422, king 2.2.7, libdwarf 20210528, MAFFT 7.490, makeinfo 6.8, Mash 2.3, matplotlib 3.4.3, MCR R2021b, minimap2 2.22, MUST 1.7.2, NCO 5.0.3, NCO 5.0.3, nlohmann_json 3.10.4, NVHPC 21.9, OpenMPI 4.0.7 + 4.1.2, panaroo 1.2.9, pangolin 3.1.16, pkgconfig 1.5.5, plotly.py 5.4.0, pyfaidx 0.6.3.1, Pysam 0.17.0, PyTorch 1.10.0, R 4.1.2, R-bundle-Bioconductor 3.14, ReFrame 3.9.1, rpy2 3.4.5, scikit-image 0.18.3, scikit-learn 1.0.1 SimpleITK 2.1.0, snakemake 6.10.0, SPAdes 3.15.3, tbb 2021.4.0, torchtext 0.10.0, torchvision 0.11.1, tqdm 4.62.3, TRUST4 1.0.6, Trycycler 0.5.2, Unicycler 0.4.9, UShER 0.5.0, WPS 4.3.1, xarray 0.20.1, XlsxWriter 3.0.2, Yambo 5.0.4
        • minor enhancements, including:
          • add RcisTarget + NMF extensions to R-bundle-Bioconductor 3.13 (#14259)
          • add extensions for R v4.1.x:
            • geex + momentfit (#14299); StatMatch, leaflet, tmap + collapse (#14328), genoPlotR + penfa (#14433), adcovsim (#14484)
          • add M3Drop extension to R-bundle-Bioconductor 3.14 (#14436)
        • various bug fixes, including:
          • specify to use Python provided as dependency, remove separate_build_dir, and fix URL in comment for Arrow 0.17.1 (#14263)
          • fix gettid nameclash with glibc 2.30 in Bazel 0.25.2, 0.26.1, 0.29.1, and 1.1.0 (#14269)
          • restore and fix sanity check commands in RStudio-Server 1.4 (#14275)
          • add pkg-config build dependency to Python easyconfigs, to ensure OpenSSL wrapper is detected (#14316)
          • add patch for UCX v1.11.2 to fix missing include statement for string.h (#14317)
          • set $DALTON_TMPDIR to build directory to run Dalton tests (#14341)
          • add patch for libfabric v1.12.1 to fix unknown link width 0x10 warning (#14387)
          • add missing Automake dependency to PhyML 3.3.20200621 (#14397)
          • add git as build dependency to Python 3.8.x and 3.9.x easyconfigs (required for pbr extension) (#14421)
          • add missing XZ dependency to recent PROJ easyconfigs (#14429)
          • fix homepage/source URL for king v2.2.4 (#14444)
          • add patch for GCCcore 9.1-9.3 to fix compatibility with recent kernel headers (#14453)
          • add patch for GCCcore 10.1-11.1 to fix compatibility with recent kernel headers (#14454)
          • add patch to fix CVE-2021-43527 in NSS (#14497)
          • pass tests on A* GPUs by setting NVIDIA_TF32_OVERRIDE=0 in jax 0.2.19 (#14502)
          • add patch to fix broken (hanging) Mash binaries (#14511)
          • add missing Perl build dependency for Longshot (#14535)
          • add googletest build dependency for Highway (#14536)
          • seed in PCRE2 sources to fix broken MariaDB 10.5.8 + 10.6.4 easyconfigs (#14537)
        • other changes:
          • rename R bindings for Arrow to arrow-R, so it can be used in a lowercase module naming scheme (#14262)
          • comment out imkl build dependency for FlexiBLAS 3.0.4 with GCC/11.2.0 (#14335)
          • don't add bin subdir to $PATH via modextrapaths in ReFrame easyconfigs (#14415)
          • consistently use 'Grace' software name + sync homepage/source_urls (#14493)
          • move cxxopts, termcolor and ELFIO header only libraries to SYSTEM toolchain (#14504)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb450","title":"EasyBuild v4.5.0 (October 29th 2021)","text":"

        feature release

        framework

        • various enhancements, including:
          • add --review-pr-max and --review-pr-filter options to limit easyconfigs used by --review-pr + retain order of easyconfigs being compared with (#3754)
          • use Rich (if available) to show progress bars when installing easyconfigs (#3823, #3826, #3833, #3835, #3844, #3864, #3867, #3882)
            • see also https://docs.easybuild.io/en/latest/Progress_bars.html
          • add support for checking required/optional EasyBuild dependencies via eb --check-eb-deps (#3829)
          • add support for collecting GPU info (via nvidia-smi), and include it in --show-system-info and test report (#3851)
          • added support for --insecure-download configuration option (#3859)
          • make intelfftw toolchain component aware of imkl-FFTW module (#3861)
          • make sure the contrib/hooks tree is included in the source tarball for easybuild-framework (#3862)
          • add check_async_cmd function to facilitate checking on asynchronously running commands (#3865, #3881)
          • add initial/experimental support for installing extensions in parallel (#3667, #3878)
            • see also https://docs.easybuild.io/en/latest/Installing_extensions_in_parallel.html
          • filter out duplicate paths added to module files, and print warning when they occur (#3770, #3874)
        • various bug fixes, including:
          • ensure that path configuration options have absolute path values (#3832)
          • fix broken test by taking into account changed error raised by Python 3.9.7 when copying directory via shutil.copyfile (#3840)
          • ensure newer location of CUDA stubs is taken into account by RPATH filter (#3850)
          • replace which by command -v in eb wrapper script to avoid dependency on which command (#3852)
          • refactor EasyBlock to decouple collecting of information on extension source/patch files from downloading them (#3860)
            • in this context, the EasyBlock.fetch_extension_sources method was deprecated, and replaced by EasyBlock.collect_exts_file_info
          • fix library paths to add to $LDFLAGS for intel-compilers toolchain component (#3866)
          • remove --depth 1 from git clone when commit specified (#3871, #3872)
          • make sure correct include directory is used for FlexiBLAS toolchain component (#3875)
          • explicitly disable rebase when pulling develop branch to create a merge commit, since not specifying how to reconcile divergent branches is an error with Git 2.33.1 and newer (#3879)
          • tweak test_http_header_fields_urlpat to download from sources.easybuild.io rather than https://ftp.gnu.org (#3883)
        • other changes:
          • change copy_file function to raise an error when trying to copy non-existing file (#3836, #3855, #3877)
          • only print the hook messages if EasyBuild is running in debug mode (#3843)
          • deprecate old toolchain versions (pre-2019a common toolchains) (#3876, #3884)
            • see also https://docs.easybuild.io/en/latest/Deprecated-easyconfigs.html#deprecated-toolchains

        easyblocks

        • new software-specific easyblock for imkl-FFTW (#2599)
        • minor enhancements and updates, including:
          • add support for installing R extensions in parallel (#2408)
          • update MotionCor2 easyblock to consider to locations for built binary (#2541, #2598)
          • let GROMACS runtime logs show EasyBuild was used by setting -DGMX_VERSION_STRING_OF_FORK configuration option (#2571)
          • adjust qa list in WIEN2k easyblock to handle new questions + fix sanity check for v21.1 (#2572)
          • enhance GCC easyblock to add support for AMD GPU offloading (#2578)
          • add support for specifying subdirectory for target installation directory in CMakeMake (#2579)
          • enhance COMSOL easyblock to change permission on build directory during extract step (to allow using patches) (#2584)
          • enhance FlexiBLAS easyblock to support building with Intel MKL (imkl) as backend (#2588)
          • update MATLAB easyblock for 2021b (jre is no longer included) (#2589)
          • update OpenCV easyblock to detect GTK3 and GTK2 dependencies (next to GTK+) (#2591)
          • avoid that path to CUDA install directory is added to $PATH (#2593)
          • enhance imkl easyblock to add support for installing with NVHPC (#2595)
          • enhance PETSc easyblock to run tests in parallel (#2601)
          • update ELSI easyblock to support two new external dependencies (#2602)
          • add custom custom easyconfig parameter backends in FlexiBLAS easyblock to specify backends (#2605)
          • detect problem with compiling CPU detection code in configure output in GROMACS easyblock (#2609)
          • use correct include directory for FlexiBLAS (#2610)
        • various bug fixes, including:
          • unset $EASYBUILD_* environment variables when running sanity check in EasyBuildMeta easyblock + also unset $MODULES_LMCONFLICT to avoid conflict when loading EasyBuild module (#2568)
          • ensure that all ABAQUS components get installed for ABAQUS 2021.x (+ add support for enabling/disabling fe-safe) (#2569)
          • fix subdir path in VTune easyblock for 2021.x versions + add sanity check command (#2576)
          • make sure custom easyblock for installing EasyBuild respects requested version of Python (like $EB_PYTHON) (#2581)
          • restore RPATH wrappers for OpenMPI sanity check (#2582)
          • fix installation of libcp2k for recent CP2K versions (#2585)
          • make version regex in OpenSSL wrapper easyblock less strict (version string does not always end with a letter) (#2597)
          • redefine collect_exts_file_info instead of now deprecated fetch_extension_sources in OCaml easyblock (#2603)
        • other changes:
          • don't use --config=mkl for TensorFlow 2.4+ (#2583)
            • this fixes some performance related issues for TensorFlow, see https://github.com/easybuilders/easybuild-easyblocks/issues/2577 and https://github.com/easybuilders/easybuild-easyconfigs/issues/14120
          • fix support for recent imkl version in numexpr easyblock (#2606)
          • derive custom easyblock from MotionCor2 from PackedBinary instead of EasyBlock (#2607)

        easyconfigs

        • added easyconfigs for foss/2021b (#14217) and intel/2021b (#14218) common toolchains
          • see also https://docs.easybuild.io/en/latest/Common-toolchains.html
        • add easyconfig for gobff/2021a toolchain (#14019, #14038)
        • added example easyconfig files for 39 new software packages:
          • abTEM (#13974), ARTS (#9651), AutoGeneS (#13903), bashplotlib (#13942), CIRI-long (#13985), DFT-D4 (#12803), ELSI-RCI (#14147), ESL-Bundle (#14179), expecttest (#14106), fdict (#14161), flook (#14161), FreeTDS (#13952), HDBSCAN (#14062), imkl-FFTW (#14195), isoCirc (#13982), libfdf (#14173), libmbd (#14129), libpspio (#14173), libSBML (#14050), longread_umi (#13987), Mesa-demos (#14123), MixMHC2pred (#14041), NTPoly (#14183), OpenSceneGraph (#14197), panaroo (#14203), PEPT (#14077), pycoQC (#14012), python-docx (#13930), QD (#14122), radeontop (#14124), Rgurobi (#14188), RInChI (#14049), scGeneFit (#13963), swifter (#14114), TOML-Fortran (#13929), TRUST4 (#14035), ucx-py (#14051), vawk (#14040), VMTK (#14023)
        • added additional easyconfigs for various supported software packages, including:
          • AlphaFold 2.0.1, artic-ncov2019 2021.06.24, BerkeleyGW 3.0.1, bokeh 2.4.1, Boost.Python 1.76.0, canu 2.2, Cartopy 0.20.0, CP2K 8.2, CUDA 11.4.2, Dalton 2020.0, dask 2021.9.1, edlib 1.3.9, ELSI 2.7.1, FFTW 3.3.10, GD 2.73, GDAL 3.3.2, GTDB-Tk 1.7.0, ImageJ 1.52q, jax 0.2.20, Kraken2 2.1.2, leidenalg 0.8.7, libfabric 1.13.2, libspatialindex 1.9.3, libxc 5.1.6, libxsmm 1.16.2, lifelines 0.26.3, Longshot 0.4.3, LSD2 2.2, MAFFT 7.487, MEME 5.4.1, MotionCor2 1.4.4, NCCL 2.11.4, netCDF 4.8.1, networkx 2.6.3, Nextflow 21.08.0, OpenBLAS 0.3.18, OpenCV 4.5.3, OrthoFinder 2.5.4, OSU-Micro-Benchmarks 5.8, PhyML 3.3.20200621, PostgreSQL 13.4, pygraphviz 1.7, pyproj 3.1.0, python-Levenshtein 0.12.1, PyTorch-Geometric 2.0.1, QIIME2 2021.8.eb, Qiskit 0.31.0, QuantumESPRESSO 6.8, Racon 1.4.21, rampart 1.2.0, rclone 1.56.0, RDKit 2021.03.4, SAMtools 1.13, scanpy 1.8.1, scikit-allel 1.3.3, SciPy-bundle 2021.10, Seaborn 0.11.2, SHAPEIT4 4.2.2, spglib 1.16.2, UCX 1.11.2, UCX-CUDA 1.11.2, VSEARCH 2.18.0, Z3 4.8.12, zarr 2.10.1
        • minor enhancements, including:
          • add JASPAR2020 to R-bundle-Bioconductor 3.13 (#13962)
          • add Autotools as build dependency for CubeGUI-4.6 (#14109)
          • add compiler/parallel/tcltk R libraries included in base installation to extensions in recent R easyconfigs (#14189, #14190, #14194)
            • required for parallel installation of extensions for these R easyconfigs
          • also add location to MPI startup tests to $PATH in OSU-Micro-Benchmarks easyconfigs (#14126)
        • various bug fixes, including:
          • add missing Brotli dependency to freetype (#13915, #14002)
          • add patch for OpenBLAS 0.3.15 to fix failing numpy tests on aarch64 (#13923)
          • fix source URL + add alternate checksum for ADMIXTURE 1.3.0 (#13933)
          • just use cp to copy stereo_chemical_props.txt to AlphaFold installation directory (#13938)
          • add UnZip build dependency to TensorFlow 2.4.1 (#13958), 2.5.0 (#13959) and 2.6.0 easyconfigs (#13960)
          • add missing Python dependency for WIEN2k 21.1 + patch to fix build failure for lapw0_mpi with libxc (#13961)
          • add additional valid checksum for lhs 1.1.1 extension in recent R 4.0.x and 4.1.0 easyconfigs (#13969)
          • fix Fortran system call stdout/err redirection for WIEN2k v21.1 (#13972)
          • add OpenSSL dependency to Kent_tools 418 easyconfig to fix a link error (#13989)
          • make binutils a build-only dependency for Brotli + add sanity check command (#14004)
          • fix installation of Racon v1.4.7 with gcccuda/2019b after move of ClaraGenomicsAnalysis repository (#14010)
          • fix source URL for KEGG.db extension in R-bundle-Bioconductor 3.13 easyconfig (since it's a deprecated library now) (#14013)
          • add patch for BLIS 0.8.1 to fix dgemm FPE signalling on Broadwell (#14018)
          • add patch to fix installation of TensorFlow 2.2.3 on POWER (#14025)
          • fix AmberTools v20 easyconfig using intel/2020a toolchain (#14028)
          • fix download + permissions of binary for USEARCH v11.0.667 (#14036)
          • remove h5py 3.x dependency for Keras with 2020b toolchain, since TensorFlow provides (and requires) h5py 2.x (#14052)
          • correctly specify install prefix for CUDA in OSU-Micro-Benchmarks after renaming CUDAcore to CUDA for 2021a (#14063)
          • add patch to fix failing file system cache test for jax on recent Linux kernels (#14067), #14070)
          • fix compilation of BWA 0.7.17 with GCC/10.2.0 on POWER (#14073)
          • add missing dependencies for recent LibTIFF versions: XZ, jbigkit, zstd (#14079)
          • add missing header file to existing versions of jbigkit (#14081)
          • fix source URL for SUNDIALS 5.x (#14092, #14096)
          • add Perl and Python runtime dependencies to Bowtie2 2.4.4 (#14097)
          • fix source URL for SCOTCH 6.1.0 (#14099)
          • drop tcmalloc from SymEngine as it causes crashes with scipy (#14119)
          • fix homepage + description in SimpleITK easyconfigs (#14125)
          • add missing scripts from utils and analysis_scripts to bin for cryoDRGN (#14137)
          • patch rsync_from_ncbi.pl in Kraken2 v2.1.2 to allow syncing with NCBI servers over HTTPS (#14148)
          • skip mkl_fused_batch_norm_op_test test (broken on AMD EPYC systems) for TensorFlow 2.5.0 and 2.6.0 (#14151, #14153)
          • fix incorrect module load message and update morphology plugin of ImageJ 1.51k (#14152)
          • fix XCrySDen v1.6.2 linking to libdl and Togl (#14160)
          • add patch to fix PMIx detection in OpenMPI v4.0.3, v4.0.5, v4.1.0 (#14177)
          • add patch for OpenBLAS 0.3.17 + 0.3.18 to fix segfault triggered by scipy tests (#14178)
          • fix spatstat.* downloads for Seurat v4.0.1 (#14199)
          • add patch for GROMACS 2019.3 easyconfigs using CMake 3.15.3 to fix CPU detection (#14212)
        • other changes:
          • remove help2man build dependency for flex using system toolchain (because it requires Perl) (#13922)
          • use proper dependency for python-Levenshtein in CIRI-long easyconfig (#13985)
          • in-place updates for foss/2021b and intel/2021b common toolchains
            • update to UCX(-CUDA) 1.11.2 as dependency for OpenMPI v4.1.1 + NCCL v2.10.3 (#14090)
            • update libfabric to 1.13.1 in OpenMPI and add it as a dependency in PMIx for the upcoming foss 2021b toolchain (#14164)
            • update to OpenBLAS 0.3.18 as dependency for FlexiBLAS 3.0.4 with GCCcore/11.2.0 toolchain (#14167)
            • update libfabric to 1.13.2 in OpenMPI v4.1.1 + PMIx 4.1.0 for the upcoming foss/2021b toolchain (#14176)
          • remove format mapping from homepage of Subread easyconfigs (#14145)
          • add BLIS and imkl (x86_64 only) builddependencies to FlexiBLAS 0.3.4 with GCC/11.2.0 toolchain (#14225)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb442","title":"EasyBuild v4.4.2 (September 7th 2021)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add per-extension timing in output produced by eb command (#3734)
          • add definition for new toolchain nvpsmpic (NVHPC + ParaStationMPI + CUDA) (#3736)
          • include list of missing libraries in warning about missing FFTW libraries in imkl toolchain component (#3776)
          • check for recursive symlinks by default before copying a folder (#3784)
          • add --filter-ecs configuration option to filter out easyconfigs from set of easyconfigs to install (#3796)
          • check type of source_tmpl value for extensions, ensure it's a string value (not a list) (#3799)
          • also define $BLAS_SHARED_LIBS & co in build environment (analogous to $BLAS_STATIC_LIBS) (#3800)
          • report use of --ignore-test-failure in success message in output (#3806)
          • add get_cuda_cc_template_value method to EasyConfig class (#3807)
          • add support for fix_bash_shebang_for (#3808)
          • pick up $MODULES_CMD to facilitate using Environment Modules 4.x as modules tool (#3816)
          • use more sensible branch name for creating easyblocks PR with --new-pr (#3817)
        • various bug fixes, including:
          • remove Python 2.6 from list of supported Python versions in setup.py (#3767)
          • don't add directory that doesn't include any files to $PATH or $LD_LIBRARY_PATH (#3769)
          • make logdir writable also when --stop/--fetch is used and --read-only-installdir is enabled (#3771)
          • fix forgotten renaming of l to char in __init__.py that is created for included Python modules (#3773)
          • fix verify_imports by deleting all imported modules before re-importing them one by one (#3780)
          • fix ignore_test_failure not set for Extension instances (#3782)
          • update iompi toolchain to intel-compiler subtoolchain for oneAPI versions (>= iompi 2020.12) (#3785)
          • don't parse patch files as easyconfigs when searching for where patch file is used (#3786)
          • make sure git clone with a tag argument actually downloads a tag (#3795)
          • fix CI by excluding GC3Pie 2.6.7 (which is broken with Python 2) and improve error reporting for option parsing (#3798)
          • correctly resolve templates for patches in extensions when uploading to GitHub (#3805)
          • add --easystack to ignored options when submitting job (#3813)
        • other changes:
          • speed up tests by caching checked paths in set_tmpdir + less test cases for test_compiler_dependent_optarch (#3802)
          • speed up set_parallel method in EasyBlock class (#3812)

        easyblocks

        • 4 new software-specific easyblocks:
          • CRISPR-DAV (#2487), jaxlib (#2545), ORCA (#2504), RepeatModeler (#2470)
        • minor enhancements, including:
          • update ABAQUS easyblock to support installation of v2020 (#2034)
          • enable make check and sanity check exec for OpenMPI (#2444)
          • fixed sanity check for later versions of Molpro (#2499)
          • add Ampere to known GPU architectures for Kokkos in LAMMPS easyblock (#2510)
          • update sanity check in ESMF easyblock to take into account new binary names from version 8.1.0 onwards (#2512)
          • use report_test_failure in TensorFlow easyblock (#2519)
          • add support for imkl 2021.x in easyblocks for
            • Amber (#2527), BerkeleyGW (#2528), CP2K (#2529), FreeFEM (#2530), GROMACS (#2531), numexpr (#2532)
          • add install_src option and enhance buildcmd option in PythonPackage easyblock (#2534)
          • make sure AOCC commands like clang/flang pick up GCCcore as GCC toolchain (#2538)
          • create CMakeConfig files for tbb >= 2020 (#2539)
          • find source dir for libunwind when building ldd for Clang versions >= 12.0.1 (#2540)
          • fix motorBike test in sanity check for OpenFOAM 9 (#2544)
          • generate and install pkg-config files for OpenSSL wrapper (#2549)
          • don't run setup.py config for numpy >= 1.21, since it's no longer supported (#2554)
          • update WIEN2k easyblock to handle new Intel versions, WIEN2k v21, Perl dependency, and tuning of dimension parameters (#2558)
          • remove PCRE from list of system libraries for TensorFlow 2.6.0 (#2559)
          • add support for also installing Tosca component in ABAQUS (#2560)
          • update ABAQUS easyblock to support installing of version 2021 with hot fixes (#2562)
          • update sanity check in VTune easyblock for 2021.x versions (#2563)
        • various bug fixes, including:
          • handle failure of running nvidia-smi in TensorFlow tests (#2506)
          • remove Python 2.6 from list of supported Python versions in setup.py (#2507)
          • clean up installation of Tkinter (#2509)
          • remove redundant $CPATH entry of tbb modules + fix --module-only (#2511)
          • honor --ignore-test-failure in PythonPackage (#2516)
          • use correct GTK+ version for OpenCV based on dependencies (#2520)
          • ensure Python prep is done in sanity check + support debug builds in TensorFlow easyblock (#2522)
          • correct cleanup of single-letter local variable in __init__ of easybuild.easyblocks (#2524)
          • reset runtest to None in CMakePythonPackage (#2536)
          • set $I_MPI_ROOT correctly for 2021.x in impi easyblock (#2537)
          • let Bundle easyblock pick up custom easyblock for components based on name if no easyblock is specified explicitly (#2543, #2547)
          • explicitly use only OpenBLAS for PyTorch if MKL is not used (#2448)
          • keep symlinks in cuDNN installations (#2550)
          • use ${BLAS,LAPACK}_SHARED_LIBS in GROMACS easyblock for FlexiBLAS-based toolchains (#2552)
          • copy the list to avoid changing the original lists in DEFAULT_TARGETS_MAP for Clang and LLVM (#2556)
          • fix pathsep join bug that breaks installation of CUDA versions < 10.1 if $PERL5LIB is defined (#2561)
        • other changes:
          • simplify Boost easyblock (#2513)
          • remove deprecated options from PythonPackage (#2535)

        easyconfigs

        • added easyconfig for foss/2021.07 (candidate for foss/2021b) (#13788) and iomkl/2021a (#13521) toolchains
        • added example easyconfig files for 79 new software packages:
          • AlphaFold (#13867), andi (#13768), aria2 (#13709), AUTO-07p (#13831), babl (#13216), BAli-Phy (#13484), biogeme (#13735), Bio-SearchIO-hmmer (#13419), BuDDy (#13907), c-ares (#13709), CellRank (#13408), Coin (#13818), Co-phylog (#13769), cppy (#13823), CREST (#13648), CRISPR-DAV (#13139), CSBLAST (#13794), DGL (#13793), DistributedStream (#13659), Excel-Writer-XLSX (#13139), FBPIC (#13500), freebayes (#12859), freud-analysis (#13354), fumi_tools (#13517), GEGL (#13216), GIMP (#13216), glib-networking (#13216), GOATOOLS (#13364, #13629), gofasta (#13651), GTK2 (#13900), GTK3 (#13900), Highway (#13453), hipSYCL (#13837), ISA-L (#13663), jax (#13760), JSON-GLib (#13216), Kalign (#13463), LADR (#13351), lDDT (#13794), libdivsufsort (#13768), libjxl (#13453, #13829), libmypaint (#13216), libtecla (#13908), lie_learn (#13793), longestrunsubsequence (#13800), Maude (#13909), mimalloc (#13726), MINPACK (#13802), Mish-Cuda (#13759, #13784), muparserx (#13779), nlohmann_json (#13777), OpenStackClient (#13644), OSPRay (#12852), pandapower (#13687), pangolin (#13733, #13848), PSIPRED (#13794), PYPOWER (#13689), PyPSA (#13673), PyRosetta (#13793), pysamstats (#13139), pytest-benchmark (#13622), python-isal (#13663), QCxMS (#13650), RepeatModeler (#13126), Schrodinger (#11698), sklearn-som (#13699), SoQt (#13818), spdlog (#13778), SpectrA (#13743), SymEngine-python (#13652), SyRI (#13800), torchinfo (#13662), TRAVIS-Analyzer (#13503), UShER (#13708), Vampire (#13352), VBZ-Compression (#13536), VisPy (#13468), wgsim (#13475), Yices (#13906)
        • added additional easyconfigs for various supported software packages, including:
          • ABAQUS 2020.eb, ANTs 2.3.5, AOCC 3.1.0, Arb 2.19.0, archspec 0.1.2, Armadillo 10.5.3, ASE 3.22.0, Autotools 20210726, BamTools 2.5.2, bgen 4.1.3, Biopython 1.79, bitarray 1.5.3, Boost 1.76.0, Bowtie2 2.4.4, bpytop 1.0.67, Cartopy 0.19.0.post1, Centrifuge 1.0.4, Clang 12.0.1, CMake 3.21.1, CRISPResso2 2.2.1, CUDA 11.4.1, cuDNN 8.2.2.26, cURL 7.78.0, cutadapt 3.4, DIAMOND 2.0.11, DROP 1.1.0, Dsuite 20210718, dtcmp 1.1.2, ecCodes 2.22.1, Elk 7.2.42, ESMF 8.1.1, expat 2.4.1, fastq-tools 0.8.3, Fiona 1.8.20, FLINT 2.7.1, g2clib 1.6.3, g2lib 3.2.0, GCC(core) 11.2.0, GDCM 3.0.8, GDRCopy 2.3, GenomeTools 1.6.2, GffCompare 0.12.2, gffread 0.12.7, GLib 2.69.1, GMT 6.2.0, Go 1.16.6, GPAW 21.6.0, Gradle 6.9.1.eb, GROMACS 2021.3, HarfBuzz 2.8.2, HDF5 1.12.1, Horovod 0.22.1, hwloc 2.5.0, hypothesis 6.14.6, igraph 0.9.4, ImageMagick 7.1.0, IMOD 4.11.5, IPython 7.26.0, Java 16, Julia 1.6.2, JupyterHub 1.4.1, JupyterLab 3.1.6, Kent_tools 418, lavaan 0.6-9, libfabric 1.13.0, libffcall 2.4, libffi 3.4.2, libgeotiff 1.7.0, libRmath 4.1.0, LIBSVM 3.25, LibTIFF 4.3.0, likwid 5.2.0, LLVM 12.0.1, LMDB 0.9.29, magma 2.6.1, MariaDB 10.6.4, MATIO 1.5.21, matplotlib 3.4.2, MEGA 10.0.5, Mesa 21.1.7, Meson 0.59.1, Metal 2020-05-05, Mini-XML 3.2, molmod 1.4.8, MPICH 3.4.2, nanopolish 0.13.3, NCCL 2.10.3, ncdu 1.16, NCO 5.0.1, neptune-client 0.10.5, netcdf4-python 1.5.7, networkx 2.5.1, nodejs 14.17.6, NSPR 4.32, NSS 3.69, NVHPC 21.7, OpenBLAS 0.3.17, OpenEXR 3.1.1, OpenFOAM 9, OpenFOAM v2106, OpenMM 7.5.1, OpenMolcas 21.06, openpyxl 3.0.7, Pango 1.48.8, parallel 20210722, Paraver 4.9.2, ParaView 5.9.1, patchelf 0.13, PCRE2 10.37, PCRE 8.45, Perl 5.34.0, PETSc 3.15.1, petsc4py 3.15.0, Pillow 8.3.1, Pillow-SIMD 8.3.1, plotly.py 5.1.0, PLUMED 2.7.2, PMIx 4.1.0, poppler 21.06.1, PostgreSQL 13.3, preseq 3.1.2, pybind11 2.7.1, pyFFTW 0.12.0, PyGEOS 0.10.2, Pyomo 6.0.1, PyQt5 5.15.4, pyshp 2.1.3, Python 3.9.6, python-igraph 0.9.6, QTLtools 1.3.1, RAxML-NG 1.0.3, R-bundle-Bioconductor 3.13, re2c 2.2, ReFrame 3.8.0., RStudio-Server 1.4.1717, Rust 1.54.0, Scalasca 2.6, scVelo 0.2.3, Shapely 1.8a1, shrinkwrap 1.1.0, SLEPc 3.15.1, slepc4py 3.15.1, snakemake 6.6.1, snappy 1.1.9, snippy 4.6.0, snpEff 5.0e, SOCI 4.0.2, SpaceRanger 1.3.0, Spack 0.16.2, spatialreg 1.1-8, spglib-python 1.16.1, SQLite 3.36, STAR 2.7.9a, statsmodels 0.12.2, StringTie 2.1.7, Subread 2.0.3, SymEngine 0.7.0, TensorFlow 2.6.0, TetGen 1.6.0, Tkinter 3.9.6, torchtext 0.9.1, tqdm 4.61.2, UCX 1.11.0, UCX-CUDA 1.11.0, unrar 6.0.2, util-linux 2.37, VTune 2021.6.0, WIEN2k 21.1, WPS 4.2, WRF 4.3, X11 20210802, x264 20210613, xarray 0.19.0, XlsxWriter 1.4.4, XML-Parser 2.46, zstd 1.5.0
        • minor enhancements, including:
          • add extensions to recent R v4.x easyconfigs: PCAmatchR (#13448), hal9001 (#13451), cobalt (#13544), CBPS (#13549), SBdecomp (#13565), lwgeom (#13674), naturalsort (#13762), finalfit + gtsummary (#13766)
          • add VBZ compress capability to nanopolish 0.13.3 (for fast5 files) (#13536)
          • add CMake build dependency to easyconfig for tbb 2020.03 (#13704)
          • also build shared libs for MUMPS 5.3.5 (#13702) and 5.4.0 (#13705)
          • add dependency on pkg-config to OpenSSL wrappers (#13765)
        • various bug fixes, including:
          • fix LAMMPS 3Mar2020 easyconfigs using intel toolchain on AMD CPUs by patching out hardcoded -xHost (#11577)
          • fix sanity check error for OpenCV v4.5.1 by adding (and using) freetype and HarfBuzz dependencies (#12517)
          • add patches for TensorFlow 1.13.1 to fix installation (#13326)
          • remove Python 2.6 from list of supported Python versions in setup.py (#13349)
          • switch back to Bundle easyblock for PyQt5 5.15.1 + add back source URLs for components (#13371)
          • add pkg-config build dependency for GDAL 3.2.1 (#13383, #13808), Rust (#13538), GenomeTools (#13805), x264 (#13834)
          • add missing Python 3 build dependency for Rust v1.52.1 (#13399)
          • fix order of cffi extension in old Python easyconfigs (#13400)
          • patch out __asm__ use in ctffind to avoid build failure on ppc64le (#13409)
          • disable building man pages in Gdk-Pixbuf (#13410)
          • add missing Bio-Search-hmmer dependency for prokka (#13419)
          • avoid downloading old numpy version during install for h5py (#13428)
          • add patch for Qt5 5.8.0 to fix compilation failure in webkit (#13434)
          • avoid downloading and building freetype and qhull for matplotlib 3.4.2 (#13437)
          • fix order of components in recent GTK+ easyconfigs to avoid dependency on system GTK+ in GTK+ themes (#13449)
          • fix Python 2.7.13 easyconfigs by adding missing extensions (#13456)
          • add TensorFlow patch to fix crash on shutdown (#13462)
          • allow for non-x86_64 in postinstallcmds for CuPy (#13501)
          • disable default EULA acceptance in easyconfig for NVHPC v21.5 (#13516)
          • fix error with p7zip's 7z command not finding 7z.dll (#13542)
          • patch MaxBin2 Perl script to use provided Perl dependency (#13551)
          • add missing zlib dependency to libarchive (#13579)
          • fix pkgconfig version in patch for bzip 1.0.8 (+ add easyconfig with GCCcore/11.2.0 toolchain) (#13581)
          • fix build of DIRAC 19.0 easyconfig with high compiler optimizations (#13613)
          • fix source URLs and add alternative checksum for Hypre 2.15.1 (since it moved to a different GitHub repo) (#13616)
          • add new source URL for Mesa easyconfigs using 2017b toolchain (#13617)
          • avoid MPICXX dependency in SimpleElastics ITK (#13623)
          • add upstream patch for GCC 9.x, 10.x, 11.x to avoid spurious FPE on avx512 (affects UCX) (#13628)
          • add patch for ctffind 4.1.14 to declare functions without return as void (fixes segfault) (#13665)
          • enable EGL in recent libepoxy ECs (#13684)
          • remove unused buildcmd from libgpuarray easyconfigs (#13720)
          • add patch to fix building Qt5.10.1 against newer glibc (#13730)
          • add Python 3 as a builddependency to recent fontconfig easyconfigs (#13731)
          • update source_URL in BLAST 2.2.26 easyconfig (#13732)
          • restore error message on failing easyconfigs test suite, required by bot to determine end of output of test suite (#13745, #13770)
          • add Perl build dependency to recent Clang easyconfigs (#13746)
          • disable using system Valgrind in the json-c tests (#13750)
          • use Archive source URL for spatstat.geom extension in Seurat (#13761)
          • add ld.gold relocts patch to binutils 2.30 (#13785)
          • add missing Python + Zip build dependencies for old Bazel versions used as build dep for TensorFlow 1.12.0 + 1.13.1 (#13786)
          • add alternative checksum for AFNI 18.3.00 (#13790)
          • update tensorflow-probability easyconfigs to include --release flag in installopts (#13810)
          • fix source URL for DB 18.1.32 (#13813)
          • add missing cppy build dependency for matplotlib 3.4.2 (#13823)
          • disable bash completion in recent x264 easyconfigs (#13834)
          • add Perl as build dependency for ELPA 2021.05.001 + patch to fix hardcoded /usr/bin/perl (#13835)
          • add archive source URL to Spark 3.x easyconfigs to fix broken download (#13842)
          • fix PCRE dependency for GDAL 3.2.1 and 3.3.0, don't use PCRE2 (#13861)
          • add Perl build dependency for HMMER 3.3.2 + patch to ensure it is used (#13870)
          • stick to intel-compilers toolchain for DFT-D3 v3.2.0 (#13878)
          • add missing flex build dependency for leidenalg (#13884)
          • update CMake build dependency for Eigen 3.3.4 + 3.3.5 (#13889)
          • fix source URL for Yasm 1.3.0 (+ add missing checksum) (#13901)
          • update to more recent Meson build dependency for GCCcore/8.3.0 easyconfigs to fix failing RPATH sanity check (#13910)
          • fix shebang for RepeatMasker 4.1.2-p1 Perl script (#13911)
        • other changes:
          • use custom ORCA easyblock in easyconfigs for ORCA v4.x (#13348)
          • move archived easyconfig files to correct __archive__ folder (#13422)
          • rename NINJA to TWL-NINJA to avoid nameclash (#13529)
          • remove superfluous configopts and add sanity checks/checksums in CLHEP easyconfigs (#13614)
          • remove superfluous -DCMAKE_BUILD_TYPE configuration option in Arrow easyconfigs (#13615)
          • switch ITK easyconfigs to CMakePythonPackage easyblock, also enable -DITK_USE_SYSTEM_HDF5 configuration option, fix download URLs (#13619)
          • use build_type instead of -DCMAKE_BUILD_TYPE=RELEASE in configopts in MMseqs2 easyconfigs (#13620)
          • avoid using system GTK+3 and remove -DCMAKE_BUILD_TYPE=RELEASE configure option in OpenCV easyconfigs (#13621)
          • remove -DCMAKE_BUILD_TYPE=RELEASE configure option and add checksums in LLVM easyconfigs (#13624)
          • create libtinfo symlinks in easyconfigs for ncurses with system toolchain (#13658), 6.1 (#13661) and 6.2 (#13660)
          • increase test timeouts for PyTorch 1.8.1 and 1.9.0 (#13700)
          • rename CUDAcore to CUDA for v11.3.1 and v11.4.1 after merging foss/fosscuda, to ensure that get_software_root('CUDA') used in easyblocks works (#13874)
          • use CUDA instead of CUDAcore in recent NVHPC comments (#13875)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb441","title":"EasyBuild v4.4.1 (July 6th 2021)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • enhance detection of patch files supplied to eb command with better error messages (#3709)
          • add per-step timing information (#3716)
          • add module-write hook (#3728)
          • add ignore-test-failure configuration option to ignore failing test step (#3732)
          • add toolchain definition for nvompic (NVHPC + OpenMPI) (#3735)
          • warn about generic milestone in --review-pr and --merge-pr (#3751)
        • various bug fixes, including:
          • don't override COMPILER_MODULE_NAME, inherited from Ffmpi, in Fujitsu toolchain definition (#3721)
          • avoid overwriting pr_nr in post_pr_test_report for reports with --include-easyblocks-from-pr (#3724, #3726)
          • fix crash in get_config_dict when copying modules that were imported in easyconfig file (like import os) (#3729)
          • parse C standard flags in CFLAGS for Fujitsu compiler (#3731)
          • fix error message for --use-ccache (#3733)
          • error out when passing a list to run_cmd* to avoid running wrong command unintended, unless shell=True is used (#3737)
          • minor fixes to output of test reports when using multiple PRs (#3741)
          • fix location for modules installed with intel-compilers toolchain in HierarchicalMNS by always checking toolchain compiler name against template map (#3745)
          • avoid checking msg attribute of GitCommandError (#3756)
          • consider sources provided as dict in EasyBlock.check_checksums_for (#3758)
          • don't make changes to software installation directory when using --sanity-check-only (#3761)
          • honor specified easyblock for extensions (#3762)
        • other changes:
          • make sure that tests requiring a github token have github in the test name so that they can be easily filtered (#3730)
          • deprecate EasyBuild bootstrap script (#3742)
          • use temporary download folder in test_http_header_fields_urlpat (#3755)

        easyblocks

        • 5 new software-specific easyblocks:
          • AOMP (#2435, #2462, #2464), FreeFEM (#1969), NCCL (built from source) (#2337, #2460), torchvision (#2467), UCX plugins (#2491)
        • minor enhancements, including:
          • enhance Amber easyblock to support installing Amber via CMake (#2445)
          • enhance ConfigureMake generic easyblock to add support for building multiple build targets (#2449, #2479, #2480)
          • enhance sanity check for Clang to verify if CUDA offload library was produced (#2454)
          • update custom easyblock for Boost to always build single and multi threaded versions (#2456)
          • enhance sitecustomize.py in Python easyblock to support overriding core Python packages, and allowing overriding in virtualenv (#2458, #2483)
          • update CMakeMake to handle old and new Boost/Boost.Python builds using custom easyblock for Boost (#2461)
          • add file prefix option to XALT easyblock (#2463)
          • enhance Java easyblock to define %(jdkarch)s template (#2472)
          • adjust Perl easyblock to only check for a man subdirectory if groff is a dependency (#2474)
          • support arbitrary version strings in OpenSSL wrapper and add minimum_openssl_version option (#2475)
          • enhance Python easyblock to explicitly disable installing core-pip when install_pip is not True (#2476)
          • enhance intel-compiler easyblock to include multipath include dir in $CPATH (#2477)
          • enhance Hypre easyblock to enable CUDA support (#2482)
          • update Xmipp easyblock for new version (v3.20.07) (#2486)
          • enhance FFTW easyblock to skip tests if --mpi-tests EasyBuild configuration option is disabled (#2490)
          • use PYPI_SOURCE as the default for source_urls of extensions of Python easyconfigs (#2493)
        • various bug fixes, including:
          • only use siterc fix for NVHPC < 21.3 (#2453)
          • fix CPU-only runtime for dpcpp-generated executables in custom easyblock for intel-compilers (#2457)
          • always add distinct_host_configuration=false to build command for TensorFlow (#2459)
          • disable installation of bundled BioPerl and HTSLib if they are dependencies of VEP (#2468)
          • don't use list value for command to detect installed Python packages in TensorFlow easyblock (#2469)
          • change Bundle easyblock to also collect altroot and altversion in the module step so they are set when running --module-only (#2485)
          • always strip output from gcc -print-multiarch in intel-compilers easyblock (#2489)
          • don't overwrite all of exts_default_options in TensorFlow easyblock (#2494)
          • enhance GCC easyblock to make sure that system GCC provides LTO support, and disable LTO when building MPFR if not (#2498)
          • rework the dependency handling of OpenMPI to use explicit configure options to disable features if required dependency is not provided (#2500, #2501)

        easyconfigs

        • added example easyconfig files for 39 new software packages:
          • AMPHORA2 (#13003), AOMP (#12909), CAMPARI (#13152), CSB (#12877), dijitso (#10719), DosageConvertor (#13278), dSFMT (#12971), exiv2 (#13204), FEniCS (#10719), FreeFEM (#9902), futhark (#12921), futile (#12864), gappa (#13186), GenomeWorks (#13083, #13092), gexiv2 (#13204), HAL (#13267), hipify-clang (#12961), inline (#12029), libcint (#13214), LTR_retriever (#13125), mapDamage (#13172), MbedTLS (#13061), microctools (#13010), Nektar++ (#12664), NINJA (#13125), OBITools3 (#12969), ont-fast5-api (#13033), OpenMM-PLUMED (#13268), phototonic (#13241), PyFoam (#12675), RagTag (#13247), RcppGSL (#13172), RECON (#13123), RepeatScout (#13124), retworkx (#13228), UCX-CUDA (#13260), unimap (#13247), Vala (#13204), WhatsHap (#12989)
        • added additional easyconfigs for various supported software packages, including:
          • Amber 20.11, BBMap 38.90, Beast 2.6.4, BLIS 3.0 (AMDo fork), Bonito 0.4.0, CellRanger-ARC 2.0.0, CellRanger-ATAC 2.0.0, Check 0.15.2, CubeGUI 4.6, CubeLib 4.6, CubeWriter 4.6, cuDNN 8.2.1.32, CVXOPT 1.2.6, DOLFIN 2019.1.0.post0, eggnog-mapper 2.1.4, ELPA 2021.05.001, FDS 6.7.6, FFC 2019.1.0.post0, FFmpeg 4.3.2, FIAT 2019.1.0, flatbuffers 2.0.0, flatbuffers-python 2.0, FLTK 1.3.6, gc 8.0.4, GCC 8.4.0 + 9.4.0, GDAL 3.3.0, Gdk-Pixbuf 2.42.6, geopy 2.1.0, Ghostscript 9.54.0, git 2.32.0, GitPython 3.1.18, GLFW 3.3.4, gmsh 4.8.4, gnuplot 5.4.2, GnuTLS 3.7.2, Go 1.16.5, GObject-Introspection 1.68.0, gperftools 2.9.1, GraphicsMagick 1.3.36, Graphviz 2.47.2, GSL 2.7, GTK+ 2.24.33, Guile 2.2.7, h5py 3.2.1, HarfBuzz 2.8.1, Horovod 0.22.0, Hypre 2.21.0, ICU 69.1, ImageMagick 7.0.11-14, IOR 3.3.0, IPython 7.25.0, IRkernel 1.2, ispc 1.16.0, JupyterLab 3.0.16, LDC 1.26.0, libcerf 1.17, libepoxy 1.5.8, libgd 2.3.1, libStatGen 1.0.15, libxc 5.1.5, LittleCMS 2.12, LMfit 1.0.2, Lua 5.4.3, M4 1.4.19, MCR R2021a.3, medaka 1.4.3, Mercurial 5.8, minimap2 2.20, MMseqs2 13, MrBayes 3.2.7, MUMPS 5.4.0, NCCL 2.9.9, netCDF 4.8.0, Nim 1.4.8, nodejs 14.17.0, Nsight-Compute 2021.2.0, numba 0.53.1, NVHPC 21.5.eb, nvtop 1.2.1, Octave 6.2.0, OPARI2 2.0.6, openkim-models 20210128, OpenMPI 4.0.6, OTF2 2.3, p11-kit 0.24.0, Pango 1.48.5, parallel 20210622, petsc4py 3.12.0, picard 2.25.5, Pillow 8.2.0, PROJ 8.0.1, protobuf 3.17.3, protobuf-python 3.17.3, PSolver 1.8.3, PySCF 1.7.6, pyspoa 0.0.8, pytest-xdist 2.3.0, PyTorch 1.9.0, PyYAML 5.4.1, Qhull 2020.2, Quandl 3.6.1, R 4.0.5 + R 4.1.0, Ragout 2.3, RE2 2021-06-01, ReFrame 3.6.2, RepeatMasker 4.1.2, rgdal 1.5-23, RMBlast 2.11.0, Ruby 3.0.1, scikit-learn 0.24.2, Score-P 7.0, Seurat 4.0.3, slepc4py 3.12.0, spoa 4.0.7, Subread 2.0.2, Subversion 1.14.1, SuiteSparse 5.10.1, sympy 1.8, tensorboardX 2.2, TensorFlow 2.5.0, Tk 8.6.11, tmux 3.2a, torchtext 0.8.1, torchvision 0.9.1, UDUNITS 2.2.28, UFL 2019.1.0, utf8proc 2.6.1, VEP 103.1, VMD 1.9.4a51, vsc-mympirun 5.2.6, XCFun 2.1.1, Xvfb 1.20.11, Z3 4.8.11, ZeroMQ 4.3.4
        • minor enhancements, including:
          • update cuDNN 8.0.x easyconfigs with a download location (#12368)
          • add extensions to recent R easyconfigs: GxEScanR (#13039), cSEM (#13208), cubelyr + broom.mixed (#13252), grf (#13261), twang + xgboost (#13284), neuralnet (#13330)
          • add check to easyconfigs test suite to ensure OpenSSL wrapper is used in easyconfigs using a recent toolchain (#13079)
          • add gipaw to QuantumESPRESSO/6.7 (#13087)
          • add checksum for aarch64 installation file for CUDAcore easyconfigs (#13014, #13097)
          • add Perl dependency to makeinfo easyconfigs (#13166)
          • set minimal OpenSSL version to 1.1.1 for OpenSSL v1.1 wrapper (#13188)
          • add JIT support for CUDA 11 to PyTorch 1.7.1 (#13207)
          • add ninja --version as sanity check command in Ninja easyconfigs (#13222)
          • code cleanup + improvements for easyconfigs test suite (#13257)
        • various bug fixes, including:
          • download sources via git for XGBoost 20171120 easyconfig due to use of submodules (#6880)
          • add elfutils as build dependency for Clang 8.0.x and 9.0.1 (#13015) and Clang 11.0.1 (#13008) easyconfigs that have a CUDA dependency
          • add missing CMake option to Geant4 v10.7.1 in order to actually use external CLHEP (#13019)
          • add new checksum for mvabund extension to R v4.0.4 eaysconfigs (#13020, #13021)
          • add patch to fix numpy test_ccompiler_opt in SciPy-bundle v2021.05 (#13042)
          • add patch to fix installation of HDF 4.2.15 on aarch64 (#13059)
          • make sure that MbedTLS' Makefile uses python rather than python2 (#13061)
          • fix checksum for snpEff 5.0 (#13062)
          • fix source URL for LIBSVM 3.24 by downloading from GitHub (#13076)
          • add preinstallopts for minimap2 to fix installation on aarch64 (#13080)
          • add patch for GCC 10.2.0 to fix internal compiler error on aarch64 (#13086)
          • switch to NCCL 2.8.3 built from source for CuPy, Horovod, libgpuarray, PyTorch and TensorFlow using fosscuda/2020b (#13103)
          • add astor to dependencies of TensorFlow with 2019b (#13111) and 2020b (#13103, #13112) toolchains
          • break cyclic dependency between groff, makeinfo and Perl by adding Perl-minimal and makeinfo-minimal easyconfigs (#13163 - #13165)
          • add missing rgdal dep to R-INLA (#13179)
          • add patch to fix uniq operation in TensorFlow 2.4.1 (#13181)
          • add Perl build dependency for PnetCDF 1.12.1 (#13183)
          • disable own avx detection of libfabric v1.12.1 (#13215)
          • add GCCcore-[1-9][0-9].x to test_dep_versions_per_toolchain_generation (#13243, #13249, #13251)
          • add patch to fix installation of TensorFlow 2.0.x (#13248)
          • add patch for recent GCCcore versions to fix compatibility with CUDA 11 (#13290)
          • fix install step for glew (#13297)
          • update Boost 1.74.0 easyconfigs to use tagged_layout rather than boost_multi_thread (#13300)
          • avoid using PMIx from system instead of PMIx dependency specified via --with-pmix for OpenMPI 4.x (#13307)
          • add patch for GCCcore 10.3.0 to prevent issues when compiling with nvcc (#13310)
          • add patch for OpenMPI 4.0.x to fix building against (system) UCX version > 1.7 (#13329)
          • fix build of manta 1.6.0 on top of Boost 1.74.0 (#13338)
          • fix recent taxator-tk easyconfigs by adding (back) -DBoost_NO_BOOST_CMAKE=ON configure option (#13342)
        • other changes:
          • disable debuginfod for elfutils to minimize required dependencies (#13034)
          • add bare Python 3.9.5 easyconfig and use that as builddep for LLVM 11.1.0 (#13035)
          • remove misleading comment from Python >= 3.7 easyconfigs, libffi is now also required for Python itself (no longer bundled) (#13041)
          • use new custom easyblock in torchvision easyconfigs (#13102)
          • remove superfluous TensorFlow patch (#13223)
          • cleanup of easyconfigs for (bundles) of Python packages: remove default PYPI_SOURCE source URLs + use PythonBundle rather than Bundle easyblock (#13253, #13295, #13336)
          • update README with instructions for MATLAB easyconfigs (#12597)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb440","title":"EasyBuild v4.4.0 (June 2nd 2021)","text":"

        feature release

        framework

        • various enhancements, including:
          • enhance apply_regex_substitutions to allow specifying action to take in case there are no matches (#3440)
          • performance improvements for easyconfig parsing and eb startup (#3555)
          • add support for downloading easyconfigs from multiple PRs with --from-pr (#3605, #3707, #3708)
          • add support for prepending custom library paths in RPATH section via --rpath-override-dirs (#3650)
          • allow amending easyconfig parameters which are not the default (#3651)
          • update HierarchicalMNS for Intel OneAPI compilers (#3653)
          • add support for --sanity-check-only (#3655)
          • add support for running commands asynchronously via run_cmd + complete_cmd functions (#3656)
          • add support for using oneAPI versions of 'intel' toolchain components (#3665)
          • add toolchain definition for gofbf (foss with FlexiBLAS rather than OpenBLAS) (#3666)
          • add support for using ARCH constant in easyconfig files (#3670)
          • honor keyboard interrupt in eb command (#3674)
          • add toolchain definition for Fujitsu toolchain (#3677, #3704, #3712, #3713, #3714, #3717)
          • extend sanity check step to check whether specific libraries are not linked into installed binaries/libraries (#3678)
            • via banned-linked-shared-libs and required-linked-shared-libs EasyBuild configuration options
            • via banned_linked_shared_libs and required_linked_shared_libs methods in toolchain support
            • via banned_linked_shared_libs and required_linked_shared_libs methods in easyblock
            • via banned_linked_shared_libs and required_linked_shared_libs easyconfig parameters
          • add locate_solib function to locate Linux shared libraries (#3682)
          • add system agnostic function to locate shared libraries (#3683)
          • add update_build_option function to update specific build options after initializing the EasyBuild configuration (#3684)
          • allow opting out of recursively unloaded of modules via recursive_module_unload easyconfig parameter (#3689)
          • check for correct version values when parsing easystack file (#3693)
          • run post-install commands specified for a specific extension (#3696)
          • add support for --skip-extensions (#3702)
          • include PR title in output produced by --merge-pr (#3706)
        • various bug fixes, including:
          • avoid metadata greedy behaviour when probing for external module metadata (mostly relevant for integration with Cray Programming Environment) (#3559)
          • catch problems early on if --github-user is not specified for --new-pr & co (#3644)
          • re-enable write permissions when installing with read-only-installdir (#3649)
          • also run sanity check for extensions when using --module-only (#3655)
          • improve logging when failing to load class from exts_classmap (#3657)
          • fix use of --module-only on existing installations without write permissions (#3659)
          • correct help text for subdir-user-modules (#3660)
          • avoid picking up easyblocks outside of sandbox in framework tests (#3680)
          • use unload/load in ModuleGeneratorLua.swap_module, since swap is not supported by Lmod (#3685)
          • update HierarchicalMNS to also return 'Toolchain/<name>/<version>' as $MODULEPATH extension for cpe* Cray toolchains (#3686)
          • make EasyConfigParser.get_config_dict return a copy rather than a reference (#3692)
          • make sure that $TAPE is unset when using piped tar (#3698)
          • fix extending message for changed files in new_pr_from_branch (#3699)
          • enhance sched_getaffinity function to avoid early crash when counting available cores on systems with more than 1024 cores (#3701)
          • correctly strip extension from filename in extract_cmd and back_up_file functions (#3705)
        • other changes:
          • deprecate adding a non-existing path to $MODULEPATH (#3637)
          • bump cryptography requirement from 3.2.1 to 3.3.2 (#3643, #3648)
          • test bootstrap script in separate workflow, and limit test configurations a bit (#3646)
          • update setup.py to indicate compatibility with Python 3.8 and 3.9 (#3647)
          • replace log_error parameter of which() by on_error (#3661, #3664)
          • don't skip sanity check for --module-only --rebuild (#3645)
          • move disable_templating function into the EasyConfig class (#3668)
          • pin GitPython version for Python<3.6, don't test bootstrap script against Python 3.8/3.9 (#3675)
          • tweak foss toolchain definition to switch from OpenBLAS to FlexiBLAS in foss/2021a (#3679)
          • suggest missing SSH key when not able to read from remote repository in --check-github (#3681)
          • drop support for Python 2.6 (#3715)

        easyblocks

        • 3 new software-specific easyblocks:
          • FlexiBLAS (#2369, #2422, #2424, #2426)
          • dm-reverb (#2413)
          • custom easyblock to install OpenSSL wrapper for OpenSSL installed in OS, with fallback to build and install OpenSSL from source if not available in OS (#2429)
        • minor enhancements, including:
          • also add -pthread to prebuildopts of cryptography (#2270)
          • don't unpack Python wheel (*.whl) files by default in generic PythonPackage easyblock (#2366, #2442)
          • enable installation of samples for CUDA > 10.1 (#2374)
          • add option to disable pip connecting to PyPi (enable use of --no-index) (#2390)
          • update MotionCor2 easyblock to handle new version and be aware of CUDAcore (#2394)
          • make it possible to force disabling kernel features in Qt easyblock (#2403)
          • update imkl easyblock to support oneAPI versions (>= 2021.x) (#2407)
          • add\"gurobi_cl --help as default sanity check command for Gurobi (#2411)
          • enhance BWA easyblock to copy includes and libraries (#2417)
          • allow default versions to be defined by ModuleRC easyblock (#2418)
          • enhance MesonNinja and CMakeMake easyblocks to create unused build dir when separate_build_dir is set (#2419)
          • enable sanity_pip_check by default for Python easyconfigs if pip >= 9.0 will be installed (#2423)
          • enhance FFTW easyblock to support SVE CPU feature and building with Fujitsu compiler (#2425)
          • make ScaLAPACK easyblock aware of FlexiBLAS (#2427)
          • update imkl easyblock to unpack example tarballs and set $MKL_EXAMPLES (+ some code cleanup) (#2430)
          • update list of system libs for TensorFlow 2.5 (#2432)
          • allow disabling MPI tests when installing Intel MPI (impi) via --disable-mpi-tests (#2440)
          • exclude bottleneck tests in PyTorch (#2450)
        • various bug fixes, including:
          • ensure lib subdirectory is found in stage 2 of GCC installation + fall back to lib64 (#2339)
          • fix permission on MATLAB installer config file so it can be written to (#2385)
          • fix problem with installing older CUDA versions that uses the Perl based installer (#2387)
          • enhance Python easyblock: add option to install pip with core Python, tweak defaults, create unversioned pip symlink (#2388)
          • fix installopts before installing the extension in GROMACS easyblock (#2391)
          • updated numpy easyblock to use read_file for patch (#2395)
          • use explicit build toolset and compiler path in Boost easyblock (#2402)
          • replace hardcoded 2021.1.1 with self.version in impi easyblock (#2405)
          • set $SANDCASTLE when running PyTorch tests to disable some tests as-if we are on Facebook's CI (#2412)
          • make GROMACS easyblock work with --module-only (#2414)
          • make sure OpenFOAM sanity checks don't require builddir write permissions (#2415)
          • make Tkinter easyblock work with --module-only (#2416)
          • also disable altivec with FFTW 3.3.9 on POWER (#2437)
          • make sure that self.python_cmd is set before using it in PythonPackage.sanity_check_step (#2447)
        • other changes, including:
          • update setup.py to indicate compatibility with Python 3.8 and 3.9 (#2384)
          • use on_error rather than deprecated log_error named argument for which function (#2406)
          • remove cuda_compute_capabilities from custom easyconfig parameters for Clang, LAMMPS and TensorFlow (now supported as general easyconfig parameter) (#2433)

        easyconfigs

        • added easyconfigs for new Fujitsu toolchain: FCC/4.5.0 (#12999, #12995, #13007), ffmpi/4.5.0 (#13000) and Fujitsu/21.05 (#13001, #13007)
        • add easyconfigs for updates of common toolchains: foss/2021a (#12867, #12975), intel/2021a (#12885, #12975)
          • see also https://easybuild.readthedocs.io/en/latest/Common-toolchains.html
        • added easyconfig for gomkl/2021a toolchain (#12987)
        • added example easyconfig files for 58 new software packages:
          • Archive-Zip (#12651), BirdNET (#12737, #12712, #12737), cell2location (#12448), cryoDRGN (#12704), dm-reverb (#12824), DROP (#12559, #12801, #12950), fastahack (#12841), fermi-lite (#12856), filevercmp (#12841), FlexiBLAS (#12476), freetype-py (#12918), fsom (#12841), garnett (#12529), gawk (#12716), gemmi (#12855), georges (#12570), hifiasm (#12897), intervaltree (#12838), LDC (#12671), libidn2 (#12670), librosa (#10477), librsb (#12780), line_profiler (#12556), loompy (#12804), mmtf-cpp (#12580), mongolite (#12632), msgpack-c (#12580), multichoose (#12839), networkTools (#12810), NewHybrids (#12528), Octopus-vcf (#12598), onedrive (#12671), p4-phylogenetics (#12549), pagmo (#12678), pyfaidx (#12872), pyfasta (#12952), pygmo (#12678), pysheds (#12791), R-INLA (#12955, #12927, #12955), RegTools (#12874), request (#12448), rMATS-turbo (#12982), scanpy (#12731), SeqLib (#12856), SeuratData (#12993), SeuratWrappers (#12994), smithwaterman (#12841), snp-sites (#12900), SSW (#12856), tabixpp (#12837), TagDust (#11599), TALON (#12963), tMAE (#12559), TranscriptClean (#12952), umap-learn (#12448), vcflib (#12841), xESMF (#12799), XlsxWriter (#12820)
        • added additional easyconfigs for various supported software packages, including:
          • ABINIT 9.4.1, apex 20210420, astropy 4.2.1, binutils 2.36.1, BLIS 0.8.1, Bonito 0.3.8, BUSCO 5.1.2, canu 2.1.1, carputils 20210513, CastXML 0.4.3, ccache 4.2.1, CDO 1.9.10, CIRCexplorer2 2.3.8, CLHEP 2.4.4.0, CMake 3.20.1, CNVkit 0.9.8, CUDA(core) 11.3.0, CuPy 8.5.0, cURL 7.76.0, DFA 2.1.2, Doxygen 1.9.1, Eigen 3.3.9, FastANI 1.33, FFTW 3.3.9, GATK 4.2.0.0, GCC 10.3.0 + 11.1.0, GDB 10.2, gdc-client 1.6.0, GDRCopy 2.2, Geant4 10.7.1, Geant4-data 20210510, GeneMark-ET 4.65, glew 2.2.0, GLib 2.68.2, GLPK 5.0, GMP 6.2.1, Go 1.16.3, Graphviz 2.47.0, GROMACS 2021.2, GStreamer 1.18.4, GTDB-Tk 1.5.0, Gurobi 9.1.2, HMMER 3.3.2, Horovod 0.21.3, hwloc 2.4.1, hypothesis 6.13.1, IGV 2.9.4, impi 2021.2.0, imkl 2021.2.0, intel-compilers 2021.2.0, JasPer 2.0.28, Julia 1.6.1, Kraken2 2.1.1, KronaTools 2.8, libarchive 3.5.1, libdeflate 1.7, libdrm 2.4.106, libfabric 1.12.1, libreadline 8.1, libRmath 4.0.0, libsndfile 1.0.31, LIBSVM 3.24, LibTIFF 4.2.0, libunwind 1.5.0, libwebp 1.2.0, LLVM 11.1.0, LMDB 0.9.28, LUMPY 0.3.1, lz4 1.9.3, Mako 1.1.4, MATLAB 2021a, Mesa 21.1.1, meshalyzer 2.2, Meson 0.58.0, MetaBAT 2.15, metaWRAP 1.3, minimap2 2.18, Molden 6.8, MotionCor2 1.4.2, ncview 2.1.8, NetPIPE 5.1.4, nettle 3.7.2, NiBabel 3.2.1, Nilearn 0.7.1, Nim 1.4.6, Ninja 1.10.2, NLopt 2.7.0, NSS 3.65, numactl 2.0.14, NWChem 7.0.2, OpenBLAS 0.3.15, openCARP 6.0, OpenEXR 3.0.1, OpenMM 7.5.0, OpenMPI 4.1.1, OpenSSL 1.1 (wrapper), OSU-Micro-Benchmarks 5.7.1, Pandoc 2.13, parallel 20210322, parasail 2.4.3, PAUP 4.0a168, PCRE2 10.36, Perl 5.32.1, pigz 2.6, PMIx 3.2.3, Primer3 2.5.0, PRSice 2.3.3, py-aiger 6.1.14, pybind11 2.6.2, PyCharm 2021.1.1, pydot 1.4.2, pyproj 3.0.1, PySAT 0.1.7.dev1, PyTorch 1.8.1, python-parasail 1.2.4, Pylint 2.7.4, Python 3.9.5, Qt5 5.15.2, R-keras 2.4.0, rasterio 1.2.3, RAxML-NG 1.0.2, rclone 1.54.1, re2c 2.1.1, ReFrame 3.5.2, Rmath 4.0.4, Rust 1.52.1, Sambamba 0.8.0, samblaster 0.1.26, samclip 0.4.0, scikit-allel 1.3.2, SciPy-bundle 2021.05, SCons 4.1.0.post1, snakemake 6.1.0, SQLite 3.35.4, SRPRISM 3.1.2, Tcl 8.6.11, TCLAP 1.2.4, tmux 3.2, tqdm 4.60.0, UCX 1.10.0, Valgrind 3.17.0, WannierTools 2.5.1, wget 1.21.1, wxWidgets 3.1.4, X11 20210518, x264 20210414, x265 3.5, xorg-macros 1.19.3, YAXT 0.9.0, zarr 2.8.1, zstd 1.4.9
        • minor enhancements, including:
          • add additional extensions to R v4.0.3 and v4.0.4: miceadds, visdat, UpSetR, naniar, stringdist, image.binarization (#12735), lassosum (#12821), lslx, regsem, semPLS (#13005)
          • add GenABEL to R-bundle-Bioconductor (#12822)
        • various bug fixes, including:
          • disable automatic acceptance of NVHPC EULA (#12014)
          • enhance RStudio-Server, add patch to inherit environment variables, add sanity check commands to verify installation (#12544)
          • add fix to scipy to handle NaN arguments to vi function (#12551)
          • copy all binaries + examples & co for PAML v4.9j (#12567)
          • add patch to fix hardcoded num_cores in DMCfun extension included with R 4.0.x (#12583)
          • backport Charm++ patch for NAMD/2.14 on intel/2020a to handle newer glibc (#12594)
          • add setuptools_scm and pytest-runner extensions to Pylint easyconfigs (#12599)
          • fix typo in Delly easyconfig to actually do parallel build (#12633)
          • fix potential memory leak in OpenBLAS 0.3.12 (#12649)
          • consistently use pip to install Python packages in recent Python easyconfigs (#12650)
          • replace bintray source url for Groovy (#12652)
          • add missing Python & Perl dependencies to AUGUSTUS v3.4.0 with foss/2020b (#12662)
          • fix wget dependency: use libidn2 rather than libidn (#12670)
          • fix source URLs for recent ELPA versions (#12700)
          • override host compiler check in CUDAcore (#12701)
          • add Python build dependency to libpsl 0.21.0 easyconfigs (#12715)
          • fix error in libgpg-error 1.36 with gawk builtin (#12716)
          • add libtool build dependency to leidenalg (#12741)
          • fix source URLs for Boost 1.71.0 - 1.74.0 easyconfigs (#12743) and Boost.Python (#12744)
          • add patches for PyTorch 1.7.1 avoiding failures on POWER and A100 (#12753)
          • add patch for OpenPGM 5.2.122 eaysconfigs to fix non-existent directory in *.pc (pkgconfig) file (#12774)
          • add missing Perl build dependency to recent wget easyconfigs (#12787)
          • make sure Python dependency is used in preCICE 2.x easyconfigs (#12793)
          • don't skip source step in FastTree easyconfigs + fix SHA256 checksum for FastTree 2.1.11 (#12794)
          • add patch for rhdf5filters extension in Bioconductor 3.12 bundle to fix installation on aarch64 (#12836)
          • add IceLake detection to OpenBLAS 0.3.12 and 0.3.15 (#12865)
          • fix checksum for MaxBin 2.2.7 (#12869)
          • run make clean before building FragGeneScan, to clean up object files included in source tarball (#12870)
          • clean up install of KronaTools (#12871)
          • add UCX dependency to OneAPI versions of impi (#12873)
          • correct description in libdeflate easyconfig (#12886)
          • override Makefile with hardcoded CC=cc in UnZip easyconfigs (#12887)
          • fix compatibility of FLAIR v1.5.1-20200630 with rpy2 v3.x (#12899)
          • fix test step for libxc 4.3.4 and 5.1.x when using RPATH linking (#12912)
          • fix source URLs in BLAST 2.10.x easyconfigs (#12914)
          • add missing xproto build dependency to imake easyconfig (#12930)
          • add patch to fix GCC 10.2.0 rejecting valid code on PPC (#12948)
          • in easyconfig tests, check version of dependencies named Python, not if dependencies with certain versions are named Python (#12962)
          • update easyconfigs for binutils 2.35 to use binutils 2.35.2 source tarball instead to pick up bug fixes (#12967, #12988)
          • fix download URL for DB 18.1.40 (#12974)
          • fix test failure in TensorFlow 2.4.1 on recent CUDA drivers (#12979)
          • fix error in configopts for netCDF and HDF5 and add missing dependencies of ABINIT 9.x (#12981)
          • add patch to fix buffer overflow in OpenMPI 4.1.x (#12983)
        • other changes:
          • update setup.py to indicate compatibility with Python 3.8 and 3.9 (#12565)
          • add -Java versionsuffix for Hadoop easyconfig using GCCcore/10.2.0 toolchain, since it depends on Java 1.8 (#12709)
          • remove unnecessary workaround for missing version of OpenDataCube and Spyder for 2020+ toolchains (#12757)
          • remove unpack_sources = False from recent easyconfigs that use a *.whl file as source (#12783)
          • whitelist Seaborn 0.10.1 for NanoComp 1.13.1 and NanoPlot 1.33.0 (#12790)
          • add check to make sure that source step is not being skipped (#12807)
          • use EasyConfig.disable_templating method in test suite (#12848)
          • disable usNIC by default in libfabric to avoid problems due to linking to both libnl and libnl-3 (#12854)
          • use OpenSSL wrapper as dependency in easyconfigs using GCCcore/10.3.0 toolchain (#12922, #12944)
          • dump easyconfig before initializing easyblock in order to compare it with original easyconfig (#12925)
          • remove postinstallcmds from imkl 2020.x easyconfigs, easyblock now installs examples (#12937)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb434","title":"EasyBuild v4.3.4 (Apr 9th 2021)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add support for filtering dependencies by using False as version (#3506)
          • add create_unused_dir function to create a directory which does not yet exist (#3551)
          • avoid running expensive module use and module unuse commands when using Lmod as modules tool, update $MODULEPATH directly instead (#3557, #3633)
          • create CUDA cache (for JIT compiled PTX code) in build dir instead of $HOME (#3569)
          • add \"Citing\" section to module files (#3596)
          • add support for using fallback arch=* key in dependency version specified as arch->version mapping (#3600)
          • also check for pending change requests and mergeable_state in check_pr_eligible_to_merge (#3604)
          • ignore undismissed changes requested review if there is an approved review by the same user (#3607, #3608)
          • sort output of eb --search in natural order (respecting numbers) (#3609)
          • enhance eb command to ensure that easybuild.main can be imported before settling on python* command to use (#3610)
          • add --env-for-shebang configuration option to define the env command to use for shebangs (#3613)
          • add templates for architecture independent Python wheels (#3618)
          • mention easyblocks PR in gist when uploading test report for it + fix clean_gists.py script (#3622)
          • also accept regular expression value for --accept-eula-for (#3630)
          • update validate_github_token function to accept GitHub token in new format (#3632)
        • various bug fixes, including:
          • fix $BLAS_LIB_MT for OpenBLAS, ensure -lpthread is included (#3584)
          • use --opt=val for passing settings from config file to option parser to avoid error for values starting with - or -- (#3594)
          • avoid raised exception when getting output from interactive command in run_cmd_qa (#3599)
          • add option to write file from file-like object and use in download_file (#3614)
          • make sure that path to eb is always found by tests (#3617)
        • other changes:
          • add pick_default_branch function to clean up duplicate code in tools/github.py (#3592)
          • refactor the CI configuration to use inclusion instead of exclusion (#3616)
          • use develop branch when testing push access in --check-github (#3629)
          • deprecate --accept-eula, rename to --accept-eula-for (#3630)

        easyblocks

        • minor enhancements, including:
          • make OpenCV easyblock aware of protobuf, libwebp and OpenEXR dependencies provided via EasyBuild (#2346)
          • update CP2K easyblock w.r.t. running regtest for CP2K v8.1 (#2350)
          • update GROMACS easyblock for GROMACS/2021 with CUDA (#2353)
          • adjust call to python-config for Python >= 3.8 in VMD easyblock (#2355)
          • enhance cuDNN and CUDA easyblocks to support aarch64 (#2356)
          • pass down compiler flags provided by EasyBuild in g2clib easyblock (#2357)
          • update VTune easyblock for version 2020 (#2359)
          • make WRF and WPS easyblocks aware of (pre)configopts (#2361)
          • add Clang version 12.0.0 for AOCC 3.0.0 to mapping in custom easyblock for AOCC (#2362)
          • use PYPI_SOURCE as the default for source_urls of PythonPackage (#2364, #2370)
          • enhance PythonPackage easyblock to catch faulty version (0.0.0) for installed Python packages (#2367, #2377)
          • enhance BWA easyblock: pass compiler flags + use filetools functions (#2368)
        • various bug fixes, including:
          • set $R_LIBS_SITE rather than $R_LIBS when installing R packages (#2326)
          • update PETSc easyblock to take into account that ScaLAPACK installation may not have header files + fix building in parallel (#2348)
          • disable CMake user package repository in CMakeMake generic easyblock (#2351)
          • update LAPACK easyblock to keep control of compiler options for versions >= 3.9.0 (#2358)
          • also set $TORCH_CUDA_ARCH_LIST for PyTorch tests (#2363)
          • enhance Hadoop easyblock to avoid copying same native library twice (#2371)
          • fix pip extension download pattern for PythonPackage easyblock (#2372)
          • make the CUDA stub libs take preference over system libs when linking (#2373)
          • improve Python package version check and add unversioned_packages easyconfig parameter (#2377)

        easyconfigs

        • added easyconfig for goblf/2020b toolchain (#12381, #12535)
        • added example easyconfig files for 41 new software packages:
          • amplimap (#12205), BEEF (#12104), bpp (#12036), Brotli (#11651), CDAT (#12322), cicero (#12252), CIF2Cell (#12258), CompareM (#9377), DL_POLY_4 (#12324), DMCfun (#12412), ESMPy (#12339), FLAC (#12300), gdbm (#12322), GPyOpt (#12524), json-c (#12344), libcdms (#12322), libdrs (#12322), libogg (#12285), libvorbis (#12300), LncLOOM (#12287), LPJmL (#12344), maze (#12354), MetaEuk (#12188), mrcfile (#12497), Myokit (#12261), NCCL-tests (#12415), pyABC (#12329), PyCifRW (#12258), PyOD (#12507), pyro-api (#12447), pyro-ppl (#12447), R-opencv (#12226), Ratatosk (#12443), RevBayes (#12419), sansa (#12354), scikit-cuda (#12352), Seeder (#9057), suave (#12354), voltools (#12497), vorbis-tools (#12300), YACS (#12309)
        • added additional easyconfigs for various supported software packages, including:
          • AOCC 3.0.0, Arriba 2.1.0, ArviZ 0.11.1, arpack-ng 3.8.0 BCFtools 1.12, BEDTools 2.30.0, BUSCO 5.0.0, BioPerl 1.7.8, Blosc 1.21.0, Boost.Python 1.74.0, bitarray 1.2.1, bokeh 2.2.3, CP2K 8.1, CUDAcore 11.2.2, CellRanger 6.0.0, Clang 11.0.1, DIAMOND 2.0.7, Delly 0.8.7, dask 2021.2.0, dm-tree 0.1.5, Elk 7.0.12, Extrae 3.8.0, FLUENT 2021R1, FabIO 0.11.0, Fiji 20201104, Flye 2.8.3, FreeSurfer 7.1.1, GDAL 3.2.1, GEOS 3.9.1, GLFW 3.3.3, GMAP-GSNAP 2020-12-17, GROMACS 2021, GetOrganelle 1.7.4, gmsh 4.7.1, HTSeq 0.11.3, HTSlib 1.12, Hypre 2.20.0, hyperopt 0.2.5, iVar 1.3.1, igraph 0.9.1, Jansson 2.13.1, Kent_tools 411, LAPACK 3.9.1, LAST 1179, LibSoup 2.72.0, libxc 5.1.3, MAFFT 7.475, MCR R2020a.6 + R2020b.5 + R2021a.0.eb, MDTraj 1.9.5, MUMPS 5.3.5, MaSuRCA 4.0.1, Mercurial 5.7.1, Monocle3 0.2.3, NGS 2.10.9, NVHPC 21.2, NetLogo 6.2.0, Nextflow 21.03.0, ncbi-vdb 2.10.9, OSU-Micro-Benchmarks 5.7, OpenCV 4.5.1, OpenEXR 2.5.5, OptiX 7.2.0, PETSc 3.14.4, PLUMED 2.7.0, PROJ 7.2.1, PyAMG 4.0.0, PyCUDA 2020.1, PyCairo 1.20.0, PyOpenCL 2021.1.2, PyTorch-Geometric 1.6.3, p7zip 17.03, pFUnit 4.2.0, picard 2.25.1, pocl 1.6, preCICE 2.2.0, protobuf 2.5.0, pymatgen 2022.0.4, python-igraph 0.9.0, Qtconsole 5.0.2, R 4.0.4, RASPA2 2.0.41, RDFlib 5.0.0, ReFrame 3.5.1, Ruby 2.7.2, rnaQUAST 2.2.0, SAMtools 1.12, SDL2 2.0.14, SIMPLE 3.0.0, SPAdes 3.15.2, SUNDIALS 5.7.0, Seurat 4.0.1, Spark 3.1.1, scikit-image 0.18.1, silx 0.14.0, spglib 1.16.1, sympy 1.7.1, tensorboardX 2.1, tensorflow-probability 0.12.1, tmux 3.1c, USEARCH 11.0.667, VTK 9.0.1, VTune 2020_update3
        • minor enhancements, including:
          • verify checksum of all patch files in easyconfigs test suite (#12221)
          • add libwebp and OpenEXR dependencies for OpenCV 4.2.0 easyconfig with foss/2020a (#12227)
          • add sanity check commands for vorbis-tools (#12304)
          • add extensions to R-bundle-Bioconductor 3.12: motifmatchr (#12390), OUTRIDER + FRASER (#12510)
          • add DMCfun extension for R v4.0.3 + v4.0.4 (#12409)
        • various bug fixes, including:
          • add missing GNU time dependency to WRF 4.0.2 built with foss/2018b (#12179)
          • add archive source_urls for Hadoop and Spark (#12220)
          • add missing Python build dep for SeqAn 2.4.0 (#12222)
          • add missing pkg-config build dependency to VCFtools 0.1.16 (#12245), GObject-Introspection-1.64.0 (#12298), libsndfile (#12303)
          • set $HTSLIB_DIR in HTSlib for use by EnsEMBLCoreAPI & Bio-DB-HTS (#12253)
          • bump JasPer version to latest 2.0.24 for 2020b generation of easyconfigs + remove easyconfigs for ancient JasPer 2.0.1.4 with GCCcore/10.2.0 (#12277, #12288)
          • bump pip to 20.3.4 in Python 2.7.18 easyconfig to fix unicode error (#12293)
          • skip sanity check test in IPython-7.18.1-GCCcore-10.2.0.eb (#12294)
          • add missing Perl and Autotools build dependencies in recent WRF easyconfigs (#12301)
          • add missing groff build dependency for Perl 5.30.0 and 5.32.0 (#12307)
          • add linkcomm + rnetcarto extensions to R v4.0.3 (#12311)
          • add dependency on Flask in all ASE v3.21.1 easyconfigs (#12312)
          • remove hard-coded -xHost from MMseqs2-11-e1a1c (#12317)
          • revised outdated easyconfigs for libcerf + replaced obsolete homepages and source urls (#12323)
          • consistently include new_archive source URL in Qt5 easyconfigs + add missing checksums (#12325, #12426)
          • fix source URL and add alternate checksum for Hypre 2.14.0 (#12337)
          • add patch for recent netCDF easyconfigs to fix MPI_Info_f2c issue with OpenMPI (#12340)
          • add SourceForge fallback source URL for recent freetype easyconfigs (#12341)
          • revert to Seaborn 0.10.1 as dependency for NanoPlot 1.33.0 (#12345)
          • use -D_USE_METIS_5p1 in OpenSees v3.2.0 patch to correctly build on top of METIS v5.1.0 (#12403)
          • make sure that path to eb is always found by tests (#12436)
          • stop tests changing the EasyBuild easyconfigs (#12454)
          • use pip to install pkgconfig 1.5.1 (#12455)
          • add CI test checking if the Python default source_urls are used and fix CI check where use_pip=False was ignored (#12456, #12471)
          • fix source URLs in Arrow 0.x easyconfigs (#12475)
          • fix numpy tests for recent SciPy-bundle easyconfig on POWER (#12481)
          • don't download hwloc during FIRESTARTER build (#12482)
          • avoid 0.0.0 install version for various Python apps (#12519, #12522)
          • enable USER_SDPD package and disable building docs in LAMMPS 3Mar2020 (#12527)
          • update $R_LIBS_SITE rather than $R_LIBS in easyconfigs installing R packages (#12534)
          • add Python 3 build dep for HMMER 3.3.x test step (#12536)
        • other changes:
          • rename opencv_contrib and update to OpenCV v3.4.1 with contrib versionsuffix (#12229)
          • fix minor style issues in POV-Ray v3.7.0.8 easyconfigs (#12342)
          • enable -fPIC for g2clib (#12349)
          • consistently include Keras-Applications and Keras-Preprocessing extensions in Keras 2.3.1 easyconfigs (#12375)
          • remove PYPI_SOURCE source URL from easyconfigs using PythonPackage or PythonBundle (#12541, #12452, #12453)
          • require sanity_pip_check for all Python package/bundles (#12464)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb433","title":"EasyBuild v4.3.3 (Feb 23rd 2021)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • advise PR labels in --review-pr and add support for --add-pr-labels (#3177)
          • add support for using customized HTTP headers in download_file (#3472, #3583)
          • also take toolchain dependencies into account when defining template values (#3541, #3560)
          • add support for --accept-eula configuration option + accept_eula easyconfig parameter (#3535, #3536, #3546)
          • detect SYSTEM toolchain as special case in easystack files (#3543)
          • enhance extract_cmd function to use cp -a for shell scripts (.sh) (#3545)
          • allow use of alternate envvar(s) to $HOME for user modules (#3558)
          • use https://sources.easybuild.io as fallback source URL (#3572, #3576)
          • add toolchain definition for iibff toolchain (#3574)
          • add %(cuda_cc_space_sep)s and %(cuda_cc_semicolon_sep)s templates (#3578)
          • add support for intel-compiler toolchain (>= 2021.x versions, oneAPI) (#3581, #3582)
        • various bug fixes, including:
          • add --init and --recursive options to git submodule update command that is used when creating source tarball for specific commit (#3537)
          • filter out duplicate paths in RPATH wrapper script (#3538)
          • don't clean up imported modules after verifying imports of included Python modules (#3544)
          • avoid no-op changes to $LD_* environment variables in ModulesTool (#3553)
          • fix UTF-8 encoding errors when running EasyBuild with Python 3.0.x-3.6.x (#3565)
          • create lib64 symlink as a relative symlink (#3566)
          • don't reuse variable name in the loop to fix adding extra compiler flags via toolchainopts (#3571)
          • symlink lib to lib64 if it doesn't exist (#3580)
          • include %(mpi_cmd_prefix)s and %(cuda_*)s templates in output of --avail-easyconfig-templates (#3586)
        • other changes:
          • rename EasyBlock._skip_step to EasyBlock.skip_step, to make it part of the public API (#3561)
          • make symlinking of posix_c.so to posix.so in test suite configuration conditional (#3570)

        easyblocks

        • 2 new software-specific easyblocks:
          • AOCC (#2295), Intel compilers (v2021.x, oneAPI) (#2305)
        • minor enhancements, including:
          • run motorBike tutorial case as sanity check for recent (community) OpenFOAM versions (#2201)
          • add foamMonitor to sanity checks of OpenFOAM (#2256)
          • create versioned symlinks for CMake commands + create symlink for cmake3 in PyTorch easyblock if cmake3 command is not found (#2259)
          • improve Bazel easyblock: add support for running tests, enable static linking, use build dir rather than tmpdir, verbose output (#2285)
          • add support for skipping steps in Python packages installed as extension + print progress on individual steps for installing Python packages as extensions (#2290)
          • update BerkeleyGW easyblock to support GCC 10 and fftlib (#2297)
          • update QuantumESPRESSO easyblock to support GCC 10 (#2298)
          • update Clang easyblock to add support for building extra tools + leveraging hwloc and Z3 as optional dependencies (#2310)
          • add support for running TensorFlow CPU and GPU tests (#2263, #2292, #2312)
          • update impi easyblock for impi 2021.x (oneAPI) (#2313)
          • update QuantumESPRESSO easyblock to handle v6.7 (#2319)
          • update OpenFOAM easyblock for changes in v2012 (#2321)
          • add sanity check commands to GCC (including LTO support) (#2322)
          • update FLUENT sanity check for v2021R1 (#2334)
        • various bug fixes, including:
          • filter out user packages in LAMMPS easyblock if corresponding dependency isn't included + only set -DUSER-INTEL on x86_64 systems (#2254)
          • unify handling of pylibdirs and don't add duplicated $PYTHONPATH in PythonBundle (#2281)
          • enhance Amber easyblock to fix running of update_amber script when python command is not available in OS (#2282)
          • guard module unload statements in modules for Cray* toolchains (#2286)
          • set $PYTHONNOUSERSITE in PythonBundle.extensions_step to avoid picking up on Python packages installed in $HOME (#2289)
          • create less temporary directories for TensorFlow by (only) using --output_user_root (#2293)
          • fix logic w.r.t. enabling Python support in PETSc (#2299)
          • make builddeps a list of names in SLEPc easyblock (#2300)
          • make builddeps a list of names in Trilinos easyblock (#2301)
          • make sure the installation of libiberty.a in the binutils easyblock goes into a populated directory (#2308)
          • fix for building GCC with --sysroot on ppc64le (#2315)
          • fix OpenFOAM sanity check on POWER (#2320)
          • use library search paths of compiler for RPATH when building binutils with system compiler + enhance sanity check by running --version for binutils commands (#2323, #2327)
          • pass $CXXFLAGS to PDT's configure script via -useropt (#2324)
          • pass down compilation flags from build environment for ESMF (#2325)
          • update URLs for test data for WRF to https (#2335)
          • read MATLAB configuration file in binary mode to avoid UTF-8 encoding errors when using Python 3.6 (#2340)
          • fix Boost sanity check on POWER (#2291) and aarch64 (#2341)
        • other changes, including:
          • rework module-only tests to use unique software name (rather than 'foo') (#2287)
          • prefer default value for extra options in easyblock tests (#2280, #2302)
          • add check for accepted EULA in custom easyblock for NVHPC (#2311)
          • update optional feature support of TensorFlow (#2314)
          • make symlinking of posix_c.so to posix.so in test suite configuration conditional (#2330)

        easyconfigs

        • add easyconfig for new iibff toolchain: iibff/2020b (#12185)
        • added easyconfigs for 6 new toolchains:
          • gobff/2020b (#12098), goblf/2018b (#6615), gomkl/2020b (#12198), iimkl/2018a (#6092), iomkl/2019b (#11981), iomkl/2020b (#12009)
        • added example easyconfig files for 72 new software packages:
          • AOCC (#11868), CHERAB (#7141), CaDiCaL (#11966), CellRanger-ARC (#12114), CuPy (#11749), DFA (#11979), FIGARO (#11924), FIRESTARTER (#12160), FIt-SNE (#8630), GPyTorch (#12010), GSEA (#10395), GetOrganelle (#11948), Glucose (#11965), GraPhlAn (#10707), ITSx (#10558), Kaleido (#11998), LAPACK (#6615), LSD2 (#11903), Lingeling (#11964), MPB (#7026), MiniCARD (#11963), MiniSat (#11962), NGSpeciesID (#11918), NanopolishComp (#11823), Nsight-Compute (#12043), Nsight-Systems (#12042), PHANOTATE (#8667), PIPITS (#10558), PyClone (#11940), PySAT (#12000), RNAmmer (#7262), Raysect (#7141), SICER2 (#12200), SOCI (#12045), SeisSol (#7194), SignalP (#11862), Stack (#11310), SuperLU_DIST (#11693), Teneto (#12056), Transformers (#12032), YANK (#11742), Z3 (#12013), bgen (#7456, #11867), bgen-reader (#7456, #11867), bpytop (#12040), byobu (#11932), chi2comb (#11867), cuTENSOR (#11914), dd (#11978), decona (#11891), dicom2nifti (#11955), eccodes-python (#12083), fftlib (#11944), flatbuffers-python (#12148), fpocket (#11980), gh (#11851), intel-compilers (oneAPI) (#11982), libGDSII (#7026), libpci (#11871), liknorm (#7456, #11867), limix (#7456, #11867), logaddexp (#11867), neptune-client (#11985), plinkQC (#12068), preCICE (#11886), py-aiger (#11999), py-aiger-bdd (#11999), pytest-xdist (#11883, #11893), samblaster (#7378), terastructure (#12197), typing-extensions (#11636), webin-cli (#8674)
        • added additional easyconfigs for various supported software packages, including:
          • ack 3.4.0, AmberTools 20, AMD-LibM 3.6.0-4, AMD-RNG 2.2, AMD-SecureRNG 2.2, annovar 20191024, ASE 3.21.1, AUGUSTUS 3.4.0, Bazel 3.7.2, bcgTree 1.1.0, BLAST+ 2.11.0, Bonito 0.3.5, Bowtie2 2.4.2, causalml 0.8.0-20200909, CGAL 5.2, ConnectomeWorkbench 1.4.2, CUDAcore 11.2.1, cuDNN 8.0.5.39, dcm2niix 1.0.20201102, DendroPy 4.5.2, DIAMOND 0.9.36 + 2.0.6, ecCodes 2.20.0, ELPA 2020.11.001, Emacs 27.1, FusionCatcher 1.30, gensim 3.8.3, GHC 8.6.5, gnuplot 5.4.1, GPAW 21.1.0, Graphviz 2.44.1, GROMACS 2020.5, Gurobi 9.1.0, HH-suite 3.3.0, HMMER 3.3.2, HTSlib 1.11, Horovod 0.21.1, imbalanced-learn 0.7.0, impi 2021.1.1, inferCNV 1.3.3, ITK 5.1.2, IQ-TREE 2.1.2, JasPer 2.0.24, JUBE 2.4.1, libgit2 1.1.0, libzip 1.7.3, likwid 5.1.0, MariaDB 10.5.8, medaka 1.2.0, Meep 1.6.0, mkl-service 2.3.0, MPICH 3.3.2, muParser 2.3.2, NanoComp 1.13.1, NanoPlot 1.33.0, networkx 2.5, NLTK 3.5, numba 0.52.0, NVHPC 20.11, nvtop 1.1.0, OpenCoarrays 2.9.2, OpenFOAM v2012, OpenJPEG 2.4.0, OpenMPI 4.1.0, parasail 2.4.2, PLUMED 2.6.2, PostgreSQL 13.2, pydicom 2.1.2, PyMC3 3.11.0, python-parasail 1.2.2, PyTorch 1.7.1, QIIME2 2020.11, QuantumESPRESSO 6.7, QuickFF 2.2.7, R 4.0.3, R-bundle-Bioconductor 3.12, ReFrame 3.4.1, RMBlast 2.10.0, RSEM 1.3.3, Salmon 1.4.0, scikit-build 0.11.1, SciPy-bundle 2020.03 w/ Python 2.7.18, Seaborn 0.11.1, SEPP 4.4.0, SHAPEIT4 4.2.0, SpaceRanger 1.2.2, Stacks 2.54, STAR 2.7.7.a, statsmodels 0.12.1, SuiteSparse 5.8.1, tbb 2020.3, TensorFlow 1.15.5 + 2.4.1, Theano 1.1.2, torchvision 0.8.2, V8 3.4.0, Wannier90 3.1.0
        • minor enhancements, including:
          • enable building of QtWebEngine in Qt5 easyconfig using foss/2017b or intel/2017b (#7302)
          • enable NVPTX offload in GCCcore 9.3.0 easyconfig (#11839)
          • also build shared library in recent HDF easyconfigs (#11847)
          • add support for HDF4 to GDAL v3.0.2 and v3.0.4 (#11855)
          • add patch for magma 2.5.4 with fosscuda/2019b to allow any sm_* value to be passed via GPU_TARGET (#11861)
          • add missing M4 build dependency to recent SuiteSparse versions (#11869)
          • enable tests for most recent Bazel versions (3.x) (#11894)
          • enable gipaw in QuantumESPRESSO 6.6 easyconfig (#11905)
          • add RCAL + sensemakr extensions to R 4.0.0 (#11921)
          • add additional extensions to R v4.0.3 easyconfig (#11922, #12057)
          • improve sanity_check_paths for AMD-LibM (#11933)
          • symlink include/lib subdirs + enhance sanity_check_paths for AMD-RNG v2.2-4 (#11934)
          • improve sanity_check_paths for AMD-SecureRNG (#11935)
          • update Clang 10+ dependencies & build extra tools (#12013)
          • add Inline extension to recent Perl easyconfigs (5.30+) (#12029)
          • add EnsDb.Hsapiens.v86 to Bioconductor 3.11 (#12078)
          • add sanity check command for bam-readcount v0.8.0 to check --version output (#12092)
          • add EnsDb.Hsapiens.v75 + Signac extensions to R-bundle-Bioconductor 3.12 (#12174)
          • add tensorboard profile plugin to recent TensorFlow 2.x easyconfigs (#12136, #12137)
        • various bug fixes, including:
          • added missing space in configopts in ParaView 5.8.0 easyconfigs using 2020a toolchain (#10989)
          • use bfd linker for glibc 2.30 (#11331)
          • add missing moduleclass in UCLUST easyconfig (#11477)
          • don't disable optarch for Clang 11.0.0 (#11814)
          • add patch to fix miscompilation bug on POWER for GCC 8.x and 9.x (#11837)
          • fix compilation of TensorFlow 2.3.1 with CUDA and glibc 2.26 on POWER (#11859)
          • disable building of manpages for GDCM to fix installation problem with docbook (#11866)
          • add patch for LLVM 6.0.0 to fix missing exported symbol LLVMInitializeInstCombine (#11873)
          • fix name of source file for GDRCopy v2.1 (#11887)
          • fix Tombo to work with rpy2 v3 when creating DataFrames (#11892)
          • fix GCCcore 8.1.0 w.r.t. removed sys/ustat.h in glibc 2.28 (#11896)
          • add git as a dependency to GitPython version 3.x (#11902)
          • fix undefined __ieee128 on ppc64le with glibc 2.26 for magma (#11930) and PyTorch (#11936)
          • update Hypre git location for PETSc 3.11.0 using downloaded dependencies (#11947)
          • fix source URL in expat easyconfigs (and consistently add custom sanity_check_paths) (#11960)
          • use libpng provided by EasyBuild in VTK to fix build issue on ppc64le (#11990)
          • add missing pkg-config build dependency for GObject-Introspection v1.66.1 (#11949)
          • add missing plotly-orca dependency for NanoPlot (#11967, #12015)
          • add patch for Boost 1.74.0 to fix missing include file (#12007)
          • fix for error: 'runtime_error' is not a member of 'std' in qtlocation for Qt5 v5.14.2 (#12012)
          • fix homepage for gnuplot 5.2.8, use http:// since homepage is not reachable via https:// (#12047)
          • fix OS dependencies for libfabric (#12058)
          • fix vector mul and div with broadcasts in -masm=intel mode in GCCcore v9.3.0 (#12065)
          • add missing ESMF dependency in NCO easyconfigs (#12071, #12072)
          • add patch to fix version for bam-readcount 0.8.0 (#12075)
          • add missing Perl build dep for (recent) libcerf versions, required for pod2html command (#12085)
          • add missing bzip2 dependency to recent ncbi-vdb easyconfigs (#12120)
          • add missing Perl build dependency for BLIS 0.8.0 (#12146)
          • use https://sources.easybuild.io as fallback source URL for UDUNITS (#12049, #12156, #12182)
          • correct the GCC version check to allow IBM VSX builds of GROMACS 2020.4 and 2020.5 (#12159)
          • add missing mkl-service dependency for Theano built with intel/2019b + enhance sanity check (#12172)
          • add patches to fix test problems with p4est 2.2 (#12028)
          • fix build of Bison using older system GCC (v4.x) (#12203)
          • fix lack of optimisation for SHAPEIT4 v4.1.3 (#12206)
          • add missing gnuplot dependency for OpenFOAM from v2.4.0 to v6 (#11801, #12208)
          • fix source URL for libspatialite (#12213)
          • add archive fallback source URL to MAGMA easyconfigs (#12214)
          • fix checksum for patch in make 4.2.1 easyconfig using GCC/7.3.0-2.30 (#12223)
        • other changes:
          • replace easyconfigs for bpp-core/bpp-phyl/bpp-seq v2.4.1 with a single easyconfig for BioPP v2.4.1 (using Bundle easyblock) (#11609)
          • add CESM-deps to whitelist in check for custom sanity_check_paths (#11916)
          • include '-4' in version for AMD-SecureRNG v2.2-4 (#11934, #11935)
          • switch to using python-parasail and tqdm dependencies in Bonito easyconfigs (#11937)
          • rename orca to plotly-orca (#12015)
          • remove duplicate extensions in R 3.5.x easyconfigs, and add test to detect such issues (#12059)
          • remove Python dependency from ecCodes v2.17.0 since it doesn't provide Python bindings (#12084)
          • update Java/1.8 wrapper to Java 1.8.0_281 (#11928, #12088)
          • update Bison (build) dependency for flex built with system compiler to v3.5.3 (#12111)
          • make symlinking of posix.so in test suite configuration conditional (#12123)
          • move make 4.3 easyconfigs to GCCcore toolchain (#12166)
          • move most recent BLIS and libFLAME easyconfigs from GCC to GCCcore (#12168)
          • rename SNAP to SNAP-HMM and update easyconfig (#12218)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb432","title":"EasyBuild v4.3.2 (December 10th 2020)","text":"

        bugfix/update release

        framework

        • add (experimental) support for specifying easyconfig files via an \"easystack\" file (#3479, #3511, #3515, #3517, #3520, #3521)
          • see also https://easybuild.readthedocs.io/en/latest/Easystack-files.html
        • add definition for new gobff toolchain using BLIS and LibFLAME (#3505)
        • various enhancements, including:
          • add support for toolchain options like extra_cxxflags to specify extra compiler options (#2193)
          • fix combination of --copy-ec and --from-pr (#3482)
          • enhance copy_files function: support single file target, error on empty input list, support verbose mode (#3483)
          • cache result of fetch_files_from_pr function (mainly to speed up framework test suite) (#3484)
          • add locate_files function to filetools module (#3485)
          • add support for %(module_name)s template value (#3497)
          • clarify input format for --cuda-compute-capabilities in eb --help output (#3509)
          • add support for skipping unit tests (test step) via --skip-test-step (#3524)
        • various bug fixes, including:
          • also ignore vsc.* imports coming from from pkg_resources/__init__.py (setuptools) in fake vsc namespace (#3491)
          • don't pass username in github_api_get_request when no GitHub token is available (#3494)
          • also inject -rpath options for all entries in $LIBRARY_PATH in RPATH wrappers (#3495)
          • avoid TypeError being raised by list_toolchains (#3499)
          • check if PR is already merged in --merge-pr (#3502)
          • graciously handle wrong PR id in fetch_pr_data (#3503)
          • fix regression in apply_regex_substitutions: also accept list of paths to patch (#3507)
          • update installation procedure for EasyBuild in generated Singularity container recipes (#3510)
          • fix GitHub Actions workflow for test suite: run outside of repo checkout + also test bootstrap script with Python 3.9 (#3518)
          • bump cryptography from 2.9.2 to 3.2 for Python 2 in requirements.txt (#3519)
          • fix eb --help=rst when running with Python 3 (#3525)
        • other changes:
          • exclude test configurations with Lmod 7 and Python 3, except for Python 3.6 (#3496)
          • significantly speed up parsing of easyconfig files by only extracting comments from an easyconfig file when they're actually needed (#3498)
          • don't include file/ldd/readelf commands run during RPATH sanity check in --trace output (#3508)

        easyblocks

        • 2 new software-specific easyblocks:
          • code-server (#2255), Metagenome-Atlas (#2219)
        • minor enhancements, including:
          • add -fallow-argument-mismatch option when building CP2K 7.1 or older with GCC 10.x (#2223)
          • update TensorFlow easyblock for upcoming TensorFlow 2.4 (#2225)
          • add support for building Clang with OpenMP offload support (#2229)
          • enhance OpenMPI easyblock to catch any --with-ucx* configure options (#2230)
          • take into account preinstallopts and installopts in custom easyblock for NCL (#2234)
          • add support for withnvptx easyconfig parameter, to enable GPU offloading, in GCC easyblock (#2235)
          • take into account versions like 4.x in OpenFOAM easyblock (#2239)
          • also add bin subdir to $PATH when installing a Python package (#2244)
        • various bug fixes, including:
          • fix two bugs in GROMACS easyblock when using GCC & MKL for FFT and BLAS/LAPACK (#2212)
          • fix version check in Qt5 easyblock w.r.t. disabling features on old Linux kernel versions (#2220)
          • always define $FCCPP in QuantumESPRESSO easyblock (not just when using Intel compilers) (#2221)
          • allow wxPython to be installed as an extension (#2227, #2275)
          • only configure Python with --enable-optimizations when compiling Python with (recent) GCC compiler (#2228)
          • fix sanity check for Boost MT libraries (#2231)
          • fix hardcoded path in NVHPC easyblock to support multiple architectures (#2233)
          • fix CPASSERT test faults on RHEL8 in CP2K easyblock (#2236)
          • stop silently ignoring failing numpy tests, but include support for ignoring (failing) numpy tests (#2238, #2271)
          • append to module guesses in easyblocks for Chapel, icc, imkl and impi (rather than overwriting guesses from parent easyblock) (#2242)
          • weed out duplicates when determining paths to include-fixed subdirectory in GCC easyblock (#2245)
          • prepend all hardcoded /usr/* paths with sysroot in Python's setup.py installation script (#2246)
          • don't try to patch newer versions of Bazel where the patches won't apply (#2249)
          • fix setting of $RUNPARALLEL in HDF5 easyblock (#2250)
          • move --build and --host logic to run_configure_cmd in GCC easyblock (#2252)
          • set $UCX_TLS in module for impi installation on top of UCX, and allow it to be overwritten in impi easyconfig file (#2253, #2258)
          • enhance PyTorch easyblock to ensure it finds MKL (via $MKLROOT) (#2257)
          • use integer division to determine number MPI ranks to use in WRF test step (#2266)
          • also specify locincpth and glibpth configure options for Perl based on --sysroot (#2268)
        • other changes, including:
          • add link to GCC mailing list thread confirming that binutils should not be configured with --with-sysroot=$EASYBUILD_SYSROOT when GCC is being configured like that (#2215)
          • pass paths to patch one by one to apply_regex_substitutions in GCC easyblock when --sysroot is set (#2217)
            • workaround for regression in apply_regex_substitutions introduced in EasyBuild v4.3.1 (which was fixed for v4.3.2)

        easyconfigs

        • add easyconfigs for new gobff toolchain: gobff/2020.11 + gobff/2020.06-amd (#11761)
        • add easyconfigs for updates of common toolchains: foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b
          • see also https://easybuild.readthedocs.io/en/latest/Common-toolchains.html
        • added example easyconfig files for 41 new software packages:
          • alsa-lib (#11658), assimp (#11759), BioServices (#11602), carputils (#11270), cctools (#11799), code-server (#11778), CRISPResso2 (#11775), elfutils (#11783), EMU (#11641), fgbio (#11519), Flink (#11747), FreeSASA (#11699), Geant4-data (#11610), geocube (#11714), IPM (#11768, #11772), libmicrohttpd (#11783), libStatGen (#7982), libzeep (#11687), LLDB (#11822), meshalyzer (#11270), meshtool (#11270), Metagenome-Atlas (#11620), MLxtend (#11601), MRChem (#11604), MRCPP (#11579), mxml (#11769), mxmlplus (#11771), nanocompore (#11690), neon (#11797), Open-Data-Cube-Core (#11713), OpenSees (#11613), PEST++ (#11565), pyFAI (#11849), pymca (#11848), RE2 (#11718), scikit-bio (#11660), SpaceRanger (#11776), SplAdder (#11607), SWAT+ (#11615), velocyto (#11744), WCT (#11779)
        • added additional easyconfigs for various supported software packages, including:
          • BBMap 38.87, Boost 1.74.0, CUDA 11.1.1, CellRanger 5.0.0.eb, CheckM 1.1.3, Clang 11.0.0, cuDNN 8.0.4.30, DMTCP 2.6.0, FDS 6.7.5, FFmpeg 4.3.1, GROMACS 2020.4, Geant4 10.6.2, Ghostscript 9.53.3, GitPython 3.1.9, GlobalArrays 5.8, HDF5 1.10.7, h5py 3.1.0, hypothesis 5.41.5, JasPer 2.0.16, LittleCMS 2.11, libedit 20191231, libyaml 0.2.5, MPFR 4.1.0, magma 2.5.4, matplotlib 3.3.3, NCCL 2.8.3, NLopt 2.6.2, Nextflow 20.10.0, netCDF-Fortran 4.5.3, OpenBLAS 0.3.12, OpenMolcas 20.10, Pillow 8.0.1, PnetCDF 1.12.1, PyYAML 5.3.1, packmol 20.2.2, protobuf 3.14.0, psycopg2 2.8.6, pybind11 2.6.0, pycocotools 2.0.2, Qt5 5.14.2, RAxML-NG 1.0.1, RSeQC 4.0.0, rioxarray 0.1.1, SCOTCH 6.1.0, SciPy-bundle 2020.11, SentencePiece 0.1.94, StringTie 2.1.4, SuperLU 5.2.2, scikit-learn 0.23.2, snakemake 5.26.1, tqdm 4.51.0, vsc-mympirun 5.2.5, x264 20201026
        • minor enhancements, including:
          • add extension to R-bundle-Bioconductor 3.11: snpStats (#11586), SCANVIS (#11638)
          • add extensions to R 4.0.0: coloc, Exact, lmom, gld, DescTools (#11587); nlsem (#11733); mitools, survey, tableone, jstable (#11841)
          • add gxmapi extension (Python bindings) to GROMACS 2020.4 (#11640)
          • add missing extensions for QIIME2 to Perl 5.30.2 and 5.32.0 easyconfigs (#11654)
          • enable NVPTX offload support in GCCcore 10.2.0 easyconfig (#11720)
        • various bug fixes, including:
          • prevent Minimac4 easyconfig from downloading libStatGen from GitHub (#7982)
          • limit build parallelism for RAxML-NG to avoid build failure (#10363)
          • fix source_urls in Geant4 easyconfigs (#11596)
          • add alternate checksum for extensions in R easyconfigs: KernSmooth (#11600), codetools (#11616, #11736)
          • fix BBMap version check in FusionCatcher v1.20 (#11608)
          • add patch for TensorFlow 2.3.1 to fix installation on Arm64 (#11614)
          • add patch for GCCcore 10.2 to fix __has_include regression (#11627)
          • change default bitmaptype for IRkernel to cairo (#11645)
          • set $JUPYTER_PATH to make Jupyter find the ipywidgets extension in recent IPython easyconfigs (#11649)
          • add missing dependencies + fix moduleclass in CheckM easyconfigs (should be bio) (#11662)
          • use Python 2 build dep for nodejs 12.19.0 (#11679)
          • use correct OS deps in UCX (#11702)
          • in-place update to magma 2.5.4 for PyTorch 1.2.0 (#11723)
          • in-place update to magma 2.5.4 for PyTorch easyconfigs using fosscuda/2019b toolchain (#11726)
          • add missing Java dep to Prokka (#11732)
          • add patch to fix possible memory leak in OpenBLAS 0.3.3+ (#11745)
          • do not treat warnings as errors in Java v1.8_191-b26-OpenJDK (POWER) (#11755)
          • add missing PEAR dependency in easyconfig for GBprocesS v2.3 + enhance sanity check (#11767)
          • add missing gnuplot dependency in OpenFOAM easyconfigs (#11770, #11800)
          • consistently add Java as a dep for prokka 1.14.5 (#11782)
          • stick to http download URL in fetchMG easyconfig (https doesn't work) (#11788)
        • other changes:
          • rename XCfun to XCFun (#11603)
          • rename ambiguous Ray easyconfigs to Ray-assembler and Ray-project (#11727)
          • change 'rstudio' name to 'RStudio-Server' to agree with official name and better reflect what it provides (#11764)
          • rename Sumo to SUMO for consistency (#11791)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb431","title":"EasyBuild v4.3.1 (October 29th 2020)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • further GCC toolchain fixes for aarch64 (#3433)
          • take into account --include-easyblocks-from-pr when uploading test reports (#3446)
          • add path to pkg-config files in sysroot to $PKG_CONFIG_PATH when --sysroot is specified (#3451)
          • add support for NVHPC compiler + toolchain (based on PGI) (#3454)
          • check for _VERSION and _PREFIX Cray environment variables with both software and module name (#3460)
          • allow including easyblocks from multiple PRs (#3480, #3481)
        • various bug fixes, including:
          • avoid UnicodeDecodeError in apply_regex_substitutions when patching files that include non-UTF-8 characters (#3450)
          • avoid appending lib stubs pattern to RPATH filter over and over again (#3452)
          • fix missing string template on error for incorrect extension sources value (#3461)
          • fix compatibility with Python 3.9 by renaming fancy root logger (#3465)
          • also remove empty checksums list specified in easyconfig file when using --inject-checksums (#3466)
          • avoid confusing error log message when determining impi version while trying to define value for %(mpi_cmd_prefix)s template (#3474)
          • unset $LD_LIBRARY_PATH when checking for OS dependencies with rpm & co (#3477)
          • don't change directory in download_repo function in tools.github (#3486)
          • take source_urls, checksums, patches into account when extension source is specified via sources (#3487)
        • other changes:
          • consider $EB_INSTALLPYTHON in eb command to specify python command to use for running EasyBuild (#3428)
          • use only the sub folder name for createSubmoduleDeps script (#3464)

        easyblocks

        • 2 new software-specific easyblocks:
          • CFDEMcoupling (#1439), NVHPC (#2190)
        • minor enhancements, including:
          • support having PyQt5 installed as part of Qt5 in QScintilla easyblock (#2040)
          • update TensorFlow easyblock to put Bazel build files in build directory + avoid unnecessary runtime patching (#2166)
          • update CBLAS easyblock for toolchains that include imkl (#2175)
          • add workaround for duplicate prefix path in Eigen CMake config (#2176)
          • enable CTEST_OUTPUT_ON_FAILURE for CMakeMake test step (#2181)
          • add XLA build support to TensorFlow easyblock (#2182)
          • also consider libfabric dep (--with-ofi) when setting default OpenMPI configure options (#2184)
          • make easyblock for installing CMake aware of --sysroot (#2187)
          • make OpenBLAS respect the parallelism set by easybuild (#2191)
          • handle option of building Michigan State University CCT3 & CCSD3A methods in GAMESS_US easyblock (#2194)
          • add support to RubyGem easyblock for installing zipped gems (#2203)
          • update ScaLAPACK easyblock to support installation with CMake for recent versions (>= v2.1.0) (#2205)
          • update Score-P easyblock to add support for NVHPC toolchain (#2206)
        • various bug fixes, including:
          • add torch/lib subdirectory in Python lib dir to $LD_LIBRARY_PATH for PyTorch installations (#2183)
          • update MUMmer easyblock to use apply_regex_substitutions and copy_file functions (#2185)
          • configure OpenMPI 4.x with --without-verbs when using UCX (#2188)
          • take into account that zlib may be listed in --filter-deps in custom easyblock for XML R package (#2189)
          • add sanity check commands to Clang easyblock and print warning for missing ncurses (#2193)
          • enhance OpenFOAM easyblock to add symlinks for libraries to ensure mpi versions have preference over dummy versions (#2196)
          • leverage installed OpenSSL/BoringSSL when cURL is used as a dependency for TensorFlow (#2197)
          • add -ffree-line-length-none to gfortran flags in Siesta easyblock (#2204)
          • respect --disable-mpi-tests in Siesta easyblock (#2207)
        • other changes, including:
          • set $EB_INSTALLPYTHON in module generated for EasyBuild rather than setting $EB_PYTHON, to allow overriding Python command to be used for running EasyBuild with $EB_PYTHON (#2109)
          • remove unused custom easyblock for DIRAC (#2192, #2198)

        easyconfigs

        • added easyconfigs for 2 new toolchains:
          • fosscuda/2020a (#11424) and intelcuda/2020a (#11425)
        • added example easyconfig files for 75 new software packages:
          • Bsoft (#6551, #11537), causallift (#11436), CAVIAR (#11158), CCfits (#11505), Cereal (#11506), CFDEMcoupling (#6465), Check (#11295), chewBBACA (#11418), COMSOL (#11513), CUDAcore (#11295), Dalton (#5808), DIRAC (#11414), ESMValTool (#6329), eSpeak-NG (#11236), ExifTool (#11521), FabIO (#11517), festival (#11236), fetchMG (#11283), FHI-aims (#11198), Flexbar (#11305), FRUIT (#6613), FRUIT_processor (#6631), Gaussian (#4247), GBprocesS (#11512), GDRCopy (#11295), Genome_Profiler (#6066), groff (#11200), ILAMB (#11309), kedro (#11436), leidenalg (#11407), libav (#6194), libmo_unpack (#6329), libobjcryst (#11321), makeinfo (#11368), mauveAligner (#11395), MBROLA (#11236), MDSplus-Java (#10705), MDSplus-Python (#10705), MyCC (#11283), nanomax-analysis-utils (#11517), Nek5000 (#6408), NVHPC (#11391), OPERA-MS (#11410), ORFfinder (#7031), phonemizer (#11236), Pingouin (#11280), Pint (#11151), pydantic (#11151), pyobjcryst (#11321), PyOpenCL (#11517), pyspoa (#11438), QtPy (#11517), Qtconsole (#11517), rasterio (#11468), rasterstats (#11468), ReMatCh (#6067), Ruby-Tk (#6613), SBCL (#11413), scikit-uplift (#11432), SDL (#6202), SDL2 (#6203), SDL2_image (#6203), SDL_image (#6202), SeqKit (#11538), silx (#11517), SiNVICT (#11404), sonic (#11236), speech_tools (#11236), Statistics-R (#11274), SUMO (#11435), tidybayes (#11335), treatSens (#11431), tsne (#11283), wandb (#11450), WisecondorX (#11399)
        • added additional easyconfigs for various supported software packages, including:
          • ABINIT 9.2.1, ASE 3.20.1, Autotools 20200321, Bazel 3.6.0, Biopython 1.78, CCL 1.12, CMake 3.18.4, CUDA 11.0.2, cURL 7.72.0, deepdiff 5.0.2, fmt 7.0.3, GATK 4.1.8.1, GLib 2.66.1, GROMACS 2020.3, GTK+ 3.24.23, git 2.28.0, HMMER 3.3.1, Horovod 0.20.3, ICU 67.1, IPython 7.18.1, ichorCNA 0.3.2, JupyterHub 1.1.0, JupyterLab 2.2.8, LLVM 11.0.0, libarchive 3.4.3, libcircle 0.3, libevent 2.1.12, libfabric 1.11.0, libglvnd 1.3.2, libunwind 1.4.0, libxcb 1.13, MAFFT 7.471, MDSplus 7.96.12, MEGAHIT 1.2.9, MMseqs2 11-e1a1c, Mako 1.1.3, Mesa 20.2.1, Meson 0.55.3, medaka 1.1.3, mpifileutils 0.10.1, NASM 2.15.05, NSPR 4.29, NSS 3.57, Ninja 1.10.1, nettle 3.6, nglview 2.7.7, nodejs 12.19.0, OpenImageIO 2.1.12.0, OpenRefine 3.4.1, OpenSSL 1.1.1h, PCRE2 10.35, PSI4 1.3.2, Pango 1.47.0, PyGEOS 0.8, PyOpenGL 3.1.5, PyQt5 5.15.1, PyQtGraph 0.11.0, PyRETIS 2.5.0, Python 3.8.6, pandas 1.1.2, phonopy 2.7.1, picard 2.22.1, pixman 0.40.0, protobuf 3.13.0, pyEGA3 3.4.0, pytest 6.0.1, ReFrame 3.2. re2c 2.0.3, SAMtools 1.11, SCons 4.0.1, SQLite 3.33.0, Spyder 4.1.5, Subversion 1.14.0, sbt 1.3.13, spglib-python 1.16.0, spoa 4.0.0, TINKER 8.8.1, TRIQS 3.0.0, Taiyaki 5.1.0, TensorFlow 2.3.1, Tkinter 2.7.18 + 3.8.6, torchvision 0.7.0, UCX 1.9.0, V8 3.2.0, VirtualGL 2.6.2, vsc mympirun 5.2.0 X11 20201008, XGBoost 1.2.0, XZ 5.2.5, Xerces-C++ 3.2.3, xarray 0.16.1, ZeroMQ 4.3.3, zstd 1.4.5
        • minor enhancements, including:
          • use more EasyBuild installed dependencies for TensorFlow 2.2.0 (#11224)
          • add additional extensions to R 4.0.0 easyconfig (#11340, #11430, #11487)
          • add additional extensions to Bioconductor 3.11 bundle (#11341, #11488)
          • make libtirpc easier to use as replacement of rpc in glibc (for RHEL8) (#11355)
          • add libevent, libfabric and PMIx dependencies to OpenMPI 4.0.3 (for foss/2020a & iomkl/2020a) (#11387, #11568)
          • build LibTIFF with -fPIC (#11527)
          • update Java/1.8 wrapper to also support aarch64 (#11545)
        • various bug fixes, including:
          • add Python 3 as build dep for Xvfb 1.20.8 easyconfigs (#10745)
          • patch out bug in collective primitive in TensorFlow 2.2.0 (#11175)
          • add missing groff build dependency for Perl (provides nroff tool requires to install man pages) (#11200)
          • add pocl dependency to GDAL easyconfig using fosscuda/2019b toolchain to make sure it builds on POWER (#11273)
          • add libtirpc as a build dep for HDF to fix installation on RHEL8 (#11279)
          • fix build problems with make 4.2.1 on RHEL8 (#11282, #11371)
          • change $LIBS in Ghostscript 9.27 easyconfig to include location of zlib library to link with (#11291)
          • remove --no-dist-info configuration option for SIP in recent PyQt5 easyconfigs (#11307)
          • make sure correct zlib is used in recent Ghostscript easyconfigs (#11319)
          • remove GLog and GFlags from PyTorch 1.2.0 (#11327), 1.3.1 (#11325), 1.4.0 (#11322) and 1.6.0 (#11323)
          • use PyTorch easyblock for PyTorch 1.3.1 (#11325)
          • add missing git build dependency for OpenImageIO 2.0.12 (#11328)
          • fix HDF 4.2.14 easyconfigs for RHEL8 (#11330)
          • add patch to fix installation of LAMMPS 7Aug2019 on AMD Epyc systems (#11334)
          • fix dependency on Bowtie of v0.x in seq2HLA easyconfigs (#11339)
          • fix installation of Hadoop v2.10.0 on RHEL8 (#11358)
          • add patch to fix installation of Sailfish v0.10.1 on RHEL8 (#11364)
          • add patch to fix installation of FuSeq v1.1.2 on RHEL8 (#11365)
          • fix installation of Qt5 5.14.1 on top of zlib provided by Gentoo + stick to Python 2 as build dep (#11385, #11386)
          • add patch for LAME configure script to make it check for correct ncurses symbol (#11388)
          • add protobuf-python as a dependency and corresponding sanity check to PyTorch 1.6 (#11390)
          • fix Multiwfn 3.6 installation on RHEL8 (#11402)
          • fix OpenFOAM 2.3.1 installation with intel/2019b on RHEL8 (#11409)
          • fix broken worker easyconfigs (#11412)
          • add ncurses runtime dependency to Clang easyconfigs (#11415, #11416, #11419, #11472)
          • fix installation of Bioconductor 3.11 bundle on aarch64 (#11417)
          • add patch to libunwind fixing a failure on POWER (#11421)
          • fix infinite loop build bug on ppc64le for R 4.0.0 (#11428)
          • fix compilation of Qt5 v5.12.3 and v5.13.1 on Ubuntu 20.04 (#11434)
          • fix PyVCF easyconfig, only supports Python 2 (#11437)
          • add patches to fix miscomputation (on POWER) and performance issues for OpenBLAS (#11443, #11444, #11445)
          • add missing DB dependency (required for DB_File) to easyconfigs for Perl (#11451, #11452)
          • fix dbarts extension in R v4.0.0 easyconfigs for non-x86_64 (#11453)
          • use Homebrew source mirror to auto-download sources for DB v18.1.25 and v18.1.32 (#11454)
          • add missing UnZip dependency for Python 3.8.2 (#11458)
          • add support for building OpenBLAS on ARM TSV110 with GCC 8.3 (#11464)
          • allow Kent_tools to build when MySQL installed at the OS level (#11471)
          • add missing moduleclass to easyconfigs for:
            • Arlequin 3.5.2.2 (#11473), MEGAHIT 1.2.8 (#11474) and 1.2.9 (#11475), PyCUDA 2019.1.2 (#11476)
          • fix source for SQLite 3.31.1 (#11483)
          • fix installation of worker 1.6.11 with intel/2019b on RHEL 8.2 (#11498)
          • fix checksum in NAMD 2.12 easyconfigs + add source URL (#11515)
          • add BLAS/LAPACK check to GPAW patch adding EasyBuild configuration files (#11523)
          • backport fixes for Score-P v6.0 (#11540)
          • add XZ build dep to easyconfigs for libarchive v3.4.0 and v3.4.2 (#11561)
          • add patch for OpenMPI 3.1.4 adding device parameters for ConnectX-6 (#11575)
        • other changes:
          • update README on constructing source file for MATLAB (#6341)
          • remove easyconfigs for Taiyaki that depend on PyTorch 1.3.1, since latest version still requires PyTorch 1.2.0 (#11301)
          • make CI error messages less confusing (\"is\" -> \"should be\") (#11314)
          • remove extensions from R-bundle-Bioconductor 3.11 easyconfigs that are also included in R 4.0.0 (#11429)
          • cache M4 source tarball to avoid test failures because of download problems (#11469)
          • rename jupyterhub to JupyterHub (#11571)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb430","title":"EasyBuild v4.3.0 (September 13th 2020)","text":"

        feature release

        framework

        • various enhancements, including:
          • add script to create sources entries for git submodules (#3369, #3436)
          • add templates for CUDA compute capabilities (#3382)
            • %(cuda_compute_capabilities)s, %(cuda_sm_comma_sep)s, %(cuda_sm_space_sep)s
          • add EasyBuild configuration option --generate-devel-module (#3388)
            • to allow disabling generating of \"devel\" modules via --disable-generate-devel-module
          • set up a minimal build environment when using system compiler (#3399)
            • by default, $CC is set to gcc and $CXX is set to g++ when using system toolchain
            • minimal build environment can be customized via --minimal-build-env configuration option
          • add --sysroot configuration option to specify alternative location of system root (#3419)
            • this is useful when installing software in a Gentoo Prefix environment (for example)
        • various bug fixes, including:
          • allow including easyblocks from multiple locations, by combining --include-easyblocks and --include-easyblocks-from-pr (#3311)
          • also escape backslashes in quote_py_str() (#3386)
          • use one argument module swap statements in Tcl modulefiles (required by Modules 4.2.3+) (#3397)
          • fix copying of (non-existing) file with apply_patch (#3400)
          • create symlink from lib64 to lib subdir in installation directories to avoid that GCC prefers /lib64 system directories (#3401)
          • fix default value for lib64_fallback_sanity_check build option (#3402)
          • correctly determine commit status in --merge-pr (#3406)
          • stop installing ccache wrapper for Fortran compiler (#3409)
          • fix issues with applying PR patch in --from-pr (#3414)
          • make RPATH wrapper script more robust by using python -E -s -S to run rpath_args.py (#3422)
          • don't inject -Wl,-rpath options when -x c++-header compiler option is used (#3424)
          • fix lack of -mno-recip on aarch64 by tweaking GCC options used when precise toolchain option is enabled (#3425)
          • make sure self.start_dir is set in ExtensionEasyBlock (#3426, #3435)
          • exclude local variables from typo check in easyconfig files (#3427)
        • other changes:
          • stick to cryptography 2.9.2 when using Python 2.7 to avoid broken test suite in CI (#3392)
          • automatically enable --ignore-locks with --fetch (#3404)
          • switch to status badge based on tests run in GitHub Actions CI in README (#3415)
          • make flake8 code style checks pass (#3416, #3417)
          • limit Travis to only test with Python 2.6 + Lmod 7 (#3418)
          • ignore deprecation warning raised for cryptography when using Python 3.5 produced by output of test suite (#3423)

        easyblocks

        • 2 new software-specific easyblocks:
          • pybind11 (#2115), PyTorch (#2104)
        • minor enhancements, including:
          • update MATLAB easyblock to use new binary installer for versions >= 2020a (#2058)
          • add use_pip_requirement custom easyconfig parameter to PythonPackage easyblock to allow providing a requirements file to the pip command, as a source (#2064)
          • update CP2K easyblock for recent versions (>= 7.0) (#2069)
          • add multi_deps support into custom easyblock for QScintilla (#2077)
          • update Mothur easyblock for v1.44.0 and higher (#2084)
          • update MotionCor2 easyblock to add support for v1.3.2 (#2100)
          • update Tinker easyblock to handle skipping of tests depending on version and link with fftw_omp (#2102)
          • launch test & sanity check commands through mpirun for netcdf4-python if MPI support is enabled (#2106)
          • check for installation of pip & setuptools in Python 3.4+ (#2108)
          • update QuantumESPRESSO easyblock to support version 6.6 (#2112)
          • allow NAMD to be built on POWER, and also use the CUDA arch info (#2113, #2123)
          • update Libint easyblock for versions >= 2.6.0 + add custom easyconfig parameter to enable Fortran support (#2116)
          • update TensorFlow easyblock to use system/EasyBuild installed libraries (#2117, #2165, #2163, #2172)
          • add support in NAMD easyblock to pass additional C++ compiler options for building Charm++ component with + wrap them in single quotes (#2118)
          • automatically add required -G Ninja option when using CMakeNinja easyblock + add generator custom easyconfig parameter for CMakeMake (#2120)
          • make several easyblocks aware of --sysroot EasyBuild configuration option: binutils (#2147, #2159), CMakeMake (#2152), GCC (#2143), Perl (#2142), Python (#2148, #2149)
          • make Mesa easyblock aware of aarch64 (#2153)
          • enhance sanity check in custom Doxygen easyblock to catch broken installation (#2171)
        • various bug fixes, including:
          • make TensorFlow easyblock ignore the PKG_REVISION identifier if NCCL version if it exists (#2085)
          • remove version check against the version.txt file in CUDA easyblock (#2097)
          • add lib symlink in tbb installation directory when building from source (#2103)
          • handle GNUInstallDirs special cases in CMakeMake easyblock (#2105, #2124)
          • patch ELPA's manual_cpp script to fix hardcoded /usr/bin/python (#2107)
          • make TensorFlow easyblock also set $GCC_HOST_COMPILER_PREFIX to specify binutils location (#2110)
          • ensure stand-alone Python package being installed is in view when running pip check by loading fake module first (#2114)
          • be more patient when running interactive configure script for WRF (#2119)
          • make sure self.start_dir is set to a full path before constructing installation command in RPackage easyblock (#2125)
          • correctly check whether modinc easyconfig parameter is set to True in CP2K easyblock (#2138)
          • update PSI easyblock to correctly find Python and enable PCMSolver/CheMPS2 (#2141)
          • fix running GROMACS tests when using eb --rpath (#2144, #2154)
          • remove existing Python installation directory if both eb --rpath and --enable-optimizations configuration option are used (#2146)
          • ensure libQt5Core.so is compatible with older Linux kernels by disabling renameat2 and getentropy features (#2151)
          • solve issue where pybind11 picks up on the system Python instead of one provided by a module (#2158)
          • fix Qt5 easyblock to support installation on Arm/aarch64 (requires platform to be linux-g++) (#2160)
          • fix OpenFOAM easyblock to support installation on Arm/aarch64 systems (#2162)
          • explicitly enable/disable CUDA options in PyTorch easyblock + fix download check in sanity check + fix for disabling of *NNPACK on POWER systems (#2164)
          • fix sanity check in Mathematica easyblock for 11.x versions older than 11.3 (#2168)
          • unset $COLUMNS if it is set to 0 before running Perl's configure script (#2169)
        • other changes:
          • filter out Python in SLEPc configure (#2101)
          • switch to status badge based on tests run in GitHub Actions CI in README (#2126)
          • fix code style issues to make flake8 checks pass (#2128 - #2137, #2140, #2145, #2155)
          • limit test configurations in Travis CI to only Python 2.6 (#2139)

        easyconfigs

        • added easyconfigs for 2 new toolchains:
          • gomkl/2020a and iomkl/2020a (#11036)
        • added example easyconfig files for 49 new software packages:
          • almosthere (#11152), arcasHLA (#10867), BioPP (#11113), Bracken (#10829), BUFRLIB (#11140), Calib (#11111), CellRanger-ATAC (#11186), edlib (#10470, #11246), flatbuffers (#11109), gengetopt (#11117), graphite2 (#11168), HeFFTe (#10990), hierfstat (#11249), immunedeconv (#11136), ioapi (#10959), itpp (#10958), LiBis (#11059), libosmium (#11024), limix-bgen (#11152), minibar (#10470, #11246), misha (#11127), MOABS (#10747), moonjit (#11163), NGLess (#11128), nsync (#11109), openCARP (#11117), OpenForceField (#11048), OpenMMTools (#11046), OpenMS (#10994), PennCNV (#10986), plantcv (#10968), PlasmaPy (#10732), Portcullis (#11038), PycURL (#11169), PyGEOS (#11110), pySCENIC (#11115), Reapr (#9296), RnBeads (#11142), sf (#11248), SLiM (#11172), stars (#11215, #11248), Sumo (#11071), Telescope (#10943), tensorflow-probability (#10312), texlive (#11168), tidymodels (#11010), Trycycler (#11207), umi4cPackage (#11127), variant_tools (#11169)
        • added additional easyconfigs for various supported software packages, including:
          • Bazel 3.4.1, Bonito 0.2.2, binutils 2.35, CP2K 7.1, Clang 10.0.1, ccache 3.7.11, ctffind 4.1.14, datamash 1.5, ELPA 2020.05.001, Emacs 26.3, Flye 2.8.1, GCC(core) 10.2.0, googletest 1.10.0, HDF 4.2.15, Horovod 0.19.5, imageio 2.9.0, JUBE 2.4.0, Julia 1.5.1, Kent_tools 401, Libint 2.6.0, libxsmm 1.16.1, MDSplus 7.96.8, MDTraj 1.9.4, MariaDB 10.4.13, Meson 0.55.1, MotionCor2 1.3.2, NAMD 2.14, NCO 4.9.3, OpenFOAM 8, OpenMPI 4.0.5, OptiX 6.5.0, Pandoc 2.10, Perl 5.32.0, PostgreSQL 12.4, PyCUDA 2019.1.2, PyFR 1.9.0, PyTorch 1.6.0, PyZMQ 18.1.1, patchelf 0.12, pocl 1.5, pycocotools 2.0.1, pyproj 2.6.1.post1, QuantumESPRESSO 6.6, RDKit 2020.03.3, rgdal 1.5, Salmon 1.3.0, Spark 3.0.0, scikit-image 0.17.1, scipy 1.4.1, snpEff 5.0, sympy 1.6.2, TINKER 8.7.2, tqdm 4.47.0, Unicycler 0.4.8, VMD 1.9.4a43
        • minor enhancements, including:
          • also build Python libraries for ParaView 5.8.0 (#10927)
          • add extensions to recent Bioconductor easyconfigs: FlowSorted.Blood.EPIC (#11021), DRIMSeq + stageR (#11053)
          • add extensions to recent R easyconfigs: AICcmodavg + biomod2 (#11030), qqman (#11052), poLCA (#11081), coxed (#11094), testit + data.tree (#11135), celestial + fasterize (#11206)
          • add Config::Simple extension to Perl 5.30.x easyconfigs (#11051)
          • update TensorFlow v2.1.0 (#11109) and v2.0.0 (#11233) easyconfigs to provide more dependencies via EasyBuild
          • add CUDA compute capabilities to torchvision-0.5.0 (#11241)
        • various bug fixes, including:
          • patch to fix exporting images with PyQtGraph v0.10.0 (#10848)
          • add missing Python dependency to PETSc 3.11.1 (#10907) and PETSc 3.12.x (#10908) easyconfigs
          • use CMakeMake easyblock for installing magma to avoid C++11 related failures on POWER (#10929)
          • fix source URL for Graphviz v2.40.1 (#10944)
          • fix lapack.h for use with C++ in OpenBLAS 0.3.9 easyconfigs (#10960)
          • add missing build dep on M4 for 2019b versions of netCDF-Fortran (#10972)
          • update easyconfig for PyTorch 1.4 to use custom easyblock and run on POWER (#11000)
          • create symlinks to incorrectly named directories in OpenBabel-3.1.1 so $BABEL_LIBDIR and $BABEL_DATADIR work properly (#11004)
          • add missing Python build dep to recent ELPA easyconfigs (#11011)
          • use is_generic_easyblock from filetools in easyconfigs test suite (#11020)
          • fix sources in Portcullis v1.2.2 easyconfigs (#11038)
          • add patch for FFTW 3.3.8 to avoid use of -no-gcc when building with Intel compilers, to fix installation on CentOS 8 (cfr. #10932) (#11050)
          • add missing Python build dep for BEDTools 2.29.x (#11054)
          • add missing SciPy-bundle and Kent_tools (for bedPartition command) dependencies to FLAIR (#11057)
          • add patch to fix bug in LiBiS v20200428 easyconfig (#11059)
          • use FFTW provided via EasyBuild for ScaFaCoS (#11060)
          • fix undefined reference to qfloat16::mantissatable in Qt5.14.1 (#11063)
          • add alternative checksum for rstantools 2.0.0 extension (#11081)
          • update checksums for R 3.6.0 packages and add patch for ppc (#11088)
          • install scikit-learn 0.23.1 as a bundle and include required threadpoolctl extension (#11089)
          • update pybind11 easyconfigs to use custom easyblock to install with pip (#11091)
          • add recent six as extension to archspec installed on top of Python 3.7.4 (#11092)
          • add missing Seaborn dependency to LiBis easyconfig (#11095)
          • add missing dependencies for OpenPIV + switch to PythonBundle easyblock and include progressbar2 as extension (#11096)
          • add missing argparse dep to TEtranscripts easyconfig (#11097)
          • add missing pkg-config build dep in Octave 5.1.0 easyconfigs (#11100)
          • don't statically link MUSCLE, to avoid requiring that glibc-static is installed in OS (#11102)
          • add missing pkg-config build dependency in recent R-bundle-Bioconductor easyconfigs (#11104)
          • add patch to h5py 2.8.0 (#11119) and 2.9.0 (#11118) easyconfigs to avoid MPI_Init on import h5py
          • add patch to support libbfd 2.34 API change in Score-P 6.0 (#11123)
          • use pip to install protobuf-python in 2019b toolchain (requires re-downloading source tarball!) (#11143, #11260)
          • add missing Keras-Applications extension to TensorFlow 2.2.0 easyconfigs with foss*/2019b toolchain (#11156)
          • add missing pocl dependency in R 3.6.0 (#11157)
          • update Meson build dep to 0.55.1 for GLib, X11, Mesa & co to fix aggressive RPATH stripping (#11178)
          • disable generating of man pages in recent libdrm easyconfigs to avoid installation failure if docbook-xsl is not installed (#11182)
          • add fontconfig and bzip2 as direct dependencies for Qt5 to fix installation with --rpath (#11183)
          • fix failing make check for MPFR 4.x (#11187) and GMP (#11188) when installing with eb --rpath
          • add pkg-config as a build dependency for libglvnd (#11189)
          • add missing libiconv dep in recent Doxygen easyconfigs (#11191, #11257)
          • enhance Java/11 wrapper to also support for aarch64/Arm (#11192)
          • add pkg-config as a build dependency to Ghostscript 9.52, needed on aarch64/arm (#11194)
          • add patch for pycrypto extension in recent Python easyconfigs to remove hardcoded /usr/include which causes problems when eb --sysroot is used (#11202)
          • fix installation of R v3.6.3 and v4.0.0 with foss/2020a on Arm (aarch64) (#11213)
          • update PyTorch 1.4 easyconfigs to use custom easyblock (and do less downloading during installations) (#11219)
        • other changes:
          • don't require custom sanity_check_paths for CUDA bundle easyconfigs (#10936)
          • move intervaltree and sortedcontainers to main Python easyconfigs (#10969, #10970)
          • disable qtwayland in Qt5 v5.14.1 (#11107)
          • remove mklml (small MKL) from PyTorch 1.3.1 and 1.4.0 easyconfigs (#11019)
          • use pip to install h5py 2.10.0 (#11044)
          • stop testing easyconfig PRs with Travis, only use GitHub Actions from now on (#11008, #11055)
          • switch to Kent_tools built from source as dep for FusionCatcher (#11057)
          • fall back to using PR target branch when determining \"merge base\" between PR branch & target branch fails in test suite (#11069)
          • rename gtest to googletest (#11082)
          • rename sdsl-lite to SDSL (to use one single name) (#11084)
          • stop using remove_usr_bin patch in TensorFlow easyconfig, no longer required with updated TensorFlow easyblock (#11087)
          • extend timeout for libxc-4.3.4 to avoid failing tests (#11126)
          • move GitHub Actions status badge to top of README (#11138)
          • fix code style issues in test (#11146)
          • enable flake8 on CI and fix issues (#11147)
          • prefer gc GitHub site for source downloads (#11208)
          • prefer https over ftp in source_urls of IgBLAST easyconfig (#11244)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb422","title":"EasyBuild v4.2.2 (July 8th 2020)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add support for using sources and git_config for extensions in exts_list (#3294)
          • add support for software minver template (like %(pyminver)s, etc.) (#3344, #3345)
          • add support for updating dictionary or tuple easyconfig parameters with self.cfg.update (#3356)
        • various bug fixes, including:
          • fix crash in --avail-easyconfig-constants when using --output-format=rst + ensure sorted output (#3341)
          • always take into account builddependencies when generating template values, also when we're not iterating over builddependencies (#3346)
          • fix running command as easybuild user in generated Singularity definition file (#3347)
          • allow ignoring versionsuffix in --try-update-deps (#3350, #3353)
          • retain order of paths when generating prepend_path statements for module file (don't sort them alphabetically) (#3367)
          • also put easyblocks used by extensions in reprod directory (#3375)
          • also copy template values in EasyConfig.copy method to ensure they are defined when installing extensions (#3377)
          • skip lines that start with module-version when determining whether a module exists in ModulesTool.exist (#3379)

        easyblocks

        • 3 new software-specific easyblocks:
          • LLVM (#2065), Scipion (#1847), XALT (#1942)
        • minor enhancements, including:
          • use wclean -platform instead of wcleanPlatform for OpenFOAM v2006 & newer (#2088)
        • various bug fixes, including:
          • only build OpenCV with IPP support on x86_64 systems (#2056)
          • make sure CFLAGS and MYCFLAGS are used in Lua easyblock (#2062)
          • also accept exist_lic as valid value for license_file in IntelBase easyblock (#2067)
          • fix minor bug in shared libs handling and correctly setup SuiteSparse variables in Trilinos easyblock (#2071)
          • make sure PythonBundle uses correct python command in extensions filter + also add lib64/python*/site-packages to $PYTHONPATH (if it exists) (#2075, #2081)
          • fix build environment for WRF by patching shebang in compile script (#2079)
          • fix order of intel64/lib paths in generated module for impi (and drop intel64/lib/release_mt) (#2080)
          • set $XDG_CACHE_HOME to avoid abuse of $HOME/.cache/pip when installing DOLFIN (#2082)
          • make VMD easyblock Python 3 compatible (#2083)
          • rename include-fixed subdirectory in GCC installation to avoid problems after OS upgrade (#2087, #2093, #2094)
          • use glob pattern to determine name of Mathematica installation script (#2089)
          • use mpirun for sanity check commands in LAMMPS easyblock (#2096)

        easyconfigs

        • added easyconfigs for 2 new toolchains:
          • golf/2020a (#10672)
          • intel/2020.06, based on intel/2020a but with impi 2018 update 5 (#10864)
        • added example easyconfig files for 36 new software packages:
          • AmrPlusPlus (#9919), arrow (#10882), attrdict (#10827), Cartopy (#10685), dm-tree (#10775), dotNET-SDK (#10661), FLAIR (#10860), fastqsplitter (#10706), GLFW (#10709), git-extras (#10440), hl7apy (#10728), hyperopt (#10735), IgBLAST (#10889), IntelDAAL (#9848), ichorCNA (#10595), MARS (#10691), MITObim (#10897), MUST (#10849), mhcnuggets (#9743), PAUP (#10830), Percolator (#10665), PyBerny (#10885), poetry (#10884), pycocotools (#10806), python-hl7 (#10673), SHAPEIT4 (#10814), SYMPHONY (#10058), SunPy (#10676), sdsl-lite (#10691), TEtranscripts (#10909, #10921), Tombo (#10646), tensorboardX (#10774), Unidecode (#10828), WHAM (#10736), XALT (#9792), Xvfb (#10512)
        • added additional easyconfigs for various supported software packages, including:
          • Armadillo 9.900.1, astropy 4.0.1, BLAST+ 2.10.1, BioPerl 1.7.7, Blitz++ 1.0.2, Bonito 0.2.0, bokeh 2.0.2, CFITSIO 3.48, CGAL 4.14.3, CLHEP 2.4.1.3, cutadapt 2.10, dask 2.18.1, Elk 6.3.2, GATE 9.0, GLM 0.9.9.8, GRASS 7.8.3, Geant4 10.6, geopandas 0.8.0, giflib 5.2.1, HDF5 1.12.0, HISAT2 2.2.0, Hadoop 2.10.0, IPython 7.15.0, inferCNV 1.2.1, Julia 1.4.2, LibSoup 2.70.0, MATIO 1.5.17, MRtrix 3.0.0, Mathematica 12.1.1 MultiQC 1.9, NGS 2.10.5, NiBabel 3.1.0, Nipype 1.4.2, ncbi-vdb 20.10.7, numba 0.50.0, OpenBabel 3.1.1, OpenFOAM v2006, PDT 3.25.1, PRSice 2.3.1, ParaView 5.8.0, ParmEd 3.2.0, PyQt5 5.13.2, Pysam 0.16.0.1, parallel 20200522, plotly.py 4.8.1, pybedtools 0.8.1, ROOT 6.20.04, ReFrame 3.0, Roary 3.13.0, rjags 4-10, rstudio 1.3.959, SPAdes 3.14.1, SRA-Toolkit 2.10.8, Saxon-HE 9.9.1.7, Seaborn 0.10.1, Seurat 3.1.5, SimPEG 0.14.1, Spark 2.4.5, StringTie 2.1.3, scikit-allel 1.2.1, scikit-learn 0.23.1, snpEff 4.3t, Valgrind 3.16.1, VarScan 2.4.4, vsc-mympirun 5.1.0, WebKitGTK+ 2.27.4, wxPython 4.0.7.post2, zarr 2.4.0
        • minor enhancements, including:
          • add extensions to R 4.0.0 easyconfig: drgee + stdReg (#10833), copCAR (#10911), ngspatial (#10913), drugCombo (#10914)
          • add extensions to R-bundle-Bioconductor 3.11 easyconfig: BSgenome.Cfamiliaris.UCSC.canFam3 (#10840), SingleR (#10904)
          • include extra extension and support for MPI in MAFFT v7.453 and v7.470 (#10853)
          • add Array::Transpose to Perl (#10878)
        • various bug fixes, including:
          • fix dependencies and configuration of CoinUtils ecosystem (#10450)
          • fix Togl configure patch so that it completely ignores TCL_SRC_DIR and TK_SRC_DIR (#10662)
          • change Xerces-C++ to official CMakeMake build (fixes missing links to curl) (#10664)
          • add -fPIC to toolchainopts in easyconfig for Lua 5.3.5 with system toolchain (#10671)
          • remove hardcoded X86 target in LLVM easyconfigs (#10677)
          • switch to https homepage and source_urls in libGLU easyconfigs (#10686)
          • add patch for h5py 2.10.0 to avoid triggering MPI_Init at import (#10687)
          • add alternative checksum for pkgmaker, doRNG, cobs extension in R 3.6.0 easyconfigs (#10692)
          • update UDUNITS source_urls to https sources (#10693)
          • add missing M4 to netCDF-Fortran easyconfigs using 2020a toolchain (#10695, #10697)
          • add Rgraphviz patch to R-bundle-Bioconductor easyconfigs (#10710)
          • add M4 builddependency to SuiteSparse 2019b easyconfigs (#10720)
          • make sure WHAM is built with correct compiler (#10736)
          • define MAX_JOBS in easyconfigs of PyTorch from v1.1.0 to v1.4.0 (#10772)
          • add dm-tree and lz4 as dependencies to Ray v0.8.4 (#10775)
          • fix source URL in recent ant easyconfigs (#10790)
          • bump versions of GO.gb/org.Hs.eg.db/PFAM.db extensions in Bioconductor 3.11 bundle, since sources for old versions have disappeared (#10791)
          • add patch to Armadillo easyconfigs using the foss toolchain to prevent it from picking up MKL if installed system-wide (#10812)
          • add missing kerneltree extension in FLAIR easyconfig (#10860)
          • fix source URLs in Eigen 3.2. (#10872) and 3.3. (#10869) easyconfigs
          • refer to issue in GitHub repo in configparser patch, since Bitbucket repo is disappearing (#10873)
          • switch to github.com source URL for MetaPhlAn (#10874)
          • switch to GitHub sources for ScientificPython 2.9.4 (#10875)
          • switch to GitHub source URL for HPDBSCAN (#10876)
          • download x265 3.2/3.3 sources from bitbucket.org/multicoreware/x265_git (#10905)
          • fix download URL for libatomic in gc 7.6.12 easyconfigs (#10915)
          • fix sanity_check_paths in CFITSIO-3.48-GCCcore-9.3.0.eb easyconfig (#10917)
          • add missing dependencies for geopandas 0.7.0 (#10923)
        • other changes:
          • rename OpenPyXL 2.6.4 easyconfig to openpyxl (#10916)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb421","title":"EasyBuild v4.2.1 (May 20th 2020)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • also mention CPU architecture (x86_64, POWER) in comment for test reports (#3281)
          • add support for enhancing existing sanity check in easyconfigs, as opposed to overwriting paths/commands (#3288)
          • clean up locks when EasyBuild session is cancelled with a signal like SIGTERM (#3291, #3321)
          • add find_glob_pattern function to filetools module (#3297)
          • add constants for common OS dependencies (OS_PKG_IBVERBS_DEV, OS_PKG_OPENSSL_DEV, ...) (#3309, #3334)
          • flesh out get_mpi_cmd_template function from Mpi.mpi_cmd_for method (#3312)
          • add variable moddependpaths to specify extra $MODULEPATH entry to consider for loading dependency modules (#3324)
          • allow copying of tweaked easyconfigs when using --try-* with --copy-ec (#3332)
        • various bug fixes, including:
          • make ModulesTool.exist more robust w.r.t. module wrappers, aliases, defaults, etc. (#3216, #3337)
          • clean up rst output of --list-toolchains (#3246)
          • cast CPU arch name provided by archspec to a regular string (#3286)
          • get pr_title and pr_descr build_options in new_pr_from_branch instead of new_pr (and commit_msg in both) (#3298)
          • make pypi_source_urls more robust by using HTMLParser rather than xml.etree.ElementTree (#3303, #3329)
          • fix broken test for --include-easyblocks-from-pr (#3304)
          • don't use distutils.dir_util in copy_dir (#3310)
          • print trace message for sanity check command before running it (#3316)
          • fix problems with processing of easyconfigs using a Cray* toolchain when there are no actual external modules (#3319)
          • make test_find_eb_script more robust in case $EB_SCRIPT_PATH is already set (#3320)
          • fix several small problems with --try-update-deps (experimental feature) (#3325, #3326, #3330)
          • add --disable-job in eb command used in jobs, to prevent infinite job cycle (#3328)
          • avoid empty entries in $LD_LIBRARY_PATH and other path-like environment variables (#3333)
        • other changes:
          • fix code style issues in easybuild.tools + add flake8 linting test (#3282)
          • introduce contextmanager for disabling templating and reduce resolving errors (#3287)
          • add change_into_dir named argument to extract_file + print deprecation warning if it's not specified (#3292)
          • improve install_eb_dep.sh script to install EasyBuild dependencies in CI environment (#3314)

        easyblocks

        • add generic easyblock for installing Go packages: GoPackage (#2042)
        • minor enhancements, including:
          • update config.guess for all R packages, required installing R + extensions on Linux/POWER systems (#1949)
          • add support for preinstallopts and install in subdirectory to Tarball generic easyblock (#1989, #2049)
          • rewrite GROMACS easyblock to install all four variations (single/double precision, with/without MPI) in the same directory (#1991)
          • add custom subdir_version easyconfig parameter for FLUENT (#2021)
          • use updated config.guess in GCC easyblock (#2033, #2059)
          • add extra question pattern to support installing CPLEX 12.10 (#2038)
          • add support for building NWChem on top of external GlobalArrays + also define $LAPACK_LIB (required for NWChem 7.x) (#2043)
          • execute minimal test in sanity check commands in impi easyblock (#2045)
          • update for MotionCor2 easyblock for v1.3.1 (#2046)
          • fixes + enhancements for PETSc easyblock (#2048)
        • various bug fixes, including:
          • use correct version in ELPA preprocessor flag used for QuantumESPRESSO v6.x (#2027)
          • generically find the arch folder and add top-level bin/lib symlinks in PDT & TAU easyblocks (#2029)
          • fix typo in LAMMPS easyblock preventing disabling the USER-INTEL package via configopts (#2031)
          • let CMakeMake remove easybuild_obj build directory if it already exists (#2032)
          • include own lib dir in RPATH before system lib dirs in binutils easyblock (#2044)
          • clean $CPATH before building ROOT to avoid clash between external LLVM loaded as a dependency and internal LLVM used by ROOT (#2047)
          • don't let extract_file change directory in various easyblocks (#2051)
          • make postinstallcmds available to Mathematica easyconfigs + add bin/Executables to $PATH (#2052)
          • fix the extra dirs added to PATH in FreeSurfer easyblock (#2053)
          • correct download url for test data in WPS easyblock (#2055)
          • fix typo in warning in TensorFlow easyblock (#2057)
          • fix failing sanity check under --module-only in GCC easyblock (#2059)
        • other changes:
          • add configure options for CubeLib/CubeWriter dependencies in Score-P easyblock (#2030)
          • remove local find_glob_pattern in Blender & ROOT easyblocks, use function provided by filetools instead (#2037)

        easyconfigs

        • added easyconfigs for new common toolchains: foss/2020a (#10483, #10492), intel/2020a (#10494)
        • added example easyconfig files for 66 new software packages:
          • Alpha (#9994), antiSMASH (#10589), Arlequin (#10620), artic-ncov2019 (#10459), augur (#10405), AutoMap (#10419), Bio-EUtilities (#10037), CaSpER (#10593), cdbfasta (#10547), cddlib (#10429), CoCoALib (#10429) dftd3-lib (#10351), DoubletFinder (#10603), E-ANTIC (#10429), FastViromeExplorer (#10571), FIX (#8870), FusionCatcher (#10134), geopandas (#10322), goalign (#10469), gotree (#10459), gretl (#10413), harmony (#10604), HDF-EOS (#10534), HDF-EOS5 (#10536), HMMER2 (#10588), HyPo (#10642), king (#10365), libdeflate (#10459), libfabric (#10616), libgit2 (#10453), libuv (#10444), mbuffer (#10524), MDAnalysis (#10545), MEM (#10605), MESS (#10597), metaerg (#10037), MinCED (#10037), MitoZ (#7735), nauty (#10429), nifti2dicom (#10598), NLMpy (#10029), ntCard (#10502), NTL (#10431), pIRS (#10508), popscle (#10550), ProtHint (#10549), protozero (#10495), pysndfx (#10452), PyVCF (#10564), PyWavelets (#10501), rampart (#10459), rickflow (#10641), RNA-Bloom (#10502), root_numpy (#10424), rstudio (#10619), ScaFaCoS (#10537), Scythe (#10524), SDSL (#10642), SHAP (#10379), SNPomatic (#10524), SoX (#10452), swissknife (#10037),) Taiyaki (#10573), TCLAP (#10598), torchaudio (#10516), wtdbg2 (#10524)
        • added additional easyconfigs for various supported software packages, including:
          • ADF 2019.303, BRAKER 2.1.5, Bazel 2.0.0, Bonito 0.1.4, Boost.Python 1.72.0, Bowtie2 2.4.1, CMake 3.16.4, CPLEX 12.10, CVXOPT 1.2.4, Coreutils 8.32, cURL 7.69.1, DFTB+ 19.1, ecCodes 2.17.0, expat 2.2.9, FFmpeg 4.2.2, FriBidi 1.0.9, GATK 4.1.5.0, GCC(core) 10.1.0, GDAL 3.0.4, GEOS 3.8.1, GLib 2.64.1, GMP 6.2.0, GROMACS 2020.1, GTK+ 3.24.17, GenomeThreader 1.7.3, GffCompare 0.11.6, Ghostscript 9.52, GlimmerHMM 3.0.4c, GlobalArrays 5.7.2, gmpy2 2.1.0b4, gmsh 4.5.6, gpustat 0.6.0, gradunwarp 1.2.0, HDF5 1.10.6, hwloc 2.2.0, hypothesis 5.6.0, ICU 66.1, IPython 7.13.0, ImageMagick 7.0.10, Julia 1.4.1, KMC 3.1.2rc1, Kraken2 2.0.9, LMfit 1.0.0, Longshot 0.4.1, libarchive 3.4.2, libffcall 2.2, libffi 3.3, libgd 2.3.0, libjpeg-turbo 2.0.4, librsvg 2.48.4, libsigsegv 2.12, lrslib 7.0a, MEME 5.1.1, MPC 1.1.0, Mako 1.1.2, Mesa 20.0.2, Meson 0.53.2, MotionCor2 1.3.1, MultiQC 1.8, matplotlib 3.2.1, NGS-Python-2.10.4, NGS 2.10.4, NSPR 4.25, NSS 3.51, NWChem 7.0.0, Nextflow 20.04.1, Ninja 1.10.0, Normaliz 3.7.4, nanopolish 0.13.1, ncbi-vdb 2.10.4 netCDF 4.7.4, OpenBLAS 0.3.9, OpenEXR 2.4.1, OpenMPI 4.0.3, OpenSSL 1.1.1e, openpyxl 3.0.3, PAPI 6.0.0, PCRE 8.44, PCRE2 10.34, PLUMED 2.6.0, PMIx 3.1.5, PROJ 7.0.0, Perl 5.30.2, Pillow 7.0.0, PyYAML 5.3, Python 2.7.18 + 3.8.2, parallel 20200422, Qt5 5.14.1, R-bundle-Bioconductor 3.11, R 3.6.3 + 4.0.0, RMBlast 2.9.0, Racon 1.4.13, Ray 0.8.4, Rust 1.42.0, re2c 1.3, rioxarray 0.0.24, rootpy 1.0.1, rstudio 1.2.5042, SCons 3.1.2, SDL2 2.0.10, SIONlib 1.7.6, SQLite 3.31.1, SRA-Toolkit 2.10.4, Salmon 1.2.0, ScaLAPACK 2.1.0, SciPy-bundle 2020.03, Stacks 2.53, StringTie 2.1.1, SuiteSparse 5.7.1, snappy 1.1.8, spaln 2.4.03, sympy 1.5.1, Tcl 8.6.10, TensorFlow 2.2.0, Tk 8.6.10, Tkinter 3.8.2, tbl2asn 20200302, torchvision 0.5.0, UCX 1.8.0, UMI-tools 1.0.1, utf8proc 2.5.0, util-linux 2.35, worker 1.6.12, wxWidgets 3.1.3, X11 20200222, XZ 5.2.5, x264 20191217, x265 3.3, zsh 5.8, zstd 1.4.4
        • minor enhancements, including:
          • add additional extensions for recent versions of R (#10359, #10585, #10586, #10621) and R-bundle-Bioconductor (#10585, #10596, #10621)
          • add additional extensions for recent versions of Perl (#10412, #10546, #10623)
          • include LLVM linker in Clang 7.0.1 on GCC 7.3.0-2.30(#10458)
          • include static lib and header in nimimap2 easyconfigs for foss-2018b and GCC-8.2.0* (#10464)
          • add alternate checksum for EMBOSS (#10607)
        • various bug fixes, including:
          • fix incorrect checksums for Amber patches (#8870)
          • add patches to fix installation of R 3.6.2 on POWER (#9830)
          • add missing build dep. pkg-config in GObject-Introspection 1.63.1 w/ Python 3.7.4 easyconfig (#10380)
          • add Perl as a build dependency for recent Autoconf/Automake easyconfigs (#10408, #10426)
          • fix source_urls in ICU easyconfigs (#10417)
          • disable USER-INTEL package in LAMMPS easyconfigs using intel/2019b, since it results in an installation that produces incorrect results (#10418)
          • fix undefined reference to qfloat16::mantissatable in Qt5-5.13.1-GCCcore-8.3.0 (#10425)
          • get rid of double '-' in versionsuffix of torchtext easyconfig (#10472)
          • fix broken Mako easyconfigs (#10480, #10627)
          • move builddependencies to dependencies in OTF2 and Score-P easyconfigs (#10496)
          • add missing cURL dep for LAMMPS (#10527)
          • add Python 2 build dependency for OpenPGM (#10539)
          • use OS_PKG_IBVERBS_DEV constant for OS dependency in PyTorch 1.4.0 easyconfigs (#10540)
          • add missing Bison build dep in Graphviz easyconfigs (#10541)
          • use https in homepage for Mathematica 12.0.0 + clean up sanity check commands (now done by easyblock) (#10559)
          • add missing PyVCF dependency for BAMSurgeon (#10564)
          • remove FFTW dependencies from LAMMPS easyconfigs, no longer needed (MKL can be used too now) (#10565)
          • fix ITK v5.0.1 easyconfig w.r.t. locale and location of libjpeg-turbo library (#10592)
          • add patch to fix missing const qualifiers for ncurses (#10606)
          • fix OS dependency for rstudio for Debian-based systems (#10608)
          • fix Rmath paths in easyconfig for FastQTL v2.184 (#10612)
          • add symlink for Arlequin commands + fix sanity check commands (#10620)
          • fix recent binutils easyconfigs using system toolchain for Fedora 32 / GCC 10 (#10633)
          • replace '/path/to' with actual installation prefix in FuSeq scripts (#10640)
        • other changes:
          • check sdist with different Python versions in CI (#10388)
          • use Bison 3.3.2 as build dep for flex 2.6.4 (#10403)
          • mention http:// Pfam website rather than ftp:// in load message of BiG-SCAPE easyconfig (#10439)
          • archive old Singularity configs (#10591)
            • Singularity is not well suited to install via EasyBuild because it requires admin privileges to enable setuid
          • stop using old hpcugent URL for cloning framework/easyblocks repos in CI (#10635)
          • use SYSTEM constant for toolchain in easyconfigs already use system toolchain (#10638)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb420","title":"EasyBuild v4.2.0 (April 14th 2020)","text":"

        feature release

        framework

        • add support for --try-update-deps (experimental feature), to upgrade dependencies based on available easyconfigs (#2599)
        • adding locking to prevent two parallel builds of the same installation directory (#3009)
          • for more information, see https://easybuild.readthedocs.io/en/latest/Locks.html
        • significantly speed up -D/--dry-run by avoiding useless 'module show' (#3203)
        • add support for creating an index & using it when searching for easyconfigs (#3210)
          • for more information, see https://easybuild.readthedocs.io/en/latest/Easyconfigs_index.html
        • additional GitHub integration features:
          • add support for targeting easyblocks and framework repositories in --new-pr (#1876, #3189)
          • add support for --include-easyblocks-from-pr (#3206)
          • for more information, https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html
        • various other enhancements, including:
          • add a contrib/hooks dir with some examples of hooks used (#2777)
          • also mention working directory + input passed via stdin (if any) in trace output of run_cmd (#3168)
          • probe external modules for missing metadata that is not provided via external module metadata file (#3174)
          • also update $CMAKE_PREFIX_PATH and $CMAKE_LIBRARY_PATH in generated module file (#3176)
          • optionally call log.warning in print_warning (#3195)
          • add an option to git_config to retain the .git directory (#3197)
          • allow use of SYSTEM as --try-toolchain option (#3213)
          • mention CPU arch name in comment for uploaded test report, if it's known by archspec (#3227)
          • make --merge-pr take into account --pr-target-branch (#3236)
          • make --check-contrib print a warning when None is used for checksums (#3244)
          • update install-EasyBuild-develop.sh script and create script for 2020a merge sprint (#3245)
          • add template for mpi_cmd_prefix (#3264)
          • update copy_dir to include option to merge directories (#3270)
          • support template name for CUDA version (#3274)
        • various bug fixes, including:
          • use correct module for errors_found_in_log (#3119)
          • fix EasyConfig.update code to handle both strings and lists as input (#3170)
          • fix removing temporary branch on --check-github (#3182)
          • fix shebang even if first line doesn't start with '#!' (#3183)
          • make bootstrap script work with Python 3 (#3186)
          • read patch files as bytestring to avoid UnicodeDecodeError for patches that include funky characters (#3191)
          • fix online check in --check-github: try repeatedly and with different URLs to cater for HTTP issues (#3194)
          • don't crash when GitPython is not installed when using Python 3 (#3198)
          • fix os_name_map for RHEL8 (#3201)
          • don't add shebang to binary files (#3208)
          • use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#3219)
          • don't filter out None values in to_checksums, leave them in place (#3225)
          • fix defining of $MPI_INC_* and $MPI_LIB_* environment variables for impi version 2019 and later (#3229)
          • use correct target account/repo when creating test report & posting comment in PR (#3234)
          • reorganize EasyBlock.extensions_step to ensure correct filtering of extensions (#3235)
          • also support %(installdir)s and %(builddir)s templates for extensions (#3237)
          • unset $GITHUB_TOKEN in Travis after installing token, to avoid failing test_from_pr_token_log (#3252)
          • fix reporting when skipping extensions (#3254)
          • avoid API rate limit errors on online check in --check-github (#3257)
          • show easyconfig filenames for parallel build (#3258)
          • make EasyConfig.dump aware of toolchain hierarchy, to avoid hardcoded subtoolchains in dependencies easyconfig parameters (#3261)
          • fix use of --copy-ec with a single argument, assume copy to current working directory (#3262)
          • fix posting of comment in PR with --upload-test-report (#3272)
          • take into account dependencies marked as external modules when composing template values like %(pyver)s (#3273)
        • other changes:
          • increase timeout & use api.github.com for connectivity check in check_github (#3192)
          • restore flake8 default ignores (#3193)
          • enable tracking of test suite coverage using coveralls (#3204)
          • make tests use easybuilders/testrepository rather than hpcugent/testrepository after it was moved (#3238)
          • improve raised error in remove_dir and deprecate rmtree2 (#3228)

        easyblocks

        • 7 new software-specific easyblocks:
          • BerkeleyGW (#1951), CMake (#1936), ELSI (#1883), LAMMPS (#1964, #1975, #1978, #1982, #1997), libdrm (#1983), Mesa (#1892, #2006), SEPP (#1998)
        • minor enhancements, including:
          • make ParMETIS easyblock compatible with custom configopts (#1774)
          • update Trinity easyblock for v2.9.0 (#1906)
          • disable ROCM and Android workspace explicitly in TensorFlow easyblock (#1944)
          • update QuantumESPRESSO easyblock for version 6.5 (#1947)
          • update Siesta easyblock to support MaX-1.0 release (#1954)
          • update Ferret easyblock for versions >= 7.5.0 (#1956)
          • update XCrySDen easyblock to support Togl dependency (#1959)
          • pass value for TARGET specified in buildopts to testopts and installopts in OpenBLAS easyblock (#1960)
          • fix netCDF(-Fortran) support in Siesta easyblock (#1967, 1971)
          • add NCDF_PARALLEL and METIS support to Siesta easyblock (#1973)
          • add support for use_pip_extras custom easyconfig parameter in PythonPackage easyblock (#1980)
          • update Open Babel easyblock for version 3.0.0 (#1992)
          • allow differing names for TensorFlow wheel (#1995)
          • make MATLAB runtime available from MATLAB (#2008)
        • various bug fixes, including:
          • fix linking of Hypre to external BLAS/LAPACK + support building (only) static/shared library (#1885)
          • fix MPI-CXX dependency of PETSc (#1917)
          • limit amount of parallelism in TensorFlow easyblock (#1934)
          • support GCCcore and gcc4.8 (if that dir exists) in function get_tbb_gccprefix in tbb easyblock (#1943)
          • restore default flake8 warnings (#1950)
          • remove tests from build_step and raise error on failed tests in OpenBLAS easyblock (#1952, #1955, #1962)
          • add optional runtest to the catch for FATAL ERRORS to OpenBLAS easyblock (#1958)
          • ensure right 'python' command is used to determine Python lib dir when system Python is used with PythonBundle easyblock (#1961)
          • make sure lib/python*/lib-dynload exists in Python installation (#1966)
          • in version 6.0 of TensorRT, libnvinfer.a is renamed libnvinfer_static.a (#1970)
          • handle configopts without configure args in CMake easyblock (#1974)
          • use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#1976)
          • don't insist that pylibdir always exists in OpenCV easyblock (#1977)
          • also set $TRINITY_HOME environment variable in Trinity easyblock (#1979)
          • fix sanity check for OpenFOAM-Extend >= 4.1 (#1981)
          • fix pattern matching in regex subst for I_MPI_ROOT in impi easyblock (#1986)
          • use remove_dir instead of deprecated rmtree2 in various easyblocks (#1993)
          • fix \"AttributeError: module 'git' has no attribute 'Git'\" that may occur when using Python 3 (#1994)
          • don't sanity check for QtWebEngine in Qt easyblock when building for POWER (#2000)
          • fix installation of TensorFlow in some environments, by setting $PYTHONNOUSERSITE (& more) (#2002, #2020)
          • make sure libxml2 is built with XZ provided as dependency (#2005)
          • look for Python version directories with suffixes in ROOT easyblock (#2010)
          • enable TK, FLTK and OPENGL configure options in VMD easyblock (#2013)
          • update the contributing docs (#2014)
          • fix numexpr easyblock to allow (correctly) installing it as extension (#2022)
        • other changes:
          • simplify various CMakeMake-based easyblocks by enhancing CMakeMake (w.r.t. CMAKE_BUILD_TYPE, shared vs static libs, -fPIC) (#1929)
          • enable out of tree build by default in CMakeMake easyblock (#1933)
          • force building Clang without CUDA when it is not found as a proper dependency (#1968)

        easyconfigs

        • added example easyconfig files for 114 new software packages:
          • ABRA2 (#10272), ABRicate (#10310), ADIOS (#10036), aNCI (#9929), any2fasta (#10310), apex (#10269), archspec (#9898), ArviZ (#10366), autopep8 (#9626), BAMSurgeon (#10330), BatMeth2 (#10323), BiG-SCAPE (#10352), BinSanity (#10001), Bonito (#10269), BSMAPz (#10283), BSseeker2 (#10039), BUStools (#9838), Cbc (#10052), Cgl (#10048), CGmapTools (#10288), Clp (#10033), CoinUtils (#9937), dtcwt (#9695), ELSI (#9857), EnsEMBLCoreAPI (#8734), fastq-pair (#9894), FigureGen (#10076), Fiona (#10321), FuSeq (#10004), GenomeTools (#9797), GraphMap2 (#10299), GRASP (#9896), Groovy (#9809), gsport (#9821), gubbins (#9689), igv-reports (#9977), inferCNV (#9686), iVar (#10291), joypy (#10212), JupyterLab (#9752), kma (#10259), LAMMPS (#10371), lancet (#10271), libBigWig (#10006), libGridXC (#9858), libPSML (#5859), LtrDetector (#10343), manta (#5104), medImgProc (#10228), MedPy (#9748), Mini-XML (#10036), mkl_fft (#9887), Monocle3 (#9825), MoreRONN (#10255), motionSegmentation (#10228), NanoComp (#10212), NanoFilt (#10212), nanoget (#10212), nanomath (#10212), NanoPlot (#10212), ngspice (#9922), ntEdit (#9836), ntHits (#9833), occt (#9939), OCNet (#9955), OpenAI-Gym (#10347), OpenPIV (#9959), OpenPyXL (#10115), orca (#9518), Osi (#10361), PartitionFinder (#9983), pauvre (#10212), polymake (#9904), pretty-yaml (#10041)), PRSice (#9988), pycodestyle (#9626), pydot (#9899), pygraphviz (#9969), pylift (#10051), PyMC3 (#10279), pyparsing (#9983), PyRe (#10095), python-weka-wrapper3 (#9704), PyTorch-Geometric (#9995), qcat (#10244), RAxML-NG (#9990), Ray (#10302), rclone (#7934), Red (#9856), rstanarm (#9964), scikit-build (#9762), scVelo (#9805), SECAPR (#9721), segmentation-models (#10211), SentencePiece (#10192), SEPP (#10047), Shapely (#10309), Singular (#10030), SLATEC (#7529), spatialreg (#9767), split-seq (#9749), spoa (#9705), SSN (#9955), STEAK (#10337), stpipeline (#9736), SVG (#9905), Togl (#9868), torchtext (#10193), units (#9682), UQTk (#10279), WildMagic (#10044), Winnowmap (#10005), xtb (#9993), Zip (#9972)
        • added additional easyconfigs for various supported software packages, including:
          • ABySS 2.1.5, Arrow 0.16.0, BCFtools 1.10.2, BEDTools 2.29.2, BUSCO 4.0.5, BerkeleyGW 2.1.0, binutils 2.34, CVXPY 1.0.28, CharLS 2.1.0, CheckM 1.1.2, Clang 10.0.0, CppUnit 1.15.1, canu 1.9, cutadapt 2.8, DIAMOND 0.9.30, davix 0.7.5, ELPA 2019.11.001, FastANI 1.3, FastQC 0.11.9, Ferret 7.5.0, GATK 4.1.4.1, GCCcore 9.3.0, GDB 9.1, GMAP-GSNAP-2019-09-12, GObject-Introspection 1.63.1, GPAW 20.1.0, GROMACS 2020, GTDB-Tk 1.0.2, GTK+ 3.24.13, Go 1.14.1, Gradle 6.1.1, GraphicsMagick 1.3.34, Graphviz 2.42.2, Gurobi 9.0.1, gSOAP 2.8.100, gnuplot 5.2.8, gtest 1.10.0, HDDM 0.7.5, HTSlib 1.10.2, HarfBuzz 2.6.4, Horovod 0.19.1, Hypre 2.18.2, IGV 2.8.0, IQ-TREE 1.6.12, IRkernel 1.1, iccifort 2020.0.166, igraph 0.8.0, impi 2019.6.166, ispc 1.12.0, Java 13(.0.2), Julia 1.4.0, Keras 2.3.1, Kraken2 2.0.8-beta, kim-api 2.1.3, LAST 1045, LASTZ 1.04.03, LLVM 9.0.1 + 10.0.0, LMfit 0.9.14, LS-PrePost 4.7.8, likwid 5.0.1, MAFFT 7.453, MATLAB 2019b, MMseqs2 10, Maven 3.6.3, Meson 0.53.1, MethylDackel 0.5.0, Mono 6.8.0.105, medaka 0.12.0, Nextflow 20.01.0, ncdf4 1.17, netcdf4-python 1.5.3, nodejs 12.16.1, numba 0.47.0, numexpr 2.7.1, Octave 5.1.0, OpenBLAS 0.3.8, OpenBabel 3.0.0, OpenCV 4.2.0, OpenFOAM-Extend 4.1-20191120, OrthoFinder 2.3.11, PETSc 3.12.4, PGI 19.10, PMIx 2.2.1, Pango 1.44.7, PyTables 3.6.1, PyTorch 1.4.0, parasail 2.4.1, pydicom 1.4.2, pyproj 2.4.2, Qhull 2019.1, QuantumESPRESSO 6.5, R-bundle-Bioconductor 3.10, RDKit 2019.09.3 Racon 1.4.10, ReFrame 2.21, Ruby 2.7.1, rjags 4-9, rpy2 3.2.6, SLEPc 3.12.2, SPAdes 3.14.0, SPAdes 3.14.0, STAR-Fusion 1.8.1, STAR 2.7.3a, Seaborn 0.10.0, SeqAn 1.4.2, Seurat 3.1.2, SimpleElastix 1.1.0, SimpleITK 1.2.4, Stacks 2.5, Stata 16, StringTie 2.1.0, scikit-optimize 0.7.4, statsmodels 0.11.0, TensorFlow 1.15.2 + 2.0.1, Tkinter 2.7.16, Trim_Galore 0.6.5, Trimmomatic 0.39, Trinity 2.10.0, tbb 2020.2, tqdm 4.41.1, XCrySDen 1.6.2, XGBoost 0.90, xarray 0.15.1, xmlf90 1.5.4
        • minor enhancements, including:
          • add easyconfig for Java 11.0.6 on ppc64le and alter the Java 11 wrapper to support both x86_64 and ppc64le (#9371)
          • add additional extensions for R: HiddenMarkov (#9685), lmerTest (#9853), VSURF + Rborist (#10355)
          • change Mesa 19.1.7 + 19.2.1 easyconfigs to use custom easyblock for Mesa (#9764)
          • build shared libs and install header files for Ghostscript (#9785)
          • add MUMPS as dependency in PETSc 3.12.4 easyconfigs (#9880, #9891)
          • add Perl extensions: Term::ReadLine::Gnu (#9901), URI::Escape and Set::IntervalTree (#10049)
          • add dat directory to aNCI (#9929)
          • add patch to create a symlink from libsvm.so.$(SHVER) to libsvm.so in LIBSVM easyconfigs (#10045)
          • build SUNDIALS with 'pic' (#10278)
          • add BSgenome.Hsapiens.UCSC.hg38 + MEDIPS extensions to R-bundle-Bioconductor v3.10 (#10298)
          • fix checksums for mkl-dnn and tbb extensions (moved to oneAPI repo) in PyTorch easyconfigs (#10367)
          • update Java/1.8 wrapper to Java/1.8.0_241.eb (#10305)
        • various bug fixes, including:
          • use CMake for building double-conversion (#9659)
          • update recent libdrm easyconfigs to use custom easyblock & avoid hardcoded x86-specific sanity check (#9694)
          • add alternate checksum for OpenMolcas 18.09 (#9701)
          • use Github to download releases for MariaDB-connector-c (#9702)
          • add -DOMPI_SKIP_MPICXX in configopts for MathGL, to avoid using mpicxx during build (#9703)
          • make installing independent of build folder in pybind11 easyconfig (#9738)
          • add Lua as a dependency to gnuplot (#9773)
          • stick to http:// source URLS for ISL in GCCcore easyconfigs, since https:// doesn't work (#9784)
          • add alternative checksums for farver/fracdiff/pkgmaker/rngtools/doRNG/cobs extensions in R 3.6.2 easyconfigs (#9789)
          • add patch for OpenBLAS 0.3.4 w/ GCC/8.2.0-2.31.1 to fix broken tests (#9865)
          • revert removal of AVX512 vmovd with 64-bit operands in binutils 2.32 easyconfigs (#9866)
          • fix inline asm in dscal: mark x, x1 as clobbered, in OpenBLAS 0.3.8 (#9867)
          • add missing sanity_check_commands to cutadapt v1.18 and v2.7 easyconfigs (#9869)
          • don't overwrite configopts in BLAST+ easyconfigs, append to it (#9875)
          • add alternate checksum for LaplacesDemon in R 3.6.x easyconfigs (#9879, #10382)
          • fix redefining of preconfigopts in OpenCV easyconfigs (#9895)
          • use symlinks for terminfo files instead of hard links in ncurses 6.1 easyconfigs (#9912)
          • fix NCIPLOT build flags (#9915)
          • add missing patch to iccifort libxc easyconfigs (#9918)
          • use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#9925)
          • re-enable building utils in Siesta 4.1-MaX-1.0 release (#9936)
          • fix homepage and source URLs in SLEPc easyconfigs by using https (#9943)
          • fix source URLs for rgeos after source tarball was moved to CRAN archive (#9954)
          • add dependencies on Python 3 and SciPy-bundle in Trinity v2.9.1 easyconfig (#9957)
          • patch GCC lisanitizer for glibc 2.31 (#9966)
          • add Zip as build dependency for recent Bazel versions (#9972)
          • fix checksums in Jellyfish v2.3.0 easyconfigs (#9997)
          • fix source URLs for ParMGridGen easyconfigs (#10019)
          • disable unintended Octave support in all libsndfile easyconfigs (#10027)
          • fix sources for LS-PrePost 4.6 (#10236)
          • security update for vsc-mympirun 4.1.9 (#10185)
          • configure libwebp to also install libwebpmux (#10274)
          • ensure that CVS easyconfigs are included in source tarball produced by 'python setup.py sdist' (#10326)
          • fix undefined reference error due to libxc 4.3.4 built with CMake (#10356)
          • fix source_urls for tbb: use (new) official 'oneapi-src' GitHub repository (#10361)
          • update checksums and homepage in tbb easyconfigs (#10285)
        • other changes:
          • use new custom easyblock in recent CMake easyconfigs (#9871, #9923)
          • add check for redefined easyconfig parameters in easyconfig tests (#9876)
          • use M4-1.4.18.eb for test installation in easyconfigs test suite (#9926)
          • use https:// in homepage/source_urls of zlib-1.2.11.eb (#10018)
          • add -GCCcore-9.2.0 versionsuffix for intel/2020.00 components (#10083)
          • add checksum of new tbb 2019_U9 source tarball, next to original one + update homepage (#10237)
          • add comment informing about manually setting Gallium drivers in easyconfigs for Mesa v19.1.7 and v19.2.1 (#10276)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb412","title":"EasyBuild v4.1.2 (March 16th 2020)","text":"

        bugfix release

        Note

        This release includes a bug fix for the leaking of your GitHub token in the EasyBuild (debug) log file.

        We strongly encourage that you revoke the GitHub tokens you are using currently, via https://github.com/settings/tokens, and to replace them using a new token (using eb --install-github-token --force ).

        More information in https://github.com/easybuilders/easybuild-framework/pull/3248.

        framework

        • fix gitdb dependency on Python 2.6 in test configuration (#3212)
        • fix broken test for --review-pr by using different PR to test with (#3226)
        • censor authorization part of headers before logging ReST API request (#3248)

        easyblocks

        (no changes)

        easyconfigs

        (no changes)

        ","boost":0.5},{"location":"release-notes/#release_notes_eb411","title":"EasyBuild v4.1.1 (January 16th 2020)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add check_log_for_errors function (in easybuild.tools.run) to detect and handle multiple errors (#3118)
          • implement support for eb --show-ec to show contents of specified easyconfig file (#3132)
          • also update $XDG_DATA_DIR (share/) and $GI_TYPELIB_PATH environment variables (lib/girepository-) in generated module files (#3133)
          • add support for --copy-ec to copy easyconfig file to specified location (#3142)
          • mention --disable-* option in --help output for boolean options enabled by default (#3151)
          • add --cuda-compute-capabilities configuration option (#3161)
        • various bug fixes, including:
          • ignore imports from vsc namespace made from pkgutil.py (#3120)
          • only actually change permissions using os.chmod in adjust_permissions if the current permissions are not correct already (#3125)
          • use shutil.copyfile to just copy file contents if target path exists and is owned by someone else (#3127)
          • fix or avoid warnings that commonly arise in build log (#3129)
          • disable buffering in asyncprocess.Popen using bufsize=0, to fix run_cmd_qa missing output (#3130)
          • update pip & install wheel package in generated Singularity container recipes (#3136)
          • avoid crash in modify_env & unset unset_env_vars when using (older versions) of Python 3.5 & 3.6 by using list(...) (#3140)
          • take into account that lib64 could be a symlink to lib (or vice versa) in get_software_libdir function (#3141)
          • only parse docstring if it exists in gen_easyblock_doc_section_rst function (#3144)
          • only add useful entries for $CPATH, $(LD_)LIBRARY_PATH and $PATH (non-empty directories) (#3145, #3152)
          • fix --list-software=detailed when using Python 3 by leveraging sort_looseversions function from py2vs3 module (#3146)
          • ensure subdirectories in software install directory have correct search (exec) permission (#3147)
          • take into account that a checksum value may be a tuple of valid checksum in EasyBlock.check_checksums (#3153)
        • other changes:
          • bump to Lmod 8.2.9 in GitHub CI config (#3115)
          • update copyright statements for 2020 (#3149)
          • make Hound CI code style checker ignore \"Black would make changes\" produced by flake8-black (#3162)

        easyblocks

        • new software-specific easyblock for cryptography (to fix missing -pthread for all versions) (#1874)
        • minor enhancements, including:
          • update WPS easyblock for v3.6 & newer (#1315)
          • update FSL easyblock to support FSL v6.0.2 & newer (#1860)
          • add setup_cmake_env function in CMakeMake easyblock which can be leveraged in other easyblocks, and use it for OpenFOAM (#1869)
          • remove obsolete configure options for Python + build with optimizations/LTO enabled for recent Python versions (#1876)
          • update WPS easyblock for recent versions: set $WRF_DIR to point to location of WRF installation (#1886)
          • make sure $LIBLAPACK_MT is set before using it in ESMF easyblock (#1887)
          • remove useless PATH entries + add PKG_CONFIG_PATH in imkl easyblock (#1900)
          • enhance tbb easyblock to support building on POWER (#1912)
          • enhance TensorFlow easyblock to pick up on --cuda-compute-capabilities, and issue a warning if no CUDA compute capabilities are specified (#1913)
          • add custom easyconfig parameter build_type to generic CMakeMake easyblock (#1915, #1922)
        • various bug fixes, including:
          • fix for conda packages that rely on particular versions of Python (#1836)
          • fix path for intel and netCDF lib directories in NCL easyblock (#1862)
          • fix CUDA 10.1 installation on POWER (#1871)
          • change Bazel easyblock to prefer using Java dependency rather than included JDK (fix for POWER9) (#1875)
          • remove optarch warning in GROMACS for Cray toolchains (#1879)
          • also fix $WM_COMPILE_OPTION in OpenFOAM rc scripts to make debug builds work correctly (#1880)
          • limit MPI ranks used for running WRF test cases to max. 4 + include contents of rsl.error.0000 output file in case test failed (#1884)
          • update $PYTHONPATH + add python -c 'import mrtrix3' as sanity check command for recent MRtrix versions (#1889)
          • update sanity check in SAMtools easyblock for version 1.10 (#1890)
          • make sure $PYTHONNOUSERSITE it set when performing sanity check for (bundles of) Python package(s) (#1891)
          • fix install dir subdir for WPS v4.0+ that is considered for $PATH and $LD_LIBRARY_PATH (#1895)
          • impi: don't rebuild libfabric if the source code is not present (#1896)
          • also copy component patches to self.cfg in Bundle generic easyblock (#1897)
          • skip patch step in Bundle generic easyblock (per-component patches are still applied) (#1898)
          • derive easyblock for iccifort only from icc easyblock (not ifort), to avoid adding include subdir to $CPATH (#1899)
          • add export LANG=C to preinstallopts instead of install_script path in CUDA easyblock (#1902)
          • stop setting updating $CPATH and $LIBRARY_PATH for GCC and GCCcore, not required (#1903)
          • remove $LIBRARY_PATH entries in iccifort easyblock, already known to icc et al (#1904)
          • use major/minor version of Python command being used if req_py_majver/req_py_minver are not specified (#1907)
          • define $EB_PYTHON in module for EasyBuild installation, to make sure correct Python version is used at runtime (#1908)
          • fix Python easyblock to allow configuring build of Python v3.8 (Setup.dist script was renamed to Setup) (#1909)
          • fix netCDF easyblock for version 4.4.0 (#1911)
          • correct comment about when we set RUNPARALLEL in HDF5 easyblock (#1914)
          • do not sanity check on MATLAB compiler, since it requires a separate license (#1916)
          • build HDF5 without MPI C++ extension to avoid breaking linkage for C software that requires HDF5 (#1918, #1919)
          • override set_pylibdirs method in VersionIndependentPythonPackage to hard set self.pylibdir to 'lib' (#1924)
        • other changes:
          • increase timeout for interactive installation command in CUDA easyblock to 1000 sec. (#1878)
          • disable running of sudo apt-get update in GitHub CI config, since it's failing (and we don't really need it) (#1882)
          • stop requiring Python dep for SWIG, just configure with --without-python if Python is not a dependency (#1894)
          • update copyright statements for 2020 (#1905)
          • make Hound CI code style checker ignore \"Black would make changes\" produced by flake8-black (#1923)

        easyconfigs

        • added example easyconfig files for 27 new software packages:
          • Autoconf-archive (#9658), breseq (#9603), CrossMap (#9483), CSBDeep (#9560), CNT-ILP (#9323), cytoolz (#9453), Faber (#9553), Fiji (#8748), GARLI (#9404), Globus-CLI (#9565), GtkSourceView (#9526), gradunwarp (#9648), gsettings-desktop-schemas (#9529), HyPhy (#9405), horton (#7449), IGMPlot (#9438), LEMON (#9323), Meld (#9530), mhcflurry (#9554), NCIPLOT (#9419), ncl (#9632), OpenSlide (#9499), openslide-python (#9499), pythran (#9488, #9594), Qualimap (#9411), TinyDB (#9555), TreeShrink (#9381)
        • added additional easyconfigs for various supported software packages, including:
          • Beast 1.10.4, Boost.Python 1.71.0, Clang 9.0.1, ESMF 8.0.0, FSL 6.0.3, fastp 0.20.0, freeglut 3.2.1, GDAL 3.0.2, GEOS 3.8.0, GROMACS 2019.4, GSL 2.6, hwloc 2.1.0, Jellyfish 2.3.0, Julia 1.3.1, LibTIFF 4.1.0, libxml2 2.9.10, lxml 4.4.2, Mothur 1.43.0, mayavi 4.7.1, molmod 1.4.5, netCDF-C++4 4.3.1, netCDF-Fortran 4.5.2, numactl 2.0.13, OpenFOAM 7, OpenFOAM v1912, OpenMM 7.4.1, OpenMPI 4.0.2, PLUMED 2.5.3, PROJ 6.2.1, plotly.py 4.4.1, pocl 1.4, QuickFF 2.2.4, R 3.6.2 w/ foss/2019b and fosscuda/2019b, ReFrame 2.20, SAMtools 1.10, SUNDIALS 5.1.0, SWIG 4.0.1, Salmon 1.0.0, SuiteSparse 5.6.0, snakemake 5.7.1, TensorFlow 2.1.0 w/ fosscuda/2019b, torchvision 0.4.2, WPS 4.1, WRF 4.1.3
        • added easyconfigs for intel/2020.00 toolchain (#9575)
        • minor enhancements, including:
          • add POWER9 support to CUDA 10.1 easyconfigs (#9442)
          • build CMake in parallel (#9543)
          • use NCCL for GPU ops in Horovod 0.18.2 easyconfig (#9562)
          • update Java/1.8 wrapper to Java/1.8.0_231 (for x86_64) (#9585)
        • various bug fixes, including:
          • fix remote launch of broker and workers for SCOOP (#9366)
          • fix failing RPATH sanity check for NCL 6.6.2 due to missing dependencies (+ add easyconfig using foss/2018b) (#9388)
          • add missing 'wheel' extensions to Spark 2.4.0 easyconfig using intel/2018b toolchain (#9424)
          • add missing OS dependencies in Java 1.8 easyconfig used on POWER systems (#9454)
          • fix build of recent Bazel versions on Power9 + stick to Java/1.8 as dependency (#9455)
          • fix CMake 3.15.3 build on Power (+ enable building in parallel) (#9469)
          • fix source URLs in xorg-macros easyconfigs (#9477, #9578)
          • add missing wcwidth extension to Python 2.7.15 + 2.7.16 easyconfigs & enable 'pip check' in sanity check (#9479)
          • remove (wrong) GI_TYPELIB_PATH and XDG_DATA_DIRS in various easyconfigs (#9528, #9577, #9615)
          • use xorg-macros as dependency in X11 easyconfigs (rather than installing it as a bundle component) (#9546)
          • fix lpsymphony extension for R-bundle-Bioconductor (#9548)
          • add correct 'old-versions' source URL to all Mesa easyconfigs (#9569)
          • add missing SHA256 checksums for Armadillo (#9572)
          • also define $AUGUSTUS_BIN_PATH and $AUGUSTUS_SCRIPTS_PATH in generated module file for AUGUSTUS (#9579)
          • add SSL OS dependencies for GDAL 3.0.0 (#9586)
          • add missing jupyter_contrib_core extension for IPython 7.7.0+ + consistently include jupyter_nbextensions_configurator extension (#9587)
          • patch libcxx (Clang 8.0.0) on pcc64le for incomplete IBM128 long double in GCC (#9590)
          • patch for GCCcore 8.2.0 to fix '__float128 is not supported on this target' on ppc64le (#9591)
          • fix broken easyconfigs for cyvcf2 v0.11.5 by adding missing 'monotonic' extension (#9601)
          • use absolute path for extraction to allow relocating the build dir for g2log-1.0 (#9604)
          • add alternate SHA256 checksum for kallisto-0.43.1 after re-release under same version without code changes (#9611)
          • add additional valid checksum for MASS 7.3-51.4 extension in R 3.6.0 easyconfigs (#9621)
          • update ctffind website (#9622)
          • make sure we use easybuild Clang in pocl easyconfigs (#9624)
          • make postinstallcmds independent of current working directory in OpenCV 3.1.0 easyconfigs (#9628)
          • update source_urls to include old releases folder in libsodium easyconfigs (#9632)
          • fix source URLs for ant v1.10.5 - v1.10.7 (#9633)
          • update URLs to new location of libxc (#9635)
          • add alternate SHA256 checksum for rda_1.0.2-2.1 extension in R 3.6.0 (#9644)
          • update source URLs in QCA 2.1.0 easyconfigs (#9647)
          • fix Python 3.5.1 easyconfig: bitstring 3.1.3 sources no longer available on PyPI (#9649)
          • fix tesseract 4.1.0 dependencies (#9650)
          • make ICU 64.2 depend on Python3 instead of Python 2, to avoid picking up system Python 3.x (#9652)
          • use True (boolean value) rather than 'True' (string value) for boolean easyconfig parameters (#9657)
          • fix pyfits easyconfig by adding missing d2to1 extension (#9687)
        • other changes:
          • disable running of sudo apt-get update in GitHub CI config, since it's failing (and we don't really need it) (#9492)
          • require that sanity_pip_check is enabled in new/changed easyconfigs (#9516, #9576)
          • update copyright statements for 2020 (#9598)
          • allow missing '-Python-*' versionsuffix for existing easyconfig files changed in PRs (#9634)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb410","title":"EasyBuild v4.1.0 (December 4th 2019)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • performance improvements:
            • skip validation when copying EasyConfig object for extension (#3071)
            • correctly specify that ActiveMNS & co are singleton classes when using Python 3 (#3073)
            • don't call out to prohibitively expensive getRootLoggerName in getLogger, just use 'root' instead (#3074)
            • fix inconsistent module path usage that leads to repeated reloading in HMNS (#3099)
          • add support for specifying different dependency version based on processor architecture (#3047)
          • support use of glob patterns for paths to files with external modules metadata (#3075)
          • take into account that external modules may not be visible directly (due to module hierarchy) (#3083)
          • add support for including 'extensions' statement in Lua modules with Lmod 8.2.8+ (#3085, #3107, #3110)
          • add support for --sync-pr-with-develop (#3087)
          • add support for --new-branch-github, --new-pr-from-branch, --sync-branch-with-develop, --update-branch-github (#3103)
          • fix typo in docstring for new_branch_github (#3106)
        • various bug fixes, including:
          • correctly handle iccifortcuda toolchain with standalone iccifort in det_toolchain_compilers (#3055)
          • init git repo with git.repo.clone() instead of copy_dir() (#3062)
          • fix regular expression so depends-on statements are recognized correctly in Tcl module files (#3065)
          • update GitPython to latest version that supports Python 2.6 in requirements.txt to fix broken test_new_update_pr (#3066)
          • imply --disable-pre-create-installdir with --inject-checksums (#3069)
          • handle patches in extensions more like normal patches (#3067)
          • take into account that platform.linux_distribution and platform.dist was removed in Python 3.8 (#3078)
          • always include mandatory easyconfig parameters in dumped easyconfig (#3081)
          • hide backup module file when using Lmod 6.x (fixes #9302) (#3089)
          • add better error message when mandatory key is missing from a dictionary easyconfig parameter (#3092)
          • also create symlinks for default modules in class module folders (#3093)
          • fix semantics of --set-default-module: only set default for specified easyconfigs, not for the ones that are installed as dependencies via --robot (#3094)
          • fix various issues in extracting comments from original easyconfig file and including them again in dumped easyconfig (#3095)
          • don't use %(version)s template in exts_default_options in dumped easyconfig (#3096)
          • fix generated module statements in case only a single version is listed in multi_deps (#3097)
          • fix broken test_show_system_info on macOS due to 'Python' binary (#3105)
          • take into account that dependency version could be a dict rather than a string value in template_constant_dict (#3111)
        • other changes:
          • deprecate running EasyBuild with Python 2.6 via new check_python_version() function (#3076)
          • deprecate support for using Lmod 6.x (#3077)
          • trim set of test configurations in Travis CI (#3086)
          • flesh out env_vars_external_module from Toolchain._simulated_load_dependency_module (#3088)

        easyblocks

        • new software-specific easyblock for cuDNN, to allow setting cudnnarch (#1855)
        • refactored software-specific easyblock for Xmipp, based on Scons (#1837)
        • minor enhancements, including:
          • add prebuildopts to Bazel build command (#1838)
          • add support to Toolchain generic easyblock for defining $EB* environment variables for toolchain components that use an external module (#1849)
          • add support for running 'pip check' during sanity check in generic PythonPackage easyblock (#1853)
        • various bug fixes, including:
          • clean up /tmp/cuda-installer.log in CUDA easyblock, to avoid segfault in cuda-installer (#1835)
          • minor fix to name of Gctf binary (#1840)
          • move BLAS toolchain existence check earlier in SuperLU easyblock (#1842)
          • fixes for TensorFlow easyblocks w.r.t. Bazel build options & __init__ in top-level google-protobuf package dir (#1843)
          • fix support for sequential version in MUMPS easyblock (#1845)
          • change default value of files_to_copy to None in MakeCp generic easyblock + code cleanup & use change_dir, copy_dir, copy_file and mkdir function from filetools (#1848)
          • prepend -L$EBROOTZLIB/lib to LDFLAGS in SCOTCH easyblock (#1850)
          • improve configuration in netCDF and netcdf4_python easyblocks (#1852)
          • fix CUDA header paths for TensorFlow versions < 1.14 (#1854)
          • handle incorrect regex better in generic CmdCp easyblock (#1861)
          • add missing docstrings in cmakeninja easyblock (#1867)
        • other changes:
          • add GitHub Actions workflow to run easybuild-easyblocks test suite (#1844)

        easyconfigs

        • added example easyconfig files for 46 new software packages:
          • Amara (#9340), anvio (#9387), Arriba (#9226, #9244), attr (#7824), bibtexparser (#9284), bwa-meth (#9217), CITE-seq-Count (#9237), CoordgenLibs (#9374), dtcmp (#9052), fatslim (#9193), GromacsWrapper (#9177), GULP (#9243), hdf5storage (#9195), ITSTool (#7260), kim-api (#8786), kwant (#9238), libarchive (#9052), libcircle (#9052), libxml2-python (#7260), lifelines (#9215), lwgrp (#9052), maeparser (#9374), MaxQuant (#9281), MethylDackel (#9216), MoviePy (#9205), mpifileutils (#9052), mpiP (#9059), nanofilt (#8502), NOVOPlasty (#9326), openkim-models (#8786), parallel-fastq-dump (#9218), pasta (#9348), pyqstem (#9277), python-Levenshtein (#9237), RapidJSON (#9373), RDFlib (#9346), RQGIS3 (#9125), Short-Pair (#9376), SpliceMap (#9375), TRIQS-cthyb (#9230), TRIQS-dft_tools (#9230), TRIQS-tprf (#9230), UMI-tools (#9237), VarDict (#7283), Xmipp (#9257), XSD (#9347)
        • added additional easyconfigs for various supported software packages, including:
          • awscli 1.16.290, BLIS 0.6.0, Bazel 1.1.0, Biopython 1.75, Blender 2.81, bokeh 1.4.0, CONCOCT 1.1.0, CUDA 10.2.89, Catch2 2.11.0, CellRanger 3.1.0, CheckM 1.0.18, dask 2.8.0, deepTools 3.3.1, FastANI 1.2, Flye 2.6, GDCM 3.0.4, GTDB-Tk 0.3.2, Glade 3.8.6, Hadoop 2.9.2, h5py 2.10.0, hypothesis 4.44.2, IPython 7.9.0, Kaiju 1.7.2, Kraken 1.1.1, libsodium 1.0.18, MEGAHIT 1.2.8, Mesa 19.2.1, MetaBAT 2.14, matplotlib 3.1.1, metaWRAP 1.2.2,cNCCL 2.4.8, NGS 2.10.0, NiBabel 2.5.1, netCDF 4.7.1, networkx 2.4, numba 0.46.0, OpenCV 3.4.7, OpenCoarrays 2.8.0, OpenEXR 2.4.0, OpenFOAM v1906, OpenImageIO 2.0.12, ParaView 5.6.2, Pillow 6.2.1, PyTorch 1.3.1, PyYAML 5.1.2, Pysam 0.15.3, picard 2.21.1, prokka 1.14.5, protobuf 3.10.0, R-keras 2.2.5.0, Racon 1.4.7, SCOTCH 6.0.9, SRPRISM 3.1.1, Salmon 0.14.2, SciPy-bundle 2019.10, Subread 2.0.0, scikit-image 0.16.2, scikit-learn 0.21.3, TRIQS 2.2.1, TensorFlow 1.15.0, TensorFlow 2.0.0 w/ fosscuda/2019b, Tkinter 3.7.4, ToFu 1.4.1, tbb 2019_U9, Xerces-C++ 3.2.2, Xmipp 3.19.04, yaff 1.6.0
        • added easyconfigs for intelcuda/2019a toolchain (#9271)
        • minor enhancements, including:
          • tweak Java 1.8 wrapper to use different Java version on POWER systems (#9081)
          • add jupyter_nbextensions_configurator extension to IPython 7.7.0 easyconfigs (#9133)
          • add additional extensions to R 3.6.0 easyconfigs (#9184, #9275)
          • add additional extensions to R-bundle-Bioconductor 3.9 easyconfig (#9185, #9349, #9410)
          • enhance sanity check in cutadapt 1.18 easyconfigs + consistently use PythonBundle & use_pip (#9219)
          • update cuDNN 7.6.4.38 easyconfigs to support both x86_64 and ppc64le (#9331)
          • tweak NCCL 2.4.8 easyconfig to support x86_64 and ppc64le (#9336)
          • define $SPARK_HOME in generated module file for Spark 2.4.0 (#9408)
          • add sanity check command for matplotlib 3.x with Python 3 to check import from mpl_toolkits (#9413, #9414)
        • various bug fixes, including:
          • explicitly set SYSCONFDIR configure option in TurboVNC easyconfig (#9137)
          • patch pigz Makefile so zlib provided by EasyBuild is picked up (#9138)
          • add libjpeg-turbo as dependency to recent LibTIFF easyconfigs, to avoid picking up LibTIFF installed in system (#9146)
          • add freetype as dependency to OpenImageIO, to avoid picking up freetyype installed in system (#9147, #9152)
          • fix definition of fosscuda/2019b to make sure it works with hierarchical MNS (#9178)
          • add missing setuptools_scm extension required to build dateutil extension in Python 3.7.0 easyconfigs (#9209)
          • add Python as build dependency for recent Bazel versions (#9223, #9299, #9342)
          • fix homepage & description in Bioconductor easyconfigs (#9225)
          • fix checksum in Stacks 2.41 easyconfig after sneaky re-release (#9232)
          • apply fixes to ImageJ 1.51k easyconfig (#9245)
          • consistently use patch for OpenCV 3.4.7 (#9279)
          • use protobuf 3.10.0 as build dep for TensorFlow 2.0.0 w/ fosscuda/2019b + use nodocs variant of git as build dep (#9298)
          • add Jasper dependency to Qt5 v.5.13.1 (#9313)
          • fix Python 3.7.2 required OpenSSL version for old OS to the one provided on the same toolchain (#9324)
          • add missing extensions required by Sphinx & pytest to easyconfigs for Python 3.7.2 and 3.7.4 (#9329)
          • update TensorFlow v1.14.0 + v2.0.0 CUDA patch to handle compiler wrappers like ccache (#9333)
          • patch binutils 2.31.1 and 2.32 to fix compatibility with RHEL8 (#9335)
          • add missing extensions in TensorFlow 2.0.0 easyconfigs (+ update to tensorboard/tensorflow-estimator 2.0.1) (#9338)
          • fix logic to determine location of scripts dir + ensure right compiler flags are used in KAT easyconfigs (#9360)
          • add missing GCCcore-6.3.0_fix-sanitizer_linux.patch in GCCcore 6.4.0 easyconfig (#9362)
          • fix linker errors when linking with libhts.a for MetaBAT 2.12.1 (#9379)
          • add egg-info file via patch in VTK v8.2.0, for Python 2.7.15, 3.7.2, 3.7.4 (#9386)
          • promote binutils to a runtime dependency for Python in GCCcore based builds (#9402)
          • fix archive URL typo for ncdf4 (#9407)
          • fix problems with mpl_toolkits namespace for matplotlib easyconfigs using Python 2 (#9415, #9416, #9417)
        • other changes:
          • ignore commented out lines in easyconfig files when checking for http:// URLs (#9224)
          • add GitHub Actions workflow to run easybuild-easyconfigs test suite (#9231, #9255)
          • archive old patches for Xmipp 3.1 (#9256)
          • speed up easyconfigs test suite by avoiding re-parsing and re-ordering of easyconfigs (#9236)
          • only run easyconfigs test suite with Python 2.7 & 3.6 + Lmod 7 in Travis CI (#9297)
          • archive ACML easyconfigs (#9367)
          • update CMake build in Eigen 3.3.7 to use more recent toolchain (#9398)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb401","title":"EasyBuild v4.0.1 (October 15th 2019)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add 'parallel' to list of config templates (#3036)
          • add GitHub Actions workflow to run easybuild-framework test suite (#3039)
          • add 'retest' as a reason to --close-pr, to close/re-open PRs to trigger re-test in Travis (#3040)
          • define $EB_SCRIPT_PATH in 'eb' wrapper script, and consider it before location of 'eb' determined via $PATH in get_paths_for function (#3046)
          • add support for --remove-ghost-install-dirs configuration option, and warn about (potential) ghost install dirs by default when --force/--rebuild is used (#3050)
        • various bug fixes, including:
          • update bootstrap script to support installing EasyBuild v4.0 (#3017)
          • fix broken test_download_repo due to archiving of easyconfigs (#3019, #3023)
          • avoid that --inject-checksums introduces list of patches for extensions as a single long line (#3025, #3034)
          • enhance regex in fix_shebang method to fix more Python/Perl shebangs + avoid patching binary files (#3029)
          • delete test gist that is created by --check-github (#3031)
          • disable templates when defining easyconfig parameters in EasyConfig.set_keys() (#3037)
          • avoid setting GC3Pie's max_in_flight to None if --job-max-jobs is not specified (#3038)
          • fix use of obtain_file method for extensions (#3042)
          • error out if some GC3Pie job failed (#3044)

        easyblocks

        • one new generic easyblock: CMakeNinja (#1829)
        • new software-specific easyblock for Gctf (#1827), MotionCor2 (#1819)
        • minor enhancements, including:
          • update OpenFOAM easyblock for changes in version 1906 w.r.t. wamke rules (#1772)
          • add %(cudaarch)s template variable so that it can be used in sources (#1797)
          • update Boost easyblock for versions >=1.71.0 (#1814)
          • update RepeatMasker easyblock for version 4.0.9 (#1815)
          • add --verbose flag to 'pip install' when running EB in debug mode (#1822)
          • update TensorFlow easyblock to support TensorFlow 2.0 (#1823)
          • add support in TensorFlow easyblock to run a custom test script as smoke test (#1824)
          • add support for installing QScintilla on top of PyQt5 (#1825)
          • update VEP easyblock to make installation compatible with Bio::EnsEMBL::XS (#1828)
        • various bug fixes, including:
          • enhance TensorFlow easyblock to support installing TF 1.14.0 with CUDA and MPI support (#1811, #1816)
          • avoid UnicodeDecodeError when reading 'configure' script and checking for 'Generated by GNU Autoconf' in ConfigureMake (#1817, #1821)
          • don't require 'python' command to install libxml2 without Python bindings (#1818)
          • make sure \"generic=True\" actually turns on generic build in GCC easyblock (#1826)
          • fix compatibility of Trilinos easyblock with Python 3 (#1831)

        easyconfigs

        • added example easyconfig files for 58 new software packages:
          • ADOL-C (#9098), ALFA (#9106), ASTRID (#9088), Annif (#8536), bnpy (#8989), bpp-core (#9064), bpp-phyl (#9064), bpp-seq (#9064), Clang-Python-bindings (#9084), CPB (#5869), Centrifuge (#8714), Chromaprint (#9047), Con3F (#8755), DeepSurv (#8096), Essentia (#9054), FastRFS (#9088), GAT (#5871), Gaia (#9049), Gctf (#9097), GenomeMapper (#5872), Infomap (#9091), kpcalg (#8740), libglvnd (#9111, #9130), libsamplerate (#9046), libssh (#8865), libzip (#9073), MetaboAnalystR (#8773), Metaxa2 (#8939), MotionCor2 (#8942), NFFT (#9085), PhyML (#9103), PlaScope (#8714), PyCharm (#9100), pbcopper (#8928), pbmm2 (#8929), phylokit (#9088), phylonaut (#9088), phyx (#9090), pycma (#8834), Q6 (#9069), Qt5Webkit (#9120), ROME (#9050, #9062), rioxarray (#9007), SVDquest (#9088), savvy (#9124), sciClone (#7806), shapAAR (#8983), shrinkwrap (#9124), Structure (#5866), trimAl (#9063), thurstonianIRT (#9080), TurboVNC (#9110, #9111, #9128), Tracer (#8970), TagLib (#9048), TRIQS (#8835), THetA (#8875), vcfnp (#5862), WebSocket++ (#8842)
        • added additional easyconfigs for various supported software packages, including:
          • Armadillo 9.700.2, arpack-ng 3.7.0, BLASR 5.3.3, Bazel 0.26.1 + Bazel 0.29.1, Cufflinks 20190706, DL_POLY_Classic 1.10, FFmpeg 4.2.1, Go 1.13.1, Horovod 0.18.1, IOR 3.2.1, Julia 1.2.0, LLVM 9.0.0, Mesa 19.1.7, Molden 6.1, Mono 6.4.0.198, NCO 4.8.1, , Net-core 3.0.0, Nim 1.0.0, OpenFOAM 2.2.x, PGI 19.7, PLUMED 2.5.2, PMIx 3.1.4, PostgreSQL 11.3, psycopg2 2.8.3, QGIS 3.4.12, QScintilla 2.11.2, Qt5 5.13.1, ReFrame 2.19, Rust 1.37.0, Spack 0.12.1, TAMkin 1.2.6, TensorFlow 1.14.0 w/ fosscuda/2019a, TensorFlow 2.0.0 w/ foss/2019a, UCX 1.6.1, VEP 96.0, xarray 0.13.0
        • added easyconfigs for fosscuda/2019a toolchain (#9066)
        • minor enhancements, including:
          • add EBImage extension to easyconfig for R-bundle-Bioconductor 3.9 (#8982)
          • add check for http:// URLs in easyconfig files added/changed in PRs (#9012)
          • add bbmle/emdbook/SOAR/rasterVis/tictoc extensions to R 3.6.0 easyconfigs (#9037)
          • updated PyQt5 5.12.1 easyconfig to also build sip files + minor readability changes (#9071)
          • enabled SQLITE_ENABLE_COLUMN_METADATA, which is needed for GDAL (and QGIS) (#9118)
          • also install include/GL/internal/ for recent Mesa installations (#9129)
        • various bug fixes, including:
          • add ncurses as dependency to lftp (#8646)
          • add patch for gettext 0.19.8* to avoid picking up global git config that could break the installation (#8957)
          • fix source URLs in GlimmerHMM easyconfigs (#8980)
          • add patch for PyTorch 1.2.0 to use version of torchvision that is compatible with PyTorch 1.2.0 (#8986)
          • clarify the comment regarding the optarch setting in ITK-5.0.1 (#8991)
          • fix homepage & description in easyconfig file for YAPS (#8993)
          • add patch for PyTorch 1.2.0 to fix failing softmax test on Intel Sandy Bridge (#9010)
          • fix permissions for TRF (#9034)
          • ICU needs Python 2.7+ to build, so add that as builddependency (#9053)
          • fix urls for Anaconda and Miniconda (#9087)
          • use a cuDNN version that has support for the CUDA version in fosscuda/2019a (CUDA 10.1) in PyTorch, TensorFlow and Theano easyconfigs (#9112)
        • other changes:
          • make sources in CUDA 10.1.105 use %(cudaarch)s template value (to use different source on POWER systems) (#8136)
          • update Java/1.8 wrapper to Java/1.8.0_221 (#9038)
          • allow divergent Java dep version as long as it's indicated by versionsuffix (#9041)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb400","title":"EasyBuild v4.0.0 (September 20th 2019)","text":"

        feature release (incl. backwards-incompatible changes)

        framework

        • fixed compatibility with Python 3.5+ (#2708, #2713, #2714, #2719, #2721, #2723, #2729, #2743, #2744, #2751, #2756, #2759, #2761, #2762, #2765, #2766, #2767, #2768, #2774, #2775, #2778, #2780, #2785, #2787, #2789, #2791, #2792, #2794, #2800, #2801, #2805, #2806, #2895, #2932, #2982, #2992, #3007, #3011)
          • supported Python versions: 2.6, 2.7, 3.5, 3.6, 3.7
          • some functionality from the Python standard library should be imported from the new easybuild.tools.py2vs3 package
          • see Compatibility with Python 2 and Python 3 & Overview of relocated functions, classes and constants in EasyBuild v4.0
        • ingested relevant code from vsc-base & vsc-install (#2708, #2713, #2714, #2763, #2790, #2993)
          • vsc-base & vsc-install are no longer required as dependencies
          • the functionality that was provided by these packages is now (mostly) available from the easybuild.base package
          • any import statements from the 'vsc' namespace will result in an error
          • see also Ingested functionality from vsc-base and vsc-install and Overview of relocated functions, classes and constants in EasyBuild v4.0
        • setuptools is longer required (neither for installing or using EasyBuild) (#2836, #2837, #2984, #2986, #2988)
          • see also No more required Python packages
          • this required moving some classes and constants, see Overview of relocated functions, classes and constants in EasyBuild v4.0
        • the 'dummy' toolchain is deprecated and replaced by the 'system' toolchain (#2877, #3001)
          • if 'dummy' is still used as a toolchain in easyconfig files, a warning will be printed
          • use \"toolchain = SYSTEM\" instead
          • for more information, see System toolchain
        • a warning is printed when local variables in easyconfig file don't follow the recommended naming scheme (#2938, #2968)
          • see also Local variables in easyconfig files
        • names of software installation directories are independent of module naming scheme by enabling --fixed-installdir-naming-scheme by default (#2999)
          • see --fixed-installdir-naming-scheme enabled by default for more information
        • various other small enhancements, including:
          • use requests instead of urllib2 for 403 errors (#2695)
          • use pip requirements file in Travis (#2874)
          • add support for --fix-deprecated-easyconfigs (#2881, 2898, #2938)
          • add -L$EBROOTIMKL/lib/intel64 to $LDFLAGS for MKL (#2930)
          • handle dict-type checksums in check_checksums_for (#2974)
          • allow that icc & ifort are not actual dependencies in iccifort toolchain module (#2995)
          • define mapping for iccifort->intel for iccifort compiler-only toolchain for HMNS (#2996)
          • also consider concatenation of compiler module names to determine details of toolchain compiler component (#2997)
          • update metadata for Cray-provided external modules (#3013)
        • various bug fixes, including:
          • update the PyPI trove classifiers in setup.py (#2875)
          • reverse lists for $LDFLAGS and $CPPFLAGS (#2931)
          • enhance/fix to_template_str function to do a better job at using template values in dumped easyconfigs (#2948)
          • also take into account --filter-deps when finalizing parsed dependencies to fix problem with dependency filters using version ranges (#2983)
          • fix broken --from-pr tests due to archiving of easyconfigs (#2985)
          • fixes required to avoid breaking Cray support (#3008)
          • fixes for --read-only-installdir: avoid crash with ModuleRC easyblock + also make log file in installdir read-only (#3012)
        • other changes:
          • add check to ensure that --robot argument specifies an existing directory (#2086)
          • remove old scripts that are no longer useful (+ minor fixes to others) (#2897)
          • use 'command -v' to avoid requiring 'which' in 'eb' command (#2979)
          • add modluafooter & modtclfooter at the end of the generated module file (#3003)
          • print warning when 'eb' command is not found in $PATH and for empty robot search path (#3006)

        easyblocks

        • fixes due to backwards-incompatible changes in easybuild-framework v4.0.0
          • use is_system_toolchain() rather than checking toolchain name against DUMMY_TOOLCHAIN_NAME constant (#1690, #1728)
        • fix compatibility of various easyblocks with Python 3 (#1640, #1644, #1648, #1721, #1794, #1808, #1795, #1796, #1807, #1809)
        • new software-specific easyblocks for OpenMPI (#1789, #1801), iccifort (#1799) and numexpr (#1803, #1804)
        • various other enhancements, including:
          • removed checks for Boussinesq and sonic solvers for OpenFOAM 7, since those have been deprecated (#1733)
          • update Paraver easyblock to support recent versions (#1790)
        • various bug fixes, including:
          • update the PyPI trove classifiers (#1723)
          • make the plugins build use the correct Tcl library version in VMD easyblock (#1786)
          • use *_MT libs for BLAS/LAPACK only if openmp is enabled in Trilinos easyblock (#1791)
          • filter out empty entries in $CPATH or $C_INCLUDE_PATH when building Perl, since that breaks the build (#1800)
          • set $XDG_CACHE_HOME in TensorFlow easyblock to avoid that pip (ab)uses $HOME/.cache (#1802)
          • don't load modules for dependencies in CrayToolchain.prepare_step (#1805)
        • other changes:
          • drop requirement for setuptools as runtime dependency (#1689)
          • enable 'check_ldshared' in generic PythonPackage easyblock by default for recent Python versions (#1788)
          • stop trying to use setuptools.setup in setup.py, always use distutils.core.setup instead (#1793)

        easyconfigs

        • fixes due to changes in easybuild-framework v4.0.0
          • use SYSTEM toolchain rather than deprecated dummy toolchain (#8369, #8711, #8822)
          • fix names of local variables (#8682-#8688, #8690, #8695-#8702, #8709, #8710, #8715, #8717, #8718, #8720-#8732, #8822)
          • enable --local-var-naming-check=error for easyconfigs tests (#8784)
          • stick to 'dummy' toolchain for now in easyconfig for latest EasyBuild 3.x (#8829)
        • fix compatibility with Python 3: also run easyconfigs tests with Python 3.5, 3.6 and 3.7 (#7778, #7836, #8293)
        • added easyconfigs for new common toolchains: foss/2019b (#8567), intel/2019b (#8681)
          • iccifort is now installed as a single entity (no more separate icc/ifort installations from intel/2019b onwards) (see also #8879)
          • versionsuffix has been stripped down for toolchain components (GCC/binutils/OpenBLAS versions are no longer included)
          • see also https://easybuild.readthedocs.io/en/latest/Common-toolchains.html
        • added example easyconfig files for 28 new software packages:
          • AGFusion (#8840), Bonmin (#8855), causalml (#8871), ClonalFrameML (#6082), Control-FREEC (#8794), corner (#8886), CVXPY (#8662), cytosim (#8368), dill (#8885), Dsuite (#8713), GDCHART (#8679), gifsicle (#8664), guenomu (#8677), JsonCpp (#8841), libxml++ (#8896), LOHHLA (#7227), Longshot (#8830), MDBM (#8850), nglview (#8860), ownCloud (#6804), ptemcee (#8884), pubtcrs (#7500), pyiron (#8860), qpth (#8665), QtKeychain (#6804), rgdal (#8826), smallgenomeutilities (#8507), umis (#8812)
        • added additional easyconfigs for various supported software packages, including:
          • Blosc 1.17.0, bokeh 1.3.4, cURL 7.66.0, csvkit 1.0.4, dask 2.3.0, Extrae 3.7.1, FSL 6.0.1, GLibmm 2.49.7, git 2.23.0, IPython 7.7.0, numexpr 2.7.0, OSU-Micro-Benchmarks 5.6.2, OpenBLAS 0.3.7, OpenSSL 1.1.1d, ParaView 5.5.2, Paraver 4.8.1, Perl 5.30.0, PnetCDF 1.10.0, Porechop 0.2.4, PyTables 3.5.2, PyTorch 1.2.0, Python 2.7.16 + 3.7.4, parallel 20190622, phonopy 2.2.0, QIIME2 2019.7, Qiskit 0.12.0, REMORA 1.8.3, scikit-image 0.15.0, spglib-python 1.14.1.post0, torchvision 0.3.0, X11 20190717
        • various additional minor enhancements, including:
          • add several extensions to R 3.6.0 easyconfigs (#8843, #8881)
          • add pRoloc to R-bundle-Bioconductor v3.9 (#8882)
          • clean up OpenMPI 3.1.* and 4.* easyconfigs to use custom OpenMPI easyblock (#8889, #8890)
          • update numexpr easyconfigs to use custom easyblock for numexpr (#8901)
          • switch to PythonBundle & enable use_pip in old dask easyconfig files (#8922)
          • update CrayCCE, CrayGNU, CrayIntel and CrayPGI toolchains to 19.06 (#8944)
        • various bug fixes, including:
          • make TensorFlow 1.7.0 work for AMD CPUs (#6256)
          • make sure that right Python wrapper is used in VTK8 (#7296)
          • update the PyPI trove classifiers (#8298)
          • add missing checksum for matplotlib v3.0.3 (#8643)
          • add patch to plugins/Make-arch to use the correct Tcl library version in VMD (#8820)
          • fix issue where 'print_qiime_config.py -t' sanity check command fails for QIIME 1.9.1 because of missing subdir in $PYTHONPATH (#8838)
          • update homepage info in likwid (#8846)
          • disable threading in preprocessCore extension included with Bioconductor 3.9 to work around conflict with OpenBLAS's threading (#8847)
          • add -lrt patch to PyTorch 1.1.0 easyconfig (#8852)
          • fix incorrect escaping in SIP configure options in PyQt5 easyconfigs (#8856)
          • add missing Autotools build dep for fastq-tools (#8858)
          • add missing deps for zlib, bzip2, and XZ for angsd (#8867)
          • apply patch to R package uroot in R 3.6.0 (#8872)
          • consider archive source URL for all extensions in R-tesseract easyconfig (#8897)
          • add pkg-config build dep for tesseract v4.0.0 (#8898)
          • fix source_urls in byacc easyconfig files (#8899, #8908)
          • add missing cairo dependency to PRINSEQ easyconfig file (#8902)
          • configure OpenMPI 1.10.x with --without-ucx to avoid problems when ucx-devel is installed in the OS (#8903)
          • add GDAL 3.0.0 for Python 2.7.15 and fix the Python 3.7.2 version (#8912)
          • fix homepage & description in scikit-image easyconfigs (#8916)
          • add faulthandler patches to Python 3.7.0 easyconfigs (#8832)
        • other changes:
          • archive ancient CUDA 5.0.35 easyconfigs with creative way of determining sources (#7796)
          • remove ancient easyconfigs from archive (#8542)
          • archive easyconfigs using deprecated toolchains (#8557, #8558, #8585)
          • archive ancient versions of GC3Pie/GCC/OpenMPI/ORCA (#8586) & CPLEX (#8765)
          • rename SALMON to SALMON-TDDFT to fix name clash with Salmon (#8613)
          • bump AnnotationDb version in bundle for Bioconductor 3.9 (#8854)
          • stop trying to use setuptools.setup in setup.py, always use distutils.core.setup instead (#8866, #8892, #8894)
          • archive easyconfigs using ancient Cray* toolchains (#8945)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb394","title":"EasyBuild v3.9.4 (August 23rd 2019)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add support for specifying checksum via dict providing a filename-to-checksum mapping (#2946)
          • enhance 'completed' message with how much time was needed for the installation (#2956)
          • add support for specifying tuple of alternative checksums (#2958)
          • support using 'system' as alias for 'dummy' toolchain + SYSTEM constant (#2960)
          • ensure 'docurls' easyconfig parameter value is a list of string values, not a single string value (#2963)
          • automatically enable --ignore-osdeps when using --check-contrib or --check-style (#2965)
        • various bug fixes, including:
          • escape '+' in search queries + handle invalid search queries better (#2967)
          • also consider extension patches when determining for which easyconfig a given patch file is intended in --new-pr/--update-pr (#2969)
          • unset $CDPATH early on if it is defined (#2970)
          • create specified temporary log directory if it doesn't exist yet in init_logging (#2972)
          • don't indicate first multi_deps version as default in module help text when multi_deps_load_default=False (#2973)
        • other changes:
          • deprecate toolchains older than gompi/2016a and foss/2016a (#2951)

        easyblocks

        • new software-specific easyblock for MSM (#1770, #1775, #1776)
        • minor enhancements, including:
          • allow specifying the license file directly in MATLAB easyblock (#1712)
          • enhance CPLEX easyblock to also build Python bindings (#1738)
          • workaround for XCrySDen for Tcl 8.6 (#1749)
          • update WIEN2k easyblock to support version 19.1 (#1758)
          • resolve custom %(cudaarch)s template value for CUDA sources (#1766)
          • enhance sanity check for Blender to make sure that Cycles render engine is available (#1779)
        • various bug fixes, including:
          • only check for qtwebengine in custom easyblock for Qt(5) if glibc is sufficiently recent (#1771)
          • correctly define comp.src in Bundle easyblock, to fix compatibility with easyblocks that leverage self.src (#1777)
          • fix Bundle.check_checksums to checksums for extensions are also checked (#1778)

        easyconfigs

        • added example easyconfig files for 36 new software packages:
          • ArrayFire (#8461), BRAKER (#8437), bwidget (#8477), Catch2 (#8703), core-counter (#8749), CubeGUI (#6328), CubeLib (#6328), CubeWriter (#6328), dagitty (#8606), enaBrowserTool (#8795), GEMMA (#8270), GeneMark-ET (#8437), GenomeThreader (#8437), ieeg-cli (#8793, #8811), Judy (#8543), Julia (#8578), libaio (#8543), libtirpc (#8792), magick (#8545), MSM (#8556), MSPC (#8531), mygene (#8809), OpenMolcas (#7699), PhiPack (#8750), plc (#8796), plotly.py (#8756), pymemcache (#8663), PySCF (#8736), qcint (#8736), Qiskit (#7592), QuaZIP (#8672), re2c (#8543), SeqAn3 (#8651), snippy (#8635), spaln (#8437), V8 (#8676)
        • added additional easyconfigs for various supported software packages, including:
          • ASE 3.18.0, BEDTools 2.28.0, Bowtie 1.2.3, bzip2 1.0.8, CPLEX 12.9, CUDA 10.1 update 2, cyvcf2 0.11.5, EIGENSOFT 7.2.1, GC3Pie 2.5.2, GCC(core) 9.2.0, GPAW 19.8.1, GlobalArrays 5.7, IMB 2019.3, imageio 2.5.0, jemalloc 5.2.0, nodejs 10.15.3, PyTorch 1.1.0, pybedtools 0.8.0, Quandl 3.4.8, R 3.6.0 w/ intel/2019a, R-bundle-Bioconductor 3.9, Salmon 0.14.1, Scalasca 2.5, Score-P 6.0, Stacks 2.41, TensorFlow 1.14.0, ToFu 1.4.0, WIEN2k 19.1, Wannier90 3.0.0, XCrySDen 1.5.60
        • minor enhancements, including:
          • add patch and dependencies to easyconfig for Qt5 5.12.3 to fix Xlib support & enhance the installation (#8544)
          • update nodejs to version 10.15.3 and build libnode and libv8 shared libs (#8546)
          • add extensions to R 3.6.0 easyconfig: MIIVsem (#8565), medflex (#8680), Rserve/spls (#8758), Boruta/CovSel/ctmle/BayesPen (#8805)
          • include PyQtWebEngine bindings in easyconfig for PyQt5 5.12.1 using Python 3.7.2 (#8572)
          • switch GLX backend to Gallium in Mesa-19.0.1 (#8594)
        • various bug fixes, including:
          • fix typo in description in GroopM easyconfig file (#8346)
          • add missing bugfix patch to easyconfig for OpenMPI 3.1.4 (#8566)
          • downgrade AtomPAW to last supported version in ABINIT 8.10.3 (#8571)
          • switch easyconfig for glew 2.1.0 to ConfigureMake easyblock (#8595)
          • fix checksum for source tarball in foss/2018b easyconfig of NAMD v2.13 (#8602)
          • update URL for bzip2 easyconfigs (#8614)
          • add patch for M4 1.4.17 to fix installation on top of glibc 2.28 (#8666)
          • add patch for Bison 3.0.4 to fix installation on top of glibc 2.28 (#8675)
          • avoid needless requirement for matplotlib < 3.0.0 in MultiQC easyconfigs (#8691)
          • fix checksum in OpenMPI 1.8.8 easyconfigs (#8692)
          • add alternative checksums for nlme/mgcv/foreign/boot extensions in R 3.5.1 and 3.6.0 easyconfigs (#8564, #8762)
          • add missing core-counter dependency for worker 1.6.8 (#8749)
          • add missing pkg-config build dependency in various easyconfigs for (#8763, #8775, #8777, #8776, #8764, #8787, #8816)
          • add patch to Python 3.7.2 easyconfig to fix faulthandler segfault (#8781)
          • set $CPLUS_INCLUDE_PATH in easyconfigs for older matplotlib versions (#8785)
          • patch out removed glibc 2.28 header from GCC libsanitizer (#8789)
          • include sysmacros.h directly to work around removal from glibc header in numactl easyconfig (#8790)
          • adapt gzip's bundled gnulib for glibc 2.28 (#8791)
          • add libtirpc and depend on it in easyconfig for libdap 3.20.3 (#8792)
          • add missing YAML extension to Perl 5.28.0 easyconfig (required by BioPerl scripts) (#8806)
        • other changes:
          • remove broken easyconfigs for ciftify due to non-trivial missing dependencies (#8560)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb393","title":"EasyBuild v3.9.3 (July 8th 2019)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add a URL whatis line to generated module files (#2933)
        • various bug fixes, including:
          • stick to Ubuntu Trusty when testing with Python 2.6 in Travis (#2928)
          • honor --tmp-logdir when determining location of temporary log file (#2937)

        easyblocks

        • minor enhancements, including:
          • also install docs and demos in Rosetta easyblock (#1745)
          • update HEALPix easyblock to work with latest version of HEALPix' configure.sh (#1752)
          • make HPCG log pattern more generic, it changed in 3.1 (#1753)
          • allow bootstrapping GCC with profile-guided optimizations (#1756)
          • only require vsc-base for EasyBuild 2.x and 3.x in EasyBuildMeta easyblock (#1757)
          • extend question patterns with 'https' URL entry in Modeller easyblock for recent versions (#1762)
          • modextrapaths implemented on easyblock level, sanity_check_step, gcc_target added in HEALPix easyblock (#1763)
          • update OpenBLAS easyblock to be aware of POWER9 support in OpenBLAS 0.3.6 (#1765)
        • various bug fixes, including:
          • stick to Ubuntu Trusty when testing with Python 2.6 in Travis (#1751)
          • fix scripts installation path in SNPhylo easyblock (#1759)
          • be more patient when running interactive Allwmake.firstInstall command for recent OpenFOAM-Extend versions (#1761)
          • also add --without-go configure option for SWIG as we \"disable everything by default\" (#1754)
          • don't assume cmake arguments when configure_cmd is set in CMakeMake easyblock (#1750)

        easyconfigs

        • added example easyconfig files for 25 new software packages:
          • Arb (#8137), AtomPAW (#8506), ciftify (#8457), cysignals (#8459), deal.II (#8440), FastQTL (#8449), FLINT (#8137), gdbgui (#8488), gearshifft (#8482), jbigkit (#8442), lavaan (#8539), libRmath (#8449), OR-Tools (#8364, #8523), p4est (#8440), ppl (#8459), pplpy (#8459), PRISMS-PF (#8440), PyAPS3 (#8398), pyEGA3 (#8418), ReFrame (#8481), S4 (#8487), SALMON (#8478), TM-align (#8510), UnZip (#8474), XTandem (#8517)
        • added additional easyconfigs for various supported software packages, including:
          • ABINIT 8.10.3, CFITSIO 3.47, GDB 8.3, GROMACS 2019.3, HEALPix 3.50, HPCG 3.1, Nilearn 0.5.2, OpenBLAS 0.3.6, Xerces-C++ 3.2.0
        • minor enhancements, including:
          • update easyconfig for CFITSIO 3.45 with https and sanity check (#8472)
          • add AtomPAW and Wannier90 support to ABINIT 8.10.2 easyconfig (#8506)
          • add 'resample' extension to R 3.5.1 + 3.6.0 easyconfigs (#8538)
        • various bug fixes, including:
          • fix source URLs for Mesa 17.{2,3} with fosscuda toolchain (#8446)
          • add in Boost dependency to canu-1.8 easyconfigs using foss toolchain (#8470)
          • stick to Ubuntu Trusty when testing with Python 2.6 in Travis (#8483)
          • fix incorrect order of extensions for Python-2.7.14 easyconfigs (pycparser and cffi must come before cryptography) (#8495)
          • suppress installation of libbfd and libopcode for GDB (#8496)
          • fix KronaTools easyconfigs to make sure symlinks in bin are not broken (#8508)
          • make additional configopts in PETSc easyconfigs work after uncommenting (#8522)
          • add pkg-config build dep to easyconfig for pocl 1.2 (#8528)
          • download correct source tarball for Net-core 2.1.8 (#8530)
          • fix 'Permission denied' error when running 'cp -a' for ANTs 2.3.1 installation by first removing the .git subdirectories causing them (#8535)
          • fix checksum for boot 1.3-22 extension in R 3.6.0 easyconfig (#8537)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb392","title":"EasyBuild v3.9.2 (June 9th 2019)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • enhance (experimental) support for generating Singularity container recipes/images (#2884, #2900, #2902, #2903, #2907, #2909, #2910, #2913, #2915)
            • add support for specifying container configuration via --container-config (--container-base option has been removed)
            • add support for providing custom template for container recipe via --container-template-recipe
            • add support for 'sif' Singularity 3.x container image format
            • add support for specifying non-image based Singularity bootstrap agents
            • install default set of OS packages in container recipes starting from scratch
            • configure Lmod and update Lmod spider cache in generated Singularity container recipes
            • configure EasyBuild via environment variables (to allow overriding configuration settings via options to 'eb' command)
            • also consider /tmp/easybuild/sources in source path (to allow seeding in sources in container build environment)
            • updated documentation is available at https://easybuild.readthedocs.io/en/latest/Containers.html
        • various bug fixes, including:
          • make sure that easyconfig file for EasyBuild version being bootstrapped is found in robot search path (#2899)
          • remove interpreter options when fixing script shebang (#2905, #2906)
          • fix crash on iterated installation when using Cray toolchains (#2914)
          • disable checking of read/exec permissions when checking for availability of 'sudo' command (#2918)
        • other changes:
          • stick to vsc-base < 2.9.0 in bootstrap script to avoid requiring 'future' dependency (#2892)

        easyblocks

        • new software-specific easyblock for ELPA (#1621)
        • minor enhancements, including:
          • allow Boost to build both Python 2 and Python 3 libraries (#1718)
          • update CPLEX sanity check: convert tool was removed in CPLEX 12.8 (#1737)
          • don't try to patch CROSSTOOL script for recent Bazel versions (since it's no longer there) (#1741)
        • various bug fixes, including:
          • fix version check on using '-log' option to 'Allwmake' in OpenFOAM easyblock (#1739)
          • fix GROMACS easyblock for list-type configopts (#1740)
          • fix configure step for GROMACS version < 4.6 (#1742)

        easyconfigs

        • added example easyconfig files for 17 new software packages:
          • adjustText (#8354), cowsay (#8380), fxtract (#8426), google-java-format (#8373), libtar (#8379), mkl-service (#8390), msprime (#8371), pygrib (#8395), pyhdf (#8394), pyproj (#8395), PyStan (#8410), Racon (#8358), rapidtide (#8256), SingleM (#8428), smafa (#8420), SVDetect (#8399), Unicycler (#8376)
        • added additional easyconfigs for various supported software packages, including:
          • BLAST+ 2.9.0, Boost.Python 1.70.0, DIAMOND 0.9.24, EMAN2 2.3, ecCodes 2.12.5, GDAL 3.0.0, ImageMagick 7.0.8-46, Libint 2.5.0, matplotlib 2.2.4, NLopt 2.6.1, OrfM 0.7.1, PGI 19.4, PostgreSQL 11.3, R 3.6.0, R-bundle-Bioconductor 3.8, Rust 1.35.0, STAR 2.7.1a
        • minor enhancements, including:
          • use CMake rather than configure script for libxc 4.3.4 (#8361, #8453)
          • add 'cobs' extension to R 3.5.1 easyconfigs (#8389)
          • add sanity check command to PSI4 1.2.1 easyconfigs to ensure that 'import psi4' works (#8393)
          • include the provided backports patch in QuantumESPRESSO-6.4.1 (#8405)
          • add Logger::Simple, Scalar::Util::Numeric, YAML, Object::InsideOut extensions to Perl 5.28.1 easyconfig (#8432)
          • update Java 1.8 to 1.8.0_212 (#8443)
        • various bug fixes, including:
          • add missing build dependency on gettext to ATK/2.28.1 for fosscuda/2018b (#8402)
          • add patch to fix OpenBLAS v0.3.1 matrices multiplication issue (#8396)
          • make Eigen a build dependency for nanopolish (#8448)
        • other changes:
          • clean up ELPA 2018.11.001 easyconfig to use custom easyblock for ELPA (#8360)
          • remove unused checksum for ballgown extension in Bioconductor 3.7 easyconfigs (#8363)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb391","title":"EasyBuild v3.9.1 (May 20th 2019)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add function to determine whether specified easyblock is generic or not (#2838)
          • add support to apply_regex_substitutions function to skip creation of backup (#2844)
          • add support for %(pymajver)s (& co) (#2850)
          • add support for 'fix_python_shebang_for' and 'fix_perl_shebang_for' easyconfig parameters (#2878)
          • add multi_deps information to generated module, help and whatis sections (#2882)
          • add support for 'eb --missing' ('eb -M') (#2883)
            • see also https://easybuild.readthedocs.io/en/latest/Using_the_EasyBuild_command_line.html#getting-an-overview-of-missing-installations-missing-m
        • various bug fixes, including:
          • only call 'scontrol release' when there's at least one job submitted (#2834)
          • fix small bug in find_eb_script + various minor issues with tests (related to environment in which tests are run) (#2835)
          • list build dependencies before runtime dependencies, so dependencies listed via multi_deps are loaded first in toolchain environment (#2839)
          • allow setting parallel to 0 or False to disable adding the -j argument (#2842)
          • be more careful when using single quotes for Tcl syntax (#2847)
          • append to existing .modulerc file rather than overwriting it (if --force is used) (#2848)
          • correctly resolve template values used for extensions (#2852)
          • update template values after updating iterative easyconfig parameters (#2854)
          • add top-level directories of hierarchical module naming scheme to $MODULEPATH before loading dependencies (#2857)
          • inject dependencies specified via multi_deps before normal build dependencies (#2861)
          • include Python version(s) in PR titles auto-generated by --new-pr (#2863, #2880)
          • update HierarchicalMNS for GCCcore toolchain (#2870)
          • bump iteration index counter at the correct time (#2886)
          • don't specify --ntasks-per-node when submitting Slurm jobs (#2887)
          • fix order of easyconfig parameters in output generated by 'eb --avail-easyconfig-params --output-format rst' (#2888)
        • other changes:
          • lower required version in Slurm job backend to 16.05 (#2833)
          • add Lmod 8 to test suite (#2849)
          • deprecate useless 'skip_lower' named argument in template_constant_dict, always define *lower templates (#2856)
          • fix Python classifiers in setup.py, should be (only) Python 2.6 & 2.7 (#2876)

        easyblocks

        • one new generic easyblock: CMakeMakeCp (#1725)
        • new software-specific easyblock for Blender (#1595), Lua (#1396), OpenBLAS (#1693, #1697)
          • OpenBLAS easyblock also supports installation on POWER systems
        • minor enhancements, including:
          • enhance VMD easyblock to also build Surf & Stride + pick up netCDF for VMD >= 1.9.3 (#1314)
          • update CGAL easyblock to support CGAL 4.12 & newer (#1679)
          • update QuantumESPRESSO easyblock for v6.4.1 (#1692)
          • enhance Advisor & VTune easyblocks, since no license is required starting with version 2019 update 3 (#1694, #1695)
          • handle new multi-deps Python setup with $EBPYTHONPREFIXES for Tensorflow (#1702)
          • make CHARMM easyblock pick up on prebuildopts and runtest (#1707)
          • change default value for 'use_pip' to None, so we can discriminate from 'use_pip' being set to False explicitly (#1709)
          • make PythonPackage aware of (pre)testopts (#1715)
          • enable GPU offloading in Clang if CUDA is included as a dep (#1716)
          • add support to Clang easyblock for also building libc++ and RTTI (#1717)
          • rebuild internal libfabric for impi 2019.x & more recent (#1730)
          • update Q&A patterns in SAS easyblock for version 9.4 + add support for custom license file path (#1731)
        • various bug fixes, including:
          • only install mkl-dnn by default with TensorFlow on x86-64 systems (#1666)
          • make sure ldconfig can be found before using it in CUDA easyblock (#1684)
          • use temporary directory for pip cache (rather than $HOME/.cache/pip) in PythonPackage easyblock (#1687)
          • allow oversubscription when testing FFTW on top of OpenMPI >= 3.0 (#1688)
          • make sure $HOME/.cache/pip isn't used while installing Tkinter (#1691)
          • set default exts_filter in PythonBundle, so already installed extensions in a bundle can be skipped (#1701)
          • instruct Bazel to not use $HOME/.cache/bazel in TensorFlow easyblock (#1704)
          • also set $XDG_CACHE_HOME during installation of Python, to ensure that 'pip' that comes along with it doesn't touch $HOME/.cache/pip (#1705)
          • use -fp-model precise if FMA instructions are missing in GROMACS easyblock (#1706)
          • make sure Perl install dir follows a standard format (#1708)
          • attach source_urls directly to sources for components in generic Bundle easyblock (#1711)
          • avoid that --no-build-isolation option is specified multiple times in PythonPackage easyblock (#1713)
          • fix prefix in impi compiler wrappers (#1727)
          • only embed zlib in binutils if it is listed a build dependency (#1732)
        • other changes:
          • fix Python classifiers in setup.py, should be (only) Python 2.6 & 2.7 (#1724)

        easyconfigs

        • added easyconfigs for new toolchains:
          • fosscuda/2019a (#8063), gimkl/2018b (#8287), gomkl/2018b (#8216), gomkl/2019a (#8218), intelcuda/2019a (#8069)
        • added example easyconfig files for 52 new software packages:
          • ADDA (#8207), AMD-LibM (#7164), AMD-RNG (#7165), AMD-SecureRNG (#7165), ARGoS (#8039, #8104), ARWEN (#8213), Canvas (#7716), cdsapi (#7970), charmm (#8202), emcee (#7989), FlexiDot (#8228, #8275), FreeImage (#8039), Hello (#7704), HLAminer (8094), hypothesis (#8307), imgaug (#8229), INTEGRATE (#8193, #8304), INTEGRATE-Neo (#8094), IRkernel (#8050, #8099), JiTCODE (#7148, #8327), libFLAME (#7163), libpsml (#5859), LibSoup (#8116), libutempter (#6426), LS-PrePost (#8070), LUSCUS (#7191, #8105, #8285), memory-profiler (#8255), metaWRAP (#7896), Net-core (#7716), netMHC (#8094), Nextflow (#8195), nvtop (#8024), openpyxl (#8121), py-cpuinfo (#8245), pyFFTW (#8198), PyQtGraph (#7525, #8253), R-tesseract (#7933), RBFOpt (#8178), rnaQUAST (#8040), RStan (#7996), scikit-multilearn (#8142), simpy (#8177, #8250), SMARTdenovo (#7630), socat (#8305), SymEngine (#7148, #8327), unixODBC (#8074), VAtools (#7938), VirtualGL (#8008), WebKitGTK+ (#8118, #8241), xmlf90 (#5858), YAPS (#7976), zingeR (#7264)
        • added additional easyconfigs for various supported software packages, including:
          • Boost 1.70.0, cairo 1.16.0, CGAL 4.14, Clang 8.0, cutadapt 2.1, dask 1.1.4, ELPA 2018.11.001, FFmpeg 4.1.3, GCC 9.1.0, GEOS 3.7.2, GLib 2.60.1, gmsh 4.2.2, GROMACS 2019.2, GTK+ 3.24.8, h5py 2.9.0, hwloc 1.11.12, Hypre 2.15.1, Mathematica 12.0.0, matplotlib 3.0.3, Mesa 19.0.1, NBO 7.0, NCL 6.6.2, NCO 4.7.9, NiBabel 2.4.0, numba 0.43.1, OpenMPI 3.1.4, OrthoFinder 2.3.3, PCMSolver 1.2.3, PETSc 3.11.1, PROJ 6.0.0, PyQt5 5.12.1, PyTorch 1.0.1, PyYAML 5.1, Qt5 5.12.3, QuantumESPRESSO 6.4.1, R 3.5.1 (w/ intel/2018b), RNAIndel 1.0.0, Ruby 2.6.3, scikit-learn 0.20.3, SLEPc 3.11.0, sympy 1.4, Tkinter 3.7.2, Vim 8.1.1209, VTK 8.2.0, wrf-python 1.3.1, wxPython 4.0.4, wxWidgets 3.0.4, xarray 0.12.1, zstd 1.4.0
        • minor enhancements, including:
          • enable auto-download of VMD 1.9.3 + add patches for Surf and Stride (#7305)
          • add mlegp extension in R 3.5.1 easyconfigs (#7814)
          • add pkg-config file to bzip2 easyconfigs (#8200)
          • allow use of 'use_pip = False' in easyconfigs if pip doesn't work (#8220)
        • various bug fixes, including:
          • fix checksums for nlme extensions in R easyconfigs (#7814, #8054)
          • add missing XZ dependency for Pysam > 0.12 (#7971)
          • define $GRACE_HOME in Grace easyconfigs, so that font dir can be located (#8048)
          • $XDG_DATA_DIRS must be set for GTK+ (#8089)
          • add missing FriBidi dependency for Pango 1.43.0 (#8103)
          • add (back) custom sanity_check_paths in recent Pango easyconfigs (#8106)
          • fix missing extensions in cutadapt 1.16 easyconfigs (#8130)
          • add missing cURL dependency for recent SAMtools versions (#8131)
          • add singledispatch extension to Python 2.7.15 easyconfig using GCCcore/8.2.0 toolchain (#8164)
          • add missing X11 dependency for Gdk-Pixbuf 2.38.1 (#8222)
          • make sure hdf5r picks up HDF5 dependency in R 3.5.1 easyconfigs (#8223)
          • enable zstd compression in GRASS 7.6.0 easyconfig (#8224)
          • add missing ICU dependency on ICU for Harfbuzz 2.4.0 (#8226)
          • disable AVX512 DGEMM kernels in OpenBLAS 0.3.5 (#8227)
          • fix homepage/description in OrthoFinder easyconfig (#8234)
          • add Parallel::ForkManager extension to Perl 5.28.x easyconfigs (#8247)
          • replace LibUUID dependencies with util-linux (#8258)
          • add jemalloc & pkg-config as build deps for Salmon 0.12.0 (#8264)
          • fix MAJIQ easyconfig by fixing order of extensions + avoid numpy test hang (#8272)
          • fix shebang in GLib Python script + clarify runtime dependency on Python (#8277)
          • add pkg-config and expat as (build) dependency for DBus (#8283)
          • define $GI_TYPELIB_PATH in GTK+ and Pango easyconfigs (#8246, #8286)
          • add pkg-config build dep to PROJ 6.0.0 easyconfig (#8309)
          • fix source URLS in recent libcerf easyconfigs (#8332, #8243)
          • make zlib a real dependency rather than a build dep in recent binutils easyconfigs (>= 2.28) (#8340)
          • add fix-ib-query patch to OpenMPI 2.1.x and 3.0.x easyconfigs (#8341)
          • set $XDG_CACHE_HOME to $TMPDIR before 'pip install' in Arrow 0.12.0 easyconfigs (#8347)
        • other changes:
          • remove xbitmaps dependency from motif (#7530)
          • require custom sanity_check_paths in easyconfigs touched in PRs when generic easyblock is used (#8101, #8123)
          • use CMake built with GCCcore toolchain when installing Eigen 3.3.4+ (#8261)
          • fix Python classifiers in setup.py, should be (only) Python 2.6 & 2.7 (#8299)
          • use custom easyblock for OpenBLAS in OpenBLAS 0.3.x easyconfigs (#8345, #8339)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb390","title":"EasyBuild v3.9.0 (April 12th 2019)","text":"

        feature release

        framework

        • various enhancements, including:
          • add (pre)testopts easyconfig parameters (#2793)
          • add support for multi_deps easyconfig parameter (#2741, #2810, #2811, #2812, #2813, #2825, #2826, #2827, #2828)
        • various bug fixes, including:
          • fix argument name in close_pr (#2752)
          • fix undefined variable 'prefix' in Compiler._set_compiler_vars (#2757)
          • fix test account for GitHub-related tests (#2760)
          • make sure read permissions are always set in permissions_step (#2770)
          • make test for dep_graph function robust against changing order of lines in resulting dot file (#2772)
          • fix problem with import_available_modules when running from easybuild-framework directory (#2786)
          • prepend location of test easyblocks to $PYTHONPATH to test_generate_software_list, rather than append (#2788)
          • use pid in backup name candidate to reduce risk of two processes colliding (#2796)
          • automatically enable --ignore-osdeps when using --preview-pr (#2799)
          • use temporary checkout of repository as robot path for --new-pr and --update-pr to determine locations for patch files (#2803)
          • avoid relying on order in which keys are processed in to_dependency (#2804)
          • fix yeb format to work with PyYAML 5 (#2809)
          • fix typo in error message for use of unknown easyconfig parameter (#2817)
          • enhance log_file_format to fix problem when %(name)s template value is used for log directory (#2818)
          • iterate over subdirectories in order in find_egg_dir_for of bootstrap script, to ensure oldest vsc-install is picked (#2819)
          • replace -Wl,--enable-new-dtags compiler option with -Wl,--disable-new-dtags in RPATH wrapper script (#2821)
          • updated COMPILER_F77 for PGI >= 19.1 (#2823)
          • added FFTW_STATIC_LIBS_MT to FFTW_MAP_CLASS, otherwise FFTW_STATIC_LIBS_MT are incorrectly defined (#2822)
          • sort available version list when selecting/generating easyconfig (#2732)
        • other changes:
          • use assertEqual rather than assertEquals (which is deprecated) (#2746)
          • test with Tmod 4.1.4 (packaged in RHEL8) in Travis CI (#2747)
          • replace deps by hidden deps instead of removing them from the lists (#2748)
          • ensure non-zero exit code for all test subsuites (+ fix trivial style issues) (#2773)
          • silence printed deprecation warnings for easyconfigs/toolchains while running (easyconfigs) test suite (#2781)
          • avoid printing of messages/warnings in framework test suite (#2782)
          • enable silent mode for --new-pr and --update-pr (#2802)
          • update Travis config to reflect that PyYAML 5.x is no longer compatible with Python 2.6 (#2807)

        easyblocks

        • new software-specific easyblock for TensorRT (#1627)
        • minor enhancements, including:
          • make sure CMake doesn't pick up on system Boost in CMakeMake generic easyblock (#1618)
          • modified ConfigureMake and CMakeMake generic easyblocks to allow changing configure_cmd, build_cmd and install_cmd to fit various needs (#1628, #1658)
          • update ANSYS easyblock to deal with changed versioning scheme (#1631)
          • add extra path to builddir for SNPhylo >= 20160204 (#1632)
          • add better support for TensorRT to TensorFlow (#1634)
          • add support for newer versions of wxPython to wxPython easyblock (#1635)
          • update OCaml easyblock to support OPAM 2.x (#1638)
          • update sanity check in TensorFlow easyblock for TensorFlow 1.13.x (#1642)
          • make ConfigureMake, MesonNinja and SCons generic easyblocks aware of pretestopts (#1645)
          • add support for installing Python packages with 'pip' without using --ignore-installed (#1647)
          • add support to CMakeMake easyblock to specify compilers using absolute file path (#1652, #1655)
          • stop checking for deprecated pgf77 in sanity check of PGI easyblock (#1653)
          • accommodate version 10.1 in CUDA easyblock (#1654)
          • install sitecustomize.py with Python to support Python package installations for multiple Python versions in a single directory (#1657)
          • enhance SAMtools easyblock to also install libhts.a and include/htslib (when applicable) (#1661)
          • tweak PythonPackage & PythonBundle to update $EBPYTHONPREFIXES rather than $PYTHONPATH for multi-Python installations + make sanity_check_step aware of multi_deps (#1664, #1678)
          • replace -openmp with -fopenmp when building TINKER with Intel compilers (+ modernize easyblock) (#1668)
          • make sure Meson is configured with -Dlibdir=lib so it doesn't install libraries in lib/x86_64-linux-gnu on Debian/Ubuntu multiarch systems (#1673)
          • allow for external libfabric via ofi_libfabric parameter in impi easyblock (#1676)
          • pass down compiler names and options to Qt5 5.8 & more recent via corresponding QMAKE_* configuration options (#1677)
        • various bug fixes, including:
          • create symlinks to .modulerc in symlinked module directories (#1636)
          • add missing import in FFTW easyblock (#1641)
          • fix finding of Python 3 include subdir + libpython*.so in OpenBabel easyblock (#1633)
          • add no_qa pattern for interactive installation command for ABAQUS (#1637)
          • make serial, smpar and dm+sm builds of WRF work and pass tests (#1646)
          • configure CP2K with correct DATA_DIR value rather than relying on $CP2K_DATA_DIR environment variable (#1650)
          • CP2K fixes: only call configure_LAPACK/ScaLAPACK when imkl is not used, prefer using 2^2 MPI processes for tests (#1651)
          • also take into account custom easyconfig parameters from CMakeMake in BamTools easyblock (#1656)
          • make sure Perl scripts are installed in the right location (#1660)
          • make sure setenv is used for CUDA_PATH etc. (#1663)
          • cleanup sanity_check_paths in numpy & scipy easyblocks (#1665, #1667)
          • always set self.pylibdir in PythonPackage.set_pylibdirs(), which is important when installing Python packages for multiple Python versions via multi_deps (#1671)
          • fix custom definition of load_module method in LAPACK module (#1675)
        • other changes:
          • replace 'except OSError, err:' pattern with 'except OSError as err:' (for compatibility with Python 3.x) (#1639)
          • clean up Java easyblock to use filetools functionality (#1649)

        easyconfigs

        • added easyconfigs for new toolchains: intel/2019.02 (#7598), intel/2019.03 (#7846)
        • added example easyconfig files for 68 new software packages:
          • ACT (#7928), aiohttp (#7728), at-spi2-atk and at-spi2-core (#7658), Bader (#7804), barrnap (#7738), BCEL (#7937), biscuit (#5868), bitarray (#7772), BlobTools (#7565, #7583), bmtagger (#7890), bsddb3 (#7642), CheckM (#7712), Cheetah (#7952), CONCOCT (#7891), cyvcf2 (#8031), DAS_Tool (#7741), ExaBayes (#7801), FastANI (#7992), fastp (#7693), Flask (#7734), giflib (#7663), Giza (#7843), glew (#7685), gpustat (#8025), GRASS (#7489), GTDB-Tk (#7995), HPCX (#7725), IntelPython (#7920), KNIME (#7554), KronaTools (#7721), KyotoCabinet (#7955), Leptonica (#7932), libepoxy (#7655), libpsl (#7666), MAGMA (#7829), MATLAB-Engine (#7758), MaxBin (#7767), MetaBAT (#7746, #7931), MinPath (#7763), ncdu (#7505), NGSadmix (#7524), NIMBLE (#7564), PCAngsd (#7727), pizzly (#7724), Ploticus (#7545), pocl (#7681), POT (#8011), ProjectQ (#7576), pullseq (#7740), pyBigWig (#7600), Pyke3 (#8034), PyRETIS (#8041), RDKit (#7973), RNAIndel (#8009), scikit-optimize (#7613), SciPy-bundle (#7922), sep (#8032), slidingwindow (#7909), SPLASH (#7843), SqueezeMeta (#7771), SRPRISM (#7890), taxator-tk (#7894), TensorRT (#7584), tesseract (#7932), Transrate (#5108), VCF-kit (#7786, #7882), VV (#7297)
        • added additional easyconfigs for various supported software packages, including:
          • AFNI 19.0.01, Arrow 0.7.1, BLAST+ 2.8.1, CUDA 10.1.105, GCC(core) 8.3.0, GTK+ 3.22.30, Java (OpenJDK) 11(.0.2), Meson 0.50.0, MultiQC 1.7, Nim 0.19.2, Ninja 1.9.0, netCDF 4.6.2, netCDF-Fortran 4.4.5, PCRE 8.43, Perl 5.28.1, PGI 19.1, Python 3.7.2, RELION 3.0.4, Ruby 2.6.1, SCons 3.0.4, SQLite 3.27.2, SuiteSparse 5.4.0, TINKER 8.6.1, TensorFlow 1.13.1, X11 20190311
        • minor enhancements, including:
          • add various extensions to R 3.5.1 easyconfigs: asnipe (#7572), liquidSVM (#7597), oddsratio/mltools/h2o (#7744), mlegp (#7814), bartMachine/lqa (#7865), PresenceAbsence/GUTS/GenSA (#7905), parsedate (#7935), circular (#7975)
          • add ujson extension in recent Python easyconfigs (#7517)
          • run various checks on easyconfigs that are touched in pull requests and involve Python packages (#7754)
          • add cpanminus extension to recent Perl easyconfigs (#7866)
          • also install ANTs scripts (and set $ANTSPATH as required by those scripts) (#7940)
          • add missing configopts in GATE 8.1 easyconfig to enable Davis feature (#8000)
        • various bug fixes, including:
          • add patch for Mesa 18.1.1 to detect MIT-SHM (#7536)
          • add proper description to MINC-2.4.03 (#7551)
          • add libunwind dependency to recent Mesa easyconfig when building with foss/GCC (#7629)
          • add/reorder missing/misplaced extensions in Python 2.7.15 and 3.6.6 easyconfigs (#7696)
          • fix Jellyfish dependency in easyconfig for Kraken 1.0 (Jellyfish 1.x is required) (#7743)
          • use https:// in most recent XZ easyconfigs (#7782)
          • add patch for OpenMPI 3.1.x to fix ib-query 'Invalid argument' error (#7789)
          • build OpenBLAS with -fno-tree-vectorize (asm constraint bugs for <0.3.6) + cleanup & SHA256 checksums (#7790, #7793)
          • extra patch for TensorFlow 1.12.0 to remove -B/usr/bin from linker_bin_path_flag in cuda_configure.bzl (#7800)
          • fix easyconfig for STAR-Fusion 1.5.0 (#7802)
          • fix checksums for boot/nlme extensions in R easyconfigs (#7814, #8054)
          • add patch for OpenMPI 3.x to fix UCX memory leak (#7535, #7824)
          • replace ncurses-devel OS dependency in CMake easyconfigs using dummy toolchain with proper ncurses dependency (#7834)
          • use PythonBundle for snakemake-5.2.4-foss-2018b-Python-3.6.6.eb (+ fix moduleclass) (#7842)
          • use correct buildopts + add missing zlib dependency in StringTie 1.3.5 easyconfig (#7845)
          • update GStreamer to not enable dw and fix some missing dependencies (#7889)
          • add missing XZ dependency to most recent Pysam easyconfigs (#7897)
          • expat: add configure option --without-docbook to avoid docbook2X dependency (#7930)
          • fix source URLs for mawk (#7960)
          • fix LWM2, OTF2, OPARI2, and Score-P download URLs (#7994)
          • use https:// in homepage & source_urls for OpenMPI and hwloc easyconfigs (#8013, #8014, #8015 and #8016)
          • add missing bokeh dependency for dask 1.0.0 (+ add dask-jobqueue) (#8029)
          • fix checking of binutils build dep in easyconfig tests (#8038)
        • other changes:
          • avoid use of .items() in R (bundle) easyconfigs, to fix compatibility with EasyBuild running on top of Python 3 (#7791)
          • trim down test configuration: only test with Lmod 6.x with Tcl/Lua on Python 2.6/2.7 (#7795, #7798)
          • use %(pyshortver)s template in (old) SIP easyconfigs (#7797)
          • add PyTorch to whitelist for not having 'use_pip' enabled (#7844)
          • don't use local variable 'pylibdir' in list comprehension in PyQt easyconfig, since that doesn't work in Python 3 (#7848)
          • use pip instead of setup.py with h5py/2.7.1 and 2017b toolchains (#7864)
          • prefer https:// over ftp:// for source_urls in recent GROMACS easyconfigs (#7948)
          • rename arrow to Arrow for old easyconfig (#8007)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb381","title":"EasyBuild v3.8.1 (January 29th 2019)","text":"

        bugfix/update release

        framework

        • various minor enhancements, including:
          • speed up checking of OS dependencies (#2703)
          • add support for 'eb --show-system-info' (#2722)
          • add support for '%(arch)s' template value in easyconfig files (x86-64, aarch64, ppc64le, ...) (#2728)
        • various bug fixes, including:
          • add timestamp to reprod dir while in tmp space (#2705)
          • avoid '+' in directory name for g++ rpath wrapper (#2710)
          • pre-install vsc-install < 0.11.4 in bootstrap script to avoid requiring 'mock' Python package (#2717)
          • fix check in --merge-pr whether PR is eligible for merging in to only consider the status of the last test report (#2720)
          • don't recreate build directory when 'buildininstalldir' is enabled for iterative installations (#2724)
          • filter (CUDA) lib*/stubs paths in RPATH wrapper script (#2725)
        • other changes:
          • replace 'except IOError, err:' pattern with 'except IOError as err:' for compatibility with Python 3.x (#2711)
          • make all print statements compatible with Python 3 (#2715)
          • avoid use of sys.maxint in dependencies_for (#2716)

        easyblocks

        • minor enhancements, including:
          • update Ferret easyblock to handle Ferret 7.3 (#1349)
          • add support for defining $LDSHARED when installing Python packages if Python's value doesn't use toolchain compiler ($CC) (#1455)
          • update CP2K easyblock to add support for CP2K 6.1, and fix incorrect LibInt references (#1545)
          • make OpenFOAM easyblock handle debug build (#1609)
          • handle multiple installation keys for MATLAB (#1610)
          • run 'make check' in parallel for GROMACS since it involves more compilation (#1611)
          • update OpenCV easyblock for recent versions (3.4.x >= 3.4.4 + 4.0.x) (#1616)
        • various bug fixes, including:
          • check current start_dir value before appending 'src' subdirectory in MrBayes easyblock (#1582)
          • avoid that (system) Intel compilers are always considered when building SuiteSparse (#1612)
          • fix missing import statement in ROOT easyblock (#1614)
          • answer SELinux question with 'no' in Mathematica easyblock (#1617)
          • disable \"build isolation\" feature in pip > 10.x in PythonPackage generic easyblock (#1623)
        • other changes
          • cleanup in Perl and PerlModule easyblocks (#1603)

        easyconfigs

        • added easyconfigs for new toolchains foss/2019a (#7371), intel/2019a (#7372) and iomkl/2019.01 (#7375)
          • see also https://easybuild.readthedocs.io/en/latest/Common-toolchains.html
        • added example easyconfig files for 43 new software packages:
          • Assimulo (#6740), C3D (#7059), CellMix (#7422), CESM-deps (#6654, #6675, #6823), DSA (#7422), DeMixT (#7422), deconf (#7422), DeconICA (#7422), double-conversion (#7307), dxpy (#7079), EPIC (#7422), expect (#7387), Flye (#7430), FMILibrary (#6740), FMRIprep (#7059), FUSE (#7078), GDCM (#7310), HDDM (#7396), ICA-AROMA (#7059), IntaRNA (#7334), imageio (#6738), KWIML (#7308), kWIP (#7444), MagresPython (#7395), medaka (#7426), MINC (#7311), MuSiC (#7422), netMHCIIpan (#7377), NIfTI (#7311), OPERA (#7408), psrecord (#7331), pyfits (#7273), PyFMI (#6740), PyGWAS (#5852), Pylint (#6675), QDD (#7284), RERconverge (#7289), samclip (#7226), SCIPhI (#7419), swarm (#7453), VXL (#7309), wrf-python (#6736), xCell (#7422)
        • added additional easyconfigs for various supported software packages, including:
          • Amber 18, Arrow 0.12.0, Biopython 1.73, Boost 1.69.0, CP2K 6.1, canu 1.8, Ferret 7.3, GATE 8.1.p01, GROMACS 2019, Geant4 10.5, HPL 2.3, libxsmm 1.10, matplotlib 3.0.2, NEURON 7.6.5, Octave 4.4.1, OpenBLAS 0.3.5, OpenCV 3.4.5 + 4.0.1, OpenFOAM v1812, PGI 18.10, PLUMED 2.5.0, ROOT 6.14.06, Theano 1.0.3, TopHat 2.1.2, Yade 2018.02b
        • minor enhancements, including:
          • add additional extensions to R 3.5.1 easyconfigs:
            • statnet (#7370), NMF, ComICS, dtangle, MCMCpack, shinythemes (#7420), csSAM (#7423), bridgedist (#7477)
          • add DeconRNASeq and GSVA extensions to R-bundle-Bioconductor 3.7 easyconfigs (#7421)
          • also install header files and CMake module for SeqAn 2.4.0 built with foss/2018b (#7434)
          • add download URL for intel/2018a components (#7436)
          • add missing checksums for protobuf easyconfigs using dummy toolchain (#7492)
        • various bug fixes, including:
          • fix source URL in Doxygen easyconfigs (#7324)
          • add fallback source URL for recent pigz versions (#7346)
          • promote FriBiDi to runtime dep of Pango rather than only build dep (#7369)
          • add --without-systemdsystemunitdir configure option to recent DBus easyconfigs (#7373)
          • fix issue of building M4 1.4.18 with glibc 2.28 (#7384)
          • fix broken source URLs in MariaDB easyconfigs (#7413)
          • bump up build dependency of flex 2.6.4 from Bison 3.0.4 to 3.0.5 (#7414)
          • disable building of OpenColorIO Python bindings since Python is not included as a dependency (#7416)
          • add missing build dependencies in old Harfbuzz/Pango easyconfigs (2016a generation) (#7433)
          • fix XML-LibXML linking with Intel compiler and GCCcore Perl (#7440)
          • prevent non-critical error from stopping Guile v1.8.8 build (#7446)
          • use %(arch)s template rather than hardcoding 'x86_64' in XML-Parser easyconfigs (#7450)
          • use uniform configopts for Guile 1.8.8 (#7452)
          • fix configopts in PyQt5 easyconfig files to avoid installation of files in Python/Qt5 installation directories (#7470)
        • other changes:
          • fix homepage in easyconfigs for foss toolchains (#7482) and intel toolchains (#7483)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb380","title":"EasyBuild v3.8.0 (December 18th 2018)","text":"

        feature release

        framework

        • various enhancements, including:
          • support use of version ranges in --filter-deps (#2357)
          • add support for --list-prs (#2400, #2668)
          • add support for --close-pr (#2401)
          • allow setting optarch compiler flags in the easyconfig via toolchainopts easyconfig parameter (#2595)
          • add option to skip pre-creation of install directory: --disable-pre-create-installdir (#2629, #2637)
          • flesh out setting up of configuration into dedicated 'set_up_configuration' function (#2638)
          • clean error when 'eb' is cancelled by user (#2641)
          • add support for using Slurm as backend for --job, via --job-backend=Slurm (#2642, #2666)
          • save easyblocks along with easyconfig in 'reprod' subdirectory of install directory (#2653)
          • add support for deprecating easyconfig files & toolchains (#2656)
          • changed EasyConfig.update to be able to specify not to allow duplicate values (#2657)
          • move adding of dependencies to prepare step instead of check readiness step (#2674)
          • add support for disabling mapping of (sub)toolchains when --try-toolchain is used, via --disable-map-toolchains (#2682)
          • add 'astro' and 'quantum' module classes (#2693)
        • various bug fixes, including:
          • make --from-pr always try to apply PR patch on top of PR target branch (#2631)
          • fix bug that could cause to silently overwrite an existing easyconfig when using --try-* (#2635)
          • don't pass down specific environment variables into submitted jobs (#2643)
          • update template constants for source URLs to use https (#2648)
          • fix lib64 fallback for 'lib'/'lib64' dirs entry in sanity_check_paths (#2649)
          • change PGI F90 Fortran compiler to pgf90 (#2650)
          • use --set-upstream-to in install-EasyBuild-develop.sh script to deal with deprecated/no longer supported --set-upstream (#2651)
          • fix order of keys in 'toolchain' value for dumped easyconfig file (name, version) + run style check on dumped easyconfigs in dump tests (#2660)
          • ensure checksums beside sources in dumped easyconfigs (#2661)
          • fix problems with easyconfig file saved in 'reprod' directory by copying it before running any installation steps (#2664)
          • make print functions more robust w.r.t. arguments being passed to format the message to be printed (#2670)
          • use 'git am' to apply patch for PRs in fetch_easyconfigs_from_pr (#2680)
          • correctly define $LIBFFT_MT for Intel MKL (#2688)
          • don't always require easyconfig files to resolve dependencies (#2690, #2692, #2697, #2698, #2699)
        • fixes for Travis CI config:
          • stop testing with Lmod 6.6.3, testing with Lmod 6.5.1 is sufficient (#2627)
          • Python 2.6 requires python-daemon 1.x as dep for GC3Pie (#2673)
          • stick to idna<2.8 with Python 2.6 in Travis + distable broken test for HgRepository (#2678)
        • other changes:
          • always skip symlinks in adjust_permissions (#2644)
          • flesh out 'avail_easyblocks' function from support for --list-easyblocks (#2663)
          • deprecate the ictce toolchain (#2667)
          • deprecate goolf and goolfc toolchains (#2676)
          • deprecate intel toolchains older than intel/2016a (+ iccifort & iimpi subtoolchains) (#2677)
          • deprecate ancient gompi toolchain versions (#2684)
          • use 'tar xzf' (gzip) rather than 'tar xZf' (ancient compress) to unpack *.tar.Z source files (#2686)
          • flesh out 'set_parallel' method to it can be called separately (#2687)

        easyblocks

        • new generic easyblocks:
          • PythonBundle for installing a bundle of Python packages (#1553)
          • MesonNinja for installing using Meson & Ninja (#1561)
        • new software specific easyblock for RepeatMasker (#1600)
        • minor enhancements, including:
          • add -fno-delete-null-pointer-checks compiler flag for OpenFOAM versions older than v3.0 (#1311)
          • add support for building Tau with OTF included as dependency (#1313)
          • add support for Intel MPI version 2019 (#1546)
          • also populate the include dir for CP2K (#1554)
          • add custom easyconfig parameter in GCC easyblock to control use of gold linker: use_gold_linker (#1555)
          • replace '-' with '_' in default 'import' check for Python packages (#1560)
          • update WRF and WPS to support version 4 (#1563)
          • adapt PSI easyblock for PSI4 > 1.2 (#1568)
          • update Siesta easyblock to 4.1-b4 and add custom test_step (#1573)
          • enhance Mothur easyblock to support use of Boost and HDF5 as dependencies (#1576)
          • enhance sanity check for icc & ifort: also check for compilers_and_libraries_*/linux subdirectory (#1577)
          • update Trinity easyblock for latest version 2.8 (#1579)
          • add version check in sanity check step of SCOTCH easyblock (+ code cleanup) (#1580)
          • add support in Clang easyblock to skip running of all tests (#1584)
          • update WRF easyblock to allow serial HDF5 + pick up on parallel netCDF (#1592)
          • avoid hardcoding 'PREFIX=<installdir>' in build/install options when using SCons easyblock (#1594)
          • enable TensorFlow to detect any MPI runtime (#1597)
          • enhance Bundle easyblock to allow installation of bundle components with additional easyblocks + build components in parallel (#1598)
          • enhance Trilinos easyblock to support building against MKL (#1601)
        • various bug fixes, including:
          • make FDTD_Solutions easyblock do the install by copying files instead of 'rpm rebuild' (#1307)
          • re-add missing VT_(S)LIB_DIR env variable to itac module (#1309)
          • fix in QuantumESPRESSO easyblock: ifort compiler needs -assume byterecl (#1556)
          • extract targets from buildopts in Quantumespresso easyblock (#1558)
          • fixes for TensorFlow easyblock (#1559)
            • pass $PYTHONPATH while building TensorFlow
            • disable cross-compilation mode if optarch is set
            • fix sanity check for installing TensorFlow as extension
          • added a test to disable compiling FFTW with MPI if the toolchain does not support MPI (#1562)
          • fix permissions problem with CUDA nvvp tar files + correctly handle numactl symlink in LLVM subdir in PGI easyblock (#1569)
          • fix TensorFlow test tempdir problem (#1572)
          • tweak VMD easyblock so that configopts don't contain duplicate values (otherwise it fails to rebuild) (#1575)
          • fix running netcdf4-python tests to also support installation as extension (#1578)
          • added the openmp flags in the linker flags in MUMPS easyblock (#1585)
          • avoid hardcoding --with-rdma configure option in MVAPICH2 easyblock (#1586)
          • fix location of path-to-source argument in configure command of CMakeMake (#1591)
          • fix GROMACS use of MKL for non-Intel compilers (e.g. gomkl toolchain) (#1596)
        • other changes
          • inform Hound CI about Python 2 builtins (#1604)

        easyconfigs

        • added easyconfigs for new toolchains: intel/2018.04 (#7171), intel/2019.00 (#7218), intel/2019.01 (#7219)
        • added example easyconfig files for 36 new software packages:
          • 4ti2 (#7040), ARPACK++ (#6750), CellRanger (#7242), CharLS (#6762) cscope (#7057), ctags (#7057), datamash (#6693), dcm2niix (#6762), DCMTK (#6761), deepdiff (#7109), Drake (#7182), fast5 (#7250), gap (#7040), Gerris (#7211), GPAW-setups (#6984), iCount (#7080), ipyparallel (#6797), Kratos (#7149), LCov (#7160), libvdwxc (#6984), libwebp (#7065), lrslib (#7040), MuPeXI (#6991), netMHCpan (#6991), Normaliz (#7040), OpenColorIO (#7146), OpenJPEG (#7216), PHLAT (#7036), poppler (#7069), RECON (#7042), RepeatMasker (#7281), TreeMix (#7133), unrar (#7117), utf8proc (#7083), VSEARCH (#7153), XMDS2 (#7121)
        • added additional easyconfigs for various supported software packages, including:
          • CheMPS2 1.8.8, Clang 6.0.1 + 7.0.0, dask 1.0.0, FFmpeg 4.1, GCC(core) 6.5.0 + 7.4.0, GPAW 1.4.0, HMMER 3.2.1, IPython 7.2.0, ITK 4.13.1, Keras 2.2.4, LLVM 7.0.0, Mothur 1.41.0, MultiQC 1.6, NAMD 2.13, OpenBLAS 0.3.4, OpenMPI 3.1.3 + 4.0.0, PSI4 1.2.1, Qt5 5.11.2, QuantumESPRESSO 6.3, Rust 1.30.1, Spark 2.4.0, Spyder 3.3.1, TensorFlow 1.11.0 + 1.12.0
        • minor enhancements, including:
          • install misc tools for angsd (#6995)
          • add libXp component to X11 bundle for GCCcore 6.4.0 (#7062)
          • also install shared libraries for LZO (#7073)
          • add extensions to R 3.5.1 easyconfigs: gllvm (#7123), grpreg (#7140), gamlss + gamlss.tr (#7263)
          • install Tk private headers (#7155)
          • add File::Next extension to Perl 5.28.0 easyconfig (#7276)
        • various bug fixes, including:
          • fix installation of scikit-image 0.13.x by including missing required PyWavelets extension (#7061)
          • add missing dependencies to easyconfig for GC3Pie 2.5.0 (#7066)
          • stop setting ignored 'full_sanity_check' easyconfig parameter in easyconfigs (#7094)
          • add missing checksums in X11/2016* easyconfigs (#7095)
          • add missing checksums in X11/2017* easyconfigs (#7096)
          • add missing cffi & pycparser extensions to recent Python easyconfigs (#7105, #7118)
          • fix homepage in QuantumESPRESSO easyconfigs (#7114)
          • use empty toolchain version in picard easyconfigs to ensure Java dependency is loaded during installation (#7116)
          • fix checksum for mgcv extension in R 3.5.* easyconfigs (#7122)
          • add missing 'patsy' extension in ARCH easyconfig + switch to using PythonBundle easyblock (#7124)
          • add missing (dummy) sklearn extension in NeuroKit easyconfig (#7126)
          • fix order of extensions in recent IPython easyconfigs to make 'pip check' pass (#7131)
          • fix missing required Python packages in ASE 3.16.2 easyconfigs (#7139)
          • fix source_urls in CP2K easyconfigs (for official releases) (#7240)
          • update SCOTCH 6.0.5 easyconfigs in-place to 6.0.6 to fix wrong download URL (#7159)
          • add Autotools build dep in patchelf easyconfig (#7175)
          • STREAM fixes: use https + versioned source (#7193)
          • fix checksum in Molden easyconfig (#7251)
          • fix source URL for ADMIXTURE (#7258)
          • fix source URLs & versions + build procedure for SKESA (#7275)
          • fix checksum for TRF 4.09 (#7278)
          • add missing zlib dependency for NSS (#7293)
          • add required build deps for QtWebEngine in recent Qt5 easyconfigs (#7300)
          • fix ImageMagick source URLs: use launchpad.net for old versions, switch to GitHub for 7.0.8-* onwards (#7301)
        • other changes:
          • update Java/1.8 wrapper to Java 1.8.0_192 (#7097)
          • don't enable optarch toolchain option in VCFtools easyconfigs, since it's enabled by default (#7106)
          • stop using lowopt in libxc 4.2.3 easyconfigs (#7115)
          • deprecate easyconfigs for ictce toolchains + intel toolchains older than intel/2016a (#7231)
          • deprecate easyconfigs for goolf(c) + corresponding gompi(c) subtoolchains (#7243)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb371","title":"EasyBuild v3.7.1 (October 18th 2018)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • generate .modulerc.lua when Lua syntax and Lmod >= 7.8 is used (#2597)
          • allow --force to use regex if --try-toolchain can not map intelligently (#2605)
          • add support for disabling modules tool version check (#2610)
          • add support to ModuleGenerator.modulerc method to also write .modulerc file (#2611)
          • check whether module file being wrapped exists in same directory as module wrapper when using Lmod 6.x (#2611)
        • various bug fixes, including:
          • stop relying on 'easy_install' in bootstrap script, use 'python -m easy_install' instead (#2590)
          • fix templating of values in list_software function (#2591)
          • fix composing of lib64 fallback paths in sanity check (#2602)
          • determine file_info for all easyconfigs before any actual copying in copy_easyconfigs function (#2604)
          • also check for module wrappers in ModulesTool.exist method (#2606)
          • add trailing newline to module load message if it's not there yet (#2613)
          • retain all dependencies when determining dependency tree of a toolchain (#2617)
          • protect exts_lists from templating in dump method (#2619)
          • making CUDA capability detection more robust (#2621)
        • other changes:
          • lower required Lmod version to 6.5.1 (#2593)

        easyblocks

        • new software specific easyblocks for fastStructure (#1529)
        • minor enhancements, including:
          • support bypassing use of system type obtained with recent config.guess in ConfigureMake (#1531)
          • enhance generated module file for FreeSurfer (#1543)
          • add option in Qt easyblock to check for QtWebEngine component in sanity check (#1544)
          • also install CP2K as a library + code cleanup in CP2K easyblock (#1547)
        • various bug fixes, including:
          • fix checking for downloaded dependencies for stand-alone installations in PythonPackage generic easyblock (#1530)
          • also specify --host option to configure script based on config.guess result in ConfigureMake easyblock (#1532)
          • use short module name when creating module wrapper in ModuleRC generic easyblock (#1535)
          • use DOT_MODULERC constant in ModuleRC easyblock rather than hardcoding '.modulerc' (#1533)
          • use --no-deps when installing .whl in TensorFlow easyblock if extension are being installed, move test run to sanity check (#1537)
          • use os.getcwd() rather than self.startdir in TensorFlow easyblock to fix installation of TensorFlow as extension in a bundle (#1540)
          • add symlink to wrapped module file when creating .modulerc in temporary location (#1539)
          • properly handle Python dependency in Qscintilla easyblock (#1499)
        • other changes:
          • cleanup Tarball easyblock by using copy_dir function (#1541)

        easyconfigs

        • added easyconfigs for new toolchain foss/2018.08 with GCC/8.2.0 (#6992)
        • added example easyconfig files for 26 new software packages:
          • ARCH (#6939), fbm (#6948), GenomeTester4 (#6970), GlobusConnectPersonal (#6974), MMseqs2 (#6964), NAG (#5772), NAGfor (#5772), NSPR (#7005), NSS (#7005), NeuroKit (#6947), novoalign (#6944), OptiType (#6924), OrthoFinder (#6964), pandas-datareader (#6938), pFUnit (#6949), PMIx (#6930), PSolver (#6888), PyDatastream (#6951), PyFR (#6846), Pyomo (#6910), Quandl (#6950), RTG-Tools (#6862), seq2HLA (#6969), suds (#6951), UCX (#6931), XMLSec (#6929)
        • added additional easyconfigs for various supported software packages, including:
          • binutils 2.31.1, dask 0.19.4, GCC(core) 8.2.0, OpenBLAS 0.3.3, OpenMPI 3.1.2, Pillow 5.3.0, PyCUDA 2018.1
        • minor enhancements, including:
          • add clustree + plotly extensions (+ deps) for R 3.5.1 (#6901)
          • add tclsh symlink to recent Tcl easyconfigs (#6915)
          • update GROMACS 2016.3 with NVML patches (#6936)
          • use make=make in build options for ParMGridGen easyconfigs (#6952)
          • add Data::Dump as extension to Perl (dependency for GIMIC) (#7004)
        • various bug fixes, including:
          • inhibit -Werror in binutils 2.26 as new system GCC has case fallthrough warnings (#5793)
          • change fastStructure easyconfig to use custom easyblock (#6893)
          • fix toolchain for tbb dependency in Bowtie2-2.3.4.2-foss-2018b.eb (#6927)
          • fix uroot installation in R-3.5.1-foss-2018b (#6934)
          • add missing Python packages in TensorFlow 1.10.x easyconfigs (#6940)
          • add missing dep for Szip in 2017b builds of netCDF (#6942)
          • fix missing comment from OpenBabel-2.4.1-fix-link-path-tests.patch (#6943)
          • add patch to Python 3.6.1 - 3.6.3 that removes comment in comment (#6946)
          • add missing ulimit_unlimited=True (see issue #6484) in the newest Python builds (#6959)
          • solve 'version UUID_1.0 not found' problem in LibUUID easyconfigs (#6962)
          • eliminate dependency on ancient problematic LibUUID library, replace with util-linux (#6963)
          • force building of ccmake for CMake 3.12.1 + fix deps (#6967)
          • fix broken installation for Python 3.6.2 & 3.6.3 with PyNaCl as dep for paramiko extension by explicitly including previous PyNaCl version as extension (#6971)
          • fix source URL for ADMIXTURE (no https) + add SHA256 checksum (#6982)
          • add missing NSS/DBus dependencies to Qt 5.10.1 easyconfigs built with foss toolchain to ensure that QtWebEngine component gets installed (#7005)
          • add 'openssl' OS deps in Perl 5.28.0 easyconfig for Net::ssleay (#7008)
          • add missing checksum for ipaddress extension in Python easyconfigs (#7021 and #7033)
          • add missing extensions to Python 2.7.14 (#7022 and #7023), 3.6.2 (#7025), 3.6.3 (#7027) and 3.6.4 (#7029 and #7030)
          • add missing OS dependencies for git (#7028)
          • create default configuration for RTG-Tools (#7032)
          • also run checks on changed files when target branch for PR is something different than 'develop' (#7034)
        • other changes:
          • removed dead 'bzip.org' source URL for bzip2 source tarball (#6983)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb370","title":"EasyBuild v3.7.0 (September 25th 2018)","text":"

        feature release

        framework

        • minimal Lmod version requirement bumped to 6.6.3 (#2575)
        • various enhancements, including:
          • add support to bootstrap script to force install specific EasyBuild version (#2382, #2580)
          • consider potential of multiple subtoolchains when resolving dependencies (#2464, #2465, #2466, #2585)
          • fall back to downloading using the requests Python package (if installed) when urllib2 fails due to SSL error (#2538)
          • make --try-toolchain more aware of subtoolchains (#2539)
            • subtoolchain of original toolchains are now mapped to subtoolchains of target toolchain
          • add support for BLIS and goblf toolchain that uses BLIS for BLAS (#2540)
          • allow skipping of sanity check step via 'skipsteps' easyconfig parameter (#2549)
          • add support for --check-contrib (#2551)
            • equivalent with --check-style, but also verifies presence of SHA256 checksums (+ more checks in the future)
          • added support to 'download' sources from git (#2555)
            • see https://easybuild.readthedocs.io/en/latest/Writing_easyconfig_files.html#downloading-from-a-git-repository
          • add 'parse' hook to add support for applying site-specific customisations to the 'raw' easyconfig (#2562, #2566)
            • see https://easybuild.readthedocs.io/en/develop/Hooks.html
          • lift invalidating of module caches into helper method that can be used by easyblocks (#2571)
          • always dump a fully parsed easyconfig to the 'reprod' subdir of the installation directory (#2574)
          • add 'modulerc' method to ModuleGenerator class (#2575)
        • various bug fixes, including:
          • make GC3Pie stop build process if a dependency failed (#2474)
          • filter out patched files in test/ in fetch_easyconfigs_from_pr (#2547)
          • check GC3pie version using the pkg_resources API rather than using __version__ (which was removed in GC3Pie 2.5.0) (#2554)
          • fix enforcing of checksums for extensions (#2561, #2570, #2579)
          • skip running of configuration checks while only a single configuration level is taken into account during --show-config (#2567)
          • fix error statements in modules tool version checks (#2576)
          • fix finding of software subdirectory for specified patch file in --new-pr/--update-pr (#2577)
          • take into account dependency 'wrappers' in check_conflicts (#2583)
          • stick to pycparser < 2.19 with Python 2.6 in Travis config (#2584)
        • other changes:
          • use namelower as default for 'github_account' easyconfig parameter (#2528)
          • use .counts() rather than deprecated .stats() for GC3Pie (#2573)

        easyblocks

        • new generic easyblock: ModuleRC (#1503, #1518)
        • new software specific easyblocks for BWISE (#1497) and VEP (#1512)
        • minor enhancements, including:
          • update QuantumESPRESSO easyblock: stop building in installation dir, do not use external FoX dependency, support for recent versions (#1312)
          • updates to TensorFlow easyblock:
            • require cuDNN if CUDA support is enabled, enable mkl-dnn by default, fix problem with internal protobuf problem, add awareness for TensorRT & NCCL (#1453)
            • add support for IntelMPI (#1507)
          • update WIEN2k easyblock for version 18.1 (#1460)
          • add CUDA 'stubs' subdirectory to $LIBRARY_PATH (#1464)
          • add support for building ScaLAPACK on top of BLIS (#1467)
          • handle X11 better and make 'static' a build flag in Amber easyblock (#1468)
          • update Boost easyblock for Boost 1.67.0 (name change in Python 3.x library files) (#1472)
          • add CEI/bin to $PATH for ANSYS 19 & newer (#1476)
          • enhance SCons easyblock to enable building in parallel (#1477)
          • add awareness for CCOLAMD and CAMD in Trilinos easyblock (#1480)
          • add support to apply (binary) patches after main CUDA install (#1481, #1483)
          • add support for only building Python bindings (+ code cleanup) in Boost easyblock (#1484, #1495)
          • provide control over subdirectory in which R packages are installed (#1485)
          • added regex to fix $WM_PROJECT_VERSION correctly in OpenFOAM easyblock (#1489)
          • improve PGI siterc so it allows -pthread switch (#1494)
          • customise check_checksums method in Bundle easyblock to fix checking of checksums for components (#1496)
          • include a pkgconfig file 'hdf5.pc' to HDF5 installations (#1504)
          • (download &) use an updated config.guess script in generic ConfigureMake easyblock (#1506, #1522, #1523, #1524)
          • make IntelBase generic easyblock aware of (pre)installopts (#1509)
          • update Siesta easyblock for v3.2 to 4.1-b3 (#1510)
          • take (pre)installopts into account in RPackage generic easyblock (#1513)
          • update DOLFIN easyblock for latest version (#2018.1) (#1521)
        • various bug fixes, including:
          • drop useless definition of $NLSPATH in IntelBase + fix ipp library paths (#1442)
          • fix order of arguments in log message in PythonPackage easyblock (#1459)
          • run ldconfig in post-install step of CUDA easyblock to create missing symlinks in 'stubs' subdirectory (#1473)
          • take into account that only name/version may be specified for some components in Bundle easyblock (#1474)
          • make SuperLU easyblock consider both lib and lib64 subdirectories (#1479)
          • use short build dir for Trilinos to dance around \"Argument list too long\" problem + link with libmetis.a (#1486)
          • correct check for Red Hat 6 based OS in TensorFlow easyblock (#1487)
          • improve configuration choice in FSL easyblock (#1498)
          • don't check for mcc in MATLAB sanity check as it requires a specific toolbox license (#1514)
          • make sure Bazel doesn't write files in $HOME/.cache when building TensorFlow (#1519)
          • enable VSX on POWER for FFTW >= 3.3.7 (#1520)
          • add librt as dependency when linking Trilinos with SuiteSparse (#1525)
        • other changes:
          • switch to using CMake install procedure for Eigen 3.3.4 & newer (#1482)
          • bump Lmod version used in Travis config to 6.6.3 (now required by framework) (#1505)

        easyconfigs

        • added easyconfigs for new toolchains: fosscuda/2017b (#6706), intelcuda/#2017b (#6709), iomkl/2018b (#6661)
        • added example easyconfig files for 49 new software packages:
          • alleleCount (#6676), BCALM (#6796), BDBag (#6672), BFC (#6647), Bio-DB-HTS (#6854), bioawk (#6865), biomart-perl (#6745), BLIS (#6614), Boost.Python (#6763), BWISE (#6802), CapnProto (#6542), CaVEMan (#6708), CCL (#5802), cDNA_Cupcake (#6787), cget (#6780), coevol (#6589, #6642), Delly (#6735), earthengine-api (#6556), fineRADstructure (#6586), GIMIC (#6575), GitPython (#6850), HiC-Pro (#5873), Inelastica (#6831), JAXFrontCE (#6837), jq (#6632), KAT (#6808), KMC (#6553), Kraken2 (#6569), Lighter (#6553), Mash (#6542), MetaPhlAn2 (#6600), Minimac4 (#6781), mordecai (#6670), NCCL (#5802), NxTrim (#6646), parasail (#6601), PheWAS (#6030), Pilon (#6553), python-parasail (#6601), SearchGUI (#6637), shovill (#6553), SKESA (#6553), snakemake (#6851), strelka (#6742), SWIPE (#6795), ToFu (#6322), tqdm (#6721), TRUST (#6601), VEP (#6854)
        • added additional easyconfigs for various supported software packages, including:
          • Bazel 0.16.0, Boost 1.67.0 + 1.68.0, CUDA 10.0.1, DOLFIN (FEniCS) 2018.1, FSL 5.0.11, GC3Pie 2.5.0, GROMACS 2018.3, HTSlib + SAMtools 1.9, IPython 6.4.0, matplotlib 3.0.0, OpenCoarrays 2.2.0, OpenFOAM 6 & v1806, PyTorch 0.4.1, Python 3.6.6, R 3.5.1, TensorFlow 1.10.1, Trilinos 12.12.1, WIEN2k 18.1
        • minor enhancements, including:
          • add test to enforce SHA256 checksums in touched files in pull requests to develop (#5005)
          • add various extensions to recent R easyconfigs (#6590, #6686, #6858)
          • add mpmath extension to Python 3.6.4 + 3.7.0 easyconfigs (#6607, #6713)
          • add Java 1.8 easyconfig that can be updated in-place to more recent JDK 1.8.x (#6712)
            • see also https://easybuild.readthedocs.io/en/latest/Wrapping_dependencies.html
          • add iso_c_binding support to arpack-ng 3.6.2 (#6718)
          • add XML::Parser, XML::RegExp & XML::DOM extensions to Perl(#6744)
          • add tabulate extension to all Python > 3.6 easyconfigs (#6809)
          • enable MPI version of arpack-ng 3.5.0 (#6840)
          • add wish symlink to wish8.6 in recent Tk easyconfigs (#6870)
          • add libXp and printproto to X11 bundle (#6873)
        • various bug fixes, including:
          • define '_GNU_SOURCE' to ensure that 'reallocarray' is defined in flex 2.6.4 easyconfigs, fixes bootstrap crash (#5792, #6766)
          • added tabix dependency in VCFtools (#6584)
          • added zlib dependency to BWA (#6591), BEDTools (#6592), VCFtools (#6653)
          • add checksums to googletest easyconfigs (#6611)
          • fix source URL + add checksum to wkhtmltopdf-0.12.3-Linux-x86_64.eb (#6628, #6641)
          • don't use external FoX dependency in QuantumESPRESSO 6.2 (#6638)
          • update hwloc easyconfigs with libxml2 and libpciaccess dependencies (#6639)
          • fix gettext build dep for Mono-5.10.0.160 (#6640)
          • remove no longer existing config option --enable-mpi-thread-multiple in OpenMPI 3.x easyconfigs (#6645)
          • fix homepage in recent HDF5 easyconfigs (#6687)
          • add expat dependency to Mesa v18.1.1 (#6706)
          • add missing --with-trio-flavor=netcdf flag to ABINIT 8.x easyconfigs (#6711)
          • remove useless definition of $TORCH_CUDA_ARCH_LIST in PyTorch easyconfig that doesn't use CUDA (#6719)
          • fix building GCCcore 6.3.0 on recent OSs by backporting patches from 6.4.0 (#6727)
          • fix source_urls in bzip2 easyconfigs (#6728)
          • specify location of dependencies in configure options for libgd (to avoid system libraries being used instead) (#6731)
          • also install docs/man pages in recent git easyconfigs (versions 2.1x.y) (#6751)
          • add CMake build dep for Eigen 3.3.4 (#6756, #6784)
          • add expat dependency to Perl 5.26.0 (#6758)
          • add ncurses OS dependency to CMake for Debian distros (#6783)
          • fix checksums for pkgmaker, rngtools & RcppProgress extensions in R 3.4.3 easyconfigs (#6815)
          • add pkg-config build dependency to GTS (#6819)
          • do not check if hwloc-dump-hwdata utility was installed, since it's only built on x86 systems (#6836)
          • patch libxc 3.x and 4.0.x to compile on POWER (#6868)
          • consistently add patch for paycheck extension in Python 3.6/3.7 to fix UTF8 issue with README (#6892)
        • other changes:
          • bump Lmod version used in Travis config to 6.6.3 (now required by framework) (#6834)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb362","title":"EasyBuild v3.6.2 (July 11th 2018)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add support for including environment variable that is resolved at \"module load time\" in user module path (#2395)
            • {RUNTIME_ENV::EXAMPLE} is replaced by value of $EXAMPLE when module is loaded
          • also support generating Docker container recipes & image via --containerize (still experimental) (#2479)
          • add support for specifying source URLs directly in 'sources' (#2520)
          • perform early 'raw' parse of provided easyconfig file to check for syntax error or faulty inputs (#2523)
          • add 'bitbucket_account' easyconfig parameter and template, and let BITBUCKET* templates use it (#2525)
        • various bug fixes, including:
          • take into account --filter-deps when re-loading build dependencies in extensions_step (#2516)
          • fix for offline use of bootstrap script: ignore errors when determining source URLs if source tarballs are provided (#2517)
          • fix error message that is raised for incorrect type of value in sanity_check_paths (#2524)
        • other changes:
          • move flake8 config into setup.cfg + fix style issues in easybuild/tools/options.py (#2511)
          • make test that verifies that BuildOptions does not support updating a bit more flexible (#2518)

        easyblocks

        • new software-specific easyblock for OpenCV (#1444)
        • minor enhancements, including:
          • use $CPATH/$LD_LIBRARY_PATH for CMake's find_path/find_library functions in CMakeMake easyblock (#1165)
          • make cdft lib compilation optional for Intel MKL, by detecting MPI availability (#1393)
          • add use_glibcxx11_abi easyconfig parameter in Boost easyblock (#1434)
          • enable filtering of paths in $CPATH and $LIBRARY_PATH in TensorFlow easyblock (#1436)
          • add support for building GROMACS with --optarch=GENERIC (#1440)
          • check current stack limit and set it to 'unlimited' if possible in Python easyblock (#1441)
          • trivial update for Q&A in SAS easyblock (#1448)
          • allow skipping tests when installing Perl extensions, by setting 'runtest' to False (#1451)
          • add support for installing Intel products using serial numbers (#1452)
          • update version check to FFTW 3.3.8 for tests to pass on POWER (ppc64le) (#1454)
        • various bug fixes, including:
          • build MPFR in GCC stage 1 without LTO if (system) GCC used is too old (#1435)
          • make sure xmlpatterns always gets built with Qt (#1437)
          • fix symlink check in NWChem easyblock + use change_dir/remove_file/symlink functions (#1438)
        • other changes:
          • move flake8 configuration to setup.cfg and make HoundCI aware of it (#1430)

        easyconfigs

        • added easyconfigs for new toolchains: foss/2018b (#6424), fosscuda/2018b (#6555) and intel/2018b (#6409)
        • added example easyconfig files for 28 new software packages:
          • CUnit (#6469), eggnog-mapper (#6513), FANN (#6468), FTGL (#6421), FreeFem++ (#5918), fastStructure (#6448), fastq-tools (#5396), fullrmc (#6422), GDGraph (#6529), heaptrack (#6450), libgpuarray (#5429), lz4 (#6449), MAJIQ (#5983), makedepf90 (#6504), nanopolish (#6464), opencv_contrib (#6441), PRC (#6477), Pillow-SIMD (#6152), Pytorch (#6152), poretools (#6467), pystran (#6395), R-keras (#6530), Scoary (#6521), Scrappie (#6469), torchvision (#6152), WISExome (#6524), WannierTools (#6539), zstd (#6449, #6452)
        • added additional easyconfigs for various supported software packages, including:
          • GROMACS 2018.2, HDF5 1.10.2, IPython 6.3.1, Kraken 1.0, Mesa 18.1.1, netCDF 4.6.1, NWChem 6.8, OpenBLAS 0.3.1, OpenMPI 3.1.1, Perl 5.28.0, Python 2.7.15, R 3.5.0, X11 20180604
        • minor enhancements, including:
          • add hint on file name differences between downloaded and expected in cuDNN easyconfig (#6042)
          • add 'gee' extension to R 3.4.4 easyconfigs (#6376)
          • enable building of MPI libraries in VTK 8.1.0 easyconfigs (#6460, #6429)
        • minor changes, including:
          • rename 'Canu' to 'canu' for v1.7 (#6389)
          • update existing easyconfigs for OpenCV 3.4.1 to use new custom easyblock for OpenCV (#6509)
          • fix software name in Bsoft easyconfig (#6557)
        • various bug fixes, including:
          • fix SAMtools dependency for ChimPipe, required SAMtools < 1.0 (#5930)
          • skip installing of documentation in easyconfig for jemalloc 5.0.1 (#6428)
          • stop including GCCcore 6.4.0 as build dep for GCCcore 8.1.0 (#6431)
            • no longer needed with updated GCC easyblock
          • add patch for GCCcore 6.4.0 to fix compilation problems on glibc 2.26 systems (#6432, #6495)
          • fix checksums for pkgmaker/rngtools/RWeka/RcppProgress/mgcv extensions in R 3.4.4 easyconfigs (#6446, #6502)
          • added necessary compiler flag for Guile 1.8.8 (#6457)
          • build hwloc 1.11.10 with -fno-tree-vectorize to avoid segfaulting lstopo on Intel Skylake (#6461)
          • add patch for binutils 2.30 to fix assertion failure (#6463)
          • sync extensions in Python-3.6.4-iomkl-2018a.eb easyconfig with other Python 3.6.4 easyconfigs using 2018a toolchain (#6471)
          • enable checking/setting of unlimited stack limit in Python 3.6.x easyconfigs using an 'intel' toolchain (#6485, #6492)
          • add missing libxml2 dependency for HDF5 1.10.1 (#6498)
          • also copy eggnog-mapper scripts (#6522)
          • fix missing dependencies for Perl modules included as extensions for Perl 5.26.1 (#6532) and 5.28.0 (#6533)
          • fix location of include directory in libffi 3.2.1 easyconfigs (#6565)
        • other changes
          • also check for multiple dependency variants in easyconfigs using GCCcore 7.3.0 & newer (#6444)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb361","title":"EasyBuild v3.6.1 (May 26th 2018)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add support for enabling fallback in sanity check to consider lib64 equivalent for seemingly missing libraries (#2477)
          • add GITHUB_LOWER_SOURCE constant (#2491)
          • add 'exts_download_dep_fail' as known easyconfig parameter (#2493)
          • add support for passing custom messages on failing sanity check for extensions (#2494)
          • add definition for fosscuda toolchain (#2507)
        • various bug fixes, including:
          • make --inject-checksums always re-order source_urls/sources/patches/checksums (#2487)
          • fix git remote url in CONTRIBUTING.md (#2490)
          • make flake8 happy in easyblock.py (#2492)
          • handle missing permissions for adding labels in --new-pr (#2497)
          • restore tweaked $TMPDIR value after loading module (for sanity check) (#2498)
          • enhance get_module_path function to auto-detect generic vs software-specific easyblock class names (#2502)
          • don't blindly overwrite an existing easyconfig in tweak_one (#2504)
          • take account that PlaintextKeyring may be provided via keyrings.alt (#2505)
          • prepend location for temporary module file to $MODULEPATH with high priority + mark it as default in load_fake_module method (#2506)

        easyblocks

        • minor enhancements, including:
          • add support for detecting auto-downloaded dependencies in PythonPackage easyblock (#1377)
            • disabled by default, can be enabled using \"download_dep_fail = True\" in easyconfig file
          • add support to enable integration of pscom in psmpi easyblock (#1397)
          • set $CMAKE_*_PATH when CMake is loaded in PythonPackage easyblock (#1398)
          • update WIEN2k easyblock for v17 (#1405)
          • disable jemalloc support in TensorFlow on CentOS 6 & co (+ minor cleanups) (#1412)
          • update Maple easyblock to support recent versions (#1414)
          • enable nc-config usage for netCDF in ESMF >=7.1 (#1419)
          • enhance PETSc easyblock for version 3.9 (#1421)
          • check output of MATLAB installation command for invalid installation key error (#1423)
          • fix suffix for Boost Python library in Boost 1.67.0 & newer (#1424)
          • support adding specific paths to $PATH for generic Binary easyblock via 'prepend_to_path' custom easyconfig parameter (#1426)
        • minor changes, including:
          • assume PGI Community edition is used when no license file is specified (#1427)
        • various bug fixes, including:
          • fix imkl sanity check overwriting base libs with interface libs (#1392)
          • install Chimera in a subdirectory to avoid its dependencies being added to the environment (#1413)
          • add conditional so \"--with-x\" is only added to configopts if left unspecified in R easyblock (#1415)
          • make configure and make look for FoX in $EBROOTFOX in QuantumESPRESSO easyblock (#1420)
          • fix path for $ICEM_ACN in ANSYS easyblock (#1422)
          • avoid hardcoding defaults in question patterns in Doris easyblock (#1428)

        easyconfigs

        • added easyconfigs for new toolchains fosscuda/2018a (#6363) and giolfc/2017b (#5799)
        • added example easyconfig files for 24 new software packages:
          • BAGEL (#6332), Bottleneck (#6334), cisTEM (#6370), cftime (#6337), dotNET-Core-Runtime (#6345), ecCodes (#6235), feh (#6300), Graphene (#5043), gffread (#6306), HOME (#6227), HiCExplorer (#6342), ICU (#6371), Imlib2 (#6300), KmerGenie (#5929), libgeotiff (#6262), NetPIPE (#6062), Pandoc (#6247), Pisces (#6347), Proteinortho (#6333), pyshp (#6364), SIMPLE (#6019), STIR (#6349), SimpleElastix (#6114), wxWidgets (#6370)
        • added additional easyconfigs for various supported software packages, including:
          • Boost 1.67.0, ESMF 7.1.0r, GATK 4.0.4.0, GCC 8.1.0, GROMACS 2018, OpenBLAS 0.3.0, PETSc 3.9.1, PGI 18.4, TensorFlow 1.8.0, WIEN2k 17.1
        • minor enhancements, including:
          • add py_expression_eval extension to (recent) Python 2.7.14 & 3.6.4 easyconfigs (#6285)
          • add README for Java with information on downloading source tarball (#6294)
          • add several extensions to Perl 5.26.1 easyconfigs, incl Dist::Zilla & dependencies (#6297)
          • also include archive URLs for Bioconductor 3.6 (#6311)
          • add README.md file for installing icc/ifort (#6317)
        • various bug fixes, including:
          • consistently specify 'intel-mkl' component in recent Intel MKL easyconfigs (#6234)
          • add pkg-config as build dependency to libdrm (#6243)
          • add pkg-config build dep to most recent libdrm easyconfigs (#6244)
          • fix checksum for foreign extension in R 3.4.3 and R 3.4.4 easyconfigs (#6245)
          • fix installation of Libint 2.4.2 by building with -std=c++11 (#6251)
          • fix source spec for networkx 2.1 extension in scikit-image easyconfig (#6254)
          • avoid that Nipype downloads dependencies for included extensions (#6261, #6263)
          • consistently include patch for FLTK 1.3.4 (#6265)
          • fix Perl shebang in MCL v14.137 scripts (#6269)
          • add patch to build particular source file of matrixStats extension in R 3.4.4 easyconfig with -O1 to work around ICE in Skylake systems (#6278)
          • add pkg-config build dependency to FFmpeg >= 3.3.1 (#6291)
          • change back checksum for libdap 3.19.1 (#6305)
          • add patch for Automake 1.15 to fix issue with recent Perl versions (#6358)
          • fix glog causing intel error in Intel compilers on Intel Skylake (#6360)
          • include ICU as dependency in recent R easyconfigs (v3.4.3 & v3.4.4) (#6371)
          • fix checksum for RSEM 1.3.0 after sneaky re-release (#6379)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb360","title":"EasyBuild v3.6.0 (April 26th 2018)","text":"

        feature release

        framework

        • (experimental) support for generating Singularity container recipes & (optionally) images via 'sudo singularity' (#2332, #2480, #2481, #2482, #2483)
          • see documentation at http://easybuild.readthedocs.io/en/latest/Containers.html
        • include -ftree-vectorize and -fno-math-errno in default compiler optimisation flags for GCC (#2388)
          • this significantly improves performance of generated binaries when building with a GCC-based toolchain
          • can be disabled if needed via the vectorize toolchain option
        • several enhancements/fixes to GitHub integration support:
          • loosen commit message requirements for --new-pr w.r.t. to patches as long as all easyconfigs are new (#2438)
          • automatically add 'new' and/or 'update' labels in --new-pr (#2384)
          • add force_in_dry_run=True to copy_file in copy_patch_files (#2442)
          • test for custom commit message when deleting a file instead of when adding a patch (#2443)
          • make diff_stat pattern also match output of older git versions in tests for --new/update-pr (#2444)
          • remove duplicates from --new-pr title (#2478)
        • add support for \"eb --fetch\" to only download sources (even without having a modules tool installed) (#2457)
        • add definitions for a bunch of new toolchains:
          • golf (#2458), gmkl (#2460), gomkl (#2455), pmkl (#2460)
          • toolchains including CUDA: gmklc, gomklc, iimklc, iompic, iomklc (#2461)
        • various minor enhancements, including:
          • avoid that '--inject-checksums' adds lines longer than 120 characters (#2434)
          • enable caching of $HOME/.cache/pip in Travis config (#2435)
          • replace raw strings with bytes literal as iterator sentinels in checksum calculation (#2446)
          • new command-line option '--job-max-jobs' to cap nr of submitted build jobs with GC3Pie (#2378)
          • add configuration for houndci + flake8 (#2451)
          • add Accept header when downloading file (#2437)
          • include running of 'eb --check-github' in Travis config (#2449, #2454)
          • flesh out common code blocks in test/framework/options.py (#2452)
          • support 'depends_on' load statements in generated modules via --module-depends-on and module_depends_on easyconfig parameter (#2391)
          • fix compatibility with Modules v4.1.x (#2470)
          • add support to run_cmd to enable streaming output (#2476)
        • various bug fixes, including:
          • determine whether included easyblocks are generic or not based on class they define (#2432)
          • make sure GitHub token is used in test for --preview-pr (#2436)
          • take into account that toolchain components may be hidden when determining toolchain composition (#2440)
          • stick to autopep8 1.3.4 when testing with Python 2.6 (#2462)
          • strip off .lua extension when backing up modules to ensure Lmod 6.x doesn't pick up on them (#2463)
          • check for modulecmd.tcl before modulecmd in bootstrap script to discriminate between Modules 4.1.x vs 3.2.10 (#2468)
          • fix derive_alt_pypi_url after PyPI switching to sha256 in package URLs + fix broken test for pypi_source_urls + fix bootstrap script (#2471)
          • make sure that both 'get_git_revision' and 'this_is_easybuild' return regular strings rather than Unicode strings (#2472)

        easyblocks

        • new software-specific easyblock for Nim (#1402)
        • minor enhancements, including:
          • enhance RPackage easyblock to support installing from unpacked sources (#1383)
          • add support to PythonPackage easyblock to install with 'pip install --editable' (#1384)
          • add $EBROOTIFORT/include in $CPATH for ifort (#1385)
          • add houndci + flake8 configuration (#1388)
          • add additional location to $PATH for FLUENT installations (#1389)
          • make PythonPackage generic easyblock aware of 'unpack_options' easyconfig parameter (#1391)
          • minor updates to ABAQUS easyblock to support latest version (#1394)
          • add support for extracting sources in Binary easyblock (#1401)
        • various bug fixes, including:
          • fix linking to FFTW for Doris: should be -lfftw3f (#1387)
          • fix for installing TensorFlow 1.6.0: use the absolute path for the C compiler when compiling with GPU support (#1386)
          • also take lib64 into account for binutils libraries (#1399)
          • make sanity check in MPICH easyblock aware of libraries in lib64 subdir (#1403)
          • take into account that self.debuggerpath may not be set in icc easyblock (#1408)
          • extend noqa in configure step of Qt easyblock (#1409)

        easyconfig

        • added easyconfigs for new toolchain golf/2018a (#6080)
        • added example easyconfig files for 39 new software packages:
          • ARAGORN (#6138, #6219), amask (#6105), BamBam (#5490), Bandage (#6053), bcgTree (#6057), biobambam2 (#6040), CODEX2 (#5972), coverage (#5964), DANPOS2 (#5870), EasyQC (#6175), elastix (#6074), FRANz (#6035), Filtlong (#6050), FriBidi (#6181), Gblocks (#6057), Grace (#6036), LMfit (#6119), libmaus2 (#6040), MathGL (#6033), MiGEC (#6047), MiXCR (#6045), Miniconda3 (#6075), Multiwfn (#5403), mosdepth (#6169), Nim (#6167), Porechop (#6051), propy (#6091), Roary (#6056), Rtree (#6222), SALib (#6145), SMRT-Link (#6218), SimpleITK (#6172), spectral.methods (#6104), supernova (#6193), TEToolkit (#5912), tbl2asn (#6139), udocker (#5770), vartools (#6102), XCfun (#5975)
        • added new easyconfigs for existing toolchains:
          • gmpich/2017.08 (#6143), goolfc/2018a (#6129), intel/2018.02 (#6077), iomkl/2018.02 (#6088)
        • added additional easyconfigs for various supported software packages, including:
          • ABINIT 8.6.3, Anaconda2 5.1.0, Anaconda3 5.1.0, binutils 2.30, dask 0.17.2, FFmpeg 4.0, GCC(core) 7.3.0, GROMACS 2016.5, HTSlib 1.8, LLVM 6.0.0, Mesa 17.3.6, netCDF 4.6.0, Octave 4.2.2, OpenCV 3.4.1, PLUMED 2.4.1, PROJ 5.0.0, PostgreSQL 10.3, Qt5 5.10.1, R 3.4.4, SAMtools 1.8, Spack 0.11.2, TensorFlow 1.7.0, VTK 8.1.0
        • minor enhancements, including:
          • add test to ensure there's only one variant for each dependency in dep graph of easyconfigs using particular toolchains (#5970, #6023)
          • add extensions required by CODEX2 v20180227 to Bioconductor w/ R 3.4.3 (#5972)
          • add config file for https://pre-commit.com/ (#5785)
          • add custom sanity check paths for GraphicsMagick consistently (#5997)
          • add custom sanity check paths to recent Ghostscript easyconfigs (#5998)
          • add svd, Rssa, JBTools, RUnit, DistributionUtils and gapfill extensions for R 3.4.3 (#6099)
          • add additional extensions to Bioconductor 3.6 bundle (#6136)
          • add xlrd extension to recent Python 2.x and 3.x easyconfigs (#6162)
        • minor changes, including:
          • use gettext 0.19.8.1 on top of libxml2 2.9.7 as dep for git built with foss/2018a (#5993)
          • bump hwloc dep for OpenMPI 2.1.2 that is part of iomkl/2018a to v1.11.8 (#5994)
          • use non-interactive plotting backend by default for matplotlib 2.1.2 (#6024)
          • don't use bare Perl as dependency for git with foss/2018a, use variant with extensions (#6058)
        • various bug fixes, including:
          • fix moduleclass & add custom sanity_check_paths in gettext easyconfigs (#5991)
          • drop use of --disable-dlopen in (recent) OpenMPI easyconfigs due to negative performance impact (#6060)
          • add missing XZ dep in Python 3.6.4 easyconfigs built with */2018a toolchain (#6065)
          • add 10 packages that were previously downloaded in Python 3.6.4 easyconfigs (#6081)
          • add patch for Tensorflow 1.6 & 1.7 to include missing -lrt link flag (needed in CentOS6) (#6089)
          • fix checksums for R extensions that were updated in place in easyconfigs for R versions 3.4.3 & 3.4.4 (#6118)
          • include pkg-config as build dep in recent R easyconfigs (required for at least nloptr) (#6122)
          • remove Intel-specific workaround for 'undefined symbol: __stack_chk_guard' issue from Python 3.6.4 foss/2018a easyconfig (#6130)
          • add configopt --without-matlab/octave to all NLopt easyconfigs (#6132)
          • also consider lib64 in sanity_check_paths for Bison 3.0.4 (#6170)
          • don't use libyaml built with dummy as dep for PyYAML (#6208)
          • add missing pkg-config build dep in recent GObject-Introspection, GLib & cairo easyconfigs (#6216)
          • don't include (ancient version of) Time::HiRes as Perl extension, since it's a core Perl module (#6225)
            • this fixes problems with the installation of BioPerl and proovread
          • add missing XML-LibXML dependency in recent BioPerl easyconfigs (#6226)
          • add --without-ada configure option in recent ncurses easyconfigs (#6228)
          • add patch for snaphu to fix segmentation fault due to use of short integer (#6230)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb353","title":"EasyBuild v3.5.3 (March 7th 2018)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • re-enable testing against environment modules, bump Lmod to 7.7.16 (#2425)
          • print which hook is being executed in the command line output (#2427)
        • various bug fixes, including:
          • fix order in result of gen_list_easyblocks and gen_easyblocks_overview_rst (#2421)
          • fix target account for branch pushed when using --new-pr (#2426)

        easyblocks

        • minor enhancements, including:
          • make GROMACS easyblock select build type based on value for 'debug' in 'toolchainopts' (#1374)
          • re-enable testing against environment modules, bump Lmod to 7.7.16 (#1376)
          • enhance Gurobi easyblock to support installing Python bindings (#1378)

        easyconfigs

        • added example easyconfig files for 2 new software packages:
          • CNVkit and hmmlearn (#5954)
        • added additional easyconfigs for various supported software packages, including:
          • matplotlib 2.1.2, TensorFlow 1.6.0
        • minor enhancements, including:
          • re-enable testing against environment modules, bump Lmod to 7.7.16 (#5944)
          • add cghFLasso extension to R 3.4.3 easyconfigs (#5953)
          • add 'Math::CDF' extension to recent Perl modules (#5957)
        • various bug fixes, including:
          • add missing --enable-ld-version-script configure option for LibTIFF 4.0.9 built with GCCcore/6.4.0 (#5945)
          • hard disable UCX support in recent OpenMPI versions, to dance around bug in OpenMPI configure script (#5949)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb352","title":"EasyBuild v3.5.2 (March 2nd 2018)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add functionality to skip devel module with naming scheme (#2374)
          • add pagination support in clean_gists.py (#2379)
          • allow basic compiler modulenames to be specified as keys in --optarch (#2387)
          • initial set of OHPC module meta data for EasyBuild (#2392)
          • allow different target account in post_comment_in_issue (#2399)
          • declare support for RPATH linking stable (#2409)
        • various bug fixes, including:
          • update bootstrap script to be compatible with Modules v4 (#2390)
          • avoid fatal error when determining glibc version on non-glibc Linux system (e.g. Alphine Linux) (#2398)
          • exclude location of RPATH wrappers from $PATH to avoid fork bomb (#2410)
          • fix target account for --update-pr in case it's different from GitHub account being used to push branch (#2419)

        easyblocks

        • new software-specific easyblocks for COMSOL (#1317), Stata (#1241) and TensorFlow (#1287, #1361)
        • enhance GCC easyblock to support building generically (via 'generic' easyconfig parameter or --optarch=GENERIC) (#1336)
        • minor enhancements, including:
          • make GROMACS easyblock aware of building for KNL via --optarch=MIC-AVX512 (#1360)
          • unset $PERL_MM_OPT and $PERL_MB_OPT when installing Perl modules to avoid problems (#1362)
          • add custom 'use_pip_for_deps' easyconfig parameter to PythonPackage easyblock (#1366)
          • add support for 'default_component_specs' easyconfig parameter in Bundle easyblock (#1369)
        • various bug fixes, including:
          • fix logic in icc easyblock w.r.t. location of debugger libraries (libipt library for gdb) (#1224)
          • fix Tkinter easyblock to install Tkinter 3.x (#1347)
          • let impi modules also update $MANPATH (#1354)
          • enhance Octave extension filter to avoid false positives (#1355)
          • make CUDA easyblock aware of 'preinstallopts' easyconfig parameter (#1367)
          • fix handling of per-component (checksums for) patches in Bundle easyblock (#1369)

        easyconfigs

        • added example easyconfig files for 24 new software packages:
          • AMPL-MP (#5800), AmberTools (#5632), bcolz (#5864), detonate (#5709), dropEst (#5734), EvidentialGene (#5627), faceswap (#5825), fineSTRUCTURE (#5663), Gradle (#5828), gbs2ploidy (#5877), HIPS (#5725), Ipopt (#5800), libMemcached (#5804), MEGAHIT (#5748), Mmg (#5807), methylpy (#5874), pstoedit (#5884), python-igraph (#5905), RNAcode (#5854), Seq-Gen (#5695), Stata (#5102), scikit-allel (#5864), TetGen (#5681), zarr (#5864)
        • added new easyconfigs for existing toolchains: giolf/2018a (#5777), goolfc/2017b (#5768), iomkl/2018a (#5878)
        • added additional easyconfigs for various supported software packages, including:
          • CP2K 5.1, IPython 6.2.1, OpenFOAM v1712, Perl 5.26.1, Python 3.6.4, TensorFlow 1.5.0, X11 20180131
        • minor enhancements, including:
          • add feather and tidyverse as extensions for R 3.4.3 (#5693)
          • build recent PLUMED versions with all modules enabled (#5696)
          • add MAST/splatter/scDD to Bioconductor 3.6 bundle (#5704)
          • add dummies as extension for R 3.4.3 + monocle/scde/ROTS (+ deps) to Bioconductor 3.6 bundle (#5724)
          • include io and statistics extensions to Octave 4.2.1 easyconfigs (#5798)
          • switch to using TensorFlow as backend for recent versions of Keras (#5821)
        • various bug fixes, including:
          • using the correct binutils in jemalloc 5.0.1 easyconfig using GCCcore/6.4.0 (#5659)
          • fix source URLs for MPC (#5662)
          • add Tkinter as dependency for ASE & matplotlib using Python 3.6.3 (#5658)
          • fix versions for updated extensions in Bioconductor 3.6 bundle (#5704, #5724, #5880)
          • fix missing M4 build dependency in nettle easyconfigs (#5722)
          • fix homepage for OpenFOAM 4.x & 5.x, should be openfoam.org (#5422, #5780)
          • add matplotlib, cairo & PyCairo dependencies for graph-tool 2.26 + enhance sanity check (#5787)
          • fix hardcoded version in scikit-image easyconfigs (#5822)
          • fix pkgconfig moduleclass, 'data' doesn't make much sense (#5817)
          • add sanity check in recent matplotlib easyconfigs to ensure that Tkinter is available (#5689, #5896)
          • correct MPI path when building ABINIT with 'foss' toolchain (#5760)
          • patch Hyperopt to make it work with networkx 2.0 (#5642)
          • add Tkinter sanity check to ASE easyconfigs (#5691, #5909)
          • include autotools as build dep in git easyconfigs (#5718)
          • fix sanity check paths for Debian OS in JasPer easyconfigs (#5897)
          • fix source_urls for recent versions of ABINIT (#5908)
          • add patch for recent GDAL easyconfigs using intel toolchain to fix icc get stuck on compiling ceos.c (#5915)
          • add explicit zlib dependency in Tkinter 2.x and 3.x (#5797, #5926)
          • fix source URLs & homepage in Singularity easyconfigs (#5927)
          • fix installation of TensorFlow 1.3 via binary wheel after introducing TensorFlow easyblock (#5938)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb351","title":"EasyBuild v3.5.1 (January 16th 2018)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add definition of giolfc toolchain (#2359)
          • add support for Environment Modules 4 (#2365)
        • various bug fixes, including:
          • install SQLAlchemy < 1.2.0 with Python 2.6 in Travis config (#2367)
          • make code in easybuild/tools/job/gc3pie.py forward-compatible with GC3Pie 2.5 (#2373)

        easyblocks

        • minor enhancements, including:
          • auto-detect default build target for Clang (#1115)
          • build GROMACS for target architecture based on --optarch (#1163)
          • ensure correct $PYTHONPATH for recent OpenBabel versions (#1219)
          • enhance Amber easyblock with support for OpenBLAS and better Intel MPI support (#1305)
          • also support only installing AmberTools through Amber easyblock (#1305)
          • also pick locations for CUPTI headers & libraries in CUDA easyblock (#1306)
          • update patching out of sanitizer tests for recent Clang versions (>=5.0) (#1327)
          • update known questions for Qt5 to support installing recent versions (#1328)
          • update BamTools easyblock for v2.5.0 (#1332, #1337)
          • disable libfox target if external module found in QuantumESPRESSO easyblock (#1333)
          • add support for linking Octave with multi-threaded BLAS/LAPACK library (#1340)
          • support install_target in PythonPackage + deprecate use_easy_install & use_setup_py_develop (#1341, #1342)
        • various bug fixes, including:
          • make RubyGem easyblock use $GEM_* environment variables except if as extension of Ruby itself (#1247)
          • move initialisation in SystemCompiler & SystemMPI easyblocks to the prepare step (#1282)
          • enable skipping sanitizer tests by default in Clang easyblock, they can't be relied on (#1329)
          • fix quotes when using $ORIGIN in RPATH locations for DOLFIN (#1338)
          • fix sanity check for shared libraries in Trilinos easyblock (#1339)

        easyconfigs

        • added easyconfigs for foss/2018a and intel/2018a common toolchains (#5577), (#5578)
        • added example easyconfig files for 26 new software packages:
          • BeautifulSoup (#5601), Calendrical (#5588), ChimPipe (#5560), crb-blast (#5124)), dammit (#5125), deepTools (#5536), FastQ_Screen (#5404), FoX (#5496), GffCompare (#5581), GlimmerHMM (#5559), LocARNA (#5548), MapSplice (#5566), MariaDB-connector-c (#5557), NextGenMap (#5430), nd2reader (#5545), PIMS (#5545), Pysolar (#5585), phono3py (#5551), preseq (#5569), proovread (#5513), QUAST (#5610), RNA-SeQC (#5589), RNAclust (#5607), Ragout (#5608), SOAPfuse (#5417), TransDecoder (#5125)
        • added additional easyconfigs for various supported software packages, including:
          • BLAST+ 2.7.1, BamTools 2.5.0, Boost 1.66.0, Clang 5.0.0, dask 0.16.0, FFmpeg 3.4.1, GROMACS 2016.4, HDF5 1.8.20, matplotlib 2.1.1, PLUMED 2.4.0, Pillow 5.0.0, Qt5 5.9.3, QuantumESPRESSO 6.2, Ruby 2.5.0, Rust 1.22.1
        • minor enhancements, including:
          • include gomms in list of extensions for R 3.4.3 (#5547)
          • clean up BamTools easyconfigs to rely on updated easyblock + add SHA256 checksums (#5575)
          • add Time::HiRes to recent Perl versions (#5616)
          • add DNAcopy & dupRadar extensions to bundle for Bioconductor 3.6 (#5587, #5618)
          • switch to using install_target rather than now deprecated use_easy_install and use_setup_py_develop (#5625)
        • various bug fixes, including:
          • avoid auto-downloading of parcel in gdc-client 1.3.0 easyconfig (#5523)
          • fix permissions on make_raw_alos.pl script in ROI_PAC installation (#5546)
          • remove erroneous patch for Intel compiler support in Perl 5.26.0 easyconfig built with GCCcore/6.4.0 (#5561)
          • include HWxtest as extension to fix issue with diveRsity in R 3.4.3 easyconfig file (#5570)
          • add pkg-config as build dependency for fontconfig, harfbuzz, gnuplot, pango (#5580)
          • fix versions of updated extensions in BioConductor bundle (#5587, #5618)
          • add missing libpng dependency in ROOT 6.10.08 easyconfigs (#5595)
          • fix option passed to configure in M4 (#5606)
          • rename SIBELia to Sibelia (#5603)
          • add patch for binutils 2.26 to fix compatibility with GCC 6.x (#5611)
          • fix for dependencies was set twice in OpenMPI 3.0.0 easyconfig (#5619)
          • fix download URL in comment of Kent tools easyconfigs (#5633)
          • add SHA256 checksums to various easyconfigs (#5635, #5636, #5639)
          • add rdma-core-devel to OS dependencies for OpenMPI 3.0.0 (#5648)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb350","title":"EasyBuild v3.5.0 (December 15th 2017)","text":"

        feature release

        framework

        • add support for implementing pre- and post-step hooks (#2343)
          • documentation available at http://easybuild.readthedocs.io/en/latest/Hooks.html
        • various enhancements, including:
          • add support for foss-like toolchain with Spectrum MPI: gsolf (#2329)
          • add support for --preview-pr (#2331, #2337, #2348)
            • see also http://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html#previewing-easyconfig-pull-requests-preview-pr
          • flesh out find_extension function, hoist dict with extract commands into a constant (#2336)
          • add support for using self.start_dir rather than using self.cfg['start_dir'] (#2339)
          • add support for 'exts_default_options' easyconfig parameter (#2345, #2346)
          • allow use of 'start_dir' easyconfig parameter in extensions (#2353)
        • various bug fixes, including:
          • fix typo in 'giolf' toolchain definition (#2327)
          • fix minor issues with --inject-checksums (#2333)
          • fix error message when 'gv' Python package is not available (#2340)
          • install paramiko version < 2.4.0 for Python 2.6 in Travis config (#2344)
          • disable broken log rotation, avoid duplicate logging of output of executed commands under '--debug' (#2347)
          • also include $ORIGIN and absolute paths to 'lib' and 'lib64' subdirectories in RPATH locations (#2358)
          • fix repo references in install-EasyBuild-develop.sh script (#2360)

        easyblocks

        • new software-specific easyblock for Bazel (#1286) and Octave (#1304)
        • new generic easyblock for installing Octave packages as extensions (#1304, #1318)
        • minor enhancements, including:
          • remove foamExec & wdot from sanity checks, add blockMesh & checkMesh + enable logging for recent OpenFOAM versions (#1205, #1272)
          • add exceptions for FFTW/3.3.6 on POWER with GCC 5/6/7 (#1274)
          • add support for Spectrum MPI to the SystemMPI easyblock (#1275)
          • allow skipping of steps for Bundle components + fix issues with templates & formatting of error message (#1278)
          • update HPCG easyblock for v3.0 by changing configure syntax (#1284)
          • correctly configure for BLAS/LAPACK in R easyblock & check configure output (#1292, #1300)
          • make R easyblock set configure options for dependencies (#1297, #1303)
          • allow tuning of build command in PythonPackage via custom 'buildcmd' easyconfig parameter (#1299)
          • set default Java encoding to UTF8 when installing Trinity (#1302)
          • also define $CUDA_ROOT in generated module for CUDA (#1234)
          • make the ScaLAPACK easyblock capable of building in parallel (#1288, #1321, #1324)
        • various bug fixes, including:
          • avoid changing $CPATH, $LD_LIBRARY_PATH an $LIBRARY_PATH in generated modules for Intel Advisor, Inspector, and VTune (#1229)
          • fix check for Intel MKL in PSI easyblock (#1273)
          • fix missing space in fftw easyblock (#1277)
          • fix use of FFTW on top of Intel MKL in CP2K easyblock (#1281)
          • fix wrong sanity check for Boost when using Python 3.x (#1283)
          • pick up per-component checksums in Bundle generic easyblock (#1285)
          • correctly pass down optimization flags in CP2K easyblock (#1293)

        easyconfigs

        • added example easyconfig files for 39 new software packages:
          • AmberMini (#5476), arrow (#5416), bat (#5416), CIRCexplorer (#5356), CIRCexplorer2 (#5470), CIRI (#5358), FALCON (#5265), FastaIndex (#5465), find_circ (#5348), future (#5236), GapCloser (#5465), glibc (#5428), GRNBoost (#5373), HDFView (#5391), Horovod (#5239), HPDBSCAN (#5371), Hyperopt (#5455), IntelClusterChecker (#4970), ITK (#5434), LAST (#5465), MDTraj (#5317), Meson (#5228), mkl-dnn (#5319, #5362), Ninja (#5228), OpenKIM-API (#5479), ParmEd (#5476), PCRaster (#5386), piSvM (#5308), piSvM-JSC (#5316), PTESFinder (#5359), pybedtools (#5347), pymbar (#5476), pyScaf (#5465), QIIME2 (#5355), QTLtools (#5361), Redundans (#5465), Rmath (#5361), sbt (#5373), SNAP (#5465)
        • added new easyconfigs for existing toolchains: intel/2017.09 (#5303), intel/2018.00 (#5129), intel/2018.01 (#5345)
        • added additional easyconfigs for various supported software packages, including:
          • CGAL 4.11, CMake 3.10.0, Caffe 1.0, FFTW 3.3.7, GATE 8.0, gnuplot 5.2.2, HPCG 3.0, HTSlib 1.6, Keras 2.1.2, LLVM 5.0.0, Mesa 17.2.5, mpi4py 3.0.0, netCDF 4.5.0, OpenFOAM 5.0, ParaView 5.4.1, R 3.4.3, Ruby 2.4.2, Rust 1.21.0, SCons 3.0.1, Szip 2.1.1, Theano 1.0.0, VTK 8.0.1, X11 20171023
        • minor enhancements, including:
          • add SHA256 checksums to Autoconf (#5304), Automake (#5305), libtool (#5306) and M4 (#5307) easyconfigs
          • avoid hardcoding extension versions in worker easyconfig, include 'perl' as OS dep (#5324)
          • enable building ScaLAPACK in parallel with enhanced ScaLAPACK easyblock (#5331)
          • include RInside extension in R 3.4.0 easyconfig (#5354)
          • clean up configure options that are now handled by R easyblock (#5478, #5485)
          • update Octave easyconfigs to use Octave easyblock, add extensions for latest Octave versions (#5484, #5503, #5507)
          • add Log4perl extension to Perl 5.26.0 easyconfigs (#5511)
        • various bug fixes, including:
          • add missing extensions required by MultiQC & stick to networkx 1.11 (#5240)
          • disable optarch when using Intel compilers and enable tests in all libxc easyconfigs (#5256, #5257)
          • avoid downloads when installing matplotlib 2.1.0 w/ Python 2.7.14 (#5267)
          • fix $CPATH in recent libffi easyconfigs + enhance sanity check & add checksum (#5271)
          • use Github source URL, run autogen.sh + include Autotools build dep for numactl (#5286, #5296, #5297, #5299, #5302)
          • add hwloc to GROMACS dependencies (#5295)
          • fix source_urls (& sources spec) for GATE (#5367)
          • consistently add Autotools build dep in recent netCDF easyconfigs (#5394)
          • fix check in test suite for binutils build dep when GCCcore used as toolchain (#5436)
          • libdap 3.19.1 checksum changed (#5473)
          • disable new rfkill feature in easyconfig for util-linux 2.31 since it requires a recent kernel (#5480)
          • add missing PROJ dependency in recent GDAL easyconfigs (#5481)
          • fix name in TensorFlow easyconfigs (was 'TensorFlow') (#5495)
          • fix checksum for Szip 2.1.1 (#5517)
          • fix order of extensions for FSLeyes, add missing MarkupSafe (dep for Jinja2) (#5520)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb341","title":"EasyBuild v3.4.1 (October 17th 2017)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • improve trace output for executed commands + drop requirement for --experimental for --trace (#2306)
          • add giolf toolchain definition: GCC, IntelMPI, OpenBLAS, (Sca)LAPACK and FFTW (#2310)
          • add support for --force-download and --ignore-checksums (#2313, #2314)
          • flesh out pypi_source_urls from derive_alt_pypi_url (#2319)
        • various bug fixes, including:
          • also check for use of --rebuild next to --force to skip sanity check with --module-only (#2307)
          • ensure $TMPDIR is set to a short path for OpenMPI v2.x (#2311)
          • guard 'module load' commands in generated modules under --recursive-unload to avoid load storms (#2316)
          • correctly deal with use of special characters in description & co (#2320)
          • fix incorrect FFT_INC_DIR for Intel MKL (#2323)

        easyblocks

        • add generic 'SystemMPI' easyblock (#1106, #1261, #1262)
        • add software-specific easyblock for SAS (#1263)
        • minor enhancements, including:
          • run 'wcleanAll' or 'wcleanPlatform -all' before building OpenFOAM (#780, #1258)
          • enhance generic 'SystemCompiler' easyblock (#1106)
          • clean up --trace output for Python & Python packages (#1248)
          • update Intel MPI easyblock to support 2018.* versions (#1253)
          • add support for Intel MPI and Intel MKL to ScaLAPACK easyblock (#1255)
          • enhance GCC easyblock to also put symlinks in place for cc/c++/f77/f95 commands (#1256)
        • various bug fixes, including:
          • allow that 'gcc -print-multiarch' fails in icc easyblock (#1249)
          • fix prefix subdirectory for older versions of icc (in particular 2011.3.174) (#1250)
          • use remove_file rather than os.remove in generic IntelBase easyblock to correctly deal with broken symlinks (#1251)
          • fix sanity check for MXNet easyblock + correctly detect unpacked source directory (#1257)
          • avoid building CP2K twice due to incorrect attempt at running 'make clean' first (#1266)

        easyconfigs

        • added easyconfigs for new toolchain giolf/2017b (#5140)
        • added example easyconfig files for 13 new software packages:
          • ASAP3 (#5200), Albacore (#5153), CatMAP (#5225), DLCpar (#5209), FSLeyes (#5192), IQ-TREE (#3695), NEST (#5515), nanonet (#5149), OMA (#5211), , oxford_asl (#5193), QEMU (#5220), REMORA (#5159), SAS (#5208), supermagic (#5187)
        • added additional easyconfigs for various supported software packages, including:
          • Anaconda2/3 4.4.0, Blender 2.79, Boost 1.65.1, CMake 3.9.4, FFmpeg 3.3.4, GCC 5.5.0, h5py 2.7.1, Keras 2.0.8, matplotlib 2.1.0, mympingpong 0.8.0, OpenCV 3.3.0, OpenFOAM-Extend 4.0, OpenMPI 2.1.2 + 3.0.0, Pillow 4.3.0, Python 2.7.14 + 3.6.3, SAMtools 1.6, scikit-image 0.13.0, scikit-learn 0.19.0, Tensorflow 1.3.0, vsc-mympirun 4.0.2
        • minor enhancements, including:
          • add xkeyboard-config component in X11 bundle (#5066)
          • clean up use of wcleanAll in OpenFOAM-Extend easyconfigs, now handled by OpenFOAM easyblock (#5131)
          • also install run_rcorrector.pl with Rcorrector (#5135)
          • add SHA256 checksum to PyCUDA easyconfig (#5154)
          • fix/improve description in HDF5 easyconfigs (#5182)
          • include heatmap3 extension for R 3.4.0 (#5185)
          • add ComplexHeatmap to Bioconductor 3.5 bundle + dep pkgs in R 3.4.0 easyconfig (#5195)
        • various bug fixes, including:
          • fix source URLs for AUGUSTUS 3.2.3 (#5119)
          • fix building Bison 2.5 on systems with recent glibc (#5130)
          • also consider rdma-core-devel as alternative to libibverbs-devel OS dependency (#5132)
          • consistently use empty toolchain version in icc & ifort easyconfigs to ensure that GCC(core) dep is loaded during installation (#5133, #5134)
          • add patches for Boost 1.64.0 to fix known issues (#5148)
          • remove PyCUDA easyconfig for intel/2017a, doesn't work due to incompatibility between GCC 6.3.0 & CUDA 8 (#5156)
          • add missing Perl extensions in easyconfig for Worker 1.6.7 (#5157)
          • fix checksums for packages that download from github.com/x/y/archive (#5162)
          • add missing libpng dependency to g2lib-1.4.0 easyconfig using intel-2017a (#5196)
          • fix source_urls for Szip 2.1 & include SHA256 checksum (#5206)
          • remove unneeded --with-fft-incs configure option for ABINIT (#5207)
          • disable optarch for libjpeg-turbo 1.5.1 built with intel/2017a (#5214)
          • update $R_LIBS in plotly easyconfig (#5215)
          • include NLopt as a dependency in R easyconfigs that include nloptr as extension (#5217)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb340","title":"EasyBuild v3.4.0 (September 10th 2017)","text":"

        feature release

        framework

        • various enhancements, including:
          • add support for backing up modules via --backup-modules (#2134)
            • enabled automatically with --module-only and --skip
            • see also http://easybuild.readthedocs.io/en/latest/Backup_modules.html
          • add support for --search-paths to extend list of locations considered by --search/-S (#2255)
          • include userInGroup check in Lua modules when installation is group-restricted (#2274)
          • add experimental support for 'eb --trace' (#2285)
            • see also http://easybuild.readthedocs.io/en/latest/Tracing_progress.html
          • add support for 'eb --inject-checksums' (#2286, #2292, #2293)
            • see also http://easybuild.readthedocs.io/en/latest/Writing_easyconfig_files.html#adding-or-replacing-checksums-using-inject-checksums
          • add support for append_paths in module generator (#2294)
        • various bug fixes, including:
          • strip provided GitHub token of spaces in --install-github-token (#2270)
          • remove 'provides' line from setup.py (#2275)
          • pass down stdin in 'import' check for extensions during sanity check (#2276)
          • make sure location to 'eb' installed during stage 1 is included in $PATH during stage 2 of bootstrap procedure (#2281)
          • make resolve_path robust against None path being provided (#2282)
          • ensure clean error message on easyconfig file parse failure (#2290)
          • fix regex to avoid sucking up additional lines prior to module file path in modulefile_path (#2291)
          • fix error message when --use-ccache is used but ccache is not available in $PATH (#2295)

        easyblocks

        • minor enhancements, including:
          • update Siesta easyblock for versions 4.0.1 and 4.1-b3 (#1218)
          • updates GAMESS-US easyblock for version 20170420R1 + move ddikick.x when ddi_comm is set to 'sockets' (#1221)
          • update MRtrix easyblock for 3.0 & beyond + use copy function (#1230)
          • update ROOT easyblock to support recent versions that require using CMake, add sanity check, clean up/enhance make_module* (#1236)
          • enhance icc easyblock to include multipath include dir in $CPATH (#1237, #1242)
        • various bug fixes, including:
          • use plumed-patch command rather than 'plumed patch' in GROMACS easyblock (#1212)
          • remove 'provides' line from setup.py (#1217)
          • fixed wrong use of build_type in self.cfg in WRF easyblock that resulted in an raised exception (#1220)
          • added a call to super post_install_step in CUDA easyblock (#1226)
          • fix $MCRROOT definition in generated module file under --module-only in MCR easyblock (#1228)
          • fix permissions for directories in SuiteSparse (#1238)
          • fix function signature for fetch_extension_sources in OCaml easyblock (#1240)

        easyconfigs

        • added easyconfigs for foss/2017b and intel/2017b common toolchains (#4768), (#4618)
        • added new easyconfigs for existing toolchains:
          • iomkl/2017b (#5097)
        • added example easyconfig files for 31 new software packages:
          • BAMM (#4650), BamM (#4650), bcl2fastq2 (#4902), CGNS (#5078), CLAPACK (#5096), CLISP (#4926, #4986), cadaver (#4873), destiny (#5009), GroopM (#4650), Lucene-Geo-Gazetteer (#5064), libffcall (#4850), libsigsegv (#4840), MERCKX (#5056), minimap2 (#4991), ncompress (#4852), OpenNLP (#5059, #5061), OpenRefine (#5058), PHAST (#5096), PYTHIA (#5083), ParallelIO (#5071), PnetCDF (#5071), plotly (#5010), QML (#5101), Quorum (#5095), Rcorrector (#5095), SCnorm (#5008), SOAPdenovo-Trans (#5095), Shannon (#5095), Tika (#5063), UNAFold (#4997), VERSE (#4843)
        • added additional easyconfigs for various supported software packages, including:
          • Boost 1.65.0, binutils 2.29, GAMESS-US 20170420-R1, GCC(core) 7.2.0, gzip 1.8, HDF5 1.8.19, LLVM 4.0.1, MRtrix 3.0_RC2, Perl 5.26.0, ROOT 6.10.04, Spark 2.2.0
        • minor enhancements, including:
          • add checksums to Perl 5.24.1 easyconfigs (#4973, #4992)
          • add additional extensions for R 3.4.0 and Bioconductor 3.5 bundle (#5007, #5028, #5029, #5062, #5079)
          • also define $INCLUDEPATH and $LIBRARY_PATH in Tesla-Deployment-Kit easyconfig (#5018)
          • add check to see whether binutils is included as build dep when GCCcore toolchain is used (#5084)
        • various bug fixes, including:
          • added Rmpi patch file for R built with intel toolchains incl. impi 5.x (#4623)
          • use single-line description in setup.py (#4881)
          • fix version and source for Seurat + add extensions required by Seurat in R 3.4.0 easyconfig (#4889)
          • add zlib as dependency to util-linux easyconfigs (#4900, #4998)
          • use modextrapaths instead of modextravars in OpenMM easyconfig (#4903)
          • update deprecated PLINK urls (#4920, #5006)
          • fix moduleclass for Cookiecutter (#4947)
          • fix order of OpenMPI dependency in iomkl/2016.09* easyconfigs, must come after icc/ifort (#5024)
          • fix typo in comment in util-linux easyconfigs & add SHA256 checksums (#5052)
          • remove superfluous $CPATH update in GLib 2.44.0 easyconfig (#5053)
          • update ncurses to not build a separate libtinfo but provide a soft link instead + force linking to ncurses in libreadline (#5067, #5074)
          • include Autotools as build dep for netCDF (#5077)
          • add missing binutils build dep for texinfo (#5099)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb331","title":"EasyBuild v3.3.1 (July 12th 2017)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • add support for 'allow_prepend_abs_path' easyconfig parameter (#2254)
          • support for --merge-pr (#2266)
        • various bug fixes, including:
          • resolve symlinks to location of 'eb' in get_paths_for (#2248)
          • fall back to checking location relative to 'eb' location in find_eb_script (#2249)
          • respect --suffix-modules-path value for user-specific module path extensions (#2250)
          • update EasyBuild bootstrap script to download distribute tarball from http://easybuilders.github.io/easybuild/files (#2256)
          • fix default target GitHub account/organisation for --new-pr & co + fix tests that got broken by migration to github.com/easybuilders (#2258)
          • fix checking for new easyconfigs in copy_easyconfigs, pick up specified commit message as PR title if none was provided (#2259)
          • get rid of references to hpcugent after move to github.com/easybuilders (#2261)
          • automatically enable --ignore-osdeps under --new-pr and --update-pr (#2262)

        easyblocks

        • minor enhancements, including:
          • enhance HDF5 easyblock: define $HDF5_DIR & include -DMPICH_IGNORE_CXX_SEEK in $CXXFLAGS (#1200)
          • consistently pass down (named) arguments in prepare_step, and check for it in the tests (#1202)
          • remove no longer supported VersionIndependentPythonPackage generic easyblock (#1202)
          • update ABAQUS easyblock for recent versions, incl. support for installing hotfixes (#1203)
          • get rid of references to 'hpcugent' organisation after move to github.com/easybuilders (#1206)
          • make Boost easyblock fully aware of (pre)configopts, (pre)buildopts and (pre)installopts (#1207)
          • drop check for 'ipython' in sanity check of Anaconda easyblock, to also support Miniconda (#1210)

        easyconfigs

        • added example easyconfig files for 6 new software packages:
          • FastME (#4811), geopy (#4821), Miniconda2 (#4841), ngmlr (#4818), OpenCoarrays (#4799), Seurat (#4832)
        • added additional easyconfigs for various supported software packages, including:
          • ABAQUS 2017, GCC(core) 6.4.0, Keras 2.0.5, NCBI-Toolkit 18.0.0, numpy 1.13.0, Tensorflow 1.2.0
        • minor enhancements, including:
          • add SVG and Statistics::Basic to recent Perl versions (#4796)
          • remove buildopts from HDF5 easyconfigs, taken care of by updated HDF5 easyblock now (#4779)
          • include joblib as extension in recent Python easyconfigs (#4805)
          • changed moduleclass in mpi4py to better reflect what it is and to not confuse HMNS (#4807)
          • get rid of references to 'hpcugent' organisation after move to github.com/easybuilders (#4815, #4837)
          • add Rtsne as extension to R 3.4.0 (#4831)
        • various bug fixes, including:
          • use PYPI_SOURCE as source URL in Tensorflow easyconfigs (#4786)
          • fix homepage for skewer (#4791)
          • sync/fix source_urls & homepage in HDF5 easyconfigs (#4800)
          • fix ubsan error blocking build of GCCcore 6.1.0, 6.2.0, 6.3.0 with system GCC 7.1 (#4813)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb330","title":"EasyBuild v3.3.0 (June 26th 2017)","text":"

        feature release

        framework

        • various enhancements, including:
          • clean up easyconfigs that are copied for inclusion in pull request (#2197, #2227)
          • use devel logging where relevant in easybuild.tools.toolchain (#2198)
          • check exit code for executed module commands (#2200)
          • also copy patches to installation directory & easyconfigs archive along with easyconfig file (#2202, #2241)
          • add support for SHA256 checksums (#2215)
            • also auto-detect whether provided checksum is MD5 or SHA256 based on length (if not checksum type is specified)
            • add support for --enforce-checksums, to require availability of checksums for sources/patches
            • see http://easybuild.readthedocs.io/en/latest/Writing_easyconfig_files.html#source-files-patches-and-checksums
          • add support for renaming sources on download (#2223)
            • also involves deprecating use of 2-tuple elements in list of sources, see http://easybuild.readthedocs.io/en/latest/Deprecated-functionality.html#depr-sources-2-element-tuple
          • add support for --detect-loaded-modules (#2228)
          • give extensions access to module_generator of parent (#2229)
          • pass down additional arguments to copy_dir down to shutil.copytree (#2230)
          • avoid reloading already loaded modules that extend $MODULEPATH (#2232)
        • various bug fixes, including:
          • make sure test account & accompanying token is used in tests for github.py (#2220, #2224)
          • only use MPD for old versions of Intel MPI (<4.1) in mpi_cmd_for (#2221)
          • escape dots in package filename to ensure correct match in derive_alt_pypi_url (#2225)
          • fix GNU_SOURCE template by adding missing /gnu/ (#2235)
          • catch exception shutil.Error in copy_file (#2239)
          • report full error and traceback on unhandled exception in test report (#2240)
          • fix --set-default-module flag (#2243)

        easyblocks

        • added easyblocks for MXNet (#1135), Tkinter(#1184)
        • minor enhancements, including:
          • enhance sanity check for NCL (#1169, #1179)
          • enable building of shared FFTW libraries (#1180)
          • include update statements for $CPATH and $*LIBRARY_PATH in generated module in numpy easyblock (#1183)
          • stop using deprecated 'copytree' function from easybuild.tools.filetools (#1185)
          • update SAMtools easyblock for v0.1.17 (#1189)
          • update MATLAB easyblock for 2016b & 2017a versions (adjust permissions and change dir) (#1182, #1197)
          • consider $EB_*_LICENSE_SERVER(_PORT) in MATLAB and ANSYS easyblocks (#1195)
          • add omp_num_threads custom parameter in CP2K easyblock to allow defining $OMP_NUM_THREADS during testing (#1196)
        • various bug fixes, including:
          • fix Siesta easyblock to enable and verify parallel build (#1186)
          • fix bug in alias definition in impi easyblock for mpigxx, mpiicpc and mpiifort (#1192)

        easyconfigs

        • enable automatic style checks in easyconfig tests (#2506)
        • added example easyconfig files for 28 new software packages:
          • ada (#4594), Aspera-CLI (#4635), AUGUSTUS (#4624), ada (#4594), Bio-SamTools (#4637), Bpipe (#4590), BUSCO (#4624), CNVnator (#4649), davix (#4755), EricScript (#4594), FUNWAVE-TVD (#4743), gmpy2 (#4609), gSOAP (#4755), libsndfile (#4628), lpsolve (#4264), LUMPY (#4682), MaSuRCA (#4706), modred (#4729), MXNet (#4765), NRGLjubljana (#4651), OrfM (#4703), Perl4-CoreLibs (#4670), prodigal (#4468), pydlpoly (#4756), SeqAn (#4603), sharutils (#4745), Spyder (#4627), Tkinter (#4620), VariantMetaCaller (#4632)
        • added new easyconfigs for existing toolchains:
          • gimkl/2017a (#4646)
        • added additional easyconfigs for various supported software packages, including:
          • ABINIT 8.2.2, BLAST+ 2.6.0, Bowtie2 2.3.2, FFmpeg 3.3.1, NCL 6.4.0, Rust 1.18.0, SAMtools 1.5, VTK 7.1.1
        • minor enhancements, including:
          • use 'git diff --name-only' and $TRAVIS_COMMIT_RANGE in Travis config to get list of changed files (#4606, #4619)
          • add tuneR, seewave, soundecology, vcfR extensions for R 3.4.0 (+ libsndfile as dep) (#4628, #4680, #4747)
          • also copy README for GapFiller (#4631)
          • enable inclusion of version symbol by using --enable-ld-version-script configure option for LibTIFF (#4639)
          • add SHA256 checksums for libpciaccess to discriminate from old tarballs that required running autogen.sh (#4688)
          • fix NE_GLOBAL_DIR path for ne by also specifying PREFIX in buildopts (#4698)
          • more (trivial) style fixes (#4761)
          • avoid use of import in ANSYS & MATLAB easyconfigs (#4762)
          • set $OMP_NUM_THREADS during CP2K test step via dedicated easyconfig parameter (#4763)
          • avoid use of 'import' in BFAST easyconfigs, just strip of 'a' from version (#4764)
          • add the docopt module to all Python 2017a easyconfigs (#4770)
          • stop using deprecated 2-element tuple format in sources, use equivalent dict format instead (#4774)
        • various bug fixes, including:
          • fix typo in statsmodels source url (/sources/ -> /source/) (#4612)
          • add location to DotLib.pm to $PERL5LIB for SSPACE_Basic (#4638)
          • add missing /gnu/ in ftpmirror.gnu.org source_urls, or use GNU_SOURCE where possible (#4653)
          • consistently use --with-harfbuzz=no configure option in freetype easyconfigs (#4668)
          • use --with-x=yes in R easyconfigs that include X11 as a dependency (#4701)
          • remove '4.0' in tbb description (#4707)
          • add lib sanity check paths for Debian compatibility in nettle (#4722)
          • fix source URLs for HDF5 (#4749)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb321","title":"EasyBuild v3.2.1 (May 12th 2017)","text":"

        bugfix/update release

        framework

        • various enhancements, including:
          • make hardcoded max ratio for failures in adjust_permissions configurable (#2213)
          • allow https:// on direct download in sources (#2214)
        • various bug fixes, including:
          • bump version bootstrap script to sync with latest update (#2208)
          • fix crash during module generation when '%' character is used in description (#2209)

        easyblocks

        • added easyblock for Siesta (#1105)
        • minor enhancements, including:
          • enhance GROMACS easyblock to build with PLUMED support (#1121)
          • enhance NAMD easyblock: add OpenMP support, update for recent NAMD versions (2.12), fix compatibility with Tcl versions other than 8.5 (#1173)

        easyconfigs

        • added example easyconfig files for 12 new software packages:
          • AdapterRemoval (#4509), blasr_libcpp (#4566), canu (#4473), enchant (#4567), hunspell (#4567), memkind (#4544), NLTK (#4565), pbbam (#4566), pbdagcon (#4566), pyenchant (#4567), Siesta (#4562), xarray (#4556)
        • added new easyconfigs for existing toolchains:
          • goolfc 2017.01 (#4577)
        • added additional easyconfigs for various supported software packages, including:
          • HDF5 1.10.1, NAMD 2.12, OpenFOAM 4.1, pandas 0.20.1, ParaView 5.2.0, R 3.4.0, R-bundle-Bioconductor 3.5, Tensorflow 1.1.0
        • minor enhancements, including:
          • update source URLs in libpciaccess easyconfigs (#3960)
          • enable use of double precision floating point in METIS 5.1.0 foss/2016a easyconfig (#4555)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb320","title":"EasyBuild v3.2.0 (May 5th 2017)","text":"

        feature release

        framework

        • various enhancements, including:
          • add support for marking installed module file as new default version using --set-default-module (#2110)
          • additional easyconfig parameters for documentation: docpaths, examples, site_contacts, upstream_contacts, usage (#2113)
          • add support for --allow-use-as-root-and-accept-consequences (#2123)
          • enable extraction of patches from compressed files before applying them (#2128)
          • alphabetically sort functions and methods in module_generator module (#2132)
          • introduce function ensure_iterable_license_specs (#2157)
          • bump Travis config to use Lmod 7.4 (#2176)
          • implement copy_dir function in filetools (#2177)
          • clarify error message when no software-specific easyblock was found (#2178)
          • make log.deprecated more verbose by also printing deprecation warnings to stderr (#2179)
          • add copy function to filetools for easy copying of lists of files/directories (#2180)
          • add support for --verify-easyconfig-filenames (#2185)
          • add support for --package-tool-options (#2187)
          • take into account inline trailing comments in fetch_parameters_from_easyconfig (#2192)
          • add support for customising easyconfig parameters on a per-extension basis (#2194)
          • perform sanity check after stage 2 of EasyBuild bootstrap script, module file should be in place (#2199)
          • change order in which module commands are checked, consider Lmod first (#2201)
        • various bug fixes, including:
          • fix use of compiler-specific --optarch value in combination with --job (#2183)
          • call run_all_steps in regtest mode rather than running steps individually (#2203)

        easyblocks

        • added easyblocks for Doris (#1154, #1161), VMD (#1148) and WRF-Fire (#1153, #1159)
        • minor enhancements, including:
          • update IntelBase, PGI and TotalView easyblocks to allow list of license files/servers via 'license_file' easyconfig parameter (#1129)
          • update Bowtie2 easyblock to set correct build options, copy more files, extend sanity check (#1146)
          • added the option to build Boost with multi-threading support (#1147)
          • allow libpng as OS dependency for WPS (#1150)
          • extend Boost TIME_UTC patch to Boost versions <= 1.49.0 (#1152)
          • enhance Python sanity check to check for Tkinter support if Tk is included as a dependency (#1156, #1158)
          • add support to install Python extensions without unpacking (#1166)
          • enhance TBB easyblock to also support building open source versions (#1168)
        • various bug fixes, including:
          • update FFTW easyblock: --enable-avx-128-fma depends on the fma4 CPU feature (AMD), not fma (#1142)
          • fix problems when usempi not defined in toolchain in NAMD easyblock (#1162)

        easyconfigs

        • added example easyconfig files for 34 new software packages:
          • ACTC (#4386), atomate (#4484), BreakDancer (#4455), bx-python (#4486), ClusterShell (#4432), custodian (#4484), DFTB+ (#4398), Doris (#4404), ED2 (#4402), FireWorks (#4484), GETORB (#4414), GapFiller (#4462), IPy (#4450), imbalanced-learn (#4373), ipyrad (#4507), libiconv (#4499), MultiQC (#3564), NLopt (#1750), Node-RED (#4542), PyCUDA (#4523), pymatgen-db (#4484), QuTiP (#4371), ROI_PAC (#4414), Rascaf (#4459), RepastHPC (#4395), rootpy (#4242), SSPACE_Basic (#4461), Sambamba (#4442), Spack (#4431), SpiceyPy (#4406), StaMPS (#4454), samblaster (#4435), VMD (#4391), WRF-Fire (#4403)
        • added additional easyconfigs for various supported software packages, including:
          • BamTools 2.4.1, Boost 1.64.0, GCC 7.1.0, IPython 5.3.0, LLVM 4.0.0, Mesa 17.0.2, Octave 4.2.1, OpenMPI 2.1.0, PETSc 3.7.5, PGI 17.3, Perl 5.24.1, Python 2.7.13 + 3.6.1 (incl. numpy 1.12.1, scipy 0.19.0), R 3.3.3, SuiteSparse 4.5.5
        • various enhancements, including:
          • sync Bowtie2 easyconfigs, consistently use Bowtie2 easyblock (#4380)
          • use pl2 source tarball for FFTW 3.3.6 which already includes patch for F03 interface (#4529)
        • various bug fixes, including:
          • add missing XZ dep in easyconfig for libunwind 1.1 w/ GCC/4.9.2, sync sanity_check_paths across libunwind easyconfigs (#4369)
          • use 'use_fma4' rather than deprecated 'use_fma' easyconfig parameter in FFTW easyconfigs using intel toolchain (#4384)
          • fix pkgconfig patch for Qhull (#4451)
          • also use patch for METIS 5.1.0 to enable use of doubles in easyconfig for foss/2016b (#4467)
          • add dependency NLopt for R extension nloptr (#4481)
          • fix issue with configparser and backports namespace blocking inclusion of nbconvert with IPython (#4504)
          • change source_urls of pycrypto to encrypted https://pypi.python.org/... (#4505)
          • fix sources spec for HMMER 3.1b2 + minor style fixes + better sanity check (#4531)
          • also build IMB-IO in IMB 4.1 easyconfig using foss/2016a (#4539)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb312","title":"EasyBuild v3.1.2 (March 20th 2017)","text":"

        bugfix/update release

        framework

        • fix broken packaging support by fixing run_cmd bug with shell=False (#2153)
        • minor enhancements, including:
          • implement change_dir function in filetools module (#2155)
          • use checker_state in trailing whitespace style check + add dedicated test (#2160, #2169)
          • consider both pycodestyle and pep8 Python modules in style checks (#2161)
          • make bootstrap script aware various modules-related $EASYBUILD_* environment variables (#2170)
        • various bug fixes, including:
          • interpret statements that extend $MODULEPATH in modpath_extensions_for method (#2104)
            • also fixes inclusion of superfluous load statements in modules installed in user HMNS module tree (cfr. #2172)
          • take into account that $PATH or $PYTHONPATH may be empty when running tests (#2149)
          • handle duplicates in --include-* (#2151)
          • exclude dependencies of dependencies that extend $MODULEPATH (#2152)
          • add ld.bfd to RPATH wrappers (#2156)
          • fix test_vsc_location, vsc.__file__ may not be available when vsc is installed as a namespace package (#2159)
          • fix reported problems with scripts & docs tests (#2164)
          • fix --try-software-version using non-greedy matching + lookahead assertion, add test for tweak_one (#2166)
          • avoid creating empty modulefile directories when using modaltsoftname (#2168)
          • fix fftw_libs for MKL without interface libraries (#2171)

        easyblocks

        • add easyblock for QScintilla (#1127)
        • minor enhancements, including:
          • auto-disable quad precision on POWER and ARM in FFTW (#1102, #1138)
          • allow \"download install\" for PETSc (#1114)
          • modify Trinity sanity check for versions 2.3 and above (#1133)
          • make unpacking Python extensions optional (#1134)
          • update SAMtools easyblock for version 1.4 (#1139)
        • various bug fixes, including:
          • reduce number of environment variables in icc and ifort modules (#1126, #1143)
          • also run tests with Tcl module syntax, Lua is the default in EasyBuild v3.x (#1128)
          • rename member variable to avoid conflict with member of base class in PGI (#1137)
          • don't set $FPATH environment variable in multiple easyblocks (#1140)

        easyconfigs

        • add patch to FFTW 3.3.6 easyconfigs to fix MPI F03 interface (#4334)
          • note that this warrants rebuilding FFTW that is a part of foss/2017a
        • added example easyconfig files for 14 new software packages:
          • DBG2OLC (#4281), disambiguate (#4125), fqtrim (#4280), GFOLD (#4293), Kaiju (#4349), LSMS (#4335), L_RNA_scaffolder (#4282), PileOMeth (#4289), psycopg2 (#4319), QGIS (#4307, #4332), QJson (#4305), QScintilla (#4306, #4313), sketchmap (#4360), snaphu (#4362)
        • added additional easyconfigs for various supported software packages, including GROMACS 2016.3, PGI 17.1, SAMtools 1.4
        • various enhancements, including:
          • fix style in several easyconfigs (#4267-#4271, #4274, #4275, #4277, #4279, #4286-#4288, #4318)
        • various bug fixes, including:
          • correctly set $PYTHONPATH in ROOT easyconfigs (#4239, #4331)
          • correct libjpeg turbo references in GDAL (#4276)
          • make sure that HDF5 provided via EasyBuild is used in BLASR easyconfigs (#4278)
          • fix issues with miRDeep2 installation (#4291, #4301, #4316)
          • also run tests with Tcl module syntax, Lua is the default in EasyBuild v3.x (#4315)
          • fix PostgreSQL homepage + minor style fixes (#4318)
          • detect use of '$root', which is not compatible with module files in Lua syntax (#4330)
          • fix homepage/source_urls for ViennaRNA (#4338)
          • pass down $FFLAGS via FLAGS_OPT in SWASH easyconfigs (#4341)
          • remove include/GL/wglext.h from Mesa sanity check (#4354)
          • rename S.A.G.E. to SAGE, can't have directories with trailing dot in Windows (#4368)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb311","title":"EasyBuild v3.1.1 (March 7th 2017)","text":"

        bugfix/update release

        framework

        • minor enhancements, including:
          • print more useful error message when no compiler-specific optarch flag is defined (#1950)
          • add ec parameter to expand_toolchain_load() (#2103)
          • clarify unstable/closed PR warning message (#2129)
        • various bug fixes, including:
          • ensure that $EBEXTSLIST* is also included in generated module under --module-only (#2112)
          • fix formatting issues in generated documentation for --list-software and --avail-easyconfig-licenses (#2121)
          • fix problem with backticks in description breaking 'fpm' packaging command (#2124)
          • replace --enable-new-dtags with --disable-new-dtags instead of removing it in RPATH wrapper script (#2131)
          • only perform is_short_modname_for sanity check in det_short_module_name if modaltsoftname is available (#2138)
          • fix logic in make_module_dep w.r.t. excluding loads for toolchain & toolchain components (#2140)
          • skip test_check_style if pep8 is not available (#2142)

        easyblocks

        • minor enhancements, including:
          • change the sanity check for MCR 2016b since the directory structure has changed (#1096)
          • update NWChem easyblock for version 6.6.x and to handle different versions of OpenMPI for older versions (#1104)
          • allow per-component source_urls with templating in Bundle easyblock (#1108)
          • add slib to $LD_LIBRARY_PATH for itac (#1112)
          • consider both lib and lib64 in CGAL sanity check (#1113)
          • add support for installing Intel tools that do not require license at installation time (#1117)
            • required for Intel MPI and Intel MKL version 2017.2.174
          • remove prefix_opt as custom easyconfig parameter for Qt easyblock (#1120)
        • various bug fixes, including:
          • use '-prefix <path>' rather than '--prefix=<path>' for configure in Qt (#1109)
          • fix indentation problem in PETSc easyblock (#1111)

        easyconfigs

        • added example easyconfig files for 16 new software packages:
          • Caffe (#3667), DIAMOND (#4107), fmt (#4131), googletest (#4132), igraph (#4172), MEGA (#4202), meRanTK (#4175), meshio (#4178), miRDeep2 (#4229, #4255), OOMPA (#4211), PBSuite (#4224, #4230), randfold (#4217), skewer (#4246), Smoldyn (#4110), SpiecEasi (#4215), stress (#4180)
        • added additional easyconfigs for various supported software packages, including:
          • binutils 2.28, Cantera 2.3.0, CGAL 4.9, GMP 6.1.2, IPython 5.2.2, JasPer 2.0.10, NWChem 6.6, matplotlib 2.0.0, PCRE 8.40, Qt5 5.8.0, Vim 8.0, X11 bundle v20170129, VTK 7.1.0, Yade 2017.01a
        • added new easyconfigs for existing toolchains:
          • iomkl/2017a (#4216), intel/2017.02 (#4248)
        • various enhancements, including:
          • fix style in several easyconfigs (#4174, #4176, #4190, #4233)
          • add sanity check command to Yade easyconfig to make sure that 'import yade' works, include bzip2 as dep (#4193)
          • add PDF::API2 extension to Perl 5.24.0 easyconfigs + sync exts_list (#4221)
        • various bug fixes, including:
          • add Bison and gettext as build deps for X11 (#4111)
          • clean up dependencies in libdrm (#4113)
          • make sure Ghostscript picks up external libraries (#4118)
          • fix ippicv source download and library install for OpenCV v3.1.0 (#4126)
          • fix software name for OrthoMCL + modernise OrthoMCL easyconfigs (#4134, #4135)
          • get rid of backticks in gettext descriptions, causes problems when packaging with FPM (#4146)
          • remove duplicate sources specification in OpenMPI (#4150)
          • fix definition of buildopts/installopts in Cantera easyconfig (#4133, #4164, #4177)
          • use http:// rather than ftp:// source URLs in CFITSIO easyconfigs (#4167)
          • add patch for XZ 5.2.2 to include 5.1.2alpha symbols required by 'rpm' command on CentOS 7.x (#4179)
          • add patch for Boost v1.61-1.63 to fix problem with make_array/array_wrapper in Boost serialization library (#4192)
          • set CMAKE_PREFIX_PATH to ncurses install directory in CMake easyconfigs (#4196)
          • switch to lowopt=True for libxc v2.2.* and v3.* (#4199)
          • remove custom sanity_check_paths, since it's identical to that used by the R easyblock (#4200)
          • fix version (& homepage) in ea-utils easyconfigs (#4205)
          • remove --with-threads configure option in OpenMPI-2.* (#4213)
          • fix check for Szip library in configure script for netCDF 4.1.3 (#4226)
        • fix source_urls in several easyconfigs, including:
          • bsoft, cutadapt, EMBOSS, GnuTLS, ImageMagick, LibTIFF, Mercurial, netCDF, netCDF-Fortran, pigz, ROOT and Subversion (#4227)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb310","title":"EasyBuild v3.1.0 (February 3rd 2017)","text":"

        feature release

        framework

        • various enhancements, including:
          • ARM: GCC optimal/generic architecture compiler flags (#1974)
          • add support for --check-style to check style in easyconfig files (#1618, #2038)
          • add HOME and USER from env to available cfg file constants (#2063)
          • --optarch can now be specified on a toolchain basis (#2071)
          • implement get_cpu_features function in systemtools (#2074, #2078)
          • support use of linalg without MPI, add iimkl toolchain definition (#2082)
          • spoof HTTP request header with empty agent (#2083)
          • exclude dependencies of dependencies that extend $MODULEPATH in make_module_dep (#2091)
        • various bug fixes, including:
          • make fetch_github_token more robust against RuntimeError from keyring (#2070)
          • POWER: Fix --optarch=GENERIC for GCC (#2073)
          • fix docstring in toolchain class (#2075)
          • skip test cases involving .yeb if PyYAML is not installed, silence test in options subsuite (#2081)
          • fix traceback with 'eb --check-github' if GitPython is not installed (#2085)
          • fix regex for determining list of patched files in GitHub diff (#2088)
          • modify robot so that it only appends dependencies of tweaked easyconfigs (#2090)
          • escape metacharacters in paths passed to re.compile in dry_run_set_dirs (#2098)
          • fix broken error message in get_toolchain_hierarchy + dedicated test case (#2099)

        easyblocks

        • new easyblock for FFTW (#1083)
        • various enhancements, including:
          • update sanity check for flex 2.6.3, no more libfl_pic.a library (#1077)
          • cleanup build before proceeding with full Boost (#1080)
          • update CP2K easyblock: copy data dir, support version 4.1, support ELPA, fix psmp build with foss toolchain (#996, #1020, #1043, #1084)
          • add sanity check support for OpenSSL 1.1 (#1087)
          • support the latest changes in Inspector 2017 (#1047)
          • update NEURON easyblock to support the lack of hoc_ed in 7.4 (#987)
          • add support for WPS 3.8 (#1079)
          • also consider setuptools in EasyBuildMeta easyblock (#1093)
        • various bug fixes, including:
          • (correctly) define $ROSETTA3_DB in Rosetta easyblock (#1092)

        easyconfigs

        • added easyconfigs for foss/2017a and intel/2017a common toolchains (#3968, #3969)
        • added example easyconfig files for 16 new software packages:
          • ack (#3983), cclib (#4065), ConnectomeWorkbench (#3411), GroIMP (#3994), hyperspy (#3991), I-TASSER (#1216), ImageJ (#4023, #4062), libconfig (#4051), libspatialindex (#4002), mahotas (#3990), Minia (#3949), muParser (#4007), NetLogo (#3941), QIIME (#3868), QwtPolar (#4019), Tensorflow (#4084, #4095)
        • added additional easyconfigs for various supported software packages, including:
          • Boost 1.62.0 + 1.63.0, CP2K 4.1, GSL 2.3, PLUMED 2.3.0, Qt5 5.7.1, WRF 3.8, WPS 3.8, Yade 2016.06a, zlib 1.2.11
        • various enhancements, including:
          • update FFTW 3.3.5 easyconfigs to use FFTW easyblock & enable running of tests (#3985)
          • add FME extensions (+ deps) in R 3.3.1 easyconfigs (#4063)
        • various bug fixes, including:
          • add libxml2 dependency on HDF5 (#3759)
          • remove unnecessary dependency in libmatheval (#3988)
          • fix permissions on SWASH binaries (#4003)
          • add conda-forge channel to perl-app-cpanminus (#4012)
          • add missing deps (libpthread-stubs, libpciaccess) to libdrm 2.4.70 (#4032)
          • modloadmsg style fixes in multiple easyconfigs (#4035)
          • include X11 as dep for Molden (#4082)
          • remove incorrect definition for $ROSETTA3_DB, now (correctly) defined via Rosetta easyblock (#4083)
        • fix source URLs for several easyconfigs, including:
          • arpack-ng 3.1.3 + 3.1.5 (#4050), ChIP-Seq 1.5-1 (#4050), Ghostscript 9.10, 9.14 + 9.16 (#4050), Git 1.7.12, 1.8.2 + 1.8.3.1 (#4050), HBase 1.0.2 (#4043), libevent 2.0.22 (#4037), libsodium 1.0.3 (#4046), lynx 2.8.7 (#4050), Maven 3.2.2 and 3.3.3 (#4039), MEME 4.8.0 (#4050), PCC 20131024 (#4044), S-Lang 2.3.0 (#4045), Spark 1.3.0 (#4041), splitRef 0.0.2 (#4040)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb302","title":"EasyBuild v3.0.2 (December 22nd 2016)","text":"

        bugfix release

        framework

        • various bug fixes, including:
          • also skip dependencies of dependencies marked as external module in get_toolchain_hierarchy (#2042)
          • disable verbose setvar in modules.py (#2044)
          • force copying of easyconfigs in --new-pr/--update-pr, even when combined with -x (#2045)
          • fix verification of filename for easyconfigs used to resolve deps (#2051)
          • skip RPATH sanity check when toolchain did not use RPATH wrappers (#2052)
          • check whether file-like paths are readable before reading them in systemtools module (#2065)
        • various small enhancements, including:
          • add 'rpath' toolchain option to selectively disable use of RPATH wrappers (#2047)

        easyblocks

        • various enhancements, including:
          • enhance DL_POLY_Classic easyblock to support building with Plumed support (REVIEW) (#829)
          • make the Allinea easyblock search for the templates in the easyconfig paths (#1025)
          • make FortranPythonPackage aware of (pre)buildopts (#1065)
          • update sanity check for Mono to support recent versions (#1069)
          • fix Eigen sanity check for latest version 3.3.1 (#1074)
        • various bug fixes, including:
          • skip RPATH sanity check for binary installations (#1056)
          • pass CXXFLAGS and LDFLAGS to Boost bjam (#1064)
          • make pip ignore already installed versions of the package being installed (#1066)
          • don't pass empty string as custom installopts for numpy in test_step (#1067)
          • make the Rosetta EasyBlock work in --module-only mode (#1073)

        easyconfigs

        • added example easyconfig files for 13 new software packages:
          • CryptoMiniSat (#3952), MATSim (#3902), Molcas (#2084), ne (#3376), psmc (#3910), PyCogent (#3897), PyNAST (#3897), RASPA2 (#3903, #3946), SimPEG (#3876), SolexaQA++ (#3892), taco (#3882), UCLUST (#3896), USPEX (#3767)
        • added additional easyconfigs for various supported software packages, including:
          • Mono 4.6.2.7, PGI 16.10, ROOT 6.08.02
        • various enhancements, including:
          • trivial style fixes (#3878, #3893, #3895)
        • various bug fixes, including:
          • add X11 develop libs to ncview easyconfig (#3881)
          • fix source_urls in pkg-config easyconfigs (#3907)
          • install numpy/scipy as .egg to ensure shadowing of numpy/scipy in parent Python installation (#3921)
          • fix broken source URL + homepage for Infernal (#3928)
          • fix test that verifies dumped easyconfig, take into account that dumped dependencies may include hardcoded dependency (#3932)
          • include libGLU as dependency in freeglut easyconfigs with recent Mesa (#3936)
          • add patch for FreeSurfer to fix issue with MATLAB 2013 (#3954)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb301","title":"EasyBuild v3.0.1 (November 30th 2016)","text":"

        bugfix release

        framework

        • important changes
          • always use Intel-specific MPI compiler wrappers (mpiicc, mpiicpc, mpiifort) for toolchains using both Intel compilers and Intel MPI (#2005)
        • various small enhancements, including:
          • use setvar in modules.py to define environment variables (#2011)
          • include output of sanity_check_commands in the build log (#2020)
        • various bug fixes, including:
          • fix testing of bootstrap script in Travis config (#2003)
          • use correct module syntax in bootstrap script if Lmod is not used (i.e. Tcl) (#2007)
          • fix packaging issue with non-Python scripts in easybuild/scripts (#2015)
            • fixes issue where RPATH wrapper template script (rpath_wrapper_template.sh.in) was not included in the v3.0.0 release
          • make tests more robust against running headless (#2016)
          • avoid rewrapping already wrapped compiler/linker command with RPATH wrapper script (#2022)
          • fix log.error traceback due to 'raise EasyBuildError' involving a '%s' in error message (#2024)
          • make sure 'modules_tool' attribute is also defined for extensions (#2026)
          • only dump easyconfig with modified deps due to --minimal-toolchains to 'reprod' subdir of install dir (#2028)
          • avoid appending '-h' to sanity check commands specified as a string (#2030)
          • fix bug in list_software_rst: always include version suffix regardless of value (#2032)

        easyblocks

        • various enhancements, including:
          • update SAMtools easyblock for recent versions (#1048)
        • various bugfixes, including:
          • fix QuantumESPRESSO easyblock to handle gipaw correctly (#1041)
          • always specify name of serial Fortran compiler to ALADIN, it already knows to use MPI wrapper commands (#1050)

        easyconfigs

        • added example easyconfig files for 7 new software packages:
          • Cookiecutter (#3827), ETE (#3857), findhap (#3860), graphviz (Python bindings, #3826), LoFreq (#3856), PhyloBayes-MPI (#3859), XGBoost (#3849)
        • added additional easyconfigs for various supported software packages
        • various enhancements, including:
          • add ipywidgets and widgetsnbextension extensions to IPython 5.1.0 easyconfigs (#3818, #3823)
          • run dadi test suite as a sanity check command (#3858)
        • various bug fixes, including:
          • fix incorrect descriptions for ifort (#3817)
          • fix modulename for Jinja2 and Pygments (#3823)
          • fix download URL in BLAST 2.2.26 easyconfig (#3861)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb300","title":"EasyBuild v3.0.0 (November 16th 2016)","text":"

        feature release

        framework

        • backward-incompatible changes:
          • make robot always consider subtoolchains, even without --minimal-toolchains (but in reverse order) (#1973)
          • clean up behaviour that was deprecated for EasyBuild v3.0 (#1978)
          • change default config to use Lmod/Lua for modules tool/syntax, GC3Pie as job backend (#1985)
          • the minimal required version of Lmod was bumped to 5.8 (#1985)
        • major new features:
          • (experimental) support for RPATH linking via --rpath (#1942)
            • see http://easybuild.readthedocs.org/en/latest/RPATH-support.html
          • add support for --consider-archived-easyconfigs (#1972)
            • see http://easybuild.readthedocs.org/en/latest/Archived-easyconfigs.html
          • stabilize --new-pr and --update-pr (#1979)
            • see http://easybuild.readthedocs.org/en/latest/Integration_with_GitHub.html
        • various other small enhancements, including:
          • add support for 'devel' log level (#1815)
          • make remove_file aware of --extended-dry-run + add dedicated unit test (#1932)
          • add support for filtering out setting/updating particular environment variables from generated modules (#1943)
            • see --filter-env-vars
          • clean up output of EasyBuild bootstrap script & add version (#1944)
          • improved ARM platform/CPU detection (#1953)
          • use '0' as letter dir for funky software names that don't start with a letter, e.g., 3to2 (#1954)
          • make bootstrap script aware of vsc-install for offline installation (#1955)
          • add support for blas_family() and lapack_family() methods in Toolchain instances (#1961)
          • make copy_file dry-run aware (#1963)
          • reorganise test easyconfigs to match structure in easyconfigs repo (#1970)
          • add a toolchain compiler option for enforcing IEEE-754 conformance (#1975)
          • support for intelcuda compiler toolchain (#1976)
          • check that each glob pattern matches at least one file expand_glob_paths (important for --include-*) (#1980)
          • enhance bootstrap to auto-skip stage 0 in case a suitable setuptools is already available (#1946, #1984)
          • simplify GC3Pie version check (#1987)
          • include suggestion on how to change configuration w.r.t. modules tool/syntax (#1989)
        • various bug fixes, including:
          • fix test for find_easybuild_easyconfig (#1931)
          • remove existing module file under --force/--rebuild (#1933)
          • fix combining --search and --try-* (#1937)
          • fix appending to existing buildstats in FileRepository.add_easyconfig (#1948)
          • fix handling of iterate easyconfig parameters, restore them during cleanup (#1949)
          • fix filtering loads for (hidden) build deps from generated module (#1959)
          • handle multi-flag compiler options on all types of options (#1966)
          • fix --list-software by making letter_dir_for function aware of '*' wildcard name (#1969)
          • skip dependencies of toolchain marked as external modules when determining module hierarchy (#1977)
          • bump page limit in fetch_latest_commit_sha, spit out more meaningful error if too many branches were encountered (#1981)
          • fix CUDA-related issues in HierarchicalMNS (#1986)

        easyblocks

        • backwards incompatible changes:
          • remove deprecated GenomeAnalysisTK/GATK easyblock (#1001)
          • remove deprecated 'get_netcdf_module_set_cmds' function from netCDF easyblock (#1015)
          • remove deprecated 'get_blas_lib' function from LAPACK easyblock (#1016)
          • remove QLogicMPI easyblock (#1023)
        • new easyblock for installing Anaconda (#950)
        • add generic easyblock for Conda installations (#950)
        • various enhancements, including:
          • enable use of GCCcore as toolchain for Clang, fail if no GCC prefix is found (#1002)
          • also build Boost MPI library in parallel (#1005, #1038)
          • enhance g2clib easyblock to allow to install 1.6.0 or higher (#1006)
          • update QuantumESPRESSO easyblock to support packaging changes in 6.0 (#1007)
          • add support to Scons generic easyblock to provide argument to specify installation prefix (#1008)
          • update IntelBase and imkl easyblocks to handle the 2017 versions of compilers/imkl (#1012)
          • leverage toolchain.linalg functionality in ScaLAPACK easyblock, use copy_file (#1014)
          • allow netCDF-C++4 to be used with ESMF (#1019)
          • update Advisor easyblock to support latest versions (#1021)
          • update CBLAS easyblock to build with foss toolchain (#1024)
          • update Gurobi easyblock to use copy_file (#1028)
          • add support for giving /lib preference over /lib64 & co in GCC installation (#1030, #1035)
          • enable installation of libiberty by default for binutils (#1030)
          • avoid CMake fiddling with the RPATHs injected by EasyBuild via --rpath in CMakeMake and METIS easyblocks (#1031, #1034)
          • simplify scipy sanity check to make it more robust w.r.t. version updates (#1037)
        • various bug fixes, including:
          • make sure 'None' doesn't appear in modules generated with --module-only (#998)
          • fix ATLAS easyblock for non-x86 systems (#1003)
          • fix 'usempi' and 'with_mpi' usage to allow for a serial build of Amber 16 (#1013)
          • add both lib/python2.7/site-packages/{,wx-3.0-gtk2} to $PYTHONPATH for wxPython (#1018)
          • only hard inject RPATH for /usr/lib* directories when building binutils with dummy toolchain (#1026)
          • make HDF5 easyblock handle --filter-deps correctly (#1027)
          • update Travis config w.r.t. changes framework config defaults and required Lmod version (#1029)
          • be more patient when running Mathematica Q&A installer (#1036)

        easyconfigs

        • backwards incompatible changes:
          • archive easyconfigs using old inactive toolchains
            • see #3725, #3728, #3729, #3730, #3731, #3732, #3733, #3735, #3736, #3737, #3738
            • only taken into account by EasyBuild if --consider-archived-easyconfigs is enabled
            • no easyconfigs available outside of archive for QLogicMPI + 15 toolchains:
              • ClangGCC, cgmpich, cgmpolf, cgmvapich2, cgmvolf, cgompi, cgoolf, gmacml, goalf, gpsmpi, gpsolf, iiqmpi, intel-para, ipsmpi, iqacml
          • fix name in PyTables easyconfigs (was 'pyTables') (#3785)
        • added example easyconfig files for 32 new software packages:
          • 3to2 (#3655), Anaconda2 (#3337), Anaconda3 (#3337), ART (#3724), atools (#3631), awscli (#3645), behave (#3751), Blosc (#3785), bokeh (#3790), Cantera (#3655), Cargo (#3764), dadi v1.7.0, distributed (#3786), ea-utils (#3634), Elk (#3644), FGSL (#3638), gencore_variant_detection (#3337), help2man (#3768), lbzip2 (#3791), Log-Log4perl (#3574), Minimac2 (#3783), mypy (#3694), OBITools (#3573), perl-app-cpanminus (#3337), PGDSpider (#3625), prokka (#3755), Reads2snp (#3609), spglib-python (#3620), SUNDIALS (#3654, #3655), SelEstim (#3626), XMLStarlet (#3797), x265 (#3090)
        • added easyconfigs for new 'intelcuda' toolchain (#3750)
        • added new easyconfigs for existing toolchains:
          • goolfc/2016.08 (#3796), goolfc/2016.10 (#3666, #3775), intel/2017.00 (#3543), intel/2017.01 (#3757), iomkl/2016.09-GCC-4.9.3-2.25 (#3680), iomkl/2016.09-GCC-5.4.0-2.26 (#3772)
        • added additional easyconfigs for various supported software packages, including:
          • Advisor 2017 update 1, Amber 16, ATLAS 3.10.2, GROMACS 2016, Octave 4.0.3, OpenFOAM 3.0.1, PyTables 3.3.0, QuantumESPRESSO 6.0, Rust v1.12.1
        • various other enhancements, including:
          • STREAM builds using ~56GiB and ~111GiB (#3670)
        • various bug fixes, including:
          • fix source spec in VASP easyconfig, ensure static linking with Intel MKL (#3381)
          • fix source URL in GCCcore 6.2.0 easyconfig (#3608)
          • correct STAMP dependency in i-cisTarget, must be 1.3 (#3613)
          • consistently specify to use -fgnu89-inline flag in M4 1.4.17 easyconfigs (#3623)
          • fix source URLs for Cython (#3636)
          • add Bison as build dep and M4 as runtime dep for flex 2.6.0 (#3656)
          • enable parallel building of flex 2.6.0 (#3630)
          • add zlib and bzip2 dependencies to X11 bundle (#3662)
          • use 'letter_dir_for' function rather than just grabbing 1st letter of software name in easyconfigs tests (#3664)
          • add patch to fix typo in GRIT 2.0.5 (#3675)
          • fix typo in patch for WRF 3.8.0 (#3702)
          • use $CC, $CXX rather than $I_MPI_CC, $I_MPI_CXX in patch for OpenFOAM 4.0 (#3703)
          • patch FLTK to fix 'undefined symbol' issue when building Octave (#3704)
          • include Pillow as a proper dep for scikit-image rather than as extension, since it has deps itself (#3723)
          • update Travis config w.r.t. changes framework config defaults and required Lmod version (#3773)
          • don't limit parallellism to 4 in recent GCC easyconfigs (#3776, #3777, #3778)
          • include M4 as dependency in flex 2.5.39 easyconfigs + fix consistency issues (#3782)
          • consistently apply patch for ncurses 6.0 (#3792)
          • eliminate dependency on mpi-mic-rt in ifort (#3793)
          • include Autotools as build dependency in all beagle-lib and MrBayes easyconfigs (#3794)
          • make OpenBLAS use the LAPACK version specified in the easyconfig (v0.2.18 & v0.2.19) (#3795)
          • include original download URL for ISL source tarball in GCC easyconfigs (#3798)
          • disable installing libiberty for binutils built with intel toolchain (#3802)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb290","title":"EasyBuild v2.9.0 (September 23rd 2016)","text":"

        feature release

        framework

        • note: vsc-base 2.5.4 or more recent is now required
        • various small enhancements, including:
          • change option --color choices to auto/always/never (#1701, #1898, #1911)
          • add support for 'hidden' easyconfig parameter (#1837)
          • add support for using ccache and f90cache compiler caching tools (#1844, #1912)
            • see --use-ccache and --use-f90cache
          • update Cray metadata for 16.06 CrayPE release (#1851)
          • also include patch files in --new-pr and --update-pr (#1852)
          • handle deleted files in --new-pr (#1853)
          • add support for --install-latest-eb-release (#1861)
          • add support for hiding toolchains, see --hide-toolchains and 'hidden' key in 'toolchain' spec (#1871)
          • add template for GitHub source URL (#1872)
          • add support for combining --new-pr/--update-pr and --robot (#1881)
          • add support for --list-software and --list-installed-software (#1883, #1910, #1917)
          • print message on which extension is being installed, incl. progress counter (#1886, #1914)
          • add support for --github-org to specify GitHub organisation rather than GitHub user (#1894)
          • add support for running Lmod in debug mode (#1895)
          • avoid needless use of deepcopy, speed up support for templating in easyconfigs (#1897)
          • convert all_dependencies to a property in EasyConfig class (#1909)
          • add support for --mpi-cmd-template (#1918)
          • add support for --disable-mpi-tests (#1920)
        • various bug fixes, including:
          • merge with develop when using --from-pr (#1838, #1867)
          • ensure --new-pr doesn't open empty pull requests (#1846)
          • better error handling for outdated GitPython module in --check-github (#1847)
          • fix formatting for generated easyblocks documentation (#1860)
          • make sure the robot ignores filtered dependencies when creating toolchain cache (#1862)
          • honor --filter-deps under --minimal-toolchains (#1863)
          • correct format for 'param' and 'author' tags in docstrings (#1866)
          • ignore failing bootstrap test in Travis config file (#1870)
          • make sure all output of executed command is included in generated temporary log file (#1873, #1874)
          • ensure --show_hidden is used in the correct location for 'avail' with Lmod (#1875)
          • make sure self.path is passed down in copy method of EasyConfig object (#1884)
          • take into account possible multi-line modloadmsg in ModuleGeneratorLua (#1885)
          • fix extracting .bz2 source files (#1889)
          • don't resolve path to Lmod command (#1892)
          • fix skipping of stage 0 in bootstrap script (#1893)
          • fix function signature of log.deprecated compared to fancylogger.deprecated (#1896, #1899)
          • apply patch to Tcl/C environment modules tool for Tcl 8.6 support in Travis config (#1901)
          • fix combining --extended-dry-run with --from-pr (#1902)
          • also template dict keys (#1904)
          • don't pass '--try-*' command-line options to EB instance running within job script (#1908)
          • add workaround for incorrectly passing command line arguments with --job (#1915)
          • fix issues with --module-only (#1919, #1924, #1925)
            • correctly deal with specified start_dir
            • do not remove installation directory when build-in-installdir is enabled
          • make sure 'which' function returns path to a file (#1921)
          • fix :param:, :return: tags in docstrings & add test for it (#1923)

        easyblocks

        • new easyblocks for 6 software packages that require customized support:
          • cppcheck (#983), HEALPix (#982), IMOD (#847), IronPython (#321), Mono (#321), MyMediaLite (#321)
        • various enhancements, including:
          • extend OpenFoam-Extend sanity check for decomp libraries (#784)
          • enhance Java easyblock to support installing Java 6.x (#940)
          • make QuantumESPRESSO easyblock aware of multithreaded FFT (#954)
          • extend PSI easyblock to use PCMSolver and CheMPS2 (#967)
          • make Boost easyblock add definition for $BOOST_ROOT to generated module file (#976)
          • add support to Bundle easyblock to install list of components (#980)
          • enhance & clean up libxml2 easyblock to also enable installing without Python bindings (#984)
          • update Libint easyblock for Libint 2.1.x (#985)
          • update sanity check for OpenFOAM to support OpenFOAM 4.x (#986)
          • make easyblocks that run MPI tests aware of 'mpi_tests' build option (#993)
        • various bug fixes, including:
          • fix compatibility of OpenFOAM easyblock with --module-only (#784)
          • fix testing of --module-only compatibility for OpenFOAM and IMOD easyblocks (#784)
          • add 'include/libxml2' to $CPATH in libxml2 easyblock (#981)
          • fix compatibility of IntelBase generic easyblock with --module-only (#994)
          • make sure correct config script is used for Tcl/Tk deps of R (#995)

        easyconfigs

        • added example easyconfig files for 88 new software packages:
          • ADMIXTURE (#3359), angsd (#3593), ASHS (#3429), AutoDock (#3465), AutoGrid (#3466), BayeScan (#2748, #3356), BayPass (#3451), Bazel (#3379), Blender (#3553, #3558), bwakit (#3567), BXH_XCEDE_TOOLS (#3410), CastXML (#3403), CHASE (#3304), configparser (#3368, #3424), configurable-http-proxy (#3380), cppcheck (#3508), CRPropa (#779), DicomBrowser (#3432), DMTCP (#3422), entrypoints (#3368, #3424), f90cache (#3570), fastPHASE (#3343), fastQValidator (#3192), FFindex (#1135), FragGeneScan (#1198), gdc-client (#3399), gflags (#3417), glog (#3417), GRIT (#3561), H5hut (#3431), HAPGEN2 (#3344), HEALPix (#779), IMOD (#1187, #3347), IronPython (#607), jhbuild (#3476), jupyterhub (#3380), Keras (#3581), khmer (#1158), LeadIT (#3345, #3599), LevelDB (#3417), libbitmask (#3481), libcpuset (#3481), LMDB (#3417), log4cplus (#1136), MACH (#3346), Mako (#3460), Maq (#3428), MetaGeneAnnotator (#3307), Metal (#3324), Mono (#607), MyMediaLite (#607), nco (#2575), nose-parameterized (#3579), OpenEXR (#3553), OpenImageIO (#3553), path.py (#3368, #3424), PCRE2 (#3325), pftoolsV3 (#3317), PHASE (#3385), PLAST (#3288), PLINKSEQ (#3402), POV-Ray (#3551), ProbABEL (#3108), prompt-toolkit (#3368, #3424), protobuf-python (#3563), PSORTb (#3317), py (#3403, #3482), pygccxml (#3403, #3482), pyGIMLi (#3403, #3482), pyplusplus (#3403, #3482), PyQt5 (#3533), Pyro4 (#3527), pytest (#3403, #3482), QCA (#3595), RDMC (#1137), S.A.G.E. (#3427), SDL2 (#3551), SHORE (#3531), SimVascular (#3555), SortMeRNA (#3326), SUMACLUST (#3316), SUMATRA (#3316), Text-CSV (#3323), Triangle (#3403), VEGAS (#3457), VirSorter (#3307), wcwidth (#3368, #3424), X11 (#3340)
        • added new easyconfigs for existing toolchains:
          • CrayGNU + CrayIntel 2016.06 (#3377)
          • foss 2016.07 (#3517) + 2016.09 (#3523)
          • iomkl 2016.07 (#3458)
          • pomkl 2016.09 (#3516)
        • added additional easyconfigs for various supported software packages, including:
          • FFTW 3.3.5, GCC 4.9.4 + 6.2.0, GROMACS 5.1.4, IPython 5.1.0, LLVM 3.9.0, Mesa 12.0.1, OpenCV 3.1.0, OpenFOAM 4.0, OpenMPI 2.0.1, ParaView 5.1.2, PGI 16.7, QuantumESPRESSO 5.4.0, Qt5 5.7.0, R-bundle-Bioconductor 3.3, VTK 7.0.0, Yade 2016.06a
        • various enhancements, including:
          • adjust PSI4 easyconfigs for updated easyblock (#3312)
          • clean up libxml2 easyconfigs according to updated libxml2 easyblock (#3479, #3509)
          • significantly speed up verifying of dumped easyconfig by resorting to 'shallow' parsing (#3520)
          • include sanity checks for all MATIO config files (#3528)
          • remove --with-tcl-config/--with-tk-config from R easyconfig, already done in R easyblock (#3580)
        • various bug fixes, including:
          • disable testing in all ParaView 4.4.0 easyconfigs, required download is too much of a PITA (#3178)
          • add SQLite as dep to GDAL 2.1.0 easyconfigs (#3342)
          • add zlib/SQLite/LibTIFF as dep to R 3.3.1 easyconfigs (#3342)
          • add bzip2 as a dependency of freetype (#3464)
          • specify correct MPI target in FDS easyconfigs (#3488)
          • add tcsh as OS dep in NAMD easyconfigs (#3491)
          • statically link ncurses/libreadline in Lua easyconfig with 'dummy' toolchain (#3545)
          • add M4 as dep for flex 2.6.x (#3542, #3550)
          • add bzip2 and libxcb dependencies to FFmpeg 3.x easyconfigs (#3548)
          • make sure & check that Graphviz does not install Tcl bindings in Tcl install prefix (#3556)
          • add missing patches for extensions in Python 3.x easyconfigs (#3557)
          • add missing XZ dependency to libxml2 2.9.4 easyconfigs, change gettext dep of XZ to build-only dep (#3568)
          • enable running of tests for HPCG (#3578)
          • fix buildopts in tabix easyconfigs (#3584)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb282","title":"EasyBuild v2.8.2 (July 13th 2016)","text":"

        bugfix release

        framework

        • various small enhancements, including:
          • add support for rst output for --list-* and --avail-* (#1339)
          • add support for 'eb --check-conflicts' (#1747, #1807, #1833)
          • ensure nice error message when non-existing path is passed to apply_regex_substitutions (#1788)
          • add check for module output, empty stdout is a sign of trouble with Lmod (#1793)
          • add multi-threaded FFT to toolchain (#1802)
          • avoid special characters like '[', ']' in path to temporary directory (#1808)
          • add support for --zip-logs (#1820)
          • add support for --extra-modules (#1821)
          • add type conversion for 'checksums' and 'patches' parameter in .yeb easyconfigs (#1826, #1840)
          • add support for filtering tests by name (#1828)
          • add support for --avail-toolchain-opts (#1830, #1839)
          • use absolute path for robot and easyconfig files (#1834)
          • add backup URL for tarballs hosted on SourceForge in install_eb_dep.sh script (#1843)
        • various bug fixes, including:
          • fix installation of Lua in install_eb_dep.sh script (#1789)
          • fix OpenMP flag for Cray compiler wrappers (#1794)
          • only reset $MODULEPATH before loading a module if environment was reset (#1795)
          • include vsc-install as dependency in setup.py (#1805)
          • cache $PATH & $PYTHONPATH in test setUp, restore them in tests where 'eb' is used (#1806)
          • don't reset $MODULEPATH in stage 2 of bootstrap script, support forced installation during stage 2 (#1810)
          • fix issue with templates defined by deps being required while still parsing deps (#1812)
          • skip unneeded unuse/use commands on tail of $MODULEPATH in check_module_path (#1813)
          • fix auto-convert for all *dependencies params in .yeb easyconfigs, ensure version is a string (#1818)
          • fix keyring version in Travis config (#1819)
          • fix dumping of .yeb easyconfig files in easyconfigs archive (#1822)
          • fix format of supported easyconfig templates in help output (#1825)
          • stick to pydot 1.1.0 for Python 2.6 in Travis config (#1827)

        easyblocks

        • new easyblocks for 5 software packages that require customized support:
          • Amber (#958), Extrae (#955), Gurobi (#962), Paraver (#956), Tau (#887)
        • various enhancements, including:
          • add support for building & installing old GROMACS versions (#569, #960)
          • add support for building Boost with Cray toolchain (#849)
          • libxsmm support for CP2K (#942)
          • pick up specified components for imkl (#943)
          • add support for building GROMACS with double precision (#946, #960)
          • add support for building GROMACS with CUDA support and using dynamic libraries using Cray toolchains (#951, #960)
          • also install vsc-install in EasyBuildMeta easyblock, if tarball is provided (#957)
          • enhance PSI easyblock to support PSI4 1.0 (#965)
        • various bug fixes, including:
          • also install scripts with MRtrix 0.3.14 (#941)
          • enhance Qt easyblock to support Qt3 (#944)
          • create 'release' symlink in MRtrix install dir (#947)
          • fix make_installdir in Inspector & VTune easyblocks (#952)
          • make Binary and MakeCp easyblocks aware of 'keepsymlinks' (#959)
          • correctly define $G4* environment variables in Geant4 easyblock (#961, #970)
          • prepend tmp install path to $PYTHONPATH in numpy test step, move to build dir when removing 'numpy' subdir (#963)
          • correct full path to ALADIN config file & patch it to use right Fortran compiler flags (#964)
          • ensure correct compiler command/flags are used for SAMtools (#966)

        easyconfigs

        • added example easyconfig files for 54 new software packages:
          • Amber (#3200), Bullet (#3175), CONTRAlign (#690), Cluster-Buster (#3191), damageproto (#3222, #3308), DCA++ (#3219), EIGENSOFT (#3147, #3163), Extrae (#507), fdstools (#3237), ffnet (#3273), GP2C (#3257), Gurobi (#3239), gc (#3202, #3261), gputools (#546), IMa2p (#3300), IOzone (#3253), i-cisTarget (#3191, #3194), icmake (#3243), io_lib (#3255), Kent_tools (#3191), libcmaes (#3256), libpsortb (#3259), libxsmm (#3099), MEGACC (#3263), MM-align (#1428), MOSAIK (#880), MView (#1345), MySQL-python (#3172, #3189), magma (#3219), mrFAST (#862), mrsFAST (#862), mysqlclient (#3172, #3232), NTL (#3183), PARI-GP (#3257), Paraver (#508), psutil (#3171, #3231), PSI4 (#3293), Qwt (#3157), RMBlast (#3142), STAMP (#3191), Seqmagick (#3264), splitRef (#946), TAU (#509), TRF (#3141), TVB (#3053, #3247, #3251), TVB-deps (#3053, #3247, #3251), tvb-data (#3053, #3247, #3251), tvb-framework (#3053, #3247, #3251), tvb-library (#3053, #3247, #3251), VampirTrace (#509), Voro++ (#3174), wheel (#3235), wxPropertyGrid (#508), xonsh (#3159)
        • added easyconfigs for update of common toolchains: foss/2016b (#3271), intel/2016b (#3270)
        • added new easyconfigs for existing toolchains: CrayGNU/2016.03 & CrayGNU/2016.04 (#3291), foss/2016.06 (#3184), intel/2016.03-GCC-5.4 (#3185)
        • added additional easyconfigs for various supported software packages, including:
          • Boost 1.61.0, GCC 5.4.0, GROMACS 3.3.3, HDF5 1.8.17, netCDF 4.4.1, numpy 1.11.0, Perl 5.24.0, PETSc 3.7.2, Python 2.7.12, Python 3.5.2, Qt 3.3.8, R 3.3.1
        • various enhancements, including:
          • use check_conflicts function in easyconfigs tests (#2981)
          • also include vsc-install in list of sources for recent EasyBuild easyconfigs, to support offline installation (#3203)
          • enable building of libmysqld.* in MariaDB easyconfigs (#3230)
          • add ALDEx2, phyloseq to bundles for Bioconductor 3.2 (#3211, #3241)
          • add biom, geepack, lubridate, pim to list of R 3.2.3 extensions (#3186, #3211, #3275)
        • various bug fixes, including:
          • add patch for Boost 1.60.0 to fix bug resulting in TypeError (#3162)
          • add fftw dependency to CP2K 2.6.0 easyconfigs using CrayGNU (#3176)
          • fix location of libelf.h, only (also) installed as include/libelf.h is there's no /usr/include/libelf.h (#3201)
          • fix software name for Guile & GnuTLS (was 'guile' & 'gnutls') (#3207)
          • added missing space in Geant4 configopts to specify -DGEANT4_INSTALL_DATA (#3209)
          • fix Cython download URL in Python 2.7.11 easyconfigs (#3212)
          • add missing build deps for X stack in easyconfigs using foss/2016a or intel/2016a (#3222, #3308)
          • fix overruling of exts_list in Perl 5.22.2 easyconfig (#3224)
          • add missing dependency on GMP in R 3.2.3 easyconfigs (#3226)
          • don't hard specify toolchain for binutils build dep in likwid easyconfig, since it matches parent toolchain (#3240)
          • fix homepage & source_urls in HMMER easyconfigs (#3246)
          • stick to pydot 1.1.0 for Python 2.6 in Travis config (#3282)
          • add python-dev(el) to OS deps in GC3Pie easyconfigs (#3310)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb281","title":"EasyBuild v2.8.1 (May 30th 2016)","text":"

        bugfix release

        framework

        • various bug fixes, including:
          • fix error message on missing module command in bootstrap script (#1772)
          • expand '~' in paths specified to --include-* (#1774)
          • break after deleting cache entry to avoid attempt to delete cache entry again (#1776)
          • avoid changing $MODULEPATH when prepending with symlink of path already at head of $MODULEPATH (#1777)
          • filter out duplicates in find_flexlm_license (#1779)
          • stick with GitPython < 2.0 with Py2.6 in Travis configuration (#1781)
          • don't use LooseVersion to define version_major/version_minor (#1783)

        easyblocks

        • various enhancements, including:
          • update MRtrix easyblock for version 0.3.14 (#932)
          • update Inspector easyblock for recent versions (#934)
          • update VTune easyblock for recent versions (#935)
          • add debug message to IntelBase easyblock w.r.t. switching to 'exist_lic' (#936)

        easyconfigs

        • added example easyconfig files for 13 new software packages:
          • drFAST (#906), git-lfs (#2478), grabix (#3127), JWM (#3007), libcroco (#3007), librsvg (#3007), MaCH (#3136), mayavi (#3106), OpenMM (#2762), Pysam (#3080), SeqPrep (#3097), vt (#3128), wkhtmltopdf (#3098)
        • added new easyconfigs for existing toolchains: intel/2016.03-GCC-4.9 (#3088)
        • added additional easyconfigs for various supported software packages, including:
          • Boost 1.61.0, ESMF 7.0.0, Inspector 2016 update 3, IPython 4.2, netCDF-C++4 4.3.0, netCDF-Fortran 4.4.4, Perl 5.22.2, VTune 2016 update 3
        • various bug fixes, including:
          • apply libreadline patch to fix bug triggering segmentation fault (#3086)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb280","title":"EasyBuild v2.8.0 (May 18th 2016)","text":"

        feature + bugfix release

        framework

        • significant speedup improvements of EasyBuild itself, thanks to:
          • stop creating ModulesTool instances over and over again (#1735)
          • cache result of 'module avail' calls (#1742)
        • add support for using PGI as toolchain compiler (#1342, #1664, #1759, #1761, #1764)
          • incl. new toolchain definitions pompi and pomkl (#1724)
        • add test configuration for Travis (#1733, #1737, #1743, #1767)
        • various other enhancements, including:
          • add get_total_memory() function in systemtools module (#1623)
          • ignore __init__.py files in --include-* (#1704)
          • use -fopenmp rather than -openmp for Intel compilers, since -openmp is deprecated (#1718)
          • add modules to metadata for Cray modules (#1721)
          • make sure user write permissions are set after failed removal attempt of installation directory (#1722)
          • escape special characters in software name in find_related_easyconfigs (#1726)
          • add support for CrayPGI compiler toolchain (#1729)
          • ensure read permission to all installed files for everybody (unless other options specify otherwise) (#1731)
          • also consider $LMOD_CMD in bootstrap script (#1736)
          • translate PyPI download URL to alternate URL with a hash (#1749)
          • make get_software_libdir compatible with -x (#1750)
          • set $LMOD_REDIRECT to 'no' when initialising Lmod (#1755)
          • add test for broken modules tool setup affecting 'module use' (#1758)
        • various bug fixes, including:
          • isolate 'options' tests from easyblocks other than the ones included in the tests (#1699)
          • don't run 'module purge' in tests, since EasyBuild may be made available through a module (#1702)
          • avoid rehandling --include-* options over and over again during --show-config (#1705)
          • remove useless test_cwd (#1706)
          • fix bootstrap script: make sure setuptools installed in stage0 is still available at end of stage1 (#1727)
          • forcibly create target branch in --update-pr (#1728)
          • remove check whether 'easybuild' is being imported from dir that contains easybuild/__init__.py (#1730)
          • (re)install vsc-base during stage1 using --always-copy in bootstrap script, if needed (#1732)
          • use os.path.realpath in test_wrong_modulepath to avoid symlinked path breaking the test (#1740)
          • unset $PYTHONPATH in before tested bootstrapped EasyBuild module (#1743)
          • take into account that paths in modulepath may be symlinks in test_module_caches (#1745)
          • change to install dir rather than buildpath in sanity check of extension, latter may not exist (#1746, #1748)
          • only load modules using short module names (#1754)
          • (re)load modules for build deps in extensions_step (#1762)
          • fix modpath_extensions_for method: take into account modules in Lua syntax (#1766)
          • fix broken link to VSC website in license headers (#1768)

        easyblocks

        • add test configuration for Travis (#895, #897, #900, #926)
        • new easyblocks for 4 software packages that require customized support:
          • binutils (#907), libQGLViewer (#890), SuperLU (#860), wxPython (#883)
        • various other enhancements, including:
          • update SuiteSparse easyblock for version >= 4.5 (#863)
          • enhance imkl easyblock to install on top of PGI (#866, #916)
          • enable runtime logging of install cmd in IntelBase (#874)
          • enhance Qt easyblock to support installing with dummy toolchain (#881)
          • delete libnuma symbolic links in PGI installation directory (#888)
          • enhance PDT easyblock to support installing with dummy toolchain (#894)
          • add support for building Clang with OpenMP support (#898)
          • update Score-P easyblock for additional compilers, MPI libraries & dependencies (#889)
          • drop deprecated 'testrb' from sanity check in Ruby easyblock (#901)
          • enhance WRF easyblock to support versions >= 3.7 (#902)
          • update QuantumESPRESSO easyblock for version 5.3.0 (#904)
          • add support in PythonPackage easyblock to use 'setup.py develop' (#905)
          • update Qt easyblock for Qt 5.6.0 (#908)
          • extend bzip2 easyblock to also build dynamic libraries (#910)
          • make threading an explicit option rather than relying on MPI library in SCOTCH easyblock (#914)
          • update PGI easyblock to install siterc file so PGI picks up $LIBRARY_PATH (#919)
          • enhance sanity check paths for compiler commands in PGI easyblock (#919)
          • also filter out -ldl from $LIBBLAS & co for Intel MKL in numpy easyblock (#920)
          • define $MIC_LD_LIBRARY_PATH for impi (#925)
        • various bug fixes, including:
          • don't hardcode Python version in test_make_module_pythonpackage (#876)
          • make PythonPackage easyblock compatible with --module-only (#884, #906)
          • remove check whether 'easybuild' is being imported from dir that contains easybuild/__init__.py (#891)
          • fix passing compiler configure option in PDT easyblock (#894)
          • fix bug in Score-P easyblock w.r.t. --with-libbfd (#889)
          • fix extension filter for Ruby (#901)
          • fix ACTIVATION_TYPES list in IntelBase + minor style change (#913)
          • correctly define $MIC_LD_LIBRARY_PATH in imkl 11.3.x and newer (#915)
          • fix broken link to VSC website in license headers (#927)

        easyconfigs

        • added example easyconfig files for 69 new software packages:
          • ALPS (#2888), annovar (#3010), BayeScEnv (#2765), BayesAss (#2870), BerkeleyGW (#2925), Blitz++ (#2784, #3004), bam-readcount (#2850), Commet (#2938), CrossTalkZ (#2939), cuDNN (#2882), DBus (#2855), DFT-D3 (#2107), DIAL (#3056), dask (#2885), dbus-glib (#2855), FFLAS-FFPACK (#2793), FLAC (#2824), FLANN (#3015, #3029), FLEUR (#3043), GConf (#2855), GROMOS++ (#1297), GST-plugins-base (#2855), GStreamer (#2855), GTOOL (#2805), Givaro (#2793), gdist (#2935), gromosXX (#1297), HISAT2 (#2809), i-PI (#2940), Kraken (#3037, #3041), LAME (#2823), LASTZ (#3002), LinBox (#2793), Loki (#2839), libQGLViewer (#2923, #3008), libXxf86vm (#2855), MDSplus (#2787, #2838, #3027), MRIcron (#2831), Mawk (#2732), minieigen (#2839), mpmath (#3058), NBO (#3047, 3048), NGS (#2803), NGS-Python (#2810), ncbi-vdb (#2808), OptiX (#2795), PCL (#3024), PEAR (#2731), PLplot (#2990), Postgres-XL (#2891), PyGTS (#2969), RSeQC (#2788), Rust (#2920, #2943), rainbow (#2730), SHAPEIT (#2806), SIONlib (#2908), Saxon-HE (#2773), Singularity (#2901), SoX (#2825), Subread (#2790), SuperLU (#2665), travis (#2953), VASP (#2950), Wannier90 (#2906, #3042), wget (#3041), wxPython (#2855), xf86vidmodeproto (#2855), Yade (#2839), Yambo (#2932)
        • add test configuration for Travis (#2942, #2944, #2954, #3061)
        • added easyconfigs for new PGI-based toolchains
          • pomkl/2016.03 (#2899, #2900, #3046), pomkl/2016.04 (#3044), CrayPGI/2016.04 (#2927)
        • added new easyconfigs for existing toolchains:
          • foss/2016.04 (#3013), intel/2016.02-GCC-5.3 (#2523), intel/2016.03-GCC-5.3 (#3009)
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • incl. CGAL 4.8, Clang 3.8.0, icc/ifort 2016.2.181 & 2016.3.210, imkl 11.3.2.181 & 11.3.3.210, impi 5.1.3.181, LLVM 3.8.0, OpenCV 2.4.12, pandas 0.18.0, Qt 5.6.0, Scalasca 2.3, Score-P 2.0.1, SuiteSparse 4.5.2, WRF 3.8
        • various other enhancements, including:
          • enhance ORCA easyconfig for compatibility with SLURM (#1819)
          • enable -fPIC in GraphicsMagick easyconfig, required by Octave (#2764)
          • clean up binutils easyconfigs to use binutils easyblock (#3006)
          • add include/GraphicsMagick to $CPATH in GraphicsMagick easyconfigs (#3034)
          • update SuiteSparse easyconfigs according to updated SuiteSparse easyblock (#3050)
        • various bug fixes, including:
          • fix Perl extensions download urls (#2738)
          • add Autoconf as build dep for GCCcore (#2772)
          • fix versions of extensions in Bioconductor 3.2 bundles (#2769)
          • fix (build) deps for intel/2016a easyconfigs of cairo, libXext, libXrender (#2785, #2874)
          • use 'env' wherever preconfig/build/installopts is used to set environmental variables (#2807, #2811, #2812)
          • add zlib as explicit dep in Tk easyconfigs (#2815)
          • consistently specify to use -fgnu89-inline flag in M4 1.4.17 easyconfigs (#2774, #2779, #2816)
          • fix homepage and description in Pygments easyconfigs (#2822)
          • include pkg-config as build dependencies for libXau, libXdmcp, libxcb (#2827)
          • consistently use XORG_*_SOURCE constants (#2829, #2830, #2848)
          • update source URLs in ScientificPython easyconfig files (#2847)
          • add checksums in SuiteSparse easyconfigs (#2849)
          • fix build deps for GObject-Introspection (#2852)
          • correctly specify Perl location in git easyconfig (#2866)
          • fix bitstring 3.1.3 download URL in Python easyconfigs, source tarball on PyPI disappeared (#2880)
          • fix Perl dependency in worker easyconfigs, it requires non-standard Perl modules (#2884)
          • add XZ as dependency in Python 3.5.1 easyconfigs, required for lzma (#2887)
          • fix download URL for packmol (#2902)
          • drop usempi toolchain in numexpr easyconfigs, not needed (#2937)
          • fix use of resolve_dependencies in tests according to changes in framework (#2952)
          • add dependency extensions for MarkupSafe and jsonscheme in IPython 3.2.3 easyconfigs (#2967)
          • add patch for matplotlib 1.5.1 to fix Tcl/Tk library paths being used (#2971)
          • add xproto build dependency for makedepend v1.0.5 (#2982)
          • disable parallel build for Doxygen (#2986)
          • fix source URLs for FreezeThaw and Tie::Function extensions for Perl v5.22.1 (#2988)
          • add sed command in worker easyconfig files to fix module_path in conf/worker.conf (#2997, #3000)
          • drop toolchainopts from Eigen easyconfigs, since it is headers-only (#3025)
          • clean up dummy bzip2 easyconfig, define buildopts rather than defining $CC and $CFLAGS via os.environ (#3036)
          • use %(pyshortver)s template rather than hardcoding 2.7 in VTK easyconfigs (#3052)
          • correct install location of OpenCV Python bindings (#3054)
          • include XZ as dependency for libunwind (#3055)
          • add patch to fix broken OpenSSL tests due to expired certificates (#3057)
          • fix broken link to VSC website in license headers (#3062)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb270","title":"EasyBuild v2.7.0 (March 20th 2016)","text":"

        feature + bugfix release

        framework

        • stabilize Cray support
          • enable 'dynamic' toolchain option by default for Cray* toolchains (#1581)
          • remove FFTW from the Cray toolchains definition (#1585)
          • add external modules metadata for Cray systems (#1638)
          • fix independency of Cray toolchains w.r.t. toolchain build environment (#1641, #1647)
          • remove requirement to use --experimental for Cray toolchains (#1663)
        • enable Python optimization mode in 'eb' (#1357)
        • improved GitHub integration
          • improve error handling on git commands + better logging for --new-pr/--update-pr (#1590)
          • use git rather than https in --new-pr/--update-pr (#1602)
          • add -u as shorthand for --upload-test-report (#1605)
          • fix --from-pr for PRs that include renamed/deleted files (#1615)
          • add support for --install-github-token and --check-github (#1616)
          • fix fetch_easyconfigs_from_pr w.r.t. duplicate files in PRs (#1628)
        • various other enhancements, including:
          • add support for --search-filename and --terse (#1577)
          • support complete bash completion (#1580)
          • add support for %(*ver)s and %(*shortver)s templates (#1595, #1604)
            • incl. %(javaver)s, %(javashortver)s, %(perlver)s, %(perlshortver)s, %(pyver)s, %(pyshortver)s, %(rver)s, %(rshortver)s
          • define HOME constant that can be used in easyconfig files (#1607)
          • implement support for generating 'swap' statements in module files (#1609)
          • add support for --show-config (#1611, #1620)
          • simplified support for --minimal-toolchains (#1614, #1619, #1622, #1625, #1646)
          • add support for --dump-env-script (#1624)
          • enhance ModulesTool.exist to also recognize partial module names (#1630)
          • improve error message for toolchain definition errors (#1631)
          • make default is_short_modname_for check less strict to support versionless external modules as deps (#1632)
          • mention hostname in comment made by --upload-test-report (#1635)
          • support providing additional relative path for prefix in external module metadata (#1637)
          • add ThematicModuleNamingScheme (#1645)
          • enhance logging format: remove logger name, mention location instead (#1649, #1654)
          • update kernel versions for SLES12 (#1659)
          • raise EasyBuildError rather than ImportError in only_if_module_is_available decorator (#1662)
        • various bug fixes, including:
          • fix Lmod spider output in generated modules (#1583)
          • correctly define 'easybuild' namespaces (#1593, #1666, #1680)
            • this change requires that the setuptools Python package is available (at runtime)
            • using custom easyblocks by adding them in the Python search path ($PYTHONPATH) may require adjustments, i.e. also using pkg_resources.declare_namespace in the __init__.py files; we highly recommend to use --include-easyblocks instead, see http://easybuild.readthedocs.org/en/latest/Including_additional_Python_modules.html
            • note: this has the side-effect of not being able anymore to reliably use 'eb' in the parent directory of the easybuild-framework repository (#1667)
          • fix template for savannah.gnu.org source URL (#1601)
          • stop running 'module purge', only restore environment (#1608)
          • fix license headers: Hercules foundation is now FWO (#1629)
          • avoid that fancylogger tries to import mpi4py to determine MPI rank (#1648)
          • fix error in tests when 'file' backend is not available in Python keyring (#1650)
          • update develop install script (#1651)
          • handle allowed system deps during prepare_step rather than during parsing of easyconfig (#1652)
          • add function to find FlexLM licenses: find_flexlm_license (#1633, #1653)
          • fix availability check for external modules with partial module name (#1634, #1643)
          • fix bootstrap script to ensure setuptools is also installed (#1655)
          • fix issue in bootstrap script with vsc-base being picked up from the OS (#1656)
          • fix bootstrap script for environment where 'python' is Python 3.x (#1660)
          • remove --experimental for tests related to --package (#1665)
          • ensure path to setuptools is included in $PYTHONPATH being used to test scripts (#1671)
          • sanitize environment before initializing easyblocks (#1676)
          • remove reload statements in include.py, since they are not required and break --include-toolchains (#1679)

        easyblocks

        • new easyblocks for 6 software packages that require customized support:
          • ADF (#826), MPICH (#844, #852, #868), mutil (#859), pplacer (#835), psmpi (#852), SNPhylo (#865)
        • various other enhancements, including:
          • implement support for 'use_pip' in PythonPackage easyblock (#719, #831)
          • add support in CUDA easyblock to install wrappers for host compilers (#758)
          • update sanity check for picard version 1.124 and above (#796)
          • use 'module swap' for all components in CrayToolchain (#823)
          • update PSI4 easyblock to cope with changed name of PSI4 data dir (#824)
          • use find_flexlm_license function and avoid defining $CPATH in PGI easyblock (#837)
          • use find_flexlm_license function in IntelBase generic easyblock (#839)
          • add unit test to check module file generated by PythonPackage easyblock (#841)
          • rework MVAPICH2 easyblock on top of new MPICH easyblock (#844)
          • add CUDA support in CP2K easyblock (#850)
          • also define $LD in buildopts for GATE (#855)
          • use find_flexlm_license function in TotalView easyblock (#839)
          • enhance MakeCp easyblock to also support renaming of files while copying them (#859)
          • hunt for usable 'python' command in PythonPackage easyblock when system Python is used (#861)
          • add sanity check in easybuild/__init__.py w.r.t. current working dir (#869)
          • change suffix of original file to .easybuild when using fileinput in impi easyblock (#870)
        • various bug fixes, including:
          • make sure Python unicode settings match that of the system Python (#817)
          • remove FFTW related statements in HPL easyblock, since HPL doesn't require FFTW at all (#822)
          • use pkg_resources.declare_namespace rather than pkgutil.extend_path to declare 'easybuild' namespaces (#827)
          • fix license headers: Hercules foundation is now FWO (#836)
          • fix check for non-empty lib dirs in PythonPackage easyblock (#840)
          • consider all Python lib dirs in sanity check for libxml2 (#842)
          • correctly handle deprecated configure options (--with-hwloc/--enable-mpe) in MVAPICH2 easyblock (#853)
          • use correct configure option for checkpoint/restart in MVAPICH2 easyblock (#854)
          • ensure list of Python lib dirs always has a 'lib/...' entry (#858)
          • check whether rpm/rpmrebuild commands are available using 'which', rather than checking for OS deps (#864)
          • fix test_step in UFC easyblock (#872)

        easyconfigs

        • added example easyconfig files for 63 new software packages:
          • ATSAS (#616, #2587), astropy (#2724, #2727), attr (#2706), BamUtil (#2654), BBMap (#2322), BH (#2508), CheMPS2 (#2445), CosmoloPy (#2723, #2727), csvkit (#2639), Firefox (#2648), FreeXL (#2422), GL2PS (#2667), Glade (#2631), htop (#2538), IGV (#2019), IGVTools (#2019), ImageMagick (#2438), jModelTest (#2529), KEALib (#2420), libcerf (#2656), libgcrypt (#2201), libglade (#2631), libgpg-error (#2201), libspatialite (#2431), LittleCMS (#2438), MAST (#2542), MLC (#2577), MPJ-Express (#2529), mutil (#2201), neon (#758), NextClip (#2544), npstat (#2686, #2703), Octopus (#2643), QuickFF (#2721), p4vasp (#2328), PCMSolver (#2445), PFFT (#2643), PHYLIP (#2694), pkgconfig (#2475, #2476), Platypus (#2618), pplacer (#1056), PRINSEQ (#2437, #2444, #2585), PyFFmpeg (#2501, #2519), PyGObject (#2443), PyGTK (#2443), PyOpenGL (#2628), pyringe (#2533), qrupdate (#2675), rgeos (#2635), rpmrebuild (#2402), shift (#2201), SNAPE-pooled (#2688), SNPhylo (#2701), sratoolkit (#2715), STAR-Fusion (#2463), statsmodels (#2719), StringTie (#2527), synchronicity (#2508), testpath (#2461), USEARCH (#2537), VarScan (#2464), vsc-install (#2165), Whoosh (#2725), xprop (#2645)
        • added new easyconfigs for existing toolchains:
          • intel/2016.02-GCC-4.9 (#2620), gmpolf/2016a & gmvolf/2016a (#2589)
        • stable Cray-specific easyconfigs
          • delete deprecated Cray toolchains and easyconfig files (#2400)
          • don't hardcode PrgEnv version, remove craype and fftw components in Cray toolchains (#2554)
          • remove -XC versionsuffix for stable definitions for Cray* toolchains (#2714)
          • support for various software packages with CrayGNU and CrayIntel toolchains: CP2K, GROMACS, WRF
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • including BWA 0.7.13, CMake 3.4.3, GATE 7.2, GROMACS 5.1.2, Mesa 11.1.2, netCDF 4.4.0, Perl 5.22.1, Python 3.5.1, R 3.2.3, R-bundle-Bioconductor 3.2, scipy 0.17.0, SuiteSparse 4.5.1
        • various other enhancements, including:
          • copy contrib dir in Velvet easyconfigs so scripts are also available (#2456)
          • redefine matplotlib 1.5.1 easyconfig as a bundle, also include cycler extension (dep for matplotlib) (#2470)
          • add bitstring extension to Python 2.7.11 easyconfigs (#2471)
          • enable building of MetaVelvet in Velvet 1.2.10 easyconfigs (#2473)
          • add custom sanity check for libjpeg-turbo (#2480)
          • add Velvet easyconfigs that include BioPerl dependency, so VelvetOptimizer can use it (#2495, #2729, #2733)
          • add source URL in RAxML 7.2.6 easyconfigs (#2536)
          • update MPICH easyconfigs to use new MPICH easyblock (#2589)
          • free libX11 & co from unneeded Python dependency/versionsuffix (#2549, #2563, #2605, #2664)
          • add '--enable-utf --enable-unicode-properties' configure options in PCRE easyconfigs (#2561)
            • required for latest R versions
          • add HCsnip, metagenomeSeq in Bioconductor 3.1 bundles (#2553, #2578)
          • add additional extensions in R 3.2.x easyconfigs that are required for extra Bioconductor extensions (#2547, #2556)
          • update psmpi easyconfig files to use the new psmpi easyblock (#2619)
          • add easyconfig for Python 2.7.11 on top of X11-enabled Tk (#2614, #2621)
          • add virtualenv as extension in Python 2.7.11 easyconfigs (#2660)
        • various bug fixes, including:
          • fix software name for GTK+ (was 'gtk+'), PyCairo (was 'pycairo') and Gdk-Pixbuf (was 'gdk-pixbuf') (#2468)
          • don't hardcode CC/CXX in OpenMPI easyconfigs (#2472)
          • remove Google Code source URL for mpi4py (#2474)
          • rename ffmpeg to FFmpeg (#2425, #2481)
          • use available easyblock for flex (#2486)
          • fix determining list of easyconfigs in unit test suite, don't assume locations are correct (#2530)
          • fix specifying DB dependency in DB_File easyconfigs (#2539)
          • remove hard-coded -xSSE4.2 for numpy/scipy with Intel compilers (#2546)
          • fix license headers: Hercules foundation is now FWO (#2550)
          • add --with-zlib configure argument in libxml easyconfigs (#2555)
          • don't hardcode optarch=True in xextproto/xtrans easyconfigs (#2601)
          • change toolchain version to '' in easyconfigs that use dummy toolchain and include dependencies (#2612)
          • GLib doesn't require libxml2 with Python bindings (#2632)
          • add patch file to imkl 10.2.6.038 32-bit easyconfig to fix installer not being able to deal with '--' in build path (#2634)
          • add missing 'pkgconfig' dependency for h5py (#2476, #2650)
          • correct software name in FastQC easyconfigs (was 'fastqc'), use 'dummy' toolchain for all FastQC version (#2657, #2666)
          • add missing libxml2 dependencies in GLib easyconfigs (#2658)
          • fix Xerces-C++ download location (#2668)
          • enable XML::Bare extension in all Perl easyconfigs (#2672)
          • update dead link for SuiteSparse (#2679)
          • remove custom exts_filter in easyconfigs used PythonPackage easyblock (#2683, #2685)
          • add M4 as build dep for binutils & flex (#2681)
          • add missing dependencies in Python 3.5.x easyconfigs: SQLite, Tk, GMP (#2704)
          • fix (OS) deps, add checksums, remove parameter definition with default values in MVAPICH2 easyconfigs (#2707)
        • style cleanup in various easyconfigs (#2378, #2387, #2395, #2396, #2488-#2493, #2496-#2500, #2502-#2504, #2602)
          • working towards automated style review of pull requests
        ","boost":0.5},{"location":"release-notes/#release_notes_eb260","title":"EasyBuild v2.6.0 (January 26th 2016)","text":"

        feature + bugfix release

        framework

        • add (experimental) support for opening/updating (easyconfigs) pull requests (--new-pr, --update-pr) (#1528)
        • sanitize environment before each installation by undefining $PYTHON* (#1569, #1572)
        • various other enhancements, including:
          • allow user-local modules with hierarchical naming schemes (--subdir-user-modules) (#1472)
          • enhance --extended-dry-run output to include paths for requirements in make_module_req (#1520)
          • rewrite read_file to use 'with' (#1534)
          • add support for eb --last-log (#1541)
          • support using fixed install dir scheme (--fixed-installdir-naming-scheme) (#1546)
          • add edge attributes for build dependencies in --dep-graph output (#1548)
          • check whether dependencies marked as external module are hidden (#1552)
          • implement support for --modules-header (#1558)
          • add support to specify 'else' body for conditional statements in modules (#1559)
          • add extra test for --include-easyblocks for generic easyblocks (#1562)
          • allow user to define the default compiler optimization level (--default-opt-level) (#1565)
          • make toolchain.get_variable more robust w.r.t. dummy toolchain (#1566)
        • various bug fixes, including:
          • fix missing 'yaml' module check in tests (#1525)
          • fix 'develop' install script (#1529)
          • correctly quote FPM option values in packagin support (#1530)
          • correctly handle '.' in software name w.r.t. $EB* environment variables (#1538)
          • exclude logs and test reports from packages (#1544)
          • also pass down --job-cores for pbs_python job backend (#1547)
          • skip dependencies marked as external modules when packaging (#1550)
          • fix syntax for set_alias statement in Lua syntax (#1554)
          • handle the case of all 'offline' nodes correctly for --job (#1560)
          • fix test_modules_tool_stateless unit test for stateless ModulesTool with Lmod as modules tool (#1570)

        easyblocks

        • add generic easyblock for Cray toolchains (#766)
        • new easyblocks for 2 software packages that require customized support:
          • EggLib (#811), PGI (#658)
        • various other enhancements, including:
          • update BamTools easyblock for versions 2.3.x and newer: some shared libraries are now static) (#785)
          • don't hardcode .so, use get_shared_lib_ext instead (#789, #790, #791, #793, #794, #803, #815)
          • enhance CPLEX easyblock by adding more subdirs to $PATH, define $LD_LIBRARY and $CPLEXDIR (#797)
          • make sanity check for netcdf4-python work with both egg and non-egg installs (#799)
          • update sanity check in PETSc/SLEPc easyblocks for v3.6.x (#800)
          • update Trinity easyblock for 2.x versions (#802)
          • update DOLFIN easyblock for v1.6.0 (#804)
          • check for libkokkoscore.a rather than libkokkos.a for Trilinos 12.x (#805)
          • add an option to skip the sanitizer tests of Clang (#806)
          • update Molpro easyblock to support binary installs and 2015 version (#807)
          • make ConfigureMake more robust w.r.t. custom easyconfig parameters (#810)
        • various bug fixes, including:
          • add back support for Eigen 2.x in Eigen easyblock (#798)
          • fix for vsc-base being picked up from OS in EasyBuildMeta easyblock (#813)
          • remove setuptools.pth if it includes absolute paths after installing EasyBuild (#813)

        easyconfigs

        • add easyconfigs for foss/2016a and intel/2016 common toolchains (#2310, #2311, #2339, #2363)
          • incl. easyconfigs for Boost, CMake, Python, Perl using these toolchains
        • added example easyconfig files for 21 new software packages:
          • BLASR (#922), BioKanga (#2247), BoltzTraP (#2365), basemap (#2221), CppUnit (#2271), EggLib (#2335), FLASH (#2281), GLM (#2288), hub (#2249), MACS2 (#1983), MotEvo (#843), numba (#2243), PGI (#1833, #2367), PLY (#2305), PaStiX (#2319, #2326), patchelf (#2327), pip (#2284), RSEM (#2316), RcppArmadillo (#2289), SCDE (#2289), slepc4py (#2318)
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • including BamTools 2.4.0, Boost 1.60.0, Clang 3.7.1, DOLFIN/FFC/FIAT/Instant/UFL 1.6.0, GATE 7.0, GCC 5.3.0, LLVM 3.7.1, pandas 0.17.1, PETSc 3.6.3, SAMtools 1.3, scipy 0.16.1, SLEPc 3.6.2, Trilinos 12.4.2, Trinity 2.1.1, VTK 6.3.0
        • various other enhancements, including:
          • added new Cray* toolchain versions with pinned dependency versions (#2222)
          • don't hardcode .so, use SHLIB_EXT constant instead (#2245)
          • add custom sanity check in GEOS easyconfigs (#2285)
        • various bug fixes, including:
          • add Autotools (M4) as a build dependency in GMP v6.x easyconfigs (#2096)
          • remove argparse from list of extensions in Python 3.2+ easyconfigs, since it became part of stdlib (#2323)
        • various style fixes, including:
          • get rid of tabs (#2302)
          • remove trailing whitespace (#2341)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb250","title":"EasyBuild v2.5.0 (December 17th 2015)","text":"

        feature + bugfix release

        framework

        • add support for IBM XL compilers on Power7 and PowerPC (BlueGene) (#1470)
        • add support for generic compilation using --optarch=GENERIC (#1471)
          • see also Controlling compiler optimization flags
        • update experimental support for .yeb easyconfigs (#1515)
          • support clean way to specify toolchain + dependencies in .yeb easyconfigs
        • various other enhancements, including:
          • add support for 'whatis' easyconfig parameter (#1271)
          • add support for SLES 12 and kernel 3.12.x (#1412)
          • add GCCcore toolchain definition (#1451)
          • use 'diff --git' lines to determine patched files in pull request with --from-pr (#1460)
          • add proper option parser to bootstrap script (#1468)
          • add get_gcc_version() function in systemtools module (#1496)
          • don't load fake module in sanity_check_step during a dry run (#1499)
          • allow string values to be passed in make_module_req by hoisting them into a list (#1502)
          • add support for listing build dependencies as hidden dependencies (#1503)
          • also consider lib32/pkgconfig and lib64/pkgconfig for $PKG_CONFIG_PATH (#1505)
          • add support to make_module_dep to specify module to unload before loading a dependency module (#1506)
          • add support to make_module_extra to specify alternative root/version for $EBROOT/$EBVERSION (#1508)
          • packaging support is no longer considered experimental (#1510)
        • various bug fixes, including:
          • also consider lib64 in sanity check performed during EasyBuild bootstrap (#1464)
          • also add description/homepage to packages created with FPM (#1469)
          • fix develop setup script to install EasyBuild-develop module in subdirectory (#1480)
          • don't create a whole set of temporary 'minimal-easyconfigs' subdirs with --minimal-toolchains (#1484)
          • only keep polling if exit code is None in run_cmd_qa, to correctly deal with negative exit codes (#1486)
          • fix bootstrap script for missing sys_platform by using newer distribute 0.6.49 in stage 0 (#1490)
          • make sure that extra custom easyconfig parameters are known for extensions (#1498)
          • add missing import for EasyBuildError in easybuild/toolchains/linalg/libsci.py (#1512)
          • isolate tests from possible system-wide configuration files (#1513)
          • only use glob in make_module_req on non-empty strings (#1519)
            • this fixes the problem where $CUDA_HOME and $CUDA_PATH are not defined in module files for CUDA

        easyblocks

        • update easyblocks for Intel tools to support 2016 versions (#691, #745, #756, #777)
          • IntelBase easyblock has been enhanced to support specifying which components to install
        • new easyblocks for 3 software packages that require customized support:
          • Intel Advisor (#767), DIRAC (#778), MRtrix (#772)
        • various other enhancements, including:
          • update numpy and SuiteSparse easyblock to use scikit-umfpack (#718)
          • add an option to allow removal of the -Dusethreads flag in Perl easyblock (#724)
          • update Doxygen easyblock for 1.10.x (CMake) (#734)
          • update sanity check in Qt easyblock for Qt 5.x (#740)
          • add support for multilib build of GCC on PowerPC (#741)
          • add support to OpenFOAM and SCOTCH easyblocks to support 64-bit integers, via 'i8' toolchain option (#744)
          • fix sanity check to support numpy 1.10 (dropped _dotblas.so) (#757, #761, #762)
          • update IPP easyblock for v9.x (#759)
          • cleaner output for PythonPackage under dry run, make numpy easyblock dry-run aware (#760, #671)
          • add support for using netCDF-Fortran as dependency in ALADIN easyblock (#764)
          • add support for tbb 4.4.x in tbb easyblock (#769)
          • add support for specifying altroot/altversion in Bundle easyblock (#773)
          • update OpenFOAM easyblock for OpenFOAM-Extend 3.2 + use apply_regex_substitutions (#770)
        • various bug fixes, including:
          • fix module path extension of system compiler in HMNS setup (#742)
          • only restore $PYTHONPATH if it was defined in EasyBuildMeta easyblock (#743)
          • make sure $PYTHONPATH is defined correctly in module file for Python packages created with --module-only (#748)
          • fix WRF easyblock to produce correct module under --module-only --force (#746, #752)
          • don't hardcode 'openPBS' in GATE easyblock, use value for default_platform easyconfig parameter (#753)
          • avoid adding lib subdirs to $*LIBRARY_PATH if no libraries are there in PythonPackage easyblock (#755)
          • fix installing Python bindings for libxml2 to correct installation prefix (#765)

        easyconfigs

        • add GCCcore easyconfig that can be used as base for all compilers (without getting in the way) (#2214)

          • along with easyconfig for GCC/4.9.3-2.25: bundle of GCCcore 4.9.3 and binutils 2.25
          • intended to replace the GNU toolchain
        • added example easyconfig files for 39 new software packages:

          • DIRAC (#2212), GeoIP (#2172, #2185), GeoIP-C (#2172, #2185), graph-tool (#1591), gtkglext (#2217), Intel Advisor (#2210), InterProScan (#2225, #2227, #2234), intltool (#2136), kallisto (#2173), LibUUID (#1930), LuaJIT (#2153), libXcursor (#2136), libXrandr (#2136), libXtst (#2143), libdap (#1930), libtasn1 (#2208), libxkbcommon (#2136), MRtrix (#2217, #2218), MultiNest (#2166, #2168), Nipype (#2150), PPfold (#2183, #2187), p11-kit (#2208), pangox-compat (#2217), Qt5 (#2136), randrproto (#2136), rhdf5 (#2175), Stampy (#2180, #2182), scikit-umfpack (#2061), scp (Python pkg) (#2196), sleuth (#2175), traits (#2150), vincent (#2169, #2185), XKeyboardConfig (#2136), xcb-util (#2136), xcb-util-image (#2136), xcb-util-keysyms (#2136), xcb-util-renderutil (#2136), xcb-util-wm (#2136), zlibbioc (#2175)
        • added new easyconfigs for existing toolchains:

          • intel/2015.08 (#2194), intel/2016.00 (#2209), intel/2016.01 (#2219), iomkl/2015.03 (#2155)
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...

          • including CMake 3.4.1, HDF5 1.8.16, netCDF 4.3.3.1, netCDF-Fortran 4.4.2, numpy 1.10.1, Octave 4.0.0, OpenFOAM 3.0.0, OpenFOAM-Extend 3.2, Python 2.7.11
        • various other enhancements, including:

          • add tidyr to R 3.2.1 easyconfigs (#2174)
          • enable C++ support in MIGRATE-N (#2178)
          • also installed shared libraries for AMD and UMFPACK in SuiteSparse (#2061)
          • fix software name for ParaView (was: Paraview) (#2132)
          • enable building of shared libraries for binutils (#2133)
          • harden binutils built with dummy toolchain by linking to system libraries via RPATH (#2228)
          • enhance easyconfig unit tests to check that each easyconfig file is in the right subdirectory (#2232)
        • various bug fixes, including:

          • fix ALADIN patch file to not use relative paths, and adjust list of ALADIN sources accordingly ((#2207), (#2213))
          • rename patch files for OpenFOAM to be in line with other patches (#2226)
          • fix typo in bzip2 source URLs (#2204)
          • force linking of ncurses in libreadline (#2206)
          • enable -fPIC in all zlib 1.2.8 easyconfigs (#2220)
          • move Net-LibIDN/SRA-Toolkit/bbftpPRO/o2scl easyconfigs to right location (#2232)
          • restrict parallel build in OpenFOAM-Extend easyconfigs via 'maxparallel', not 'parallel' (#2233)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb240","title":"EasyBuild v2.4.0 (November 10th 2015)","text":"

        feature + bugfix release

        framework

        • add support for --extended-dry-run/-x (#1388, #1450, #1453, #1455)
          • detailed documentation is available at Extended dry run
        • fix checking of sanity check paths w.r.t. discriminating between files and directories (#1436)
          • this impacts several easyconfig files where sanity_check_paths was not 100% correct
        • make 'eb' script aware of Python v3.x, fall back to using python2 if required (#1411)
        • add experimental support for parsing .yeb easyconfig files in YAML syntax (#1447, #1448, #1449)
          • see also Writing easyconfig files in YAML syntax
        • add experimental support for resolving dependencies with minimal toolchains (#1306)
          • see also Using minimal toolchains for dependencies
        • various other enhancements, including:
          • refactor extract_cmd function to get rid of if/elif/else spaghetti blob (#1382)
          • add support for --review-pr (#1383)
          • add apply_regex_substitutions function to perform runtime patching from easyblocks (#1388, #1458)
          • add support for specifying alternate name to be part of generated module name (#1389)
            • via 'modaltsoftname' easyconfig parameter
          • support overriding # used cores via --parallel (#1393)
          • also define $FC and $FCFLAGS in build environment (#1394)
          • add support extracting for .tar.Z files (#1396)
          • include easybuild/scripts in installation (#1397)
          • ignore hidden directories in find_base_dir (#1413, #1415)
          • add only_if_module_is_available decorator function to guard functionality that uses optional dependencies (#1416)
          • give easyblocks the possibility to choose maxhits for run_cmd_qa (#1417)
          • use class name (string) rather than License instances as values for software license constants (#1418)
          • support controlling recursive unloading of dependencies via 'recursive_module_unload' easyconfig parameter (#1425)
          • implement basic support for type checking of easyconfig parameters (#1427)
          • support auto-converting to expected value type for easyconfig parameters (enabled by default) (#1428, #1437)
          • add support for --rebuild command line option, alternative for --force which doesn't imply --ignore-osdeps (#1435)
          • add support for Mercurial easyconfig repository (#979, #1446)
          • add dedicated class for psmpi toolchain MPI component, and use it in gpsmpi and ipsmpi toolchains (#1454)
        • various bug fixes, including:
          • fix extracting of comments from an easyconfig file that includes 'tail' comments (#1381)
          • fix dev version to follow PEP-440, as required by recent setuptools versions (#1403)
            • required to avoid that setuptools transforms the version itself
            • see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
          • allow get_cpu_speed to return None if CPU freq could not be determined (#1421)
          • relax sanity_check_paths in EasyBuild bootstrap script to deal with possible zipped .egg (#1422)
          • use empty list as default value for src/patches in Extension class (#1434)
          • skip symlinked files in adjust_permissions function (#1439)
          • fix HierarchicalMNS to always use full version number (#1440)

        easyblocks

        • 3 new generic easyblocks: OCamlPackage (#467), SCons (#689, #700), Waf (#722)
        • new easyblocks for 2 software packages that require customized support:
          • OCaml (#467), Samcef (#678)
        • various other enhancements, including:
          • add support for installing OpenFOAM with external METIS, CGAL and Paraview (#497)
          • update netCDF easyblock updated for netCDF v4.3.3.1 (#674)
          • update Rosetta easyblock for recent Rosetta versions (#677)
          • make unpacked source dir detection in easyblock for VSC-tools a little bit more flexible (#679)
          • add support for building with Plumed support enabled in CP2K easyblock (#681)
          • update Go easyblock for Go v1.5 (#683)
          • use apply_regex_substitutions function in WRF easyblock (#685)
          • update MUMPS easyblock for 5.x (#686)
          • implement runtime patching of $WM_* and compiler variables for OpenFOAM (#688)
          • specify sequential compiler to use in compiler command that gets injected in OpenFOAM easyblock (#692)
          • make PythonPackage and WRF easyblocks dry-run aware (#696)
            • see also Guidelines for easyblocks
          • add support in PythonPackage for installing with easy_install + installing zipped eggs (#698, #711, #715)
          • update Bowtie easyblock for recent Bowtie versions (#707)
          • update CUDA easyblock for CUDA 7.x(#708)
          • also consider config/make.sys.in for want in QuantumESRESSO easyblock (#714)
          • define $NWCHEM_LONG_PATH if needed in NWChem easyblock (#720)
          • remove custom post-install step in PDT easyblock (#723)
            • no longer needed now that adjust_permissions functions ignores symlinks
          • use $LIBS in HPL easyblock (#727, #736)
        • various bug fixes, including:
          • also define $MCRROOT for MCR in module (#687)
          • add missing 'super' call in configure_step of easyblock for python-meep (#694)
          • only prepend existing non-empty paths to $PYTHONPATH in PythonPackage easyblock (#697)
          • fix extra_options definition in CMakePythonPackage easyblock (#698)
          • fix dev version to follow PEP-440, as required by recent setuptools versions (#702, #703, #704)
            • required to avoid that setuptools transforms the version itself
            • see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
          • consider both lib and lib64 in sanity check paths for flex (#705)
          • also copy signature file and don't copy CMake files in Eigen easyblock (#709)
          • fix directory names in make_module_req_guess of ANSYS easyblock (#713)
          • fix imports for set_tmpdir in easyblock unit tests after function was moved in EasyBuild framework (#726)
          • use --with-tcltk* configure options for Python to point to ensure Tcl/Tk deps are picked up (#729)
          • fix order of subdirs for QuantumESPRESSO binaries (#730)
          • correctly handle having both $FC/$FCFLAGS and $F90/$F90FLAGS defined when building MVAPICH2 (#732)
          • fix OpenSSL sanity check paths: lib/engines is a directory (#731, #733)
          • fix sanity check paths for netcdf-python (#735)

        easyconfigs

        • added example easyconfig files for 45 new software packages:
          • animation (#2007), ANSYS CFD (#1969), ANTLR (#1191, #1980), APR (#1970), APR-util (#1970), Aspera Connect (#2005), ChIP-Seq (#2119), deap (#2082), DISCOVARdenovo (#1932), FastQC (#1984), fontsproto (#1618, #2038), GraphicsMagick (#2007), HBase (#1990), ISIS (#1972), libedit (#293), libfontenc (#1618, #2038), libGLU (#1627), libXdamage (#1618, #2038), libXfont (#1618, #2038), LLVM (#1620, #1989, #2031), MIGRATE-N (#1944), MIRA (#1938), mympingpong (#2049), MySQLdb (#2011), NCO (#1191, #1980), NIPY (#2064), Nilearn (#2064), NiBabel (#2064), PBZIP2 (#1038), PIL (#2062), PhyloCSF (#2018), pycairo (#2085), pydicom (#2063), Salmon (#2051), Samcef (#1941), scikit-image (#1974, #2006), Serf (#1970), SSAHA2 (#1039), Subversion (#1970), SWASH (#2059), time (#1954), Trim_Galore (#1984), Trimmomatic (#1987), WEKA (#1986), x264 (#2017)
        • added new easyconfigs for existing toolchains: gimkl/2.11.5 (#2093)
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • including Clang + LLVM 3.7.0, CMake 3.3.2, CUDA 7.5.18, hanythingondemand v3.0.1, Mesa 11.0.2, mpi4py v2.0.0, ncurses 6.0, OpenFOAM 2.4.0, Paraview 4.4.0, Python 3.5.0, QuantumESPRESSO v5.2.1
        • various other enhancements, including:
          • enable 'pic' toolchain option in libxml2 easyconfigs (#1993)
          • extend list of R libraries included in R v3.2.1 easyconfigs (#2042, #2046, #2067, #2072)
          • add Rsubread in Bioconductor easyconfigs (#1971)
        • various bug fixes, including:
          • fix software name for BEEF (was 'libbeef') (#1679)
          • add patch to install qhull.pc (pkgconfig) file with Qhull (#1975)
          • don't enable experimental nouveau API in libdrm easyconfigs (#1994)
          • fix dev version to follow PEP-440, as required by recent setuptools versions (#1997)
            • required to avoid that setuptools transforms the version itself
            • see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
          • correct homepage in Cufflinks easyconfigs (#2060)
          • fix imports for set_tmpdir in easyblock unit tests after function was moved in EasyBuild framework (#2097)
          • add patch for Tk 8.6.4 to fix problem with tk.tcl not being found (#2102)
          • don't use %(version)s template in toolchain version, causes problems with HierarchicalMNS (#2104)
          • fix sanity check paths in several easyconfig (#2109, #2120, #2121, #2125)
            • required because of bug fix in sanity_check_step implementation
            • CVXOPT, h5py, LIBSVM, libunistring, MDP, monty, PhyloCSF, Pyke, pandas, pycosat, pyhull, pymatgen, python-dateutils, Seaborn, Theano, XML-LibXML, XML-Simple
        ","boost":0.5},{"location":"release-notes/#release_notes_eb230","title":"EasyBuild v2.3.0 (September 2nd 2015)","text":"

        feature + bugfix release

        framework

        • requires vsc-base v2.2.4 or more recent (#1343)
          • required for mk_rst_table function in vsc.utils.docs
        • various other enhancements, including:
          • add support for generating documentation for (generic) easyblocks in .rst format (#1317)
          • preserve comments in easyconfig file in EasyConfig.dump() method (#1327)
          • add --cleanup-tmpdir option (#1365)
            • enables to preserve the used temporary directory via --disable-cleanup-tmpdir
          • enhance EasyConfig.dump() to reformat dumped easyconfig according to style guidelines (#1345)
          • add support for extracting .iso files using 7z (p7zip) (#1375)
        • various bug fixes, including:
          • correctly deal with special characters in template strings in EasyConfig.dump() method (#1323)
          • rework easybuild.tools.module_generator module to avoid keeping state w.r.t. fake modules (#1348)
          • fix dumping of hidden deps (#1354)
          • fix use of --job with hidden dependencies: include --hidden in submitted job script when needed (#1356)
          • fix ActiveMNS.det_full_module_name() for external modules (#1360)
          • fix EasyConfig.all_dependencies definition, fix tracking of job dependencies (#1359, #1361)
          • fix ModulesTool.exist() for hidden Lua module files (#1364)
          • only call EasyBlock.sanity_check_step for non-extensions (#1366)
            • this results in significant speedup when installing easyconfigs with lots of extensions, but also results in checking the default sanity check paths if none were defined for extensions installed as a module
          • fix using module naming schemes that were included via --include-module-naming-schemes (#1370)

        easyblocks

        • new easyblocks for 2 software packages that require customized support:
          • MCR (#623), Molpro (#665)
        • various other enhancements, including:
          • enhance BWA easyblock to also install man pages (#650)
          • enhance tbb easyblock to consider lib dirs in order and also define $CPATH, $LIBRARY_PATH, $TBBROOT (#653, #654)
          • call PythonPackage.configure_step in ConfigureMakePythonPackage.configure_step (#668)
          • add 'foldx3b6' as possible binary name in FoldX easyblock (#671)
          • enhance/cleanup MATLAB easyblock (#672)
          • move preparing of 'intel' subdir in $HOME to configure_step in IntelBase easyblock (#673)
        • various bug fixes, including:
          • add missing super call in post_install_step of imkl easyblock (#648, #660)
          • fix regex used to correct I_MPI_ROOT in impi mpivars.sh scripts (#662)
          • fix regex used to patch .mk file in configure step of SuiteSparse easyblock (#666)
          • correctly specify installation prefix via $GEM_HOME in RubyGem easyblock (#667)
          • add custom sanity check in scipy easyblock (#669)
          • specify to always use the bfd linker for OpenFOAM, to stay away from using ld.gold (#670)

        easyconfigs

        • added example easyconfig files for 19 new software packages:
          • ATK (#1780), Atkmm (#1780), cairomm (#1780), GLibmm (#1780), GlobalArrays (#1868), gdk-pixbuf (#1780), gtk+ (#1780), Gtkmm (#1780), libbeef (#1827), libsigc++ (#1780), libsodium (#1876), MACS (#1869), MCR (#1677), Molpro (#1880), NFFT (#1921), p7zip (#1931), Pangomm (#1780), pygraphviz (#1861), pycosat (#1859)
        • added new easyconfigs for existing toolchains: GNU/4.9.3-2.25 (#1836), foss/2015b (#1695), intel/2015b (#1696)
          • add easyconfigs using this toolchain for BLAST+ 2.2.31, Boost 1.58.0, CP2K 2.6.1, OpenFOAM 2.3.1, Perl 5.20.2 + 5.22.0 (bare), Python 2.7.10, R 3.2.1
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • including Boost 1.59.0, CP2K 2.6.1, GCC 5.2.0
        • various other enhancements, including:
          • enhance texinfo easyconfig w.r.t. texmf, only use it as a build dependency (#1840)
          • enable building of ld.gold in binutils 2.25 (#1885)
        • various bug fixes, including:
          • fix enabling MPI support for h5py 2.5.0 (#1825)
          • fix versions of Bioconductor packages + add a couple extra (#1828, #1852, #1895, #1917)
          • put dummy values in place for builddir/installdir templates in easyconfigs unit tests (#1835)
          • fix easyconfigs unit tests w.r.t. changes made in framework (#1853, #1870, #1874, #1875)
          • add GMP as missing dep in Python 2.7.10 easyconfigs, required for pycrypto extension (#1858)
          • specify installation prefix for SIP (#1888, #1892)
          • add custom sanity check paths in various easyconfigs (#1889, #1894, #1897 - #1909)
            • required because of fix in EasyBuild framework, causing default sanity check paths to be considered for extensions that are installed as a module
            • affected easyconfigs include: AnalyzeFMRI, Biggus, bibtexparser, DB_File, DBD-Pg, DBD-SQLite, DBD-mysql, evmix, fmri, FPM, GraphViz, gsl, GSSAPI, MDP, mpi4py, ncdf, ncdf4, netifaces, NetLibIDN, networkx, ordereddict, Parallel-ForkManager, paycheck, PyQuante, Pyke, PyQt, r2py, rjags, runjags, scikit-learn, SOBAcl, vsc-processcontrol, vsc-mympirun-scoop, XML, XML-Dumper, XML-Parser, XML-Twig, YAML-Syck
          • don't enable 'static' toolchain option in SuiteSparse 4.4.3 easyconfig (#1911)
          • add --exclude unpack options for OpenFOAM 2.3.1 to avoid cyclic symlink causing problems when unpacking (#1925)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb220","title":"EasyBuild v2.2.0 (July 15th 2015)","text":"

        feature + bugfix release

        framework

        • add support for using GC3Pie as a backend for --job (#1008)
          • see also Submitting jobs using --job
        • add support for --include-* configuration options to include additional easyblocks, toolchains, etc. (#1301)
          • see Including additional Python modules
        • add (experimental) support for packaging installed software using FPM (#1224)
          • see Packaging support
        • various other enhancements, including:
          • use https for PyPI URL templates (#1286)
          • add GNU toolchain definition (#1287)
          • make bootstrap script more robust (#1289, #1325):
            • exclude 'easyblocks' pkg from sys.path to avoid that setup.py for easybuild-easyblocks picks up wrong version
            • undefine $EASYBUILD_BOOTSTRAP* environment variables, since they do not correspond with known config options
          • improve error reporting/robustness in fix_broken_easyconfigs.py script (#1290)
          • reset keep toolchain component class 'constants' every time (#1294)
          • make --strict also a build option (#1295)
          • fix purging of loaded modules in unit tests' setup method (#1297)
          • promote MigrateFromEBToHMNS to a 'production' MNS (#1302)
          • add support for --read-only-installdir and --group-writable-installdir configuration options (#1304)
          • add support for not expanding relative paths in prepend_paths (#1310)
          • enhance EasyConfig.dump() method to use easyconfig templates where possible (#1314), #1319), #1320), #1321)
        • various bug fixes, including:
          • fix issue with cleaning up (no) logfile if --logtostdout/-l is used (#1298)
          • stop making ModulesTool class a singleton since it causes problems when multilple toolchains are in play (#1299)
          • don't modify values of 'paths' list passed as argument to prepend_paths in ModuleGenerator (#1300)
          • fix issue with EasyConfig.dump() + cleanup (#1308), #1311)
          • re-enable (and fix) accidentally disabled test (#1316)

        easyblocks

        • modified easybuild.easyblocks package declaration to support giving preference to custom easyblocks (#617)
        • 2 new generic easyblocks: RubyGem (#565), SystemCompiler (#633)
        • new easyblocks for 5 software packages that require customized support:
          • NEMO (#564), pbdMPI (#612), #620), pbdSLAP (#620), PDT (#624), Ruby (#565)
        • various other enhancements, including:
          • update CUDA easyblock for v6.x (#476)
          • make METIS easyblock take into account configopts (#494)
          • enable building of EOMIP and EOMEA for NWChem versions 6.5 and up (#508)
          • make out-of-source build with CMake truly out-of-source (#615)
          • add support in Bundle easyblock to run full sanity check (#627)
          • also take platform-specific Python lib dirs into account in PythonPackage easyblock (#628)
          • fix mpivars scripts in Intel MPI installation for versions where the installation is moved (#629)
          • don't restrict det_pylibdir function to only EasyBuild-provided Python (#631), #641)
          • support snappy and other optional native libs in Hadoop easyblock (#632), #638), #640), #642)
        • various bug fixes, including:
          • fix Xmipp easyblock, use provided install.sh script (#630)
          • update Clang easyblock to disable tests that may fail when unlimited stack size is used (#622)
          • fix setting of $INTEL_LICENSE_FILE for port@server values (#635)

        easyconfigs

        • added example easyconfig files for 62 new software packages:
          • ADF (#899), AutoDock_Vina (#808), bibtexparser (#1726), Biggus (#1770), Bismark (#990), blasr (#1662), BSMAP (#1171), Check (#811), Circuitscape (#1222), CONTRAfold (#689), cramtools (#1741), DBD-Pg (#1066), DendroPy (#995), EMAN2 (#1737), ETSF_IO (#727), eudev (#1578), fastqc (#1636), FDS (#814), #1617), #1625), FPM (#1440), frealign (#1619), g2log (#1035), GC3Pie (#1692), #1756), #1768), GenotypeHarmonizer (#1672), gensim (#1762), GraphViz (#1658), hisat (#1674), IDBA-UD (#1045), IMa2 (#828), IMPUTE2 (#824), JUBE (#1396), LAMARC (#760), libXScrnSaver (#1653), MATIO (#1004), MuTect (#1483), ncdf (#617), NEMO (#1640), ngspice (#1116), ordereddict (#1774), OSU Micro-Benchmarks (#1777), Parallel-ForkManager (#847), pBWA (#1009), PeakSeq (#1412), Pillow (#1702), Pindel (#1126), PLUMED (#1596), #1665), PostgreSQL (#1066), PROJ (#1006), PyAMG (#1222), Pyke (#1776), rpy2 (#1775), Sailfish (#1035), SCANMS (#1386), Seaborn (#1763), snpEff (#1680), SOBAcl (#1658), SPIDER (#1624), #1723), STAR (#1043), #1676), system GCC (#1778), tabix (#1059), tecplot360ex (#1100), Vampir (#512), VampirServer (#512), verifyBamID (#1675)
        • added easyconfigs for 4 new software bundles:
          • R-bundle-Bioconductor (#1573), #1795), R-bundle-devtools (#1621), #1759), R-bundle-extra (#1387), #1759), R-bundle-pbd (#1659)
        • added easyconfigs for new GNU toolchain (#1346), #1669)
        • added new easyconfigs for existing toolchains: goolf/1.5.16, intel/2014.06
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • including BLAST 2.2.31+, Clang 3.6.1, CUDA 6.x, GCC 4.9.3, GROMACS 5.0.5, HDF5 1.8.15 + 1.8.15-patch1, Python 2.7.10, R 3.2.0 + 3.2.1, WRF 3.6.1
        • various other enhancements, including:
          • update all ncurses easyconfigs to enable ncursesw and use ConfigureMake easyblock (#1337)
          • update PDT easyconfigs to use PDT easyblock (#1687)
          • add custom sanity_check_paths in libxml2 easyconfigs (#1690)
          • enhance unit tests to also cover EasyConfig.dump() method on all easyconfigs (#1761)
          • include snappy as dependency in Hadoop easyconfigs (#1758), #1773)
          • enable SSL support in CMake v3.2.3 easyconfigs (#1784)
          • add additional extensions in R easyconfigs (#1637)
        • various bug fixes, including:
          • add patch file required for correct CUDA-aware OpenMPI v1.7.3 build (#631)
          • fix issue with OpenMPI dependency in ECore easyconfigs (#777)
          • don't run the Bloom tests for Jellyfish, they can randomly fail (#1016)
          • fix source URLs in BioPerl easyconfigs (#1075)
          • patch out svnversion command in Python 2.5.6 to fix build on recent systems (#1576)
          • consistently use https for PyPI URLs in homepage/source_urls (#1616), #1722)
          • include Tcl and Tk as dependencies in R easyconfig (#1623)
          • add patch for installing paycheck as Py3 extension (#1629)
          • add Perl dependency in git 2.x easyconfigs (#1631)
          • fix easyconfig for GMP 6.0.0, don't use 6.0.0a sources (#1635)
          • fix source_urls in QuantumESPRESSO 5.0.2 easyconfigs (#1652)
          • include Tk as dependency in Python 2.7.9 easyconfigs (#1654)
          • include tk-devel is list of OS deps for Python 2.7.9 Cray easyconfigs, make sure 'import Tkinter' works (#1655)
          • drop gpfs versionsuffix and stop using no longer existing --enable-gpfs configopt for recent HDF5 versions (#1657)
          • include missing libxml2 dep in GLib easyconfigs (#1666)
          • fix source URLs in Qt easyconfigs (#1673)
          • fix source URLs for argparse Python extension (#1697)
          • fix source URLs for deap Python extension (#1699)
          • fix easyconfigs unit tests after making ModulesTool a non-singleton class (#1708)
          • fix names for Xmipp easyconfigs and patches (#1719)
          • add patch for Qt 4.8.6 to fix build issue on RHEL6 with intel/2015a (#1734)
          • add M4 as build dep for GCC 5.1.0 (#1735)
          • fix Bioconductor extension versions in R 3.1.3 easyconfigs (#1748)
          • remove custom exts_filter definition from Python 3.4.3 easyconfig (#1765)
          • fix source_urls in netCDF easyconfigs (#1766)
          • fix source_urls in netCDF-C++ and netCDF-Fortran easyconfigs (#1767)
        ","boost":0.5},{"location":"release-notes/#release_notes_eb211","title":"EasyBuild v2.1.1 (May 18th 2015)","text":"

        bugfix release

        framework

        • fix issue with missing load statements when --module-only is used, don't skip ready/prepare steps (#1276)
        • enhance --search: only consider actual filename (not entire path), use regex syntax (#1281)
        • various other bug fixes, including:
          • fix generate_software_list.py script w.r.t. dependencies marked as external modules (#1273)
          • only use $LMOD_CMD value if lmod binary can't be found in $PATH (#1275)
          • fix location of module_only build option w.r.t. default value (#1277)
          • fix combined use of --hide-deps and hiddendependencies (#1280)
          • remove log handlers that were added during tests, to ensure effective cleanup of log files (#1282)
            • this makes the unit test suite run ~3x faster!
          • define $CRAYPE_LINK_TYPE if 'dynamic' toolchain option is enabled for Cray compiler wrappers (#1283)

        easyblocks

        • fix compatibility of easyblocks with --module-only + dedicated unit test module (#610)
        • minor enhancements, including:
          • update GROMACS easyblock for version 5 (#513)
        • various other bug fixes, including:
          • only check compiler being used if FFTW interfaces are being built in Intel MKL easyblock (#606)

        easyconfigs

        • added example easyconfig files for 3 new software packages:
          • networkx (#1592), Platanus (#1597), SaguaroGW (#1600)
        • added new easyconfigs for existing toolchains: ictce/7.3.5, CrayCCE/5.2.40, CrayGNU/5.2.40, CrayIntel/5.2.40
        • added easyconfigs using CrayGNU/5.2.25 and CrayGNU/5.2.40 toolchains (#1610, #1611)
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • including Boost 1.58.0, GROMACS 5.0.4, Python 3.4.3
        • various bug fixes, including:
          • enable usempi in GROMACS easyconfig using CrayGNU toolchain (as required by GROMACS easyblock) (#1590)
          • use system-provided tcsh when building WRF on Cray systems, to avoid hanging build (#1595)
          • only use 'dynamic' toolchain option, not 'shared', in easyconfigs using Cray toolchain (#1609)
        ","boost":0.5},{"location":"release-notes/#release_notes_v2.1.0","title":"EasyBuild v2.1.0 (April 30th 2015)","text":"

        feature + bugfix release

        framework

        • requires vsc-base v2.2.0 or more recent
          • added support for LoggedException (vsc-base#160, vsc-base#163, vsc-base#165, vsc-base#167)
          • added support for add_flex action in GeneralOption (vsc-base#162)
          • added support to GeneralOption to act on unknown configuration environment variables (vsc-base#162)
        • add support for only (re)generating module files: --module-only (#1018)
          • module naming scheme API is enhanced to include det_install_subdir method
          • see Only (re)generating (additional) module files using --module-only
        • add support for generating module files in Lua syntax (note: requires Lmod as modules tool) (#1060, #1255, #1256, #1270)
          • see --module-syntax configuration option and Module files syntax
        • deprecate log.error method in favor of raising EasyBuildError exception (#1218)
          • see error and exception log methods no longer raise an exception
        • add support for using external modules as dependencies, and to provide metadata for external modules (#1230, #1265, #1267)
          • see Using external modules
        • add experimental support for Cray toolchains on top of PrgEnv modules: CrayGNU, CrayIntel, CrayCCE (#1234, #1268)
          • see https://github.com/easybuilders/easybuild/wiki/EasyBuild-on-Cray
        • various other enhancements, including:
          • clear list of checksums when using --try-software-version (#1169)
          • sort the results of searching for files (e.g., --search output) (#1214)
          • enhance test w.r.t. use of templates in cfgfile (#1217)
          • define '%(DEFAULT_REPOSITORYPATH)s' template for cfgfiles (see eb --avail-cfgfile-constants) (#1220)
          • also reset $LD_PRELOAD when running module commands, in case module defined $LD_PRELOAD (#1222)
          • move location of 'module use' statements in generated module file (after 'module load' statements) (#1232)
          • add support for --show-default-configfiles (#1240)
            • see Default configuration files
          • report error on missing configuration files, rather than ignoring them (#1240)
          • clean up commit message used in easyconfig git repository (#1248)
          • add --hide-deps configuration option to specify names of software that must be installed as hidden modules (#1250)
            • see Installing dependencies as hidden modules using --hide-deps
          • add support for appending/prepending to --robot-paths to avoid overwriting default robot search path (#1252)
            • see Prepending/appending to the default robot search path
          • enable detection of use of unknown $EASYBUILD-prefixed environment variables (#1253)
            • see Environment variables
          • add --installpath-modules and --installpath-software configuration options (#1258)
            • see Software and modules install path
          • use dedicated subdirectory in temporary directory for each test to ensure better cleanup (#1260)
          • get rid of $PROFILEREAD hack when running commands, not needed anymore (#1264)
        • various bug fixes, including:
          • make bootstrap script robust against having vsc-base already available in Python search path (#1212, #1215)
          • set default value for unpack_options easyconfig parameter to '', so self.cfg.update works on it (#1229)
          • also copy rotated log files (#1238)
          • fix parsing of --download-timeout value (#1242)
          • make test_XDG_CONFIG_env_vars unit test robust against existing user config file in default location (#1259)
          • fix minor robustness issues w.r.t. $XDG_CONFIG* and $PYTHONPATH in unit tests (#1262)
          • fix issue with handling empty toolchain variables (#1263)

        easyblocks

        • replace 'log.error' with 'raise EasyBuildError' in all easyblocks (#588)
        • one new generic easyblock: ConfigureMakePythonPackage (#540)
        • new easyblocks for 2 software packages that require customized support:
          • TINKER (#578), Xmipp (#581)
        • various other enhancements, including:
          • enhance WIEN2k easyblock for recent versions + cleanup (#486)
          • define $PYTHONNOUSERSITE in PythonPackage easyblock so user-installed packages are not picked up (#577)
          • add support in CP2K easyblock for building on top of MPICH/MPICH2 (#579)
          • enhance Hadoop easyblock to support parallel builds (#580)
          • drop -noroot for recent FLUENT versions, honor installopts, enable -debug (#582)
          • include prebuildopts in build command for Python packages (#585)
          • also install rosetta_tools subdirectory for Rosetta (#586)
          • update SLEPc easyblock for v3.5 + style cleanup (#593)
          • minor fix in HPL easyblock w.r.t. checking defined environment variables (#595)
          • tweak CP2K easyblock w.r.t. LAPACK/FFTW support (#596)
          • minor update to GCC easyblock to support GCC v5.x (#598)
          • update sanity check in R easyblock for version 3.2.0 (#602)
        • various bug fixes, including:
          • fix Score-P easyblock for compiler-only toolchains, include Qt as optional dependency (#552)
          • fix definition of $MKLROOT, should be set to 'mkl' subdir of install dir (#576)
          • add -libmpichf90 to list of MPI libraries in NWChem easyblock (#584)
          • stop using '$root' to make easyblocks compatible with module files in Lua syntax (#590)
          • also set $PYTHONPATH before installing Python package in temporary directory in test_step (#591)
          • unset buildopts/installopts before installing Python extensions in Python easyblock (#597)
          • allow not including vsc-base sources when installing EasyBuild (gets installed with easybuild-framework) (#600)
          • use self.initial_environ rather than self.orig_environ in EasyBuildMeta easyblock (#600)
          • make GCC easyblock compatible with --module-only by setting default value for self.platform_lib in constructor (#603)

        easyconfigs

        • added example easyconfig files for 27 new software packages:
          • AFNI (#1322, #1521), BCFtools (#1492), getdp (#1518), gmsh (#1518), gtest (#1244), hanythingondemand (#1530), mawk (#1369), Minimac (#815), Minimac3 (#1502), monty (#1548), Octave (#1563), pbs_python (#1530), pigz (#1036), Pygments (#1536), pyhull (#1539), pymatgen (#1549), PyQt (#1322, #1521), Ray (#1494), requests (#1536), seqtk (#1524), SIP (#1322, #1521), S-Lang (#1369), Spark (#1554), spglib (#1549), TINKER (#1465), tmux (#1369), Xmipp (#1489)
        • added easyconfigs for new (Cray-specific) toolchains (#1538): CrayGNU, CrayIntel, CrayCCE
          • initially supported software (using CrayGNU toolchains): CP2K, GROMACS, HPL, Python + numpy/scipy, WRF (#1558)
          • see also https://github.com/easybuilders/easybuild/wiki/EasyBuild-on-Cray
        • added new easyconfigs for existing toolchains: goolf/1.5.16, intel/2014.06
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • including GCC v5.1.0, OpenFOAM v2.3.1, R v3.1.3 and v3.2.0, PETSc/SLEPc v3.5.3, WIEN2k v14.1
        • various other enhancements, including:
          • include pbr dependency for lockfile Python extension in Python v2.7.9 easyconfigs + mock/pytz/pandas (#1462, #1540)
          • include SQLite as dependency in Python v2.7.9 easyconfigs (#1468)
          • set $LD_PRELOAD for Hoard and jemalloc (#1470)
          • fix homepage in SCOTCH easyconfigs (#1485)
          • adding missing six/ecdsa dependencies for dateutil/paramiko Python packages in Python easyconfigs (#1504, #1505, #1506, #1507, #1508, #1509, #1510)
          • enable pic toolchain option in expat easyconfigs (#1562)
          • extend list of source URLs for Bioconductor packages in R easyconfigs to include 'release' source URLs (#1568)
        • various bug fixes, including:
          • adding missing zlib dependency in all Tcl easyconfig files (#1344)
          • fix homepage in FLUENT easyconfigs (#1472)
          • use --with-verbs rather than deprecated --with-openib in OpenMPI configure options (#1511)
          • stop relying on OS_NAME constant to specify OS dependencies in OpenMPI easyconfigs (#1512)
          • replace use of '$root' with '%(installdir)s' to ensure compatibility with module files in Lua syntax (#1532)
          • stop relying on '$MKLROOT' in ROOT easyconfigs (#1537)
          • use proper Bundle easyblock for biodeps/PRACE (#1566)
          • make source_urls in Cube and Scalasca easyconfigs compatible with --try-software-version (#1574)
          • add patch for Cube to fix configure script w.r.t. Qt dependency, add --without-java-reader configure option (#1574)
        ","boost":0.5},{"location":"release-notes/#release_notes_v2.0.0","title":"EasyBuild v2.0.0 (March 6th 2015)","text":"

        feature + bugfix release

        framework

        • requires vsc-base v2.0.3 or more recent
          • avoid deprecation warnings w.r.t. use of message attribute (vsc-base#155)
          • fix typo in log message rendering --ignoreconfigfiles unusable (vsc-base#158)
        • removed functionality that was deprecated for EasyBuild version 2.0 (#1143)
          • see Removed functionality
          • the fix_broken_easyconfigs.py script can be used to update easyconfig files suffering from this (#1151, #1206, #1207)
        • stop including a crippled copy of vsc-base, include vsc-base as a proper dependency instead (#1160, #1194)
          • vsc-base is automatically installed as a dependency for easybuild-framework, if a Python installation tool is used
          • see Required Python packages
        • various other enhancements, including:
          • add support for Linux/POWER systems (#1044)
          • major cleanup in tools/systemtools.py + significantly enhanced tests (#1044)
          • add support for 'eb -a rst', list available easyconfig parameters in ReST format (#1131)
          • add support for specifying one or more easyconfigs in combination with --from-pr (#1132)
            • see Specifying particular easyconfig files
          • define __contains__ in EasyConfig class (#1155)
          • restore support for downloading over a proxy (#1158)
            • i.e., use urllib2 rather than urllib
            • this involved sacrificing the download progress report (which was only visible in the log file)
          • let mpi_family return None if MPI is not supported by a toolchain (#1164)
          • include support for specifying system-level configuration files for EasyBuild via $XDG_CONFIG_DIRS (#1166)
            • see Default configuration files
          • make unit tests more robust (#1167, #1196)
            • see Unit tests
          • add hierarchical module naming scheme categorizing modules by moduleclass (#1176)
          • enhance bootstrap script to allow bootstrapping using supplied tarballs (#1184)
          • disable updating of Lmod user cache by default, add configuration option --update-modules-tool-cache (#1185)
            • for now, only the Lmod user cache can be updated using --update-modules-tool-cache
          • use available which() function, rather than running 'which' via run_cmd (#1192)
          • fix install-EasyBuild-develop.sh script w.r.t. vsc-base dependency (#1193)
          • also consider robot search path when looking for specified easyconfigs (#1201)
            • see Specifying what to install
        • various bug fixes, including:
          • stop triggering deprecated/no longer support functionality in unit tests (#1126)
          • fix from_pr test by including dummy easyblocks for HPL and ScaLAPACK (#1133)
          • escape use of '%' in string with command line options with --job (#1135)
          • fix handling specified patch level 0 (+ enhance tests for fetch_patches method) (#1139)
          • fix formatting issues in generated easyconfig file obtained via --try-X (#1144)
          • use log.error in tools/toolchain/toolchain.py where applicable (#1145)
          • stop hardcoding /tmp in mpi_cmd_for function (#1146, #1200)
          • correctly determine variable name for $EBEXTLIST when generating module file (#1156)
          • do not ignore exit code of failing postinstall commands (#1157)
          • fix rare case in which used easyconfig and copied easyconfig are the same (#1159)
          • always filter hidden deps from list of dependencies (#1161)
          • fix implementation of path_matches function in tools/filetools.py (#1163)
          • make sure plain text keyring is used by unit tests (#1165)
          • suppress creation of module symlinks for HierarchicalMNS (#1173)
          • sort all lists obtained via glob.glob, since they are in arbitrary order (#1187)
          • stop modifying $MODULEPATH directly in setUp/tearDown of toolchain tests (#1191)

        easyblocks

        • one new generic easyblock for installing a bundle of modules: Bundle (#550)
          • and let the Toolchain generic easyblock derive from Bundle
        • new easyblocks for 2 software packages that require customized support:
          • GAMESS-US (#470, #544, #558), Hadoop (#563)
        • various other enhancements, including:
          • move support for staged_install from CPLEX easyblock to generic Binary easyblock (#502)
          • fix sanity check in picard easyblock for v1.119 that doesn't include sam.jar (#522)
          • log warning message when unlinking jellyfish symlink fails in Trinity easyblock (#534)
          • revamp EB_libint2 easyblock into EB_Libint that works for both Libint v1x and v2.x (#536)
          • update CP2K easyblock for recent versions (no more 'fes') (#537)
          • update SuiteSparse easyblock for recent versions (#541)
          • fix easyblock unit tests after dropping support for deprecated behaviour in framework (#543)
          • rework PSI easyblock to support future releases (#545)
          • enable always generating a 'verbose' Makefile in the generic CMakeMake easyblock (#546)
          • remove functionality in (generic) easyblocks that was deprecated for EasyBuild v2.0 (#547)
          • enhance generic RPackage easyblock to support installing extensions in a separate prefix (#551)
          • deprecate GenomeAnalysisTK easyblock, since it's basically equivalent to Tarball (#557)
          • update SAMtools easyblock for v1.2 (#562)
          • take preconfigopts easyconfig parameter into account in ROOT easyblock (#566)
          • update easyblock for installing EasyBuild
            • to support bootstrapping with provided source tarballs (#559)
            • to also cover vsc-base dependency, and verify easy-install.pth (#567)
          • update disabling sanitizer tests for Clang 3.6 (#570)
        • various bug fixes, including:
          • fix handling of LTO in GCC easyblock (#535)
          • relocate FDTD RPM to fix installation on SL6 (#538)

        easyconfigs

        • added example easyconfig files for 29 new software packages:
          • bsoft (#1353), Coot (#1400), Cuby (#1258), DSRC (#1242), Exonerate (#568), fastqz (#1242), FSA (#568), fqzcomp (#1242), GAMESS-US (#1153, #1406), Grep (#1308), Hadoop (#1418), Hoard (#1415), IMB (#1284), ISL (#1389), jemalloc (#1416), libdwarf (#1283), libelf (#1283), MPC (#1310), multitail (#1327), Pmw (#1403), Quip (#1242), rCUDA (#720), SCALCE (#1242), SMALT (#568), STREAM (#1332), worker (#1307), Xerces-C++ (#1370), XQilla (#1370), ZPAQ (#1242)
        • added easyconfigs for new (common) toolchains
          • foss/2015a (#1239), gompi/1.5.16 (#1380), gmvolf/1.7.20 (#1397), goolf/1.7.20 (#1294), intel/2015a (#1238), intel/2015.02 (#1393), iomkl/2015.01 (#1325), iomkl/2015.02 (#1401)
        • added new software bundle: Autotools (#1385)
        • various other enhancements, including:
          • don't define $LDSHARED in zlib easyconfigs (#1350)
            • this fixes the long-standing \"no version information available\" issue with zlib
            • see also framework#108
          • add unit test to check that all extra_options keys are defined in EasyConfig instance (#1378)
          • add source MD5 checksums in all GCC easyconfigs (#1391)
          • speeding up the unit tests by avoiding rereading of same easyconfig file (#1432)
          • fix conflict detection in unit tests by considering build deps separately from runtime deps (#1447)
          • fix toolchain for Bison build dep in MVAPICH2-1.9-iccifort-2011.13.367.eb easyconfig (#1448)
          • use Bundle generic easyblock for HPCBIOS bundles and fix moduleclass (#1451)
        • various bug fixes, including:
          • revert version of Libint dependency to 1.1.4 in CP2K v2.5.1 easyconfig (#1144)
          • added Java dependencies to EMBOSS easyconfigs (#1167)
          • don't list 'lto' as a language in GCC easyconfigs (#1286)
            • related to the fixes in the GCC easyblock, see easyblocks#535
          • rename libint2 easyconfigs as Libint v2 easyconfigs (#1287)
          • fix mpi4py source_urls in Python easyconfigs (#1306)
          • consistently use CLooG 0.18.0 for GCC 4.8 series (#1392)
          • rename GenomeAnalysisTk easyconfigs to GATK (#1399)
          • include openssl-devel SLES11 OS dependency in cURL/MySQL/Python easyconfigs (#1422)
          • add missing Perl dependency in parallel easyconfigs (#1430)
          • correct name in BLAST+ easyconfigs (#1443)
          • fix name for sparsehash easyconfigs (#1452)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1162-march-6th-2015","title":"EasyBuild v1.16.2 (March 6th 2015)","text":"

        bugfix release

        framework

        (no changes compared to v1.16.1, simple version bump to stay in sync with easybuild-easyblocks)

        easyblocks

        • make EB_EasyBuildMeta easyblock aware of vsc-base to make upgrading to EasyBuild v2.0.0 possible (#573)

        easyconfigs

        (no changes compared to v1.16.1, simple version bump to stay in sync with easybuild-easyblocks)

        ","boost":0.5},{"location":"release-notes/#easybuild-v1161-december-19th-2014","title":"EasyBuild v1.16.1 (December 19th 2014)","text":"

        bugfix release

        framework

        • fix functionality that is broken with --deprecated=2.0 or with $EASYBUILD_DEPRECATED=2.0
          • don't include easyconfig parameters for ConfigureMake in eb -a, since fallback is deprecated (#1123)
          • correctly check software_license value type (#1124)
          • fix generate_software_list.py script w.r.t. deprecated fallback to ConfigureMake (#1127)
        • other bug fixes
          • fix logging issues in tests, sync with vsc-base v2.0.0 (#1120)

        easyblocks

        • fix EasyBuild versions for which $EASYBUILD_DEPRECATED=1.0 is set in EasyBuild sanity check (#531)

        easyconfigs

        • set default easyblock to ConfigureMake in TEMPLATE.eb (#1277)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1160-december-18th-2014","title":"EasyBuild v1.16.0 (December 18th 2014)","text":"

        feature + bugfix release

        framework

        • deprecate automagic fallback to ConfigureMake easyblock (#1113)
          • easyconfigs should specify easyblock = 'ConfigureMake' instead of relying on the fallback mechanism
          • note: automagic fallback to ConfigureMake easyblock will be removed in EasyBuild v2.0
          • see also Automagic fallback to ConfigureMake
        • stop triggering deprecated functionality, to enable use of --deprecated=2.0 (#1107, #1115, #1119)
          • see Deprecated functionality for more information
        • various other enhancements, including:
          • add script to clean up gists created via --upload-test-report (#958)
          • also use -xHost when using Intel compilers on AMD systems (as opposed to -msse3) (#960)
          • add Python version check in eb command (#1046)
          • take versionprefix into account in HierarchicalMNS module naming scheme (#1058)
          • clean up and refactor main.py, move functionality to other modules (#1059, #1064, #1075, #1087)
          • add check in download_file function for HTTP return code + show download progress report (#1066, #1090)
          • include info log message with name and location of used easyblock (#1069)
          • add toolchains definitions for gpsmpi, gpsolf, impich, intel-para, ipsmpi toolchains (#1072, #1073)
            • support for Parastation MPI based toolchains
          • enforce that hiddendependencies is a subset of dependencies (#1078)
            • this is done to avoid that site-specific policies w.r.t. hidden modules slip into contributed easyconfigs
          • enable use of --show_hidden for avail subcommand with recent Lmod versions (#1081)
          • add --robot-paths configure option (#1080, #1093, #1095, #1114)
          • support use of %(DEFAULT_ROBOT_PATHS)s template in EasyBuild configuration files (#1100)
            • see also Controlling the robot search path
          • use -xHost rather than -xHOST, to match Intel documentation (#1084)
          • update and cleanup README file (#1085)
          • deprecate self.moduleGenerator in favor of self.module_generator in EasyBlock (#1088)
          • also support MPICH MPI family in mpi_cmd_for function (#1098)
          • update documentation references to point to http://easybuild.readthedocs.org (#1102)
          • check for OS dependencies with both rpm and dpkg (if available) (#1111)
        • various bug fixes, including:
          • fix picking required software version specified by --software-version and clean up tweak.py (#1062, #1063)
          • escape $ characters in module load message specified via modloadmsg easyconfig parameter) (#1068)
          • take available hidden modules into account in dependency resolution (#1065)
          • fix hard crash when using patch files with an empty list of sources (#1070)
          • fix Intel MKL BLACS library being used for MPICH/MPICH2-based toolchains (#1072)
          • fix regular expression in fetch_parameter_from_easyconfig_file function (#1096)
          • don't hardcode queue names when submitting a job (#1106)
          • fix affiliation/mail address for Fotis in headers (#1105)
          • filter out /dev/null entries in patch file in det_patched_files function (#1108)
          • fix gmpolf toolchain definition, to have gmpich as MPI components (instead of gmpich2) (#1101)
            • 'MPICH' refers to MPICH v3.x, while MPICH2 refers to MPICH(2) v2.x (MPICH v1.x is ancient/obsolete)
            • note: this requires to reinstall the gmpolf module, using the updated easyconfig from easybuild-easyconfigs#1217

        easyblocks

        • new easyblocks for 2 software packages that requires customized support:
          • Chimera (#524), GATE (#518)
        • fix use of deprecated functionality, enhance unit tests to check for it (#523)
        • various other enhancements, including:
          • update PETSc easyblock for recent versions (v3.5) (#446)
          • only include major/minor version numbers for FLUENT subdir (#480)
          • factor out 'move after install' code from impi easyblock to IntelBase, use it for itac (#487)
          • support custom easyconfig parameters in EB_impi easyblock to correct behavior of MPI wrapper commands (#493)
          • consider both lib and lib64 in sanity check for GROMACS (#501)
          • take preinstallopts and installopts into account in Binary easyblock (#503)
          • add sanity check command abaqus information=all for ABAQUS (#504)
          • update and clean up README, refer to http://easybuild.readthedocs.org documentation (#505, #516)
          • rename deprecated self.moduleGenerator to self.module_generator (#506)
            • see also easybuild-framework#1088
          • check whether specified type value is a known value (psmp or popt) in CP2K easyblock (#509)
          • add support to SAMtools easyblock for installing recent versions (v1.x) (#512)
          • fix version check + sanity check in Geant4 easyblock + style fixes (#517)
          • added $root/modlib to $PYTHONPATH guesses in Modeller easyblock (#525)
          • mark license custom easyconfig parameter as deprecated in IntelBase (#527)
        • various bug fixes, including:
          • fix Libxc version check in CP2K easyblock (#478)
          • correctly specify mkl_libs when building numpy with GCC and imkl (#485)
          • extend noqa for OpenFOAM-Extend in build_step (#488, #520)
          • correctly set $LD_LIBRARY_PATH, $LIBRARY_PATH and $PKG_CONFIG_PATH for R (#495)
          • fix default value for files_to_copy in MakeCp easyblock (#500)
          • treat MPICH MPI family as MPICH v3.x instead of MPICH v1.x (#519)
            • see also easybuild-framework#1112
          • fix affiliation/mail address for Fotis in headers (#521)
          • clean up in extra_options methods, avoid casting return value to dict or returning via parent (#528)

        easyconfigs

        • added example easyconfig files for 39 new software packages:
          • ANTs (#1232), BEOPS (#1264), Chhimera (#1255), ctffind (#1249), DBD-SQLite (#1064), DBD-mysql (#1063), DIALIGN-TX (#668), ffmpeg (#1088), GObject-Introspection (#1079), GTS (#1079), Graphviz (#1079), GraphViz2 (#1079), grace (#1131), HarfBuzz (#1079), HTSlib (#1161), GSSAPI (#1048), Kerberos_V5 (#1048), libevent (#1063), libXdmcp (#1129), libXft (#1017), libXinerama (#1017), libXrender (#1017), Maven (#1094), MySQL (#1063), Net-LibIDN (#1060), OpenCV (#1088), OpenMD (#1105), Qhull (#1105), Pango (#1079), psmpi (#1245, #1246), RELION (#1017), renderproto (#1017), rjags (#1125), runjags (#1125), SPRNG (#1138, #1141), xineramaproto (#1017), XML-Dumper (#1061), XML-Parser (#1061), XML-Twig (#1061)
        • added easyconfigs for new toolchains
          • intel/2014.10 & intel/2014.11 (#1219), intel-para/2014.12 (#1246), gpsolf/2014.12 (#1245), iompi/6.6.4 (#1215)
        • include easyblock = 'ConfigureMake' in relevant easyconfigs to deal with deprecation of automagic fallback to ConfigureMake (#1248)
          • see also easybuild-framework#1113 and Automagic fallback to ConfigureMake
        • clean up use of deprecated functionality in existing easyconfigs (#1252, #1259)
          • stop using deprecated makeopts, premakeopts and shared_lib_ext
          • check for use of deprecated functionality in easyconfigs unit tests
          • see also http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html#easyconfig-parameters
        • various other enhancements, including:
          • also build fftw3_threads libraries, and enhance sanity checks (#1013)
          • add unit test to verify specified sanity_check_paths (#1119)
          • update and clean up README, refer to http://easybuild.readthedocs.org documentation (#1184, #1224)
        • various bug fixes, including:
          • fix unit tests w.r.t. changes in framework (#1146)
          • remove unnecessary build dependencies for OpenMPI (#1168)
          • remove duplicate line in OpenMPI easyconfigs (#1207)
          • fix affiliation/mail address for Fotis in headers (#1237)
          • fix permissions of easyconfig files for consistency (#1210)
          • disable symbol lookup feature in cairo to fix build on SL6 (#1241)
          • fix easyconfig gmpolf toolchain w.r.t. MPICH software name (#1217)
            • see also easybuild-framework#1112
          • fix source_urls for WRF and WPS (#1225)
          • fix and clean up GATE easyconfigs (#1228)
          • fix broken CLHEP builds by including -gcc in $CXXFLAGS (#1254)
          • add patch to fix broken test in Go (#1257)
          • fix name of GMAP easyconfigs, should be GMAP-GSNAP (#1268)
          • fix easyconfig filenames, enhance unit test to check easyconfig filenames (#1271)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1152-october-7th-2014","title":"EasyBuild v1.15.2 (October 7th 2014)","text":"

        bugfix release

        framework

        • fix $MODULEPATH extensions for Clang/CUDA, to make goolfc/cgoolf compatible with HierarchicalMNS (#1050)
        • include versionsuffix in module subdirectory with HierarchicalMNS (#1050, #1055)
        • fix unit tests which were broken with bash patched for ShellShock bug (#1051)
        • add definition of gimpi toolchain, required to make gimkl toolchain compatible with HierarchicalMNS (#1052)
        • don't override COMPILER_MODULE_NAME obtained from ClangGCC in Clang-based toolchains (#1053)
        • fix wrong code in path_to_top_of_module_tree function (#1054)
          • because of this, load statements for compilers were potentially included in higher-level modules under HierarchicalMNS

        easyblocks

        • only disable sanitizer tests for recent Clang versions (#481, #482)
        • pass down installopts to CUDA install command (#483)

        easyconfigs

        • disable parallel build for slalib (#968)
        • fix compatibility of goolfc with HierarchicalMNS by using GCC toolchain for installing CUDA (#1106, #1115)
        • fix zlib OS dependency spec for Debian in Boost easyconfigs (#1109)
        • fix compatibility of gimkl with HierarchicalMNS by using gimpi subtoolchain (#1110)
        • make both GCC and Clang first-class members in Clang-based toolchains to fix compatibility with HierarchicalMNS (#1113)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1151-september-23rd-2014","title":"EasyBuild v1.15.1 (September 23rd 2014)","text":"

        bugfix release

        framework

        • take into account that multiple modules may be extending $MODULEPATH with the same path, when determining path to top of module tree (see #1047)
          • this bug caused a load statement for either icc or ifort to be included in higher-level modules installed with an Intel-based compiler toolchain, under the HierarchicalMNS module naming scheme
        • make HierarchicalMNS module naming scheme compatible with cgoolf and goolfc toolchain (#1049)
        • add definition of iompi (sub)toolchain to make iomkl toolchain compatible with HierarchicalMNS (#1049)

        easyblocks

        (no changes compared to v1.15.0, simple version bump to stay in sync with easybuild-framework)

        easyconfigs

        • minor bug fixes, including:
          • use SHLIB_EXT in GMP/MPFR easyconfigs (#1090)
          • fix TopHat homepage and source_urls since page moved (#1092)
          • make iomkl toolchain compatible with HierarchicalMNS (#1099)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1150-september-12th-2014","title":"EasyBuild v1.15.0 (September 12th 2014)","text":"

        feature + bugfix release

        framework

        • various other enhancements, including:
          • fetch extension sources in fetch_step to enhance --stop=fetch (#978)
          • add iimpi toolchain definition (#993)
          • prepend robot path with download location of files when --from-pr is used (#995)
          • add support for excluding module path extensions from generated modules (#1003)
            • see include_modpath_extensions easyconfig parameter
          • add support for installing hidden modules and using them as dependencies (#1009, #1021, #1023)
            • see --hidden and hiddendependencies easyconfig parameter
          • stop relying on conflict statement in module files to determine software name of toolchain components (#1017, #1037)
            • instead, the is_short_modname_for method defined by the module naming scheme implementation is queried
          • improve error message generated for a missing easyconfig file (#1019)
          • include path where tweaked easyconfigs are placed in robot path (#1032)
          • indicate forced builds in --dry-run output (#1034)
          • fix interaction between --force and --try-toolchain --robot (#1035)
          • add --software option, disable recursion for --try-software(-X) (#1036)
        • various bug fixes, including:
          • fix HierarchicalMNS crashing when MPI library is installed with a dummy toolchain (#986)
          • fix list of FFTW wrapper libraries for Intel MKL (#987)
          • fix stability of unit tests (#988, #1027, #1033)
          • make sure $SCALAPACK_INC_DIR (and $SCALAPACK_LIB_DIR) are defined when using imkl (#990)
          • fix error message on missing FFTW wrapper libs (#992)
          • fix duplicate toolchain elements in --list-toolchains output (#993)
          • filter out load statements that extend the $MODULEPATH to make the module being installed available (#1016)
          • fix conflict specification included in module files (#1017)
          • avoid --from-pr crashing hard unless --robot is used (#1022)
          • properly quote GCC version string in archived easyconfig (#1028)
          • fix issue with --repositorypath not honoring --prefix (#1031)
          • sync with latest vsc-base version to fix log order (#1039)
          • increase # commits per page for --from-pr (#1040)

        easyblocks

        • added support for 2 new software packages that requires customized support:
          • Modeller (#392), NAMD (#397)
        • various enhancements, including:
          • fix locale used for running Perl unit tests (#425)
          • fix Rmpi easyblock to correctly configure for Intel MPI (#435)
          • add support in generic Rpackage easyblock for handling patches (#435)
          • enhance OpenFOAM easyblock: fix building MPI build of Pstream and (pt)scotchDecomp + overall cleanup (#436)
          • enhance NWChem easyblock for version 6.3, clean up running of test cases (#441)
          • enhance noqa for interactive configuration of Qt build procedure (#447)
          • add custom sanity check for R in easyblock (#449)
          • make perlmodule take into account (pre){config,build,install}opts (#450)
          • add support for specifying an activation key after installing Mathematica (#452)
          • consider both lib and lib64 directories in netCDF sanity check (#453)
          • fix sanity check for ANSYS for v15.0.x (#458)
          • fix Trilinos easyblock for recent version (#462)
          • enhance impi easyblock to handle install subdir for impi v5.0.1 and future version (#465, #472)
          • include $CFLAGS in linker flags for HPL (#466)
          • update sanity test checks for GROMACS 5.x (#471)
        • various bug fixes:
          • fix building of FFTW wrappers for Intel MKL v11.1.x + cleanup of imkl easyblock (#445)

        easyconfigs

        • added example easyconfig files for 13 new software packages:
          • Circos (#780), DB_File (#913), Emacs (#970), evmix (#1077), GD (#780), gsl (#1077), IOR (#949), JAGS (#1076), libgd (#780), MethPipe (#1070), Modeller (#825), NAMD (#835), netCDF-C++4 (#1015)
        • added easyconfigs for new toolchains (#986, #1051):
          • gimkl/1.5.9, ictce/7.1.2
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • including Python 2.7.8/3.4.1, Perl 5.20.0, R 3.1.1, NWChem 6.3, OpenFOAM-Extend 3.1, GCC 4.9.1, Clang 3.4.2, ...
        • various enhancements, including:
          • make existing ictce/intel toolchains compatible with HierarchicalMNS (#1069)
            • this involves installing impi with an iccifort toolchain, and imkl with an iimpi toolchain
        • various bug fixes, including:
          • download link for Perl modules changed to use cpan.metapan.org
          • fix missing MPI-based OpenFOAM libraries (Pstream, (pt)scotchDecomp), make sure provided SCOTCH is used (#957)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1140-july-9th-2014","title":"EasyBuild v1.14.0 (July 9th 2014)","text":"

        feature + bugfix release

        framework

        • important changes
          • required Lmod version bumped to v5.6.3 (#944)
            • required due to enhancements and bug fixes in Lmod, e.g. making --terse avail significantly faster, and correctly handling a prepend-path statement that includes multiple directories at once
          • required Tcl/C environment modules version set to 3.2.10 (
            • hard requirement due to fixed modulecmd segmentation fault bug, that only tends manifests itself when making a large amount of changes in the environment (e.g. module load <toolchain>)
          • renamed EasyBuildModuleNamingScheme to EasyBuildMNS
        • enhanced custom module naming schemes functionality to support hierarchical module naming schemes (#953, #971, #975)
          • extended API for custom module naming schemes to allow tweaking different aspects of module naming
            • see easybuild/tools/module_naming_scheme/mns.py for abstract ModuleNamingScheme class
            • an example hierarchical module naming scheme is included, see HierarchicalMNS
          • split up full module names into a module subdirectory part, which becomes part of $MODULEPATH), and a 'short' module name (is exposed to end-users)
            • example: GCC/4.7.2 in Core subdir, OpenMPI/1.6.5 in Compiler/GCC/4.7.2 subdir
          • make ModuleNamingScheme class a singleton, move it into easybuild.tools.module_naming_scheme.mns module
          • implement ActiveMNS wrapper class for querying active module naming scheme
          • implement toolchain inspection functions that can be used in a custom module naming scheme
            • det_toolchain_compilers, det_toolchain_mpi in easybuild.tools.module_naming_scheme.toolchain
          • significant code cleanup & enhanced unit tests
        • enhance & clean up tools/modules.py (#944, #953, #963, #964, #969)
          • make ModulesTool a singleton to avoid repeating module commands over & over again needlessly
          • use module use, module unuse rather than fiddling with $MODULEPATH directly
          • improve debug logging (include full stdout/stderr output of module commands)
          • remove deprecated functionality (add_module, remove_module, indirect module load)
        • various other enhancements, including:
          • added toolchain definitions for 'common' toolchains: intel and foss (#956)
          • implement caching for easyconfig files, parsed easyconfigs and toolchains (#953)
          • enable --ignore-osdeps implicitly when -D, --dry-run or --dep-graph are used (#953)
          • flesh out use_group and det_parallelism function, include them in easybuild.tools.systemtools (#953)
          • make symlinking of module files part of module naming scheme API (#973)
            • list of symlinks paths can be controlled using det_module_symlink_paths() method
          • added support for new configuration options:
            • tweaking compiler flags triggered by optarch toolchain options using --optarch (#949)
            • filtering out dependencies from easyconfig files using --filter-deps (#957)
            • filtering environment included in test reports with --test-report-env-filter (#959) e.g. --test-report-env-filter='^SSH|USER|HOSTNAME|UID|.*COOKIE.*'
            • made suffix used for module files install path configurable, using --suffix-modules-path (#973)
          • added support for additional easyconfig parameters:
            • define aliases in module files (modaliases) (#952)
            • add print message on module load (modloadmsg) and Tcl footer (modtclfooter) in module files (#954, #974)
        • various bug fixes, including:
          • don't try to tweak generated easyconfigs when using --try-X (#942)
          • currently create symlinks to module files modules/all under a custom module naming scheme (#953)
          • restore traceback error reporting on hard crashes (#965)

        easyblocks

        • added one new generic easyblock: CmdCp (#395)
        • added support for 2 new software packages that requires customized support:
          • ANSYS (#398), HPCG (#408)
        • various enhancements, including:
          • updated ABAQUS easyblock so that it works for version 13.2 (#406)
          • enhance BLAT easyblock by using super's build_step and prebuildopts/buildopts (#423)
          • enhance Mothur easyblock to guess correct start dir for recent versions (#424)
          • replace use of deprecated (pre)makeopts with (pre)buildopts in all easyblocks (#427)
          • fix poor mans version of toolchain compiler detection in imkl easyblock (#429)
        • various bug fixes:
          • only check for idb for older versions of icc (#426)
          • fix issues with installing RPMS when rpmrebuild is required (#433)
          • correctly disable parallel build for ATLAS (#434)
          • fix sanity check for Intel MPI v5.x (only provides bin64) (#432)
          • add $MIC_LD_LIBRARY_PATH for MKL v11.x (#437)

        easyconfigs

        • added example easyconfig files for 17 new software packages:
          • ANSYS (#836), Beast (#912), ELPH (#910, #911), FastTree (#900, #947), GEM-library (#858), HPCG (#853), mdtest (#925), ncview (#648), PRANK (#917), RDP-Classifier (#903), SDPA (#955), SIBELia (#886), SOAPaligner (#857), SPAdes (#884), stemming (#891), WHAM (#872), YAXT (#656)
        • added easyconfigs for new toolchains (#935, #944, #948):
          • foss/2014b, ictce/6.3.5, intel/2014b
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
        • various enhancements, including:
          • replace use of deprecated (pre)makeopts with (pre)buildopts in all easyblocks (#954)
          • disable running embossupdate on installation of EMBOSS (#963)
        • various bug fixes, including:
          • really enable OpenMP support in FastTree easyconfigs (#947)
          • fix easyconfigs unit tests after changes in framework (#958)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1130-may-29th-2014","title":"EasyBuild v1.13.0 (May 29th 2014)","text":"

        feature + bugfix release

        framework

        • make --try-X command line options work recursively (i.e. collaborate with --robot) (#922)
          • EasyBuild will first build a full dependency graph of the specified easyconfigs, and then apply the --try specifications
            • the elements of the dependency graph for the used toolchain and its dependencies are left untouched
          • this makes eb foo-1.0-goolf-1.4.10.eb --try-toolchain=ictce,5.5.0 --robot also work when foo has dependencies
          • caveat: the specified easyconfig files must all use the same toolchain (version)
        • add support for testing easyconfig pull requests from EasyBuild command line (#920, #924, #925, #932, #933, #938)
          • add --from-pr command line option for downloading easyconfig files from pull requests
          • add --upload-test-report command line option for uploading a detailed test report to GitHub as a gist
            • this requires specifying a GitHub username for which a GitHub token is available, using --github-user
            • with --dump-test-report, the test report can simply be dumped to file rather than being uploaded to GitHub
            • see also https://github.com/easybuilders/easybuild/wiki/Review-process-for-contributions#testing-result
        • the makeopts and premakeopts easyconfig parameter are deprecated, and replaced by buildopts and prebuildopts (#918)
          • both makeopts and premakeopts will still be honored in future EasyBuild v1.x versions, but should no longer be used
        • various other enhancements, including:
          • add --disable-cleanup-builddir command line option, to keep the build dir after a (successful) build (#853)
            • the build dir is still cleaned up by default for successful builds, i.e. --cleanup-builddir is the default
          • also consider lib32 in paths checked for $LD_LIBRARY_PATH and $LIBRARY_PATH (#912)
          • reorganize support for file/git/svn repositories into repository package, making it extensible (#913)
          • add support for postinstallcmds easyconfig parameter, to specify commands that need to be run after the install step (#918)
          • make VERSION= part in version of C environment modules tool optional, which is required for older versions (#930)
        • various bug fixes, including:
          • fix small issues in bootstrap script: correctly determine EasyBuild version and make sure modules path exists (#915)
          • fix github unit tests (#916)
          • disable useless debug logging for unit tests (#919)
          • fix unit test for --skip (#929)
          • make sure start_dir can be set based on location of unpacked first source file (#931)
          • the vsc package shipped with easybuild-framework is synced with vsc-base v1.9.1 (#935)
            • fancylogger (used for logging in EasyBuild) is now robust against strings containing UTF8 characters
            • the deprecated logging function now does a non-strict version check (rather than an erroneous strict check)
            • the easybuild.tools.agithub module is removed, vsc.utils.rest now provides the required functionality
          • fix support for unpacking gzipped source files, don't unpack .gz files in-place in the source directory (#936)

        easyblocks

        • added support for 1 new software package that requires customized support:
          • Go (#417)
        • various enhancements, including:
          • enhance OpenFOAM easyblock so OpenFOAM-Extend fork can be built too + style fixes (#253, #416)
          • enhance CPLEX easyblock by adding support for staged installation (#372)
          • include support for configure_cmd_prefix easyconfig parameter in ConfigureMake generic easyblock (#393)
          • enhance GCC easyblock for building v4.9.0 and versions prior to v4.5 (#396, #400)
          • enhance easyblocks for Intel ipp and itac to support recent versions (#399)
          • enhance Clang easyblock: install static analyzer (#402), be more robust against changing source dir names (#413)
          • enhance FoldX easyblock, update list of potential FoldX binaries to support recent versions (#407)
          • add runtime patching in Boost easyblock to fix build issue with old Boost versions and recent glibc (> 2.15) (#412)
          • enhance MakeCp generic easyblock: use location of 1st unpacked source as fallback base dir for files_to_copy (#415)
        • various bug fixes:
          • fix installing Mathematica when X forwarding is enabled (make sure $DISPLAY is unset) (#391)
          • fix permissions of installed files in SAMtools easyblock, ensure read/execute for group/other (#409)
          • fix implementation of det_pylibdir function in PythonPackage generic easyblock (#419, #420)
            • determine Python lib dir via distutils Python, which works cross-OS (as opposed to hardcoding lib)

        easyconfigs

        • added example easyconfig files for 32 new software packages:
          • APBS (#742), BayesTraits (#770), bc (#888), BitSeq (#791), CEM (#789), CVS (#888), eXpress (#786), file (#888), GEMSTAT (#861), GMAP (#594), Go (#887), iscp (#602), IsoInfer (#773), Jellyfish (#868), less (#888), libcircle (#883), mcpp (#602), MMSEQ (#795), MUSTANG (#800), OpenFOAM-Extend (#437), popt (#759), pscom (#759), psmpi2 (#759), QuadProg++ (#773), rSeq (#771), RSEQtools (#870), Ruby (#873), segemehl (#792), SOAPec (#879), SOAPdenovo2 (#874), SRA-Toolkit (#793), texinfo (#888)
        • added easyconfig for new toolchain goolfc/1.4.10
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • e.g., older versions of Boost (1.47.0), GCC (4.1-4.4), & recent versions of Clang, GCC, Lmod, etc.
        • various enhancements, including:
          • add OpenSSL dependency for cURL, to enable HTTPS support (#881)
          • also install esl-X binaries for HMMER (#889)
        • various bug fixes, including:
          • properly pass down compiler flags for ParMGridGen (#437)
          • specify proper make options for PLINK, fixing the build on SL6 (#594, #772)
          • fix netloc version (0.5 rather than 0.5beta) (#707)
          • remove Windows-style line ending in netCDF patch file (#796)
          • bump version of OpenSSL dep for BOINC (#882)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1121-april-25th-2014","title":"EasyBuild v1.12.1 (April 25th 2014)","text":"

        bugfix release

        framework

        • return to original directory after executing a command in a subdir (#908)
        • fix bootstrap with Lmod, fix issue with module function check and Lmod (#911)

        easyblocks

        (no changes compared to v1.12.0, simple version bump to stay in sync with easybuild-framework)

        easyconfigs

        (no changes compared to v1.12.0, simple version bump to stay in sync with easybuild-framework)

        ","boost":0.5},{"location":"release-notes/#easybuild-v1120-april-4th-2014","title":"EasyBuild v1.12.0 (April 4th 2014)","text":"

        feature + bugfix release

        framework

        • various enhancements, including:
          • completed support for custom module naming schemes (#879, #904)
            • a fully parsed easyconfig file is now passed to the det_full_module_name function
            • this does require that an easyconfig file matching the dependency specification is available
          • added more features to better support using a shared install target with multiple users (#902, #903, #904)
          • further development on support for new easyconfig format (v2.0) (#844, #848)
            • not considered stable yet, so still requires using --experimental
          • enhanced bootstrap script to also support Lmod and modulecmd.tcl module tools (#869)
          • added support to run_cmd_qa function to supply a list of answers (#887)
          • detect mismatch between definition of module function and selected modules tool (#871)
            • allowing mismatch now requires --allow-modules-tool-mismatch; an empty module function is simply ignored
          • provide lib64 fallback option for directories in default sanity check paths (#896)
          • add support for adding JAR files to $CLASSPATH (#898)
          • enhanced and cleaned up unit tests (#877, #880, #884, #899, #901)
          • code cleanup and refactoring
            • get rid of global variable for configuration settings in config.py, use singleton instead (#874, #888, #890, #892)
            • track build options via singleton in config.py rather than passing them around all over (#886, #889)
            • avoid parsing easyconfig files multiple times by passing a parsed easyconfig to the easyblock (#891)
            • deprecate list of tuples return type of extra_options static method (#893, #894)
            • move OS dependency check to systemtools.py module (#895)
        • bug fixes, including:
          • fix linking with -lcudart if CUDA is part of the toolchain, should also include -lrt (#882)

        easyblocks

        • various enhancements, including:
          • also run Perl Build build for Perl modules (usually not required, but sometimes it is) (#380)
          • added glob support in generic makecp block (#367, #384)
          • enhance sanity check in GCC easyblock such that it also passes/works on OpenSuSE (#365)
          • add multilib support in GCC easyblock (#379)
        • various bug fixes:
          • Clang: disable sanitizer tests when vmem limit is set (#366)
          • make sure all libraries are installed for recent Intel MKL versions (#375)
          • fix appending Intel MPI include directories to $CPATH (#371)
          • statically link readline/ncurses libraries in Python and NWChem easyblocks (#370, #383, #385)
          • fix easyblock unit tests after changes in framework (#376, #377, #378)

        easyconfigs

        • added example easyconfig files for 6 new software packages:
          • CLooG (#653), ELPA (#738), LIBSVM (#788), netaddr (#753), netifcas (#753), slalib-c (#750)
        • added easyconfigs for new toolchains:
          • ClangGCC/1.3.0 (#653), goolf/1.4.10-no-OFED (#749), goolf/1.5.14(-no-OFED) (#764, #767), ictce/6.2.5 (#726), iomkl (#747)
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
        • various enhancements, including:
          • tweak BOINC easyconfig to make use of glob support available for files_to_copy (#781)
          • enable -fPIC for libreadline, so it can be linked into shared libs (e.g. libpython2.x.so) (#798)
        • various bug fixes, including:
          • fix Qt source_urls (#756)
          • enable -fPIC in ncurses 5.9 ictce/5.2.0 easyconfig, just like in the others (#801)
          • fix unit tests after changes to framework (#763, #766, #769)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1111-february-28th-2014","title":"EasyBuild v1.11.1 (February 28th 2014)","text":"

        bugfix release

        framework

        • various bug fixes, including:
          • fix hard crash when $LMOD_CMD specified full path to lmod binary, but spider binary is not in $PATH (#861, #873)
          • fix bug in initialisation of repositories, causing problems when a repository subdirectory is specified (#852)
          • avoid long wait when dependency resolution fails if --robot is not specified (#875)

        easyblocks

        (no changes compared to v1.11.0, simple version bump to stay in sync with easybuild-framework)

        easyconfigs

        (no changes compared to v1.11.0, simple version bump to stay in sync with easybuild-framework)

        ","boost":0.5},{"location":"release-notes/#easybuild-v1110-february-16th-2014","title":"EasyBuild v1.11.0 (February 16th 2014)","text":"

        feature + bugfix release

        framework

        • various enhancements, including:
          • add checksum support for extensions (#807)
          • make checksum functionality more memory efficient by reading in blocks (#836)
          • rewrite of dependency solving for speed and better reporting of missing dependencies (#806, #818)
          • refactoring of main.py (#815, #828)
            • function/method signatures to pass down build options
            • move functions from main.py into easybuild.framework.X or easybuild.tools
          • provide better build statistics (#824)
          • add --experimental, --deprecated and --oldstyleconfig command line options (#838)
            • with --experimental, new but incomplete (or partially broken) features are enabled
            • with --deprecated, removed of deprecated functionality can be tested (anything deprecated will fail hard)
            • with --disable-oldstyleconfig, support for the old style configuration is disabled
          • define $LIBRARY_PATH in generated module files (#832)
          • more constants for source URLs (e.g. for downloads from bitbucket) (#831)
          • prefer $XDG_CONFIG_HOME and ~/.config/easybuild over ~/.easybuild for configuration files (#820)
          • add support for specifying footers to be appended to generated module files (#808)
            • see --modules-footer command line option
          • track version of modules tool + cleanup of modules.py (#839)
          • move actual run_cmd and run_cmd_qa implementations from tools.filetools into tools.run (#842, #843)
          • add support for generating modules that support recursive unloading (#830)
            • see --recursive-module-unload command line option
          • add flexibility support for specifying OS dependencies (#846)
            • alternatives can be specified, e.g. (openssl-devel, libssl-dev)
          • initial (incomplete) support for easyconfig files in new format (v2.0) (#810, #826, #827, #841)
            • requires --experimental to be able to experiment with format v2 easyconfig files
        • various bug fixes, including:
          • fix problems with use of new-style configuration file (#821)
          • fix removal of old build directories, unless cleanupoldbuild easyconfig parameter is set (#809)
          • fix support for different types of repository path specifications (#814)
          • fix unit tests sensitive to $MODULEPATH and available easyblocks (#845)

        easyblocks

        • added one new generic easyblock: VSCPythonPackage (#348)
        • added support for 1 new software package that requires customized support:
          • netcdf4-python (#347)
        • various enhancements, including:
          • add support for installing recent tbb versions (#341)
          • use makeopts in the build step of the generic PythonPackage easyblock (#352)
          • define the $CMAKE_INCLUDE_PATH and $CMAKE_LIBRARY_PATH in the generic CMakeMake easyblock (#351, #360)
          • update Clang easyblock to support v3.4 (#346)
          • make sure Python is built with SSL support, adjust Python easyblock to pick up OpenSSL dep (#359)
            • note: providing OpenSSL via an OS package is still recommended, such that security updates are picked up
          • add support for recent netCDF versions (#347)
          • update SuiteSparse easyblock for new versions, and clean it up a bit (#350)
        • various bug fixes:
          • fix name of VersionIndependentPythonPackage easyblock, deprecate VersionIndependendPythonPackage easyblock (#348)
          • fix detection of machine architecture in FSL easyblock (#353)
          • fix bug in NWChem easyblock w.r.t. creating local dummy .nwchem file (#360)
          • make sure $LIBRARY_PATH is set for Intel compilers and Intel MPI, fix 64-bit specific paths (#360)

        easyconfigs

        • added example easyconfig files for 30 new software packages:
          • argtable (#669), Clustal-Omega (#669), Coreutils (#582), GMT (#560), gperftools (#596), grep (#582), h4toh5 (#597), libunwind (#596), Lmod (#600, #692), Lua (#600, #692), MAFFT (#654), Molekel (#597), NEdit (#597), netcdf4-python (#660), nodejs (#678), OCaml (#704), patch (#582), PhyML (#664), PRACE Common Production Environment (#599), protobuf (#680), python-dateutil (#438), sed (#582), sickle (#651), Tesla-Deployment-Kit (#489), TREE-PUZZLE (#662), VCFtools (#626), Vim (#665), vsc-mympirun-scoop (#661), vsc-processcontrol (#661), XZ (#582)
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • OpenSSL with ictce toolchain (#703)
        • various enhancements, including:
          • using more constants and templates (#613, #615)
          • specify OS dependency for SSL support, with OpenSSL dependency as fallback (#703)
        • various bug fixes, including:
          • fix unit tests after (internal) framework API changes (#667, #672)
          • fix homepage in vsc-mympirun easyconfig file (#681)
          • align OpenMPI easyconfigs (#650)
          • add additional source URL in Qt easyconfigs (#676)
          • specify correct $PATH specification and define $CHPL_HOME for Chapel (#683)
        ","boost":0.5},{"location":"release-notes/#easybuild-v1100-december-24th-2013","title":"EasyBuild v1.10.0 (December 24th 2013)","text":"

        feature + bugfix release

        framework

        • various enhancements, including:
          • set unique default temporary directory, add --tmpdir command line option (#695)
          • add support for computing and verifying source/patch file checksums (#774, #777, #779, #801, #802)
            • cfr. checksums easyconfig parameter
          • add support for eb --confighelp, which prints out an example configuration file (#775)
          • add initial support for eb tab completion in bash shells (#775, #797, #798)
            • see also https://github.com/easybuilders/easybuild/wiki/Setting-up-tab-completion-for-bash
            • note: may be quite slow for now
          • enhancements for using Lmod as modules tool (#780, #795, #796):
            • ignore Lmod spider cache by setting $LMOD_IGNORE_CACHE (requires Lmod 5.2)
            • bump required Lmod version to v5.2
            • get rid of slow workaround for detecting module directories (only required for older Lmod versions)
            • fix version parsing for Lmod release candidates (rc)
            • improve integration with lmod spider by adding Description: prefix to module-whatis field of module
          • add --dry-short-short/-D and --search-short/-S command line options (#781)
          • add toolchain definition for 'gompic', intended for using with CUDA-aware OpenMPI (#783)
          • add support for specifying multiple robot paths (#786)
          • add various source URL constants, add support for %(nameletter)s and %(nameletterlower)s templates (#793)
          • add buildininstalldir easyconfig parameter (#794)
          • add --ignore-osdeps command line option (#799, #802)
        • various bug fixes, including:
          • enable -mt_mpi compiler flag if both usempi and openmp toolchain options are enabled (#771)
          • only use libmkl_solver* libraries for Intel MKL versions prior to 10.3 (#776)
          • fix toolchain support for recent Intel tools (#785)
          • code style fixes in main.py to adhere more to PEP8 (#789)
          • make sure easyblock easyconfig parameter is listed in eb -a (#791)
          • fix error that may pop up when using skipsteps=source (#792)

        easyblocks

        • added one new generic easyblock: VersionIndependendPythonPackage (#329, #334)
        • added support for 2 new software packages that require customized support:
          • Charmm (#318), GROMACS (#335, #339)
        • various enhancements, including:
          • fix support for recent SAMtools version (>= 0.1.19) (#320)
          • fix support for recent Intel tools (icc, ifort, imkl, impi) (#325, #327, #338)
          • enhance generic easyblock for installing RPMs (#332)
          • pick up preinstallopts in generic PythonPackage easyblock (#334)
          • enhance CP2K easyblock (libxc support, new versions) + style cleanup (#336)
        • various bug fixes:
          • use unwanted env var functionality to unset $MKLROOT rather than failing with an error (#273)
          • always include -w flag for preprocessor to suppress warnings that may break QuantumESPRESSO configure (#317)
          • link with multithreaded LAPACK libs for ESMF (#319)
          • extend noqanda list of patterns in CUDA easyblock (#328, #337)
          • add import _ctypes to Python sanity check commands to capture a common build issue (#329)
          • bug fixes in generic IntelBase easyblock (#331, #333, #335)
            • remove broken symlink $HOME/intel if present
            • fix use of gettempdir to obtain a common (user-specific) tmp dir to symlink $HOME/intel to
          • fix build of recent scipy versions with GCC-based toolchain (#334)
          • fix use of gettempdir to obtain common (user-specific) tmp dir for $HOME/.nwchemrc symlink (#340, #342)
          • extend noqanda list in Qt easyblock (#342)

        easyconfigs

        • added example easyconfig files for 18 new software packages:
          • BEDTools (#579, #632, #635), CAP3 (#548), CHARMM (#584), cutadapt (#620), ErlangOTP (#556, #630), Ghostscript (#547, #632), HTSeq (#554, #632), Jansson (#545), libjpeg-turbo (#574), Molden (#566), netloc (#545), o2scl (#633), packmol (#566), PP (#405), qtop (#500), TAMkin (#566), vsc-base (#621), vsc-mympirun (#621)
        • added easyconfigs for new toolchains (#545, #609, #629):
          • gcccuda/2.6.10, gompic/2.6.10, goolfc/2.6.10, ictce/6.0.5, ictce/6.1.5
        • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
          • new versions of icc, ifort, imkl, impi (#609, #629)
          • large collection of ictce/5.3.0 easyconfigs (#627)
        • various enhancements, including:
          • extended list of Python packages as extensions to Python (#625)
          • add MPI-enabled version of GROMACS + easyconfigs using ictce (#606, #636)
          • clean up templating of source_urls (#637)
        • various bug fixes, including:
          • provide alternative download URL for Mesa (#532)
          • add Python versionsuffix in OpenBabel filenames (#566)
          • apply no-gets patch in all M4 v1.4.16 easyconfigs (#623)
          • fix patching of Python w.r.t. libffi/_ctypes issues (#625, #642)
          • bug fixes in GROMACS easyconfigs (#606)
            • change versionsuffix for non-MPI GROMACS easyconfigs to -mt
            • stop using 'CMakeMake' easyblock for GROMACS now that there's a dedicated GROMACS easyblock, which correctly specifies building against external BLAS/LAPACK libraries
          • fix Qt dependency for CGAL (#642)
          • fix libctl, libmatheval, Meep, PSI build issues caused by full paths in guile-config/python-config shebang (#642)
          • make sure HDF easyconfigs specify dedicated include/hdf include dir (#642)
            • this is required to avoid build issues with NCL, because HDF ships it's own netcdf.h
            • this also triggered removal of patch files for NCL that rewrote include/hdf to include
          • fix WPS v3.5.1 patch file after upstream source tarball was changed, supply checksum for verification (#642)
        ","boost":0.5},{"location":"release-notes/#easybuild-v190-november-17th-2013","title":"EasyBuild v1.9.0 (November 17th 2013)","text":"

        feature + bugfix release

        framework

        • add support for Tcl environment modules (modulecmd.tcl) (#728, #729, #739)
          • special care was taken to make sure also the DEISA variant of modulecmd.tcl can be used
        • code refactoring to prepare for supporting two formats for easyconfig files (#693, #750)
          • this prepares the codebase for supporting easyconfig format v2.0
          • some initial work on adding support for the new easyconfig format is included, but it's by no means complete yet
          • the current easyconfig format (now dubbed v1.0) is still the default and only supported format, for now
          • for more details, see https://github.com/easybuilders/easybuild/wiki/Easyconfig-format-two
        • various other enhancements, including:
          • include a full version of vsc-base (see the vsc subdirectory) (#740)
            • this is a first step towards switching to using vsc-base as a proper dependency
          • implement get_avail_core_count function in systemtools module that takes cpusets and co into account (#700)
            • the get_core_count function is now deprecated
          • add impmkl toolchain definition (#736)
          • make regtest more robust: put holds on jobs without dependencies, release holds once all jobs are submitted (#751)
          • add support for specifying multiple alternatives for sanity check paths (#753)
          • add get_software_libdir function to modules.py (along with unit tests) (#758)
          • add support for more file extensions and constants w.r.t. sources (#738, #760, #761)
          • add MPICH2 support in mpi_cmd_for function (#761)
        • various bug fixes, including:
          • fix checking of OS dependencies on Debian/Ubuntu that have rpm command available (#732)
          • make unit tests more robust w.r.t. non-writeable /tmp and loaded modules prior to starting unit tests (#752, #756)
          • also call EasyBlock's sanity check in ExtensionEasyblock if paths/commands are specified in easyconfig (#757)
          • set compiler family for dummy compiler, add definition of toolchain constant for dummy (#759)
        • other
          • add build status badges for master/develop branches to README (#742)
          • add scripts for installing EasyBuild develop version or setting up git development environment (#730, #755)

        easyblocks

        • added support for 8 new software packages that require customized support:
          • Allinea DDT/MAP (#279), ARB (#291), GenomeAnalysisTK (#278), OpenBabel (#305, #309), picard (#278), PyQuante (#297), Scalasca v1.x (#304), Score-P (#304)
            • the Score-P easyblock is also used for Cube 4.x, LWM2, OTF2, and Scalasca v2.x
        • various enhancements, including:
          • add support building ScaLAPACK on top of MPICH2, required for gmpolf toolchain (#274)
          • add support to ConfigureMake easyblock to customize configure --prefix option (#287)
          • add support for specifying install command in Binary easyblock (#288)
          • enhance CMakeMake easyblock to specify srcdir via easyconfig parameter, and to perform out-of-source builds (#303)
        • various bug fixes:
          • use correct configure flag for Szip in HDF5 easyblocks, should be --with-szlib (#286, #301)
          • add support for serial HDF5 builds (#290, #301)
          • enhance robustness of Qt easyblock w.r.t. interactive configure (#295, #302)
          • enhance support for picking up license specification via environment variables (#298, #307)
          • extend list of values for $CPATH in libint2 easyblock (#300)
          • fix extra_options super call in Clang easyblock (#306)
          • add support in Boost easyblock to specify toolset in easyconfig file (#308)
        • other:
          • add build status badges for master/develop branches to README (#289)

        easyconfigs

        • added example easyconfig files for 58 new software packages:
          • Allinea (#468), ARB + dependencies (#396, #493, #495), arpack-ng (#451, #481), CDO (#484, #521), Cube (#505), ed (#503), FLTK (#503), GenomeAnalysisTK (#467), GIMPS (#527), GTI (#511), IPython (#485, #519), LWM2 (#510), MPICH2 (#460), MUST (#511), ncdf (#496, #522), OPARI2 (#505), OpenBabel (#504, #524), OTF (#505), OTF2 (#505), PandaSEQ (#475), ParaView (#498, #514), ParFlow (#483, #520), PCC (#486, #528), PDT (#505), picard (#467), PnMPI (#511), PyQuante (#499, #523), pysqlite (#519), Scalasca (#505), Score-P (#505), SDCC (#486, #528), Silo (#483, #520), Stride (#503), SURF (#503), TCC (#486, #528)
          • ARB dependencies (23): fixesproto, imake, inputproto, kbproto, libICE, libSM, libX11, libXau, libXaw, libXext, libXfixes, libXi, libXmu, libXp, libXpm, libXt, lynx, motif, printproto, Sablotron, xbitmaps, xextproto, xtrans
        • added easyconfigs for new gmpich2/1.4.8, gmpolf/1.4.8 and goolf/1.6.10 toolchains (#460, #525, #530)
        • added additional easyconfigs for various software packages (list too long to include here)
          • version updates, different toolchains, ...
        • various bug fixes, including:
          • enable building of shared libraries for MPICH (#482)
          • fix HDF configure option for Szip, should be --with-szlib (#533)
            • for HDF5, this issue is fixed in the HDF5 easyblock
        • other
          • add build status badges for master/develop branches to README (#490)
        ","boost":0.5},{"location":"release-notes/#easybuild-v182-october-18th-2013","title":"EasyBuild v1.8.2 (October 18th 2013)","text":"

        bugfix release

        framework

        • fix regular expression used for obtaining list of modules from module avail (#724)
          • modules marked as default were being hidden from EasyBuild, causing problems when they are used as dependency

        easyblocks

        • fix installing of EasyBuild with a loaded EasyBuild module (#280)
          • this is important to make upgrading to the latest EasyBuild version possible with a bootstrapped EasyBuild

        easyconfigs

        • port thread pool patch to PSI 4.0b4 and include it to avoid hanging tests (#471)
        ","boost":0.5},{"location":"release-notes/#easybuild-v181-october-14th-2013","title":"EasyBuild v1.8.1 (October 14th 2013)","text":"

        bugfix release

        • various bug fixes, including:
          • fix bugs in regtest procedure (#713)
            • force 2nd and 3rd attempt of build in case 1st attempt failed
          • fix copying of install log to install directory (#716)
          • only create first source path if multiple paths are specified (#718)
          • detect failed PBS job submission by checking obtained job ID for None value (#713, #717, #719, #720)

        easyblocks

        • various bug fixes:
          • fix problems in PSI easyblock causing build to fail (#270)
          • fix issues with running NWChem test cases, fail early in case broken symlink is present (#275)

        easyconfigs

        • added additional easyconfigs for various software packages (#457):
          • Boost, bzip2, libreadline, ncurses, PSI, Python, zlib
        • various bug fixes, including:
          • fix faulty easyconfig file names for HPCBIOS_Math, MUSCLE, XML-LibXML and YAML-Syck (#459, #462)
          • stop (re)specifying default maximum ratio for failed tests in NWChem easyconfig (#457)
        ","boost":0.5},{"location":"release-notes/#easybuild-v180-october-4th-2013","title":"EasyBuild v1.8.0 (October 4th 2013)","text":"

        feature + bugfix release

        framework

        • add support for using alternative module naming schemes (#679, #696, #705, #706, #707)
          • see https://github.com/easybuilders/easybuild/wiki/Using-a-custom-module-naming-scheme for documentation
          • module naming scheme classes that derive from the 'abstract' ModuleNamingScheme class can be provided to EasyBuild
            • the Python module providing the class must be available in the easybuild.tools.module_naming_scheme namespace
            • a function named det_full_module_name must be implemented, that determines the module name in the form of an string based on the supplied dictionary(-like) argument
          • the active module naming scheme is determined by EasyBuild configuration option --module-naming-scheme
          • for now, only the name/version/versionsuffix/toolchain easyconfig parameters are guaranteed to be provided
            • consistently providing all easyconfig parameters (i.e., also for dependencies) requires more work (see #687)
          • implementing this involved a number of intrusive changes:
            • the API of the modules.py module needed to be changed, breaking backward compatibility
              • the function for which the signatures were modified are considered to be internal to the framework, so this should have very minor impact w.r.t. easyblocks not included with EasyBuild
              • affected functions include: available, exists, show, modulefile_path, dependencies_for
            • the format for specifying dependencies was extended, to allow for specifying a custom toolchain
              • this allows to fix inaccurate dependency specifications, for example: ('OpenMPI', '1.6.4-GCC-4.7.2')\" to \"('OpenMPI', '1.6.4', '', ('GCC', '4.7.2'))
              • see also easyconfigs#431
            • the recommended version for Lmod was bumped to v5.1.5
              • using earlier 5.x version still works, but may be very slow when 'available' is used, due to bugs and a missing feature in Lmod versions prior to v5.1.5 on which we rely
        • various other enhancements, including:
          • only (try to) change group id if it is different from what is wanted (#685)
          • added toy build unit test (#688)
          • support for specifying a list of source paths in EasyBuild configuration (#690, #702)
          • add function to determine CPU clock speed in systemtools.py (#694, #699)
        • various bug fixes, including:
          • avoid importing toolchain modules over and over again to make toolchain constants available in toolchain module (#679)
          • only change the group id if current gid is different from what we want in adjust_permissions function (#685)
          • restore original environment after running 'module purge' (#698)
            • important sidenote: this results in resetting the entire environment, and has impact on the sanity check step;
            • any environment variables that are set before the EasyBlock.sanity_check_step method fires, are no longer there when the sanity check commands are run (cfr. easyblocks#268)

        easyblocks

        • added one new generic easyblock: BinariesTarball (#255)
        • added support for 5 new software packages that require customized support:
          • DB (#226), FDTD Solutions (#239), FoldX (#256), Mathematica (#240), MUMPS (#262)
        • various enhancements, including:
          • support optionally running configure in generic MakeCp easyblock (#252)
          • enhanced Clang easyblock to support building Clang 3.3 (#248)
          • add support for $INTEL_LICENSE_FILE specifying multiple paths (#251)
          • enhanced ATLAS easyblock to support building ATLAS 3.10.1 (#258)
        • various bug fixes:
          • add zlib lib dir in link path dirs for WPS (#249)
          • stop using deprecated add_module function in imkl easyblock (#250)
          • fixed PSI easyblock w.r.t. support for building plugins (#254, #269)
          • move OS check for Clang to check_readiness_step, to allow a build job to be submitted from SL5 (#263, #264)
          • enable verbose build for DOLFIN, to allow for proper debugging if the build fails (#265)
          • make sure $LDFLAGS and $INSTANT_*_DIR env vars are set for DOLFIN sanity check commands (#268)
            • this is required after resetting the environment after running module purge (see framework release notes)
          • don't try to load module in LAPACK test-only build (#264, #266)

        easyconfigs

        • added example easyconfig files for 9 new software packages:
          • BOINC (#436), DB (#343, #449), fastahack (#374), FDTD Solutions (#387), FoldX (#440, #442), Mathematica (#394), Mesquite (#447), MUMPS (#447), ParMGridGen (#447)
        • added additional easyconfigs for goalf, gompi, ClangGCC, cgmvapich2, cgmvolf toolchains (#350, #441)
        • added additional easyconfigs for various software packages:
          • ATLAS, Bison, bzip2, Clang, CMake, cURL, EasyBuild, expat, FFTW, GDB, gettext, git, HPL, LAPACK, libreadline, M4, METIS, MVAPICH2, Mercurial, ncurses, OpenBLAS, OpenMPI, ParMETIS, Python, ScaLAPACK, SCOTCH, Valgrind, zlib
        • various 'bug' fixes, including:
          • fix source URL for lockfile in Python easyconfigs (#428)
          • correct dependency specifications w.r.t. versionsuffix and toolchain (#431)
            • this is required to support building the affected easyconfigs with a custom module naming scheme
          • correct PSI patch file to avoid errors w.r.t. memcpy not being in scope (#446)
          • fix gettext build with adding --without-emacs configure options, add gettext as dependency for a2ps (#448)
          • exclude EMACS support in a2ps because of build failures (#452)
        ","boost":0.5},{"location":"release-notes/#easybuild-v170-september-2nd-2013","title":"EasyBuild v1.7.0 (September 2nd 2013)","text":"

        feature + bugfix release

        framework

        • various enhancements, including:
          • also search for patch files in directory where easyconfig file is located (#667)
          • reduce false positives in reporting of possible errors messages (#669)
          • make module update $ACLOCAL if a share/aclocal subdir is found (#670)
          • add unwanted_env_vars easyconfig parameter to list environment variables to unset during install procedure (#673)
          • add support for updating list easyconfig values (next to string values) (#676)
          • add --dry-run command line option which prints installation overview for specified easyconfig files (#677)
        • various bug fixes, including:
          • ensure that all extensions are listed in $EBEXTSLISTX set by module, also when using --skip (#671)
          • report reason for failed sanity check for extensions (#672, #678)
          • fix --list-toolchains command line option (#675)

        easyblocks

        • added support for 3 new software packages that require customized support:
          • Libint2 (#236), Qt (#210), Rosetta (#218)
        • various enhancements, including:
          • allow building OpenFOAM without 3rd party tools (#230)
          • also add sitelib path to $PERL5LIB, refactor code to add generic get_site_suffix function (#232, #233)
          • support building imkl FFT wrappers using MVAPICH2 MPI library (#234)
          • remove libnpp from CUDA sanity check to support installing CUDA v5.5 (#238)
          • pick up $INTEL_LICENSE_FILE for Intel tools, if it is set (#243)
            • note: gets preference over license_file easyconfig parameter
        • various bug fixes:
          • call WRF build script with 'tcsh <script> to ensure that tcsh available in $PATH is used (#231)
          • make sure some environment variables that may disrupt the GCC install procedure are unset (#237)
            • e.g., $CPATH, $C_INCLUDE_PATH, $CPLUS_INCLUDE_PATH, $OBJC_INCLUDE_PATH, $LIBRARY_PATH
          • code cleanup in GEANT4 easyblock: use self.version (instead of self.get_installversion()) (#242)
          • enhance list of noqanda patterns for CUDA, to get less failing installations (#244)

        easyconfigs

        • added example easyconfig files for 15 new software packages:
          • Glib (#294, #400), GLPK (#400), horton (#413), libint2 (#413), molmod (#413), Rosetta (#336), SCons (#336), Stacks (#367, #377), sympy (#413), Qt (#294), XML-LibXML (#397), XML-Simple (#397), yaff (#413), YAML-Syck (#380), zsh (#376)
        • added additional easyconfigs for various software packages:
          • BLAST, BamTools, BioPerl, Bison, Boost, bzip2, CMake, Cython, CUDA, FFTW, FIAT, GCC, GMP, gettext, git, h5py, HDF5, libffi, libreadline, libxc, matplotlib, METIS, ncurses, Oases, Python, RAxML, ScientificPython, Szip, tcsh, imkl, MVAPICH2, TotalView, VTune, WRF, zlib
        • added toolchain easyconfig files for HPCBIOS policies (#402, #407)
          • HPCBIOS_BioInfo, HPCBIOS_Debuggers, HPCBIOS_LifeSciences, HPCBIOS_Math, HPCBIOS_Profilers
        • various enhancements, including:
          • added more XML Perl modules to non-bare Perl easyconfigs (#375)
        • various 'bug' fixes, including:
          • fix website/description in scipy easyconfigs (#399)
          • specify OpenMPI libibverbs-dev(el) OS dependency in an OS-dependent way (#403)
          • add patch file for M4 to fix building on systems with recent glibc (>=2.16) (#406)
          • align moduleclass in R easyconfigs (#411)
          • fixed filename of Biopython/CD-HIT easyconfig files (#407)
          • disable parallel building of otcl (#419)
        ","boost":0.5},{"location":"release-notes/#easybuild-v160-july-11th-2013","title":"EasyBuild v1.6.0 (July 11th 2013)","text":"

        feature + bugfix release

        framework

        • added support for using Lmod as module tool (#645)
        • various other enhancements, including:
          • allow prepending to/appending to/overwriting list easyconfig parameters using --try-amend-X (#658, #664)
        • various bug fixes, including:
          • add salt to temporary log file name (#656, #665)
          • fix determining CPU architecture on Raspberry Pi (ARM) systems (#655, #662)
          • fix support for determining base path of tarballs containing a single file (#660)

        easyblocks

        • added support for 2 new software packages that require customized support:
          • BamTools (#224), BLAT (#214)
        • various enhancements, including:
          • update impi easyblock to allow installing impi v4.1.1, which features a slight change in build procedure (#217)
          • enhance PackedBinary easyblock to copy both files and directories (#212)
          • added get sitearch_suffix to Perl search path and use it in PerlModule easyblock (#209)
        • various bug fixes:
          • make sure EasyBuild configuration is initialized when running unit tests (#220)
          • make Boost easyblock pick up configopts easyconfig parameter (#221)
          • add -DMPICH_IGNORE_CXX_SEEK compiler flag for Mothur when MPI support is enabled (#222)
          • fix Boost sanity check, only check for libboost_python.so if Python module is loaded (#223)
          • enhance Trinity support w.r.t. jellyfish (#225, #227)
          • fix checking for beagle-lib dep (deprecate checking for BEAGLE) for MrBayes (#228)

        easyconfigs

        • added example easyconfig files for 26 new software packages:
          • ALLPATHS-LG (#359), AutoMake (#347), BamTools (#319, #338), BLAT (#340), Biopython (#356), cairo (#361), CCfits (#327), CD-HIT (#344), CFITSIO (#327), Diffutils (#347), FASTA (#358, #361), findutils (#347), fontconfig (#361), gawk (#347), gettext (#361), GLIMMER (#357, #361), libidn (#361), LibTIFF (#347), libungif (#347), make (#355), MUSCLE (#339), Oases (#354), pixman (#361), PLINK (#352), RCS (#347), SQLite (#347)
        • added additional easyconfigs for various software packages:
          • ant, Bash, Bison, bzip2, cURL, expat, GCC, EasyBuild, freetype, FFTW, GDB, git, HMMER, JUnit, libreadline, libpng, libtool, libxml2, libxslt, M4, makedepend, Mothur, MVAPICH2, Mercurial, ncurses, OpenBLAS, Python, ScaLAPACK, Tcl, tcsh, TopHat, Trinity, Valgrind, Velvet, VTune, zlib (see #169, #297, #298, #301, #309, #323, #331, #332, #341, #347, #349, #351, #355, #361)
        • various enhancements, including:
          • added easyconfigs for ictce/5.4.0, ictce/5.5.0 and gmvolf/1.7.12 toolchain modules (#297, #332, #349)
          • added a template sanity_check_paths as 'MUST' in TEMPLATE.eb (#329)
          • introduced biodeps 'toolchain' to ease keeping common dependencies for bio* software in sync (#309)
          • added collection of easyconfigs for ictce/5.3.0 (#309, #323)
            • bam2fastq, bbFTP, BLAST, Boost, DL_POLY Classic, EMBOSS, FFTW, libharu, libxml2, libxslt, libyaml, lxml, Mercurial, Mothur, mpi4py, ncurses, ns, orthomcl, otcl, PAML, Perl, PyYAML, pandas, problog, scikit-learn, TiCCutils, TiMBL, TinySVM, TopHat, tclcl, YamCha
          • added missing dependencies for various software packages (#323, #328, #348, #361)
          • style fixes in various easyconfigs (#309, #323, #345, #349, #355, #361)
        • various 'bug' fixes, including:
          • added pic toolchain option for Perl goolf easyconfig (#299)
          • fixed source URLs for R (use correct template %(version_major)s) (#302)
          • synced libreadline easyconfigs w.r.t. ncurses dependency (#303)
          • make sure EasyBuild configuration is initialized when running unit tests (#334)
          • specify lowopt (-O1) optimization level for OpenIFS, to avoid floating-point related issues (#328)
          • fix naming of 'beagle-lib' (used to be 'BEAGLE'), to avoid name clashes with other software package(s) (#346)
        ","boost":0.5},{"location":"release-notes/#easybuild-v150-june-1st-2013","title":"EasyBuild v1.5.0 (June 1st 2013)","text":"

        feature + bugfix release

        framework

        • various enhancements, including:
          • define SHLIB_EXT constant for shared library extension (.so, .dylib), deprecate shared_lib_ext global var (#630)
          • enhance support for sanity checking extensions (#632, #649)
          • add support for modextrapaths easyconfig parameter (#634, #637)
          • allow source_urls to be templated for extensions (#639, #646, #647)
          • set OMPI_* environment variables for OpenMPI (#640)
          • make BLACS optional as toolchain element, depending on ScaLAPACK version (#638)
        • various bug fixes, including:
          • fixed --list-toolchains, avoid listing toolchains multiple times (#628)
          • fix templating dictionary after parsing easyconfig file (#633)
          • fix support for ACML as compiler toolchain element (#632)
          • make unit tests clean up after themselves more thoroughly (#641, #642, #643)

        easyblocks

        • added one new generic easyblock: MakeCp (#208)
        • added support for 5 new software packages that require customized support:
          • CBLAS (#192), FreeSurfer (#194), Mothur (#206), OpenIFS (#200), PSI (#191)
        • various enhancements, including:
          • add support for building ScaLAPACK 2.x on top of QLogic MPI (#195)
          • support newer BWA versions (#199)
          • explicitly list license server type in ABAQUS install options, required for correct installation of v6.12 (#198)
          • update SCOTCH and OpenFOAM easyblock for recent versions (#201)
        • various bug fixes:
          • fix numpy easyblock to get an optimal build (w.r.t. numpy.dot performance) (#192)
          • correct build procedure for MUMmer to yield a complete installation (#196, #197)
          • make unit tests clean up after themselves more thoroughly (#203, #204)
          • fix getting Perl version for extensions (#205)

        easyconfigs

        • added example easyconfig files for 23 new software packages:
          • bam2fastq (#287), CBLAS (#263), EMBOSS (#265, #290), FCM (#272), FRC_align (#273), freeglut (#271), FreeSurfer (#271), FSL (#271), GATK (#287), libharu (#290), libxslt (#235), MariaDB (#292), Mothur (#265) mpi4py (#276), OpenIFS (#272), orthomcl (#265), PAML (#287), pandas (#262), phonopy (#235), problog (#277), PSI (#258), PyYAML (#235), RAxML (#277)
        • added additional example easyconfig files for:
          • ABINIT (#235), ACML (#267), BLAST (#275), Boost (#273), BWA (#270), bzip2 (#263), Chapel (#240), CMake (#290), FFTW2 (#247, #267), flex (#267), freetype (#235), grib_api (#272), gzip (#265), Java (#279), libpng (#240, #279), libreadline (#267), libxml2 (#235), libxml (#235), matplotlib (#235), MCL (#265), MUMmer (#265), ncurses (#267), numpy (#267), OpenFOAM (#267), Perl (#265), Python (#276, #263), R (#240, #279), SCOTCH (#267), ScaLAPACK (#267), TopHat (#289), Valgrind (#255), zlib (#267)
        • various enhancements, including:
          • enhance unit test suite, include testing for module conflicts (#256) and presence of patch files (#264)
          • use provided constants and templates in easyconfig files where appropriate (#248, #266, #281)
        • various 'bug' fixes, including:
          • get rid of hardcoded license_file paths for VTune, Inspector (#253)
          • assign proper moduleclass where they were missing (#278)
          • fix naming for LZO (#280)
          • make unit tests clean up after themselves more thoroughly (#283, #284, #285, #286)
          • fix TopHat dependencies (#289)
          • fix source URLs for XML (#279)
          • fix versions for all listed R extensions (#279)
          • fix CUDA easyconfig file for use on Debian Squeeze (#291)
          • correct easyconfig filename and module name mismatches (bbcp, DL_POLY Classic, ...) (#295)
        ","boost":0.5},{"location":"release-notes/#easybuild-v140-may-2nd-2013","title":"EasyBuild v1.4.0 (May 2nd 2013)","text":"

        feature + bugfix release

        framework

        • the unit tests for easybuild-framework were moved to test/framework, to make things consistent with easybuild-easyblocks and easybuild-easyconfigs (#611, #613, #624)
          • running the framework unit tests should now be using python -m test.framework.suite
        • various other enhancements, including:
          • extend unit test suite (#593, #599, #603, #618, #620, #622, #624, ...)
          • extended list of constants and templates that can be used in easyconfig files (#566)
          • add support for additional compiler toolchains
            • CUDA-enabled toolchain: goolfc (#603, #624)
            • Clang(+GCC)-based toolchains: cgoolf, cgmpolf, cgmvolf (#593, #598, #600)
            • gmvolf (GCC+MVAPICH2+...) (#585)
          • properly decode easyblock to module name using decode_* functions (#618)
        • various bug fixes, including:
          • fixed default value for --stop (#601)
          • remove useless sleep() calls in run_cmd, run_cmd_qa (#599)
          • determine module path based on class name, not software name (#606)
          • remove unwanted characters in build dirs (#591, #607)
          • ignore some error codes spit out by modulecmd that are actually warnings (#609)
          • fix agithub.py w.r.t. changes in GitHub API (user-agent string is now obligatory for non-authenticated connections) (#617)
          • fix typo breaking the adjust_cmd decorator on SuSE (#615)
          • fix prepending paths with absolute paths in module file (#621)
          • clean up open file handles properly (#620, #624)
          • fix --search help and implementation (#622)

        easyblocks

        • added a unit test suite for easyblocks (#175, #177, #178)
          • every easyblock is parsed and instantiated as a sanity check
        • added one new generic easyblock: PerlModule (#183)
        • added support for 8 new software packages that require customized support:
          • ABAQUS (#179), Bowtie (#174, #185, #186), Clang (#151), DL_POLY Classic (#118), ESMF (#171), Perl (#183), Intel VTune and Intel Inspector (#180)
        • the CMakeMake.configure_step parameter builddir was renamed to srcdir, because the name builddir is incorrect (#151)
          • builddir will remain supported for legacy purposes up until v2.0
        • various enhancements, including:
          • reverted back to hardcoding Python library path, since it's hardcoded by setuptools too (#184)
          • added MPICH support in ScaLAPACK easyblock (#172)
          • enhanced NCL easyblock: add support UDUNITS and ESMF dependencies (#171)
          • enhanced MATLAB easyblock: avoid hardcoding Java options, make sure $DISPLAY is unset, extend list of sanity check paths (#181)
          • enhanced TotalView easyblock: add support for license file (#146)

        easyconfigs

        • added a unit test suite for easyconfigs (#228, #230)
        • added example easyconfig files for 20 new software packages:
          • ABAQUS (#231), BioPerl (#242), Bowtie (#227), Clang (#177), CRF++ (#131), DL_POLY Classic (#132), ESMF, GROMACS (#165), HH-suite (#219), Inspector (#232), likwid (#131), Perl (#242), scikit (#133), TiCCutils (#131), TiMBL (#131), TinySVM (#131), UDUNITS (#167), VTune (#232), YamCha (#131)
        • add example easyconfigs for new compiler toolchains (use eb --list-toolchains for a full list of supported toolchains):
          • the newly added toolchains only differ in compilers/MPI library, and all feature OpenBLAS, LAPACK, ScaLAPACK and FFTW
          • goolfc: GCC, CUDA (co-compiler), OpenMPI (#191)
            • a goolfc easyconfig for GROMACS is included as proof-of-concept (#165)
          • cgmpolf: Clang (C/C++ compilers), GCC (Fortran compilers), MPICH (#213)
          • cgmvolf: Clang, GCC, MVAPICH2 (#218)
          • cgoolf: Clang, GCC, OpenMPI (#213)
          • gmvolf: GCC, MVAPICH (#202, #222)
        • ported already available easyconfigs to new compiler toolchains:
          • ictce-5.3.0: 193 easyconfigs (#229)
          • cgmpolf: 11 easyconfigs (#213)
          • cgmvolf: 11 easyconfigs (#218)
          • cgoolf: 12 easyconfigs (#213)
          • gmvolf: 10 easyconfigs (#215)
        • added additional example easyconfig files for:
          • CMake (#163), git (#210), Java (#206), #221, Mercurial (#201, #215), ncurses (#225), TotalView (#160)
        • various enhancements, including:
          • added ESMF and UDUNITS dependencies to NCL easyconfigs (#211)
          • changed value of source_urls in R easyconfigs, to be generic enough for version 3.0 and possibly beyond (#251)
        • various 'bug' fixes, including:
          • add --enable-mpirun-prefix-by-default configure option for all OpenMPI easyconfigs (#205)
        ","boost":0.5},{"location":"release-notes/#easybuild-v130-april-1st-2013","title":"EasyBuild v1.3.0 (April 1st 2013)","text":"

        feature + bugfix release

        framework

        • added script to bootstrap EasyBuild with EasyBuild, see https://github.com/easybuilders/easybuild/wiki/Bootstrapping-EasyBuild (#531)
        • reorganize framework/easyconfig.py module into framework/easyconfig package with modules (#574, #580)
        • support EasyBuild configuration via command line, environment variables and configuration files (#529, #552, #556, #558, #559)
        • various other enhancements, including:
          • extended set of unit tests for eb command line options and EasyBuild configuration (#517, #556, #559, #571)
          • made --search also useful when easybuild-easyconfigs package is not installed (#524)
          • extended set of default module classes (#525)
          • add support for license easyconfig parameter (which will be mandatory in v2.x) (#526, #569)
          • added setup.cfg for setup.py to allow creating RPMs (#528)
          • added support for obtaining system information, see get_os_* functions in easybuild/tools/systemtools.py (#543, #546, #547)
          • added support for iterated builds that require cycling over multiple sets of configure/build/install options, e.g. FFTW (#549)
          • added support for OpenBLAS as toolchain lib for linear algebra (#537, #565)
          • added support for tweaking prefix and separator for library toolchain variables (LIB*) (#572, #576)
          • skip already built modules in regression testing mode, to ease regression testing (#582)
        • various bug fixes, including:
          • added zip_safe flag to setup.py, to silence multitude of warnings (#521)
          • only define LIBFFT for Intel MKL if FFTW interface libraries are available (#518, #567, #579)
          • set POSIX group early in build process, make EasyBuild aware of consistent chmod/chown failures (#527)
          • properly order the name/version keys for the toolchain easyconfig parameter when using --try-toolchain (#563)
          • take the skipsteps easyconfig parameter into account in regression testing mode as well (#583)

        easyblocks

        • added support for 2 new software packages that require customized support:
          • CUDA (#145), Ferret (#160, #163)
        • remove license easyconfig parameter from IntelBase, since it clashes with generic license parameter (#153, #158)
          • license_file should be used instead (see framework#569)
          • using license instead of license_file will be supported until v2.x for legacy purposes
        • various enhancements, including:
          • stop hardcoding Python site-packages library dir, obtain it via distutils.sysconfig instead (#141, #156, #159, #161)
          • stop hardcoding list of libraries for BLAS libs, ask toolchain modules or use $LIBBLAS instead (#150, #155)
          • enhanced CP2K easyblock, following Intel guidelines for ictce builds (#138)
          • added setup.cfg for setup.py to allow creating RPMs (#140)
          • clean up specifying BLAS/LAPACK libs for building numpy, check whether requires patch is being used for IMKL builds (#155, #161)
        • various bug fixes, including:
          • added zip_safe flag to setup.py, to silence multitude of warnings (#135)
          • install EasyBuild packages in reversed order to avoid funky setuptools issues (#139)
          • fixed a typo in the ScaLAPACK easyblock, and set CCFLAGS and FCFLAGS for v2.x (#149, #162)
          • fix sanity check for python-meep (#159)
          • exclude Python tests from DOLFIN sanity check, since they hang sometimes (#161)
          • add support in ALADIN easyblock for answering question on location of libgrib_api.a (#165)

        easyconfigs

        • added example easyconfig files for 13 new software packages:
          • Bash, CUDA, ccache, Ferret, gzip, libxc, ns, numactl, OpenBLAS, otcl, Tar, tclcl, tcsh
          • several of these easyconfig files were contributed by attendees of the EasyBuild hackathon in Cyprus!
        • added example easyconfigs for goolf toolchain (#158)
        • added example easyconfigs for builds with goolf toolchain, i.e. for all goalf easyconfigs (#189)
          • for several software packages, a patch file was needed to get them to build with GCC 4.7:
            • AMOS, BEAGLE, Cufflinks, DOLFIN, GATE, ns, Pasha, Trilinos, Trinity
          • for PETSc, a patch file was required to make it build with a toolchain that doesn't include BLACS
        • added additional example easyconfig files for:
          • gompi, hwloc, LAPACK, MVAPICH2, OpenMPI, ScaLAPACK
        • various enhancements, including:
          • define a proper module class in all easyconfigs, cfr. default module classes defined in framework (#150, #159, #161, #162, #179, #181)
          • extend FFTW easyconfig to 'fat' builds that include single, double, long double and quad precision libraries in the same module
            • quad precision is disabled for Intel compiler based builds (it requires GCC v4.6+)
          • the imkl easyconfigs used for the ictce 3.2.2.u3 toolchain now also enable FFTW interfaces
        • various 'bug' fixes, including:
          • fix filename for Mercurial and ROOT easyconfig files
          • fix homepage/description for Hypre
          • fix enabling OpenMP support in OpenMPI: use --enable-openmp, not --with-openmp
          • use correct configure flag for enabling OpenMPI threading support in v1.6 (#186)
            • --enable-mpi-thread-multiple instead of --enable-mpi-threads
          • explicitly add --without-openib --without-udapl configure options in OpenMPI easyconfig using versionsuffix -no-OFED (#168)
            • this avoids that OpenMPI auto-detects that it can enable Infiniband (OpenIB) support, which doesn't fit the -no-OFED versionsuffix
            • Note: this makes goalf-1.1.0-no-OFED effectively not suitable to produce software builds that are IB-capable!
          • remove explicit --with-udapl from OpenMPI easyconfigs, does more harm than good (#178)
          • remove libibvers, libibmad, libibumad as explicit dependencies for OpenMPI/MVAPICH2 (#173, #182)
            • leave it up to the OS to provide these, since the required version is too much tied to the version of IB drivers
          • use license_file in Intel tools easyconfigs, as opposed to the new generic license parameter with a different meaning (#180)
          • modify patch for impi to avoid installation problems due to hardcoded path in /tmp (#185)
            • now uses $USER-$RANDOM subdir to avoid clashes between different users on the same system
          • the patch file for numpy was extended to also supporting ATLAS and other BLAS libraries spread across multiple directories
            • the extension for ATLAS is required because we now no longer rely on the automatic numpy mechanism to find the ATLAS libs
          • fixed dependencies:
            • libibumad as dependency for libibmad
            • ncurses as dependency for libreadline
            • ncurses and zlib as dependency for SAMtools (+ enhanced patch)
            • remove explicit FFTW dependency for Meep, ... since toolchain already provided FFTW
        ","boost":0.5},{"location":"release-notes/#easybuild-v120-february-28th-2013","title":"EasyBuild v1.2.0 (February 28th 2013)","text":"

        feature + bugfix release

        framework

        • new backend module for option parsing: generaloption
        • support for using constants and string templates in easyconfig files
          • currently disabled for exts_filter and exts_list easyconfig parameters, for backward compatibility
        • various other enhancements, including:
          • support for iqacml and iiqmpi toolchains (Intel compilers + QLogic MPI based)
          • clearer errors messages when sanity check failed
          • unit tests for (about half of) the eb command line options
          • support for specifying build/install steps to skip in easyconfig file (skipsteps)
          • support for allowing certain dependencies to be resolved by the system instead of modules (allow_system_deps)
          • cache ppn value required by regtest, clean up temporary files let behind by --regtest/--job
          • make sure MPD is used as process manager for Intel MPI (required for impi v4.1 and later)
          • rename template names name and version used in exts_filter to ext_name, ext_version
            • name and version are still supported for legacy reasons
          • cleaned up module docstrings w.r.t. list of authors
        • various bug fixes, including:
          • print correct (lowercase) toolchain names with --list-toolchains
          • correct easyconfig parameter name license_server_port
          • fix string quoting in develop modules
          • ensure modulecmd is run with original $LD_LIBRARY_PATH value
            • to avoid breaking modulecmd, see https://bugzilla.redhat.com/show_bug.cgi?id=719785
          • remove use of hardcoded files/dirs in unit tests
          • fix various inconsistencies w.r.t. paths considered with --robot
          • various cleanup and fixes w.r.t. logging
            • use correct logger instance in main script
            • stop passing logger instances around
            • make module logging variables private
          • get rid of ModuleGenerator deconstructor, clean up via EasyBlock.clean_up_fake_module
          • fix disabling of optarch toolchain option (and extend unit tests to check on this)

        easyblocks

        • added one new generic easyblock: Rpm
        • added support for 6 new software packages that require customized support:
          • EasyBuild, EPD (Enthought Python Distribution), freetype, MATLAB, QLogic MPI (RPM), TotalView
          • support for installing EasyBuild with EasyBuild enables bootstrapping an EasyBuild installation!
        • various enhancements, including:
          • corrections in WRF/WPS to also enable building with iqacml toolchain
            • use mpi_cmd_for instead of hardcoding test commands, using correct Fortran compilers (F90)
          • fix NCL easyblock to also support v6.1.x
            • use correct Fortran compiler (F90), set correct lib/include paths for dependencies (netCDF-Fortran, GDAL)
          • cleanup sweep of license headers and authors list in easyblock module docstrings
          • use new ext_name template name in exts_filter in Python and R easyblocks
        • various bug fixes, including:
          • general code cleanup
            • don't set sanityCheckOK in Toolchain easyblock
            • get rid of using os.putenv
          • NEURON easyblock: don't hardcode number of processes used in test cases
          • make sure easybuild.easyblocks.generic namespace is extendable

        easyconfigs

        • added example easyconfig files for 41 new software packages:
          • a2ps, AnalyzeFMRI, aria, bbcp, bbFTP, bbftpPRO, binutils, Bonnie++, ccache, cflow, cgdb, Corkscrew, EasyBuild, Elinks, EPD, FLUENT, fmri, GDB, GDAL, gnuplot, gnutls, gperf, Iperf, lftp, libyaml, lzo, MATLAB, mc, nano, NASM, nettle, numexpr, parallel, pyTables, QLogic MPI, Stow, TotalView, Valgrind, VTK, Yasm, zsync
        • added example easyconfigs for iqacml and iiqmpi toolchains
        • added additional example easyconfig files for:
          • ABINIT, ABySS, ACML, BFAST, Bison, BLACS, Cython, cURL, Doxygen, FFTW, flex, g2clib, g2lib, GHC, h5py, HDF, HDF5, HMMER, JasPer, icc, ictce, ifort, imkl, impi, libpng, libreadline, M4, matplotlib, MCL, MEME, mpiBLAST, NCL, ncurses, netCDF, netCDF-Fortran, NWChem, R, ScaLAPACK, Tcl, Tk, WPS, WRF, zlib
        • various enhancements, including:
          • fix version of xtable R library in list of extensions for R, to avoid installation failures
        • various 'bug' fixes, including:
          • fix toolchain and file names for ABINIT easyconfigs
          • fix sanity check paths for cURL
          • don't disable optarch for WRF, it's not needed (only disable heavy optimizations is required)
          • fix homepage/description for ALADIN
        ","boost":0.5},{"location":"release-notes/#easybuild-v110-january-27th-2013","title":"EasyBuild v1.1.0 (January 27th 2013)","text":"

        feature + bugfix release

        framework

        • improvements w.r.t. support for software extensions (tested on Python and R, see easyblocks package)
          • cleaned up support for building/installing extensions
          • define ExtensionEasyblock class that implements support for installing extensions as stand-alone module as well
          • return to build dir before building/installing each extension
          • define EBEXTSLIST<NAME> environment variable in module if exts_list was defined
          • make sure sanity check for extensions results in an error if it fails
        • various enhancements, including:
          • log both framework and easyblocks versions
          • add support for gimkl, gmacml, iccifort, iomkl and ismkl toolchains
          • define *_SEQ compiler variables for sequential compilers
          • add --list-toolchains command line option for listing supported toolchains
          • add support for customizing software and modules install path suffixes
          • support both setuptools and distutils installation methods for finding installed easyconfigs
          • also consider robot path in list of paths searched for patch files
          • allow skipping of default extension sanity check (by setting modulename to False in options)
        • various bug fixes, including:
          • typos in toolchain Python modules w.r.t. imkl support, handling of i8/optarch/unroll options
          • purge before loading 'fake' module, unload 'fake' module before removing it, use original $MODULEPATH
          • restore environment after unloading fake module, set variables that were incorrectly unset, i.e., that were defined before as well
          • unset $TMPDIR for builds submitted as jobs (required by IntelBase easyblock)
          • correctly track easyconfig parse error
          • always run all jobs in regtest, also if dependency jobs failed
          • cosmetic adjustments to default EasyBuild configuration file to avoid confusion between e.g. build_dir and build_path (only latter matters)
          • fix SuSe hack, only prefix command with sourcing of /etc/profile.d/modules.sh if it is there
          • leave build directory before it is removed during cleanup step
          • load generated module file before running test cases

        easyblocks

        • added 3 new generic easyblocks: CMakePythonPackage, JAR, RPackage
        • added support for 23 new software packages that require customized support:
          • ACML, ALADIN, ant, Bioconductor (R packages), Chapel, Cufflinks, ESPResSo, FLUENT, Geant4, GHC, Java, NEURON, NWChem, PyZMQ, QuantumESPRESSO, R, Rmpi, ROOT, Rserve, SCOOP, Trinity, VSC-tools, XML
        • various enhancements, including:
          • clean up of python.py easyblock:
            • merge EB_DefaultPythonPackage and PythonPackage easyblocks into generic easyblock PythonPackage, which derives from ExtensionEasyblock
            • move EB_FortranPythonPackage into dedicated generic FortranPythonPackage easyblock module
            • split off support for building/installing nose, numpy, scipy into dedicated EB_* easyblock modules, which allows them to be built as stand-alone modules as well
          • clean up testing of Python packages (PythonPackage easyblock)
          • make sure there is no site.cfg in home dir when building Python packages, because e.g. scipy will pick it up
          • added support for building Intel MKL wrappers with OpenMPI toolchain
          • cleaning up of fake module that was loaded for running tests
          • move calls to functions that rely on environment up in the chain of steps (mostly for cleanup reasons)
          • use better module name for UFC sanity check, minor change to sanity check paths for UFC
        • various bug fixes, including:
          • only call make ptcheck for ATLAS when multi-threading support is enabled
          • use a symbolic link for $HOME/intel instead of a randomly suffixed subdirectory in home and patching of Intel install scripts
            • latter does not work anymore with recent versions of Intel tools (2013.x)

        easyconfigs

        • added example easyconfig files for 48 new software packages:
          • ABINIT, ABySS, ACML, ALADIN, ant, BFAST, BLAST, Chapel, CLHEP, Cufflinks, ESPRresSo, GATE, GHC, Geant4, Greenlet, google-sparsehash, grib_api, HMMER, Java, JUnit, libibmad, libibumad, libibverbs, MCL, MDP, MEME, mpiBLAST, NCBI Toolkit, NEURON, NWChem, numpy, MDP, Oger, OpenPGM, paycheck, PyZMQ, QuantumESPRESSO, R, ROOT, SCOOP, scipy, Tophat, Trinity, util-linux, VSC-tools, wiki2beamer, XML, ZeroMQ
        • added example easyconfigs for gmacml, gmvapich2, iccifort, ictce, iomkl toolchains
        • added additional example easyconfig files for:
          • ATLAS, BLACS, Boost, Bowtie2, bzip2, CP2K, Doxygen, FFTW, GCC, HDF5, hwloc, icc, ifort, imkl, impi, JasPer, Libint, libreadline, libsmm, libxml, ncurses, netCDF, M4, Meep, MVAPICH2, OpenMPI, Python, ScaLAPACK, Szip, zlib
        • various enhancements, including:
          • major style cleanup of all example easyconfig file (PEP008 compliance)
          • added setuptools to list of Python extensions
          • get rid of parallel versionsuffix for HDF5, as its meaningless (MPI-enabled build is always parallel)
        • various 'bug' fixes, i.e. added missing dependencies or replaced OS dependencies with proper dependencies
        ","boost":0.5},{"location":"release-notes/#easybuild-v102-december-8th-2012","title":"EasyBuild v1.0.2 (December 8th 2012)","text":"

        bugfix release

        framework

        • properly catch failing sanity check commands
        • fix bug in toolchain support which cause linking environment variables set by toolchain to include too many libraries
          • elements in toolchain variables were being passed by reference instead of by value
        • fix selecting a compiler toolchain for a specified software package (--software-name) if only a template is a viable option
        • fix passing command line parameters with --job
        • fix list of valid stops (-s/--stop)
        • fix minor issues in help messages (-h/--help)

        easyblocks

        • fix typos in WIEN2k easyblock (missing commas after list elements)

        easyconfigs

        • fixed source URL for ligtextutils (toolchain refactoring error)
        ","boost":0.5},{"location":"release-notes/#easybuild-v101-november-24th-2012","title":"EasyBuild v1.0.1 (November 24th 2012)","text":"

        bugfix release

        framework

        • fix support for installing with distutils (broken import in setup.py)
        • fix support for ACML as a toolchain element (toolchains/linalg/acml.py)
        • add name to aggregated regtest XML so that is parsed correctly by Jenkins
        • reorder code in main.py so that regtest also works with incomplete easyconfig paths
        • add bash script for running regression test and sending a trigger to Jenkins to pull in the XML with results
        • get rid of assumption that loaded modules should have name like foo/bar, make it more flexible
        • retry failed builds in regtest twice to ignore fluke errors
        • report leaf nodes in dependency graph when regtest is submitted
          • this is required for setting job dependencies in the regtest script for the Jenkins trigger job
        • implement and use rmtree2 as more (NFS) robust replacement for shutil.rmtree
        • bump max hit count for run_cmd_qa from 20 to 50, to make false positives of unasnwered questions less likely

        easyblocks

        • fix support for installing with distutils (broken import in setup.py)
        • only build GMP/CLooG/PPL libraries during GCC build in parallel, don't install in parallel
          • make -j N install doesn't work consistently for GMP
        • fix GCC build on OS X
          • location of libraries is slightly different (lib vs lib64 dir)
        • add support to ConfigureMake easyblock for pre-passing tar options to configure
          • see tar_config_opts easyconfig parameter
          • workaround for issue with pax hanging configure with an interactive prompt
        • enhance Q&A for WRF and WIEN2k by adding entries to qa dict and no_qa list
        • use rmtree2 from tools/filetools.py as more (NFS) robust replacement for shutil.rmtree

        easyconfigs

        • remove patch file for OpenMPI to resolve issue with pax hanging configure
          • tar_config_opts should be enabled as needed
        • disable parallel build for PAPI, seems to be causing problems
        ","boost":0.5},{"location":"release-notes/#easybuild-v10-november-13th-2012","title":"EasyBuild v1.0 (November 13th 2012)","text":"
        • split up EasyBuild across three repositories: framework, easyblocks and easyconfigs
        • packaged EasyBuild, different parts can now be installed easily using easy_install

        framework

        • various changes to both internal and external API:
          • renamed main script to main.py (from build.py)
          • file and directory organisation
          • module, class, function and function argument renaming and reorganisation
          • split up Application into EasyBlock and ConfigureMake (see easybuild-easyblocks for the latter)
          • created EasyConfig class for handling easyconfig files
          • renaming of EasyBuild configuration parameters (non-camelCase)
          • renaming of various easyconfig parameters (non-camelCase)
          • rename SOFTROOT and SOFTVERSION environment variables set in generated module files to EBROOT and EBVERSION
          • use 'extension' as generic terminology for Python packages, R libraries, Perl modules, ...
        • added support for building software packages in parallel via PBS jobs
        • added unit testing framework and initial set of unit tests for basic functionality
          • and run them in Jenkins continuous integration service, see https://jenkins1.ugent.be/view/EasyBuild/
        • implement single-command regression test (e.g. to test building all supported software)
          • eb --regtest --robot
        • switch to new style Python classes
        • replaced toolkit module with toolchain package (total rewrite), providing modular support for toolchains
        • adjust default EasyBuild configuration to only use $HOME/.local/easybuild by default
        • added support for running EasyBuild without supplying an easyconfig file
          • make EasyBuild search for a matching easyconfig file
          • support automatic rewriting of an existing partially-matching easyconfig file (use this with care!)
          • support for automatically generating an easyconfig file according to given specifications (best effort!)
        • add support for looking for easyconfig file in Python search path if it can't be found on specified (relative) path (that way, easyconfig files available in the easybuild-easyconfigs package can be used easily)
        • various other enhancements and bug fixes, e.g.:
          • extended sanity check capabilities
          • cleaned up logging
          • creating of devel module which allows to mimic environment that was used by EasyBuild to build the software
          • support for creating dependency graphs for a set of easyconfig files
          • grouped options in help output and categorised available easyconfig parameters
          • more consistent code style

        easyblocks

        • implement class name encoding scheme, see wiki https://github.com/easybuilders/easybuild/wiki/Encode-class-names
          • (non-generic) easyblock class names are now prefixed with EB_ and non-alphanumeric characters are escaped
        • split off generic easyblocks into separate package easyblocks.generic
        • added custom support for 39 software packages:
          • Armadillo, BiSearch, Boost, Bowtie2, BWA, bzip2, CGAL, CPLEX, DOLFIN, Eigen, flex, FSL, Hypre, libxml2, MetaVelvet, METIS, MTL4, MUMmer, ncurses, OpenFOAM, OpenSSL, ParMETIS, Pasha, PETSc, Primer3, python-meep, SAMtools, SCOTCH, SHRiMP, SLEPc, SOAPdenovo, SuiteSparse, SWIG, Tornado, Trilinos, UFC, Velvet, WIEN2k, XCrySDen
        • various enhancements and bug fixes to existing easyblocks

        easyconfigs

        • added example easyconfig files for 106 new software packages:
          • AMOS, Armadillo, ASE, Autoconf, BiSearch, Boost, Bowtie2, BWA, byacc, bzip2, CGAL, ClustalW2, CMake, CPLEX, cURL, CVXOPT, Cython, Docutils, DOLFIN, ECore, Eigen, expat, FASTX-Toolkit, FFC, FIAT, freetype, FSL, GEOS, git, glproto, GMP, gmvapich2, gompi, GPAW, GSL, guile, h5py, h5utils, Harminv, hwloc, Hypre, Infernal, Instant, Jinja2, libctl, libdrm, libffi, libgtextutils, libmatheval, libpciaccess, libpthread-stubs, libreadline, libtool, libunistring, libxcb, libxml2, makedepend, matplotlib, Meep, Mercurial, Mesa, MetaVelvet, METIS, MPFR, MTL4, MUMmer, ncurses, OpenFOAM, OpenSSL, ORCA, PAPI, ParMETIS, Pasha, PCRE, PETSc, petsc4py, pkg-config, Primer3, python-meep, RNAz, SAMtools, ScientificPython, SCOTCH, setuptools, Shapely, SHRiMP, SLEPc, SOAPdenovo, Sphinx, SuiteSparse, SWIG, Tcl, Theano, Tk, Tornado, Trilinos, UFC, UFL, Velvet, ViennaRNA, Viper, WIEN2k, xcb-proto, XCrySDen, xorg-macros, xproto
        • added additional example easyconfig files (versions, builds) for several software packages
          • Bison, BLACS, Doxygen, flex, GCC, HDF5, icc, ifort, libpng, M4, MVAPICH2, OpenMPI, Szip, tbb, zlib
        • replaced GCC/OpenMPI based easyconfig files with equivalents using the gompi toolchain
          • ATLAS, BLACS, FFTW, LAPACK, ScaLAPACK
        • enhanced Python example easyconfig files (more dependencies required for features, e.g. libreadline, bzip2, zlib, ...)
        • corrected file name of easyconfig files to adher to standard as followed by EasyBuild robot dependency resolver
        • style cleanup in existing easyconfig files
        ","boost":0.5},{"location":"release-notes/#easybuild-v08-june-29th-2012","title":"EasyBuild v0.8 (June 29th 2012)","text":"
        • added support for building/installing 17 additional software packages:
          • BEAGLE, Doxygen, g2clib, g2lib, HDF, HDF5, JasPer, libpng, Maple, MrBayes, NCL, netCDF, netCDF-Fortran, Szip, WPS, WRF, zlib
        • the build procedure for WRF and WPS includes running the tests available for these packages
        • various bug fixes and enhancements:
          • made support for interactive installers (run_cmd_qa) more robust
          • fixed Python git package check
          • implemented toolkit functions for determine compiler family, MPI type, MPI run command, ...
        ","boost":0.5},{"location":"release-notes/#easybuild-v07-june-18th-2012","title":"EasyBuild v0.7 (June 18th 2012)","text":"
        • fixed BLACS build
          • diagnostic tools to determine INTERFACE and TRANSCOMM values are now used
        • added support for building Bison, CP2K, flex
          • with regression test enabled for CP2K as part of build process
          • note: BLACS built with EasyBuild prior to v0.7 needs to be rebuilt for CP2K to work correctly
        • added --enable-mpi-threads to OpenMPI example easyconfigs
          • required for correct CP2K psmp build
        • adjusted libsmm example easyconfig for lower build time
          • to make the full regression test finish in a reasonable amount of time
        • added script to make porting of easyblocks from old to new EasyBuild codebase easier
          • takes care of refactoring, checks for PyLint warnings/errors, ...
        • fixed several small bugs
        • prefixed EasyBuild messages with ==
        • full regression test passed (58 easyconfigs tested)
        ","boost":0.5},{"location":"release-notes/#easybuild-v06-may-11th-2012","title":"EasyBuild v0.6 (May 11th 2012)","text":"
        • added support for Intel compiler toolkit (ictce)
          • which included the Intel compilers, Intel Math Kernel Library (imkl) and Intel MPI library (impi)
        • added support for building Python with nose/numpy/scipy packages
        • added simple regression test
        • this version is able to build all supplied example easyconfigs
        ","boost":0.5},{"location":"release-notes/#easybuild-v05-april-6th-2012","title":"EasyBuild v0.5 (April 6th 2012)","text":"
        • first public release of EasyBuild
          • after a thorough cleanup of the EasyBuild framework of the in-house version
        • supports building HPL with goalf compiler toolkit
          • the goalf toolkit consists of the GCC compilers, and the OpenMPI, ATLAS, LAPACK, FFTW and ScaLAPACK libraries
        • also support build and installation of MVAPICH2
        ","boost":0.5},{"location":"removed-functionality/","title":"Removed functionality","text":"

        Some of the functionality that was available in previous EasyBuild versions is now removed, after it was deprecated first in an earlier EasyBuild version (see Deprecation policy).

        "},{"location":"removed-functionality/#overview_removed_40","title":"Overview of removed functionality since EasyBuild v4.0","text":"

        In EasyBuild v4.0, some intrusive changes were made that break backward compatibility with earlier versions.

        Note

        In addition, please take into account the additional changes in EasyBuild v4.0, which are documented here.

        For authors of easyconfig files:

        • use_fma custom easyconfig parameter for FFTW
        • Specifying source files as 2-element tuples to provide a custom extraction command
        • use_easy_install and use_setup_py_develop custom easyconfig parameters for PythonPackage easyblock

        For developers of easyblocks:

        • copytree function
        • skip_symlinks named argument for adjust_permissions

        For EasyBuild framework developers:

        • default_fallback named argument for get_easyblock_class
        • add_dependencies method in Toolchain class
        "},{"location":"removed-functionality/#depr_fftw_use_fma4","title":"use_fma custom easyconfig parameter for FFTW","text":"
        • deprecated since: EasyBuild v3.2.0 (May 5th 2017)
        • removed in: EasyBuild v4.0
        • alternatives: use use_fma4 easyconfig parameter instead

        The use_fma easyconfig parameter is no longer supported, and was replaced by the equivalent easyconfig parameter use_fma4.

        use_fma was introduced in EasyBuild v3.1.0 allow configuring FFTW with --enable-avx-128-fma. Since it is only supported on systems with AMD processors that have the FMA4 feature, it was replaced by the more fittingly named use_fma4 parameter in EasyBuild v3.2.0.

        "},{"location":"removed-functionality/#depr_sources_2_element_tuple","title":"Specifying source files as 2-element tuples to provide a custom extraction command","text":"
        • deprecated since: EasyBuild v3.3.0 (June 22nd 2017)
        • removed in: EasyBuild v4.0
        • alternatives: use extract_cmd key in Python dictionary format instead

        Specyfing a custom extraction command for a particular source file by using a 2-element tuple in sources is no longer supported.

        Instead, a Python dictionary containing the filename and extract_cmd keys should be used instead, see Alternative formats for sources.

        So, this:

        # source file is actually a gzipped tarball (filename should be .tar.gz)\n# DEPRECATED FORMAT, don't use this anymore!\nsources = [('example.gz', \"tar xfvz %s\")]\n

        should be replaced with:

        sources = [{\n  'filename': 'example-%(version)s.gz',\n  'extract_cmd': \"tar xfvz %s\",  # source file is actually a gzipped tarball (filename should be .tar.gz)\n}]\n
        "},{"location":"removed-functionality/#depr_pythonpackage_use_easy_install_setup_py_develop","title":"use_easy_install and use_setup_py_develop custom easyconfig parameters for PythonPackage easyblock","text":"
        • deprecated since: EasyBuild v3.5.1 (Jan 17th 2018)
        • removed in: EasyBuild v4.0
        • alternatives: use install_target easyconfig parameter instead

        The custom easyconfig parameters use_easy_install and use_setup_py_develop for the PythonPackage easyblock are no longer supported. They are obsolete since the install_target custom easyconfig parameter was added in https://github.com/easybuilders/easybuild-easyblocks/pull/1341.

        Rather than using use_easy_install = True, you should now use install_target = 'easy_install' instead.

        Rather than using use_setup_py_develop = True, you should now use install_target = 'develop' instead.

        "},{"location":"removed-functionality/#depr_copytree_function","title":"copytree function","text":"
        • deprecated since: EasyBuild v3.2.0 (May 5th 2017)
        • removed in: EasyBuild v4.0
        • alternatives: use copy_dir instead

        The copytree function, which was a copy of the shutil.copytree function (introduced when Python 2.4 was still supported) is no longer supported. It has been replaced by the superior copy_dir function in the easybuild.tools.filetools module.

        copy_dir graciously handles any exceptions that occur, and is aware of the EasyBuild dry run mode.

        "},{"location":"removed-functionality/#depr_adjust_permissions_skip_symlinks","title":"skip_symlinks named argument for adjust_permissions","text":"
        • deprecated since: EasyBuild v3.8.0 (Nov 2018)
        • removed in: EasyBuild v4.0
        • alternatives: (none required)

        The skip_symlinks argument for the adjust_permissions function is no longer supported since adjust_permissions has been changed to always skip symbolic links (this was already the default behaviour); see also https://github.com/easybuilders/easybuild-framework/pull/2644 .

        "},{"location":"removed-functionality/#depr_get_easyblock_class_default_fallback","title":"default_fallback named argument for get_easyblock_class","text":"
        • deprecated since: EasyBuild v3.2.0 (May 5th 2017)
        • removed in: EasyBuild v4.0
        • alternatives: use error_on_missing_easyblock named parameter instead

        The get_easyblock_class implementation was cleaned up to remove the support for falling back to the generic ConfigureMake easyblock in EasyBuild v3.2.0 (see https://github.com/easybuilders/easybuild-framework/pull/2178), following the disabling of the Automagic fallback to ConfigureMake in EasyBuild v2.0.

        The default_fallback named argument for get_easyblock_class was replaced by error_on_missing_easyblock, to retain support for ignoring a missing matching easyblock rather than raising an error.

        "},{"location":"removed-functionality/#depr_toolchain_add_dependencies","title":"add_dependencies method in Toolchain class","text":"
        • deprecated since: EasyBuild v3.8.0
        • removed in: EasyBuild v4.0
        • alternatives: pass list of dependencies to deps named argument of prepare method instead

        The add_dependencies method in the Toolchain class is no longer supported, to provide more flexibility in the EasyBuild framework w.r.t. handling of dependencies (see https://github.com/easybuilders/easybuild-framework/pull/2674).

        Instead, the list of dependencies should be passed to the Toolchain.prepare method, via the deps named argument.

        "},{"location":"removed-functionality/#overview_removed_30","title":"Overview of removed functionality since EasyBuild v3.0","text":"

        In EasyBuild v3.0, some intrusive changes were made that break backward compatibility with earlier versions.

        For EasyBuild users & authors of easyconfig files:

        • Archived easyconfigs

        For developers of easyblocks:

        • error and exception log methods no longer raise an exception
        • get_blas_lib function provided by LAPACK easyblock has been removed
        • get_netcdf_module_set_cmds function provided by netCDF easyblock was removed

        For EasyBuild framework developers:

        • error and exception log methods no longer raise an exception
        "},{"location":"removed-functionality/#depr_error_reporting","title":"error and exception log methods no longer raise an exception","text":"
        • deprecated since: EasyBuild v2.1.0 (April'15)
        • removed in: EasyBuild v3.0
        • alternative(s): use raise EasyBuildError(...) instead

        The error() and exception() log methods defined by EasyBuild (in the easybuild.tools.build_log module) did not match the semantics of the standard Python log methods, in the sense that they used to also raise an exception next to logging messages.

        This caused problems when 3rd party libraries (e.g., gc3pie) were being used by EasyBuild, since they may be using these log methods without expecting an exception being raised.

        The custom definitions for the error() and exception() log methods was removed in EasyBuild v3.0.

        Hence, these log methods should no longer be used to report errors since they will not raise an exception anymore once. Note that this applies both to the EasyBuild framework and to (custom) easyblocks.

        To report errors, an EasyBuildError should be raised instead. For example:

        # make sure config.sh script is there\nif not os.path.exists(os.path.join(self.builddir, 'config.sh')):\n    raise EasyBuildError(\"config.sh script is missing in %s\", self.builddir)\n
        "},{"location":"removed-functionality/#depr_lapack_get_blas_lib","title":"get_blas_lib function provided by LAPACK easyblock has been removed","text":"
        • deprecated since: EasyBuild v1.3.0 (April'13); see https://github.com/easybuilders/easybuild-easyblocks/pull/150
        • removed in: EasyBuild v3.0
        • alternative(s): leverage modules from easybuild.toolchain.linalg

        The get_blas_lib function provided by the LAPACK easyblock was removed, mainly because it included a hardcoded list of BLAS libraries.

        It was replaced by 'inlining' similar code into the easyblocks that rely on it (e.g. ScaLAPACK, cfr. https://github.com/easybuilders/easybuild-easyblocks/pull/1014), which only refers to the BLAS libraries that are relevant in that context.

        "},{"location":"removed-functionality/#depr_get_netcdf_module_set_cmds","title":"get_netcdf_module_set_cmds function provided by netCDF easyblock was removed","text":"
        • deprecated since: EasyBuild v2.1.0 (April'15); see https://github.com/easybuilders/easybuild-easyblocks/pull/590
        • removed in: EasyBuild v3.0
        • alternative(s): rely on set_netcdf_env_vars and use self.module_generator.set_environment

        The get_netcdf_module_set_cmds function provided by the netCDF easyblock was removed, because it returned setenv statements to be included in module files that are only compatible with module files in Tcl syntax; i.e. it did not take into account the --module-syntax configuration option.

        The use of get_netcdf_module_set_cmds should be replaced by using set_netcdf_env_vars to define the NETCDF* environment variables, in combination with self.module_generator.set_environment to obtain setenv statements that are compatible with the module syntax (Tcl or Lua) being used.

        See for example the changes made to the WRF and WPS easyblocks in https://github.com/easybuilders/easybuild-easyblocks/commit/7a05cbd823769e343b951002b4735dc7632e19c0.

        "},{"location":"removed-functionality/#overview_removed_20","title":"Overview of removed functionality since EasyBuild v2.0","text":"

        In EasyBuild v2.0, some intrusive changes were made that break backward compatibility with earlier versions.

        For EasyBuild users:

        • Python version compatibility
        • EasyBuild configuration
        • $SOFTX environment variables in generated module files

        For authors of easyconfig files:

        • Automagic fallback to ConfigureMake
        • Easyconfig parameters
        • BEAGLE dependency in MrBayes easyblock replaced by beagle-lib

        For developers of easyblocks:

        • Easyblocks API (EasyBlock class from easybuild.framework.easyblock)
        • Renamed/relocated functions
        • Changes in (generic) easyblocks

        For EasyBuild framework developers:

        • easybuild.tools.modules Python module
        "},{"location":"removed-functionality/#depr_python_version_compatibility","title":"Python version compatibility","text":"

        Compatibility with Python 2.6 is removed.

        • deprecated since: EasyBuild v4.1.0 (Nov'19)
        • removed in: EasyBuild v4.4.0
        • alternative(s): upgrade to Python v2.7.x or v3.5+

        Support for running EasyBuild on top of Python 2.6 was removed in EasyBuild version 4.4.0.

        You should upgrade to a newer version of Python (see also Compatibility with Python 2 and Python 3).

        Compatibility with Python 2.4 is removed.

        • deprecated since: EasyBuild v1.14.0 (July'14)
        • removed in: EasyBuild v2.0
        • alternative(s): upgrade to Python v2.6.x or v2.7.x

        Ever since EasyBuild v1.0, the codebase has been Python 2.4 compatible. One reason for this is that EasyBuild was being used on a daily basis on Scientific Linux 5, in which the Python 2.4.x is the system default.

        Starting with EasyBuild v2.0 support for Python 2.4 is removed, and only ensure compatibility with Python 2.6.x or a more recent Python 2.x.

        This will enable us to gradually also make the codebase compatible with Python 3.x, which is difficult to do without removing support for Python 2.4.

        "},{"location":"removed-functionality/#depr_easybuild_configuration_eb1","title":"EasyBuild configuration","text":"

        Old-style EasyBuild configuration is removed.

        • deprecated since: EasyBuild v1.3.0 (Apr'13)
        • removed in: EasyBuild v2.0
        • alternatives: new-style configuration (see Configuring EasyBuild)

        Early versions of EasyBuild v1.x provided support for configuring EasyBuild via a Python module that was automagically executed when available.

        Since EasyBuild v1.3 a safer and more consistent way of configuring EasyBuild is supported, which aligns the EasyBuild command line options, $EASYBUILD_X environment variables and key-value style configuration files.

        More information about the new(er) and recommended configuration style is available Configuring EasyBuild.

        For detailed information with respect to porting from the old to the new configuration style, see Legacy configuration.

        "},{"location":"removed-functionality/#location-of-default-configuration-file","title":"Location of default configuration file","text":"

        The default configuration file location $HOME/.easybuild/config.cfg is no longer considered.

        • deprecated since: EasyBuild v1.11.0 (Feb'14)
        • removed in: EasyBuild v2.0
        • alternatives: $XDG_CONFIG_HOME/easybuild/config.cfg (equivalent to $HOME/.config/easybuild/config.cfg)

        The default path for the new-style configuration path is $XDG_CONFIG_HOME/easybuild/config.cfg (or $HOME/.config/easybuild/config.cfg if $XDG_CONFIG_HOME is not set), see List of used configuration files.

        The previous default path $HOME/.easybuild/config.cfg that was in place since EasyBuild v1.3.0 is no longer considered.

        "},{"location":"removed-functionality/#depr_ConfigureMake_fallback_eb1","title":"Automagic fallback to ConfigureMake","text":"

        The automagic fallback to the ConfigureMake easyblock is removed.

        • deprecated since: EasyBuild v1.16.0 (Dec'14)
        • removed in: EasyBuild v2.0
        • alternative(s): specify easyblock = 'ConfigureMake' in easyconfig file

        If the easyblock easyconfig was not specified, EasyBuild tries to find a matching easyblock based on the software name. In EasyBuild v1.x, the generic ConfigureMake easyblock was used if no matching easyblock could be found.

        This behavior is now removed; instead, easyconfigs that require using the ConfigureMake easyblock must include the following:

        easyblock = 'ConfigureMake'\n
        "},{"location":"removed-functionality/#depr_easyconfig_parameters_eb1","title":"Easyconfig parameters","text":"

        Some easyconfig parameters are removed.

        "},{"location":"removed-functionality/#depr_premakeopts_makeopts_eb1","title":"Options for build command","text":"

        The premakeopts and makeopts easyconfig parameters are removed.

        • deprecated since: EasyBuild v1.13.0 (May'14)
        • removed in: EasyBuild v2.0
        • alternative(s): use prebuildopts/buildopts instead

        For consistency in terminology, the premakeopts and makeopts generic easyconfig parameters are removed, in favor of their alternative parameters, prebuildopts and buildopts, resp.

        (see also Configure/build/install command options)

        Note

        Since EasyBuild v1.13.0, buildopts is automatically defined with the value of makeopts, unless buildopts was specified by itself. When both values are specified, buildopts takes precedence of makeopts (analogous for prebuildopts/premakeopts).

        "},{"location":"removed-functionality/#depr_shared_lib_ext_eb1","title":"Shared library extension","text":"

        The shared_lib_ext 'constant' in easyconfigs is no longer defined.

        • deprecated since: EasyBuild v1.5.0 (June'13)
        • removed in: EasyBuild v2.0
        • alternative(s): use SHLIB_EXT instead

        The shared_lib_ext \"magic\" variable representing the extension for shared libraries (.so on Linux, .dylib on OS X) is no longer defined; the easyconfig constant SHLIB_EXT should be using instead.

        "},{"location":"removed-functionality/#depr_license_eb1","title":"Software license","text":"

        The license easyconfig parameter is removed.

        • deprecated since: EasyBuild v1.11.0 (Feb'14)
        • removed in: EasyBuild v2.0
        • alternative(s): use license_file or software_license instead

        The license easyconfig parameter, which was specific to the IntelBase generic easyblock and thus relevant for Intel tools, is removed. The generic license_file easyconfig parameter should be used instead, to specify the location of the license file (or server).

        This change was made to avoid confusion with the software_license generic easyconfig parameter, which can be used to specify the license under which the software was released (e.g., GPLv2, BSD, etc.). Here, the specified value must be a known license type (see eb --avail-easyconfig-licenses).

        Note

        The software_license easyconfig parameter will become mandatory at some point.

        "},{"location":"removed-functionality/#depr_mrbayes_beagle_eb1","title":"BEAGLE dependency in MrBayes easyblock replaced by beagle-lib","text":"

        The MrBayes easyblock no longer considers BEAGLE as a valid dependency.

        • deprecated since: EasyBuild v1.6.0 (Jul'14)
        • removed in: EasyBuild v2.0
        • alternative(s): use beagle-lib instead

        Due to a misnomer in the easyconfig files for beagle-lib (formerly named BEAGLE), the custom easyblock for MrBayes now no longer considers BEAGLE as a dependency.

        The library required by MrBayes must now be provided as a dependency named beagle-lib.

        "},{"location":"removed-functionality/#easybuild-api-changes","title":"EasyBuild API changes","text":"

        Some changes in the EasyBuild API were made, which potentially affects easyblocks and the EasyBuild framework itself.

        "},{"location":"removed-functionality/#depr_easyblocks_API_eb1","title":"Easyblocks API (EasyBlock class from easybuild.framework.easyblock)","text":"

        The API for easyblocks was modified slightly, to correct for a couple of historic mistakes.

        "},{"location":"removed-functionality/#return-type-of-extra_options-method","title":"Return type of extra_options method","text":"

        The list-of-tuples return type of the extra_options method must now be a dict instead.

        • deprecated since: EasyBuild v1.12.0 (Apr'14)
        • removed in: EasyBuild v2.0
        • alternative(s): ensure/assume dict return type

        The return type of the extra_options static method in the EasyBlock class has been changed to a dictionary (dict), rather than a list of key-value tuples.

        Custom easyconfig parameters should be added via a dict-typed value to the extra_options function of parent easyblock.

        For example (taken from the generic easyblock Binary):

        @staticmethod\ndef extra_options(extra_vars=None):\n\"\"\"Extra easyconfig parameters specific to Binary easyblock.\"\"\"\n    extra_vars = EasyBlock.extra_options(extra_vars)\n    extra_vars.update({\n        'install_cmd': [None, \"Install command to be used.\", CUSTOM],\n    })\n    return extra_vars\n
        "},{"location":"removed-functionality/#extension-filter-template","title":"Extension filter template","text":"

        The name and version templates in exts_filter are removed.

        • deprecated since: EasyBuild v1.2.0 (Feb'13)
        • removed in: EasyBuild v2.0
        • alternative(s): use ext_name and ext_version instead

        Only the ext_name, ext_version and src template strings can be used in the exts_filter extension filter easyconfig parameter; the name and version template strings are removed.

        For example (default extension filter for Python packages):

        exts_filter = (\"python -c 'import %(ext_name)s'\", \"\")\n
        "},{"location":"removed-functionality/#module-path-of-default-class-for-extensions","title":"Module path of default class for extensions","text":"

        Specifying the module path in exts_defaultclass is no longer possible.

        • deprecated since: EasyBuild v0.5 (Apr'12)
        • removed in: EasyBuild v2.0
        • alternative(s): (none required, module path is derived from specified class name)

        Explicitly specifying the module path for the default class to use for extensions (via exts_defaultclass) is no longer possible. Only the class name should be specified, the corresponding module path is derived from it.

        "},{"location":"removed-functionality/#module-path-for-easyblocks","title":"Module path for easyblocks","text":"

        Deriving the module path for easyblocks from the software name is removed.

        • deprecated since: EasyBuild v1.4.0 (May'13)
        • removed in: EasyBuild v2.0
        • alternative(s): use easyblock class name according to encoding scheme (e.g., EB_Foo)

        Determining the location of Python modules representing easyblocks based on the software name (name) is removed.

        EasyBuild must be able to determine the easyblock module path solely based on the name of the easyblock Python class.

        Easyblocks with a class name that is already honoring the encoding scheme implemented by the encode_class_name function will not be affected.

        "},{"location":"removed-functionality/#depr_easybuild_tools_modules_eb1","title":"easybuild.tools.modules Python module","text":"

        The API of the easybuild.tools.modules module has been updated, certain aspects of the old API are removed.

        • deprecated since: EasyBuild v1.8.0 (Oct'13) & v1.15.0 (Sept'15)
        • removed in: EasyBuild v2.0
        • alternative(s): use equivalents available in new API (see below)

        The API of the easybuild.tools.modules Python module has been changed extensively when implementing support for alternative module naming schemes:

        • the modules class variable and the add_module/remove_module methods are removed; modules should be (un)loaded using the load and unload methods instead
        • the mod_paths and modulePath named arguments for the run_module method are removed; the class instance should be created with a specific list of module paths instead
        • the Modules class to obtain a class instance representing a modules tool interface is removed; the modules_tool function should be used instead

        Additionally, the exists method which only takes a single module name is removed; it is replaced by the exist method, which takes a list of module names (since EasyBuild v1.15.0 (Sept'15)).

        Easyblocks should not be using easybuild.tools.modules directly, and hence should be unaffected.

        "},{"location":"removed-functionality/#depr_softroot_version_env_vars_eb1","title":"$SOFTX environment variables in generated module files","text":"

        $SOFTX environment variables set by module files generated with EasyBuild v0.x will no longer be taken into account.

        • deprecated since: EasyBuild v1.3.0 (Apr'13)
        • removed in: EasyBuild v2.0
        • alternative(s): reinstall (ancient) module files which are only defining the $SOFTX environment variables

        The get_software_root and get_software_version functions will only take $EBROOTFOO and $EBVERSIONFOO environment variables into account, as opposed to also considering the $SOFTROOTFOO and $SOFTVERSIONFOO environment variables (which were set in modules generated by EasyBuild v0.x). Likewise, adhering to the $SOFTDEVELFOO environment variables is removed.

        This is only relevant to early adopters who are still using module files generated by EasyBuild v0.x.

        "},{"location":"removed-functionality/#depr_renamed_relocated_functions_eb1","title":"Renamed/relocated functions","text":"

        Some functions/methods have been renamed or relocated, their equivalents under a previous location/name are removed.

        • deprecated since: (depends on function/method, see below)
        • removed in: EasyBuild v2.0
        • alternative(s): use new location/name

        A number of functions and methods that are part of the EasyBuild framework API have been renamed, mainly for consistency reasons.

        • the moduleGenerator handle to the ModuleGenerator object instance has been renamed to module_generator; hence, easyblock should be using self.module_generator rather than self.moduleGenerator (since EasyBuild v1.16.0 (Dec'14))
        • source_paths() (in easybuild.tools.config) replaces the removed source_path() (since EasyBuild v1.8.0 (Oct'13))
        • get_avail_core_count() (in easybuild.tools.systemtools) replaces the removed get_core_count() (since EasyBuild v1.9.0 (Nov'13))
        • get_os_type() (in easybuild.tools.systemtools) replaces the removed get_kernel_name (since EasyBuild v1.3.0 (Apr'13))
        • the det_full_ec_version function available from easybuild.tools.module_generator replaces the removed det_installversion function that was available from easybuild.framework.easyconfig.* (since EasyBuild v1.8.0 (Oct'13))

        Some functions have moved to a different location:

        • the read_environment function is now provided by the easybuild.tools.environment module, rather than by easybuild.tools.config or easybuild.tools.utilities (since EasyBuild v1.7.0 (Sept'13))
        • the modify_env function is now provided by the easybuild.tools.environment module, rather than by easybuild.tools.filetools (since EasyBuild v1.7.0 (Sep'13))
        • the run_cmd, run_cmd_qa and parse_log_for_error functions are now provided by the easybuild.tools.run module, rather than by easybuild.tools.filetools (since EasyBuild v1.11.0 (Feb'14))

        The get_log function provided by the easybuild.tools.build_log module has been removed entirely, no alternatives are provided (since none are needed). (since EasyBuild v1.3.0 (Apr'13))

        "},{"location":"removed-functionality/#depr_changes_generic_easyblocks_eb1","title":"Changes in (generic) easyblocks","text":""},{"location":"removed-functionality/#srcdir-replaces-builddir-as-named-argument-in-cmakemakeconfigure_step","title":"srcdir replaces builddir as named argument in CMakeMake.configure_step","text":"

        The named argument builddir in the configure_step method of the generic CMakeMake easyblock was replaced by srcdir .

        • deprecated since: EasyBuild v1.4.0 (May'13)
        • removed in: EasyBuild v2.0
        • alternative(s): equivalent srcdir named argument

        Since the builddir named argument in the configure_step method of the generic CMakeMake easyblock was a misnomer (it specifies the location of the source directory that should be provided to cmake), it was replaced with an equivalent named argument srcdir.

        "},{"location":"removed-functionality/#versionindependentpythonpackage-replaces-versionindependendpythonpackage","title":"VersionIndependentPythonPackage replaces VersionIndependendPythonPackage","text":"

        The generic easyblock VersionIndependendPythonPackage was replaced with the equivalent generic easyblock VersionIndependentPythonPackage .

        • deprecated since: EasyBuild v1.11.0 (Feb'14)
        • removed in: EasyBuild v2.0
        • alternative(s): VersionIndependentPythonPackage

        Because of to a typo in the name, the VersionIndependendPythonPackage generic easyblock was replaced by the equivalent VersionIndependentPythonPackage generic easyblock.

        "},{"location":"removed-functionality/#get_sitearch_suffix-function-in-perl-easyblock-is-removed","title":"get_sitearch_suffix function in Perl easyblock is removed","text":"

        The get_sitearch_suffix function in the Perl easyblock was replaced in favor of the more generic get_site_suffix function.

        • deprecated since: EasyBuild v1.7.0 (Sept'13)
        • removed in: EasyBuild v2.0
        • alternative(s): get_site_suffix('sitearch')

        The get_sitearch_suffix function provided by the Perl easyblock, which can be (and is) imported in/used by other easyblocks, has been replaced by the more generic get_site_suffix function.

        To obtain the same functionality as was provided by get_sitearch_suffix, use get_site_suffix('sitearch') instead.

        "},{"location":"rpath-support/","title":"Support for RPATH","text":"

        Since EasyBuild v3.5.2, (stable) support is available for using RPATH.

        "},{"location":"rpath-support/#rpath_support_what","title":"What is RPATH?","text":"

        RPATH is a mechanism to include a list of directories in a binary where required shared libraries may be available. These locations are considered by the dynamic loader (ld*.so) to locate the libraries that are required by a particular binary.

        Hence, instructing the dynamic linker (ld) to include RPATH entries in a binary is an alternative to specifying library locations through $LD_LIBRARY_PATH.

        For more information on RPATH, see https://linux.die.net/man/8/ld-linux

        "},{"location":"rpath-support/#rpath_support_why","title":"Why RPATH?","text":"

        Using RPATH can be interesting for a number of reasons:

        • it can help to avoid a (too) large environment, since:
          • $LD_LIBRARY_PATH does not need to be set anymore for all dependencies providing libraries
          • it leads to fewer runtime dependencies (and hence fewer modules need to be loaded)
        • binaries can be used without problems w.r.t. resolving required libraries in other environments
        • it may result in better startup performance, since $LD_LIBRARY_PATH does not have to be iterated over

        A minor downside is that it becomes less trivial to move installations of dependencies to a different location (which is something that you should not do without good reason anyway).

        "},{"location":"rpath-support/#rpath_support_enable","title":"Enabling RPATH linking","text":"

        To instruct EasyBuild to enable RPATH linking, use the --rpath configuration option.

        "},{"location":"rpath-support/#rpath_support_implementation","title":"Implementation","text":"

        When EasyBuild is configured to use RPATH, wrapper scripts are put in place for the dynamic linker commands (ld, ld.gold), as well as for every compiler command that is part of the toolchain being used. This is done during the prepare step.

        The wrapper scripts will analyze and rewrite the list of arguments supplied to the command they are wrapping as needed, i.e.:

        • inject an -rpath argument for every -L argument that specifies a library directory (with some exceptions, see also Filtering RPATH entries via --rpath-filter)
        • filter out arguments that affect RPATH (e.g., --enable-new-dtags)
        • ensure that the library subdirectories (lib, /lib64) of the installation directory also have an RPATH entry
        • include additional arguments related to RPATH (e.g. --disable-new-dtags)

        As such, ps may show something like:

        \\_ /bin/bash /tmp/eb-M3393U/tmpRVJqwr/rpath_wrappers/gcc -O2 example.c -L/example -lexample\n|  \\_ /example/software/GCCcore/4.9.3/bin/gcc -Wl,-rpath=$ORIGIN/../lib -Wl,-rpath=$ORIGIN/../lib64 -Wl,--disable-new-dtags -Wl,-rpath=/example -O2 example.c -L/example -lexample\n

        Here, /tmp/eb-M3393U/tmpRVJqwr/rpath_wrappers/gcc is the wrapper script for gcc, which tweaks the list of command line arguments for gcc before calling out to the real gcc command (i.e., /example/software/GCCcore/4.9.3/bin/gcc in this example).

        "},{"location":"rpath-support/#rpath_support_impl_logs","title":"RPATH wrapper script log files","text":"

        When EasyBuild is used in debug mode (--debug), the RPATH wrapper script will generate log files in the temporary directory used by EasyBuild, for debugging purposes:

        $ ls -l /tmp/eb-_hoff5/rpath_wrapper*log | sed 's/vsc40023/example/g'\n-rw-rw-r-- 1 example example  739692 Nov 16 15:50 /tmp/eb-_hoff5/rpath_wrapper_gcc.log\n-rw-rw-r-- 1 example example   27814 Nov 16 15:50 /tmp/eb-_hoff5/rpath_wrapper_g++.log\n-rw-rw-r-- 1 example example 1589626 Nov 16 15:50 /tmp/eb-_hoff5/rpath_wrapper_ld.gold.log\n-rw-rw-r-- 1 example example    8870 Nov 16 15:50 /tmp/eb-_hoff5/rpath_wrapper_ld.log\n

        These log files include details on every captured compiler/linker command, i.e. the original list of arguments, the tweaked list of arguments that includes the injected -rpath arguments, etc., and may be helpful to debug the RPATH support.

        "},{"location":"rpath-support/#rpath_support_impl_overhead","title":"Overhead of RPATH wrapper scripts","text":"

        Wrapping each compiler and linker command being executed comes at a cost, especially since the wrapper (shell) script calls out to a Python script (rpath_args.py) to do the heavy lifting.

        Some early benchmarking has shown that this overhead is quite limited however, with observed slowdowns of the build and installation procedure of 10-15%.

        "},{"location":"rpath-support/#rpath_support_filtered_paths","title":"Filtering RPATH entries via --rpath-filter","text":"

        To avoid that the wrapper scripts inject RPATH entries for particular locations, EasyBuild can be configured with an RPATH filter via --rpath-filter.

        The specified value should be a comma-separated list of (Python) regular expressions for paths. Only paths that match either of the specified patterns will be filtered out.

        For example, to filter out locations in either /opt/lib or /apps/lib, use:

        eb --rpath-filter='/opt/lib.*,/apps/lib.*'\n

        By default, no RPATH entries will be injected for system locations that start with either /lib (incl. /lib64) or /usr (which is equivalent with --rpath-filter='/lib.*,/usr.*').

        Note

        If you are specifying --rpath--filter, the default filter is overwritten, so if you want to retain the filtering for system locations you should also include /lib.* and /usr.*. For example, to also filter out paths starting with /example:

        eb --rpath-filter='/lib.*,/usr.*,/example.*'\n
        "},{"location":"rpath-support/#rpath_support_LD_LIBRARY_PATH","title":"Relation to $LD_LIBRARY_PATH","text":"

        As mentioned above (Why RPATH?), using RPATH avoids the need to update $LD_LIBRARY_PATH for every dependency.

        However, there is a chicken-or-egg situation: even though a particular dependency itself can be built and installed using RPATH, it does not mean that software packages that require it have to built with RPATH...

        Hence, EasyBuild does not automatically exclude $LD_LIBRARY_PATH update statements from the generated module files. You need to configure EasyBuild to do so, using the ---filter-env-vars configuration option.

        For example:

        eb --rpath --filter-env-vars=LD_LIBRARY_PATH example.eb\n

        To consistently configure EasyBuild to both use RPATH and not include $LD_LIBRARY_PATH update statements in generated module files, you can use either environment variables or a configuration file; see Configuring EasyBuild.

        "},{"location":"submitting-jobs/","title":"Submitting jobs using --job","text":"

        Topics:

        • Quick introduction to --job
        • Configuring --job
        • Usage of --job
        • Examples
        "},{"location":"submitting-jobs/#submitting_jobs_quick_intro","title":"Quick introduction to --job","text":"

        Using the --job command line option, you can instruct EasyBuild to submit jobs for the installations that should be performed, rather than performing the installations locally on the system you are on.

        If dependency resolution is enabled using --robot (see also Enabling dependency resolution, --robot / -r and --robot-paths), EasyBuild will submit separate jobs and set dependencies between them to ensure they are run in the order dictated by the software dependency graph(s).

        "},{"location":"submitting-jobs/#submitting_jobs_configuration","title":"Configuring --job","text":""},{"location":"submitting-jobs/#selecting-the-job-backend-job-backend","title":"Selecting the job backend (--job-backend)","text":"

        The job backend to be used can be specified using the --job-backend EasyBuild configuration option.

        Since EasyBuild 3.8.0, three backends are supported:

        • GC3Pie (default) (supported since EasyBuild 2.2.0)
          • GC3Pie version 2.5.0 (or more recent) required (https://gc3pie.readthedocs.org)
          • works with different resource managers and job schedulers, including TORQUE/PBS, Slurm, etc.
          • note: requires that a GC3Pie configuration file is provided, see Configuring the job backend
        • PbsPython
          • pbs_python version 4.1.0 (or more recent) required (https://oss.trac.surfsara.nl/pbs_python)
          • note: requires TORQUE resource manager (https://adaptivecomputing.com/cherry-services/torque-resource-manager)
        • Slurm (supported since EasyBuild 3.8.0)
          • requires Slurm version 17.0 (or more recent), (https://slurm.schedmd.com/)
        "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_backend_config","title":"Configuring the job backend (--job-backend-config)","text":"

        To configure the job backend, the path to a configuration file must be specified via --job-backend-config.

        • for PbsPython backend: (irrelevant, no configuration file required)
        • for GC3Pie backend: see https://gc3pie.readthedocs.org/en/latest/users/configuration.html
          • example configuration files are available at Example configurations for GC3Pie job backend
        • for Slurm backend: (irrelevant, no configuration file required)
        "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_cores","title":"Number of requested cores per job (--job-cores)","text":"

        The number of cores that should be requested for each job that is submitted can be specified using --job-cores (default: not specified).

        The mechanism for determining the number of cores to request in case --job-cores was not specified depends on which job backend is being used:

        • if the PbsPython job backend is used, the (most common) number of available cores per workernode in the target resource is determined; this usually results in jobs requesting full workernodes (at least in terms of cores) by default
        • if the GC3Pie or Slurm job backend is used, the requested number of cores is left unspecified, which results in falling back to the default mechanism used by GC3Pie/Slurm to pick a number of cores; most likely, this results in single-core jobs to be submitted by default
        "},{"location":"submitting-jobs/#submitting_jobs_job_dependency_type","title":"Job dependency type (-job-deps-type)","text":"

        The type of dependency that is set by EasyBuild when submitting a job that depends on one or more other jobs can be specified via the --job-deps-type configuration setting:

        • with --job-deps-type=abort_on_error, job dependencies will be set such that a job that depends on other jobs will be aborted if one of those jobs completes with an error
          • for both PbsPython and Slurm, this is equivalent with setting job dependencies using afterok
        • with --job-deps-type=always_run, job dependencies will be set such that a job that depends on other jobs are always run, regardless of whether or not those jobs completed successfully
          • for both PbsPython and Slurm, this is equivalent with setting job dependencies using afterany

        The default value for -job-deps-type depends on the job backend being used (see [Configuring the job backend][submitting_jobs_cfg_job_backend_config):

        • for the GC3Pie and Slurm backends, --job-deps-type=abort_on_error is the default;
        • for the PbsPython backend, --job-deps-type=always_run is the default (because of historical reasons, and for the sake of backward compatibility)
        "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_max_walltime","title":"Maximum walltime of jobs (--job-max-walltime)","text":"

        An integer value specifying the maximum walltime for jobs (in hours) can be specified via --job-max-walltime (default: 24).

        For easyconfigs for which a reference required walltime is available via the build_stats parameter in a matching easyconfig file from the easyconfig repository (see Easyconfigs repository (--repository, --repositorypath)), EasyBuild will set the walltime of the corresponding job to twice that value (unless the resulting value is higher than the maximum walltime for jobs).

        If no such reference walltime is available, the maximum walltime is used.

        "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_output_dir","title":"Job output directory (--job-output-dir)","text":"

        The directory where job log files should be placed can be specified via --job-output-dir (default: current directory).

        "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_polling_interval","title":"Job polling interval (--job-polling-interval)","text":"

        The frequency with which the status of submitted jobs should be checked can be specified via --job-polling-interval, using a floating-point value representing the number of seconds between two checks (default: 30 seconds).

        Note

        This setting is currently only relevant to GC3Pie; see also [Submitting jobs to a GC3Pie backend]][submitting_jobs_usage_gc3pie].

        "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_target_resource","title":"Target resource for job backend (--job-target-resource)","text":"

        The target resource that should be used by the job backend can be specified using --job-target-resource.

        • for PbsPython backend: hostname of TORQUE PBS server to submit jobs to (default: $PBS_DEFAULT)
        • for GC3Pie backend: name of resource to submit jobs to (default: none, which implies weighted round-robin submission across all available resources)
        • for Slurm backend: (not used)
        "},{"location":"submitting-jobs/#submitting_jobs_usage","title":"Usage of --job","text":"

        To make EasyBuild submit jobs to the job backend rather than performing the installations directly, the --job command line option can be used.

        This following assumes that the required configuration settings w.r.t. the job backend to use are in place, see Configuring --job.

        "},{"location":"submitting-jobs/#submitting_jobs_usage_pbs_python","title":"Submitting jobs to a PbsPython or Slurm backend","text":"

        When using the PbsPython or Slurm backend, EasyBuild will submit separate jobs for each installation to be performed, and then exit reporting a list of submitted jobs.

        To ensure that the installations are performed in the order dictated by the software dependency graph, dependencies between installations are specified via job dependencies (see also Job dependency type (-job-deps-type)).

        See also Example: submitting installations to TORQUE via pbs_python.

        Note

        Submitted jobs will be put on hold until all jobs have been submitted. This is required to ensure that the dependencies between jobs can be specified correctly; if a job would run to completion before other jobs that depend on it were submitted, the submission process may fail.

        "},{"location":"submitting-jobs/#submitting_jobs_usage_gc3pie","title":"Submitting jobs to a GC3Pie backend","text":"

        When using the GC3Pie backend, EasyBuild will create separate tasks for each installation to be performed and supply them to GC3Pie, which will then take over and pass the installations through as jobs to the available resource(s) (see also Configuring the job backend).

        To ensure that the installations are performed in the order dictated by the software dependency graph, dependencies between installations are specified to GC3Pie as inter-task dependencies. GC3Pie will then gradually feed the installations to its available resources as their dependencies have been satisfied.

        Any log messages produced by GC3Pie are included in the EasyBuild log file, and are tagged with gc3pie.

        See also Example: submitting installations to SLURM via GC3Pie.

        Note

        The eb process will not exit until the full set of tasks that GC3Pie was provided with has been processed. An overall progress report will be printed regularly (see also Job polling interval (--job-polling-interval)). As such, it is advised to run the eb process in a screen/tmux session when using the GC3Pie backend for --job.

        "},{"location":"submitting-jobs/#submitting_jobs_examples","title":"Examples","text":""},{"location":"submitting-jobs/#submitting_jobs_examples_gc3pie_cfg","title":"Example configurations for GC3Pie job backend","text":"

        When using GC3Pie as a job backend, a configuration file must be provided via --job-backend-config. This section includes a couple of examples of GC3Pie configuration files (see also https://gc3pie.readthedocs.org/en/latest/users/configuration.html).

        "},{"location":"submitting-jobs/#example-gc3pie-configuration-for-local-system","title":"Example GC3Pie configuration for local system","text":"
        [resource/localhost]\nenabled = yes\ntype = shellcmd\nfrontend = localhost\ntransport = local\nmax_memory_per_core = 10GiB\nmax_walltime = 100 hours\n# max # jobs ~= max_cores / max_cores_per_job\nmax_cores_per_job = 1\nmax_cores = 4\narchitecture = x86_64\nauth = none\noverride = no\nresourcedir = /tmp/gc3pie\n
        "},{"location":"submitting-jobs/#example-gc3pie-configuration-for-torquepbs","title":"Example GC3Pie configuration for TORQUE/PBS","text":"
        [resource/pbs]\nenabled = yes\ntype = pbs\n\n# use settings below when running GC3Pie on the cluster front-end node\nfrontend = localhost\ntransport = local\nauth = none\n\nmax_walltime = 2 days\n# max # jobs ~= max_cores / max_cores_per_job\nmax_cores_per_job = 16\nmax_cores = 1024\nmax_memory_per_core = 2 GiB\narchitecture = x86_64\n\n# to add non-std options or use TORQUE/PBS tools located outside of\n# the default PATH, use the following:\n#qsub = /usr/local/bin/qsub -q my-special-queue\n
        "},{"location":"submitting-jobs/#example-gc3pie-configuration-for-slurm","title":"Example GC3Pie configuration for SLURM","text":"
        [resource/slurm]\nenabled = yes\ntype = slurm\n\n# use settings below when running GC3Pie on the cluster front-end node\nfrontend = localhost\ntransport = local\nauth = none\n\nmax_walltime = 2 days\n# max # jobs ~= max_cores / max_cores_per_job\nmax_cores_per_job = 16\nmax_cores = 1024\nmax_memory_per_core = 2 GiB\narchitecture = x86_64\n\n# to add non-std options or use SLURM tools located outside of\n# the default PATH, use the following:\n#sbatch = /usr/bin/sbatch --mail-type=ALL\n
        "},{"location":"submitting-jobs/#submitting_jobs_examples_gc3pie_backend","title":"Example: submitting installations to SLURM via GC3Pie","text":"

        When submitting jobs to the GC3Pie job backend, the eb process will not exit until all tasks have been completed. A job overview will be printed every N seconds (see Job polling interval (--job-polling-interval)).

        Jobs are only submitted to the resource manager (SLURM, in this case) when all task dependencies have been resolved.

        $ export EASYBUILD_JOB_BACKEND=GC3Pie\n$ export EASYBUILD_JOB_BACKEND_CONFIG=$PWD/gc3pie.cfg\n$ eb GCC-4.6.0.eb OpenMPI-1.8.4-GCC-4.9.2.eb --robot --job --job-cores=16 --job-max-walltime=10\n== temporary log file in case of crash /tmp/eb-ivAiwD/easybuild-PCgmCB.log\n== resolving dependencies ...\n== GC3Pie job overview: 2 submitted (total: 9)\n== GC3Pie job overview: 2 running (total: 9)\n== GC3Pie job overview: 2 running (total: 9)\n...\n== GC3Pie job overview: 4 terminated, 4 ok, 1 submitted (total: 9)\n== GC3Pie job overview: 4 terminated, 4 ok, 1 running (total: 9)\n...\n== GC3Pie job overview: 8 terminated, 8 ok, 1 running (total: 9)\n== GC3Pie job overview: 9 terminated, 9 ok (total: 9)\n== GC3Pie job overview: 9 terminated, 9 ok (total: 9)\n== Done processing jobs\n== GC3Pie job overview: 9 terminated, 9 ok (total: 9)\n== Submitted parallel build jobs, exiting now\n== temporary log file(s) /tmp/eb-ivAiwD/easybuild-PCgmCB.log* have been removed.\n== temporary directory /tmp/eb-ivAiwD has been removed.\n

        Checking which jobs have been submitted to SLURM at regular intervals reveals that indeed only tasks for which all dependencies have been processed are actually submitted as jobs::

        $ squeue -u $USER\nJOBID       USER       ACCOUNT           NAME     REASON   START_TIME     END_TIME  TIME_LEFT NODES CPUS   PRIORITY\n6161545     easybuild  example      GCC-4.9.2       None 2015-07-01T1 2015-07-01T2    9:58:55     1 16       1242\n6161546     easybuild  example      GCC-4.6.0       None 2015-07-01T1 2015-07-01T2    9:58:55     1 16       1242\n\n$ squeue -u $USER\nJOBID       USER       ACCOUNT           NAME     REASON   START_TIME     END_TIME  TIME_LEFT NODES CPUS   PRIORITY\n6174527     easybuild  example Automake-1.15-  Resources          N/A          N/A   10:00:00     1 16       1120\n\n$ squeue -u $USER\nJOBID       USER       ACCOUNT           NAME     REASON   START_TIME     END_TIME  TIME_LEFT NODES CPUS   PRIORITY\n6174533     easybuild  example OpenMPI-1.8.4-       None 2015-07-03T0 2015-07-03T1    9:55:59     1 16       1119\n
        "},{"location":"submitting-jobs/#submitting_jobs_examples_pbs_python_backend","title":"Example: submitting installations to TORQUE via pbs_python","text":"

        Using the PbsPython job backend, eb submits jobs directly to TORQUE for processing, and exits as soon as all jobs have been submitted::

        $ eb GCC-4.6.0.eb OpenMPI-1.8.4-GCC-4.9.2.eb --robot --job\n== temporary log file in case of crash /tmp/eb-OMNQAV/easybuild-9fTuJA.log\n== resolving dependencies ...\n== List of submitted jobs (9): GCC-4.6.0 (GCC/4.6.0): 508023.example.pbs; GCC-4.9.2 (GCC/4.9.2): 508024.example.pbs;\nlibtool-2.4.2-GCC-4.9.2 (libtool/2.4.2-GCC-4.9.2): 508025.example.pbs; M4-1.4.17-GCC-4.9.2 (M4/1.4.17-GCC-4.9.2): 50\n8026.example.pbs; Autoconf-2.69-GCC-4.9.2 (Autoconf/2.69-GCC-4.9.2): 508027.example.pbs; Automake-1.15-GCC-4.9.2 (Au\ntomake/1.15-GCC-4.9.2): 508028.example.pbs; numactl-2.0.10-GCC-4.9.2 (numactl/2.0.10-GCC-4.9.2): 508029.example.pbs;\nhwloc-1.10.0-GCC-4.9.2 (hwloc/1.10.0-GCC-4.9.2): 508030.example.pbs; OpenMPI-1.8.4-GCC-4.9.2 (OpenMPI/1.8.4-GCC-4.9.\n2): 508031.example.pbs\n== Submitted parallel build jobs, exiting now\n== temporary log file(s) /tmp/eb-OMNQAV/easybuild-9fTuJA.log* have been removed.\n== temporary directory /tmp/eb-OMNQAV has been removed.\n\n$ qstat -a\n\nexample.pbs:\n                                                                              Req'd    Req'd       Elap\nJob ID              Username    Queue    Jobname          SessID  NDS   TSK   Memory   Time    S   Time\n------------------- ----------- -------- ---------------- ------ ----- ------ ------ --------- - ---------\n508023.example.pbs  easybuild   batch    GCC-4.6.0           --      1     16    --   24:00:00 R  00:02:16 \n508024.example.pbs  easybuild   batch    GCC-4.9.2           --      1     16    --   24:00:00 Q       -- \n508025.example.pbs  easybuild   batch    libtool-2.4.2-GC    --      1     16    --   24:00:00 H       -- \n508026.example.pbs  easybuild   batch    M4-1.4.17-GCC-4.    --      1     16    --   24:00:00 H       -- \n508027.example.pbs  easybuild   batch    Autoconf-2.69-GC    --      1     16    --   24:00:00 H       -- \n508028.example.pbs  easybuild   batch    Automake-1.15-GC    --      1     16    --   24:00:00 H       -- \n508029.example.pbs  easybuild   batch    numactl-2.0.10-G    --      1     16    --   24:00:00 H       -- \n508030.example.pbs  easybuild   batch    hwloc-1.10.0-GCC    --      1     16    --   24:00:00 H       -- \n508031.example.pbs  easybuild   batch    OpenMPI-1.8.4-GC    --      1     16    --   24:00:00 H       -- \n

        Holds are put in place to ensure that the jobs run in the order dictated by the dependency graph(s). These holds are released by the TORQUE server as soon as they jobs on which they depend have completed::

        $ qstat -a\n\nexample.pbs:\n                                                                              Req'd    Req'd       Elap\nJob ID              Username    Queue    Jobname          SessID  NDS   TSK   Memory   Time    S   Time\n------------------- ----------- -------- ---------------- ------ ----- ------ ------ --------- - ---------\n508025.example.pbs  easybuild   batch    libtool-2.4.2-GC    --      1     16    --   24:00:00 Q       -- \n508026.example.pbs  easybuild   batch    M4-1.4.17-GCC-4.    --      1     16    --   24:00:00 Q       -- \n508027.example.pbs  easybuild   batch    Autoconf-2.69-GC    --      1     16    --   24:00:00 H       -- \n508028.example.pbs  easybuild   batch    Automake-1.15-GC    --      1     16    --   24:00:00 H       -- \n508029.example.pbs  easybuild   batch    numactl-2.0.10-G    --      1     16    --   24:00:00 H       -- \n508030.example.pbs  easybuild   batch    hwloc-1.10.0-GCC    --      1     16    --   24:00:00 H       -- \n508031.example.pbs  easybuild   batch    OpenMPI-1.8.4-GC    --      1     16    --   24:00:00 H       -- \n\n...\n\n$ qstat -a\n\nexample.pbs:\n                                                                              Req'd    Req'd       Elap\nJob ID              Username    Queue    Jobname          SessID  NDS   TSK   Memory   Time    S   Time\n------------------- ----------- -------- ---------------- ------ ----- ------ ------ --------- - ---------\n508031.example.pbs  easybuild   batch    OpenMPI-1.8.4-GC    --      1     16    --   24:00:00 R  00:03:46\n
        "},{"location":"system-toolchain/","title":"System toolchain","text":"

        In EasyBuild v4.0, the infamous dummy toolchain has been deprecated, and replaced with the system toolchain.

        This page provides more information about this change, and how to deal with the transition.

        Note

        To ease the transition from dummy to system, EasyBuild v3.9.4 already supports using the system toolchain as an alias for the dummy toolchain.

        "},{"location":"system-toolchain/#system_toolchain_semantics","title":"Use case for the system toolchain","text":"

        The System toolchain is intended for the same use case as the dummy toolchain was: it should (only) be used for software installations where the compiler & libraries provided by the operating system are assumed to be sufficient.

        This includes installing binary software (for which no compiler is used at all), installations that boil down to only unpacking a source tarball, and building and installing a (base) toolchain compiler like GCC(core).

        For all intents and purposes, the system toolchain can be considered as a drop-in replacement for the (deprecated) dummy toolchain (see also Impact of deprecating dummy toolchain).

        "},{"location":"system-toolchain/#system_toolchain_usage","title":"Using the system compiler","text":"

        To use the system toolchain in an easyconfig file, simply use 'system' as toolchain name:

        toolchain = {'name': 'system', 'version': ''}\n

        Note

        The toolchain version you specify is totally irrelevant when using the system compiler, it could be 'system', '' or any other (string) value.

        EasyBuild does not interpret the version of the system toolchain in any way (as opposed to the dummy toolchain in EasyBuild versions prior to version 4.0, see Impact of version of dummy toolchain w.r.t. dependencies).

        "},{"location":"system-toolchain/#system_toolchain_SYSTEM_constant","title":"SYSTEM constant","text":"

        For convenience, a SYSTEM constant is available to easily specify the use of the system toolchain (and to make it stand out against using a regular toolchain):

        toolchain = SYSTEM\n

        We strongly recommend using the SYSTEM constant to specify the use of the system toolchain.

        "},{"location":"system-toolchain/#system_toolchain_impact_deprecated_dummy","title":"Impact of deprecating dummy toolchain","text":"

        The only impact of deprecating the dummy toolchain is that a warning will be printed whenever an easyconfig file that still uses the dummy toolchain is parsed:

        WARNING: Deprecated functionality, will no longer work in v5.0:\nUse of 'dummy' toolchain is deprecated, use 'system' toolchain instead;\nsee http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information\n

        Other than this warning, there is no impact on the EasyBuild functionality whatsoever.

        Use of the dummy toolchain has been deprecated, but is still supported in EasyBuild v4.x; it is simply an alias for the system toolchain which replaces it.

        Hence, software installations for easyconfig files that are still using the dummy toolchain will proceed as before, and the contents of the easyconfig files will be interpreted exactly as before, with one exception: the (build) dependencies specified in the easyconfig files will always be loaded in the build environment, regardless of the toolchain version (see also Impact of version of dummy toolchain w.r.t. dependencies).

        Since the dummy toolchain has been deprecated, so has the --add-dummy-to-minimal-toolchains configuration option. It has been replaced with the --add-system-to-minimal-toolchains configuration option (see also Considering system as minimal toolchain).

        "},{"location":"system-toolchain/#system_toolchain_updating_dummy","title":"Updating easyconfig files that use the dummy toolchain","text":"

        To update easyconfig files that still use the dummy toolchain, you should simply change the definition of the toolchain parameter to use 'system' as a toolchain name (see also Using the system compiler).

        We recommend using the SYSTEM constant for this, see SYSTEM constant.

        To automatically update easyconfig files still using the dummy toolchain, you can also use eb --fix-deprecated-easyconfigs. Do take into account that this option could also result in additional changes being made to the easyconfig files, see Renaming local variables to match the recommended naming scheme using eb --fix-deprecated-easyconfigs.

        "},{"location":"system-toolchain/#system_toolchain_motivation_deprecating_dummy","title":"Motivation for deprecating the dummy toolchain","text":"

        Deprecating the dummy toolchain was done for a number of reasons:

        • dummy toolchain name
        • Impact of version of dummy toolchain w.r.t. dependencies
        "},{"location":"system-toolchain/#system_toolchain_motivation_deprecating_dummy_name","title":"dummy toolchain name","text":"

        The dummy name may be rather confusing, especially if you are new to EasyBuild. Just based on the name, it is unclear how the dummy toolchain is different from a regular toolchain.

        Hopefully, the name of the system toolchain does speak more for itself: when using it, you are relying on the compiler & libraries provided by the operating system (as opposed to compilers & libraries that are a part of a regular toolchain).

        "},{"location":"system-toolchain/#system_toolchain_motivation_deprecating_dummy_version_and_deps","title":"Impact of version of dummy toolchain w.r.t. dependencies","text":"

        The version that was being used for a dummy toolchain was interpreted by EasyBuild in a rather surprising way.

        If 'dummy' was specified as a toolchain version, then the (build) dependencies that were specified in the easyconfig file were not loaded in the build environment. module load statements for the (non-build) dependencies were included in the generated module file, however...

        Using any version other than 'dummy' resulted in the usual behaviour of loading the dependencies in the build environment.

        Why this mechanism was in place has been lost to the sands of time...

        This often led to outright confusing installation problems, and hence it was the main motivator for deprecating the dummy toolchain. Rather than just changing the semantics of the dummy toolchain, we saw this as an opportunity to also fix the name.

        "},{"location":"terminology/","title":"Concepts and terminology","text":"

        EasyBuild consists of a collection of Python modules and packages that interact with each other, dynamically picking up additional Python modules as needed for building and installing a (stack of) software package(s) specified via simple specification files.

        Or, in EasyBuild terminology: the EasyBuild framework leverages easyblocks to automatically build and install software using particular compiler toolchains, as specified by one or multiple easyconfig files.

        "},{"location":"terminology/#framework","title":"EasyBuild framework","text":"

        The EasyBuild framework embodies the core of the tool, providing functionality commonly needed when installing scientific software on HPC systems. For example, it deals with downloading, unpacking and patching of sources, loading module files for dependencies, setting up the build environment, autonomously running (interactive) shell commands, creating module files that match the specification files, etc.

        Included in the framework is an abstract implementation of a software build and install procedure, which is split up into different steps:

        • unpacking sources
        • configuration
        • build
        • installation
        • module generation
        • etc.

        Most of these steps, i.e., the ones which are generally more-or-less analogous across different software packages, have appropriate (default) implementations. The only exceptions are the configuration, build and installation steps that are purposely left unimplemented (since there is no common procedure for them).

        Each of the steps can be tweaked and steered via different parameters known to the framework, for which values are either obtained from the provided specification files or set to reasonable default values. See Easyconfig files.

        In EasyBuild version 4.8.0 the framework source code consists of about 31,500 lines of code, organized across about 225 Python modules in roughly 20 Python package directories, next to about 27,000 lines of code for tests. This provides some notion of the size of the EasyBuild framework and the amount of supporting functionality it has to offer.

        "},{"location":"terminology/#easyblocks","title":"Easyblocks","text":"

        The implementation of a particular software build and install procedure is done in a Python module, which is aptly referred to as an easyblock.

        Each easyblock ties in with the framework API by defining (or extending/replacing) one or more of the step functions that are part of the abstract procedure used by the EasyBuild framework. Easyblocks typically heavily rely on the supporting functionality provided by the framework, for example for (autonomously) executing (interactive) shell commands and obtaining the command's output and exit code.

        A distinction is made between software-specific and generic easyblocks. Software-specific easyblocks implement a build and install procedure which is entirely custom to one particular software package (e.g., WRF), while generic easyblocks implement a procedure using standard tools (e.g., CMake). Since easyblocks are implemented in an object-oriented scheme, the step methods implemented by a particular easyblock can be reused in others via inheritance, enabling code reuse across build procedure implementations.

        For each software package being built, the EasyBuild framework will determine which easyblock should be used, based on the name of the software package or the value of the easyblock specification parameter (see Easyblock specification). Since EasyBuild v2.0, an easyblock must be specified in case no matching easyblock is found based on the software name (cfr. Automagic fallback to ConfigureMake).

        "},{"location":"terminology/#toolchains","title":"Toolchains","text":"

        EasyBuild employs so-called compiler toolchains or, simply toolchains for short, which are a major concept in handling the build and installation processes.

        A typical toolchain consists of one or more compilers, usually put together with some libraries for specific functionality, e.g., for using an MPI stack for distributed computing, or which provide optimized routines for commonly used math operations, e.g., the well-known BLAS/LAPACK APIs for linear algebra routines.

        For each software package being built, the toolchain to be used must be specified in some way.

        The EasyBuild framework prepares the build environment for the different toolchain components, by loading their respective modules and defining environment variables to specify compiler commands (e.g., via $F90), compiler and linker options (e.g., via $CFLAGS and $LDFLAGS), the list of library names to supply to the linker (via $LIBS), etc. This enables making easyblocks largely toolchain-agnostic since they can simply rely on these environment variables; that is, unless they need to be aware of, for example, the particular compiler being used to determine the build configuration options.

        Recent releases of EasyBuild include out-of-the-box toolchain support for:

        • various compilers, including GCC, Intel, Clang, CUDA
        • common MPI libraries, such as Intel MPI, MPICH, MVAPICH2, OpenMPI
        • various numerical libraries, including ATLAS, Intel MKL, OpenBLAS, ScalaPACK, FFTW

        Please see the Common toolchains page for details about the two most common toolchains, one for \"free and open source software\" (foss) based on GCC and one based on the Intel compilers (intel).

        "},{"location":"terminology/#system_toolchain_terminology","title":"system toolchain","text":"

        The system toolchain is a special case. It is an empty toolchain, i.e. a toolchain without any components, and corresponds to using the readily available compilers and libraries (e.g., the ones provided by the operating system, or by modules which were loaded before issuing the eb command).

        When the system toolchain is used, a corresponding system module file is not required/loaded and no build environment is being defined.

        "},{"location":"terminology/#dummy_toolchain","title":"dummy toolchain (DEPRECATED)","text":"

        The dummy toolchain has been deprecated in EasyBuild v4.0, and replaced by the system toolchain.

        "},{"location":"terminology/#common-toolchains","title":"Common toolchains","text":"

        For more information on the concept of common toolchains, see Common toolchains.

        "},{"location":"terminology/#easyconfig_files","title":"Easyconfig files","text":"

        The specification files that are supplied to EasyBuild are referred to as easyconfig files (or simply easyconfigs), which are basically plain text files containing (mostly) key-value assignments for build parameters supported by the framework, also referred to as easyconfig parameters (see Writing easyconfig files: the basics for more information).

        Note that easyconfig files only provide the bits of information required to determine the corresponding module name; the module name itself is computed by EasyBuild framework by querying the module naming scheme being used. The complete list of supported easyconfig parameters can be easily obtained via the EasyBuild command line using eb -a (see also All available easyconfig parameters, --avail-easyconfig-params / -a).

        As such, each easyconfig file provides a complete specification of which particular software package should be installed, and which settings should be used for building it. After completing an installation, EasyBuild copies the used easyconfig file to the install directory, as a template, and also supports maintaining an easyconfig archive which is updated on every successful installation. Therefore, reproducing installations becomes trivial.

        "},{"location":"terminology/#extensions","title":"Extensions","text":"

        Some software packages support installing additional add-ons alongside the 'main' software, either in the same installation prefix, or in a separate location.

        In EasyBuild, we use the neutral term 'extensions' to refer these add-ons.

        Well-known examples include:

        • Perl modules
        • Python packages
        • R libraries
        • Ruby gems
        "},{"location":"tracing-progress/","title":"Tracing progress","text":"

        To trace the progress of EasyBuild while it is installing software, you can use eb --trace.

        Note

        Tracing support was added as an experimental feature in EasyBuild v3.4.0, and thus required using --experimental. Since EasyBuild v3.4.1, --trace is considered stable and no longer requires the use of --experimental.

        "},{"location":"tracing-progress/#trace_output","title":"Trace output","text":"

        When eb --trace is used, EasyBuild will print additional output on top of the standard output, which only mentions which step of the installation procedure is being executed (without any further details).

        This output includes:

        • location of build and install directories
        • list of sources and patches
        • modules being loaded
        • executed commands
        • results of the sanity check
        • location of generated module file

        For each (non-trivial) executed command, the location to a temporary log file will be provided so the output of that command can be monitored while it is running. In addition, the start time of the command is printed, to allow determining how long the command has been running.

        "},{"location":"tracing-progress/#trace_example","title":"Example","text":"
        $ eb HDF5-1.10.1-intel-2017a.eb -df --trace --experimental\n== temporary log file in case of crash /tmp/eb-ieEeg3/easybuild-Ouw3jV.log\n== processing EasyBuild easyconfig /home/example/HDF5/HDF5-1.10.1-intel-2017a.eb\n== building and installing HDF5/1.10.1-intel-2017a...\n  >> installation prefix: /prefix/software/HDF5/1.10.1-intel-2017a\n== fetching files...\n  >> sources:\n  >> /prefix/sources/h/HDF5/hdf5-1.10.1.tar.gz [SHA256: 048a9d149fb99aaa1680a712963f5a78e9c43b588d0e79d55e06760ec377c172]\n== creating build dir, resetting environment...\n  >> build dir: /tmp/HDF5/1.10.1/intel-2017a\n== unpacking...\n  >> running command 'tar xzf /prefix/sources/h/HDF5/hdf5-1.10.1.tar.gz' (output in /tmp/eb-ieEeg3/easybuild-run_cmd-P9kf6c.log) [started at: 2017-09-06 08:28:42]\n== patching...\n== preparing...\n  >> loading toolchain module: intel/2017a\n  >> (no build dependencies specified)\n  >> loading modules for (runtime) dependencies:\n  >>  * zlib/1.2.11-GCCcore-6.3.0\n  >>  * Szip/2.1-intel-2017a\n  >> defining build environment for intel/2017a toolchain\n== configuring...\n  >> running command './configure --prefix=/prefix/software/HDF5/1.10.1-intel-2017a  --with-szlib=/prefix/software/Szip/2.1-intel-2017a  --with-zlib=/prefix/software/zlib/1.2.11-GCCcore-6.3.0  --with-pic --with-pthread --enable-shared  --enable-cxx --enable-fortran FC=\"mpiifort\"  --enable-unsupported --enable-parallel' (output in /tmp/eb-ieEeg3/easybuild-run_cmd-dPat3D.log) [started at: 2017-09-06 08:28:44]\n== building...\n  >> running command 'make -j 24  CXXFLAGS=\"$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK\"  FC=\"mpiifort\"' (output in /tmp/eb-ieEeg3/easybuild-run_cmd-25vKdK.log) [started at: 2017-09-06 08:31:01]\n== testing...\n== installing...\n  >> running command 'make install' (output in /tmp/eb-ieEeg3/easybuild-run_cmd-BepE8P.log) [started at: 2017-09-06 08:34:09]\n== taking care of extensions...\n== postprocessing...\n== sanity checking...\n  >> file 'bin/h52gif' found: OK\n  >> file 'bin/h5c++' found: OK\n  >> file 'bin/h5copy' found: OK\n  >> file 'bin/h5debug' found: OK\n  >> file 'bin/h5diff' found: OK\n  >> file 'bin/h5dump' found: OK\n  >> file 'bin/h5import' found: OK\n  >> file 'bin/h5jam' found: OK\n  >> file 'bin/h5ls' found: OK\n  >> file 'bin/h5mkgrp' found: OK\n  >> file 'bin/h5perf_serial' found: OK\n  >> file 'bin/h5redeploy' found: OK\n  >> file 'bin/h5repack' found: OK\n  >> file 'bin/h5repart' found: OK\n  >> file 'bin/h5stat' found: OK\n  >> file 'bin/h5unjam' found: OK\n  >> file 'bin/gif2h5' found: OK\n  >> file 'bin/h5perf' found: OK\n  >> file 'bin/h5pcc' found: OK\n  >> file 'bin/h5pfc' found: OK\n  >> file 'bin/ph5diff' found: OK\n  >> file 'lib/libhdf5.so' found: OK\n  >> file 'lib/libhdf5_cpp.so' found: OK\n  >> file 'lib/libhdf5_fortran.so' found: OK\n  >> file 'lib/libhdf5_hl_cpp.so' found: OK\n  >> file 'lib/libhdf5_hl.so' found: OK\n  >> file 'lib/libhdf5hl_fortran.so' found: OK\n  >> (non-empty) directory 'include' found: OK\n== cleaning up...\n== creating module...\n  >> generating module file @ /prefix/modules/all/HDF5/1.10.1-intel-2017a.lua\n== permissions...\n== packaging...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file(s) /prefix/software/HDF5/1.10.1-intel-2017a/easybuild/easybuild-HDF5-1.10.1-20170906.083425.log\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-ieEeg3/easybuild-Ouw3jV.log* have been removed.\n== Temporary directory /tmp/eb-ieEeg3 has been removed.\n
        "},{"location":"typical-workflow-example/","title":"Typical workflow example: building and installing WRF","text":"

        This section shows an example case of building Weather Research and Forecasting (WRF) scientific software application, which is a notoriously complex software application to build and install. With EasyBuild however, WRF can be installed quite easily and here is how.

        First, you search which easyconfigs are available for WRF, using --search (see Searching for easyconfigs, --search / -S) and you select one based on the software version, toolchain, etc.

        Using the selected easyconfig file, you can get an overview of the planned installations using --dry-run (see Getting an overview of planned installations --dry-run / -D).

        Finally, building and installing WRF is done by specifying the matching easyconfig file in the eb command line, and using --robot (see Enabling dependency resolution, --robot / -r and --robot-paths) to enable dependency resolution. That way WRF and all of its dependencies are installed with a single command!

        "},{"location":"typical-workflow-example/#searching-for-available-easyconfigs-files","title":"Searching for available easyconfigs files","text":"

        Searching for build specification for a particular software package can be done using the --search/-S command line options (see Searching for easyconfigs, --search / -S); for example, to get a list of available easyconfig files for WRF:

        $ eb -S WRF\nCFGS1=/user/gent/445/vsc44588/easybuild/easybuild-easyconfigs/easybuild/easyconfigs\n * $CFGS1/w/WPS/WPS-4.0.1_find-wrfdir.patch\n * $CFGS1/w/WPS/WPS-4.0.2_find-wrfdir.patch\n [ . . . ]\n * $CFGS1/w/WRF/WRF-4.4-foss-2022a-dmpar.eb\n * $CFGS1/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb\n [ . . . ]\n\nNote: 16 matching archived easyconfig(s) found, use --consider-archived-easyconfigs to see them\n

        Various easyconfig files are found: for different versions of WRF (e.g., v4.4 and v4.4.1), for different (versions of) compiler toolchains (e.g., foss 2022a, foss 2022b), etc.

        For the remainder of this example, we will use the available WRF-4.4.1-foss-2022b-dmpar.eb easyconfig file to specify to EasyBuild to build and install WRF v4.4.1 using version 2022b of the foss toolchain, which is one of the Common toolchains. The foss toolchain stands for GCC, OpenMPI, OpenBLAS/LAPACK, ScaLAPACK, and FFTW. See List of known toolchains for a list of all available toolchains.

        "},{"location":"typical-workflow-example/#getting-an-overview-of-planned-installations","title":"Getting an overview of planned installations","text":"

        To get an overview of the software that EasyBuild is going to build and install we can use the --dry-run/-D (see Getting an overview of planned installations --dry-run / -D) command line option. This will show a list of easyconfig files that will be used, together with the module files that will be installed, as well as their current availability ([x] marks available modules).

        Note that EasyBuild will take care of all of the dependencies of WRF as well, and can even install the compiler toolchain as well if the corresponding modules are not available yet:

        $ eb WRF-4.4.1-foss-2022b-dmpar.eb -Dr\n== Temporary log file in case of crash /tmp/vsc44588/eb-n67uls6o/easybuild-2r30g117.log\nDry run: printing build status of easyconfigs and dependencies\nCFGS=/user/gent/445/vsc44588/easybuild/easybuild-easyconfigs/easybuild/easyconfigs\n * [x] $CFGS/m/M4/M4-1.4.19.eb (module: M4/1.4.19)\n * [x] $CFGS/b/Bison/Bison-3.8.2.eb (module: Bison/3.8.2)\n * [x] $CFGS/f/flex/flex-2.6.4.eb (module: flex/2.6.4)\n * [x] $CFGS/z/zlib/zlib-1.2.12.eb (module: zlib/1.2.12)\n * [x] $CFGS/b/binutils/binutils-2.39.eb (module: binutils/2.39)\n * [x] $CFGS/g/GCCcore/GCCcore-12.2.0.eb (module: GCCcore/12.2.0)\n * [x] $CFGS/z/zlib/zlib-1.2.12-GCCcore-12.2.0.eb (module: zlib/1.2.12-GCCcore-12.2.0)\n * [x] $CFGS/h/help2man/help2man-1.49.2-GCCcore-12.2.0.eb (module: help2man/1.49.2-GCCcore-12.2.0)\n * [x] $CFGS/m/M4/M4-1.4.19-GCCcore-12.2.0.eb (module: M4/1.4.19-GCCcore-12.2.0)\n * [x] $CFGS/b/Bison/Bison-3.8.2-GCCcore-12.2.0.eb (module: Bison/3.8.2-GCCcore-12.2.0)\n * [x] $CFGS/f/flex/flex-2.6.4-GCCcore-12.2.0.eb (module: flex/2.6.4-GCCcore-12.2.0)\n * [x] $CFGS/b/binutils/binutils-2.39-GCCcore-12.2.0.eb (module: binutils/2.39-GCCcore-12.2.0)\n * [x] $CFGS/l/libtool/libtool-2.4.7-GCCcore-12.2.0.eb (module: libtool/2.4.7-GCCcore-12.2.0)\n * [x] $CFGS/n/ncurses/ncurses-6.3-GCCcore-12.2.0.eb (module: ncurses/6.3-GCCcore-12.2.0)\n * [x] $CFGS/g/groff/groff-1.22.4-GCCcore-12.2.0.eb (module: groff/1.22.4-GCCcore-12.2.0)\n * [x] $CFGS/e/expat/expat-2.4.9-GCCcore-12.2.0.eb (module: expat/2.4.9-GCCcore-12.2.0)\n * [x] $CFGS/b/bzip2/bzip2-1.0.8-GCCcore-12.2.0.eb (module: bzip2/1.0.8-GCCcore-12.2.0)\n * [x] $CFGS/l/libreadline/libreadline-8.2-GCCcore-12.2.0.eb (module: libreadline/8.2-GCCcore-12.2.0)\n * [x] $CFGS/p/pkgconf/pkgconf-1.9.3-GCCcore-12.2.0.eb (module: pkgconf/1.9.3-GCCcore-12.2.0)\n * [ ] $CFGS/t/tcsh/tcsh-6.24.07-GCCcore-12.2.0.eb (module: tcsh/6.24.07-GCCcore-12.2.0)\n * [ ] $CFGS/t/time/time-1.9-GCCcore-12.2.0.eb (module: time/1.9-GCCcore-12.2.0)\n * [x] $CFGS/s/Szip/Szip-2.1.1-GCCcore-12.2.0.eb (module: Szip/2.1.1-GCCcore-12.2.0)\n * [ ] $CFGS/l/libiconv/libiconv-1.17-GCCcore-12.2.0.eb (module: libiconv/1.17-GCCcore-12.2.0)\n * [x] $CFGS/g/GCC/GCC-12.2.0.eb (module: GCC/12.2.0)\n * [x] $CFGS/p/pkgconf/pkgconf-1.8.0.eb (module: pkgconf/1.8.0)\n * [x] $CFGS/o/OpenSSL/OpenSSL-1.1.eb (module: OpenSSL/1.1)\n * [x] $CFGS/c/cURL/cURL-7.86.0-GCCcore-12.2.0.eb (module: cURL/7.86.0-GCCcore-12.2.0)\n * [x] $CFGS/d/DB/DB-18.1.40-GCCcore-12.2.0.eb (module: DB/18.1.40-GCCcore-12.2.0)\n * [x] $CFGS/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb (module: Perl/5.36.0-GCCcore-12.2.0)\n * [x] $CFGS/a/Autoconf/Autoconf-2.71-GCCcore-12.2.0.eb (module: Autoconf/2.71-GCCcore-12.2.0)\n * [x] $CFGS/a/Automake/Automake-1.16.5-GCCcore-12.2.0.eb (module: Automake/1.16.5-GCCcore-12.2.0)\n * [x] $CFGS/a/Autotools/Autotools-20220317-GCCcore-12.2.0.eb (module: Autotools/20220317-GCCcore-12.2.0)\n * [x] $CFGS/g/gzip/gzip-1.12-GCCcore-12.2.0.eb (module: gzip/1.12-GCCcore-12.2.0)\n * [x] $CFGS/f/FFTW/FFTW-3.3.10-GCC-12.2.0.eb (module: FFTW/3.3.10-GCC-12.2.0)\n * [x] $CFGS/l/lz4/lz4-1.9.4-GCCcore-12.2.0.eb (module: lz4/1.9.4-GCCcore-12.2.0)\n * [x] $CFGS/l/libevent/libevent-2.1.12-GCCcore-12.2.0.eb (module: libevent/2.1.12-GCCcore-12.2.0)\n * [x] $CFGS/n/numactl/numactl-2.0.16-GCCcore-12.2.0.eb (module: numactl/2.0.16-GCCcore-12.2.0)\n * [x] $CFGS/n/ncurses/ncurses-6.3.eb (module: ncurses/6.3)\n * [x] $CFGS/g/gettext/gettext-0.21.1.eb (module: gettext/0.21.1)\n * [x] $CFGS/x/XZ/XZ-5.2.7-GCCcore-12.2.0.eb (module: XZ/5.2.7-GCCcore-12.2.0)\n * [x] $CFGS/l/libxml2/libxml2-2.10.3-GCCcore-12.2.0.eb (module: libxml2/2.10.3-GCCcore-12.2.0)\n * [x] $CFGS/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb (module: libarchive/3.6.1-GCCcore-12.2.0)\n * [x] $CFGS/z/zstd/zstd-1.5.2-GCCcore-12.2.0.eb (module: zstd/1.5.2-GCCcore-12.2.0)\n * [x] $CFGS/c/CMake/CMake-3.24.3-GCCcore-12.2.0.eb (module: CMake/3.24.3-GCCcore-12.2.0)\n * [ ] $CFGS/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb (module: Doxygen/1.9.5-GCCcore-12.2.0)\n * [x] $CFGS/j/JasPer/JasPer-4.0.0-GCCcore-12.2.0.eb (module: JasPer/4.0.0-GCCcore-12.2.0)\n * [x] $CFGS/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb (module: UCX/1.13.1-GCCcore-12.2.0)\n * [x] $CFGS/u/UnZip/UnZip-6.0-GCCcore-12.2.0.eb (module: UnZip/6.0-GCCcore-12.2.0)\n * [x] $CFGS/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb (module: libfabric/1.16.1-GCCcore-12.2.0)\n * [x] $CFGS/x/xorg-macros/xorg-macros-1.19.3-GCCcore-12.2.0.eb (module: xorg-macros/1.19.3-GCCcore-12.2.0)\n * [x] $CFGS/l/libpciaccess/libpciaccess-0.17-GCCcore-12.2.0.eb (module: libpciaccess/0.17-GCCcore-12.2.0)\n * [x] $CFGS/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb (module: hwloc/2.8.0-GCCcore-12.2.0)\n * [x] $CFGS/p/PMIx/PMIx-4.2.2-GCCcore-12.2.0.eb (module: PMIx/4.2.2-GCCcore-12.2.0)\n * [x] $CFGS/l/libffi/libffi-3.4.4-GCCcore-12.2.0.eb (module: libffi/3.4.4-GCCcore-12.2.0)\n * [x] $CFGS/t/Tcl/Tcl-8.6.12-GCCcore-12.2.0.eb (module: Tcl/8.6.12-GCCcore-12.2.0)\n * [x] $CFGS/s/SQLite/SQLite-3.39.4-GCCcore-12.2.0.eb (module: SQLite/3.39.4-GCCcore-12.2.0)\n * [x] $CFGS/p/Python/Python-3.10.8-GCCcore-12.2.0-bare.eb (module: Python/3.10.8-GCCcore-12.2.0-bare)\n * [x] $CFGS/b/BLIS/BLIS-0.9.0-GCC-12.2.0.eb (module: BLIS/0.9.0-GCC-12.2.0)\n * [x] $CFGS/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb (module: OpenBLAS/0.3.21-GCC-12.2.0)\n * [x] $CFGS/f/FlexiBLAS/FlexiBLAS-3.2.1-GCC-12.2.0.eb (module: FlexiBLAS/3.2.1-GCC-12.2.0)\n * [x] $CFGS/u/UCC/UCC-1.1.0-GCCcore-12.2.0.eb (module: UCC/1.1.0-GCCcore-12.2.0)\n * [x] $CFGS/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb (module: OpenMPI/4.1.4-GCC-12.2.0)\n * [x] $CFGS/g/gompi/gompi-2022b.eb (module: gompi/2022b)\n * [x] $CFGS/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022b.eb (module: FFTW.MPI/3.3.10-gompi-2022b)\n * [x] $CFGS/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022b-fb.eb (module: ScaLAPACK/2.2.0-gompi-2022b-fb)\n * [x] $CFGS/f/foss/foss-2022b.eb (module: foss/2022b)\n * [x] $CFGS/h/HDF5/HDF5-1.14.0-gompi-2022b.eb (module: HDF5/1.14.0-gompi-2022b)\n * [ ] $CFGS/n/netCDF/netCDF-4.9.0-gompi-2022b.eb (module: netCDF/4.9.0-gompi-2022b)\n * [ ] $CFGS/n/netCDF-Fortran/netCDF-Fortran-4.6.0-gompi-2022b.eb (module: netCDF-Fortran/4.6.0-gompi-2022b)\n * [ ] $CFGS/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb (module: WRF/4.4.1-foss-2022b-dmpar)\n== Temporary log file(s) /tmp/eb-n67uls6o/easybuild-2r30g117.log* have been removed.\n== Temporary directory /tmp/eb-n67uls6o has been removed.\n
        "},{"location":"typical-workflow-example/#installing-a-software-stack","title":"Installing a software stack","text":"

        To make EasyBuild build and install WRF, including all of its dependencies, a single command is sufficient.

        By using the --robot/-r (see Enabling dependency resolution, --robot / -r and --robot-paths) command line option, we enable dependency resolution such that the entire software stack is handled:

        $ eb WRF-4.4.1-foss-2022b-dmpar.eb --robot\n== temporary log file in case of crash /tmp/eb-LfQa8b/easybuild-TBXLTy.log\n== resolving dependencies ...\n== processing EasyBuild easyconfig /home/example/.local/easybuild/software/EasyBuild/4.8.0/easybuild/easyconfigs/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb\n== building and installing ncurses/6.3-GCCcore-12.2.0...\n[...]\n== building and installing tcsh/6.20.00-GCCcore-12.2.0...\n[...]\n== building and installing CMake/3.24.3-GCCcore-12.2.0...\n[...]\n== building and installing JasPer/4.0.0-GCCcore-12.2.0...\n[...]\n== building and installing pkg-config/0.29.2-GCCcore-12.2.0...\n[...]\n== building and installing Doxygen/1.9.5-GCCcore-12.2.0...\n[...]\n== building and installing cURL/7.86.0-GCCcore-12.2.0...\n[...]\n== building and installing Szip/2.1.1-GCCcore-12.2.0...\n[...]\n== building and installing HDF5/1.14.0-gompi-2022b...\n[...]\n== building and installing netCDF/4.9.0-foss-2022b...\n[...]\n== building and installing netCDF-Fortran/4.6.0-foss-2022b...\n[...]\n== building and installing WRF/4.4.1-foss-2022b-dmpar...\n[...]\n== Build succeeded for 12 out of 12\n== Temporary log file(s) /tmp/eb-LfQa8b/easybuild-TBXLTy.log* have been removed.\n== Temporary directory /tmp/eb-LfQa8b has been removed.\n

        Once the installation has succeeded, modules will be available for WRF and all of its dependencies:

        $ module load WRF/4.4.1-foss-2022b-dmpar\n$ module list\n\nCurrently Loaded Modules:\n  1) EasyBuild/4.8.0                    18) OpenBLAS/0.3.21-GCC-12.2.0\n  2) GCCcore/12.2.0                     19) FlexiBLAS/3.2.1-GCC-12.2.0\n  3) zlib/1.2.12-GCCcore-12.2.0         20) FFTW/3.3.10-GCC-12.2.0 foss/2018b\n  4) binutils/2.39-GCCcore-12.2.0       21) gompi/2022b\n  5) GCC/12.2.0                         22) FFTW.MPI/3.3.10-gompi-2022b\n  6) numactl/2.0.16-GCCcore-12.2.0      23) foss/2022b\n  7) XZ/5.2.7-GCCcore-12.2.0            24) JasPer/4.0.0-GCCcore-12.2.0\n  8) libxml2/2.10.3-GCCcore-12.2.0      25) Szip/2.1.1-GCCcore-12.2.0\n  9) libpciaccess/0.17-GCCcore-12.2.0   26) HDF5/1.14.0-gompi-2022b\n 10) hwloc/2.8.0-GCCcore-12.2.0         27) cURL/7.86.0-GCCcore-12.2.0\n 11) OpenSSL/1.1                        28) gzip/1.12-GCCcore-12.2.0\n 12) libevent/2.1.12-GCCcore-12.2.0     29) lz4/1.9.4-GCCcore-12.2.0\n 13) UCX/1.13.1-GCCcore-12.2.0          30) zstd/1.5.2-GCCcore-12.2.0\n 14) libfabric/1.16.1-GCCcore-12.2.0    31) bzip2/1.0.8-GCCcore-12.2.0\n 15) PMIx/4.2.2-GCCcore-12.2.0          32) netCDF/4.9.0-gompi-2022b\n 16) UCC/1.1.0-GCCcore-12.2.0           33) netCDF-Fortran/4.6.0-gompi-2022b\n 17) OpenMPI/4.1.4-GCC-12.2.0           34) WRF/4.4.1-foss-2022b-dmpar\n

        For more information, see also Using EasyBuild.

        "},{"location":"unit-tests/","title":"Unit tests","text":"

        Since EasyBuild v1.0, an extensive suite of unit tests has been implemented. The unit tests have become an indispensable factor in keeping EasyBuild stable and backward-compatible during development.

        We refer to the available tests as unit tests, even though they may not be unit tests in the strict sense of the word. Some tests are actually end-to-end tests or integration tests, see also https://en.wikipedia.org/wiki/Software_testing#Testing_levels.

        Following the test-driven development paradigm, additional unit tests are implemented when new features are added or when bugs are uncovered (and fixed).

        "},{"location":"unit-tests/#unit_tests_what","title":"What the unit tests are not","text":"

        Each of the EasyBuild unit tests aim to test a specific characteristic of EasyBuild, e.g., a configuration option, a particular function or method in the EasyBuild framework, some specific feature, how EasyBuild handles a particular type of input, etc.

        The unit tests do not test the build and installation process of particular supported software packages (other than a handful of toy ones included in the tests themselves), let alone test the software installations obtained using EasyBuild themselves.

        Each stable EasyBuild release is subjected to a (time- and resource-consuming) regression test, however, which is out of scope here.

        "},{"location":"unit-tests/#unit_tests_suites","title":"Available unit test suites","text":"

        Three different unit test suites are available for EasyBuild, each of which tied to one of the EasyBuild code repositories on GitHub: EasyBuild framework, easyblocks, easyconfigs.

        "},{"location":"unit-tests/#unit_tests_framework","title":"EasyBuild framework unit tests","text":"

        The unit test suite for the EasyBuild framework is by far the most extensive one, in terms of code size, coverage and the amount of effort that is put into it.

        These tests probe the functionality provided by the EasyBuild framework, ranging from standard operation (building and installing software, and generating module files) to specific configuration options, selected functional aspects, optional features and edge cases.

        At the time of writing (EasyBuild v2.0), more than 250 tests were implemented, organised in 28 subgroups.

        Running the full EasyBuild framework unit test suite takes about 15-40 minutes, depending on your system resources and testing configuration.

        "},{"location":"unit-tests/#unit_tests_easyblocks","title":"easyblocks unit tests","text":"

        The easyblocks unit test suite consists of a coupe of light-weight tests that are run per easyblock:

        • initialising the easyblock, to check for Python syntax errors and faulty imports
        • checking for the use of deprecated (or no longer supported) functionality

        Running the full easyblocks unit test suite takes less than one minute.

        "},{"location":"unit-tests/#unit_tests_easyconfigs","title":"easyconfigs unit tests","text":"

        The easyconfigs unit test suite consists a couple of tests for each of the available easyconfig files, followed by two large-scale overall tests.

        For each of the available easyconfig files, the following aspects are tested:

        • parsing the easyconfig file, to make sure no syntax errors are present
        • verifying that the filename matches the contents of the easyconfig file (software name/version, version suffix and toolchain name/version)
        • creating an EasyBlock instance using the parsed easyconfig, to check whether mandatory easyconfig parameters are defined
        • ensuring that all required patch files are available (right next to the easyconfig file)
        • making sure that the specified sanity check paths adhere to the requirements, i.e. only (and both) the files/dirs keys are listed, with the value for either one being non-empty
        • checking for the use of deprecated (or no longer supported) functionality
        • verifying whether eb --check-style on the easyconfig file passes
        • ensuring SHA256 checksums are included in new or changed easyconfig files

        If these tests pass for each and every available easyconfig file, two additional overall tests are run, i.e.:

        • ensuring that an easyconfig file is available for each specified dependency
        • checking whether any version conflicts occur in the dependency graph for each easyconfig file

        Running the full easyconfigs unit test suite should only take a couple of minutes.

        "},{"location":"unit-tests/#unit_tests_applications","title":"Applications","text":"

        The unit test suites are automatically triggered for:

        • each pull request (update)
        • each (set of) change(s) that is merged in (usually via a pull request)

        The status of the different unit test suites is tracked separately for the main and develop branches of the EasyBuild code repositories:

        • main (stable, latest EasyBuild release)
        • develop (development, potentially unstable)

        We strictly adhere to the policy of only merging pull requests for which the corresponding (latest) run of the full unit test suite passes successfully.

        "},{"location":"unit-tests/#unit_tests_usage","title":"Usage","text":"

        Using the unit tests is deliberately kept very simple.

        "},{"location":"unit-tests/#unit_tests_config","title":"Configuration","text":"

        Since EasyBuild v2.0, the unit test suites are fully isolated from any (system- or user-level) EasyBuild configuration which is in place in the environment where the tests are being run.

        The easyblocks and easyconfigs unit test suite are oblivious to any defined configuration options.

        For the EasyBuild framework unit tests, all configuration files and EASYBUILD_-prefixed environment variables are ignored.

        To enable running the EasyBuild framework unit test suite under a specific configuration that differs from the default, environment variables can be defined for each of the configuration options supported by EasyBuild.

        Before starting a set of EasyBuild framework tests, all defined environment variables for which the name is prefixed by TEST_EASYBUILD_ will be injected into the test environment as environment variables prefixed with EASYBUILD_ instead. Thus, to set a particular configuration option --foo, you should define the environment variable $TEST_EASYBUILD_FOO.

        "},{"location":"unit-tests/#unit_tests_modules_tool","title":"Modules tool to use for running tests","text":"

        One particular configuration option worth mentioning explicitly is the modules tool that is to be used by the EasyBuild framework, which is by default the traditional Tcl/C environment modules, referred to as EnvironmentModulesC in EasyBuild configuration terms (see eb --help and eb --avail-modules-tools).

        To run the EasyBuild framework unit tests with a particular modules tool, simply define the $TEST_EASYBUILD_MODULES_TOOL environment variable with the corresponding value. For example::

        export TEST_EASYBUILD_MODULES_TOOL=Lmod\n

        Just like for EasyBuild itself, the EasyBuild framework unit test suite expects that the modules tool binary/script (modulecmd, modulecmd.tcl or lmod) is available via $PATH, see Required modules tool.

        "},{"location":"unit-tests/#unit_tests_github_token","title":"Installing a GitHub token for the unit tests","text":"

        Some of the EasyBuild framework unit tests require that a GitHub token is in place for the easybuild_test user, in a non-encrypted keyring (so it can be obtained without having to provide a password).

        This can be done as follows (copy-paste the GitHub token at the Password: prompt)::

        $ python\n>>> import getpass, keyring\n>>> keyring.set_keyring(keyring.backends.file.PlaintextKeyring())\n>>> keyring.set_password('github_token', 'easybuild_test', getpass.getpass())\nPassword:\n>>> exit()\n

        More details about obtaining and installing a GitHub token in your keyring are available at https://github.com/easybuilders/easybuild/wiki/Review-process-for-contributions#setting-things-up.

        "},{"location":"unit-tests/#unit_tests_running","title":"Running","text":"

        To run a full unit test suite, simply run the respective suite Python module.

        • EasyBuild framework: python -m test.framework.suite
        • easyblocks: python -m test.easyblocks.suite
        • easyconfigs: python -m test.easyconfigs.suite

        For the EasyBuild framework unit tests, each of the test subgroups can be run separately via a dedicated Python module other than suite, to focus on testing a particular aspect. See https://github.com/easybuilders/easybuild-framework/tree/main/test/framework for an overview of the available Python modules corresponding to subgroups of tests (note: __init__.py and utilities.py are not such modules).

        For example, to run the full EasyBuild framework unit test suite using Lmod as a modules tool::

        export TEST_EASYBUILD_MODULES_TOOL=Lmod\npython -m test.framework.suite\n

        To only run the subgroup of tests for filetools::

        python -m test.framework.filetools\n

        Since EasyBuild v2.8.2, tests can be filtered by name. Simply add the string to filter with to the test command.

        For example, to run only the tests containing the word load in the subgroup modules, run::

        $ python -m test.framework.modules load\n\nFiltered ModulesTest tests using 'load', retained 2/19 tests: test_load, test_load_in_hierarchy\n..\n----------------------------------------------------------------------\nRan 2 tests in 2.688s\n\nOK\n

        This works with as many filter words as you want to use. For example, to run every test method in modules containing the words load or bash:

        python -m test.framework.modules load bash\n
        "},{"location":"unit-tests/#unit_tests_results","title":"Results","text":"

        The test results will be printed as the unit test suite progresses, potentially producing a lot of information for failing tests to help determine the cause of the failure. It may thus be useful to capture the output for later inspection, for example::

        python -m test.framework.suite 2>&1 | tee eb_test.log\n

        Note

        Some tests will be skipped deliberately, because of missing optional dependencies or other provisions, for example a GitHub token. The output of the unit tests will clearly indicate which tests were skipped.

        "},{"location":"unit-tests/#unit_tests_examples","title":"Examples","text":"

        A successful run of the EasyBuild framework test suite, without skipped tests::

        $ python -m test.framework.suite\nRunning tests...\n----------------------------------------------------------------------\n..........................................................................................................................................................................................................................................................\n----------------------------------------------------------------------\nRan 250 tests in 1404.897s\n\nOK\n

        A run with a couple of deliberately skipped tests and a single failed test (denoted by F), along with the corresponding traceback::

        $ python -m test.framework.suite\nRunning tests...\n----------------------------------------------------------------------\n................Skipping test_from_pr, no GitHub token available?\n.Skipping test_from_pr, no GitHub token available?\n......F..............(skipping GitRepository test)\n..(skipping SvnRepository test)\n..................................................................................................................Skipping test_fetch_easyconfigs_from_pr, no GitHub token available?\n.Skipping test_read, no GitHub token available?\n.Skipping test_read_api, no GitHub token available?\n.Skipping test_walk, no GitHub token available?\n.............................................................................................\n======================================================================\nFAIL: Test listing easyblock hierarchy.\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"/tmp/example/easybuild-framework/test/framework/options.py\", line 544, in test_list_easyblocks\n    self.assertTrue(re.search(pat, outtxt), \"Pattern '%s' is found in output of --list-easyblocks: %s\" % (pat, outtxt))\nAssertionError: Pattern 'EasyBlock\\n' is found in output of --list-easyblocks:\n\n----------------------------------------------------------------------\nRan 250 tests in 2641.200s\n\nFAILED (failures=1)\nERROR: Not all tests were successful.\nLog available at /tmp/example/easybuild-dy2ZTx/easybuild-tests-l0doQ2.log\n
        "},{"location":"useful-scripts/","title":"Useful scripts","text":"

        A couple of useful stand-alone scripts are provided along with the EasyBuild framework.

        The latest stable version of these scripts is available in the easybuild-framework GitHub repository at https://github.com/easybuilders/easybuild-framework/tree/main/easybuild/scripts.

        This documentation provides some information on how to use these scripts.

        "},{"location":"useful-scripts/#install_EasyBuild_develop_script","title":"install-EasyBuild-develop.sh","text":"

        download from: https://github.com/easybuilders/easybuild-framework/blob/main/easybuild/scripts/install-EasyBuild-develop.sh

        A script to set up an EasyBuild development environment. For more information, see Installation of latest development version using provided script.

        "},{"location":"useful-scripts/#clean_gists_script","title":"clean_gists.py","text":"

        download from: https://github.com/easybuilders/easybuild-framework/blob/main/easybuild/scripts/clean_gists.py

        When using --from-pr in combination with --upload-test-report (see https://github.com/easybuilders/easybuild/wiki/Review-process-for-contributions#automated-testing-of-easyconfigs-pull-requests), you can end up with a bunch of gists in your GitHub account containing test reports, that may no longer be relevant.

        To help with that the clean_gists.py script is available, to clean up gists containing test reports:

        • clean_gists.py -p: delete all gists from closed pull requests (default action if no other action is specified)
        • clean_gists.py -a: delete all gists generated by Easybuild
        • clean_gists.py -o: delete all gists without a matching pull request (created by using --upload-test-report without --from-pr)

        By default, the script will use the same GitHub account that Easybuild uses (see --github-user); to specify a different GitHub account, use -g.

        The script expects that a valid GitHub token for the used GitHub account username is available, see Installing a GitHub token.

        "},{"location":"using-easybuild/","title":"Using the EasyBuild command line","text":"

        Basic usage of EasyBuild is described in the following sections, covering the most important range of topics if you are new to EasyBuild.

        eb is EasyBuild\u2019s main command line tool, to interact with the EasyBuild framework and hereby the most common command line options are being documented.

        "},{"location":"using-easybuild/#specifying_easyconfigs","title":"Specifying what to install","text":"

        To instruct EasyBuild which software packages it should build/install and which build parameters it should use, one or more easyconfig files must be specified.

        This can be done in a number of ways:

        • by providing a single easyconfig file
        • via command line options
        • by providing a set of easyconfig files
        • using eb --from-pr

        Whenever EasyBuild searches for explicitly specified easyconfig files, it considers a couple of locations, i.e. (in order of preference):

        • (i) the local working directory
        • (ii) the robot search path (see robot search path)
        • (iii) the path to easyconfig files that are part of the active EasyBuild installation (which is included in the default robot search path)

        These locations are only considered for easyconfig files that are specified only by filename or using a relative path, not for easyconfig files that are specified via an absolute path. The dependencies are resolved using the robot search path (see robot search path).

        Note

        For easyconfig files specified on the eb command line, the full robot search path is only considered since EasyBuild v2.0.0. Earlier versions only considered the local working directory and the easyconfig files that are part of the active EasyBuild installation for explicitly specified easyconfig files.

        "},{"location":"using-easybuild/#specifying_easyconfigs_single","title":"By providing a single easyconfig file","text":"

        The most basic usage is to simply provide the name of an easyconfig file to the eb command. EasyBuild will (try and) locate the easyconfig file, and perform the installation as specified by that easyconfig file.

        For example, to build and install HPL using the foss/2021b toolchain:

        $ eb HPL-2.3-foss-2021b.eb --robot\n[...]\n== building and installing GCC/11.2.0...\n[...]\n== building and installing foss/2021b...\n[...]\n== building and installing HPL/2.3-foss-2021b...\n== fetching files...\n== creating build dir, resetting environment...\n== unpacking...\n== patching...\n== preparing...\n== configuring...\n== building...\n== testing...\n== installing...\n== taking care of extensions...\n== packaging...\n== postprocessing...\n== sanity checking...\n== cleaning up...\n== creating module...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/.local/easybuild/software/HPL/2.3-foss-2021b/easybuild/easybuild-HPL-2.3-20221027.223237.log\n== Build succeeded for 9 out of 9\n

        Then, we can actually load the freshly installed HPL module:

        $ module load HPL/2.3-foss-2021b\n$ which xhpl\n/home/example/.local/easybuild/software/HPL/2.3-foss-2021b/bin/xhpl\n

        All easyconfig file names' suffixes are .eb and follow format: <name>-<version>-<toolchain><versionsuffix>

        This is a crucial design aspect, since the dependency resolution mechanism (see robot) relies upon this convention.

        Tip

        You may wish to modify the installation prefix (e.g., using --prefix or by defining $EASYBUILD_PREFIX), in order to redefine the build/install/source path prefix to be used; default value is: $HOME/.local/easybuild; see Configuration

        Note

        If you are not familiar with modules (module command), see Overview of basic module commands

        "},{"location":"using-easybuild/#specifying_easyconfigs_command_line","title":"Via command line options","text":"

        An alternative approach is to only use command line options to specify which software to build. Refer to the Software search and build options section in the eb --help output for an overview of the available command line options for this purpose (see also --help).

        Here is how to build and install last version of HPL (that EasyBuild is aware of) using the foss/2021b toolchain:

        $ eb --software-name=HPL --toolchain=foss,2021b\n[...]\n== building and installing HPL/2.3-foss-2021b...\n[...]\n== COMPLETED: Installation ended successfully\n[...]\n

        At this point, a module HPL/2.3-foss-2021b should have been installed.

        "},{"location":"using-easybuild/#specifying_easyconfigs_set_of_easyconfigs","title":"By providing a set of easyconfig files","text":"

        Multiple easyconfig files can be provided as well, either directly or by specifying a directory that contains easyconfig files.

        For example, to build and install both HPL and GCC with a single command, simply list the easyconfigs for both on the eb command line (note that HPL is not being reinstalled, since a matching module is already available):

        $ eb HPL-2.3-foss-2021b.eb GCC-12.2.0.eb\n[...]\n== HPL/2.3-foss-2021b is already installed (module found), skipping\n[...]\n== building and installing GCC/12.2.0...\n[...]\n== Build succeeded for 1 out of 1\n[...]\n

        When one or more directories are provided, EasyBuild will (recursively) traverse them to find easyconfig files. For example:

        $ find set_of_easyconfigs/ -type f\nset_of_easyconfigs/GCC-12.2.0.eb\nset_of_easyconfigs/foo.txt\nset_of_easyconfigs/tools/HPL-2.3-foss-2021b.eb\n
        $ eb set_of_easyconfigs/\n== temporary log file in case of crash /tmp/easybuild-1yxCvv/easybuild-NeNmZr.log\n== HPL/2.3-foss-2021b is already installed (module found), skipping\n== GCC/12.2.0 is already installed (module found), skipping\n== No easyconfigs left to be built.\n== Build succeeded for 0 out of 0\n

        Note

        EasyBuild will only pick up the files which end with .eb -- anything else will be ignored.

        Tip

        Calling EasyBuild is designed as an idempotent operation; if a module is available that matches with an provided easyconfig file, the installation will simply be skipped.

        "},{"location":"using-easybuild/#commonly-used-command-line-options","title":"Commonly used command line options","text":""},{"location":"using-easybuild/#command-line-help","title":"Command line help","text":"

        (--help, -H)

        Detailed information about the usage of the eb command is available via the --help, -H, -h help options.

        Note

        --help / -H spit out the long help info (i.e. including long option names), -h only includes short option names.

        Tip

        This is the best way to query for certain information, esp. recent features, since this is in sync with the actual EasyBuild version being used.

        "},{"location":"using-easybuild/#report-version","title":"Report version","text":"

        (--version)

        You can query which EasyBuild version you are using with --version:

        $ eb --version\nThis is EasyBuild 4.6.2 (framework: 4.6.2, easyblocks: 4.6.2) on host example.local.\n

        Tip

        Asking EasyBuild to print own its version is a quick way to ensure that $PYTHONPATH is set up correctly, so that the entire EasyBuild installation (framework and easyblocks) is available.

        "},{"location":"using-easybuild/#list_toolchains","title":"List of known toolchains","text":"

        (--list-toolchains)

        For an overview of known toolchains, use eb --list-toolchains.

        The complete table of available toolchains is available here.

        "},{"location":"using-easybuild/#list_easyblocks","title":"List of available easyblocks","text":"

        (--list-easyblocks)

        You can obtain a list of available easyblocks via --list-easyblocks.

        The --list-easyblocks command line option prints the easyblocks in a hierarchical way, showing the inheritance patterns, with the \"base\" easyblock class EasyBlock on top.

        Software-specific easyblocks have a name that starts with EB_; the ones that do not are generic easyblocks. (see easyblocks for the distinction between both types of easyblocks).

        For example, a list of easyblocks can be obtained with:

        eb --list-easyblocks\n

        To see more details about the available easyblocks, i.e., in which Python module the class is defined, and where it is located, use --list-easyblocks=detailed.

        "},{"location":"using-easybuild/#avail_easyconfig_params","title":"All available easyconfig parameters","text":"

        (--avail-easyconfig-params / -a)

        EasyBuild provides a significant amount of easyconfig parameters. An overview of all available easyconfig parameters can be obtained via eb --avail-easyconfig-params, or eb -a for short.

        See available easyconfig parameters for more information, the supported parameters are a very rich set.

        Combine -a with --easyblock/-e to include parameters that are specific to a particular easyblock.

        Overview of easyconfig parameters, including those specific to the easyblock for WRF (indicated with (*)):
        $ eb -a -e EB_WRF\n\nAvailable easyconfig parameters (* indicates specific for the EB_WRF EasyBlock)\nMANDATORY\n---------\nbuildtype(*):         Specify the type of build (serial, smpar (OpenMP), dmpar (MPI), dm+sm (hybrid OpenMP/MPI)). (default: None)\ndescription:          A short description of the software (default: None)\ndocurls:              List of urls with documentation of the software (not necessarily on homepage) (default: None)\nhomepage:             The homepage of the software (default: None)\nname:                 Name of software (default: None)\nsoftware_license:     Software license (default: None)\nsoftware_license_urls:        List of software license locations (default: None)\ntoolchain:            Name and version of toolchain (default: None)\nversion:              Version of software (default: None)\n\nEASYBLOCK-SPECIFIC\n------------------\nrewriteopts(*):       Replace -O3 with CFLAGS/FFLAGS (default: True)\nruntest(*):           Build and run WRF tests (default: True)\n\nTOOLCHAIN\n---------\nonlytcmod:            Boolean/string to indicate if the toolchain should only load the environment with module (True) or also set all other variables (False) like compiler CC etc (if string: comma separated list of variables that will be ignored). (default: False)\ntoolchainopts:        Extra options for compilers (default: None)\n\nBUILD\n-----\nbuildopts:            Extra options passed to make step (default already has -j X) (default: )\nchecksums:            Checksums for sources and patches (default: [])\nconfigopts:           Extra options passed to configure (default already has --prefix) (default: )\neasyblock:            EasyBlock to use for building (default: ConfigureMake)\neasybuild_version:    EasyBuild-version this spec-file was written for (default: None)\ninstallopts:          Extra options for installation (default: )\nmaxparallel:          Max degree of parallelism (default: None)\nparallel:             Degree of parallelism for e.g. make (default: based on the number of cores, active cpuset and restrictions in ulimit) (default: None)\npatches:              List of patches to apply (default: [])\npostinstallcmds:      Commands to run after the install step. (default: [])\nprebuildopts:         Extra options pre-passed to build command. (default: )\npreconfigopts:        Extra options pre-passed to configure. (default: )\npreinstallopts:       Extra prefix options for installation. (default: )\nruntest(*):           Indicates if a test should be run after make; should specify argument after make (for e.g.,\"test\" for make test) (default: None)\nsanity_check_commands:        format: [(name, options)] e.g. [('gzip','-h')]. Using a non-tuple is equivalent to (name, '-h') (default: [])\nsanity_check_paths:   List of files and directories to check (format: {'files':<list>, 'dirs':<list>}) (default: {})\nskip:                 Skip existing software (default: False)\nskipsteps:            Skip these steps (default: [])\nsource_urls:          List of URLs for source files (default: [])\nsources:              List of source files (default: [])\nstop:                 Keyword to halt the build process after a certain step. (default: None)\ntests:                List of test-scripts to run after install. A test script should return a non-zero exit status to fail (default: [])\nunpack_options:       Extra options for unpacking source (default: None)\nunwanted_env_vars:    List of environment variables that shouldn't be set during build (default: [])\nversionprefix:        Additional prefix for software version (placed before version and toolchain name) (default: )\nversionsuffix:        Additional suffix for software version (placed after toolchain name) (default: )\n\nFILE-MANAGEMENT\n---------------\nbuildininstalldir:    Boolean to build (True) or not build (False) in the installation directory (default: False)\ncleanupoldbuild:      Boolean to remove (True) or backup (False) the previous build directory with identical name or not. (default: True)\ncleanupoldinstall:    Boolean to remove (True) or backup (False) the previous install directory with identical name or not. (default: True)\ndontcreateinstalldir: Boolean to create (False) or not create (True) the install directory (default: False)\nkeeppreviousinstall:  Boolean to keep the previous installation with identical name. Experts only! (default: False)\nkeepsymlinks:         Boolean to determine whether symlinks are to be kept during copying or if the content of the files pointed to should be copied (default: False)\nstart_dir:            Path to start the make in. If the path is absolute, use that path. If not, this is added to the guessed path. (default: None)\n\nDEPENDENCIES\n------------\nallow_system_deps:    Allow listed system dependencies (format: (<name>, <version>)) (default: [])\nbuilddependencies:    List of build dependencies (default: [])\ndependencies:         List of dependencies (default: [])\nhiddendependencies:   List of dependencies available as hidden modules (default: [])\nosdependencies:               OS dependencies that should be present on the system (default: [])\n\nLICENSE\n-------\ngroup:                Name of the user group for which the software should be available (default: None)\nkey:                  Key for installing software (default: None)\nlicense_file:         License file for software (default: None)\nlicense_server:       License server for software (default: None)\nlicense_server_port:  Port for license server (default: None)\n\nEXTENSIONS\n----------\nexts_classmap:        Map of extension name to class for handling build and installation. (default: {})\nexts_defaultclass:    List of module for and name of the default extension class (default: None)\nexts_filter:          Extension filter details: template for cmd and input to cmd (templates for name, version and src). (default: None)\nexts_list:            List with extensions added to the base installation (default: [])\n\nMODULES\n-------\ninclude_modpath_extensions: Include $MODULEPATH extensions specified by module naming scheme. (default: True)\nmodaliases:           Aliases to be defined in module file (default: {})\nmodextrapaths:        Extra paths to be prepended in module file (default: {})\nmodextravars:         Extra environment variables to be added to module file (default: {})\nmodloadmsg:           Message that should be printed when generated module is loaded (default: {})\nmodtclfooter:         Footer to include in generated module file (Tcl syntax) (default: )\nmoduleclass:          Module class to be used for this software (default: base)\nmoduleforceunload:    Force unload of all modules when loading the extension (default: False)\nmoduleloadnoconflict: Don't check for conflicts, unload other versions instead  (default: False)\n\nOTHER\n-----\nbuildstats:           A list of dicts with build statistics (default: None)\n
        "},{"location":"using-easybuild/#enable-debug-logging","title":"Enable debug logging","text":"

        (--debug / -d)

        Use eb --debug/-d to enable debug logging, to include all details of how EasyBuild performed a build in the log file:

        eb HPL-2.3-foss-2021b.eb --debug\n

        Tip

        You may enable this by default via adding debug = True in your EasyBuild configuration file.

        Note

        Debug log files are significantly larger than non-debug logs, beware!

        "},{"location":"using-easybuild/#rebuild_option","title":"Rebuild installation","text":"

        (--rebuild)

        Use eb --rebuild to rebuild a given easyconfig/module.

        Warning

        Use with care, since the reinstallation of existing modules will be done without requesting confirmation first!

        Tip

        Combine --rebuild with --dry-run to get a good view on which installations will be rebuilt (see also Getting an overview of planned installations).

        Note

        To create a backup of existing modules that are regenerated when --rebuild is used, use --backup-modules (see also Backing up of existing modules).

        "},{"location":"using-easybuild/#force_option","title":"Forced reinstallation","text":"

        (--force / -f)

        Use eb --force/-f to force the reinstallation of a given easyconfig/module. The behavior of --force is the same as --rebuild and --ignore-osdeps.

        Warning

        Use with care, since the reinstallation of existing modules will be done without requesting confirmation first!

        Tip

        Combine --force with --dry-run to get a good view on which installations will be forced (see also Getting an overview of planned installations).

        Note

        To create a backup of existing modules that are regenerated when --rebuild is used, use --backup-modules (see also Backing up of existing modules).

        "},{"location":"using-easybuild/#searching_for_easyconfigs","title":"Searching for easyconfigs","text":"

        (--search / -S)

        Searching for available easyconfig files can be done using the --search (long output) and -S (short output) command line options. All easyconfig files available in the robot search path are considered (see robot search path), and searching is done case-insensitive.

        For example, to see which easyconfig files are available for the software package named Mesquite:

        $ eb --search mesquite\n== temporary log file in case of crash /tmp/eb-_TYdTf/easybuild-iRJ2vb.log\n== Searching (case-insensitive) for 'mesquite' in /home/example/easybuild-easyconfigs/easybuild/easyconfigs\n* /home/example/easybuild-easyconfigs/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-8.3.0.eb\n

        The same query with -S is more readable, when there is a joint path that can be collapsed to a variable like $CFGS1:

        $ eb -S mesquite\n== temporary log file in case of crash /tmp/eb-5diJjn/easybuild-nUXlkj.log\n== Searching (case-insensitive) for 'mesquite' in /home/example/easybuild-easyconfigs/easybuild/easyconfigs\nCFGS1=/home/example/easybuild-easyconfigs/easybuild/easyconfigs/m/Mesquite\n* $CFGS1/Mesquite-2.3.0-GCCcore-8.3.0.eb\n

        For more specific searching, a regular expression pattern can be supplied (since EasyBuild v2.1.1).

        For example, to search which easyconfig files are available for GCC v11.x, without listing easyconfig files that use GCC v11.x as a toolchain:

        $ eb -S ^GCC-11.\n== temporary log file in case of crash /tmp/eb-PpwTwm/easybuild-b8yrOG.log\n== Searching (case-insensitive) for '^GCC-11.' in /home/example/easybuild-easyconfigs/easybuild/easyconfigs\nCFGS1=/home/example/easybuild-easyconfigs/easybuild/easyconfigs/g/GCC\n * $CFGS1/GCC-11.1.0.eb\n * $CFGS1/GCC-11.2.0.eb\n * $CFGS1/GCC-11.3.0.eb\n

        Or, to find all easyconfig files for matplotlib versions 3.5.1 and 3.5.2 that use the intel toolchain:

        $ eb -S '^matplotlib-3.5.[12].*intel'\n== temporary log file in case of crash /tmp/eb-Dv5LEJ/easybuild-xpGGSF.log\n== Searching (case-insensitive) for '^matplotlib-3.5.[12].*intel' in /home/example/easybuild-easyconfigs/easybuild/easyconfigs\nCFGS1=/home/example/easybuild-easyconfigs/easybuild/easyconfigs/m/matplotlib\n * $CFGS1/matplotlib-3.5.1-intel-2020b.eb\n * $CFGS1/matplotlib-3.5.2-intel-2022a.eb\n
        "},{"location":"using-easybuild/#use_robot","title":"Enabling dependency resolution","text":"

        (--robot / -r and --robot-paths)

        EasyBuild supports installing an entire software stack, including the required toolchain if needed, with a single eb invocation.

        To enable dependency resolution, use the --robot command line option (or -r for short):

        $ eb binutils-2.39.eb --robot\n[...]\n== building and installing zlib/1.2.12...\n[...]\n== building and installing M4/1.4.19...\n[...]\n== building and installing Bison/3.8.2...\n[...]\n== building and installing flex/2.6.4...\n[...]\n== building and installing binutils/2.39...\n[...]\n== Build succeeded for 5 out of 5\n

        The dependency resolution mechanism will construct a full dependency graph for the software package(s) being installed, after which a list of dependencies is composed for which no module is available yet. Each of the retained dependencies will then be built and installed, in the required order as indicated by the dependency graph.

        Tip

        Using --robot is particularly useful for software packages that have an extensive list of dependencies, or when reinstalling software using a different compiler toolchain (you can use the --try-toolchain command line option in combination with --robot).

        Warning

        Unless dependency resolution is enabled, EasyBuid requires that modules are available for every dependency. If --robot is not used and one or more modules are missing, eb will exit with an error stating that a module for a particular dependency could not be found. For example:

        Missing modules for dependencies (use --robot?): zlib/1.2.12\n
        "},{"location":"using-easybuild/#robot_search_path","title":"Searching for easyconfigs: the robot search path","text":"

        For each dependency that does not have a matching module installed yet, EasyBuild requires a corresponding easyconfig file. If no such easyconfig file was specified on the eb command line, the dependency resolution mechanism will try to locate one in the robot search path.

        Searching for easyconfigs is done based on filename (see also What is an easyconfig (file)?), with filenames being derived from the dependency specification (i.e. software name/version, toolchain and version suffix). For each entry in the robot search path, a couple of different filepaths are considered, mostly determined by the software name.

        For example, when looking for an easyconfig for OpenMPI version 4.1.4 and version suffix -test with toolchain GCC/11.3.0, the following filepaths are considered (relative to each entry in the robot search path):

        • OpenMPI/4.1.4-GCC-11.3.0-test.eb
        • OpenMPI/OpenMPI-4.1.4-GCC-11.3.0-test.eb
        • o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0-test.eb
        • OpenMPI-4.1.4-GCC-11.3.0-test.eb

        Note

        Sometimes easyconfig files are needed even when the modules for the dependencies are already available, i.e., whenever the information provided by the dependency specification (software name/version, toolchain and version suffix) is not sufficient. This is the case when using --dry-run to construct the complete dependency graph, or when the active module naming scheme requires some additional information (e.g., the moduleclass).

        Warning

        If EasyBuild is unable to locate required easyconfigs, an appropriate error message will be shown. For example:

        Irresolvable dependencies encountered: GCC/4.7.2\n

        or:

        Failed to find easyconfig file 'GCC-4.7.2.eb' when determining module name for: {...}\n
        "},{"location":"using-easybuild/#default-robot-search-path","title":"Default robot search path","text":"

        By default, EasyBuild will only include the collection of easyconfig files that is part of the EasyBuild installation in the robot search path. More specifically, only directories listed in the Python search path (partially specified by the $PYTHONPATH environment variable) that contain a subdirectory named easybuild/easyconfigs are considered part of the robot search path (in the order they are encountered).

        "},{"location":"using-easybuild/#controlling_robot_search_path","title":"Controlling the robot search path","text":"

        To control the robot search path, you can specify a (colon-separated list of) path(s) to --robot/-r and/or --robot-paths (or, equivalently, $EASYBUILD_ROBOT and/or $EASYBUILD_ROBOT_PATHS):

        eb --robot=$PWD:$HOME ...\n

        These two configuration options each serve a particular purpose, and together define the robot search path:

        • --robot, -r:
          • intended to be used (only) as a command line option to eb (although it can also be defined through another configuration type);
          • enables the dependency resolution mechanism (which is disabled by default);
          • optionally a list of paths can be specified, which is included first in the robot search path;
          • by default, the corresponding list of paths is empty;
        • --robot-paths:
          • intended to be defined in an EasyBuild configuration file, or via $EASYBUILD_ROBOT_PATHS;
          • does not enable the dependency resolution mechanism;
          • the specified list of paths is included last in the robot search path;
          • by default, only the path to the easyconfig files that are part of the EasyBuild installation is listed;
          • note: setting this configuration option implies redefining the default robot search path, unless a prepending/appending list of paths is specified, see Prepending/appending to the default robot search path;

        For both options, the list of paths should be specified as a colon-separated (:) list.

        By combining --robot and --robot-paths using the different configuration types (see also Supported configuration types), you have full control over the robot search path: which paths are included, the order of those paths, whether or not the easyconfig files that are part of the EasyBuild installation should be considered, etc.

        A constant named DEFAULT_ROBOT_PATHS is available that can be used (only) in EasyBuild configuration files to refer to the default robot search path, i.e. the path to the easyconfigs that are part of the EasyBuild installation. For more information on using constants in EasyBuild configuration files, see Templates and constants supported in configuration files.

        Tip

        Only use --robot to enable the dependency resolution mechanism; define robot-paths in your EasyBuild configuration file or via $EASYBUILD_ROBOT_PATHS to specify which sets of easyconfig files EasyBuild should consider, and in which order. By means of exception, a path can be specified to --robot to give a specific set of easyconfig files precedence over others, for example when testing modified easyconfig files.

        Note

        The paths specified on the configuration type with the highest order of preference replace any paths specified otherwise, i.e. values are not retained across configuration types. That is: --robot overrides the value in $EASYBUILD_ROBOT, $EASYBUILD_ROBOT_PATHS overrides the robot-paths specification in an EasyBuild configuration file, etc. Of course, the value specified for --robot does not directly affect the value specified for --robot-paths, on any configuration level, and vice versa. For more information on the relation between the different configuration types, see Supported configuration types.

        "},{"location":"using-easybuild/#robot_search_path_prepend_append","title":"Prepending/appending to the default robot search path","text":"

        Prepending or appending to the default robot search path is supported via the --robot-paths configuration option.

        To prepend one or more paths, a list of paths followed by a ':' should be specified.

        Analogously, to append one or more paths, a list of paths preceded by a ':' should be specified.

        For example:

        • \"export EASYBUILD_ROBOT_PATHS=/tmp:\" specifies to prepend /tmp to the robot search path;
        • \"--robot-paths :/tmp:$HOME/test\" specifies to append /tmp and $HOME/test to the robot search path (in that order);
        • \"--robot-paths=/tmp::$HOME/test\" specifies to prepend /tmp and to append $HOME/test to the robot search path;
        "},{"location":"using-easybuild/#example-use-case","title":"Example use case","text":"

        For example, say we want to configure EasyBuild to behave as follows w.r.t. the robot search path:

        • (i) (always) prefer easyconfig files in the archive/repository over the ones that are included in the EasyBuild installation;
        • (ii) consider easyconfig files located in the current directory or home directory first (in that order), before any others;

        Matching setup:

        • satisfy (i) using robot-paths in one of the active EasyBuild configuration files (see also List of configuration files):
        [basic]\nrepositorypath = /home/example/easybuild/easyconfigs_archive\nrobot-paths = %(repositorypath)s:%(DEFAULT_ROBOT_PATHS)s\n
        • satisfy (ii) via --robot on the eb command line:
        eb example.eb --robot $PWD:$HOME\n
        "},{"location":"using-easybuild/#get_an_overview","title":"Getting an overview of planned installations","text":"

        (--dry-run / -D)

        You can do a \"dry-run\" overview by supplying -D/--dry-run:

        $ eb binutils-2.39.eb -D\n== Temporary log file in case of crash /tmp/eb-3lh496ml/easybuild-hxmie76g.log\nDry run: printing build status of easyconfigs and dependencies\nCFGS=/Volumes/work/easybuild-easyconfigs/easybuild/easyconfigs\n * [x] $CFGS/z/zlib/zlib-1.2.12.eb (module: zlib/1.2.12)\n * [x] $CFGS/m/M4/M4-1.4.19.eb (module: M4/1.4.19)\n * [x] $CFGS/b/Bison/Bison-3.8.2.eb (module: Bison/3.8.2)\n * [ ] $CFGS/f/flex/flex-2.6.4.eb (module: flex/2.6.4)\n * [ ] $CFGS/b/binutils/binutils-2.39.eb (module: binutils/2.39)\n

        Note how the different status symbols denote distinct handling states by EasyBuild:

        • [ ] The build is not available, EasyBuild will deliver it
        • [x] The build is available, EasyBuild will skip building this module
        • [F] The build is available, however EasyBuild has been asked to force a rebuild via --force and will do so
        • [R] The build is available, and the application will be rebuilt as request via --rebuild

        Note

        Since EasyBuild v2.4.0, a detailed overview of the build and install procedure that EasyBuild will be execute can be obtained using --extended-dry-run or -x, see Extended dry run.

        "},{"location":"using-easybuild/#eb_missing","title":"Getting an overview of missing installations","text":"

        (--missing-modules / -M)

        Since EasyBuild v3.9.1, you can obtain a list of missing installations (i.e. easyconfigs for which no corresponding environment module file is available yet) using eb --missing-modules (or -eb -M for short):

        $ eb TensorFlow-1.13.1-foss-2019a-Python-3.7.2.eb --missing-modules\n== temporary log file in case of crash /tmp/eb-bjCz9b/easybuild-CSAvhK.log\n\n2 out of 54 required modules missing:\n\n* Bazel/0.20.0-GCCcore-8.2.0 (Bazel-0.20.0-GCCcore-8.2.0.eb)\n* TensorFlow/1.13.1-foss-2019a-Python-3.7.2 (TensorFlow-1.13.1-foss-2019a-Python-3.7.2.eb)\n

        Note that dependency resolution is enabled automatically (i.e., --robot is implied when using --missing-modules or -M).

        "},{"location":"using-easybuild/#tweaking_easyconfigs_using_try","title":"Tweaking existing easyconfig files","text":"

        (--try-*)

        Making minor changes to existing easyconfig files can be done straight from the eb command line. This way, having to manually copying and editing easyconfig files can be avoided.

        Tweaking existing easyconfig files can be done using the --try-* command line options. For each of the software build options that can be used as an alternative to specifying easyconfig file names, a matching --try-X command line options is available:

        • --try-toolchain to try using the toolchain with the given name and version

          • format: --try-toolchain=<name>,<version>
          • --try-toolchain-name to try using the latest toolchain version of a toolchain
          • --try-toolchain-version to try using a different toolchain version
        • --try-software-version to try building a different software version

        • --try-amend to try tweaking a different easyconfig parameter

          • format: --try-amend=<param>=<value>
          • only supports string and list-of-strings value types
          • example: --try-amend=sources='[\"<source_url>\"]'

        For example, to build and install BWA and its dependencies with a different toolchain version:

        $ eb BWA-0.7.17-GCC-10.3.0.eb --try-toolchain-version 11.2.0 -Dr\n== Temporary log file in case of crash /tmp/eb-93m2gyhf/easybuild-_c86e81n.log\nDry run: printing build status of easyconfigs and dependencies\n ...\n * [x] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/g/GCC/GCC-11.2.0.eb (module: GCC/11.2.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-11.2.0.eb (module: groff/1.22.4-GCCcore-11.2.0)\n * [ ] /tmp/eb-93m2gyhf/tweaked_dep_easyconfigs/expat-2.2.9-GCCcore-11.2.0.eb (module: expat/2.2.9-GCCcore-11.2.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-11.2.0.eb (module: ncurses/6.2-GCCcore-11.2.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/l/libreadline/libreadline-8.1-GCCcore-11.2.0.eb (module: libreadline/8.1-GCCcore-11.2.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0.eb (module: pkgconf/1.8.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb (module: OpenSSL/1.1)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-11.2.0.eb (module: DB/18.1.40-GCCcore-11.2.0)\n * [ ] /tmp/eb-93m2gyhf/tweaked_dep_easyconfigs/Perl-5.32.1-GCCcore-11.2.0.eb (module: Perl/5.32.1-GCCcore-11.2.0)\n * [ ] /tmp/eb-93m2gyhf/tweaked_easyconfigs/BWA-0.7.17-GCC-11.2.0.eb (module: BWA/0.7.17-GCC-11.2.0)\n

        Note

        The --try-* command line options behave as expected when combined with --robot.

        For example: a modified toolchain specified via --try-toolchain only trickles down until the toolchain level (not deeper). This makes for a particularly powerful combo for rebuilding entire software stacks using a different toolchain.

        Note

        Modifying the software version does not trickle down the entire software stack, even when combined with --robot, since a software version is tied to a particular software package.

        "},{"location":"using-easybuild/#module_cmds_overview","title":"Overview of basic module commands","text":"

        In case you are not familiar with using modules, here is a simple cheatsheet of most common module commands used in combination with Easybuild:

        module avail - list the modules that are currently available to load

        module load foss/2022a - load the module foss/2022a

        module list - list currently loaded modules

        module show foss/2022a - see contents of the module foss/2022a (shows the module functions instead of executing them)

        module unload foss/2022a - unload the module foss/2022a

        module purge - unload all currently loaded modules

        "},{"location":"using-external-modules/","title":"Using external modules","text":"

        Since EasyBuild v2.1, support for using modules that were not installed via EasyBuild is available. We refer to such modules as external modules.

        This can be useful to reuse vendor-supplied modules, for example on Cray systems.

        "},{"location":"using-external-modules/#using-external-modules-as-dependencies","title":"Using external modules as dependencies","text":"

        External modules can be used as dependencies, by including the module name in the dependencies list (see Dependencies), along with the EXTERNAL_MODULE constant marker.

        For example, to specify the readily available module fftw/3.3.4.2 as a dependency:

        dependencies = [('fftw/3.3.4.2', EXTERNAL_MODULE)]\n

        For such dependencies, EasyBuild will:

        • load the module before initiating the software build and install procedure
        • include a 'module load' statement in the generated module file (for non-build dependencies)

        If the specified module is not available, EasyBuild will exit with an error message stating that the dependency can not be resolved because the module could not be found. It will not search for a matching easyconfig file in order to try and install the module to resolve the dependency.

        "},{"location":"using-external-modules/#using_external_modules_metadata","title":"Metadata for external modules","text":"

        Since very little information is available for external modules based on the dependency specification alone (i.e., only the module name), metadata can be supplied to EasyBuild for external modules.

        Using the --external-modules-metadata configuration option, the location of one or more files can be specified that provide such metadata. The files are expected to be in INI format, with a section per module name and key-value assignments denoting the metadata specific to that module.

        Format:

        [modulename]\nkey1 = value1\nkey2 = value2, value3\n
        "},{"location":"using-external-modules/#default","title":"Default","text":"

        Up until EasyBuild v2.6.0, no metadata for external modules was available by default.

        Since EasyBuild v2.7.0, a file providing metadata for Cray-provided modules on Cray systems is included, and is active by default (i.e., unless other files are specified via --external-modules-metadata); see https://github.com/easybuilders/easybuild-framework/blob/main/etc/cray_external_modules_metadata.cfg.

        "},{"location":"using-external-modules/#using-wildcards","title":"Using wildcards","text":"

        Since EasyBuild v4.1.0, you can use so-called glob patterns to specify a list of paths to --external-modules-metadata, using wildcard characters like * and ?.

        For example, to specify that the metadata for external modules in all *.cfg files in the directory /example should be taken into account, you can use:

        export EASYBUILD_EXTERNAL_MODULES_METADATA='/example/*.cfg'\n
        "},{"location":"using-external-modules/#example","title":"Example","text":"

        For example, the following file provides metadata for a handful of modules that may be provided on Cray systems:

        [cray-hdf5/1.8.13]\nname = HDF5\nversion = 1.8.13\nprefix = HDF5_DIR\n\n[cray-hdf5-parallel/1.8.13]\nname = HDF5\nversion = 1.8.13\nprefix = /opt/cray/hdf5-parallel/1.8.13/GNU/49\n\n[cray-netcdf/4.3.2]\nname = netCDF, netCDF-Fortran\nversion = 4.3.2, 4.3.2\nprefix = NETCDF_DIR\n\n[fftw/3.3.4.5]\nname = FFTW\nversion = 3.3.4.5\nprefix = FFTW_INC/..\n
        "},{"location":"using-external-modules/#supported-metadata-values","title":"Supported metadata values","text":"

        The following keys are supported:

        • name: specifies the software name(s) that is (are) provided by the module
        • version: specifies the software version(s) that is (are) provided by the module
        • prefix: specifies the installation prefix of the software that is provided by the module

        For prefix, a couple of different options are available, i.e.:

        • specifying an absolute path (cfr. cray-hdf5-parallel/1.8.13 in the example above)
        • specifying the environment variable that is defined by the module and provides the installation prefix (cfr. cray-netcdf/4.3.2 in the example above)
        • this can be optionally combined with a relative path that serves as a 'correction' (cfr. fftw/3.3.4.5 in the example above) [supported since EasyBuild v2.7.0]

        Any other keys are simply ignored.

        Note

        When both name and version are specified, they must provide an equal number of values (see for example the cray-netcdf example above).

        "},{"location":"using-external-modules/#handling-of-provided-metadata","title":"Handling of provided metadata","text":"

        Using the provided metadata, EasyBuild will define environment variables that are also defined by modules that are generated by EasyBuild itself, if an external module for which metadata is available is loaded as a dependency.

        In particular, for each software name that is specified:

        • the corresponding environment variable $EBROOT<NAME> is defined to the specified prefix value (if any)
        • the corresponding environment variable $EBVERSION<NAME> is defined to the corresponding version value (if any)

        For example, for the external modules for which metadata is provided in the example above, the following environment variables are set in the build environment when the module is used as a dependency:

        • for cray-hdf5/1.8.1.13:
        • $EBROOTHDF5 = $HDF5_DIR
        • $EBVERSIONHDF5 = 1.8.13
        • for cray-hdf5-parallel/1.8.13:
        • $EBROOTHDF5 = /opt/cray/hdf5-parallel/1.8.13/GNU/49
        • $EBVERSIONHDF5 = 1.8.13
        • for cray-netcdf/4.3.2:
        • $EBROOTNETCDF = $NETCDF_DIR
        • $EBROOTNETCDFMINFORTRAN = $NETCDF_DIR
        • $EBVERSIONNETCDF = 4.3.2
        • $EBVERSIONNETCDFMINFORTRAN = 4.3.2
        • for fftw/3.3.4.5:
        • $EBROOTFFTW = $FFTW_INC/../
        • $EBVERSIONFFTW = 3.3.4.5

        The get_software_root and get_software_version functions that are commonly used occasionally in easyblocks pick up the $EBROOT* and $EBVERSION* environment variables, respectively.

        "},{"location":"what-is-easybuild/","title":"What is EasyBuild?","text":"

        EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way. It is motivated by the need for a tool that combines the following features:

        • a flexible framework for building/installing (scientific) software
        • fully automates software builds
        • divert from the standard configure / make / make install with custom procedures
        • allows for easily reproducing previous builds
        • keep the software build recipes/specifications simple and human-readable
        • supports co-existence of versions/builds via dedicated installation prefix and module files
        • enables sharing with the HPC community (win-win situation)
        • automagic dependency resolution
        • retain logs for traceability of the build processes

        Some key features of EasyBuild:

        • build & install (scientific) software fully autonomously

        • also interactive installers, code patching, generating module file, ...

        • easily configurable: configuration files / environment variables / command line options

        • including aspects like module naming scheme

        • thorough logging and archiving (see Log files)

        • entire build process is logged thoroughly, logs are stored in install directory;

        • easyconfig file used for build is archived (install directory + file/svn/git repo)

        • automatic dependency resolution (see --robot)

        • build entire software stack with a single command, using --robot

        • building software in parallel

        • robust and thoroughly tested code base, fully unit-tested before each release
        • thriving, growing community

        Take a look at our HUST'14 workshop paper Modern Scientific Software Management Using EasyBuild and Lmod (PDF), and use that as a reference in case you present academic work mentioning EasyBuild.

        "},{"location":"wrapping-dependencies/","title":"Wrapping dependencies","text":"

        Since EasyBuild v3.7.0 a special-purpose generic easyblock named ModuleRC is available, which can be used to generate a (software-specific) .modulerc file (as opposed to generating an actual module file).

        Note

        For compatibility with the different modules tools supported by EasyBuild (see Modules tool (--modules-tool)), the .modulerc file is always generated in Tcl syntax (for now), regardless of the module syntax that is used for module files. Only Lmod 7.8 (or later) supports .modulerc.lua files in Lua syntax.

        The ModuleRC easyblock supports including module-version in the generated .modulerc file, which defines a so-called \"symbolic version\".

        This can be used to install a \"wrapper\" for a particular module, which can be useful in the context of dependencies. For example, it can be used to avoid depending on a specific version of a particular software package by specifying the dependency only on the <major>.<minor> version instead (i.e., without including the \"subminor\" version, which usually corresponds to a bugfix release).

        One particular example where this is employed is for Java. Since the 2018b generation of the Common toolchains, we use a wrapper for Java (e.g., Java/1.8), rather than depending on a specific version (e.g., Java/1.8.0_181):

        # specify dependency on Java/1.8 \"wrapper\", rather than a specific Java version\ndependencies = [('Java', '1.8', '', SYSTEM)]\n

        This has a couple of advantages:

        • it helps with avoiding version conflicts on the Java dependency used by two (or more) otherwise independent module files;
        • it allows to perform an in-place update of the Java wrapper to a more recent Java (bugfix) release in the blink of an eye, since it only involves re-generating a .modulerc file (as opposed to performing actual installation and generating a module file); in addition, it doesn't require updating/re-generating existing module files that depend on the Java wrapper (since the version of the wrapper does not change)

        Since ModuleRC is a generic easyblock , it can also be employed to install module \"wrappers\" for dependencies other than Java.

        "},{"location":"writing-easyconfig-files/","title":"Writing easyconfig files: the basics","text":"

        This page explains all the basic information about how to write easyconfig files.

        For software builds that follow established build patterns, an easyconfig is all that you need to create in order to build and install the software and the corresponding module file.

        Luckily, the majority of software delivery mechanisms are being designed around either autotools or CMake or, perhaps, some simple file extraction/copy pattern. In that case, a generic easyblock can be leveraged; see Overview of generic easyblocks.

        Yet, in case the software build calls for more elaborate steps (scientific software never fails to surprise us in this regard), a software-specific easyblock may be required; see Implementing easyblocks.

        "},{"location":"writing-easyconfig-files/#what_is_an_easyconfig","title":"What is an easyconfig (file)?","text":"

        An easyconfig file serves as a build specification for EasyBuild.

        It consists of a plain text file (in Python syntax) with mostly key-value assignment to define easyconfig parameters.

        Easyconfigs typically follow a (fixed) strict naming scheme, i.e. <name>-<version>[-<toolchain>][<versionsuffix>].eb.

        The -<toolchain> label (which includes the toolchain name and version) is omitted when a system toolchain is used. The <versionsuffix> label is omitted when the version suffix is empty.

        Note

        the filename of an easyconfig is only important w.r.t. dependency resolution (--robot), see Enabling dependency resolution.

        Example:

        # easyconfig file for GCC v4.8.3\nname = 'GCC'\nversion = '4.8.3'\n...\n

        Tip

        Comments can be included in easyconfig files using the hash (#) character (just like in Python code).

        "},{"location":"writing-easyconfig-files/#available-easyconfig-parameters","title":"Available easyconfig parameters","text":"

        About 50 different (generic) easyconfig parameters are supported currently. An overview of all available easyconfig parameters is available via the -a command line option.

        By default, the parameters specific to generic (default) easyblock ConfigureMake are included; using --easyblock/-e parameters that are specific to a particular easyblock can be consulted.

        See Available easyconfig parameters for more details.

        Example:

        $ eb -a -e Binary\nAvailable easyconfig parameters (* indicates specific for the Binary EasyBlock)\nMANDATORY\n---------\n[..]\nname:           Name of software (default: None)\n[...]\nEASYBLOCK-SPECIFIC\n------------------\ninstall_cmd(*):     Install command to be used. (default: None)\n[...]\n
        "},{"location":"writing-easyconfig-files/#mandatory-easyconfig-parameters","title":"Mandatory easyconfig parameters","text":"

        A handful of easyconfig parameters are mandatory:

        • name, version: specify what software (version) to build
        • homepage, description: metadata (used for module help)
        • toolchain: specifies name and version of compiler toolchain to use
          • format: dictionary with name/version keys, e.g., {'name': 'foo', 'version': '1.2.3'}
          • a list of supported toolchains can be found here

        Remarks:

        • some others are planned to be required in the future
          • docurls, software license, software license urls

        Example:

        name = 'HPL'\nversion = '2.0'\n\nhomepage = 'http://www.netlib.org/benchmark/hpl/'\ndescription = \"High Performance Computing Linpack Benchmark\"\n\ntoolchain = {'name': 'goolf', 'version': '1.4.10'}\n[...]\n
        "},{"location":"writing-easyconfig-files/#common-easyconfig-parameters","title":"Common easyconfig parameters","text":"

        This section includes an overview of some commonly used (optional) easyconfig parameters.

        "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources","title":"Source files, patches and checksums","text":"
        • sources: list of source files (filenames only)
        • source urls: list of URLs where sources can be downloaded
        • patches: list of patch files to be applied (.patch extension)
        • checksums: list of checksums for source and patch files

        Remarks:

        • sources are downloaded (best effort), unless already available
        • proxy settings are taken into account, since the urllib2 Python package is used for downloading (since EasyBuild v2.0)
        • patches need to be EasyBuild-compatible
          • unified diff format (diff -ruN)
          • patched locations relative to unpacked sources
        • see Patches for more information on patches
        • see Checksums for more information on checksums
        • sources is usually specified as a list of strings representing filenames for source files, but other formats are supported too, see Alternative formats for sources

        Example:

        name = 'HPL'\nversion = '2.2'\n\n[...]\n\nsource_urls = ['http://www.netlib.org/benchmark/hpl']\nsources = ['hpl-%(version)s.tar.gz']\n\n# fix Make dependencies, so parallel build also works\npatches = ['HPL_parallel-make.patch']\n\nchecksums = ['ac7534163a09e21a5fa763e4e16dfc119bc84043f6e6a807aba666518f8df440']\n\n[...]\n

        Note

        Rather than hardcoding the version (and name) in the list of sources, a string template %(version)s can be used, see also Dynamic values for easyconfig parameters.

        "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources_patches","title":"Patches","text":"

        Patches can be provided via the patches easyconfig parameter (list). A patch can be defined as:

        • a string,
        • a tuple of 2 elements, or
        • a dict

        The most straight-forward use-case is string, which contains the name of the patch file (and must have .patch extension).

        A tuple adds the possibility to specify where patch should be applied. This is mostly needed if a patch file adds new files or it is generally not possible to determine the starting directory. The first element is the patch file and the second is either the patch level (as an integer) which is used in the patch command (patch -p<n>) or a directory relative to the unpacked source dir.

        Note

        tuple also has a special use case if the patch file has any other extension than .patch. In this case, the first tuple argument is a file which should be copied to the unpacked source dir and the second tuple argument is the target path, where the files should be copied to (relative to the unpacked source dir). See below for an example of this use case.

        A dict adds the ability to pass the patch command additional arguments. For example, the --binary flag is needed to patch files with CRLF endings. The dict has a required filename key, with level and opts being optional ones.

        Note

        Specifying only filename in dict is the same as using a plain string definition. Specifying filename and level is same as using a tuple definition.

        Example:

        patches = [\n  # a simple patch file\n  'name-versions-fix.patch',\n\n  # when creating only new files by patch file, you need to specify the level:\n  ('name-versions-fix.patch', 1),\n\n  # apply the patch in a (sub-)subdirectory inside the source tree\n  ('name-versions-fix.patch', 'src/subfolder'),\n\n  # copy file to target_path folder\n  ('Makefile', 'target_path'),\n\n  # specify patch file and optionally level and opts for patch command\n  {'filename': 'name-versions-fix.patch', 'level': 1, 'opts': '-l'}\n]\n
        "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources_checksums","title":"Checksums","text":"

        Checksums for source files and patches can be provided via the checksums easyconfig parameter.

        EasyBuild does not enforce checksums to be available for all source files and patches. Provided checksums will be 'consumed' first for the specified sources (in order), and subsequently also for patches.

        Nevertheless, providing checksums for all source files and patches is highly recommended.

        If checksums are provided, the checksum of the corresponding source files and patches is verified to match.

        The checksums easyconfig parameter is usually defined as a list of strings.

        Until EasyBuild v3.3.0, only MD5 checksums could be provided through a list of strings. Since EasyBuild v3.3.0, the checksum type is determined by looking at the length of the string:

        • 32-character strings are considered to be MD5 checksums (md5)
        • 64-character strings are considered to be SHA256 checksums (sha256)
        • (other lengths will result in an error message)

        The intention is to move towards making sha256 the recommended and default checksum type.

        Other checksum types are also supported: adler32, crc32, sha1, sha512, size (filesize in bytes). To provide checksum values of a specific type, elements of the checksums list can also be 2-element tuples of the form ('<checksum type>', '<checksum value>'). For example:

        checksums = [('sha512', 'f962008105639f58e9a4455c8057933ab0a5e2f43db8340ae1e1afe6dc2d24105bfca3b2e1f79cb242495ca4eb363c9820d8cea6084df9d62c4c3e5211d99266')]\n
        "},{"location":"writing-easyconfig-files/#inject_checksums","title":"Adding or replacing checksums using --inject-checksums","text":"

        Using the --inject-checksums command line option, you can let EasyBuild add or update checksums in one or more easyconfig files (which is significantly more convenient than doing it manually).

        With --inject-checksums, checksums are injected for all sources and patches (if any), as well as for all sources & patches of every extension listed in exts_list (if any, see Extensions).

        If the sources (& patches) are not available yet, EasyBuild will try to download them first; i.e., the fetch step is run prior to computing & injecting the checksums.

        A backup is created of every easyconfig file that is touched by --inject-checksums, to avoid accidental loss of information. Backups are given an additional extension of the form .bak_<year><month><day><hour><min><sec>.

        Note

        To clean up backup easyconfig files, you can use this one-liner:

        find . -name '*.eb.bak_*' | xargs rm -v\n

        The -v option makes rm print the path of files that are being removed.

        Do use this with care; just run find . -name '*.eb.bak_*' first in case of doubt!

        Multiple easyconfigs can be specified when using --inject-checksums, they will be processed in sequence. In addition, you can also combine --inject-checksums with --robot, see Synergy between --inject-checksums and --robot.

        "},{"location":"writing-easyconfig-files/#inject_checksums_adding","title":"Adding checksums when none are specified yet","text":"

        If the easyconfig file does not specify any checksums yet, they are simply injected after the sources (or patches, if present) specification when --inject-checksums is used.

        For example:

        $ eb bzip2-1.0.6.eb --inject-checksums\n== temporary log file in case of crash /tmp/eb-Vm6w3e/easybuild-cAVQl6.log\n== injecting sha256 checksums in /example/bzip2-1.0.6.eb\n== fetching sources & patches for bzip2-1.0.6.eb...\n== backup of easyconfig file saved to /example/bzip2-1.0.6.eb.bak_20170824200906...\n== injecting sha256 checksums for sources & patches in bzip2-1.0.6.eb...\n== * bzip2-1.0.6.tar.gz: a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd\n== Temporary log file(s) /tmp/eb-Vm6w3e/easybuild-cAVQl6.log* have been removed.\n== Temporary directory /tmp/eb-Vm6w3e has been removed.\n

        The backup easyconfig file can be used to double-check the difference between the original easyconfig file and the one produced by --inject-checksums:

        $ diff -u /example/bzip2-1.0.6.eb.bak_20170824200906 /example/bzip2-1.0.6.eb\ndiff --git a//example/bzip2-1.0.6.eb.bak_20170824200906 b/example/bzip2-1.0.6.eb\nindex 46b2debed..2eb73f15a 100644\n--- a/example/bzip2-1.0.6.eb.bak_20170824200906\n+++ b/example/bzip2-1.0.6.eb\n@@ -9,8 +9,9 @@ compressors), whilst being around twice as fast at compression and six times fas\n toolchain = SYSTEM\n toolchainopts = {'pic': True}\n\n-sources = [SOURCE_TAR_GZ]\n source_urls = ['http://www.bzip.org/%(version)s/']\n+sources = [SOURCE_TAR_GZ]\n+checksums = ['a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd']\n\n buildopts = \"CC=gcc CFLAGS='-Wall -Winline -O3 -fPIC -g $(BIGFILES)'\"\n

        Note

        Along with injecting checksums, EasyBuild will also reorder the source_urls, sources and patches specifications, in that order and if they are present, and include the checksums specification afterwards. This is done to facilitate working towards a uniform style in easyconfig files, which also applies to the order of specified easyconfig parameters.

        "},{"location":"writing-easyconfig-files/#inject_checksums_replacing","title":"Replacing existing checksums","text":"

        When one or more checksums are already specified, EasyBuild requires the use of --force together with --inject-checksums to replace those checksums. A clear warning will be printed to notify that existing checksums will be replaced.

        For example:

        $ eb bzip2-1.0.6.eb --inject-checksums\n== temporary log file in case of crash /tmp/eb-WhSwVH/easybuild-HCODnl.log\n== injecting sha256 checksums in /example/bzip2-1.0.6.eb\n== fetching sources & patches for bzip2-1.0.6.eb...\nERROR: Found existing checksums, use --force to overwrite them\n
        $ eb bzip2-1.0.6.eb --inject-checksums --force\n== temporary log file in case of crash /tmp/eb-dS2QLa/easybuild-JGxOzC.log\n== injecting sha256 checksums in /example/bzip2-1.0.6.eb\n== fetching sources & patches for bzip2-1.0.6.eb...\n\nWARNING: Found existing checksums in bzip2-1.0.6.eb, overwriting them (due to use of --force)...\n\n== backup of easyconfig file saved to /example/bzip2-1.0.6.eb.bak_20170824203850...\n== injecting sha256 checksums for sources & patches in bzip2-1.0.6.eb...\n...\n

        Note

        Any existing checksums are blindly replaced when --inject-checksums --force is used: the existing checksums are not verified to be correct as during normal use of EasyBuild (since that would kind of defeat the purpose of --inject-checksums). In addition, it also doesn't matter whether or not checksums are available for all sources & patches: with --inject-checksums, checksums will be added for all sources and patches, including for extensions listed in exts_list (if any).

        "},{"location":"writing-easyconfig-files/#inject_checksums_robot_synergy","title":"Synergy between --inject-checksums and --robot","text":"

        When --inject-checksums is combined with --robot, checksums are injected for each easyconfig file in the dependency graph for which no module is available yet.

        For example, to inject checksums in every easyconfig file required to build HPL 2.2 with the foss/2017a toolchain:

        $ MODULEPATH= eb HPL-2.2-foss-2017a.eb --installpath /tmp/$USER/sandbox --inject-checksums --robot\n== temporary log file in case of crash /tmp/eb-8HpJc3/easybuild-H35khM.log\n== resolving dependencies ...\n...\n== injecting sha256 checksums in /example/GCCcore-6.3.0.eb\n...\n== injecting sha256 checksums in /example/OpenMPI-2.0.2-GCC-6.3.0-2.27.eb\n...\n== injecting sha256 checksums in /example/FFTW-3.3.6-gompi-2017a.eb\n...\n== injecting sha256 checksums in /example/HPL-2.2-foss-2017a.eb\n...\n

        Note

        We are clearing $MODULEPATH and specifying a custom (empty) location to --installpath to avoid that EasyBuild skips any easyconfig because a corresponding module is already available.

        "},{"location":"writing-easyconfig-files/#inject_checksums_type","title":"Type of checksum to inject","text":"

        By default, --inject-checksums will compute & inject SHA256 checksums, but a different checksum type can be specified as an argument (e.g., --inject-checksums md5).

        Note

        Because of the optional argument that can be passed to --inject-checksums, you should not specify an easyconfig file name directly after the --inject-checksums, since it will be assumed to specify a checksum type, which will result in an error message like:

        $ eb --inject-checksums bzip2-1.0.6.eb\nUsage: eb [options] easyconfig [...]\n\neb: error: option --inject-checksums: invalid choice: 'bzip2-1.0.6.eb' (choose from 'adler32', 'crc32', 'md5', 'sha1', 'sha256', 'sha512', 'size')\n
        "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources_alt","title":"Alternative formats for sources","text":"

        In some cases, it can be required to provide additional information next to the name of a source file, e.g., a custom extraction command (because the one derived from the file extension is not correct), or an altername filename that should be used to download the source file.

        This can be specified using a Python dictionary value in the sources easyconfig parameter.

        Since EasyBuild v3.3.0, three keys are supported:

        • filename (mandatory): filename of source file
        • download_filename: filename that should be used when downloading this source file; the downloaded file will be saved using the filename value
        • extract_cmd: custom extraction command for this source file
        • source_urls: source URLs to consider for downloading this source file
        • git_config: see Downloading from a Git repository

        For example:

        sources = [{\n    'source_urls': ['https://example.com'],\n    'filename': 'example-%(version)s.gz',\n    'download_filename': 'example.gz',  # provided source tarball is not versioned...\n    'extract_cmd': \"tar xfvz %s\",  # source file is actually a gzipped tarball (filename should be .tar.gz)\n}]\n

        Note

        Custom extraction commands can also be specified as a 2-element tuple, but this format has been deprecated in favour of the Python dictionary format described above; see also Specifying source files as 2-element tuples to provide a custom extraction command.

        "},{"location":"writing-easyconfig-files/#using-download_instructions-for-user-side-part-of-installation","title":"Using download_instructions for user-side part of installation","text":"

        In some cases, getting some of the files required for an installation cannot be automated. Reasons for this include:

        • there is a manual stage to combine multiple downloaded files into the required installation file
        • the file requires a login to download

        You can use the download_instructions parameter to specify steps for the user to do. This parameter takes string value and prints it whenever build fails because any file needed was not found. If download_instructions is not specified, Easybuild prints the default message stating the paths that were tested.

        download_instructions = \"\"\"\n  Step 1: Go to example.com and download example.jar.\n  Step 2: Install example.jar (ensure Java is installed).\n  Step 3: Go to the installation directory and create Tarball of its contents (tar -czvf example.tar.gz *).\n  Step 4: Move created Tarball into the same directory, where your easyconfig is located and run build again.\n\"\"\"\n
        "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources_git_config","title":"Downloading from a Git repository","text":"

        Since EasyBuild v3.7.0, support for downloading directly from a Git repository is available.

        When git_config is provided for a particular source file (see Alternative formats for sources), EasyBuild will create a source tarball after downloading the specified Git repository.

        The value for git_config is a Python dictionary, where the following keys are mandatory:

        • url: the URL where the Git repository is located
        • repo_name: the name of the Git repository

        The value for filename in the source specification must end in .tar.gz (because a gzipped tarball will be created from the cloned repository).

        In addition, either of the following keys must also be defined:

        • tag: the specific tag to download
        • commit: the specific commit ID to download

        If a recursive checkout should be made of the repository, the recursive key can be set to True.

        To also retain the .git directory (which holds the Git metadata for the repository), you can set the keep_git_dir to True (supported since EasyBuild v4.2.0).

        A different name for the top-level directory can be specified via clone_into; by default the name of the repository is used.

        Examples:

        • creating a source tarball named example-main.tar.gz of the main branch of a (fictional) test repository from https://agitserver.org/example, and use example-test as top-level directory name:

          sources = [{\n    'filename': 'example-main.tar.gz',\n    'git_config': {\n        'url': 'https://agitserver.org/example',\n        'repo_name': 'test',\n        'tag': 'main',\n        'clone_into': 'example-test',\n    },\n}]\n
        • creating a source tarball named example-20180920.tar.gz of the recursive checkout of commit abcdef12 of the test repository from https://agitserver.org/example:

          sources = [{\n    'filename': 'example-20180920.tar.gz',\n    'git_config': {\n        'url': 'https://agitserver.org/example',\n        'repo_name': 'test',\n        'commit': 'abcdef12',\n        'recursive': True,\n        'keep_git_dir': True,\n    },\n}]\n

        Note

        Because the source tarball is created locally (by running tar cfvz on the directory containing the cloned repository), the (SHA256) checksum is not guaranteed to be the same across different systems.

        Whenever you have the option to download a source tarball (or equivalent) directly (for example from GitHub, which also allows downloading a tarball of a specific commit), we strongly recommend you to do so, git_config is intended for other Git repos.

        "},{"location":"writing-easyconfig-files/#dependency_specs","title":"Dependencies","text":"
        • dependencies: build/runtime dependencies
        • builddependencies: build-only dependencies (not in module)
        • hiddendependencies: dependencies via hidden modules (see also Installing dependencies as hidden modules using --hide-deps)
        • osdependencies: system dependencies (package names)

        Remarks:

        • modules must exist for all (non-system) dependencies
        • (non-system) dependencies can be resolved via --robot
        • format: (<name>, <version>[, <versionsuffix>[, <toolchain>]])

        Example:

        name = 'GTI'\n...\ntoolchain = {'name': 'goolf', 'version': '1.5.14'}\ndependencies = [('PnMPI', '1.2.0')]\nbuilddependencies = [('CMake', '2.8.12', '', ('GCC', '4.8.2'))]\n

        For each of the specified (build) dependencies, the corresponding module will be loaded in the build environment defined by EasyBuild. For the runtime dependencies, module load statements will be included in the generated module file.

        Note

        By default, EasyBuild will try to resolve dependencies using the same toolchain as specified for the software being installed. As of v3.0, if no easyconfig exists to resolve a dependency using the default toolchain EasyBuild will search for the dependency using a compatible subtoolchain.

        A different toolchain can be specified on a per-dependency level (cfr. the CMake build dependency in the example above).

        Alternatively, you can instruct EasyBuild to use the most minimal (sub)toolchain when resolving dependencies, see Using minimal toolchains for dependencies.

        "},{"location":"writing-easyconfig-files/#loading-of-modules-for-dependencies-with-a-system-toolchain","title":"Loading of modules for dependencies with a system toolchain","text":"

        When a system toolchain is used, the modules for each of the (build) dependencies are always loaded, regardless of the toolchain version (as opposed the behaviour with the dummy toolchain in EasyBuild versions prior to v4.0, see Motivation for deprecating the dummy toolchain).

        "},{"location":"writing-easyconfig-files/#specifying-dependencies-using-system-toolchain","title":"Specifying dependencies using system toolchain","text":"

        To make EasyBuild resolve a dependency using the system toolchain, simply use the SYSTEM template constant as the 4th value in the tuple representing the dependency specification.

        For example, to specify PnMPI version 1.2.0 built with the system toolchain as a (runtime) dependency:

        dependencies = [('PnMPI', '1.2.0', '', SYSTEM)]\n
        "},{"location":"writing-easyconfig-files/#using-external-modules-as-dependencies","title":"Using external modules as dependencies","text":"

        Since EasyBuild v2.1, specifying modules that are not provided via EasyBuild as dependencies is also supported. See Using external modules for more information.

        "},{"location":"writing-easyconfig-files/#module_extensions","title":"Extensions","text":"

        Besides dependencies, which are found outside the software being built but are part of the site's EasyBuild installation, it is also possible to incorporate extensions to the software within the build. This is done via the exts_list array.

        Each entry in exts_list is a three-component tuple, with the name and version number, and a dictionary of configuration options for the entry:

        exts_list = [\n    ('name', 'version', { 'option':'value', 'option':'value' })\n]\n

        The latter may contain essentially any of the full easyconfig parameters, including buildopts, installopts, etc. Among those options, the following exceptions and special cases should be noted:

        • nosource: If set True, no download will be done
        • source_tmpl: Template string for the file to be downloaded
          • default is '%(name)s-%(version)s.tar.gz'
          • %(name)s and %(version)s come from the exts_list entry (above)
        • sources: Dictionary specifying details of where to download the extension
          • equivalent to a single entry from the easyconfig sources list
          • preferred to use of source_tmpl
        • start_dir: If not set, will be derived; the easyconfig value will not be used
        exts_list = [\n    ('llvmlite', '0.26.0', {\n        'source_urls': ['https://pypi.python.org/packages/source/l/llvmlite/'],\n        'patches': ['llvmlite-0.26.0_fix-ffi-Makefile.patch'],\n        'checksums': [\n            '13e84fe6ebb0667233074b429fd44955f309dead3161ec89d9169145dbad2ebf',    # llvmlite-0.26.0.tar.gz\n            '40e6fe6de48709b45daebf8082f65ac26f73a4afdf58fc1e8099b97c575fecae',    # llvmlite-0.26.0_fix-ffi-Makefile.patch\n        ],\n    }),\n    ('singledispatch', '3.4.0.3', {\n        'source_urls': ['https://pypi.python.org/packages/source/s/singledispatch/'],\n        'checksums': ['5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c'],\n    }),\n    (name, version, {\n        'source_urls': ['https://pypi.python.org/packages/source/n/numba/'],\n        'checksums': ['c62121b2d384d8b4d244ef26c1cf8bb5cb819278a80b893bf41918ad6d391258'],\n    }),\n]\n

        That third instance uses the name and version variables defined in the easyconfig file. Since EasyBuild v4.2.2, a single-entry sources dictionary (see Alternative formats for sources) may be included in an exts_list entry. For example, to download Git sources from a private repository and convert them to a tar-ball for installation:

        exts_defaultclass = 'PythonPackage'\nexts_list = [\n    ('pyCAP', '0.1', {\n        'sources': {\n            'filename': '%(name)s-%(version)s.tar.gz',\n            'git_config': {\n                'url': 'ssh://nero.stanford.edu/data/git/Analysis',\n                'repo_name': 'pyCAP',\n                'tag': '%(version)s',\n            }\n        }\n    }),\n]\n

        Here, the template strings %(name)s and %(version)s will be substituted from the exts_list entry elements (\"pyCAP\" and \"0.1\", respectively), not from the easyconfig values.

        "},{"location":"writing-easyconfig-files/#configure_build_install_command_options","title":"Configure/build/install command options","text":"
        • configopts: options for configure command
        • preconfigopts: options used as prefix for configure command

        In analogy to configure, also build and install commands are tuneable:

        • buildopts, prebuildopts: options for build command
        • installopts, preinstallopts: options for install command

        Example:

        easyblock = 'ConfigureMake'\n...\n# configure with: ./autogen.sh && ./configure CC=\"$CC\" CFLAGS=\"$CFLAGS\"\npreconfigopts = \"./autogen.sh && \"\nbuildopts = 'CC=\"$CC\" CFLAGS=\"$CFLAGS\"'\n# install with: make install PREFIX=<installation prefix>\ninstallopts = 'PREFIX=%(installdir)s'\n

        Note

        For more details w.r.t. use of string templates like %(installdir)s, see Dynamic values for easyconfig parameters.

        "},{"location":"writing-easyconfig-files/#configure_build_install_command_options_iterate","title":"List of configure/build/install options","text":"

        In some cases, the configure-build-install cycle must be executed multiple times during a single installation, using different options for one or more steps.

        EasyBuild supports specifying a list of strings, each of which specifying a particular set of options to use.

        For example, to perform the installation procedure with three different sets of configuration options:

        configopts = [\n    \"--common-opt --one --one-more\",\n    \"--common-opt --two\",\n    \"--common-opt --three\",\n]\n

        This way, EasyBuild will perform the configure-build-install cycle three times:

        • configure using --common-opt --one --one-more, build and install
        • configure using --common-opt --two, build and install on top of the existing installation
        • configure using --common-opt --three, build and install once more on top of what is installed already

        During this process, the environment is reset and the build directory is cleaned up after each cycle, while the installation directory is left untouched (in order to not destroy the result of earlier cycles).

        If several (pre){config|build|install}opts parameters are defined as being a list of strings, the number of items in the lists must be the same. Any of these parameters defined as a single string value are just reused for each of the cycles performed. For example:

        easyblock = 'ConfigureMake'\nconfigopts = ['--one', '--two', '--three']\nbuildopts = 'lib'\npreinstallopts = ['TYPE=one', 'TYPE=two', 'TYPE=three']\n

        would result in:

        • ./configure --prefix=... --one; make lib; TYPE=one make install
        • ./configure --prefix=... --two; make lib; TYPE=two make install
        • ./configure --prefix=... --three; make lib; TYPE=three make install

        An example use case of this is building FFTW with different precisions, see the FFTW easyconfig files.

        "},{"location":"writing-easyconfig-files/#sanity-check","title":"Sanity check","text":"

        Custom paths and commands to be used in the sanity check step can be specified using the respective parameters. These are used to make sure that an installation didn't (partly) fail unnoticed.

        • sanity_check_paths: files/directories that must get installed
        • sanity_check_commands: (simple) commands that must work when the installed module is loaded

        Remarks:

        • format: Python dictionary with (only) files/dirs keys
        • values must be lists of (tuples of) strings, one of both must be non-empty
          • paths are relative to installation directory
          • for a path specified as a tuple, only one of the specified paths must be available
        • default values:
          • paths: non-empty bin and lib or lib64 directories
          • commands: none

        Example:

        sanity_check_paths = {\n    'files': [\"bin/xhpl\"],\n    'dirs': [],\n}\n
        "},{"location":"writing-easyconfig-files/#writing_easyconfigs_easyblock_spec","title":"Easyblock specification","text":"

        To make EasyBuild use a specific (usually generic) easyblock the easyblock parameter can be used.

        By default, EasyBuild will assume that the easyblock to use can be derived from the software name. For example: for GCC, EasyBuild will look for an easyblock class named EB_GCC in the Python module easybuild.easyblocks.gcc.

        A list of available easyblocks is available via --list-easyblocks (see also List of available easyblocks); generic easyblocks are the ones for which the name does not start with EB_.

        Example:

        easyblock = 'CMakeMake'\nname = 'GTI'\nversion = '1.2.0'\n...\n

        Tip

        It is highly recommended to use existing (generic) easyblocks, where applicable. This avoids the need for creating (and maintaining) new easyblocks. Typically, generic easyblocks support several custom easyconfig parameters which allow to steer their behavior (see also All available easyconfig parameters).

        Example:

        easyblock = 'Binary'\n[...]\ninstall_cmd = \"./install.bin\"\n[...]\n
        "},{"location":"writing-easyconfig-files/#module-class","title":"Module class","text":"

        The category to which the software belongs to can be specified using the moduleclass easyconfig parameter. By default, the base module class is used (which should be replaced with a more appropriate category).

        EasyBuild enforces that only known module classes can be specified (to avoid misclassification due to typos).

        The default list of module classes is available via --show-default-moduleclasses; additional module classes can be defined via the --moduleclasses configure option.

        Example:

        name = 'GCC'\n[...]\nmoduleclass = 'compiler'\n

        Note

        By default, EasyBuild will create a symlink to the generated module file in a module class-specific path. This behavior is configurable through the module naming scheme being used.

        Tip

        The module class may play a significant role in other aspects. For example, the alternative (hierarchical) module naming scheme HierarchicalMNS heavily relies on the moduleclass parameter for discriminating compilers and MPI libraries.

        "},{"location":"writing-easyconfig-files/#tweaking-existing-easyconfig-files","title":"Tweaking existing easyconfig files","text":"

        The ability to modify easyconfig files on the fly with EasyBuild, provides a very powerful and flexible feature to describe builds, without having to manually create all the input files.

        Tweaking existing easyconfigs can be done using the --try-* command lines options. See Tweaking existing easyconfig files for more details.

        Example:

        • GCC version update:

          eb GCC-4.9.0.eb --try-software-version=4.9.1\n
        • install WRF + its dozen dependencies with a different toolchain (!):

          eb WRF-3.5.1-ictce-5.3.0-dmpar.eb --try-toolchain=intel,2014b -r\n
        "},{"location":"writing-easyconfig-files/#easyconfig_param_templates","title":"Dynamic values for easyconfig parameters","text":"

        String templates are completed using the value of particular easyconfig parameters, typically name and/or version. These help to avoid hardcoding values in multiple locations.

        A list of available string templates can be obtained using --avail-easyconfig-templates.

        Additionally, constants that can be used in easyconfig files are available via --avail-easyconfig-constants.

        Example:

        name = 'GCC'\nversion = '4.8.3'\n...\nsource_urls = [\n    # http://ftpmirror.gnu.org/gcc/gcc-4.8.3\n    'http://ftpmirror.gnu.org/%(namelower)s/%(namelower)s-%(version)s',\n]\nsources = [SOURCELOWER_TAR_GZ]  # gcc-4.8.3.tar.gz\n...\n

        Note

        Proper use of string templates is important, in particular to avoid hardcoding the software version in multiple locations of an easyconfig file; this is critical to make --try-software-version behave as expected (see also Tweaking existing easyconfig files).

        "},{"location":"writing-easyconfig-files/#version-specific-documentation-relevant-to-easyconfigs","title":"Version-specific documentation relevant to easyconfigs","text":"
        • Available config file constants
        • Available easyconfig parameters
        • Constants available for easyconfig files
        • License constants available for easyconfig files
        • List of available easyblocks
        • List of available toolchain options
        • List of known toolchains
        • List of supported software
        • Overview of generic easyblocks
        • Templates available for easyconfig files
        "},{"location":"writing-easyconfig-files/#contributing-easyconfigs","title":"Contributing easyconfigs","text":"

        Contribute your working easyconfig files!

        Share your expertise with the community, avoid duplicate work, especially if:

        • the software package is not supported yet
        • an existing easyconfig needs (non-trivial) changes for a different version/toolchain
        • it is a frequently used software package (compilers, MPI, etc.)

        See Contributing for more information.

        "},{"location":"writing-yeb-easyconfig-files/","title":"Writing easyconfig files in YAML syntax (.yeb format) Deprecated","text":"

        Warning

        Use of .yeb easyconfigs is deprecated and will be removed in EasyBuild v5.0.

        Useful links:

        • YAML syntax specification: https://www.yaml.org/spec/1.2/spec.html
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_requirements","title":"Requirements","text":"

        To use .yeb easyconfigs, you need to have:

        • an EasyBuild (development) version which is aware of the .yeb format (i.e., version 2.3.0dev or higher)
        • PyYAML installed and available in your Python search path (via $PYTHONPATH for example), such that import yaml works
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax","title":"Syntax","text":""},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_YAML_header","title":"YAML header (optional)","text":"

        Easyconfig files in YAML syntax can start with a standard YAML header.

        It consists of two lines:

        • a line with a '%YAML' directive which also indicates the YAML version being used (the latest YAML version is 1.2, and dates from 2009);
        • followed by a document marker line '---' (which is used to separate directives from content)

        For example::

        %YAML 1.2\n---\n

        This header is optional, but we recommend including it; one advantage is that editor will use proper syntax highlighting for YAML when the %YAML directory is included.

        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_comments","title":"Comments","text":"

        Comments can be included anywhere, and are prefixed with a hash character #:

        # this is a comment\n
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_internal_variables","title":"Internal variables","text":"

        To define and use temporary/internal variables in easyconfig files, which can be useful to avoid hardcoding (partial) easyconfig parameter values, the YAML anchor/alias functionality can be used (see also https://www.yaml.org/spec/1.2/spec.html#id2765878).

        A value can be marked for future reference via an anchor, using the ampersand character '&'. Referring to it later is done using an asterisk character '*'.

        Typically, internal variables are defined at the top of the .yeb easyconfig file using a list named _internal_variables_, but this is just a matter of style; anchors can be defined throughout the entire file if desired.

        For example, referring to the Python version being used in both the versionsuffix and list of dependencies can be done as follows::

        _internal_variables_:\n- &pyver 2.7.10\n\nversionsuffix: !join [-Python-, *pyver]\ndependencies:\n- [Python, *pyver]\n

        In this example, the !join is used to concatenate two string values, see also Concatenating strings and/or variables.

        A more elaborate example of this is the goolf-1.4.10.yeb example easyconfig.

        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_string_concatenation","title":"Concatenating strings and/or variables","text":"

        The standard YAML format does not support the notion of string concatenation.

        Since concatenating string values is a common pattern in easyconfig files, the EasyBuild framework defines the !join operator to support this.

        For example, defining a versionsuffix that contains the Python version being used (which may be referred to elsewhere too) can be done as follows:

        _internal_variables_:\n- &pyver 2.7.10\n\nversionsuffix: !join [-Python-, *pyver]\n
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_escaping","title":"Escaping string values with single or double quotes","text":"

        Strings in YAML can be unquoted. However, when they contain special characters they need to be escaped by either single- or double-quoting the string.

        Special characters that require single quotes are: : { } [ ] , & * # ? | - < > = ! % @ and \\. When using single-quoted strings, any single quote inside the string must be doubled to escape it.

        If the string contains control characters such as \\n, it must be escaped with double quotes.

        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_easyconfig_parameters","title":"Easyconfig parameter values","text":"

        To define an easyconfig parameter, simply use <key>: <value> (i.e., use a colon : as a separator).

        In YAML terminology, an easyconfig file is expressed as a mapping, with easyconfig parameters as keys.

        Three types of values (nodes) are supported: scalars (strings, integers), sequences (lists) and mappings (dictionaries).

        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_scalars","title":"Scalar values","text":"

        Using scalar values is straight-forward, no special syntax is required.

        For string values, no quotes must be used (in general). However, quotes are sometimes required to escape characters that have special meaning in YAML (like ':'). (Also see: Escaping string values with single or double quotes) It's worth noting that there's a subtle difference between using single and double quotes, see Flow Scalar Styles.

        Examples:

        name: gzip\nversion: 1.6\n\n# single quotes are required for string values representing URLs, to escape the ':'\nhomepage: 'http://www.gnu.org/software/gzip/'\n\nparallel: 1\n

        Multiline strings can be expressed using indentation:

        description:\ngzip is a popular data compression program\nas a replacement for compress\n
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_sequences","title":"Sequences","text":"

        Sequence values (a.k.a. lists) can be expressed in different ways, depending on their size.

        If there are a limited number of (short) entries the value can be expressed on a single line, using square brackets '[' ']' and with comma ',' as separator.

        Example:

        # quotes are required to escape the ':'\nsource_urls: ['http://ftpmirror.gnu.org/gzip/', 'ftp://ftp.gnu.org/gnu/gzip/']\n

        Alternatively indentation can be used for scope, with each entry on its own line, indicated with a dash and a space - item

        Example:

        # no quotes required here, since there's no ambiguity w.r.t. ':'\nsource_urls:\n- http://ftpmirror.gnu.org/gzip/\n- http://ftp.gnu.org/gnu/gzip/\n- ftp://ftp.gnu.org/gnu/gzip/\n
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_mappings","title":"Mappings","text":"

        Mapping values (a.k.a. dictionaries) are expressed using a colon ':' and space as key-value separator, a comma ',' to key-value pairs, and curly braces '{' '}' to mark the start/end.

        For example:

            toolchain: {name: intel, version: 2015b}\n
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_nesting","title":"Nesting","text":"

        Different types of values can be nested.

        For example, sequence values can be used in a mapping:

        sanity_check_paths: {\n    files: [bin/gunzip, bin/gzip, bin/uncompress],\n    dirs: [],\n}\n

        And sequences of sequences are also supported:

        osdependencies\n- zlib\n- [openssl-devel, libssl-dev, libopenssl-devel]\n
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_template_values_constants","title":"Templates values and constants","text":"

        Template values can be specified as a part of string values, using %(template_name).

        Template constants are injected by the easyconfig .yeb parser as node anchors, and can be referred to with an alias node, i.e. using an asterisk *.

        For example:

            source_urls: [*GNU_SOURCE]\nsources: ['%(name)s-%(version)s.tar.gz']  # equivalent with [*SOURCE_TAR_GZ]\n

        See also Dynamic values for easyconfig parameters.

        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_dependencies","title":"Dependencies","text":"

        We updated the way dependencies are specified to match with the new toolchain format (OS dependencies and sanity check paths) The format is a bit more verbose than before, but easier to read. Each dependency is a list entry, indicated by a dash and space (- item). Each entry can specify a name: version key-value pair, and a versionsuffix and toolchain. Only the name: version pair is required.

        Dependencies can also be external modules. In this case, the dependency has to be specified with a name and the marker external_module: True. The boolean value is not case-sensitive.

        A straightforward example:

        dependencies:\n- libreadline: 6.3\n- Tcl: 8.6.4\n- name: fftw/3.3.4.4\nexternal_module: True\n\nbuilddependencies:\n# empty versionsuffix, different toolchain (GCC/4.9.2)\n- CMake: 3.2.2\ntoolchain: GCC, 4.9.2\n

        A more complicated example from a toolchain easyconfig, where also the !join operator (see Concatenating strings and/or variables) and internal variables (see Internal variables) are used:

        _internal_variables_:\n- &comp_name GCC\n- &comp_version 4.7.2\n- &comp [*comp_name, *comp_version]\n\n- &blaslib OpenBLAS\n- &blasver 0.2.6\n- &blas !join [*blaslib, -, *blasver]\n- &blas_suff -LAPACK-3.4.2\n\n- &comp_mpi_tc [gompi, 1.4.10]\n\ndependencies:\n- *comp_name: *comp_version\n- OpenMPI: 1.6.4\ntoolchain: *comp\n- *blaslib: *blasver\nversionsuffix: *blas_suff\ntoolchain: *comp_mpi_tc\n- FFTW: 3.3.3\ntoolchain: *comp_mpi_tc\n- ScaLAPACK: 2.0.2\nversionsuffix: !join [-, *blas, *blas_suff]\ntoolchain: *comp_mpi_tc\n

        For the full version of this easyconfig file, see the example .yeb easyconfig goolf-1.4.10.yeb.

        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_new","title":"OS dependencies and sanity check paths","text":"

        To specify parameters that used to contain tuples such as osdependencies and sanity_check_paths, simply use lists (sequences) instead of tuples.

        For example:

        # note: this is eb syntax, will not work in .yeb files\nosdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')]\n

        Becomes:

        osdependencies: [[openssl-devel, libssl-dev, libopenssl-devel]]\n

        And:

        # note: this is eb syntax, will not work in .yeb files\nsanity_check_paths = {\n    'files': ['fileA', ('fileB', 'fileC')],\n    'dirs' : ['dirA', 'dirB'],\n}\n

        Becomes:

        sanity_check_paths: {\n    files: [fileA, [fileB, fileC]],\n    dirs: [dirA, dirB]\n}\n
        "},{"location":"writing-yeb-easyconfig-files/#shorthands-for-common-easyconfig-parameters","title":"Shorthands for common easyconfig parameters","text":""},{"location":"writing-yeb-easyconfig-files/#toolchain-format","title":"Toolchain format","text":"

        The easyconfig parameter toolchain in .eb files is defined as a dictionary {'name':'foo', 'version':'bar'}. In the .yeb format, this can be done much easier by just using name, version. E.g:

        # note: this is eb syntax, will not work in yeb files\ntoolchain = {'name':'intel', 'version':'2015b'}\n

        becomes:

        toolchain: intel, 2015b\n
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_examples","title":"Examples","text":""},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_examples_gzip16_GCC492","title":"gzip-1.6-GCC-4.9.2.yeb","text":"

        Example easyconfig for gzip v1.6 using the GCC/4.9.2 toolchain.

        %YAML 1.2\n---\neasyblock: ConfigureMake\n\nname: gzip\nversion: 1.6\n\nhomepage: 'http://www.gnu.org/software/gzip/'\ndescription:\ngzip is a popular data compression program\nas a replacement for compress\n\ntoolchain: GCC, 4.9.2\n\n# http://ftp.gnu.org/gnu/gzip/gzip-1.6.tar.gz\nsource_urls: [*GNU_SOURCE]\nsources: [%(name)s-%(version)s.tar.gz]\n\n# make sure the gzip, gunzip and compress binaries are available after installation\nsanity_check_paths: {\n    files: [bin/gunzip, bin/gzip, bin/uncompress],\n    dirs: [],\n}\n\nmoduleclass: tools\n
        "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_examples_goolf1410","title":"goolf-1.4.10.yeb","text":"

        Easyconfig file in YAML syntax for the goolf v1.4.10 toolchain.

        _internal_variables_:\n- &version 1.4.10\n\n- &comp_name GCC\n- &comp_version 4.7.2\n- &comp [*comp_name, *comp_version]\n\n- &blaslib OpenBLAS\n- &blasver 0.2.6\n- &blas !join [*blaslib, -, *blasver]\n- &blas_suff -LAPACK-3.4.2\n\n- &comp_mpi_tc [gompi, *version]\n\n\neasyblock: Toolchain\n\nname: goolf\nversion: *version\n\nhomepage: (none)\ndescription: |\nGNU Compiler Collection (GCC) based compiler toolchain, including\nOpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.\n\ntoolchain: {name: system, version: system}\n\n# compiler toolchain dependencies\n# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain\n# because of toolchain preparation functions\ndependencies:\n- *comp_name: *comp_version\n- OpenMPI: 1.6.4\ntoolchain: *comp\n- *blaslib: *blasver\nversionsuffix: *blas_suff\ntoolchain: *comp_mpi_tc\n- FFTW: 3.3.3\ntoolchain: *comp_mpi_tc\n- ScaLAPACK: 2.0.2\nversionsuffix: !join [-, *blas, *blas_suff]\ntoolchain: *comp_mpi_tc\n\nmoduleclass: toolchain\n
        "},{"location":"writing-yeb-easyconfig-files/#python-2710-intel-2015byeb","title":"Python-2.7.10-intel-2015b.yeb","text":"
        _internal_variables_:\n- &numpyversion 1.9.2\n- &scipyversion 0.15.1\n\neasyblock: ConfigureMake\n\nname: Python\nversion: 2.7.10\n\nhomepage: http://python.org/\ndescription: |\nPython is a programming language that lets you work more quickly and integrate your systems\nmore effectively.\n\ntoolchain: intel, 2015b\ntoolchainopts: {pic: True, opt: True, optarch: True}\n\nsource_urls: ['http://www.python.org/ftp/python/%(version)s/']\nsources: [*SOURCE_TGZ]\n\n# python needs bzip2 to build the bz2 package\ndependencies: [\n- bzip2: 1.0.6\n- zlib: 1.2.8\n- libreadline: 6.3\n- ncurses: 5.9\n- SQLite: 3.8.10.2\n- Tk: 8.4.6\nversionsuffix: -no-X11\n# - OpenSSL: 1.0.1m\n#   OS dependency should be preferred if the os version is more recent then this version, its\n#   nice to have an up to date openssl for security reasons\n]\n\nosdependencies: [[openssl-devel, libssl-dev, libopenssl-devel]]\n\n# order is important!\n# package versions updated May 28th 2015\nexts_list: [\n[setuptools, '16.0', {\n        source_urls: [\"https://pypi.python.org/packages/source/s/setuptools/\"],\n}],\n[pip, 7.0.1, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pip/\"],\n}],\n[nose, 1.3.6, {\n        source_urls: [\"https://pypi.python.org/packages/source/n/nose/\"],\n}],\n[numpy, *numpyversion, {\n        source_urls: [\n[!join [\"http://sourceforge.net/projects/numpy/files/NumPy/\", *numpyversion], download]\n],\n        patches: [\nnumpy-1.8.0-mkl.patch, # % numpyversion,\n],\n}],\n[scipy, *scipyversion, {\n        source_urls: [\n[!join [\"http://sourceforge.net/projects/scipy/files/scipy/\", *scipyversion], download]],\n}],\n[blist, 1.3.6, {\n        source_urls: [\"https://pypi.python.org/packages/source/b/blist/\"],\n}],\n[mpi4py, 1.3.1, {\n        source_urls: [\"http://bitbucket.org/mpi4py/mpi4py/downloads/\"],\n}],\n[paycheck, 1.0.2, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/paycheck/\"],\n}],\n[argparse, 1.3.0, {\n        source_urls: [\"https://pypi.python.org/packages/source/a/argparse/\"],\n}],\n[pbr, 1.0.1, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pbr/\"],\n}],\n[lockfile, 0.10.2, {\n        source_urls: [\"https://pypi.python.org/packages/source/l/lockfile/\"],\n}],\n[Cython, '0.22', {\n        source_urls: [\"http://www.cython.org/release/\"],\n}],\n[six, 1.9.0, {\n        source_urls: [\"https://pypi.python.org/packages/source/s/six/\"],\n}],\n[dateutil, 2.4.2, {\n        source_tmpl: python-%(name)s-%(version)s.tar.gz,\n        source_urls: [\"https://pypi.python.org/packages/source/p/python-dateutil/\"],\n}],\n[deap, 1.0.2, {\n# escaped with quotes because yaml values can't start with %\n        source_tmpl: \"%(name)s-%(version)s.post2.tar.gz\",\n        source_urls: [\"https://pypi.python.org/packages/source/d/deap/\"],\n}],\n[decorator, 3.4.2, {\n        source_urls: [\"https://pypi.python.org/packages/source/d/decorator/\"],\n}],\n[arff, 2.0.2, {\n        source_tmpl: liac-%(name)s-%(version)s.zip,\n        source_urls: [\"https://pypi.python.org/packages/source/l/liac-arff/\"],\n}],\n[pycrypto, 2.6.1, {\n        modulename: Crypto,\n        source_urls: [\"http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/\"],\n}],\n[ecdsa, '0.13', {\n        source_urls: [\"https://pypi.python.org/packages/source/e/ecdsa/\"],\n}],\n[paramiko, 1.15.2, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/paramiko/\"],\n}],\n[pyparsing, 2.0.3, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pyparsing/\"],\n}],\n[netifaces, 0.10.4, {\n        source_urls: [\"https://pypi.python.org/packages/source/n/netifaces\"],\n}],\n[netaddr, 0.7.14, {\n        source_urls: [\"https://pypi.python.org/packages/source/n/netaddr\"],\n}],\n[mock, 1.0.1, {\n        source_urls: [\"https://pypi.python.org/packages/source/m/mock\"],\n}],\n[pytz, '2015.4', {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pytz\"],\n}],\n[pandas, 0.16.1, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pandas\"],\n}],\n]\n\nmoduleclass: lang\n
        "},{"location":"api/","title":"API","text":"

        Warning

        This page will soon replace https://docs.easybuild.io/en/latest/api.html.

        It still needs to be ported from reStructuredText (.rst) to MarkDown (.md), and you can help with that!

        • source: docs/api.rst in easybuilders/easybuild repo
        • target: docs/api/index.md in easybuilders/easybuild-docs repo

        See https://github.com/easybuilders/easybuild-docs for more information.

        "},{"location":"api/summary/","title":"Summary","text":"
        • easybuild
          • base
            • exceptions
            • fancylogger
            • frozendict
            • generaloption
            • optcomplete
            • rest
            • testing
            • wrapper
          • framework
            • easyblock
            • easyconfig
              • constants
              • default
              • easyconfig
              • format
                • convert
                • format
                • one
                • pyheaderconfigobj
                • two
                • version
                • yeb
              • licenses
              • parser
              • style
              • templates
              • tools
              • tweak
              • types
            • easystack
            • extension
            • extensioneasyblock
          • main
          • scripts
            • bootstrap_eb
            • clean_gists
            • findPythonDeps
            • fix_docs
            • mk_tmpl_easyblock_for
            • rpath_args
          • toolchains
            • cgmpich
            • cgmpolf
            • cgmvapich2
            • cgmvolf
            • cgompi
            • cgoolf
            • clanggcc
            • compiler
              • clang
              • craype
              • cuda
              • dummycompiler
              • fujitsu
              • gcc
              • ibmxl
              • intel_compilers
              • inteliccifort
              • nvhpc
              • pgi
              • systemcompiler
            • craycce
            • craygnu
            • crayintel
            • craypgi
            • dummy
            • fcc
            • ffmpi
            • fft
              • fftw
              • fujitsufftw
              • intelfftw
            • foss
            • fosscuda
            • fujitsu
            • gcc
            • gcccore
            • gcccuda
            • gfbf
            • gimkl
            • gimpi
            • gimpic
            • giolf
            • giolfc
            • gmacml
            • gmkl
            • gmklc
            • gmpich
            • gmpich2
            • gmpit
            • gmpolf
            • gmvapich2
            • gmvolf
            • gnu
            • goalf
            • gobff
            • goblf
            • gofbf
            • golf
            • golfc
            • gomkl
            • gomklc
            • gompi
            • gompic
            • goolf
            • goolfc
            • gpsmpi
            • gpsolf
            • gqacml
            • gsmpi
            • gsolf
            • iccifort
            • iccifortcuda
            • ictce
            • iibff
            • iimkl
            • iimklc
            • iimpi
            • iimpic
            • iiqmpi
            • impich
            • impmkl
            • intel-para
            • intel
            • intel_compilers
            • intelcuda
            • iomkl
            • iomklc
            • iompi
            • iompic
            • ipsmpi
            • iqacml
            • ismkl
            • linalg
              • acml
              • atlas
              • blacs
              • blis
              • flame
              • flexiblas
              • fujitsussl
              • gotoblas
              • intelmkl
              • lapack
              • libsci
              • openblas
              • scalapack
            • mpi
              • craympich
              • fujitsumpi
              • intelmpi
              • mpich
              • mpich2
              • mpitrampoline
              • mvapich2
              • openmpi
              • psmpi
              • qlogicmpi
              • spectrummpi
            • nvhpc
            • nvofbf
            • nvompi
            • nvompic
            • nvpsmpi
            • nvpsmpic
            • pgi
            • pmkl
            • pomkl
            • pompi
            • system
            • xlcxlf
            • xlmpich
            • xlmpich2
            • xlmvapich2
            • xlompi
          • tools
            • asyncprocess
            • build_details
            • build_log
            • config
            • configobj
            • containers
              • apptainer
              • base
              • common
              • docker
              • singularity
              • utils
            • convert
            • deprecated
            • docs
            • environment
            • filetools
            • github
            • hooks
            • include
            • jenkins
            • job
              • backend
              • gc3pie
              • pbs_python
              • slurm
            • loose_version
            • module_generator
            • module_naming_scheme
              • categorized_hmns
              • categorized_mns
              • easybuild_mns
              • hierarchical_mns
              • migrate_from_eb_to_hmns
              • mns
              • toolchain
              • utilities
            • modules
            • multidiff
            • options
            • output
            • package
              • package_naming_scheme
                • easybuild_deb_friendly_pns
                • easybuild_pns
                • pns
              • utilities
            • parallelbuild
            • py2vs3
              • py2
              • py3
            • repository
              • filerepo
              • gitrepo
              • hgrepo
              • repository
              • svnrepo
            • robot
            • run
            • systemtools
            • testing
            • toolchain
              • compiler
              • constants
              • fft
              • linalg
              • mpi
              • options
              • toolchain
              • toolchainvariables
              • utilities
              • variables
            • utilities
            • variables
            • version
        ","boost":0.5},{"location":"api/easybuild/","title":"easybuild","text":"
        • easybuild
          • base
            • exceptions
            • fancylogger
            • frozendict
            • generaloption
            • optcomplete
            • rest
            • testing
            • wrapper
          • framework
            • easyblock
            • easyconfig
              • constants
              • default
              • easyconfig
              • format
                • convert
                • format
                • one
                • pyheaderconfigobj
                • two
                • version
                • yeb
              • licenses
              • parser
              • style
              • templates
              • tools
              • tweak
              • types
            • easystack
            • extension
            • extensioneasyblock
          • main
          • scripts
            • bootstrap_eb
            • clean_gists
            • findPythonDeps
            • fix_docs
            • mk_tmpl_easyblock_for
            • rpath_args
          • toolchains
            • cgmpich
            • cgmpolf
            • cgmvapich2
            • cgmvolf
            • cgompi
            • cgoolf
            • clanggcc
            • compiler
              • clang
              • craype
              • cuda
              • dummycompiler
              • fujitsu
              • gcc
              • ibmxl
              • intel_compilers
              • inteliccifort
              • nvhpc
              • pgi
              • systemcompiler
            • craycce
            • craygnu
            • crayintel
            • craypgi
            • dummy
            • fcc
            • ffmpi
            • fft
              • fftw
              • fujitsufftw
              • intelfftw
            • foss
            • fosscuda
            • fujitsu
            • gcc
            • gcccore
            • gcccuda
            • gfbf
            • gimkl
            • gimpi
            • gimpic
            • giolf
            • giolfc
            • gmacml
            • gmkl
            • gmklc
            • gmpich
            • gmpich2
            • gmpit
            • gmpolf
            • gmvapich2
            • gmvolf
            • gnu
            • goalf
            • gobff
            • goblf
            • gofbf
            • golf
            • golfc
            • gomkl
            • gomklc
            • gompi
            • gompic
            • goolf
            • goolfc
            • gpsmpi
            • gpsolf
            • gqacml
            • gsmpi
            • gsolf
            • iccifort
            • iccifortcuda
            • ictce
            • iibff
            • iimkl
            • iimklc
            • iimpi
            • iimpic
            • iiqmpi
            • impich
            • impmkl
            • intel-para
            • intel
            • intel_compilers
            • intelcuda
            • iomkl
            • iomklc
            • iompi
            • iompic
            • ipsmpi
            • iqacml
            • ismkl
            • linalg
              • acml
              • atlas
              • blacs
              • blis
              • flame
              • flexiblas
              • fujitsussl
              • gotoblas
              • intelmkl
              • lapack
              • libsci
              • openblas
              • scalapack
            • mpi
              • craympich
              • fujitsumpi
              • intelmpi
              • mpich
              • mpich2
              • mpitrampoline
              • mvapich2
              • openmpi
              • psmpi
              • qlogicmpi
              • spectrummpi
            • nvhpc
            • nvofbf
            • nvompi
            • nvompic
            • nvpsmpi
            • nvpsmpic
            • pgi
            • pmkl
            • pomkl
            • pompi
            • system
            • xlcxlf
            • xlmpich
            • xlmpich2
            • xlmvapich2
            • xlompi
          • tools
            • asyncprocess
            • build_details
            • build_log
            • config
            • configobj
            • containers
              • apptainer
              • base
              • common
              • docker
              • singularity
              • utils
            • convert
            • deprecated
            • docs
            • environment
            • filetools
            • github
            • hooks
            • include
            • jenkins
            • job
              • backend
              • gc3pie
              • pbs_python
              • slurm
            • loose_version
            • module_generator
            • module_naming_scheme
              • categorized_hmns
              • categorized_mns
              • easybuild_mns
              • hierarchical_mns
              • migrate_from_eb_to_hmns
              • mns
              • toolchain
              • utilities
            • modules
            • multidiff
            • options
            • output
            • package
              • package_naming_scheme
                • easybuild_deb_friendly_pns
                • easybuild_pns
                • pns
              • utilities
            • parallelbuild
            • py2vs3
              • py2
              • py3
            • repository
              • filerepo
              • gitrepo
              • hgrepo
              • repository
              • svnrepo
            • robot
            • run
            • systemtools
            • testing
            • toolchain
              • compiler
              • constants
              • fft
              • linalg
              • mpi
              • options
              • toolchain
              • toolchainvariables
              • utilities
              • variables
            • utilities
            • variables
            • version
        ","boost":0.5},{"location":"api/easybuild/main/","title":"main","text":"

        Main entry point for EasyBuild: build software from .eb input file

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        • Ward Poelmans (Ghent University)
        • Fotis Georgatos (Uni.Lu, NTUA)
        • Maxime Boissonneault (Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.build_and_install_software","title":"build_and_install_software(ecs, init_session_state, exit_on_failure=True)","text":"

        Build and install software for all provided parsed easyconfig files.

        PARAMETER DESCRIPTION ecs

        easyconfig files to install software with

        init_session_state

        initial session state, to use in test reports

        exit_on_failure

        whether or not to exit on installation failure

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.clean_exit","title":"clean_exit(logfile, tmpdir, testing, silent=False)","text":"

        Small utility function to perform a clean exit.

        ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.find_easyconfigs_by_specs","title":"find_easyconfigs_by_specs(build_specs, robot_path, try_to_generate, testing=False)","text":"

        Find easyconfigs by build specifications.

        ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.main","title":"main(args=None, logfile=None, do_build=None, testing=False, modtool=None)","text":"

        Main function: parse command line options, and act accordingly.

        PARAMETER DESCRIPTION args

        command line arguments to use

        DEFAULT: None

        logfile

        log file to use

        DEFAULT: None

        do_build

        whether or not to actually perform the build

        DEFAULT: None

        testing

        enable testing mode

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.process_easystack","title":"process_easystack(easystack_path, args, logfile, testing, init_session_state, do_build)","text":"

        Process an EasyStack file. That means, parsing, looping over all items in the EasyStack file building (where requested) the individual items, etc

        PARAMETER DESCRIPTION easystack_path

        path to EasyStack file to be processed

        args

        original command line arguments as received by main()

        logfile

        log file to use

        testing

        enable testing mode

        init_session_state

        initial session state, to use in test reports

        do_build

        whether or not to actually perform the build

        ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.process_eb_args","title":"process_eb_args(eb_args, eb_go, cfg_settings, modtool, testing, init_session_state, hooks, do_build)","text":"

        Remainder of main function, actually process provided arguments (list of files/paths), according to specified options.

        PARAMETER DESCRIPTION eb_args

        list of arguments that were specified to 'eb' command (or an easystack file); includes filenames/paths of files to process (mostly easyconfig files, but can also includes patch files, etc.)

        eb_go

        EasyBuildOptions instance (option parser)

        cfg_settings

        as returned by set_up_configuration

        modtool

        the modules tool, as returned by modules_tool()

        testing

        bool whether we're running in test mode

        init_session_state

        initial session state, to use in test reports

        hooks

        hooks, as loaded by load_hooks from the options

        do_build

        whether or not to actually perform the build

        ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.run_contrib_style_checks","title":"run_contrib_style_checks(ecs, check_contrib, check_style)","text":"

        Handle running of contribution and style checks on specified easyconfigs (if desired).

        RETURNS DESCRIPTION

        boolean indicating whether or not any checks were actually performed

        ","boost":0.5},{"location":"api/easybuild/base/","title":"base","text":"
        • easybuild
          • base
            • exceptions
            • fancylogger
            • frozendict
            • generaloption
            • optcomplete
            • rest
            • testing
            • wrapper
        ","boost":0.5},{"location":"api/easybuild/base/exceptions/","title":"exceptions","text":"

        Module providing custom exceptions.

        Authors:

        • Kenneth Hoste (Ghent University)
        • Riccardo Murri (University of Zurich)
        ","boost":0.5},{"location":"api/easybuild/base/exceptions/#easybuild.base.exceptions.LoggedException","title":"LoggedException","text":"

        Bases: Exception

        Exception that logs it's message when it is created.

        ","boost":0.5},{"location":"api/easybuild/base/exceptions/#easybuild.base.exceptions.LoggedException.__init__","title":"__init__(msg, *args, **kwargs)","text":"

        Constructor.

        PARAMETER DESCRIPTION msg

        exception message

        *args

        list of formatting arguments for exception message

        DEFAULT: ()

        logger

        logger to use

        ","boost":0.5},{"location":"api/easybuild/base/exceptions/#easybuild.base.exceptions.get_callers_logger","title":"get_callers_logger()","text":"

        Get logger defined in caller's environment

        RETURNS DESCRIPTION

        logger instance (or None if none was found)

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/","title":"fancylogger","text":"

        This module implements a fancy logger on top of python logging

        It adds: - custom specifiers for mpi logging (the mpirank) with autodetection of mpi - custom specifier for always showing the calling function's name - rotating file handler - a default formatter. - logging to an UDP server (vsc.logging.logdaemon.py f.ex.) - easily setting loglevel - easily add extra specifiers in the log record - internal debugging through environment variables FANCYLOGGER_GETLOGGER_DEBUG for getLogger FANCYLOGGER_LOGLEVEL_DEBUG for setLogLevel - set FANCYLOGGER_IGNORE_MPI4PY to disable mpi4py module import mpi4py (when available) is automatically used for mpi-aware log format In case mpi4py however that it is available but broken, set this variable to 1 to avoid importing it.

        usage:

        from easybuild.base import fancylogger

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger--will-log-to-screen-by-default","title":"will log to screen by default","text":"

        fancylogger.logToFile('dir/filename') fancylogger.setLogLevelDebug() # set global loglevel to debug logger = fancylogger.getLogger(name) # get a logger with a specific name logger.setLevel(level) # set local debugging level

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger--if-you-want-the-logger-to-be-showing-modulenamefunctionname-as-the-name-use","title":"If you want the logger to be showing modulename.functionname as the name, use","text":"

        fancylogger.getLogger(fname=True)

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger--you-can-use-the-handler-to-set-a-different-formatter-by-using","title":"you can use the handler to set a different formatter by using","text":"

        handler = fancylogger.logToFile('dir/filename') formatstring = '%(asctime)-15s %(levelname)-10s %(mpirank)-5s %(funcname)-15s %(threadName)-10s %(message)s' handler.setFormatter(logging.Formatter(formatstring))

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger--setting-a-global-loglevel-will-impact-all-logers","title":"setting a global loglevel will impact all logers:","text":"

        from easybuild.base import fancylogger logger = fancylogger.getLogger(\"test\") logger.warning(\"warning\") 2012-01-05 14:03:18,238 WARNING .test. MainThread warning logger.debug(\"warning\") fancylogger.setLogLevelDebug() logger.debug(\"warning\") 2012-01-05 14:03:46,222 DEBUG .test. MainThread warning

        Logging to a udp server: - set an environment variable FANCYLOG_SERVER and FANCYLOG_SERVER_PORT (optionally) - this will make fancylogger log to that that server and port instead of the screen.

        Authors:

        • Jens Timmerman (Ghent University)
        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogRecord","title":"FancyLogRecord","text":"

        Bases: logging.LogRecord

        This class defines a custom log record. Adding extra specifiers is as simple as adding attributes to the log record

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger","title":"FancyLogger","text":"

        Bases: logging.getLoggerClass()

        This is a custom Logger class that uses the FancyLogRecord and has extra log methods raiseException and deprecated and streaming versions for debug,info,warning and error.

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.__copy__","title":"__copy__()","text":"

        Return shallow copy, in this case reference to current logger

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.__deepcopy__","title":"__deepcopy__(memo)","text":"

        This behaviour is undefined, fancylogger will return shallow copy, instead just crashing.

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.deprecated","title":"deprecated(msg, cur_ver, max_ver, depth=2, exception=None, log_callback=None, *args, **kwargs)","text":"

        Log deprecation message, throw error if current version is passed given threshold.

        Checks only major/minor version numbers (MAJ.MIN.x) by default, controlled by 'depth' argument.

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.fail","title":"fail(message, *args)","text":"

        Log error message and raise exception.

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.get_parent_info","title":"get_parent_info(prefix, verbose=True)","text":"

        Return pretty text version

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.makeRecord","title":"makeRecord(name, level, pathname, lineno, msg, args, excinfo, func=None, extra=None, sinfo=None)","text":"

        overwrite make record to use a fancy record (with more options)

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.raiseException","title":"raiseException(message, exception=None, catch=False)","text":"

        logs message and raises an exception (since it can be caught higher up and handled) and raises it afterwards

        PARAMETER DESCRIPTION exception

        subclass of Exception to use for raising

        DEFAULT: None

        catch

        boolean, try to catch raised exception and add relevant info to message (this will also happen if exception is not specified)

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.setLevelName","title":"setLevelName(level_name)","text":"

        Set the level by name.

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.streamDebug","title":"streamDebug(data)","text":"

        Get a DEBUG loglevel streamLog

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.streamError","title":"streamError(data)","text":"

        Get a ERROR loglevel streamLog

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.streamInfo","title":"streamInfo(data)","text":"

        Get a INFO loglevel streamLog

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.streamLog","title":"streamLog(levelno, data)","text":"

        Add (continuous) data to an existing message stream (eg a stream after a logging.info()

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyStreamHandler","title":"FancyStreamHandler","text":"

        Bases: logging.StreamHandler

        The logging StreamHandler with uniform named arg in init for selecting the stream.

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyStreamHandler.__init__","title":"__init__(stream=None, stdout=None)","text":"

        Initialize the stream (default is sys.stderr) - stream : a specific stream to use - stdout: if True and no stream specified, set stream to sys.stdout (False log to stderr)

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.disableDefaultHandlers","title":"disableDefaultHandlers()","text":"

        Disable the default handlers on all fancyloggers - if this is the last logger, it will just set the logLevel very high

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.enableDefaultHandlers","title":"enableDefaultHandlers()","text":"

        (re)Enable the default handlers on all fancyloggers

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getAllExistingLoggers","title":"getAllExistingLoggers()","text":"RETURNS DESCRIPTION

        the existing loggers, in a list of C{(name, logger)} tuples

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getAllFancyloggers","title":"getAllFancyloggers()","text":"

        Return all loggers that are not fancyloggers

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getAllNonFancyloggers","title":"getAllNonFancyloggers()","text":"RETURNS DESCRIPTION

        all loggers that are not fancyloggers

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getDetailsLogLevels","title":"getDetailsLogLevels(fancy=True, numeric=False)","text":"

        Return list of (name,loglevelname) pairs of existing loggers

        PARAMETER DESCRIPTION fancy

        if True, returns only Fancylogger; if False, returns non-FancyLoggers, anything else, return all loggers

        DEFAULT: True

        numeric

        if True, return the numeric value instead of the name

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getLevelInt","title":"getLevelInt(level_name)","text":"

        Given a level name, return the int value

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getLogger","title":"getLogger(name=None, fname=False, clsname=False, fancyrecord=None)","text":"

        Returns a Fancylogger instance if fname is True, the loggers name will be 'name[.classname].functionname' if clsname is True the loggers name will be 'name.classname[.functionname]'

        This will return a logger with a fancylog record, which includes the className template for the logformat This can make your code a lot slower, so this can be disabled by setting fancyrecord or class module FANCYLOG_FANCYRECORD to False, or will also be disabled if a Name is set (and fancyrecord and module constant FANCYLOG_FANCYRECORD are also not set).

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getRootLoggerName","title":"getRootLoggerName()","text":"

        returns the name of the root module this is the module that is actually running everything and so doing the logging

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.is_fancyroot","title":"is_fancyroot()","text":"

        Return if the logging.root logger is a FancyLogger

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.logToDevLog","title":"logToDevLog(enable=True, name=None, handler=None)","text":"

        Log to syslog through /dev/log

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.logToFile","title":"logToFile(filename, enable=True, filehandler=None, name=None, max_bytes=MAX_BYTES, backup_count=BACKUPCOUNT)","text":"

        enable (or disable) logging to file given filename will log to a file with the given name using a rotatingfilehandler this will let the file grow to MAX_BYTES and then rotate it saving the last BACKUPCOUNT files.

        returns the filehandler (this can be used to later disable logging to file)

        if you want to disable logging to file, pass the earlier obtained filehandler

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.logToScreen","title":"logToScreen(enable=True, handler=None, name=None, stdout=False, colorize=Colorize.NEVER)","text":"

        enable (or disable) logging to screen returns the screenhandler (this can be used to later disable logging to screen)

        if you want to disable logging to screen, pass the earlier obtained screenhandler

        you can also pass the name of the logger for which to log to the screen otherwise you'll get all logs on the screen

        by default, logToScreen will log to stderr; logging to stdout instead can be done by setting the 'stdout' parameter to True

        The colorize parameter enables or disables log colorization using ANSI terminal escape sequences, according to the values allowed in the colorize parameter to function _screenLogFormatterFactory (which see).

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.logToUDP","title":"logToUDP(hostname, port=5005, enable=True, datagramhandler=None, name=None)","text":"

        enable (or disable) logging to udp given hostname and port.

        returns the filehandler (this can be used to later disable logging to udp)

        if you want to disable logging to udp, pass the earlier obtained filehandler, and set boolean = False

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.resetroot","title":"resetroot()","text":"

        Restore the original logging.root logger

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogFormat","title":"setLogFormat(f_format)","text":"

        Set the log format. (Has to be set before logToSomething is called).

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevel","title":"setLogLevel(level)","text":"

        Set a global log level for all FancyLoggers

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevelDebug","title":"setLogLevelDebug()","text":"

        shorthand for setting debug level

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevelError","title":"setLogLevelError()","text":"

        shorthand for setting loglevel to Error

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevelInfo","title":"setLogLevelInfo()","text":"

        shorthand for setting loglevel to Info

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevelWarning","title":"setLogLevelWarning()","text":"

        shorthand for setting loglevel to Warning

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setTestLogFormat","title":"setTestLogFormat()","text":"

        Set the log format to the test format (i.e. without timestamp).

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setroot","title":"setroot(fancyrecord=FANCYLOG_FANCYRECORD)","text":"

        Set a FancyLogger instance as the logging root logger with (effective)loglevel of current root FancyLogger

        PARAMETER DESCRIPTION fancyrecord

        is enabled or not (default FANCYLOG_FANCYRECORD module constant) Detecting the loglevel is best-effort, better to set the loglevel after setroot()

        DEFAULT: FANCYLOG_FANCYRECORD

        ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.thread_name","title":"thread_name()","text":"

        returns the current threads name

        ","boost":0.5},{"location":"api/easybuild/base/frozendict/","title":"frozendict","text":"

        frozendict is an immutable wrapper around dictionaries that implements the complete mapping interface. It can be used as a drop-in replacement for dictionaries where immutability is desired.

        ","boost":0.5},{"location":"api/easybuild/base/frozendict/#easybuild.base.frozendict.FrozenDictKnownKeys","title":"FrozenDictKnownKeys","text":"

        Bases: FrozenDict

        A frozen dictionary only allowing known keys.

        ","boost":0.5},{"location":"api/easybuild/base/frozendict/#easybuild.base.frozendict.FrozenDictKnownKeys.__getitem__","title":"__getitem__(key, *args, **kwargs)","text":"

        Redefine getitem to provide a better KeyError message.

        ","boost":0.5},{"location":"api/easybuild/base/frozendict/#easybuild.base.frozendict.FrozenDictKnownKeys.__init__","title":"__init__(*args, **kwargs)","text":"

        Constructor, only way to define the contents.

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/","title":"generaloption","text":"

        A class that can be used to generated options to python scripts in a general way.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Jens Timmerman (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOption","title":"ExtOption","text":"

        Bases: CompleterOption

        Extended options class - enable/disable support

        Actions: - shorthelp : hook for shortend help messages - confighelp : hook for configfile-style help messages - store_debuglog : turns on fancylogger debugloglevel - also: 'store_infolog', 'store_warninglog' - add : add value to default (result is default + value) - add_first : add default to value (result is value + default) - extend : alias for add with strlist type - type must support + (add) and one of negate (neg) or slicing (getslice) - add_flex : similar to add / add_first, but replaces the first \"empty\" element with the default - the empty element is dependent of the type - for {str,path}{list,tuple} this is the empty string - types must support the index method to determine the location of the \"empty\" element - the replacement uses + - e.g. a strlist type with value \"0,,1\"` and default [3,4] and action add_flex will use the empty string '' as \"empty\" element, and will result in [0,3,4,1] (not [0,[3,4],1]) (but also a strlist with value \"\" and default [3,4] will result in [3,4]; so you can't set an empty list with add_flex) - date : convert into datetime.date - datetime : convert into datetime.datetime - regex: compile str in regexp - store_or_None - set default to None if no option passed, - set to default if option without value passed, - set to value if option with value passed

        Types: - strlist, strtuple : convert comma-separated string in a list resp. tuple of strings - pathlist, pathtuple : using os.pathsep, convert pathsep-separated string in a list resp. tuple of strings - the path separator is OS-dependent

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOption.__init__","title":"__init__(*args, **kwargs)","text":"

        Add logger to init

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOption.process","title":"process(opt, value, values, parser)","text":"

        Handle option-as-value issues before actually processing option.

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOption.take_action","title":"take_action(action, dest, opt, value, values, parser)","text":"

        Extended take_action

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionGroup","title":"ExtOptionGroup","text":"

        Bases: OptionGroup

        An OptionGroup with support for configfile section names

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionGroup.add_option","title":"add_option(*args, **kwargs)","text":"

        Extract configfile section info

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser","title":"ExtOptionParser","text":"

        Bases: OptionParser

        Make an option parser that limits the C{-h} / C{--shorthelp} to short opts only, C{-H} / C{--help} for all options.

        Pass options through environment. Like:

        • C{export PROGNAME_SOMEOPTION = value} will generate {--someoption=value}
        • C{export PROGNAME_OTHEROPTION = 1} will generate {--otheroption}
        • C{export PROGNAME_OTHEROPTION = 0} (or no or false) won't do anything

        distinction is made based on option.action in TYPED_ACTIONS allow C{--enable-} / C{--disable-} (using eg ExtOption option_class)

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.__init__","title":"__init__(*args, **kwargs)","text":"

        Following named arguments are specific to ExtOptionParser (the remaining ones are passed to the parent OptionParser class)

        :param help_to_string: boolean, if True, the help is written\n                       to a newly created StingIO instance\n:param help_to_file: filehandle, help is written to this filehandle\n:param envvar_prefix: string, specify the environment variable prefix\n                      to use (if you don't want the default one)\n:param process_env_options: boolean, if False, don't check the\n                            environment for options (default: True)\n:param error_env_options: boolean, if True, use error_env_options_method\n                          if an environment variable with correct envvar_prefix\n                          exists but does not correspond to an existing option\n                          (default: False)\n:param error_env_options_method: callable; method to use to report error\n                                 in used environment variables (see error_env_options);\n                                 accepts string value + additional\n                                 string arguments for formatting the message\n                                 (default: own log.error method)\n
        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.check_help","title":"check_help(fh)","text":"

        Checks filehandle for help functions

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_description","title":"format_description(formatter)","text":"

        Extend to allow docstring as description

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_epilog","title":"format_epilog(formatter)","text":"

        Allow multiple epilog parts

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_help","title":"format_help(formatter=None)","text":"

        For py2.4 compatibility reasons (missing epilog). This is the py2.7 / optparse 1.5.3 code

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_option_mdhelp","title":"format_option_mdhelp(formatter=None)","text":"

        Formatting for help in rst format

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_option_rsthelp","title":"format_option_rsthelp(formatter=None)","text":"

        Formatting for help in rst format

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.get_default_values","title":"get_default_values()","text":"

        Introduce the ExtValues class with class constant - make it dynamic, otherwise the class constant is shared between multiple instances - class constant is used to avoid _action_taken as option in the dict - only works by using reference to object - same for _logaction_taken

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.get_env_options","title":"get_env_options()","text":"

        Retrieve options from the environment: prefix_longopt.upper()

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.get_env_options_prefix","title":"get_env_options_prefix()","text":"

        Return the prefix to use for options passed through the environment

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.get_option_by_long_name","title":"get_option_by_long_name(name)","text":"

        Return the option matching the long option name

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.is_value_a_commandline_option","title":"is_value_a_commandline_option(opt, value, index=None)","text":"

        Determine if value is/could be an option passed via the commandline. If it is, return the reason why (can be used as message); or return None if it isn't.

        opt is the option flag to which the value is passed; index is the index of the value on the commandline (if None, it is determined from orig_rargs and rargs)

        The method tests for possible ambiguity on the commandline when the parser interprets the argument following an option as a value, whereas it is far more likely that it is (intended as) an option; --longopt=value is never considered ambiguous, regardless of the value.

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_confighelp","title":"print_confighelp(fh=None)","text":"

        Print help as a configfile.

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_help","title":"print_help(fh=None)","text":"

        Intercept print to file to print to string and remove the ENABLE/DISABLE options from help

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_mdhelp","title":"print_mdhelp(fh=None)","text":"

        Print help in MarkDown format

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_rsthelp","title":"print_rsthelp(fh=None)","text":"

        Print help in rst format

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_shorthelp","title":"print_shorthelp(fh=None)","text":"

        Print a shortened help (no longopts)

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.set_description_docstring","title":"set_description_docstring()","text":"

        Try to find the main docstring and add it if description is not None

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.set_usage","title":"set_usage(usage)","text":"

        Return usage and set try to set autogenerated description.

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption","title":"GeneralOption","text":"

        Bases: object

        'Used-to-be simple' wrapper class for option parsing

        Options with go_ prefix are for this class, the remainder is passed to the parser - go_args : use these instead of of sys.argv[1:] - go_columns : specify column width (in columns) - go_useconfigfiles : use configfiles or not (default set by CONFIGFILES_USE) if True, an option --configfiles will be added - go_configfiles : list of configfiles to parse. Uses ConfigParser.read; last file wins - go_configfiles_initenv : section dict of key/value dict; inserted before configfileparsing As a special case, using all uppercase key in DEFAULT section with a case-sensitive configparser can be used to set \"constants\" for easy interpolation in all sections. - go_loggername : name of logger, default classname - go_mainbeforedefault : set the main options before the default ones - go_autocompleter : dict with named options to pass to the autocomplete call (eg arg_completer) if is None: disable autocompletion; default is {} (ie no extra args passed)

        Sections starting with the string 'raw_' in the sectionname will be parsed as raw sections, meaning there will be no interpolation of the strings. This comes in handy if you want to configure strings with templates in them.

        Options process order (last one wins) 0. default defined with option 1. value in (last) configfile (last configfile wins) 2. options parsed by option parser In case the ExtOptionParser is used 0. value set through environment variable 1. value set through commandline option

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.add_group_parser","title":"add_group_parser(opt_dict, description, prefix=None, otherdefaults=None, section_name=None)","text":"

        Make a group parser from a dict

        @type opt_dict: dict @type description: a 2 element list (short and long description) @section_name: str, the name of the section group in the config file.

        PARAMETER DESCRIPTION opt_dict

        options, with the form C{\"long_opt\" : value}. Value is a C{tuple} containing C{(help,type,action,default(,optional string=short option; list/tuple=choices; dict=add_option kwargs))} help message passed through opt_dict will be extended with type and default If section_name is None, prefix will be used. If prefix is None or '', 'DEFAULT' is used.

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.autocomplete","title":"autocomplete()","text":"

        Set the autocompletion magic via optcomplete

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.configfile_parser_init","title":"configfile_parser_init(initenv=None)","text":"

        Initialise the configparser to use.

        :param initenv: insert initial environment into the configparser.\n    It is a dict of dicts; the first level key is the section name;\n    the 2nd level key,value is the key=value.\n    All section names, keys and values are converted to strings.\n
        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.default_parseoptions","title":"default_parseoptions()","text":"

        Return default options

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.dict_by_prefix","title":"dict_by_prefix(merge_empty_prefix=False)","text":"

        Break the options dict by prefix; return nested dict.

        PARAMETER DESCRIPTION

        boolean (default False) also (try to) merge the empty prefix in the root of the dict. If there is a non-prefixed optionname that matches a prefix, it will be rejected and error will be logged.

        TYPE: merge_empty_prefix

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.generate_cmd_line","title":"generate_cmd_line(ignore=None, add_default=None)","text":"

        Create the commandline options that would create the current self.options. The result is sorted on the destination names.

        :param ignore : regex on destination :param add_default : print value that are equal to default

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.get_options_by_prefix","title":"get_options_by_prefix(prefix)","text":"

        Get all options that set with prefix. Return a dict. The keys are stripped of the prefix.

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.get_options_by_section","title":"get_options_by_section(section)","text":"

        Get all options from section. Return a dict.

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.main_options","title":"main_options()","text":"

        Create the main options automatically

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.make_option_metavar","title":"make_option_metavar(longopt, details)","text":"

        Generate the metavar for option longopt @type longopt: str @type details: tuple

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.make_options_option_name_and_destination","title":"make_options_option_name_and_destination(prefix, key)","text":"

        Make the options option name

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.parseconfigfiles","title":"parseconfigfiles()","text":"

        Parse configfiles

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.parseoptions","title":"parseoptions(options_list=None)","text":"

        Parse the options

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.postprocess","title":"postprocess()","text":"

        Some additional processing

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.set_go_debug","title":"set_go_debug()","text":"

        Check if debug options are on and then set fancylogger to debug. This is not the default way to set debug, it enables debug logging in an earlier stage to debug generaloption itself.

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.validate","title":"validate()","text":"

        Final step, allows for validating the options and/or args

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.SimpleOption","title":"SimpleOption","text":"

        Bases: GeneralOption

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.SimpleOption.__init__","title":"__init__(go_dict=None, descr=None, short_groupdescr=None, long_groupdescr=None, config_files=None)","text":"

        Initialisation

        PARAMETER DESCRIPTION go_dict

        General Option option dict

        DEFAULT: None

        short_groupdescr

        short description of main options

        DEFAULT: None

        long_groupdescr

        longer description of main options

        DEFAULT: None

        config_files

        list of configfiles to read options from a general options dict has as key the long option name, and is followed by a list/tuple mandatory are 4 elements : option help, type, action, default a 5th element is optional and is the short help name (if any) the generated help will include the docstring

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.check_str_list_tuple","title":"check_str_list_tuple(option, opt, value)","text":"

        check function for strlist and strtuple type assumes value is comma-separated list returns list or tuple of strings

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.get_empty_add_flex","title":"get_empty_add_flex(allvalues, self=None)","text":"

        Return the empty element for add_flex action for allvalues

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.set_columns","title":"set_columns(cols=None)","text":"

        Set os.environ COLUMNS variable - only if it is not set already

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.simple_option","title":"simple_option(go_dict=None, descr=None, short_groupdescr=None, long_groupdescr=None, config_files=None)","text":"

        A function that returns a single level GeneralOption option parser

        PARAMETER DESCRIPTION go_dict

        General Option option dict

        DEFAULT: None

        short_groupdescr

        short description of main options

        DEFAULT: None

        long_groupdescr

        longer description of main options

        DEFAULT: None

        config_files

        list of configfiles to read options from a general options dict has as key the long option name, and is followed by a list/tuple mandatory are 4 elements : option help, type, action, default a 5th element is optional and is the short help name (if any) the generated help will include the docstring

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.what_str_list_tuple","title":"what_str_list_tuple(name)","text":"

        Given name, return separator, class and helptext wrt separator. (Currently supports strlist, strtuple, pathlist, pathtuple)

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/","title":"optcomplete","text":"

        Automatic completion for optparse module.

        This module provide automatic bash completion support for programs that use the optparse module. The premise is that the optparse options parser specifies enough information (and more) for us to be able to generate completion strings esily. Another advantage of this over traditional completion schemes where the completion strings are hard-coded in a separate bash source file, is that the same code that parses the options is used to generate the completions, so the completions is always up-to-date with the program itself.

        In addition, we allow you specify a list of regular expressions or code that define what kinds of files should be proposed as completions to this file if needed. If you want to implement more complex behaviour, you can instead specify a function, which will be called with the current directory as an argument.

        You need to activate bash completion using the shell script function that comes with optcomplete (see http://furius.ca/optcomplete for more details).

        Authors:

        • Martin Blais (blais@furius.ca)
        • Stijn De Weirdt (Ghent University)

        This is a copy of optcomplete.py (changeset 17:e0a9131a94cc) from source: https://hg.furius.ca/public/optcomplete

        Modification by stdweird: - cleanup

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.AllCompleter","title":"AllCompleter","text":"

        Bases: Completer

        Completes by listing all possible files in current directory.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.CmdComplete","title":"CmdComplete","text":"

        Bases: object

        Simple default base class implementation for a subcommand that supports command completion. This class is assuming that there might be a method addopts(self, parser) to declare options for this subcommand, and an optional completer data member to contain command-specific completion. Of course, you don't really have to use this, but if you do it is convenient to have it here.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.Completer","title":"Completer","text":"

        Bases: object

        Base class to derive all other completer classes from. It generates an empty completion list

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.Completer.__call__","title":"__call__(**kwargs)","text":"

        Check mandatory args, then return _call

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.CompleterMissingCallArgument","title":"CompleterMissingCallArgument","text":"

        Bases: Exception

        Exception to raise when call arg is missing

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.CompleterOption","title":"CompleterOption","text":"

        Bases: OPTION_CLASS

        optparse Option class with completer attribute

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.DirCompleter","title":"DirCompleter","text":"

        Bases: Completer

        Completes by listing subdirectories only.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.FileCompleter","title":"FileCompleter","text":"

        Bases: Completer

        Completes by listing all possible files in current directory. If endings are specified, then limit the files to those.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.KnownHostsCompleter","title":"KnownHostsCompleter","text":"

        Bases: Completer

        Completes a list of known hostnames

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.ListCompleter","title":"ListCompleter","text":"

        Bases: Completer

        Completes by filtering using a fixed list of strings.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.NoneCompleter","title":"NoneCompleter","text":"

        Bases: Completer

        Generates empty completion list. For compatibility reasons.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.RegexCompleter","title":"RegexCompleter","text":"

        Bases: Completer

        Completes by filtering all possible files with the given list of regexps.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.autocomplete","title":"autocomplete(parser, arg_completer=None, opt_completer=None, subcmd_completer=None, subcommands=None)","text":"

        Automatically detect if we are requested completing and if so generate completion automatically from given parser.

        'parser' is the options parser to use.

        'arg_completer' is a callable object that gets invoked to produce a list of completions for arguments completion (oftentimes files).

        'opt_completer' is the default completer to the options that require a value.

        'subcmd_completer' is the default completer for the subcommand arguments.

        If 'subcommands' is specified, the script expects it to be a map of command-name to an object of any kind. We are assuming that this object is a map from command name to a pair of (options parser, completer) for the command. If the value is not such a tuple, the method 'autocomplete(completer)' is invoked on the resulting object.

        This will attempt to match the first non-option argument into a subcommand name and if so will use the local parser in the corresponding map entry's value. This is used to implement completion for subcommand syntax and will not be needed in most cases.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.error_override","title":"error_override(self, msg)","text":"

        Hack to keep OptionParser from writing to sys.stderr when calling self.exit from self.error

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.extract_word","title":"extract_word(line, point)","text":"

        Return a prefix and suffix of the enclosing word. The character under the cursor is the first character of the suffix.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.gen_cmdline","title":"gen_cmdline(cmd_list, partial, shebang=True)","text":"

        Create the commandline to generate simulated tabcompletion output

        PARAMETER DESCRIPTION cmd_list

        command to execute as list of strings

        partial

        the string to autocomplete (typically, partial is an element of the cmd_list)

        shebang

        script has python shebang (if not, add sys.executable)

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.get_shell","title":"get_shell()","text":"

        Determine the shell, update class constant SHELL and return the shell Idea is to call it just once

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.guess_first_nonoption","title":"guess_first_nonoption(gparser, subcmds_map)","text":"

        Given a global options parser, try to guess the first non-option without generating an exception. This is used for scripts that implement a subcommand syntax, so that we can generate the appropriate completions for the subcommand.

        ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.set_optionparser","title":"set_optionparser(option_class, optionparser_class)","text":"

        Set the default Option and OptionParser class

        ","boost":0.5},{"location":"api/easybuild/base/rest/","title":"rest","text":"

        This module contains Rest api utilities, Mainly the RestClient, which you can use to easily pythonify a rest api.

        based on https://github.com/jpaugh/agithub/commit/1e2575825b165c1cb7cbd85c22e2561fc4d434d3

        Authors:

        • Jonathan Paugh
        • Jens Timmerman
        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client","title":"Client","text":"

        Bases: object

        An implementation of a REST client

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.__init__","title":"__init__(url, username=None, password=None, token=None, token_type='Token', user_agent=None, append_slash=False)","text":"

        Create a Client object, this client can consume a REST api hosted at host/endpoint

        If a username is given a password or a token is required. You can not use a password and a token. token_type is the typoe fo th the authorization token text in the http authentication header, defaults to Token This should be set to 'Bearer' for certain OAuth implementations.

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.delete","title":"delete(url, headers=None, body=None, **params)","text":"

        Do a http delete request on the given url with given headers, body and parameters Parameters is a dictionary that will will be urlencoded

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.get","title":"get(url, headers=None, **params)","text":"

        Do a http get request on the given url with given headers and parameters Parameters is a dictionary that will will be urlencoded

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.head","title":"head(url, headers=None, **params)","text":"

        Do a http head request on the given url with given headers and parameters Parameters is a dictionary that will will be urlencoded

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.patch","title":"patch(url, body=None, headers=None, **params)","text":"

        Do a http patch request on the given url with given body, headers and parameters Parameters is a dictionary that will will be urlencoded

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.post","title":"post(url, body=None, headers=None, **params)","text":"

        Do a http post request on the given url with given body, headers and parameters Parameters is a dictionary that will will be urlencoded

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.put","title":"put(url, body=None, headers=None, **params)","text":"

        Do a http put request on the given url with given body, headers and parameters Parameters is a dictionary that will will be urlencoded

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.request","title":"request(method, url, body, headers, content_type=None)","text":"

        Low-level networking. All HTTP-method methods call this

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RequestBuilder","title":"RequestBuilder","text":"

        Bases: object

        RequestBuilder(client).path.to.resource.method(...) stands for RequestBuilder(client).client.method('path/to/resource, ...)

        Also, if you use an invalid path, too bad. Just be ready to catch a You can use item access instead of attribute access. This is convenient for using variables' values and required for numbers. bad status from github.com. (Or maybe an httplib.error...)

        To understand the method(...) calls, check out github.client.Client.

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RequestBuilder.__getattr__","title":"__getattr__(key)","text":"

        Overwrite getattr to build up the equest url this enables us to do bla.some.path['something'] and get the url bla/some/path/something

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RequestBuilder.__init__","title":"__init__(client)","text":"

        Constructor

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RequestBuilder.__str__","title":"__str__()","text":"

        If you ever stringify this, you've (probably) messed up somewhere. So let's give a semi-helpful message.

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RestClient","title":"RestClient","text":"

        Bases: object

        A client with a request builder, so you can easily create rest requests e.g. to create a github Rest API client just do

        g = RestClient('https://api.github.com', username='user', password='pass') g = RestClient('https://api.github.com', token='oauth token') status, data = g.issues.get(filter='subscribed') data ... [ list_, of, stuff ] status, data = g.repos.jpaugh64.repla.issues[1].get() data ... { 'dict': 'my issue data', } name, repo = 'jpaugh64', 'repla' status, data = g.reposname.issues[1].get() ... same thing status, data = g.funny.I.donna.remember.that.one.get() status ... 404

        That's all there is to it. (blah.post() should work, too.)

        NOTE: It is up to you to spell things correctly. Github doesn't even try to validate the url you feed it. On the other hand, it automatically supports the full API--so why should you care?

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RestClient.__getattr__","title":"__getattr__(key)","text":"

        Get an attribute, we will build a request with it

        ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RestClient.__init__","title":"__init__(*args, **kwargs)","text":"

        We create a client with the given arguments

        ","boost":0.5},{"location":"api/easybuild/base/testing/","title":"testing","text":"

        Shared module for vsc software testing

        TestCase: use instead of unittest TestCase from easybuild.base.testing import TestCase

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase","title":"TestCase","text":"

        Bases: OrigTestCase

        Enhanced test case, provides extra functionality (e.g. an assertErrorRegex method).

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.assertEqual","title":"assertEqual(a, b, msg=None)","text":"

        Make assertEqual always print useful messages

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.assertErrorRegex","title":"assertErrorRegex(error, regex, call, *args, **kwargs)","text":"

        Convenience method to match regex with the expected error message. Example: self.assertErrorRegex(OSError, \"No such file or directory\", os.remove, '/no/such/file')

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.assertExists","title":"assertExists(path, msg=None)","text":"

        Assert the given path exists

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.assertNotExists","title":"assertNotExists(path, msg=None)","text":"

        Assert the given path exists

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.convert_exception_to_str","title":"convert_exception_to_str(err)","text":"

        Convert an Exception instance to a string.

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.get_stderr","title":"get_stderr()","text":"

        Return output captured from stderr until now.

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.get_stdout","title":"get_stdout()","text":"

        Return output captured from stdout until now.

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.is_string","title":"is_string(x)","text":"

        test if the variable x is a string)

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.mock_stderr","title":"mock_stderr(enable)","text":"

        Enable/disable mocking stdout.

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.mock_stdout","title":"mock_stdout(enable)","text":"

        Enable/disable mocking stdout.

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.mocked_stdout_stderr","title":"mocked_stdout_stderr(mock_stdout=True, mock_stderr=True)","text":"

        Context manager to mock stdout and stderr

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.setUp","title":"setUp()","text":"

        Prepare test case.

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.tearDown","title":"tearDown()","text":"

        Cleanup after running a test.

        ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.nicediff","title":"nicediff(txta, txtb, offset=5)","text":"

        generate unified diff style output ndiff has nice indicators what is different, but prints the whole content each line that is interesting starts with non-space unified diff only prints changes and some offset around it

        return list with diff (one per line) (not a generator like ndiff or unified_diff)

        ","boost":0.5},{"location":"api/easybuild/base/wrapper/","title":"wrapper","text":"

        This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License with attribution required

        Original code by http://stackoverflow.com/users/416467/kindall from answer 4 of http://stackoverflow.com/questions/9057669/how-can-i-intercept-calls-to-pythons-magic-methods-in-new-style-classes

        ","boost":0.5},{"location":"api/easybuild/base/wrapper/#easybuild.base.wrapper.Wrapper","title":"Wrapper","text":"

        Bases: mk_wrapper_baseclass(WrapperMeta)

        Wrapper class that provides proxy access to an instance of some internal instance.

        ","boost":0.5},{"location":"api/easybuild/base/wrapper/#easybuild.base.wrapper.WrapperMeta","title":"WrapperMeta","text":"

        Bases: type

        Metaclass for type wrappers.

        ","boost":0.5},{"location":"api/easybuild/framework/","title":"framework","text":"
        • easybuild
          • framework
            • easyblock
            • easyconfig
              • constants
              • default
              • easyconfig
              • format
                • convert
                • format
                • one
                • pyheaderconfigobj
                • two
                • version
                • yeb
              • licenses
              • parser
              • style
              • templates
              • tools
              • tweak
              • types
            • easystack
            • extension
            • extensioneasyblock
        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/","title":"easyblock","text":"

        Generic EasyBuild support for building and installing software. The EasyBlock class should serve as a base class for all easyblocks.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        • Ward Poelmans (Ghent University)
        • Fotis Georgatos (Uni.Lu, NTUA)
        • Damian Alvarez (Forschungszentrum Juelich GmbH)
        • Maxime Boissonneault (Compute Canada)
        • Davide Vanzo (Vanderbilt University)
        • Caspar van Leeuwen (SURF)
        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock","title":"EasyBlock","text":"

        Bases: object

        Generic support for building and installing software, base class for actual easyblocks.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.full_mod_name","title":"full_mod_name property","text":"

        Full module name (including subdirectory in module install path)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.mod_subdir","title":"mod_subdir property","text":"

        Subdirectory in module install path

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.moduleGenerator","title":"moduleGenerator property","text":"

        Module generator (DEPRECATED, use self.module_generator instead).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.name","title":"name property","text":"

        Shortcut the get the module name.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.short_mod_name","title":"short_mod_name property","text":"

        Short module name (not including subdirectory in module install path)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.start_dir","title":"start_dir property","text":"

        Start directory in build directory

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.toolchain","title":"toolchain property","text":"

        Toolchain used to build this easyblock

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.version","title":"version property","text":"

        Shortcut the get the module version.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.__init__","title":"__init__(ec)","text":"

        Initialize the EasyBlock instance.

        PARAMETER DESCRIPTION ec

        a parsed easyconfig file (EasyConfig instance)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.apply_post_install_patches","title":"apply_post_install_patches(patches=None)","text":"

        Apply post-install patch files that are specified via the 'postinstallpatches' easyconfig parameter.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.banned_linked_shared_libs","title":"banned_linked_shared_libs()","text":"

        List of shared libraries which are not allowed to be linked in any installed binary/library. Supported values are pure library names without 'lib' prefix or extension ('example'), file names ('libexample.so'), and full paths ('/usr/lib64/libexample.so').

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.bin_lib_subdirs","title":"bin_lib_subdirs()","text":"

        List of subdirectories for binaries and libraries for this software installation. This is used during the sanity check to check RPATH linking and banned/required linked shared libraries.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.build_step","title":"build_step()","text":"

        Build software (abstract method).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.check_accepted_eula","title":"check_accepted_eula(name=None, more_info=None)","text":"

        Check whether EULA for this software is accepted in current EasyBuild configuration.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.check_checksums","title":"check_checksums()","text":"

        Check whether a SHA256 checksum is available for all sources & patches (incl. extensions).

        RETURNS DESCRIPTION

        list of strings describing checksum issues (missing checksums, wrong checksum type, etc.)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.check_checksums_for","title":"check_checksums_for(ent, sub='', source_cnt=None)","text":"

        Utility method: check whether SHA256 checksums for all sources/patches are available, for given entity

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.check_readiness_step","title":"check_readiness_step()","text":"

        Verify if all is ok to start build.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.checksum_step","title":"checksum_step()","text":"

        Verify checksum of sources and patches, if a checksum is available.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.clean_up_fake_module","title":"clean_up_fake_module(fake_mod_data)","text":"

        Clean up fake module.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.cleanup_step","title":"cleanup_step()","text":"

        Cleanup leftover mess: remove/clean build directory

        except when we're building in the installation directory or cleanup_builddir is False, otherwise we remove the installation

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.close_log","title":"close_log()","text":"

        Shutdown the logger.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.collect_exts_file_info","title":"collect_exts_file_info(fetch_files=True, verify_checksums=True)","text":"

        Collect information on source and patch files for extensions.

        PARAMETER DESCRIPTION fetch_files

        whether or not to fetch files (if False, path to files will be missing from info)

        DEFAULT: True

        verify_checksums

        whether or not to verify checksums

        DEFAULT: True

        RETURNS DESCRIPTION

        list of dict values, one per extension, with information on source/patch files.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.configure_step","title":"configure_step()","text":"

        Configure build (abstract method).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.det_iter_cnt","title":"det_iter_cnt()","text":"

        Determine iteration count based on configure/build/install options that may be lists.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.dry_run_msg","title":"dry_run_msg(msg, *args)","text":"

        Print dry run message.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.extensions_step","title":"extensions_step(fetch=False, install=True)","text":"

        After make install, run this. - only if variable len(exts_list) > 0 - optionally: load module that was just created using temp module file - find source for extensions, in 'extensions' (and 'packages' for legacy reasons) - run extra_extensions

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.extra_options","title":"extra_options(extra=None) staticmethod","text":"

        Extra options method which will be passed to the EasyConfig constructor.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.extract_step","title":"extract_step()","text":"

        Unpack the source files.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_extension_sources","title":"fetch_extension_sources(skip_checksums=False)","text":"

        Fetch source and patch files for extensions (DEPRECATED, use collect_exts_file_info instead).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_patches","title":"fetch_patches(patch_specs=None, extension=False, checksums=None)","text":"

        Add a list of patches. All patches will be checked if a file exists (or can be located)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_source","title":"fetch_source(source, checksum=None, extension=False, download_instructions=None)","text":"

        Get a specific source (tarball, iso, url) Will be tested for existence or can be located

        PARAMETER DESCRIPTION source

        source to be found (single dictionary in 'sources' list, or filename)

        checksum

        checksum corresponding to source

        DEFAULT: None

        extension

        flag if being called from collect_exts_file_info()

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_sources","title":"fetch_sources(sources=None, checksums=None)","text":"

        Add a list of source files (can be tarballs, isos, urls). All source files will be checked if a file exists (or can be located)

        PARAMETER DESCRIPTION sources

        list of sources to fetch (if None, use 'sources' easyconfig parameter)

        DEFAULT: None

        checksums

        list of checksums for sources

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_step","title":"fetch_step(skip_checksums=False)","text":"

        Fetch source files and patches (incl. extensions).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fix_shebang","title":"fix_shebang()","text":"

        Fix shebang lines for specified files.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.gen_builddir","title":"gen_builddir()","text":"

        Generate the (unique) name for the builddir

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.gen_installdir","title":"gen_installdir()","text":"

        Generate the name of the installation directory.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.get_checksum_for","title":"get_checksum_for(checksums, filename=None, index=None)","text":"

        Obtain checksum for given filename.

        PARAMETER DESCRIPTION checksums

        a list or tuple of checksums (or None)

        filename

        name of the file to obtain checksum for

        DEFAULT: None

        index

        index of file in list

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.get_checksums_from_json","title":"get_checksums_from_json(always_read=False)","text":"

        Get checksums for this software that are provided in a checksums.json file

        PARAMETER DESCRIPTION always_read

        always read the checksums.json file, even if it has been read before

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.get_steps","title":"get_steps(run_test_cases=True, iteration_count=1) staticmethod","text":"

        Return a list of all steps to be performed.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.guess_start_dir","title":"guess_start_dir()","text":"

        Return the directory where to start the whole configure/make/make install cycle from - typically self.src0 - start_dir option -- if abspath: use that -- else, treat it as subdir for regular procedure

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.handle_iterate_opts","title":"handle_iterate_opts()","text":"

        Handle options relevant during iterated part of build/install procedure.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.init_dry_run","title":"init_dry_run()","text":"

        Initialise easyblock instance for performing a dry run.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.init_ext_instances","title":"init_ext_instances()","text":"

        Create class instances for all extensions.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.install_extensions","title":"install_extensions(install=True)","text":"

        Install extensions.

        PARAMETER DESCRIPTION install

        actually install extensions, don't just prepare environment for installing

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.install_extensions_parallel","title":"install_extensions_parallel(install=True)","text":"

        Install extensions in parallel.

        PARAMETER DESCRIPTION install

        actually install extensions, don't just prepare environment for installing

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.install_extensions_sequential","title":"install_extensions_sequential(install=True)","text":"

        Install extensions sequentially.

        PARAMETER DESCRIPTION install

        actually install extensions, don't just prepare environment for installing

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.install_step","title":"install_step()","text":"

        Install built software (abstract method).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.invalidate_module_caches","title":"invalidate_module_caches(modpath)","text":"

        Helper method to invalidate module caches for specified module path.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.load_dependency_modules","title":"load_dependency_modules()","text":"

        Load dependency modules.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.load_fake_module","title":"load_fake_module(purge=False, extra_modules=None, verbose=False)","text":"

        Create and load fake module.

        PARAMETER DESCRIPTION purge

        boolean indicating whether or not to purge currently loaded modules first

        DEFAULT: False

        extra_modules

        list of extra modules to load (these are loaded before loading the 'self' module)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.load_module","title":"load_module(mod_paths=None, purge=True, extra_modules=None, verbose=True)","text":"

        Load module for this software package/version, after purging all currently loaded modules.

        PARAMETER DESCRIPTION mod_paths

        list of (additional) module paths to take into account

        DEFAULT: None

        purge

        boolean indicating whether or not to purge currently loaded modules first

        DEFAULT: True

        extra_modules

        list of extra modules to load (these are loaded before loading the 'self' module)

        DEFAULT: None

        verbose

        print modules being loaded when trace mode is enabled

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_builddir","title":"make_builddir()","text":"

        Create the build directory.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_devel_module","title":"make_devel_module(create_in_builddir=False)","text":"

        Create a develop module file which sets environment based on the build Usage: module load name, which loads the module you want to use. $EBDEVELNAME should then be the full path to the devel module file. So now you can module load $EBDEVELNAME.

        WARNING: you cannot unload using $EBDEVELNAME (for now: use module unload basename $EBDEVELNAME)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_dir","title":"make_dir(dir_name, clean, dontcreateinstalldir=False)","text":"

        Create the directory.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_extension_string","title":"make_extension_string(name_version_sep='-', ext_sep=', ', sort=True)","text":"

        Generate a string with a list of extensions.

        The name and version are separated by name_version_sep and each extension is separated by ext_sep

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_installdir","title":"make_installdir(dontcreate=None)","text":"

        Create the installation directory.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_dep","title":"make_module_dep(unload_info=None)","text":"

        Make the dependencies for the module file.

        PARAMETER DESCRIPTION unload_info

        dictionary with full module names as keys and module name to unload first as corr. value

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_deppaths","title":"make_module_deppaths()","text":"

        Add specific 'module use' actions to module file, in order to find dependencies outside the end user's MODULEPATH.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_description","title":"make_module_description()","text":"

        Create the module description.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_extend_modpath","title":"make_module_extend_modpath()","text":"

        Include prepend-path statements for extending $MODULEPATH.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_extra","title":"make_module_extra(altroot=None, altversion=None)","text":"

        Set extra stuff in module file, e.g. $EBROOT, $EBVERSION, etc.

        PARAMETER DESCRIPTION altroot

        path to use to define $EBROOT*

        DEFAULT: None

        altversion

        version to use to define $EBVERSION*

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_extra_extensions","title":"make_module_extra_extensions()","text":"

        Sets optional variables for extensions.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_footer","title":"make_module_footer()","text":"

        Insert a footer section in the module file, primarily meant for contextual information

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_group_check","title":"make_module_group_check()","text":"

        Create the necessary group check.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_req","title":"make_module_req()","text":"

        Generate the environment-variables to run the module.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_req_guess","title":"make_module_req_guess()","text":"

        A dictionary of possible directories to look for.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_step","title":"make_module_step(fake=False)","text":"

        Generate module file

        PARAMETER DESCRIPTION fake

        generate 'fake' module in temporary location, rather than actual module file

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.obtain_file","title":"obtain_file(filename, extension=False, urls=None, download_filename=None, force_download=False, git_config=None, no_download=False, download_instructions=None, alt_location=None)","text":"

        Locate the file with the given name - searches in different subdirectories of source path - supports fetching file from the web if path is specified as an url (i.e. starts with \"http://:\")

        PARAMETER DESCRIPTION filename

        filename of source

        extension

        indicates whether locations for extension sources should also be considered

        DEFAULT: False

        urls

        list of source URLs where this file may be available

        DEFAULT: None

        download_filename

        filename with which the file should be downloaded, and then renamed to

        DEFAULT: None

        force_download

        always try to download file, even if it's already available in source path

        DEFAULT: False

        git_config

        dictionary to define how to download a git repository

        DEFAULT: None

        no_download

        do not try to download the file

        DEFAULT: False

        download_instructions

        instructions to manually add source (used for complex cases)

        DEFAULT: None

        alt_location

        alternative location to use instead of self.name

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.package_step","title":"package_step()","text":"

        Package installed software (e.g., into an RPM), if requested, using selected package tool.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.patch_step","title":"patch_step(beginpath=None, patches=None)","text":"

        Apply the patches

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.permissions_step","title":"permissions_step()","text":"

        Finalize installation procedure: adjust permissions as configured, change group ownership (if requested). Installing user must be member of the group that it is changed to.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.post_init","title":"post_init()","text":"

        Run post-initialization tasks.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.post_install_step","title":"post_install_step()","text":"

        Do some postprocessing - run post install commands if any were specified

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.post_iter_step","title":"post_iter_step()","text":"

        Restore options that were iterated over

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.prepare_for_extensions","title":"prepare_for_extensions()","text":"

        Also do this before (eg to set the template)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.prepare_step","title":"prepare_step(start_dir=True, load_tc_deps_modules=True)","text":"

        Pre-configure step. Set's up the builddir just before starting configure

        PARAMETER DESCRIPTION start_dir

        guess start directory based on unpacked sources

        DEFAULT: True

        load_tc_deps_modules

        load modules for toolchain and dependencies in build environment

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.print_post_install_messages","title":"print_post_install_messages()","text":"

        Print post-install messages that are specified via the 'postinstallmsgs' easyconfig parameter.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.remove_module_file","title":"remove_module_file()","text":"

        Remove module file (if it exists), and check for ghost installation directory (and deal with it).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.report_test_failure","title":"report_test_failure(msg_or_error)","text":"

        Report a failing test either via an exception or warning depending on ignore-test-failure

        PARAMETER DESCRIPTION msg_or_error

        failure description (string value or an EasyBuildError instance)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.required_linked_shared_libs","title":"required_linked_shared_libs()","text":"

        List of shared libraries which must be linked in all installed binaries/libraries. Supported values are pure library names without 'lib' prefix or extension ('example'), file names ('libexample.so'), and full paths ('/usr/lib64/libexample.so').

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.reset_env","title":"reset_env()","text":"

        Reset environment. When iterating over builddependencies, every time we start a new iteration we need to restore the environment to where it was before the relevant modules were loaded.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.run_all_steps","title":"run_all_steps(run_test_cases)","text":"

        Build and install this software. run_test_cases (bool): run tests after building (e.g.: make test)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.run_post_install_commands","title":"run_post_install_commands(commands=None)","text":"

        Run post install commands that are specified via 'postinstallcmds' easyconfig parameter.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.run_step","title":"run_step(step, step_methods)","text":"

        Run step, returns false when execution should be stopped

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.sanity_check_linked_shared_libs","title":"sanity_check_linked_shared_libs(subdirs=None)","text":"

        Check whether specific shared libraries are (not) linked into installed binaries/libraries.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.sanity_check_load_module","title":"sanity_check_load_module(extension=False, extra_modules=None)","text":"

        Load module to prepare environment for sanity check

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.sanity_check_rpath","title":"sanity_check_rpath(rpath_dirs=None, check_readelf_rpath=True)","text":"

        Sanity check binaries/libraries w.r.t. RPATH linking.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.sanity_check_step","title":"sanity_check_step(*args, **kwargs)","text":"

        Do a sanity check on the installation - if any of the files/subdirectories in the installation directory listed in sanity_check_paths are non-existent (or empty), the sanity check fails

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.set_parallel","title":"set_parallel()","text":"

        Set 'parallel' easyconfig parameter to determine how many cores can/should be used for parallel builds.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.set_up_cuda_cache","title":"set_up_cuda_cache()","text":"

        Set up CUDA PTX cache.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.skip_extensions","title":"skip_extensions()","text":"

        Skip already installed extensions, by removing them from list of Extension instances to install (self.ext_instances).

        This is done in parallel when EasyBuild is configured to install extensions in parallel.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.skip_extensions_parallel","title":"skip_extensions_parallel(exts_filter)","text":"

        Skip already installed extensions (checking in parallel), by removing them from list of Extension instances to install (self.ext_instances).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.skip_extensions_sequential","title":"skip_extensions_sequential(exts_filter)","text":"

        Skip already installed extensions (checking sequentially), by removing them from list of Extension instances to install (self.ext_instances).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.skip_step","title":"skip_step(step, skippable)","text":"

        Dedice whether or not to skip the specified step.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.stage_install_step","title":"stage_install_step()","text":"

        Install in a stage directory before actual installation.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.test_cases_step","title":"test_cases_step()","text":"

        Run provided test cases.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.test_step","title":"test_step()","text":"

        Run unit tests provided by software (if any).

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.update_config_template_run_step","title":"update_config_template_run_step()","text":"

        Update the the easyconfig template dictionary with easyconfig.TEMPLATE_NAMES_EASYBLOCK_RUN_STEP names

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.update_exts_progress_bar","title":"update_exts_progress_bar(info, progress_size=0, total=None)","text":"

        Update extensions progress bar with specified info and amount of progress made

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.StopException","title":"StopException","text":"

        Bases: Exception

        StopException class definition.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.build_and_install_one","title":"build_and_install_one(ecdict, init_env)","text":"

        Build the software

        PARAMETER DESCRIPTION ecdict

        dictionary contaning parsed easyconfig + metadata

        init_env

        original environment (used to reset environment)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.build_easyconfigs","title":"build_easyconfigs(easyconfigs, output_dir, test_results)","text":"

        Build the list of easyconfigs.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.get_easyblock_instance","title":"get_easyblock_instance(ecdict)","text":"

        Get an instance for this easyconfig

        PARAMETER DESCRIPTION ecdict

        parsed easyconfig (EasyConfig instance) returns an instance of EasyBlock (or subclass thereof)

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.inject_checksums","title":"inject_checksums(ecs, checksum_type)","text":"

        Inject checksums of given type in specified easyconfig files

        PARAMETER DESCRIPTION ecs

        list of EasyConfig instances to inject checksums into corresponding files

        checksum_type

        type of checksum to use

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.inject_checksums_to_json","title":"inject_checksums_to_json(ecs, checksum_type)","text":"

        Inject checksums of given type in corresponding json files

        PARAMETER DESCRIPTION ecs

        list of EasyConfig instances to calculate checksums and inject them into checksums.json

        checksum_type

        type of checksum to use

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.print_dry_run_note","title":"print_dry_run_note(loc, silent=True)","text":"

        Print note on interpreting dry run output.

        ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.reproduce_build","title":"reproduce_build(app, reprod_dir_root)","text":"

        Create reproducibility files (processed easyconfig and easyblocks used) from class instance

        PARAMETER DESCRIPTION app

        easyblock class instance

        reprod_dir_root

        root directory in which to create the 'reprod' directory

        RETURNS DESCRIPTION

        reprod_dir directory containing reproducibility files

        ","boost":0.5},{"location":"api/easybuild/framework/easystack/","title":"easystack","text":"

        Support for easybuild-ing from multiple easyconfigs based on information obtained from provided file (easystack) with build specifications.

        Authors:

        • Denis Kristak (Inuits)
        • Pavel Grochal (Inuits)
        • Kenneth Hoste (HPC-UGent)
        • Caspar van Leeuwen (SURF)
        ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStack","title":"EasyStack","text":"

        Bases: object

        One class instance per easystack. General options + list of all SoftwareSpecs instances

        ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStack.__str__","title":"__str__()","text":"

        Pretty printing of an EasyStack instance

        ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStack.get_general_options","title":"get_general_options()","text":"

        Returns general options (flags applicable to all sw (i.e. --robot))

        ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStackParser","title":"EasyStackParser","text":"

        Bases: object

        Parser for easystack files (in YAML syntax).

        ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStackParser.parse","title":"parse(filepath) staticmethod","text":"

        Parses YAML file and assigns obtained values to SW config instances as well as general config instance

        ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStackParser.parse_by_easyconfigs","title":"parse_by_easyconfigs(filepath, easyconfigs, easybuild_version=None, robot=False) staticmethod","text":"

        Parse easystack file with 'easyconfigs' as top-level key.

        ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.SoftwareSpecs","title":"SoftwareSpecs","text":"

        Bases: object

        Contains information about every software that should be installed

        ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.check_value","title":"check_value(value, context)","text":"

        Check whether specified value obtained from a YAML file in specified context represents is valid. The value must be a string (not a float or an int).

        ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.parse_easystack","title":"parse_easystack(filepath)","text":"

        Parses through easystack file, returns what EC are to be installed together with their options.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/","title":"extension","text":"

        Generic EasyBuild support for software extensions (e.g. Python packages). The Extension class should serve as a base class for all extensions.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension","title":"Extension","text":"

        Bases: object

        Support for installing extensions.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.name","title":"name property","text":"

        Shortcut the get the extension name.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.required_deps","title":"required_deps property","text":"

        Return list of required dependencies for this extension.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.toolchain","title":"toolchain property","text":"

        Toolchain used to build this extension.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.version","title":"version property","text":"

        Shortcut the get the extension version.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.__init__","title":"__init__(mself, ext, extra_params=None)","text":"

        Constructor for Extension class

        PARAMETER DESCRIPTION mself

        parent Easyblock instance

        ext

        dictionary with extension metadata (name, version, src, patches, options, ...)

        extra_params

        extra custom easyconfig parameters to take into account for this extension

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.async_cmd_check","title":"async_cmd_check()","text":"

        Check progress of installation command that was started asynchronously.

        RETURNS DESCRIPTION

        True if command completed, False otherwise

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.async_cmd_start","title":"async_cmd_start(cmd, inp=None)","text":"

        Start installation asynchronously using specified command.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.postrun","title":"postrun()","text":"

        Stuff to do after installing a extension.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.prerun","title":"prerun()","text":"

        Stuff to do before installing a extension.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.run","title":"run(*args, **kwargs)","text":"

        Actual installation of an extension.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.run_async","title":"run_async(*args, **kwargs)","text":"

        Asynchronous installation of an extension.

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.sanity_check_step","title":"sanity_check_step()","text":"

        Sanity check to run after installing extension

        ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.resolve_exts_filter_template","title":"resolve_exts_filter_template(exts_filter, ext)","text":"

        Resolve the exts_filter tuple by replacing the template values using the extension

        PARAMETER DESCRIPTION exts_filter

        Tuple of (command, input) using template values (ext_name, ext_version, src)

        ext

        Instance of Extension or dictionary like with 'name' and optionally 'options', 'version', 'source' keys

        RETURNS DESCRIPTION

        (cmd, input) as a tuple of strings

        ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/","title":"extensioneasyblock","text":"

        EasyBuild support for building and installing extensions as actual extensions or as stand-alone modules, implemented as an easyblock

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock","title":"ExtensionEasyBlock","text":"

        Bases: EasyBlock, Extension

        Install an extension as a separate module, or as an extension.

        Deriving classes should implement the following functions: * required EasyBlock functions: - configure_step - build_step - install_step * required Extension functions - run

        ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.__init__","title":"__init__(*args, **kwargs)","text":"

        Initialize either as EasyBlock or as Extension.

        ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.extra_options","title":"extra_options(extra_vars=None) staticmethod","text":"

        Extra easyconfig parameters specific to ExtensionEasyBlock.

        ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.make_module_extra","title":"make_module_extra(extra=None)","text":"

        Add custom entries to module.

        ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.run","title":"run(unpack_src=False)","text":"

        Common operations for extensions: unpacking sources, patching, ...

        ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.sanity_check_step","title":"sanity_check_step(exts_filter=None, custom_paths=None, custom_commands=None)","text":"

        Custom sanity check for extensions, whether installed as stand-alone module or not

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/","title":"easyconfig","text":"
        • easybuild
          • framework
            • easyconfig
              • constants
              • default
              • easyconfig
              • format
                • convert
                • format
                • one
                • pyheaderconfigobj
                • two
                • version
                • yeb
              • licenses
              • parser
              • style
              • templates
              • tools
              • tweak
              • types
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/constants/","title":"constants","text":"

        Easyconfig constants module that provides all constants that can be used within an Easyconfig file.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/default/","title":"default","text":"

        Easyconfig module that contains the default EasyConfig configuration parameters.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/default/#easybuild.framework.easyconfig.default.get_easyconfig_parameter_default","title":"get_easyconfig_parameter_default(param)","text":"

        Get default value for given easyconfig parameter.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/default/#easybuild.framework.easyconfig.default.is_easyconfig_parameter_default_value","title":"is_easyconfig_parameter_default_value(param, value)","text":"

        Return True if the parameters is one of the default ones and the value equals its default value

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/default/#easybuild.framework.easyconfig.default.sorted_categories","title":"sorted_categories()","text":"

        returns the categories in the correct order

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/","title":"easyconfig","text":"

        Easyconfig module that contains the EasyConfig class.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        • Ward Poelmans (Ghent University)
        • Alan O'Cais (Juelich Supercomputing Centre)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        • Maxime Boissonneault (Universite Laval, Calcul Quebec, Compute Canada)
        • Victor Holanda (CSCS, ETH Zurich)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS","title":"ActiveMNS","text":"

        Bases: BaseActiveMNS

        Wrapper class for active module naming scheme.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.__init__","title":"__init__(*args, **kwargs)","text":"

        Initialize logger.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.check_ec_type","title":"check_ec_type(ec, raise_error=True)","text":"

        Obtain a full parsed easyconfig file to pass to naming scheme methods if provided keys are insufficient.

        PARAMETER DESCRIPTION ec

        available easyconfig parameter specifications (EasyConfig instance or dict value)

        raise_error

        boolean indicating whether or not an error should be raised if a full easyconfig is required but not found

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_devel_module_filename","title":"det_devel_module_filename(ec, force_visible=False)","text":"

        Determine devel module filename.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_full_module_name","title":"det_full_module_name(ec, force_visible=False, require_result=True)","text":"

        Determine full module name by selected module naming scheme, based on supplied easyconfig.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_init_modulepaths","title":"det_init_modulepaths(ec)","text":"

        Determine initial modulepaths according to module naming scheme.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_install_subdir","title":"det_install_subdir(ec)","text":"

        Determine name of software installation subdirectory.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_modpath_extensions","title":"det_modpath_extensions(ec)","text":"

        Determine modulepath extensions according to module naming scheme.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_module_subdir","title":"det_module_subdir(ec)","text":"

        Determine module subdirectory according to module naming scheme.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_module_symlink_paths","title":"det_module_symlink_paths(ec)","text":"

        Determine list of paths in which symlinks to module files must be created.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_short_module_name","title":"det_short_module_name(ec, force_visible=False)","text":"

        Determine short module name according to module naming scheme.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_user_modpath_extensions","title":"det_user_modpath_extensions(ec)","text":"

        Determine user-specific modulepath extensions according to module naming scheme.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.expand_toolchain_load","title":"expand_toolchain_load(ec=None)","text":"

        Determine whether load statements for a toolchain should be expanded to load statements for its dependencies. This is useful when toolchains are not exposed to users.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.is_short_modname_for","title":"is_short_modname_for(short_modname, name)","text":"

        Determine whether the specified (short) module name is a module for software with the specified name.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.requires_full_easyconfig","title":"requires_full_easyconfig(keys)","text":"

        Check whether specified list of easyconfig parameters is sufficient for active module naming scheme.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig","title":"EasyConfig","text":"

        Bases: object

        Class which handles loading, reading, validation of easyconfigs

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.all_dependencies","title":"all_dependencies property","text":"

        Return list of all dependencies, incl. hidden/build deps & toolchain, but excluding filtered deps.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.name","title":"name property","text":"

        returns name

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.toolchain","title":"toolchain property","text":"

        returns the Toolchain used

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.version","title":"version property","text":"

        returns version

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__contains__","title":"__contains__(key)","text":"

        Check whether easyconfig parameter is defined

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__eq__","title":"__eq__(ec)","text":"

        Is this EasyConfig instance equivalent to the provided one?

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__getitem__","title":"__getitem__(key)","text":"

        Return value of specified easyconfig parameter (without help text, etc.)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__hash__","title":"__hash__()","text":"

        Return hash value for a hashable representation of this EasyConfig instance.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__init__","title":"__init__(path, extra_options=None, build_specs=None, validate=True, hidden=None, rawtxt=None, auto_convert_value_types=True, local_var_naming_check=None)","text":"

        initialize an easyconfig.

        PARAMETER DESCRIPTION path

        path to easyconfig file to be parsed (ignored if rawtxt is specified)

        extra_options

        dictionary with extra variables that can be set for this specific instance

        DEFAULT: None

        build_specs

        dictionary of build specifications (see EasyConfig class, default: {})

        DEFAULT: None

        validate

        indicates whether validation should be performed (note: combined with 'validate' build option)

        DEFAULT: True

        hidden

        indicate whether corresponding module file should be installed hidden ('.'-prefixed)

        DEFAULT: None

        rawtxt

        raw contents of easyconfig file

        DEFAULT: None

        auto_convert_value_types

        indicates wether types of easyconfig values should be automatically converted in case they are wrong

        DEFAULT: True

        local_var_naming_check

        mode to use when checking if local variables use the recommended naming scheme

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__ne__","title":"__ne__(ec)","text":"

        Is this EasyConfig instance equivalent to the provided one?

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__setitem__","title":"__setitem__(key, value)","text":"

        Set value of specified easyconfig parameter (help text & co is left untouched)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__str__","title":"__str__()","text":"

        Return a string representation of this EasyConfig instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.asdict","title":"asdict()","text":"

        Return dict representation of this EasyConfig instance.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.builddependencies","title":"builddependencies()","text":"

        Return a flat list of the parsed build dependencies When builddependencies are iterable they are flattened lists with duplicates removed outside of the iterating process, because the callers want simple lists.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.check_deprecated","title":"check_deprecated(path)","text":"

        Check whether this easyconfig file is deprecated.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.copy","title":"copy(validate=None)","text":"

        Return a copy of this EasyConfig instance.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.count_files","title":"count_files()","text":"

        Determine number of files (sources + patches) required for this easyconfig.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.dep_is_filtered","title":"dep_is_filtered(dep, filter_deps_specs)","text":"

        Returns True if a dependency is filtered according to the filter_deps_specs

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.dependencies","title":"dependencies(build_only=False)","text":"

        Returns an array of parsed dependencies (after filtering, if requested) dependency = {'name': '', 'version': '', 'system': (False|True), 'versionsuffix': '', 'toolchain': ''} Iterable builddependencies are flattened when not iterating.

        PARAMETER DESCRIPTION build_only

        only return build dependencies, discard others

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.disable_templating","title":"disable_templating()","text":"

        Temporarily disable templating on the given EasyConfig

        Usage: with ec.disable_templating(): # Do what you want without templating # Templating set to previous value

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.dump","title":"dump(fp, always_overwrite=True, backup=False, explicit_toolchains=False)","text":"

        Dump this easyconfig to file, with the given filename.

        PARAMETER DESCRIPTION always_overwrite

        overwrite existing file at specified location without use of --force

        DEFAULT: True

        backup

        create backup of existing file before overwriting it

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.extend_params","title":"extend_params(extra, overwrite=True)","text":"

        Extend list of known parameters via provided list of extra easyconfig parameters.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.filename","title":"filename()","text":"

        Determine correct filename for this easyconfig file.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.filter_deps","title":"filter_deps(deps)","text":"

        Filter dependencies according to 'filter-deps' configuration setting.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.filter_hidden_deps","title":"filter_hidden_deps()","text":"

        Replace dependencies by hidden dependencies in list of (build) dependencies, where appropriate.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.generate_template_values","title":"generate_template_values()","text":"

        Try to generate all template values.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.get","title":"get(key, default=None, resolve=True)","text":"

        Gets the value of a key in the config, with 'default' as fallback.

        PARAMETER DESCRIPTION resolve

        if False, disables templating via calling get_ref, else resolves template values

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.get_cuda_cc_template_value","title":"get_cuda_cc_template_value(key)","text":"

        Get template value based on --cuda-compute-capabilities EasyBuild configuration option and cuda_compute_capabilities easyconfig parameter. Returns user-friendly error message in case neither are defined, or if an unknown key is used.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.get_parsed_multi_deps","title":"get_parsed_multi_deps()","text":"

        Get list of lists of parsed dependencies that correspond with entries in multi_deps easyconfig parameter.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.get_ref","title":"get_ref(key)","text":"

        Obtain reference to original/untemplated value of specified easyconfig parameter rather than a copied value with templated values.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.handle_external_module_metadata","title":"handle_external_module_metadata(mod_name)","text":"

        Helper function for _parse_dependency; collects metadata for external module dependencies.

        PARAMETER DESCRIPTION mod_name

        name of external module to collect metadata for

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.handle_multi_deps","title":"handle_multi_deps()","text":"

        Handle lists of dependency versions of which we should iterate specified in 'multi_deps' easyconfig parameter.

        This is basically just syntactic sugar to prevent having to specify a list of lists in 'builddependencies'.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.is_mandatory_param","title":"is_mandatory_param(key)","text":"

        Check whether specified easyconfig parameter is mandatory.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.local_var_naming","title":"local_var_naming(local_var_naming_check)","text":"

        Deal with local variables that do not follow the recommended naming scheme (if any).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.parse","title":"parse()","text":"

        Parse the file and set options mandatory requirements are checked here

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.parse_filter_deps","title":"parse_filter_deps()","text":"

        Parse specifications for which dependencies should be filtered.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.parse_version_range","title":"parse_version_range(version_spec)","text":"

        Parse provided version specification as a version range.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.probe_external_module_metadata","title":"probe_external_module_metadata(mod_name, existing_metadata=None)","text":"

        Helper function for handle_external_module_metadata.

        Tries to determine metadata for external module when there is not entry in the metadata file, by looking at the variables defined by the module file.

        This is mainly intended for modules provided in the Cray Programming Environment, but it could also be useful in other contexts.

        The following pairs of variables are considered (in order, first hit wins), where 'XXX' is the software name in capitals: 1. $CRAY_XXX_PREFIX and $CRAY_XXX_VERSION 1. $CRAY_XXX_PREFIX_DIR and $CRAY_XXX_VERSION 2. $CRAY_XXX_DIR and $CRAY_XXX_VERSION 2. $CRAY_XXX_ROOT and $CRAY_XXX_VERSION 5. $XXX_PREFIX and $XXX_VERSION 4. $XXX_DIR and $XXX_VERSION 5. $XXX_ROOT and $XXX_VERSION 3. $XXX_HOME and $XXX_VERSION

        If none of the pairs is found, then an empty dictionary is returned.

        PARAMETER DESCRIPTION mod_name

        name of the external module

        existing_metadata

        already available metadata for this external module (if any)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.set_keys","title":"set_keys(params)","text":"

        Set keys in this EasyConfig instance based on supplied easyconfig parameter values.

        If any unknown easyconfig parameters are encountered here, an error is raised.

        PARAMETER DESCRIPTION params

        a dict value with names/values of easyconfig parameters to set

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.start_iterating","title":"start_iterating()","text":"

        Start iterative mode.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.stop_iterating","title":"stop_iterating()","text":"

        Stop iterative mode.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.update","title":"update(key, value, allow_duplicate=True)","text":"

        Update an easyconfig parameter with the specified value (i.e. append to it). Note: For dictionary easyconfig parameters, 'allow_duplicate' is ignored (since it's meaningless).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.validate","title":"validate(check_osdeps=True)","text":"

        Validate this easyonfig - ensure certain easyconfig parameters are set to a known value (see self.validations) - check OS dependencies - check license

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.validate_iterate_opts_lists","title":"validate_iterate_opts_lists()","text":"

        Configure/build/install options specified as lists should have same length.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.validate_license","title":"validate_license()","text":"

        Validate the license

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.validate_os_deps","title":"validate_os_deps()","text":"

        validate presence of OS dependencies osdependencies should be a single list

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.clean_up_easyconfigs","title":"clean_up_easyconfigs(paths)","text":"

        Clean up easyconfigs (in place) by filtering out comments/buildstats included by EasyBuild in archived easyconfigs (cfr. FileRepository.add_easyconfig in easybuild.tools.repository.filerepo)

        PARAMETER DESCRIPTION paths

        list of paths to easyconfigs to clean up

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.copy_easyconfigs","title":"copy_easyconfigs(paths, target_dir)","text":"

        Copy easyconfig files to specified directory, in the 'right' location and using the filename expected by robot.

        PARAMETER DESCRIPTION paths

        list of paths to copy to git working dir

        target_dir

        target directory

        RETURNS DESCRIPTION

        dict with useful information on copied easyconfig files (corresponding EasyConfig instances, paths, status)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.copy_patch_files","title":"copy_patch_files(patch_specs, target_dir)","text":"

        Copy patch files to specified directory, in the 'right' location according to the software name they relate to.

        PARAMETER DESCRIPTION patch_specs

        list of tuples with patch file location and name of software they are for

        target_dir

        target directory

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.create_paths","title":"create_paths(path, name, version)","text":"

        Returns all the paths where easyconfig could be located is the basepath should be a string can be a '*' if you use glob patterns, or an install version otherwise","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.det_file_info","title":"det_file_info(paths, target_dir)","text":"

        Determine useful information on easyconfig files relative to a target directory, before any actual operation (e.g. copying) is performed

        PARAMETER DESCRIPTION paths

        list of paths to easyconfig files

        target_dir

        target directory

        RETURNS DESCRIPTION

        dict with useful information on easyconfig files (corresponding EasyConfig instances, paths, status) relative to a target directory

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.det_installversion","title":"det_installversion(version, toolchain_name, toolchain_version, prefix, suffix)","text":"

        Deprecated 'det_installversion' function, to determine exact install version, based on supplied parameters.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.det_location_for","title":"det_location_for(path, target_dir, soft_name, target_file)","text":"

        Determine path to easyconfigs directory for specified software name, using specified target file name.

        PARAMETER DESCRIPTION path

        path of file to copy

        target_dir

        (parent) target directory, should contain easybuild/easyconfigs subdirectory

        soft_name

        software name (to determine location to copy to)

        target_file

        target file name

        RETURNS DESCRIPTION

        full path to the right location

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.det_subtoolchain_version","title":"det_subtoolchain_version(current_tc, subtoolchain_names, optional_toolchains, cands, incl_capabilities=False)","text":"

        Returns unique version for subtoolchain, in tc dict. If there is no unique version: * use '' for system, if system is not skipped. * return None for skipped subtoolchains, that is, optional toolchains or system toolchain without add_system_to_minimal_toolchains. * in all other cases, raises an exception.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.disable_templating","title":"disable_templating(ec)","text":"

        Temporarily disable templating on the given EasyConfig

        Usage: with disable_templating(ec): # Do what you want without templating # Templating set to previous value

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.fix_deprecated_easyconfigs","title":"fix_deprecated_easyconfigs(paths)","text":"

        Fix use of deprecated functionality in easyconfigs at specified locations.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.get_easyblock_class","title":"get_easyblock_class(easyblock, name=None, error_on_failed_import=True, error_on_missing_easyblock=None, **kwargs)","text":"

        Get class for a particular easyblock (or use default)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.get_module_path","title":"get_module_path(name, generic=None, decode=True)","text":"

        Determine the module path for a given easyblock or software name, based on the encoded class name.

        PARAMETER DESCRIPTION generic

        whether or not the easyblock is generic (if None: auto-derive from specified class name)

        DEFAULT: None

        decode

        whether or not to decode the provided class name

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.get_toolchain_hierarchy","title":"get_toolchain_hierarchy(parent_toolchain, incl_capabilities=False)","text":"

        Determine list of subtoolchains for specified parent toolchain. Result starts with the most minimal subtoolchains first, ends with specified toolchain.

        The system toolchain is considered the most minimal subtoolchain only if the add_system_to_minimal_toolchains build option is enabled.

        The most complex hierarchy we have now is goolfc which works as follows:

        goolfc\n/     \\\n

        gompic golfc() \\ / \\ () optional toolchains, not compulsory for backwards compatibility gcccuda golf() \\ / GCC / | GCCcore() | \\ | (system: only considered if --add-system-to-minimal-toolchains configuration option is enabled)

        PARAMETER DESCRIPTION parent_toolchain

        dictionary with name/version of parent toolchain

        incl_capabilities

        also register toolchain capabilities in result

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.handle_deprecated_or_replaced_easyconfig_parameters","title":"handle_deprecated_or_replaced_easyconfig_parameters(ec_method)","text":"

        Decorator to handle deprecated/replaced easyconfig parameters.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.is_generic_easyblock","title":"is_generic_easyblock(easyblock)","text":"

        Return whether specified easyblock name is a generic easyblock or not.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.is_local_var_name","title":"is_local_var_name(name)","text":"

        Determine whether provided variable name can be considered as the name of a local variable:

        One of the following suffices to be considered a name of a local variable: * name starts with 'local_' or '_' * name consists of a single letter * name is builtins (which is always defined)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.letter_dir_for","title":"letter_dir_for(name)","text":"

        Determine 'letter' directory for specified software name. This usually just the 1st letter of the software name (in lowercase), except for funky software names, e.g. ones starting with a digit.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.process_easyconfig","title":"process_easyconfig(path, build_specs=None, validate=True, parse_only=False, hidden=None)","text":"

        Process easyconfig, returning some information for each block

        PARAMETER DESCRIPTION path

        path to easyconfig file

        build_specs

        dictionary specifying build specifications (e.g. version, toolchain, ...)

        DEFAULT: None

        validate

        whether or not to perform validation

        DEFAULT: True

        parse_only

        only parse easyconfig superficially (faster, but results in partial info)

        DEFAULT: False

        hidden

        indicate whether corresponding module file should be installed hidden ('.'-prefixed)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.resolve_template","title":"resolve_template(value, tmpl_dict)","text":"

        Given a value, try to susbstitute the templated strings with actual values. - value: some python object (supported are string, tuple/list, dict or some mix thereof) - tmpl_dict: template dictionary

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.robot_find_easyconfig","title":"robot_find_easyconfig(name, version)","text":"

        Find an easyconfig for module in path, returns (absolute) path to easyconfig file (or None, if none is found).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.robot_find_subtoolchain_for_dep","title":"robot_find_subtoolchain_for_dep(dep, modtool, parent_tc=None, parent_first=False)","text":"

        Find the subtoolchain to use for a dependency

        PARAMETER DESCRIPTION dep

        dependency target dict (long and short module names may not exist yet)

        parent_tc

        toolchain from which to derive the toolchain hierarchy to search (default: use dep's toolchain)

        DEFAULT: None

        parent_first

        reverse order in which subtoolchains are considered: parent toolchain, then subtoolchains

        DEFAULT: False

        RETURNS DESCRIPTION

        minimal toolchain for which an easyconfig exists for this dependency (and matches build_options)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.toolchain_hierarchy_cache","title":"toolchain_hierarchy_cache(func)","text":"

        Function decorator to cache (and retrieve cached) toolchain hierarchy queries.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.triage_easyconfig_params","title":"triage_easyconfig_params(variables, ec)","text":"

        Triage supplied variables into known easyconfig parameters and other variables.

        Unknown easyconfig parameters that have a single-letter name, or of which the name starts with 'local_' are considered to be local variables.

        PARAMETER DESCRIPTION variables

        dictionary with names/values of variables that should be triaged

        ec

        dictionary with set of known easyconfig parameters

        RETURNS DESCRIPTION

        2-tuple with dict of names/values for known easyconfig parameters + unknown (non-local) variables

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.verify_easyconfig_filename","title":"verify_easyconfig_filename(path, specs, parsed_ec=None)","text":"

        Check whether parsed easyconfig at specified path matches expected specs; this basically verifies whether the easyconfig filename corresponds to its contents

        PARAMETER DESCRIPTION path

        path to easyconfig file

        specs

        expected specs (dict with easyconfig parameter values)

        parsed_ec

        (list of) EasyConfig instance(s) corresponding to easyconfig file

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/","title":"licenses","text":"

        Easyconfig licenses module that provides all licenses that can be used within an Easyconfig file.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.License","title":"License","text":"

        Bases: object

        EasyBuild easyconfig license class This is also the default restrictive license

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.License.name","title":"name property","text":"

        Return license name.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.License.__init__","title":"__init__()","text":"

        License constructor.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGCC","title":"LicenseGCC","text":"

        Bases: LicenseGPLv3

        GPLv3 with GCC Runtime Library Exception. Latest GPLv2 GCC release was 4.2.1 (http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGCCOld","title":"LicenseGCCOld","text":"

        Bases: LicenseGPLv2

        GPLv2 with GCC Runtime Library Exception for older GCC versions. Latest GPLv2 GCC release was 4.2.1 (http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGPL","title":"LicenseGPL","text":"

        Bases: LicenseOpen

        Hidden license class to subclass GPL licenses.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGPLv2","title":"LicenseGPLv2","text":"

        Bases: LicenseGPL

        GPLv2 license

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGPLv3","title":"LicenseGPLv3","text":"

        Bases: LicenseGPLv2

        GPLv3 license

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseLibpng","title":"LicenseLibpng","text":"

        Bases: LicenseOpen

        The PNG license is derived from the zlib license, http://libpng.org/pub/png/src/libpng-LICENSE.txt

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseOpen","title":"LicenseOpen","text":"

        Bases: License

        Hidden license class to subclass open licenses. 'Open' here means, that source can be redistributed, and that both source and binaries do not need special groups (ie anyone can access/use it).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseUnknown","title":"LicenseUnknown","text":"

        Bases: LicenseVeryRestrictive

        A (temporary) license, could be used as default in case nothing was specified

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseVeryRestrictive","title":"LicenseVeryRestrictive","text":"

        Bases: License

        Default license should be very restrictive, so nothing to do here, just a placeholder

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseZlib","title":"LicenseZlib","text":"

        Bases: LicenseOpen

        The zlib License is a permissive free software license http://www.zlib.net/zlib_license.html

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.what_licenses","title":"what_licenses()","text":"

        Return a dict of License subclasses names and license instances

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/","title":"parser","text":"

        This describes the easyconfig parser

        The parser is format version aware

        Authors:

        • Stijn De Weirdt (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser","title":"EasyConfigParser","text":"

        Bases: object

        Read the easyconfig file, return a parsed config object Can contain references to multiple version and toolchain/toolchain versions

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.__init__","title":"__init__(filename=None, format_version=None, rawcontent=None, auto_convert_value_types=True)","text":"

        Initialise the EasyConfigParser class

        PARAMETER DESCRIPTION filename

        path to easyconfig file to parse (superseded by rawcontent, if specified)

        DEFAULT: None

        format_version

        version of easyconfig file format, used to determine how to parse supplied easyconfig

        DEFAULT: None

        rawcontent

        raw content of easyconfig file to parse (preferred over easyconfig supplied via filename)

        DEFAULT: None

        auto_convert_value_types

        indicates whether types of easyconfig values should be automatically converted in case they are wrong

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.check_values_types","title":"check_values_types(cfg)","text":"

        Check types of easyconfig parameter values.

        PARAMETER DESCRIPTION cfg

        dictionary with easyconfig parameter values (result of get_config_dict())

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.dump","title":"dump(ecfg, default_values, templ_const, templ_val, toolchain_hierarchy=None)","text":"

        Dump easyconfig in format it was parsed from.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.get_config_dict","title":"get_config_dict(validate=True)","text":"

        Return parsed easyconfig as a dict.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.process","title":"process(filename=None)","text":"

        Create an instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.set_format_text","title":"set_format_text()","text":"

        Create the text for the formatter instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.set_specifications","title":"set_specifications(specs)","text":"

        Set specifications.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.write","title":"write(filename=None)","text":"

        Write the easyconfig format instance, using content in self.rawcontent.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.fetch_parameters_from_easyconfig","title":"fetch_parameters_from_easyconfig(rawtxt, params)","text":"

        Fetch (initial) parameter definition from the given easyconfig file contents.

        PARAMETER DESCRIPTION rawtxt

        contents of the easyconfig file

        params

        list of parameter names to fetch values for

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/style/","title":"style","text":"

        Style tests for easyconfig files using pycodestyle.

        Authors:

        • Ward Poelmans (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/style/#easybuild.framework.easyconfig.style.check_easyconfigs_style","title":"check_easyconfigs_style(easyconfigs, verbose=False)","text":"

        Check the given list of easyconfigs for style

        PARAMETER DESCRIPTION easyconfigs

        list of file paths to easyconfigs

        verbose

        print our statistics and be verbose about the errors and warning

        DEFAULT: False

        RETURNS DESCRIPTION

        the number of warnings and errors

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/style/#easybuild.framework.easyconfig.style.cmdline_easyconfigs_style_check","title":"cmdline_easyconfigs_style_check(ecs)","text":"

        Run easyconfigs style check of each of the specified easyconfigs, triggered from 'eb' command line

        PARAMETER DESCRIPTION ecs

        list of easyconfigs to check, could be either file paths or EasyConfig instances

        RETURNS DESCRIPTION

        True when style check passed on all easyconfig files, False otherwise

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/templates/","title":"templates","text":"

        Easyconfig templates module that provides templating that can be used within an Easyconfig file.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Fotis Georgatos (Uni.Lu, NTUA)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/templates/#easybuild.framework.easyconfig.templates.template_constant_dict","title":"template_constant_dict(config, ignore=None, skip_lower=None, toolchain=None)","text":"

        Create a dict for templating the values in the easyconfigs. - config is a dict with the structure of EasyConfig._config

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/templates/#easybuild.framework.easyconfig.templates.template_documentation","title":"template_documentation()","text":"

        Generate the templating documentation

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/templates/#easybuild.framework.easyconfig.templates.to_template_str","title":"to_template_str(key, value, templ_const, templ_val)","text":"

        Insert template values where possible

        PARAMETER DESCRIPTION key

        name of easyconfig parameter

        value

        string representing easyconfig parameter value

        templ_const

        dictionary of template strings (constants)

        templ_val

        (ordered) dictionary of template strings specific for this easyconfig file

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/","title":"tools","text":"

        Easyconfig module that provides functionality for dealing with easyconfig (.eb) files, alongside the EasyConfig class to represent parsed easyconfig files.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        • Fotis Georgatos (Uni.Lu, NTUA)
        • Ward Poelmans (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.alt_easyconfig_paths","title":"alt_easyconfig_paths(tmpdir, tweaked_ecs=False, from_prs=None, review_pr=None)","text":"

        Obtain alternative paths for easyconfig files.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.avail_easyblocks","title":"avail_easyblocks()","text":"

        Return a list of all available easyblocks.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.categorize_files_by_type","title":"categorize_files_by_type(paths)","text":"

        Splits list of filepaths into a 4 separate lists: easyconfigs, files to delete, patch files and files with extension .py

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.check_sha256_checksums","title":"check_sha256_checksums(ecs, whitelist=None)","text":"

        Check whether all provided (parsed) easyconfigs have SHA256 checksums for sources & patches.

        PARAMETER DESCRIPTION whitelist

        list of regex patterns on easyconfig filenames; check is skipped for matching easyconfigs

        DEFAULT: None

        RETURNS DESCRIPTION

        list of strings describing checksum issues (missing checksums, wrong checksum type, etc.)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.dep_graph","title":"dep_graph(filename, specs)","text":"

        Create a dependency graph for the given easyconfigs.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.det_copy_ec_specs","title":"det_copy_ec_specs(orig_paths, from_pr)","text":"

        Determine list of paths + target directory for --copy-ec.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.det_easyconfig_paths","title":"det_easyconfig_paths(orig_paths)","text":"

        Determine paths to easyconfig files.

        PARAMETER DESCRIPTION orig_paths

        list of original easyconfig paths

        RETURNS DESCRIPTION

        list of paths to easyconfig files

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.dump_env_script","title":"dump_env_script(easyconfigs)","text":"

        Dump source scripts that set up build environment for specified easyconfigs.

        PARAMETER DESCRIPTION easyconfigs

        list of easyconfigs to generate scripts for

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.find_related_easyconfigs","title":"find_related_easyconfigs(path, ec)","text":"

        Find related easyconfigs for provided parsed easyconfig in specified path.

        A list of easyconfigs for the same software (name) is returned, matching the 1st criterion that yields a non-empty list.

        The following criteria are considered (in this order) next to common software version criterion, i.e. exact version match, a major/minor version match, a major version match, or no version match (in that order).

        (i) matching versionsuffix and toolchain name/version (ii) matching versionsuffix and toolchain name (any toolchain version) (iii) matching versionsuffix (any toolchain name/version) (iv) matching toolchain name/version (any versionsuffix) (v) matching toolchain name (any versionsuffix, toolchain version) (vi) no extra requirements (any versionsuffix, toolchain name/version)

        If no related easyconfigs with a matching software name are found, an empty list is returned.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.find_resolved_modules","title":"find_resolved_modules(easyconfigs, avail_modules, modtool, retain_all_deps=False)","text":"

        Find easyconfigs in 1st argument which can be fully resolved using modules specified in 2nd argument

        PARAMETER DESCRIPTION easyconfigs

        list of parsed easyconfigs

        avail_modules

        list of available modules

        retain_all_deps

        retain all dependencies, regardless of whether modules are available for them or not

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.get_paths_for","title":"get_paths_for(subdir=EASYCONFIGS_PKG_SUBDIR, robot_path=None)","text":"

        Return a list of absolute paths where the specified subdir can be found, determined by the PYTHONPATH

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.parse_easyconfigs","title":"parse_easyconfigs(paths, validate=True)","text":"

        Parse easyconfig files

        PARAMETER DESCRIPTION paths

        paths to easyconfigs

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.review_pr","title":"review_pr(paths=None, pr=None, colored=True, branch='develop', testing=False, max_ecs=None, filter_ecs=None)","text":"

        Print multi-diff overview between specified easyconfigs or PR and specified branch.

        PARAMETER DESCRIPTION pr

        pull request number in easybuild-easyconfigs repo to review

        DEFAULT: None

        paths

        path tuples (path, generated) of easyconfigs to review

        DEFAULT: None

        colored

        boolean indicating whether a colored multi-diff should be generated

        DEFAULT: True

        branch

        easybuild-easyconfigs branch to compare with

        DEFAULT: 'develop'

        testing

        whether to ignore PR labels (used in test_review_pr)

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.run_contrib_checks","title":"run_contrib_checks(ecs)","text":"

        Run contribution check on specified easyconfigs.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.skip_available","title":"skip_available(easyconfigs, modtool)","text":"

        Skip building easyconfigs for existing modules.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.stats_to_str","title":"stats_to_str(stats, isyeb=False)","text":"

        Pretty print build statistics to string.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/","title":"tweak","text":"

        Easyconfig module that provides functionality for tweaking existing eaysconfig (.eb) files.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        • Fotis Georgatos (Uni.Lu, NTUA)
        • Alan O'Cais (Juelich Supercomputing Centre)
        • Maxime Boissonneault (Universite Laval, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.check_capability_mapping","title":"check_capability_mapping(source_tc_spec, target_tc_spec)","text":"

        Compare whether the capabilities of a source toolchain are all present in a target toolchain

        PARAMETER DESCRIPTION source_tc_spec

        specs of source toolchain

        target_tc_spec

        specs of target toolchain

        RETURNS DESCRIPTION

        boolean indicating whether or not source toolchain is compatible with target toolchain

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.ec_filename_for","title":"ec_filename_for(path)","text":"

        Return a suiting file name for the easyconfig file at , as determined by its contents.","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.find_matching_easyconfigs","title":"find_matching_easyconfigs(name, installver, paths)","text":"

        Find easyconfigs that match specified name/installversion in specified list of paths.

        PARAMETER DESCRIPTION name

        software name

        installver

        software install version (which includes version, toolchain, versionprefix/suffix, ...)

        paths

        list of paths to search easyconfigs in

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.find_potential_version_mappings","title":"find_potential_version_mappings(dep, toolchain_mapping, versionsuffix_mapping=None, highest_versions_only=True, ignore_versionsuffixes=False, quiet=False)","text":"

        Find potential version mapping for a dependency in a new hierarchy

        PARAMETER DESCRIPTION dep

        dependency specification (dict)

        toolchain_mapping

        toolchain mapping used for search

        versionsuffix_mapping

        mapping of version suffixes (required by software with a special version suffix, such as Python packages)

        DEFAULT: None

        highest_versions_only

        only return highest versions

        DEFAULT: True

        RETURNS DESCRIPTION

        list of dependencies that match

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.get_dep_tree_of_toolchain","title":"get_dep_tree_of_toolchain(toolchain_spec, modtool)","text":"

        Get list of dependencies of a toolchain (as EasyConfig objects)

        PARAMETER DESCRIPTION toolchain_spec

        toolchain spec to get the dependencies of

        modtool

        module tool used

        RETURNS DESCRIPTION

        The dependency tree of the toolchain spec

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.get_matching_easyconfig_candidates","title":"get_matching_easyconfig_candidates(prefix_stub, toolchain)","text":"

        Find easyconfigs that match specified requirements w.r.t. toolchain and partial filename pattern.

        PARAMETER DESCRIPTION prefix_stub

        stub used in regex (e.g., 'Python-' or 'Python-2')

        toolchain

        the toolchain to use with the search

        RETURNS DESCRIPTION

        list of candidate paths, toolchain_suffix of candidates

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.list_deps_versionsuffixes","title":"list_deps_versionsuffixes(ec_spec)","text":"

        Take an easyconfig spec, parse it, extracts the list of version suffixes used in its dependencies

        PARAMETER DESCRIPTION ec_spec

        location of original easyconfig file

        RETURNS DESCRIPTION

        The list of versionsuffixes used by the dependencies of this recipe

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.map_common_versionsuffixes","title":"map_common_versionsuffixes(software_name, original_toolchain, toolchain_mapping)","text":"

        Create a mapping of common versionssuffixes (like -Python-%(pyver)s) between toolchains

        PARAMETER DESCRIPTION software_name

        Name of software

        original_toolchain

        original toolchain

        toolchain_mapping

        toolchain mapping from that containing original to target

        RETURNS DESCRIPTION

        dictionary of possible mappings

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.map_easyconfig_to_target_tc_hierarchy","title":"map_easyconfig_to_target_tc_hierarchy(ec_spec, toolchain_mapping, targetdir=None, update_build_specs=None, update_dep_versions=False, ignore_versionsuffixes=False)","text":"

        Take an easyconfig spec, parse it, map it to a target toolchain and dump it out

        PARAMETER DESCRIPTION ec_spec

        location of original easyconfig file

        toolchain_mapping

        mapping between source toolchain and target toolchain

        targetdir

        directory to dump the modified easyconfig file in

        DEFAULT: None

        update_build_specs

        dict with names and values of easyconfig parameters to tweak

        DEFAULT: None

        update_dep_versions

        boolean indicating whether dependency versions should be updated

        DEFAULT: False

        RETURNS DESCRIPTION

        Location of the modified easyconfig file

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.map_toolchain_hierarchies","title":"map_toolchain_hierarchies(source_toolchain, target_toolchain, modtool)","text":"

        Create a map between toolchain hierarchy of the initial toolchain and that of the target toolchain

        PARAMETER DESCRIPTION source_toolchain

        initial toolchain of the easyconfig(s)

        target_toolchain

        target toolchain for tweaked easyconfig(s)

        modtool

        module tool used

        RETURNS DESCRIPTION

        mapping from source hierarchy to target hierarchy

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.map_versionsuffixes_cache","title":"map_versionsuffixes_cache(func)","text":"

        Function decorator to cache (and retrieve cached) versionsuffixes mapping between toolchains.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.match_minimum_tc_specs","title":"match_minimum_tc_specs(source_tc_spec, target_tc_hierarchy)","text":"

        Match a source toolchain spec to the minimal corresponding toolchain in a target hierarchy

        PARAMETER DESCRIPTION source_tc_spec

        specs of source toolchain

        target_tc_hierarchy

        hierarchy of specs for target toolchain

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.obtain_ec_for","title":"obtain_ec_for(specs, paths, fp=None)","text":"

        Obtain an easyconfig file to the given specifications.

        Either select between available ones, or use the best suited available one to generate a new easyconfig file.

        PARAMETER DESCRIPTION specs

        list of available easyconfig files

        paths

        a list of paths where easyconfig files can be found

        fp

        the desired file name

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.pick_version","title":"pick_version(req_ver, avail_vers)","text":"

        Pick version based on an optionally desired version and available versions.

        If a desired version is specifed, the most recent version that is less recent than or equal to the desired version will be picked; else, the most recent version will be picked.

        This function returns both the version to be used, which is equal to the required version if it was specified, and the version picked that matches that closest.

        PARAMETER DESCRIPTION req_ver

        required version

        avail_vers

        list of available versions

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.select_or_generate_ec","title":"select_or_generate_ec(fp, paths, specs)","text":"

        Select or generate an easyconfig file with the given requirements, from existing easyconfig files.

        If easyconfig files are available for the specified software package, then this function will first try to determine which toolchain to use. * if a toolchain is given, it will use it (possible using a template easyconfig file as base); * if not, and only a single toolchain is available, is will assume it can use that toolchain * else, it fails -- EasyBuild doesn't select between multiple available toolchains

        Next, it will trim down the selected easyconfig files to a single one, based on the following requirements (in order of preference): * toolchain version * software version * other parameters (e.g. versionprefix, versionsuffix, etc.)

        If a complete match is found, it will return that easyconfig. Else, it will generate a new easyconfig file based on the selected 'best matching' easyconfig file.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.tweak","title":"tweak(easyconfigs, build_specs, modtool, targetdirs=None)","text":"

        Tweak list of easyconfigs according to provided build specifications.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.tweak_one","title":"tweak_one(orig_ec, tweaked_ec, tweaks, targetdir=None)","text":"

        Tweak an easyconfig file with the given list of tweaks, using replacement via regular expressions. Note: this will only work 'well-written' easyconfig files, i.e. ones that e.g. set the version once and then use the 'version' variable to construct the list of sources, and possibly other parameters that depend on the version (e.g. list of patch files, dependencies, version suffix, ...)

        The tweaks should be specified in a dictionary, with parameters and keys that map to the values to be set.

        Reads easyconfig file at path , and writes the tweaked easyconfig file to .

        If is not provided, a target filepath is generated based on and the contents of the tweaked easyconfig file. PARAMETER DESCRIPTION orig_ec

        location of original easyconfig file to read

        tweaked_ec

        location where tweaked easyconfig file should be written (if this is None, then filename for tweaked easyconfig is auto-derived from contents)

        tweaks

        dictionary with set of changes to apply to original easyconfig file

        targetdir

        target directory for tweaked easyconfig file, defaults to temporary directory (only used if tweaked_ec is None)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/","title":"types","text":"

        Support for checking types of easyconfig parameter values.

        Authors:

        • Caroline De Brouwer (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.as_hashable","title":"as_hashable(dict_value)","text":"

        Helper function, convert dict value to hashable equivalent via tuples.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_element_types","title":"check_element_types(elems, allowed_types)","text":"

        Check whether types of elements of specified (iterable) value are as expected.

        PARAMETER DESCRIPTION elems

        iterable value (list or dict) of elements

        allowed_types

        allowed types per element; either a simple list, or a dict of allowed_types by element name

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_key_types","title":"check_key_types(val, allowed_types)","text":"

        Check whether type of keys for specific dict value are as expected.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_known_keys","title":"check_known_keys(val, allowed_keys)","text":"

        Check whether all keys for specified dict value are known keys.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_required_keys","title":"check_required_keys(val, required_keys)","text":"

        Check whether all required keys are present in the specified dict value.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_type_of_param_value","title":"check_type_of_param_value(key, val, auto_convert=False)","text":"

        Check value type of specified easyconfig parameter.

        PARAMETER DESCRIPTION key

        name of easyconfig parameter

        val

        easyconfig parameter value, of which type should be checked

        auto_convert

        try to automatically convert to expected value type if required

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.convert_value_type","title":"convert_value_type(val, typ)","text":"

        Try to convert type of provided value to specific type.

        PARAMETER DESCRIPTION val

        value to convert type of

        typ

        target type

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.ensure_iterable_license_specs","title":"ensure_iterable_license_specs(specs)","text":"

        Ensures that the provided license file/server specifications are of correct type and converts them to a list. The input can either be None, a string, or a list/tuple of strings.

        PARAMETER DESCRIPTION specs

        License file/server specifications as provided via license_file easyconfig parameter

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.is_value_of_type","title":"is_value_of_type(value, expected_type)","text":"

        Check whether specified value matches a particular very specific (non-trivial) type, which is specified by means of a 2-tuple: (parent type, tuple with additional type requirements).

        PARAMETER DESCRIPTION value

        value to check the type of

        expected_type

        type of value to check against

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_checksums","title":"to_checksums(checksums)","text":"

        Ensure correct element types for list of checksums: convert list elements to tuples.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_dependencies","title":"to_dependencies(dep_list)","text":"

        Convert a list of dependencies obtained from parsing a .yeb easyconfig to a list of dependencies in the correct format

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_dependency","title":"to_dependency(dep)","text":"

        Convert a dependency specification to a dependency dict with name/version/versionsuffix/toolchain keys.

        Example: {'foo': '1.2.3', 'toolchain': 'GCC, 4.8.2'} to {'name': 'foo', 'version': '1.2.3', 'toolchain': {'name': 'GCC', 'version': '4.8.2'}}

        or {'name': 'fftw/3.3.4.1', 'external_module': True} to

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_list_of_strings","title":"to_list_of_strings(value)","text":"

        Convert specified value to a list of strings, if possible.

        Supported: single string value, tuple of string values.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_list_of_strings_and_tuples","title":"to_list_of_strings_and_tuples(spec)","text":"

        Convert a 'list of lists and strings' to a 'list of tuples and strings'

        Example: ['foo', ['bar', 'baz']] to ['foo', ('bar', 'baz')]

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_list_of_strings_and_tuples_and_dicts","title":"to_list_of_strings_and_tuples_and_dicts(spec)","text":"

        Convert a 'list of dicts and tuples/lists and strings' to a 'list of dicts and tuples and strings'

        Example: ['foo', ['bar', 'baz']] to ['foo', ('bar', 'baz')]

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_name_version_dict","title":"to_name_version_dict(spec)","text":"

        No longer supported, replaced by to_toolchain_dict.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_sanity_check_paths_dict","title":"to_sanity_check_paths_dict(spec)","text":"

        Convert a sanity_check_paths dict as received by yaml (a dict with list values that contain either lists or strings)

        Example: {'files': ['file1', ['file2a', 'file2b]], 'dirs': ['foo/bar']} to

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_sanity_check_paths_entry","title":"to_sanity_check_paths_entry(spec)","text":"

        Convert a 'list of lists and strings' to a 'list of tuples and strings' while allowing dicts of lists or strings

        Example: ['foo', ['bar', 'baz'], {'f42': ['a', 'b']}] to ['foo', ('bar', 'baz'), {'f42': ('a', 'b')}]

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_toolchain_dict","title":"to_toolchain_dict(spec)","text":"

        Convert a comma-separated string or 2/3-element list of strings to a dictionary with name/version keys, and optionally a hidden key. If the specified value is a dict already, the keys are checked to be only name/version/hidden.

        For example: \"intel, 2015a\" => {'name': 'intel', 'version': '2015a'} \"foss, 2016a, True\" => {'name': 'foss', 'version': '2016a', 'hidden': True}

        PARAMETER DESCRIPTION spec

        a comma-separated string with two or three values, or a 2/3-element list of strings, or a dict

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/","title":"format","text":"
        • easybuild
          • framework
            • easyconfig
              • format
                • convert
                • format
                • one
                • pyheaderconfigobj
                • two
                • version
                • yeb
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/","title":"convert","text":"

        This module implements easyconfig specific formats and their conversions.

        Authors:

        • Stijn De Weirdt (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency","title":"Dependency","text":"

        Bases: Convert

        Handle dependency

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.__init__","title":"__init__(obj, name=None)","text":"

        Convert pass object to a dependency, use specified name if provided.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.__str__","title":"__str__()","text":"

        Return string

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.name","title":"name()","text":"

        Get dependency name.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.toolchain","title":"toolchain()","text":"

        Get toolchain spec for dependency (if any).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.version","title":"version()","text":"

        Get dependency version.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.versionsuffix","title":"versionsuffix()","text":"

        Get dependency versionsuffix (if any).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/","title":"format","text":"

        The main easyconfig format class

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj","title":"EBConfigObj","text":"

        Bases: object

        Enhanced ConfigObj, version/toolchain and other easyconfig specific aspects aware

        Given ConfigObj instance, make instance that represents a parser

        Mandatory/minimal (to mimic v1.0 behaviour); first version/toolchain is the default [SUPPORTED] versions=version_operator toolchains=toolchain_version_operator

        Optional [DEFAULT] ... [ ] ... [ ] [[ ]] ... ...","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.__init__","title":"__init__(configobj=None)","text":"

        Initialise EBConfigObj instance

        PARAMETER DESCRIPTION configobj

        ConfigObj instance

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.get_specs_for","title":"get_specs_for(version=None, tcname=None, tcversion=None)","text":"

        Return dictionary with specifications listed in sections applicable for specified info.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.get_version_toolchain","title":"get_version_toolchain(version=None, tcname=None, tcversion=None)","text":"

        Return tuple of version, toolchainname and toolchainversion (possibly using defaults).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.parse","title":"parse(configobj)","text":"

        Parse configobj using using recursive parse_sections. Then split off the default and supported sections.

        PARAMETER DESCRIPTION configobj

        ConfigObj instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.parse_sections","title":"parse_sections(toparse, current)","text":"

        Parse Section instance; convert all supported sections, keys and values to their respective representations

        Returns a dict of (nested) Sections

        PARAMETER DESCRIPTION toparse

        a Section (or ConfigObj) instance, basically a dict of (unparsed) sections

        current

        the current NestedDict

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.squash","title":"squash(version, tcname, tcversion)","text":"

        Project the multidimensional easyconfig to single easyconfig It (tries to) detect conflicts in the easyconfig.

        PARAMETER DESCRIPTION version

        version to keep

        tcname

        toolchain name to keep

        tcversion

        toolchain version to keep

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat","title":"EasyConfigFormat","text":"

        Bases: object

        EasyConfigFormat class

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.comments","title":"comments property","text":"

        Return comments in easyconfig file

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.__init__","title":"__init__()","text":"

        Initialise the EasyConfigFormat class

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.dump","title":"dump(ecfg, default_values, templ_const, templ_val, toolchain_hierarchy=None)","text":"

        Dump easyconfig according to this format. This is highly version specific

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.extract_comments","title":"extract_comments(rawtxt)","text":"

        Extract comments from raw content.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.get_config_dict","title":"get_config_dict()","text":"

        Returns a single easyconfig dictionary.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.parse","title":"parse(txt, **kwargs)","text":"

        Parse the txt according to this format. This is highly version specific

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.set_specifications","title":"set_specifications(specs)","text":"

        Set specifications.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.validate","title":"validate()","text":"

        Verify the easyconfig format

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.NestedDict","title":"NestedDict","text":"

        Bases: dict

        A nested dictionary, with tracking of depth and parent

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.NestedDict.__init__","title":"__init__(parent, depth)","text":"

        Initialise NestedDict instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.NestedDict.copy","title":"copy()","text":"

        Return a copy. Any relation between key and value are deepcopied away.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.NestedDict.get_nested_dict","title":"get_nested_dict()","text":"

        Return an instance of NestedDict with this instance as parent

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed","title":"Squashed","text":"

        Bases: object

        Class to ease the squashing of OrderedVersionOperators and OrderedToolchainVersionOperators

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed.__init__","title":"__init__()","text":"

        Initialise Squashed instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed.add_toolchain","title":"add_toolchain(squashed)","text":"

        Add squashed instance from a toolchain section

        PARAMETER DESCRIPTION squashed

        a Squashed instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed.add_version","title":"add_version(section, squashed)","text":"

        Add squashed instance from version section

        PARAMETER DESCRIPTION section

        the version section versionoperator instance

        squashed

        a Squashed instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed.final","title":"final()","text":"

        Final squashing of version and toolchainversion operators and return the result

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.TopNestedDict","title":"TopNestedDict","text":"

        Bases: NestedDict

        The top level nested dictionary (depth 0, parent is itself)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.TopNestedDict.__init__","title":"__init__(parent=None, depth=None)","text":"

        Initialise TopNestedDict instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.get_format_version","title":"get_format_version(txt)","text":"

        Get the easyconfig format version as EasyVersion instance.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.get_format_version_classes","title":"get_format_version_classes(version=None)","text":"

        Return the (usable) subclasses from EasyConfigFormat that have a matching version.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/","title":"one","text":"

        This describes the easyconfig format version 1.X

        This is the original pure python code, to be exec'ed rather then parsed

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero","title":"FormatOneZero","text":"

        Bases: EasyConfigFormatConfigObj

        Support for easyconfig format 1.x

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.comments","title":"comments property","text":"

        Return comments (and extract them first if needed).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.__init__","title":"__init__(*args, **kwargs)","text":"

        FormatOneZero constructor.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.dump","title":"dump(ecfg, default_values, templ_const, templ_val, toolchain_hierarchy=None)","text":"

        Dump easyconfig in format v1.

        PARAMETER DESCRIPTION ecfg

        EasyConfig instance

        default_values

        default values for easyconfig parameters

        templ_const

        known template constants

        templ_val

        known template values

        toolchain_hierarchy

        hierarchy of toolchains for easyconfig

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.extract_comments","title":"extract_comments(rawtxt)","text":"

        Extract comments from raw content.

        Discriminates between comment header, comments above a line (parameter definition), and inline comments. Inline comments on items of iterable values are also extracted.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.get_config_dict","title":"get_config_dict()","text":"

        Return parsed easyconfig as a dictionary, based on specified arguments. This is easyconfig format 1.x, so there is only one easyconfig instance available.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.parse","title":"parse(txt)","text":"

        Pre-process txt to extract header, docstring and pyheader, with non-indented section markers enforced.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.validate","title":"validate()","text":"

        Format validation

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.dump_dependency","title":"dump_dependency(dep, toolchain, toolchain_hierarchy=None)","text":"

        Dump parsed dependency in tuple format

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.retrieve_blocks_in_spec","title":"retrieve_blocks_in_spec(spec, only_blocks, silent=False)","text":"

        Easyconfigs can contain blocks (headed by a [Title]-line) which contain commands specific to that block. Commands in the beginning of the file above any block headers are common and shared between each block.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/","title":"pyheaderconfigobj","text":"

        The main easyconfig format class

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj","title":"EasyConfigFormatConfigObj","text":"

        Bases: EasyConfigFormat

        Extended EasyConfig format, with support for a header and sections that are actually parsed (as opposed to exec'ed). It's very limited for now, but is already huge improvement.

        3 parts in easyconfig file: - header (^# style) - pyheader (including docstring) - contents is exec'ed, docstring and remainder are extracted - begin of regular section until EOF - feed to ConfigObj

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.__init__","title":"__init__(*args, **kwargs)","text":"

        Extend EasyConfigFormat with some more attributes

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse","title":"parse(txt, strict_section_markers=False)","text":"

        Pre-process txt to extract header, docstring and pyheader Then create the configobj instance by parsing the remainder

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse_header","title":"parse_header(header)","text":"

        Parse the header, assign to self.header

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse_pre_section","title":"parse_pre_section(txt)","text":"

        Parse the text block before the start of the first section

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse_pyheader","title":"parse_pyheader(pyheader)","text":"

        Parse the python header, assign to docstring and cfg

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse_section_block","title":"parse_section_block(section)","text":"

        Parse the section block by trying to convert it into a ConfigObj instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.pyheader_env","title":"pyheader_env()","text":"

        Create the global/local environment to use with eval/execfile

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.build_easyconfig_constants_dict","title":"build_easyconfig_constants_dict()","text":"

        Make a dictionary with all constants that can be used

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.build_easyconfig_variables_dict","title":"build_easyconfig_variables_dict()","text":"

        Make a dictionary with all variables that can be used

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/","title":"two","text":"

        This describes the easyconfig format versions 2.x

        This is a mix between version 1.0 and configparser-style configuration

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/#easybuild.framework.easyconfig.format.two.FormatTwoZero","title":"FormatTwoZero","text":"

        Bases: EasyConfigFormatConfigObj

        Support for easyconfig format 2.0 Simple extension of FormatOneZero with configparser blocks

        Doesn't set version and toolchain/toolchain version like in FormatOneZero; referencing 'version' directly in pyheader doesn't work => use templating '%(version)s'

        NOT in 2.0 - order preservation: need more recent ConfigObj (more recent Python as minimal version) - nested sections (need other ConfigParser/ConfigObj, eg INITools) - type validation - command line generation (--try-X command line options)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/#easybuild.framework.easyconfig.format.two.FormatTwoZero.extract_comments","title":"extract_comments(rawtxt)","text":"

        Extract comments from raw content.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/#easybuild.framework.easyconfig.format.two.FormatTwoZero.get_config_dict","title":"get_config_dict()","text":"

        Return the best matching easyconfig dict

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/#easybuild.framework.easyconfig.format.two.FormatTwoZero.validate","title":"validate()","text":"

        Format validation

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/","title":"version","text":"

        This describes the easyconfig version class. To be used in EasyBuild for anything related to version checking

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.EasyVersion","title":"EasyVersion","text":"

        Bases: LooseVersion

        Exact LooseVersion. No modifications needed (yet)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.EasyVersion.__hash__","title":"__hash__()","text":"

        Return hash for this object.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.EasyVersion.__len__","title":"__len__()","text":"

        Determine length of this EasyVersion instance.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators","title":"OrderedVersionOperators","text":"

        Bases: object

        Ordered version operators. The ordering is defined such that one can test from left to right, and assume that the first matching version operator is the one that is the best match.

        Example: '> 2', '> 3' should be ordered ['> 3', '> 2'], because for 4, both match, but 3 is considered more strict.

        Conflicting version operators are not allowed.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators.__init__","title":"__init__()","text":"

        Initialise the list of version operators as an empty list.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators.__str__","title":"__str__()","text":"

        Print the list and map

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators.add","title":"add(versop_new, data=None, update=None)","text":"

        Try to add argument as VersionOperator instance to current list of version operators. Make sure there is no conflict with existing versops, and that the ordering is maintained. After add, versop_new is in the OrderedVersionOperators. If the same versop_new was already in it, it will update the data (if not None) (and not raise an error)

        PARAMETER DESCRIPTION versop_new

        VersionOperator instance (or will be converted into one if type string)

        data

        additional data for supplied version operator to be stored

        DEFAULT: None

        update

        if versop_new already exist and has data set, try to update the existing data with the new data; instead of overriding the existing data with the new data (method used for updating is .update)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators.get_data","title":"get_data(versop)","text":"

        Return the data for versop from datamap

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator","title":"ToolchainVersionOperator","text":"

        Bases: VersionOperator

        Class which represents a toolchain and versionoperator instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.__hash__","title":"__hash__()","text":"

        Return hash for this object.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.__init__","title":"__init__(tcversop_str=None)","text":"

        Initialise VersionOperator instance.

        PARAMETER DESCRIPTION tcversop_str

        intialise with toolchain version operator string

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.__str__","title":"__str__()","text":"

        Return string representation of this instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.as_dict","title":"as_dict()","text":"

        Return toolchain version operator as a dictionary with name/version keys. Returns None if translation to a dictionary is not possible (e.g. non-equals operator, missing version, ...).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.is_valid","title":"is_valid()","text":"

        Check if this is a valid ToolchainVersionOperator

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.parse_versop_str","title":"parse_versop_str(tcversop_str)","text":"

        If argument matches a toolchain versop, return dict with toolchain name and version, and optionally operator. Otherwise, return None.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.set","title":"set(tcversop_str)","text":"

        Parse argument as toolchain version string, and set attributes. Returns None in case of failure (e.g. if supplied string doesn't parse), True in case of success.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.test","title":"test(name, version)","text":"

        Check if a toolchain with name name and version version would fit in this ToolchainVersionOperator

        PARAMETER DESCRIPTION name

        toolchain name

        version

        a version string or EasyVersion instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.versop_regex","title":"versop_regex()","text":"

        Create the regular expression for toolchain support of format ^ $ , with the name of one of the supported toolchains and in ' ' syntax","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator","title":"VersionOperator","text":"

        Bases: object

        VersionOperator class represents a version expression that includes an operator.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__bool__","title":"__bool__()","text":"

        Interpretation of a VersionOperator instance as a boolean expression: is it valid?

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__eq__","title":"__eq__(versop)","text":"

        Compare this instance to supplied argument.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__gt__","title":"__gt__(versop_other)","text":"

        Determine if this instance is greater than supplied argument.

        Returns True if it is more strict in case of overlap, or if self.version > versop_other.version otherwise. Returns None in case of conflict.

        PARAMETER DESCRIPTION versop_other

        a VersionOperator instance Examples: '> 2' > '> 1' : True, order by strictness equals order by boundaries for >, >= '< 8' > '< 10': True, order by strictness equals inversed order by boundaries for <, <= '== 4' > '> 3' : equality is more strict than inequality, but this order by boundaries '> 3' > '== 2' : there is no overlap, so just order the intervals according their boundaries '> 1' > '== 1' > '< 1' : no overlap, same boundaries, order by operator suffix: '> 2' > '> 1': both equal (both None), ordering like above '> 2 suffix:-x1' > '> 1 suffix:-x1': both equal (both -x1), ordering like above '> 2 suffix:-x1' > '> 1 suffix:-x2': not equal, conflict

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__hash__","title":"__hash__()","text":"

        Return hash for this object.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__init__","title":"__init__(versop_str=None, error_on_parse_failure=False)","text":"

        Initialise VersionOperator instance.

        PARAMETER DESCRIPTION versop_str

        intialise with version operator string

        DEFAULT: None

        error_on_parse_failure

        raise EasyBuildError in case of parse error

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__ne__","title":"__ne__(versop)","text":"

        Is self not equal to versop

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__repr__","title":"__repr__()","text":"

        Return instance as string (ignores begin_end)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__str__","title":"__str__()","text":"

        Return string representation of this VersionOperator instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.get_version_str","title":"get_version_str()","text":"

        Return string representation of version (ignores operator).

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.is_valid","title":"is_valid()","text":"

        Check if this is a valid VersionOperator. Suffix can be anything.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.parse_error","title":"parse_error(msg)","text":"

        Special function to deal with parse errors

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.parse_versop_str","title":"parse_versop_str(versop_str, versop_dict=None)","text":"

        If argument contains a version operator, returns a dict with version and operator; returns None otherwise

        PARAMETER DESCRIPTION versop_str

        the string to parse

        versop_dict

        advanced usage: pass intialised versop_dict (eg for ToolchainVersionOperator)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.set","title":"set(versop_str)","text":"

        Parse argument as a version operator, and set attributes. Returns True in case of success, throws an error in case of parsing failure.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.test","title":"test(test_version)","text":"

        Convert argument to an EasyVersion instance if needed, and return self.operator(, self.version) Versions only, no suffix. PARAMETER DESCRIPTION test_version

        a version string or EasyVersion instance

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.test_overlap_and_conflict","title":"test_overlap_and_conflict(versop_other)","text":"

        Test if there is any overlap between this instance and versop_other, and if so, if there is a conflict or not.

        Returns 2 booleans: has_overlap, is_conflict

        PARAMETER DESCRIPTION versop_other

        a VersionOperator instance Examples: '> 3' and '> 3' : equal, and thus overlap (no conflict) '> 3' and '< 2' : no overlap '< 3' and '> 2' : overlap, and conflict (region between 2 and 3 is ambiguous) '> 3' and '== 3' : no overlap '>= 3' and '== 3' : overlap, and conflict (boundary 3 is ambigous) '> 3' and '>= 3' : overlap, no conflict ('> 3' is more strict then '>= 3') # suffix '> 2 suffix:-x1' > '> 1 suffix:-x2': suffix not equal, conflict

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.versop_regex","title":"versop_regex(begin_end=True)","text":"

        Create the version regular expression with operator support. This supports version expressions like '> 5' (anything strict larger than 5), or '<= 1.2' (anything smaller than or equal to 1.2)

        PARAMETER DESCRIPTION begin_end

        boolean, create a regex with begin/end match

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/","title":"yeb","text":"

        YAML easyconfig format (.yeb) Useful: http://www.yaml.org/spec/1.2/spec.html

        Authors:

        • Caroline De Brouwer (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb","title":"FormatYeb","text":"

        Bases: EasyConfigFormat

        Support for easyconfig YAML format

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.__init__","title":"__init__()","text":"

        FormatYeb constructor

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.dump","title":"dump(ecfg, default_values, templ_const, templ_val, toolchain_hierarchy=None)","text":"

        Dump parsed easyconfig in .yeb format

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.extract_comments","title":"extract_comments(txt)","text":"

        Extract comments from easyconfig file

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.get_config_dict","title":"get_config_dict()","text":"

        Return parsed easyconfig as a dictionary, based on specified arguments.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.parse","title":"parse(txt)","text":"

        Process YAML file

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.validate","title":"validate()","text":"

        Format validation

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.is_yeb_format","title":"is_yeb_format(filename, rawcontent)","text":"

        Determine whether easyconfig is in .yeb format. If filename is None, rawcontent will be used to check the format.

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.quote_yaml_special_chars","title":"quote_yaml_special_chars(val)","text":"

        Single-quote values that contain special characters, specifically to be used in YAML context (.yeb files) Single quotes inside the string are escaped by doubling them. (see: http://symfony.com/doc/current/components/yaml/yaml_format.html#strings)

        ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.yaml_join","title":"yaml_join(loader, node)","text":"

        defines custom YAML join function. see http://stackoverflow.com/questions/5484016/ how-can-i-do-string-concatenation-or-string-replacement-in-yaml/23212524#23212524

        PARAMETER DESCRIPTION loader

        the YAML Loader

        node

        the YAML (sequence) node

        ","boost":0.5},{"location":"api/easybuild/scripts/","title":"Index","text":"
        • easybuild
          • scripts
            • bootstrap_eb
            • clean_gists
            • findPythonDeps
            • fix_docs
            • mk_tmpl_easyblock_for
            • rpath_args
        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/","title":"bootstrap_eb","text":"

        Bootstrap script for EasyBuild

        Installs distribute with included (patched) distribute_setup.py script to obtain easy_install, and then performs a staged install of EasyBuild: * stage 0: install setuptools (which provides easy_install), unless already available * stage 1: install EasyBuild with easy_install to a temporary directory * stage 2: install EasyBuild with EasyBuild from stage 1 to specified install directory

        Authors: Kenneth Hoste (UGent), Stijn Deweirdt (UGent), Ward Poelmans (UGent) License: GPLv2

        inspired by https://bitbucket.org/pdubroy/pip/raw/tip/getpip.py (via http://dubroy.com/blog/so-you-want-to-install-a-python-package/)

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.check_easy_install_cmd","title":"check_easy_install_cmd()","text":"

        Try to make sure available 'easy_install' command matches active 'setuptools' installation.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.check_module_command","title":"check_module_command(tmpdir)","text":"

        Check which module command is available, and prepare for using it.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.check_setuptools","title":"check_setuptools()","text":"

        Check whether a suitable setuptools installation is already available.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.debug","title":"debug(msg)","text":"

        Print debug message.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.det_lib_path","title":"det_lib_path(libdir)","text":"

        Determine relative path of Python library dir.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.det_modules_path","title":"det_modules_path(install_path)","text":"

        Determine modules path.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.error","title":"error(msg, exit=True)","text":"

        Print error message and exit.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.find_egg_dir_for","title":"find_egg_dir_for(path, pkg)","text":"

        Find full path of egg dir for given package.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.info","title":"info(msg)","text":"

        Print info message.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.main","title":"main()","text":"

        Main script: bootstrap EasyBuild in stages.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.mock_stdout_stderr","title":"mock_stdout_stderr()","text":"

        Mock stdout/stderr channels

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.prep","title":"prep(path)","text":"

        Prepare for installing a Python package in the specified path.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.restore_stdout_stderr","title":"restore_stdout_stderr(orig_stdout, orig_stderr)","text":"

        Restore stdout/stderr channels after mocking

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.run_easy_install","title":"run_easy_install(args)","text":"

        Run easy_install with specified list of arguments

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.stage0","title":"stage0(tmpdir)","text":"

        STAGE 0: Prepare and install distribute via included (patched) distribute_setup.py script.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.stage1","title":"stage1(tmpdir, sourcepath, distribute_egg_dir, forcedversion)","text":"

        STAGE 1: temporary install EasyBuild using distribute's easy_install.

        ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.stage2","title":"stage2(tmpdir, templates, install_path, distribute_egg_dir, sourcepath)","text":"

        STAGE 2: install EasyBuild to temporary dir with EasyBuild from stage 1.

        ","boost":0.5},{"location":"api/easybuild/scripts/clean_gists/","title":"clean_gists","text":"

        This script cleans up old gists created by easybuild. It checks if the gists was created from a pull-request and if that PR is closed/merged, it will delete the gist. You need a github token for this. The script uses the same username and token as easybuild. Optionally, you can specify a different github username.

        Authors:

        • Ward Poelmans
        ","boost":0.5},{"location":"api/easybuild/scripts/clean_gists/#easybuild.scripts.clean_gists.main","title":"main()","text":"

        the main function

        ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/","title":"findPythonDeps","text":"","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.can_run","title":"can_run(cmd, argument)","text":"

        Check if the given cmd and argument can be run successfully

        ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.find_deps","title":"find_deps(pkgs, dep_tree)","text":"

        Recursively resolve dependencies of the given package(s) and return them

        ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.get_dep_tree","title":"get_dep_tree(package_spec, verbose)","text":"

        Get the dep-tree for installing the given Python package spec

        ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.run_cmd","title":"run_cmd(arguments, action_desc, capture_stderr=True, **kwargs)","text":"

        Run the command and return the return code and output

        ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.run_in_venv","title":"run_in_venv(cmd, venv_path, action_desc)","text":"

        Run the given command in the virtualenv at the given path

        ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.temporary_directory","title":"temporary_directory(*args, **kwargs)","text":"

        Resource wrapper over tempfile.mkdtemp

        ","boost":0.5},{"location":"api/easybuild/scripts/fix_docs/","title":"fix_docs","text":"

        Overhaul all @param and @author tags for rst API documentation (@param x --> :param x: and @author --> :author:)

        Authors:

        • Caroline De Brouwer (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/scripts/mk_tmpl_easyblock_for/","title":"mk_tmpl_easyblock_for","text":"

        Script to create a template easyblock Python module, for a given software package.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/scripts/rpath_args/","title":"rpath_args","text":"

        Utility script used by RPATH wrapper script; output is statements that define the following environment variables * $CMD_ARGS: new list of command line arguments to pass * $RPATH_ARGS: command line option to specify list of paths to RPATH

        author: Kenneth Hoste (HPC-UGent)

        ","boost":0.5},{"location":"api/easybuild/scripts/rpath_args/#easybuild.scripts.rpath_args.is_new_existing_path","title":"is_new_existing_path(new_path, paths)","text":"

        Check whether specified path exists and is a new path compared to provided list of paths.

        ","boost":0.5},{"location":"api/easybuild/toolchains/","title":"toolchains","text":"
        • easybuild
          • toolchains
            • cgmpich
            • cgmpolf
            • cgmvapich2
            • cgmvolf
            • cgompi
            • cgoolf
            • clanggcc
            • compiler
              • clang
              • craype
              • cuda
              • dummycompiler
              • fujitsu
              • gcc
              • ibmxl
              • intel_compilers
              • inteliccifort
              • nvhpc
              • pgi
              • systemcompiler
            • craycce
            • craygnu
            • crayintel
            • craypgi
            • dummy
            • fcc
            • ffmpi
            • fft
              • fftw
              • fujitsufftw
              • intelfftw
            • foss
            • fosscuda
            • fujitsu
            • gcc
            • gcccore
            • gcccuda
            • gfbf
            • gimkl
            • gimpi
            • gimpic
            • giolf
            • giolfc
            • gmacml
            • gmkl
            • gmklc
            • gmpich
            • gmpich2
            • gmpit
            • gmpolf
            • gmvapich2
            • gmvolf
            • gnu
            • goalf
            • gobff
            • goblf
            • gofbf
            • golf
            • golfc
            • gomkl
            • gomklc
            • gompi
            • gompic
            • goolf
            • goolfc
            • gpsmpi
            • gpsolf
            • gqacml
            • gsmpi
            • gsolf
            • iccifort
            • iccifortcuda
            • ictce
            • iibff
            • iimkl
            • iimklc
            • iimpi
            • iimpic
            • iiqmpi
            • impich
            • impmkl
            • intel-para
            • intel
            • intel_compilers
            • intelcuda
            • iomkl
            • iomklc
            • iompi
            • iompic
            • ipsmpi
            • iqacml
            • ismkl
            • linalg
              • acml
              • atlas
              • blacs
              • blis
              • flame
              • flexiblas
              • fujitsussl
              • gotoblas
              • intelmkl
              • lapack
              • libsci
              • openblas
              • scalapack
            • mpi
              • craympich
              • fujitsumpi
              • intelmpi
              • mpich
              • mpich2
              • mpitrampoline
              • mvapich2
              • openmpi
              • psmpi
              • qlogicmpi
              • spectrummpi
            • nvhpc
            • nvofbf
            • nvompi
            • nvompic
            • nvpsmpi
            • nvpsmpic
            • pgi
            • pmkl
            • pomkl
            • pompi
            • system
            • xlcxlf
            • xlmpich
            • xlmpich2
            • xlmvapich2
            • xlompi
        ","boost":0.5},{"location":"api/easybuild/toolchains/cgmpich/","title":"cgmpich","text":"

        EasyBuild support for cgompi compiler toolchain (includes Clang, GFortran and MPICH).

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/cgmpich/#easybuild.toolchains.cgmpich.Cgmpich","title":"Cgmpich","text":"

        Bases: ClangGcc, Mpich

        Compiler toolchain with Clang, GFortran and MPICH.

        ","boost":0.5},{"location":"api/easybuild/toolchains/cgmpolf/","title":"cgmpolf","text":"

        EasyBuild support for cgmpolf compiler toolchain (includes Clang, GFortran, MPICH, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/cgmpolf/#easybuild.toolchains.cgmpolf.Cgmpolf","title":"Cgmpolf","text":"

        Bases: Cgmpich, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with Clang, GFortran, MPICH, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/cgmvapich2/","title":"cgmvapich2","text":"

        EasyBuild support for cgmvapich2 compiler toolchain (includes Clang, GFortran and MVAPICH2).

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/cgmvapich2/#easybuild.toolchains.cgmvapich2.Cgmvapich2","title":"Cgmvapich2","text":"

        Bases: ClangGcc, Mvapich2

        Compiler toolchain with Clang, GFortran and MVAPICH2.

        ","boost":0.5},{"location":"api/easybuild/toolchains/cgmvolf/","title":"cgmvolf","text":"

        EasyBuild support for cgmvolf compiler toolchain (includes Clang, GFortran, MVAPICH2, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/cgmvolf/#easybuild.toolchains.cgmvolf.Cgmvolf","title":"Cgmvolf","text":"

        Bases: Cgmvapich2, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with Clang, GFortran, MVAPICH2, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/cgompi/","title":"cgompi","text":"

        EasyBuild support for cgompi compiler toolchain (includes Clang, GFortran and OpenMPI).

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/cgompi/#easybuild.toolchains.cgompi.Cgompi","title":"Cgompi","text":"

        Bases: ClangGcc, OpenMPI

        Compiler toolchain with Clang, GFortran and OpenMPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/cgoolf/","title":"cgoolf","text":"

        EasyBuild support for cgoolf compiler toolchain (includes Clang, GFortran, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/cgoolf/#easybuild.toolchains.cgoolf.Cgoolf","title":"Cgoolf","text":"

        Bases: Cgompi, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with Clang, GFortran, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/clanggcc/","title":"clanggcc","text":"

        EasyBuild support for Clang + GCC compiler toolchain. Clang uses libstdc++. GFortran is used for Fortran code.

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/clanggcc/#easybuild.toolchains.clanggcc.ClangGcc","title":"ClangGcc","text":"

        Bases: Clang, Gcc

        Compiler toolchain with Clang and GFortran compilers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/craycce/","title":"craycce","text":"

        CrayCCE toolchain: Cray compilers (CCE) and MPI via Cray compiler drivers + LibSci (PrgEnv-cray) and Cray FFTW

        Authors:

        • Petar Forai (IMP/IMBA, Austria)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/craycce/#easybuild.toolchains.craycce.CrayCCE","title":"CrayCCE","text":"

        Bases: CrayPECray, CrayMPICH, LibSci

        Compiler toolchain for Cray Programming Environment for Cray Compiling Environment (CCE) (PrgEnv-cray).

        ","boost":0.5},{"location":"api/easybuild/toolchains/craygnu/","title":"craygnu","text":"

        CrayGNU toolchain: GCC and MPI via Cray compiler drivers + LibSci (PrgEnv-gnu) and Cray FFTW

        Authors:

        • Petar Forai (IMP/IMBA, Austria)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/craygnu/#easybuild.toolchains.craygnu.CrayGNU","title":"CrayGNU","text":"

        Bases: CrayPEGCC, CrayMPICH, LibSci

        Compiler toolchain for Cray Programming Environment for GCC compilers (PrgEnv-gnu).

        ","boost":0.5},{"location":"api/easybuild/toolchains/crayintel/","title":"crayintel","text":"

        CrayIntel toolchain: Intel compilers and MPI via Cray compiler drivers + LibSci (PrgEnv-intel) and Cray FFTW

        Authors:

        • Petar Forai (IMP/IMBA, Austria)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/crayintel/#easybuild.toolchains.crayintel.CrayIntel","title":"CrayIntel","text":"

        Bases: CrayPEIntel, CrayMPICH, LibSci

        Compiler toolchain for Cray Programming Environment for Intel compilers (PrgEnv-intel).

        ","boost":0.5},{"location":"api/easybuild/toolchains/craypgi/","title":"craypgi","text":"

        CrayPGI toolchain: Cray compilers (PGI) and MPI via Cray compiler drivers (PrgEnv-pgi) minus LibSci minus Cray FFTW Authors:

        • Jg Piccinali (CSCS)
        ","boost":0.5},{"location":"api/easybuild/toolchains/craypgi/#easybuild.toolchains.craypgi.CrayPGI","title":"CrayPGI","text":"

        Bases: CrayPEPGI, CrayMPICH

        Compiler toolchain for Cray Programming Environment for Cray Compiling Environment (PGI) (PrgEnv-pgi).

        ","boost":0.5},{"location":"api/easybuild/toolchains/dummy/","title":"dummy","text":"

        EasyBuild support for dummy compiler toolchain.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/dummy/#easybuild.toolchains.dummy.Dummy","title":"Dummy","text":"

        Bases: DummyCompiler

        Dummy toolchain.

        ","boost":0.5},{"location":"api/easybuild/toolchains/fcc/","title":"fcc","text":"

        EasyBuild support for Fujitsu Compiler toolchain.

        Authors:

        • Miguel Dias Costa (National University of Singapore)
        ","boost":0.5},{"location":"api/easybuild/toolchains/fcc/#easybuild.toolchains.fcc.FCC","title":"FCC","text":"

        Bases: FujitsuCompiler

        Compiler toolchain with Fujitsu Compiler.

        ","boost":0.5},{"location":"api/easybuild/toolchains/ffmpi/","title":"ffmpi","text":"

        EasyBuild support for ffmpi compiler toolchain (includes Fujitsu Compiler and MPI).

        Authors:

        • Miguel Dias Costa (National University of Singapore)
        ","boost":0.5},{"location":"api/easybuild/toolchains/ffmpi/#easybuild.toolchains.ffmpi.Ffmpi","title":"Ffmpi","text":"

        Bases: FCC, FujitsuMPI

        Compiler toolchain with Fujitsu Compiler and MPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/foss/","title":"foss","text":"

        EasyBuild support for foss compiler toolchain (includes GCC, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/foss/#easybuild.toolchains.foss.Foss","title":"Foss","text":"

        Bases: Gompi, OpenBLAS, FlexiBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/foss/#easybuild.toolchains.foss.Foss.__init__","title":"__init__(*args, **kwargs)","text":"

        Toolchain constructor.

        ","boost":0.5},{"location":"api/easybuild/toolchains/foss/#easybuild.toolchains.foss.Foss.banned_linked_shared_libs","title":"banned_linked_shared_libs()","text":"

        List of shared libraries (names, file names, paths) which are not allowed to be linked in any installed binary/library.

        ","boost":0.5},{"location":"api/easybuild/toolchains/foss/#easybuild.toolchains.foss.Foss.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/fosscuda/","title":"fosscuda","text":"

        EasyBuild support for fosscuda compiler toolchain (includes GCC+CUDA, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Davide Vanzo (Vanderbilt University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/fosscuda/#easybuild.toolchains.fosscuda.Fosscuda","title":"Fosscuda","text":"

        Bases: Gompic, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC+CUDA, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/fujitsu/","title":"fujitsu","text":"

        Fujitsu toolchain: Fujitsu compilers and MPI + Fujitsu SSL2 and Fujitsu FFTW

        Authors:

        • Miguel Dias Costa (National University of Singapore)
        ","boost":0.5},{"location":"api/easybuild/toolchains/fujitsu/#easybuild.toolchains.fujitsu.Fujitsu","title":"Fujitsu","text":"

        Bases: Ffmpi, FujitsuFFTW, FujitsuSSL

        Compiler toolchain for Fujitsu.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gcc/","title":"gcc","text":"

        EasyBuild support for GCC compiler toolchain.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gcc/#easybuild.toolchains.gcc.GccToolchain","title":"GccToolchain","text":"

        Bases: GCCcore

        Simple toolchain with just the GCC compilers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gcc/#easybuild.toolchains.gcc.GccToolchain.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gcccore/","title":"gcccore","text":"

        EasyBuild support for GCC compiler toolchain.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gcccore/#easybuild.toolchains.gcccore.GCCcore","title":"GCCcore","text":"

        Bases: Gcc

        Compiler-only toolchain, including only GCC and binutils.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gcccore/#easybuild.toolchains.gcccore.GCCcore.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gcccuda/","title":"gcccuda","text":"

        EasyBuild support for a GCC+CUDA compiler toolchain.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gcccuda/#easybuild.toolchains.gcccuda.GccCUDA","title":"GccCUDA","text":"

        Bases: GccToolchain, Cuda

        Compiler toolchain with GCC and CUDA.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gcccuda/#easybuild.toolchains.gcccuda.GccCUDA.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gfbf/","title":"gfbf","text":"

        EasyBuild support for gfbf compiler toolchain (includes GCC, FlexiBLAS and FFTW)

        Authors:

        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gfbf/#easybuild.toolchains.gfbf.Gfbf","title":"Gfbf","text":"

        Bases: GccToolchain, FlexiBLAS, Fftw

        Compiler toolchain with GCC, FlexiBLAS and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gimkl/","title":"gimkl","text":"

        EasyBuild support for gimkl compiler toolchain (includes GCC, Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gimkl/#easybuild.toolchains.gimkl.Gimkl","title":"Gimkl","text":"

        Bases: Gimpi, IntelMKL, IntelFFTW

        Compiler toolchain with GCC, Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gimpi/","title":"gimpi","text":"

        EasyBuild support for gimpi compiler toolchain (includes GCC and Intel MPI).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gimpi/#easybuild.toolchains.gimpi.Gimpi","title":"Gimpi","text":"

        Bases: GccToolchain, IntelMPI

        Compiler toolchain with GCC and Intel MPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gimpi/#easybuild.toolchains.gimpi.Gimpi.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gimpic/","title":"gimpic","text":"

        EasyBuild support for gimpic compiler toolchain (includes GCC and IntelMPI and CUDA).

        Authors:

        • Kenneth Hoste (Ghent University)
        • Fotis Georgatos (Uni.Lu, NTUA)
        • Ake Sandgren (HPC2N, Umea University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gimpic/#easybuild.toolchains.gimpic.Gimpic","title":"Gimpic","text":"

        Bases: GccCUDA, IntelMPI

        Compiler toolchain with GCC+CUDA and IntelMPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/giolf/","title":"giolf","text":"

        EasyBuild support for giolf compiler toolchain (includes GCC, IntelMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/giolf/#easybuild.toolchains.giolf.Giolf","title":"Giolf","text":"

        Bases: Gimpi, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC, IntelMPI, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/giolfc/","title":"giolfc","text":"

        EasyBuild support for giolfc compiler toolchain (includes GCC+CUDA, IntelMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        • Ake Sandgren (HPC2N, Umea University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/giolfc/#easybuild.toolchains.giolfc.Giolfc","title":"Giolfc","text":"

        Bases: Gimpic, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC+CUDA, IntelMPI, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmacml/","title":"gmacml","text":"

        EasyBuild support for gmacml compiler toolchain (includes GCC, MVAPICH2, ACML, BLACS, ScaLAPACK and FFTW.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gmacml/#easybuild.toolchains.gmacml.Gmacml","title":"Gmacml","text":"

        Bases: Gmvapich2, Acml, ScaLAPACK, Fftw

        Compiler toolchain with GCC, MVAPICH2, ACML, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmkl/","title":"gmkl","text":"

        EasyBuild support for gmkl compiler toolchain (includes GCC, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gmkl/#easybuild.toolchains.gmkl.Gmkl","title":"Gmkl","text":"

        Bases: GccToolchain, IntelMKL, IntelFFTW

        Compiler toolchain with GCC, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmklc/","title":"gmklc","text":"

        EasyBuild support for gmkl compiler toolchain (includes GCC, Intel Math Kernel Library (MKL), and Intel FFTW wrappers, and CUDA).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        • Maxime Boissonneault (Universite Laval, Calcul Quebec, Calcul Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gmklc/#easybuild.toolchains.gmklc.Gmklc","title":"Gmklc","text":"

        Bases: GccCUDA, Gmkl, IntelMKL, IntelFFTW

        Compiler toolchain with GCC, Intel Math Kernel Library (MKL) and Intel FFTW wrappers and CUDA.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmpich/","title":"gmpich","text":"

        EasyBuild support for gmpich compiler toolchain (includes GCC and MPICH).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gmpich/#easybuild.toolchains.gmpich.Gmpich","title":"Gmpich","text":"

        Bases: GccToolchain, Mpich

        Compiler toolchain with GCC and MPICH.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmpich2/","title":"gmpich2","text":"

        EasyBuild support for gmpich2 compiler toolchain (includes GCC and MPICH2).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gmpich2/#easybuild.toolchains.gmpich2.Gmpich2","title":"Gmpich2","text":"

        Bases: GccToolchain, Mpich2

        Compiler toolchain with GCC and MPICH2.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmpit/","title":"gmpit","text":"

        EasyBuild support for gmpit compiler toolchain (includes GCC and MPItrampoline).

        Authors:

        • Alan O'Cais (CECAM)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gmpit/#easybuild.toolchains.gmpit.Gmpit","title":"Gmpit","text":"

        Bases: GccToolchain, MPItrampoline

        Compiler toolchain with GCC and MPItrampoline.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmpit/#easybuild.toolchains.gmpit.Gmpit.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmpolf/","title":"gmpolf","text":"

        EasyBuild support for gmpolf compiler toolchain (includes GCC, MPICH2, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\") (copy from...)
        • Bart Verleye (University of Auckland)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gmpolf/#easybuild.toolchains.gmpolf.Gmpolf","title":"Gmpolf","text":"

        Bases: Gmpich, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC, MPICH, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmvapich2/","title":"gmvapich2","text":"

        EasyBuild support for gmvapich2 compiler toolchain (includes GCC and MVAPICH2).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gmvapich2/#easybuild.toolchains.gmvapich2.Gmvapich2","title":"Gmvapich2","text":"

        Bases: GccToolchain, Mvapich2

        Compiler toolchain with GCC and MVAPICH2.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gmvolf/","title":"gmvolf","text":"

        EasyBuild support for gmvolf compiler toolchain (includes GCC, MVAPICH2, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/gmvolf/#easybuild.toolchains.gmvolf.Gmvolf","title":"Gmvolf","text":"

        Bases: Gmvapich2, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC, MVAPICH2, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gnu/","title":"gnu","text":"

        EasyBuild support for GCC compiler toolchain.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gnu/#easybuild.toolchains.gnu.GNU","title":"GNU","text":"

        Bases: Gcc

        Compiler-only toolchain, including only GCC and binutils.

        ","boost":0.5},{"location":"api/easybuild/toolchains/goalf/","title":"goalf","text":"

        EasyBuild support for goalf compiler toolchain (includes GCC, OpenMPI, ATLAS, BLACS, ScaLAPACK and FFTW).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/goalf/#easybuild.toolchains.goalf.Goalf","title":"Goalf","text":"

        Bases: Gompi, Atlas, ScaLAPACK, Fftw

        Compiler toolchain with GCC, OpenMPI, ATLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gobff/","title":"gobff","text":"

        EasyBuild support for gobff compiler toolchain (includes GCC, OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW).

        Authors:

        • Sebastian Achilles (Forschungszentrum Juelich GmbH)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gobff/#easybuild.toolchains.gobff.Gobff","title":"Gobff","text":"

        Bases: Gompi, Blis, Flame, ScaLAPACK, Fftw

        Compiler toolchain with GCC, OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/goblf/","title":"goblf","text":"

        EasyBuild support for goblf compiler toolchain (includes GCC, OpenMPI, BLIS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/goblf/#easybuild.toolchains.goblf.Goblf","title":"Goblf","text":"

        Bases: Gompi, Blis, Lapack, ScaLAPACK, Fftw

        Compiler toolchain with GCC, OpenMPI, BLIS, LAPACK, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gofbf/","title":"gofbf","text":"

        EasyBuild support for gofbf compiler toolchain (includes GCC, OpenMPI, FlexiBLAS, ScaLAPACK and FFTW)

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gofbf/#easybuild.toolchains.gofbf.Gofbf","title":"Gofbf","text":"

        Bases: Gompi, FlexiBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC, OpenMPI, FlexiBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/golf/","title":"golf","text":"

        EasyBuild support for golf compiler toolchain (includes GCC, OpenBLAS, LAPACK, and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/golf/#easybuild.toolchains.golf.Golf","title":"Golf","text":"

        Bases: GccToolchain, OpenBLAS, Fftw

        Compiler toolchain with GCC, OpenBLAS, and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/golfc/","title":"golfc","text":"

        EasyBuild support for golfc compiler toolchain (includes GCC+CUDA, OpenBLAS, LAPACK, and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/golfc/#easybuild.toolchains.golfc.Golfc","title":"Golfc","text":"

        Bases: GccCUDA, Golf, OpenBLAS, Fftw

        Compiler toolchain with GCC+CUDA, OpenBLAS, and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gomkl/","title":"gomkl","text":"

        EasyBuild support for gomkl compiler toolchain (includes GCC, OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Ake Sandgren (Umea University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gomkl/#easybuild.toolchains.gomkl.Gomkl","title":"Gomkl","text":"

        Bases: Gompi, IntelMKL, IntelFFTW

        Compiler toolchain with GCC, OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gomklc/","title":"gomklc","text":"

        EasyBuild support for gimkl compiler toolchain (includes GCC, Open MPI, CUDA Intel Math Kernel Library (MKL) and Intel FFTW wrappers).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (Compute Canada)
        • Maxime Boissonneault (Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gomklc/#easybuild.toolchains.gomklc.Gomklc","title":"Gomklc","text":"

        Bases: Gompic, IntelMKL, IntelFFTW

        Compiler toolchain with GCC, Open MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers and Cuda.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gompi/","title":"gompi","text":"

        EasyBuild support for gompi compiler toolchain (includes GCC and OpenMPI).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gompi/#easybuild.toolchains.gompi.Gompi","title":"Gompi","text":"

        Bases: GccToolchain, OpenMPI

        Compiler toolchain with GCC and OpenMPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gompi/#easybuild.toolchains.gompi.Gompi.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gompic/","title":"gompic","text":"

        EasyBuild support for gompic compiler toolchain (includes GCC and OpenMPI and CUDA).

        Authors:

        • Kenneth Hoste (Ghent University)
        • Fotis Georgatos (Uni.Lu, NTUA)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gompic/#easybuild.toolchains.gompic.Gompic","title":"Gompic","text":"

        Bases: GccCUDA, OpenMPI

        Compiler toolchain with GCC+CUDA and OpenMPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/goolf/","title":"goolf","text":"

        EasyBuild support for goolf compiler toolchain (includes GCC, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/goolf/#easybuild.toolchains.goolf.Goolf","title":"Goolf","text":"

        Bases: Gompi, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/goolf/#easybuild.toolchains.goolf.Goolf.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/goolfc/","title":"goolfc","text":"

        EasyBuild support for goolfc compiler toolchain (includes GCC+CUDA, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/goolfc/#easybuild.toolchains.goolfc.Goolfc","title":"Goolfc","text":"

        Bases: Gompic, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC+CUDA, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/goolfc/#easybuild.toolchains.goolfc.Goolfc.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gpsmpi/","title":"gpsmpi","text":"

        EasyBuild support for gpsmpi compiler toolchain (includes GCC and Parastation MPICH).

        ","boost":0.5},{"location":"api/easybuild/toolchains/gpsmpi/#easybuild.toolchains.gpsmpi.Gpsmpi","title":"Gpsmpi","text":"

        Bases: GccToolchain, Psmpi

        Compiler toolchain with GCC and Parastation MPICH.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gpsolf/","title":"gpsolf","text":"

        EasyBuild support for gmpolf compiler toolchain (includes GCC, Parastation MPICH, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        ","boost":0.5},{"location":"api/easybuild/toolchains/gpsolf/#easybuild.toolchains.gpsolf.Gpsolf","title":"Gpsolf","text":"

        Bases: Gpsmpi, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC, Parastation MPICH, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gqacml/","title":"gqacml","text":"

        EasyBuild support for gqacml compiler toolchain (includes GCC, QLogicMPI, ACML, BLACS, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gqacml/#easybuild.toolchains.gqacml.Gqacml","title":"Gqacml","text":"

        Bases: GccToolchain, QLogicMPI, Acml, ScaLAPACK, Fftw

        Compiler toolchain with GCC, QLogic MPI, ACML, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gsmpi/","title":"gsmpi","text":"

        EasyBuild support for gsmpi compiler toolchain (includes GCC and SpectrumMPI).

        Authors:

        • Kenneth Hoste (Ghent University)
        • Alan O'Cais (Juelich Supercomputing Centre)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gsmpi/#easybuild.toolchains.gsmpi.Gsmpi","title":"Gsmpi","text":"

        Bases: GccToolchain, SpectrumMPI

        Compiler toolchain with GCC and SpectrumMPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/gsolf/","title":"gsolf","text":"

        EasyBuild support for gsolf compiler toolchain (includes GCC, SpectrumMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        • Alan O'Cais (Juelich Supercomputing Centre)
        ","boost":0.5},{"location":"api/easybuild/toolchains/gsolf/#easybuild.toolchains.gsolf.Gsolf","title":"Gsolf","text":"

        Bases: Gsmpi, OpenBLAS, ScaLAPACK, Fftw

        Compiler toolchain with GCC, SpectrumMPI, OpenBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iccifort/","title":"iccifort","text":"

        EasyBuild support for Intel compilers toolchain (icc, ifort)

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iccifort/#easybuild.toolchains.iccifort.IccIfort","title":"IccIfort","text":"

        Bases: IntelIccIfort

        Compiler toolchain with Intel compilers (icc/ifort).

        ","boost":0.5},{"location":"api/easybuild/toolchains/iccifort/#easybuild.toolchains.iccifort.IccIfort.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(name)","text":"

        Check whether a specific software name is listed as a dependency in the module for this toolchain.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iccifort/#easybuild.toolchains.iccifort.IccIfort.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iccifortcuda/","title":"iccifortcuda","text":"

        EasyBuild support for a iccifort+CUDA compiler toolchain.

        Authors:

        • Ake Sandgren (HPC2N)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iccifortcuda/#easybuild.toolchains.iccifortcuda.IccIfortCUDA","title":"IccIfortCUDA","text":"

        Bases: IccIfort, Cuda

        Compiler toolchain with iccifort and CUDA.

        ","boost":0.5},{"location":"api/easybuild/toolchains/ictce/","title":"ictce","text":"

        EasyBuild support for ictce compiler toolchain (includes Intel compilers (icc, ifort), Intel MPI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/ictce/#easybuild.toolchains.ictce.Ictce","title":"Ictce","text":"

        Bases: Iimpi, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/ictce/#easybuild.toolchains.ictce.Ictce.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iibff/","title":"iibff","text":"

        EasyBuild support for iibff compiler toolchain (includes Intel compilers + MPI, BLIS, libFLAME, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (HPC-UGent)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iibff/#easybuild.toolchains.iibff.Iibff","title":"Iibff","text":"

        Bases: Iimpi, Blis, Flame, ScaLAPACK, Fftw

        Compiler toolchain with GCC, OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/","title":"iimkl","text":"

        EasyBuild support for iimkl compiler toolchain (includes Intel compilers (icc, ifort), Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl","title":"Iimkl","text":"

        Bases: IccIfort, IntelCompilersToolchain, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl.__init__","title":"__init__(*args, **kwargs)","text":"

        Constructor for Iimkl toolchain class.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(*args, **kwargs)","text":"

        Check whether a specific software name is listed as a dependency in the module for this toolchain.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl.set_variables","title":"set_variables()","text":"

        Intel compilers-specific adjustments after setting compiler variables.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimklc/","title":"iimklc","text":"

        EasyBuild support for iimklc compiler toolchain (includes Intel compilers (icc, ifort), OpenMPI, CUDA, Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (Compute Canada)
        • Maxime Boissonneault (Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iimklc/#easybuild.toolchains.iimklc.Iimklc","title":"Iimklc","text":"

        Bases: IccIfortCUDA, Iimkl, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), CUDA, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/","title":"iimpi","text":"

        EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Intel MPI).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi","title":"Iimpi","text":"

        Bases: IccIfort, IntelCompilersToolchain, IntelMPI

        Compiler toolchain with Intel compilers (icc/ifort), Intel MPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi.__init__","title":"__init__(*args, **kwargs)","text":"

        Constructor for Iimpi toolchain class.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(*args, **kwargs)","text":"

        Check whether a specific software name is listed as a dependency in the module for this toolchain.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi.set_variables","title":"set_variables()","text":"

        Intel compilers-specific adjustments after setting compiler variables.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimpic/","title":"iimpic","text":"

        EasyBuild support for a iimpic compiler toolchain (includes iccifort, impi and CUDA).

        Authors:

        • Ake Sandgren (HPC2N)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iimpic/#easybuild.toolchains.iimpic.Iimpic","title":"Iimpic","text":"

        Bases: IccIfortCUDA, IntelMPI

        Compiler toolchain with Intel compilers (icc/ifort), Intel MPI and CUDA.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iimpic/#easybuild.toolchains.iimpic.Iimpic.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iiqmpi/","title":"iiqmpi","text":"

        EasyBuild support for iiqmpi compiler toolchain (includes Intel compilers, QLogicMPI).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iiqmpi/#easybuild.toolchains.iiqmpi.Iiqmpi","title":"Iiqmpi","text":"

        Bases: IccIfort, QLogicMPI

        Compiler toolchain with Intel compilers and QLogic MPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/impich/","title":"impich","text":"

        EasyBuild support for impich compiler toolchain (includes Intel compilers (icc, ifort), MPICH.

        ","boost":0.5},{"location":"api/easybuild/toolchains/impich/#easybuild.toolchains.impich.Impich","title":"Impich","text":"

        Bases: IccIfort, Mpich

        Compiler toolchain with Intel compilers (icc/ifort), MPICH.

        ","boost":0.5},{"location":"api/easybuild/toolchains/impmkl/","title":"impmkl","text":"

        EasyBuild support for impmkl compiler toolchain (includes Intel compilers (icc, ifort), MPICH, Intel Math Kernel Library (MKL) , and Intel FFTW wrappers.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/impmkl/#easybuild.toolchains.impmkl.Impmkl","title":"Impmkl","text":"

        Bases: Impich, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), MPICH, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/intel-para/","title":"intel-para","text":"

        EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Parastation MPICH, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

        ","boost":0.5},{"location":"api/easybuild/toolchains/intel-para/#easybuild.toolchains.intel-para.IntelPara","title":"IntelPara","text":"

        Bases: Ipsmpi, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), Parastation MPICH, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/intel/","title":"intel","text":"

        EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Intel MPI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/intel/#easybuild.toolchains.intel.Intel","title":"Intel","text":"

        Bases: Iimpi, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/intel/#easybuild.toolchains.intel.Intel.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/intel_compilers/","title":"intel_compilers","text":"

        EasyBuild support for Intel compilers toolchain (icc, ifort), v2021.x or newer (oneAPI).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/intel_compilers/#easybuild.toolchains.intel_compilers.IntelCompilersToolchain","title":"IntelCompilersToolchain","text":"

        Bases: IntelCompilers

        Compiler toolchain with Intel compilers (icc/ifort).

        ","boost":0.5},{"location":"api/easybuild/toolchains/intelcuda/","title":"intelcuda","text":"

        EasyBuild support for a intel+CUDA compiler toolchain.

        Authors:

        • Ake Sandgren (HPC2N)
        ","boost":0.5},{"location":"api/easybuild/toolchains/intelcuda/#easybuild.toolchains.intelcuda.Intelcuda","title":"Intelcuda","text":"

        Bases: Iimpic, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), Intel MPI, Intel Math Kernel Library (MKL), Intel FFTW wrappers and CUDA

        ","boost":0.5},{"location":"api/easybuild/toolchains/iomkl/","title":"iomkl","text":"

        EasyBuild support for iomkl compiler toolchain (includes Intel compilers (icc, ifort), OpenMPI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iomkl/#easybuild.toolchains.iomkl.Iomkl","title":"Iomkl","text":"

        Bases: Iompi, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iomkl/#easybuild.toolchains.iomkl.Iomkl.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iomklc/","title":"iomklc","text":"

        EasyBuild support for iomkl compiler toolchain (includes Intel compilers (icc, ifort), OpenMPI, CUDA, Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iomklc/#easybuild.toolchains.iomklc.Iomklc","title":"Iomklc","text":"

        Bases: Iompic, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), OpenMPI, CUDA, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/","title":"iompi","text":"

        EasyBuild support for iompi compiler toolchain (includes Intel compilers (icc, ifort) and OpenMPI.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi","title":"Iompi","text":"

        Bases: IccIfort, IntelCompilersToolchain, OpenMPI

        Compiler toolchain with Intel compilers (icc/ifort) and OpenMPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi.__init__","title":"__init__(*args, **kwargs)","text":"

        Constructor for Iompi toolchain class.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(*args, **kwargs)","text":"

        Check whether a specific software name is listed as a dependency in the module for this toolchain.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi.is_deprecated","title":"is_deprecated()","text":"

        Return whether or not this toolchain is deprecated.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi.set_variables","title":"set_variables()","text":"

        Intel compilers-specific adjustments after setting compiler variables.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iompic/","title":"iompic","text":"

        EasyBuild support for iompic compiler toolchain (includes iccifort, OpenMPI and CUDA).

        Authors:

        • Bart Oldeman (Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iompic/#easybuild.toolchains.iompic.Iompic","title":"Iompic","text":"

        Bases: IccIfortCUDA, OpenMPI

        Compiler toolchain with Intel compilers (icc/ifort), OpenMPI and CUDA.

        ","boost":0.5},{"location":"api/easybuild/toolchains/ipsmpi/","title":"ipsmpi","text":"

        EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Parastation MPICH).

        ","boost":0.5},{"location":"api/easybuild/toolchains/ipsmpi/#easybuild.toolchains.ipsmpi.Ipsmpi","title":"Ipsmpi","text":"

        Bases: IccIfort, Psmpi

        Compiler toolchain with Intel compilers (icc/ifort), Parastation MPICH.

        ","boost":0.5},{"location":"api/easybuild/toolchains/iqacml/","title":"iqacml","text":"

        EasyBuild support for iqacml compiler toolchain (includes Intel compilers, QLogicMPI, ACML, BLACS, ScaLAPACK and FFTW).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/iqacml/#easybuild.toolchains.iqacml.Iqacml","title":"Iqacml","text":"

        Bases: Iiqmpi, Acml, ScaLAPACK, Fftw

        Compiler toolchain with Intel compilers, QLogic MPI, ACML, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/ismkl/","title":"ismkl","text":"

        EasyBuild support for ismkl compiler toolchain (includes Intel compilers (icc, ifort), MPICH2 (ScaleMP MPI), Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/ismkl/#easybuild.toolchains.ismkl.Ismkl","title":"Ismkl","text":"

        Bases: IccIfort, Mpich2, IntelMKL, IntelFFTW

        Compiler toolchain with Intel compilers (icc/ifort), MPICH2 (ScaleMP MPI), Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/nvhpc/","title":"nvhpc","text":"

        EasyBuild support for NVHPC compiler toolchain.

        Authors:

        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        • Andreas Herten (Forschungszentrum Juelich)
        ","boost":0.5},{"location":"api/easybuild/toolchains/nvhpc/#easybuild.toolchains.nvhpc.NVHPCToolchain","title":"NVHPCToolchain","text":"

        Bases: NVHPC

        Simple toolchain with just the NVIDIA HPC SDK compilers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/nvofbf/","title":"nvofbf","text":"

        EasyBuild support for nvofbf compiler toolchain (NVHPC + OpenMPI + FlexiBLAS + ScaLAPACK + FFTW).

        :author: Mikael \u00d6hman micketeer@gmail.com (Chalmers University of Technology)

        ","boost":0.5},{"location":"api/easybuild/toolchains/nvofbf/#easybuild.toolchains.nvofbf.Nvofbf","title":"Nvofbf","text":"

        Bases: Nvompi, FlexiBLAS, ScaLAPACK, Fftw

        Compiler toolchain with NVHPC, OpenMPI, FlexiBLAS, ScaLAPACK and FFTW.

        ","boost":0.5},{"location":"api/easybuild/toolchains/nvompi/","title":"nvompi","text":"

        EasyBuild support for nvompi compiler toolchain (NVHPC + Open MPI).

        Authors:

        • Robert Mijakovic robert.mijakovic@lxp.lu (LuxProvide)
        ","boost":0.5},{"location":"api/easybuild/toolchains/nvompi/#easybuild.toolchains.nvompi.Nvompi","title":"Nvompi","text":"

        Bases: NVHPCToolchain, OpenMPI

        Compiler toolchain with NVHPC and Open MPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/nvompic/","title":"nvompic","text":"

        EasyBuild support for nvompic compiler toolchain (includes NVHPC and OpenMPI, and CUDA as dependency).

        Authors:

        • Damian Alvarez (Forschungszentrum Juelich)
        • Sebastian Achilles (Forschungszentrum Juelich)
        ","boost":0.5},{"location":"api/easybuild/toolchains/nvompic/#easybuild.toolchains.nvompic.NVompic","title":"NVompic","text":"

        Bases: NVHPCToolchain, Cuda, OpenMPI

        Compiler toolchain with NVHPC and OpenMPI, with CUDA as dependency.

        ","boost":0.5},{"location":"api/easybuild/toolchains/nvpsmpi/","title":"nvpsmpi","text":"

        EasyBuild support for nvsmpi compiler toolchain (includes NVHPC and ParaStationMPI).

        Authors:

        • Robert Mijakovic robert.mijakovic@lxp.lu (LuxProvide)
        ","boost":0.5},{"location":"api/easybuild/toolchains/nvpsmpi/#easybuild.toolchains.nvpsmpi.NVpsmpi","title":"NVpsmpi","text":"

        Bases: NVHPCToolchain, Psmpi

        Compiler toolchain with NVHPC and ParaStationMPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/nvpsmpic/","title":"nvpsmpic","text":"

        EasyBuild support for npsmpi compiler toolchain (includes NVHPC and ParaStationMPI, and CUDA as dependency).

        Authors:

        • Damian Alvarez (Forschungszentrum Juelich)
        • Sebastian Achilles (Forschungszentrum Juelich)
        ","boost":0.5},{"location":"api/easybuild/toolchains/nvpsmpic/#easybuild.toolchains.nvpsmpic.NVpsmpic","title":"NVpsmpic","text":"

        Bases: NVHPCToolchain, Cuda, Psmpi

        Compiler toolchain with NVHPC and ParaStationMPI, with CUDA as dependency.

        ","boost":0.5},{"location":"api/easybuild/toolchains/pgi/","title":"pgi","text":"

        EasyBuild support for PGI compiler toolchain.

        Authors:

        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/pgi/#easybuild.toolchains.pgi.PgiToolchain","title":"PgiToolchain","text":"

        Bases: Pgi

        Simple toolchain with just the PGI compilers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/pmkl/","title":"pmkl","text":"

        EasyBuild support for pmkl compiler toolchain (includes PGI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/pmkl/#easybuild.toolchains.pmkl.Pmkl","title":"Pmkl","text":"

        Bases: PgiToolchain, IntelMKL, IntelFFTW

        Compiler toolchain with PGI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/pomkl/","title":"pomkl","text":"

        EasyBuild support for pomkl compiler toolchain (includes PGI compilers, OpenMPI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/pomkl/#easybuild.toolchains.pomkl.Pomkl","title":"Pomkl","text":"

        Bases: Pompi, IntelMKL, IntelFFTW

        Compiler toolchain with PGI compilers, OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/pompi/","title":"pompi","text":"

        EasyBuild support for pompi compiler toolchain (includes PGI compilers and OpenMPI).

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/toolchains/pompi/#easybuild.toolchains.pompi.Pompi","title":"Pompi","text":"

        Bases: PgiToolchain, OpenMPI

        Compiler toolchain with PGI compilers and OpenMPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/system/","title":"system","text":"

        EasyBuild support for system compiler toolchain.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/system/#easybuild.toolchains.system.SystemToolchain","title":"SystemToolchain","text":"

        Bases: SystemCompiler

        System toolchain.

        ","boost":0.5},{"location":"api/easybuild/toolchains/xlcxlf/","title":"xlcxlf","text":"

        EasyBuild support for IBM XL compiler toolchain.

        Authors:

        • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
        ","boost":0.5},{"location":"api/easybuild/toolchains/xlcxlf/#easybuild.toolchains.xlcxlf.XLCXLFToolchain","title":"XLCXLFToolchain","text":"

        Bases: IBMXL

        Simple toolchain with just the IBM XL C and FORTRAN compilers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/xlmpich/","title":"xlmpich","text":"

        EasyBuild support for xlmpich compiler toolchain (includes IBM XL compilers (xlc, xlf) and MPICH).

        Authors:

        • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
        ","boost":0.5},{"location":"api/easybuild/toolchains/xlmpich/#easybuild.toolchains.xlmpich.Xlompi","title":"Xlompi","text":"

        Bases: IBMXL, Mpich

        Compiler toolchain with IBM XL compilers (xlc/xlf) and MPICH.

        ","boost":0.5},{"location":"api/easybuild/toolchains/xlmpich2/","title":"xlmpich2","text":"

        EasyBuild support for xlmpich2 compiler toolchain (includes IBM XL compilers (xlc, xlf) and MPICH2).

        Authors:

        • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
        ","boost":0.5},{"location":"api/easybuild/toolchains/xlmpich2/#easybuild.toolchains.xlmpich2.Xlompi","title":"Xlompi","text":"

        Bases: IBMXL, Mpich2

        Compiler toolchain with IBM XL compilers (xlc/xlf) and MPICH.

        ","boost":0.5},{"location":"api/easybuild/toolchains/xlmvapich2/","title":"xlmvapich2","text":"

        EasyBuild support for xlmpich compiler toolchain (includes IBM XL compilers (xlc, xlf) and MPICH).

        Authors:

        • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
        ","boost":0.5},{"location":"api/easybuild/toolchains/xlmvapich2/#easybuild.toolchains.xlmvapich2.Xlompi","title":"Xlompi","text":"

        Bases: IBMXL, Mvapich2

        Compiler toolchain with IBM XL compilers (xlc/xlf) and MPICH.

        ","boost":0.5},{"location":"api/easybuild/toolchains/xlompi/","title":"xlompi","text":"

        EasyBuild support for xlompi compiler toolchain (includes IBM XL compilers (xlc, xlf) and OpenMPI).

        Authors:

        • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
        ","boost":0.5},{"location":"api/easybuild/toolchains/xlompi/#easybuild.toolchains.xlompi.Xlompi","title":"Xlompi","text":"

        Bases: IBMXL, OpenMPI

        Compiler toolchain with IBM XL compilers (xlc/xlf) and OpenMPI.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/","title":"compiler","text":"
        • easybuild
          • toolchains
            • compiler
              • clang
              • craype
              • cuda
              • dummycompiler
              • fujitsu
              • gcc
              • ibmxl
              • intel_compilers
              • inteliccifort
              • nvhpc
              • pgi
              • systemcompiler
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/clang/","title":"clang","text":"

        Support for Clang as toolchain compiler.

        Authors:

        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/clang/#easybuild.toolchains.compiler.clang.Clang","title":"Clang","text":"

        Bases: Compiler

        Clang compiler class

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/","title":"craype","text":"

        Support for the Cray Programming Environment (craype) compiler drivers (aka cc, CC, ftn).

        The basic concept is that the compiler driver knows how to invoke the true underlying compiler with the compiler's specific options tuned to Cray systems.

        That means that certain defaults are set that are specific to Cray's computers.

        The compiler drivers are quite similar to EB toolchains as they include linker and compiler directives to use the Cray libraries for their MPI (and network drivers) Cray's LibSci (BLAS/LAPACK et al), FFT library, etc.

        Authors:

        • Petar Forai (IMP/IMBA, Austria)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECompiler","title":"CrayPECompiler","text":"

        Bases: Compiler

        Generic support for using Cray compiler drivers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECompiler.__init__","title":"__init__(*args, **kwargs)","text":"

        Constructor.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECompiler.prepare","title":"prepare(*args, **kwargs)","text":"

        Prepare to use this toolchain; define $CRAYPE_LINK_TYPE if 'dynamic' toolchain option is enabled.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECray","title":"CrayPECray","text":"

        Bases: CrayPECompiler

        Support for using the Cray CCE compiler wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECray.__init__","title":"__init__(*args, **kwargs)","text":"

        CrayPEIntel constructor.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEGCC","title":"CrayPEGCC","text":"

        Bases: CrayPECompiler

        Support for using the Cray GNU compiler wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEGCC.__init__","title":"__init__(*args, **kwargs)","text":"

        CrayPEGCC constructor.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEIntel","title":"CrayPEIntel","text":"

        Bases: CrayPECompiler

        Support for using the Cray Intel compiler wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEIntel.__init__","title":"__init__(*args, **kwargs)","text":"

        CrayPEIntel constructor.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEPGI","title":"CrayPEPGI","text":"

        Bases: CrayPECompiler

        Support for using the Cray PGI compiler wrappers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEPGI.__init__","title":"__init__(*args, **kwargs)","text":"

        CrayPEPGI constructor.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/cuda/","title":"cuda","text":"

        Support for CUDA compilers as toolchain (co-)compiler.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/cuda/#easybuild.toolchains.compiler.cuda.Cuda","title":"Cuda","text":"

        Bases: Compiler

        CUDA compiler class.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/cuda/#easybuild.toolchains.compiler.cuda.Cuda.__init__","title":"__init__(*args, **kwargs)","text":"

        Constructor, with settings custom to CUDA.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/dummycompiler/","title":"dummycompiler","text":"

        Support for dummy compiler.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/dummycompiler/#easybuild.toolchains.compiler.dummycompiler.DummyCompiler","title":"DummyCompiler","text":"

        Bases: Compiler

        Dummy compiler : try not to even use system gcc

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/fujitsu/","title":"fujitsu","text":"

        Support for the Fujitsu compiler drivers (aka fcc, frt).

        The basic concept is the same as for the Cray Programming Environment.

        Authors:

        • Miguel Dias Costa (National University of Singapore)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/fujitsu/#easybuild.toolchains.compiler.fujitsu.FujitsuCompiler","title":"FujitsuCompiler","text":"

        Bases: Compiler

        Generic support for using Fujitsu compiler drivers.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/gcc/","title":"gcc","text":"

        Support for GCC (GNU Compiler Collection) as toolchain compiler.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/gcc/#easybuild.toolchains.compiler.gcc.Gcc","title":"Gcc","text":"

        Bases: Compiler

        GCC compiler class

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/ibmxl/","title":"ibmxl","text":"

        Support for IBM compilers (xlc, xlf) as toolchain compilers.

        Authors:

        • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/intel_compilers/","title":"intel_compilers","text":"

        Support for Intel compilers (icc, ifort) as toolchain compilers, version 2021.x and newer (oneAPI).

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/intel_compilers/#easybuild.toolchains.compiler.intel_compilers.IntelCompilers","title":"IntelCompilers","text":"

        Bases: IntelIccIfort

        Compiler class for Intel oneAPI compilers

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/intel_compilers/#easybuild.toolchains.compiler.intel_compilers.IntelCompilers.set_variables","title":"set_variables()","text":"

        Set the variables.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/inteliccifort/","title":"inteliccifort","text":"

        Support for Intel compilers (icc, ifort) as toolchain compilers.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/inteliccifort/#easybuild.toolchains.compiler.inteliccifort.IntelIccIfort","title":"IntelIccIfort","text":"

        Bases: Compiler

        Intel compiler class - TODO: install as single package ? should be done anyway (all icc versions come with matching ifort version)

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/inteliccifort/#easybuild.toolchains.compiler.inteliccifort.IntelIccIfort.__init__","title":"__init__(*args, **kwargs)","text":"

        Toolchain constructor.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/inteliccifort/#easybuild.toolchains.compiler.inteliccifort.IntelIccIfort.set_variables","title":"set_variables()","text":"

        Set the variables.

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/nvhpc/","title":"nvhpc","text":"

        Support for NVIDIA HPC SDK ('NVHPC') compilers (nvc, nvc++, nvfortran) as toolchain compilers. NVHPC is the successor of the PGI compilers, on which this file is based upon.

        Authors:

        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        • Damian Alvarez (Forschungszentrum Juelich GmbH)
        • Andreas Herten (Forschungszentrum Juelich GmbH)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/nvhpc/#easybuild.toolchains.compiler.nvhpc.NVHPC","title":"NVHPC","text":"

        Bases: Compiler

        NVHPC compiler class

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/pgi/","title":"pgi","text":"

        Support for PGI compilers (pgcc, pgc++, pgf90/pgfortran) as toolchain compilers.

        Authors:

        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        • Damian Alvarez (Forschungszentrum Juelich GmbH)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/pgi/#easybuild.toolchains.compiler.pgi.Pgi","title":"Pgi","text":"

        Bases: Compiler

        PGI compiler class

        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/systemcompiler/","title":"systemcompiler","text":"

        Support for system compiler.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/systemcompiler/#easybuild.toolchains.compiler.systemcompiler.SystemCompiler","title":"SystemCompiler","text":"

        Bases: Compiler

        System compiler

        ","boost":0.5},{"location":"api/easybuild/toolchains/fft/","title":"fft","text":"
        • easybuild
          • toolchains
            • fft
              • fftw
              • fujitsufftw
              • intelfftw
        ","boost":0.5},{"location":"api/easybuild/toolchains/fft/fftw/","title":"fftw","text":"

        Support for FFTW (Fastest Fourier Transform in the West) as toolchain FFT library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/fft/fftw/#easybuild.toolchains.fft.fftw.Fftw","title":"Fftw","text":"

        Bases: Fft

        FFTW FFT library

        ","boost":0.5},{"location":"api/easybuild/toolchains/fft/fujitsufftw/","title":"fujitsufftw","text":"

        Support for Fujitsu FFTW as toolchain FFT library.

        Authors:

        • Miguel Dias Costa (National University of Singapore)
        ","boost":0.5},{"location":"api/easybuild/toolchains/fft/fujitsufftw/#easybuild.toolchains.fft.fujitsufftw.FujitsuFFTW","title":"FujitsuFFTW","text":"

        Bases: Fftw

        Fujitsu FFTW FFT library

        ","boost":0.5},{"location":"api/easybuild/toolchains/fft/intelfftw/","title":"intelfftw","text":"

        Support for Intel FFTW as toolchain FFT library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/fft/intelfftw/#easybuild.toolchains.fft.intelfftw.IntelFFTW","title":"IntelFFTW","text":"

        Bases: Fftw

        FFTW wrapper functionality of Intel MKL

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/","title":"linalg","text":"
        • easybuild
          • toolchains
            • linalg
              • acml
              • atlas
              • blacs
              • blis
              • flame
              • flexiblas
              • fujitsussl
              • gotoblas
              • intelmkl
              • lapack
              • libsci
              • openblas
              • scalapack
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/acml/","title":"acml","text":"

        Support for ACML (AMD Core Math Library) as toolchain linear algebra library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/acml/#easybuild.toolchains.linalg.acml.Acml","title":"Acml","text":"

        Bases: LinAlg

        Provides ACML BLAS/LAPACK support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/acml/#easybuild.toolchains.linalg.acml.Acml.__init__","title":"__init__(*args, **kwargs)","text":"

        Toolchain constructor.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/atlas/","title":"atlas","text":"

        Support for ATLAS as toolchain linear algebra library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/atlas/#easybuild.toolchains.linalg.atlas.Atlas","title":"Atlas","text":"

        Bases: LinAlg

        Provides ATLAS BLAS/LAPACK support. LAPACK is a build dependency only

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/blacs/","title":"blacs","text":"

        Support for BLACS as toolchain linear algebra library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/blacs/#easybuild.toolchains.linalg.blacs.Blacs","title":"Blacs","text":"

        Bases: LinAlg

        Trivial class, provides BLACS support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/blis/","title":"blis","text":"

        Support for BLIS as toolchain linear algebra library.

        Authors:

        • Kenneth Hoste (Ghent University)
        • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
        • Sebastian Achilles (Forschungszentrum Juelich GmbH)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/blis/#easybuild.toolchains.linalg.blis.Blis","title":"Blis","text":"

        Bases: LinAlg

        Trivial class, provides BLIS support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flame/","title":"flame","text":"

        Support for FLAME as toolchain linear algebra library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Sebastian Achilles (Forschungszentrum Juelich GmbH)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flame/#easybuild.toolchains.linalg.flame.Flame","title":"Flame","text":"

        Bases: Lapack

        Less trivial module, provides FLAME support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flexiblas/","title":"flexiblas","text":"

        Support for FlexiBLAS as toolchain linear algebra library.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flexiblas/#easybuild.toolchains.linalg.flexiblas.FlexiBLAS","title":"FlexiBLAS","text":"

        Bases: LinAlg

        Trivial class, provides FlexiBLAS support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flexiblas/#easybuild.toolchains.linalg.flexiblas.FlexiBLAS.banned_linked_shared_libs","title":"banned_linked_shared_libs()","text":"

        List of shared libraries (names, file names, paths) which are not allowed to be linked in any installed binary/library.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flexiblas/#easybuild.toolchains.linalg.flexiblas.det_flexiblas_backend_libs","title":"det_flexiblas_backend_libs()","text":"

        Determine list of paths to FlexiBLAS backend libraries.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/fujitsussl/","title":"fujitsussl","text":"

        Support for Fujitsu's SSL library, which provides BLAS/LAPACK support.

        Authors:

        • Miguel Dias Costa (National University of Singapore)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/fujitsussl/#easybuild.toolchains.linalg.fujitsussl.FujitsuSSL","title":"FujitsuSSL","text":"

        Bases: LinAlg

        Support for Fujitsu's SSL library, which provides BLAS/LAPACK support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/fujitsussl/#easybuild.toolchains.linalg.fujitsussl.FujitsuSSL.definition","title":"definition()","text":"

        Filter BLAS module from toolchain definition. The SSL2 module is loaded indirectly (and versionless) via the lang module, and thus is not a direct toolchain component.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/fujitsussl/#easybuild.toolchains.linalg.fujitsussl.FujitsuSSL.set_variables","title":"set_variables()","text":"

        Set the variables

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/gotoblas/","title":"gotoblas","text":"

        Support for GotoBLAS as toolchain linear algebra library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/gotoblas/#easybuild.toolchains.linalg.gotoblas.GotoBLAS","title":"GotoBLAS","text":"

        Bases: LinAlg

        Trivial class, provides GotoBLAS support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/intelmkl/","title":"intelmkl","text":"

        Support for Intel MKL as toolchain linear algebra library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/intelmkl/#easybuild.toolchains.linalg.intelmkl.IntelMKL","title":"IntelMKL","text":"

        Bases: LinAlg

        Support for Intel MKL.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/intelmkl/#easybuild.toolchains.linalg.intelmkl.IntelMKL.__init__","title":"__init__(*args, **kwargs)","text":"

        Toolchain constructor.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/intelmkl/#easybuild.toolchains.linalg.intelmkl.IntelMKL.set_variables","title":"set_variables()","text":"

        Set the variables

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/lapack/","title":"lapack","text":"

        Support for LAPACK as toolchain linear algebra library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/lapack/#easybuild.toolchains.linalg.lapack.Lapack","title":"Lapack","text":"

        Bases: LinAlg

        Trivial class, provides LAPACK support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/libsci/","title":"libsci","text":"

        Support for Cray's LibSci library, which provides BLAS/LAPACK support. cfr. https://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/

        Authors:

        • Petar Forai (IMP/IMBA, Austria)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/libsci/#easybuild.toolchains.linalg.libsci.LibSci","title":"LibSci","text":"

        Bases: LinAlg

        Support for Cray's LibSci library, which provides BLAS/LAPACK support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/libsci/#easybuild.toolchains.linalg.libsci.LibSci.definition","title":"definition()","text":"

        Filter BLAS module from toolchain definition. The cray-libsci module is loaded indirectly (and versionless) via the PrgEnv module, and thus is not a direct toolchain component.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/openblas/","title":"openblas","text":"

        Support for OpenBLAS as toolchain linear algebra library.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/openblas/#easybuild.toolchains.linalg.openblas.OpenBLAS","title":"OpenBLAS","text":"

        Bases: LinAlg

        Trivial class, provides OpenBLAS support.

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/scalapack/","title":"scalapack","text":"

        Support for ScaLAPACK as toolchain linear algebra library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/scalapack/#easybuild.toolchains.linalg.scalapack.ScaLAPACK","title":"ScaLAPACK","text":"

        Bases: Blacs

        Trivial class, provides ScaLAPACK support (on top of BLACS).

        ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/scalapack/#easybuild.toolchains.linalg.scalapack.ScaLAPACK.is_required","title":"is_required(name)","text":"

        Determine whether BLACS is a required toolchain element, based on ScaLAPACK version.

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/","title":"mpi","text":"
        • easybuild
          • toolchains
            • mpi
              • craympich
              • fujitsumpi
              • intelmpi
              • mpich
              • mpich2
              • mpitrampoline
              • mvapich2
              • openmpi
              • psmpi
              • qlogicmpi
              • spectrummpi
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/craympich/","title":"craympich","text":"

        MPI support for the Cray Programming Environment (craype).

        Authors:

        • Petar Forai (IMP/IMBA, Austria)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/craympich/#easybuild.toolchains.mpi.craympich.CrayMPICH","title":"CrayMPICH","text":"

        Bases: Mpi

        Generic support for using Cray compiler wrappers

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/fujitsumpi/","title":"fujitsumpi","text":"

        MPI support for Fujitsu MPI.

        Authors:

        • Miguel Dias Costa (National University of Singapore)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/fujitsumpi/#easybuild.toolchains.mpi.fujitsumpi.FujitsuMPI","title":"FujitsuMPI","text":"

        Bases: Mpi

        Generic support for using Fujitsu compiler wrappers

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/intelmpi/","title":"intelmpi","text":"

        Support for Intel MPI as toolchain MPI library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/intelmpi/#easybuild.toolchains.mpi.intelmpi.IntelMPI","title":"IntelMPI","text":"

        Bases: Mpich2

        Intel MPI class

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/intelmpi/#easybuild.toolchains.mpi.intelmpi.IntelMPI.set_variables","title":"set_variables()","text":"

        Intel MPI-specific updates to variables.

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpich/","title":"mpich","text":"

        Support for MPICH as toolchain MPI library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Jens Timmerman (Ghent University)
        • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpich/#easybuild.toolchains.mpi.mpich.Mpich","title":"Mpich","text":"

        Bases: Mpi

        MPICH MPI class

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpich2/","title":"mpich2","text":"

        Support for MPICH2 as toolchain MPI library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Jens Timmerman (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpich2/#easybuild.toolchains.mpi.mpich2.Mpich2","title":"Mpich2","text":"

        Bases: Mpich

        MPICH2 MPI class

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpitrampoline/","title":"mpitrampoline","text":"

        Support for MPItrampoline as toolchain MPI library.

        Authors:

        • Alan O'Cais (CECAM)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpitrampoline/#easybuild.toolchains.mpi.mpitrampoline.MPItrampoline","title":"MPItrampoline","text":"

        Bases: Mpi

        MPItrampoline MPI class

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpitrampoline/#easybuild.toolchains.mpi.mpitrampoline.MPItrampoline.__init__","title":"__init__(*args, **kwargs)","text":"

        Toolchain constructor

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mvapich2/","title":"mvapich2","text":"

        Support for MVAPICH2 as toolchain MPI library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mvapich2/#easybuild.toolchains.mpi.mvapich2.Mvapich2","title":"Mvapich2","text":"

        Bases: Mpich2

        MVAPICH2 MPI class

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/","title":"openmpi","text":"

        Support for OpenMPI as toolchain MPI library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/#easybuild.toolchains.mpi.openmpi.OpenMPI","title":"OpenMPI","text":"

        Bases: Mpi

        OpenMPI MPI class

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/#easybuild.toolchains.mpi.openmpi.OpenMPI.__init__","title":"__init__(*args, **kwargs)","text":"

        Toolchain constructor

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/#easybuild.toolchains.mpi.openmpi.OpenMPI.cleanup","title":"cleanup(*args, **kwargs)","text":"

        Clean up after using OpenMPI in toolchain.

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/#easybuild.toolchains.mpi.openmpi.OpenMPI.prepare","title":"prepare(*args, **kwargs)","text":"

        Prepare for using OpenMPI library in toolchain environment

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/psmpi/","title":"psmpi","text":"

        Support for Parastation MPI as toolchain MPI library.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/psmpi/#easybuild.toolchains.mpi.psmpi.Psmpi","title":"Psmpi","text":"

        Bases: Mpich

        Parastation MPI class

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/qlogicmpi/","title":"qlogicmpi","text":"

        Support for QLogicMPI as toolchain MPI library.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/qlogicmpi/#easybuild.toolchains.mpi.qlogicmpi.QLogicMPI","title":"QLogicMPI","text":"

        Bases: Mpich2

        QLogicMPI MPI class

        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/spectrummpi/","title":"spectrummpi","text":"

        Support for Spectrum MPI as toolchain MPI library.

        Authors:

        • Alan O'Cais (Juelich Supercomputing Centre)
        ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/spectrummpi/#easybuild.toolchains.mpi.spectrummpi.SpectrumMPI","title":"SpectrumMPI","text":"

        Bases: OpenMPI

        Spectrum MPI class

        ","boost":0.5},{"location":"api/easybuild/tools/","title":"tools","text":"
        • easybuild
          • tools
            • asyncprocess
            • build_details
            • build_log
            • config
            • configobj
            • containers
              • apptainer
              • base
              • common
              • docker
              • singularity
              • utils
            • convert
            • deprecated
            • docs
            • environment
            • filetools
            • github
            • hooks
            • include
            • jenkins
            • job
              • backend
              • gc3pie
              • pbs_python
              • slurm
            • loose_version
            • module_generator
            • module_naming_scheme
              • categorized_hmns
              • categorized_mns
              • easybuild_mns
              • hierarchical_mns
              • migrate_from_eb_to_hmns
              • mns
              • toolchain
              • utilities
            • modules
            • multidiff
            • options
            • output
            • package
              • package_naming_scheme
                • easybuild_deb_friendly_pns
                • easybuild_pns
                • pns
              • utilities
            • parallelbuild
            • py2vs3
              • py2
              • py3
            • repository
              • filerepo
              • gitrepo
              • hgrepo
              • repository
              • svnrepo
            • robot
            • run
            • systemtools
            • testing
            • toolchain
              • compiler
              • constants
              • fft
              • linalg
              • mpi
              • options
              • toolchain
              • toolchainvariables
              • utilities
              • variables
            • utilities
            • variables
            • version
        ","boost":0.5},{"location":"api/easybuild/tools/asyncprocess/","title":"asyncprocess","text":"

        Module to allow Asynchronous subprocess use on Windows and Posix platforms

        The 'subprocess' module in Python 2.4 has made creating and accessing subprocess streams in Python relatively convenient for all supported platforms, but what if you want to interact with the started subprocess? That is, what if you want to send a command, read the response, and send a new command based on that response?

        Now there is a solution. The included subprocess.Popen subclass adds three new commonly used methods: recv(maxsize=None) recv_err(maxsize=None) and send(input)

        along with a utility method: send_recv(input='', maxsize=None).

        recv() and recv_err() both read at most maxsize bytes from the started subprocess. send() sends strings to the started subprocess. send_recv() will send the provided input, and read up to maxsize bytes from both stdout and stderr.

        If any of the pipes are closed, the attributes for those pipes will be set to None, and the methods will return None.

        • downloaded 05/08/2010
        • modified -- added STDOUT handle

        Authors:

        • Josiah Carlson
        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/build_details/","title":"build_details","text":"

        All required to provide details of build environment and allow for reproducable builds

        Authors:

        • Kenneth Hoste (Ghent University)
        • Stijn De Weirdt (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/build_details/#easybuild.tools.build_details.get_build_stats","title":"get_build_stats(app, start_time, command_line)","text":"

        Return build statistics for this build

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/","title":"build_log","text":"

        EasyBuild logger and log utilities, including our own EasybuildError class.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildError","title":"EasyBuildError","text":"

        Bases: LoggedException

        EasyBuildError is thrown when EasyBuild runs into something horribly wrong.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildError.__init__","title":"__init__(msg, *args)","text":"

        Constructor: initialise EasyBuildError instance.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildError.__str__","title":"__str__()","text":"

        Return string representation of this EasyBuildError instance.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog","title":"EasyBuildLog","text":"

        Bases: fancylogger.FancyLogger

        The EasyBuild logger, with its own error and exception functions.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.caller_info","title":"caller_info()","text":"

        Return string with caller info.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.deprecated","title":"deprecated(msg, ver, max_ver=None, more_info=None, silent=False, *args, **kwargs)","text":"

        Print deprecation warning or raise an exception, depending on specified version(s)

        PARAMETER DESCRIPTION msg

        deprecation message

        ver

        if max_ver is None: threshold for EasyBuild version to determine warning vs exception else: version to check against max_ver to determine warning vs exception

        max_ver

        version threshold for warning vs exception (compared to 'ver')

        DEFAULT: None

        more_info

        additional message with instructions where to get more information

        DEFAULT: None

        silent

        stay silent (don't print deprecation warnings, only log them)

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.devel","title":"devel(msg, *args, **kwargs)","text":"

        Print development log message

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.error","title":"error(msg, *args, **kwargs)","text":"

        Print error message and raise an EasyBuildError.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.exception","title":"exception(msg, *args)","text":"

        Print exception message and raise EasyBuildError.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.experimental","title":"experimental(msg, *args, **kwargs)","text":"

        Handle experimental functionality if EXPERIMENTAL is True, otherwise log error

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.nosupport","title":"nosupport(msg, ver)","text":"

        Raise error message for no longer supported behaviour, and raise an EasyBuildError.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.dry_run_msg","title":"dry_run_msg(msg, *args, **kwargs)","text":"

        Print dry run message.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.dry_run_set_dirs","title":"dry_run_set_dirs(prefix, builddir, software_installdir, module_installdir)","text":"

        Initialize for printing dry run messages.

        Define DRY_RUN_*DIR constants, so they can be used in dry_run_msg to replace fake build/install dirs.

        PARAMETER DESCRIPTION prefix

        prefix of fake build/install dirs, that can be stripped off when printing

        builddir

        fake build dir

        software_installdir

        fake software install directory

        module_installdir

        fake module install directory

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.dry_run_warning","title":"dry_run_warning(msg, *args, **kwargs)","text":"

        Print dry run message.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.init_logging","title":"init_logging(logfile, logtostdout=False, silent=False, colorize=fancylogger.Colorize.AUTO, tmp_logdir=None)","text":"

        Initialize logging.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.log_start","title":"log_start(log, eb_command_line, eb_tmpdir)","text":"

        Log startup info.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.print_error","title":"print_error(msg, *args, **kwargs)","text":"

        Print error message and exit EasyBuild

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.print_msg","title":"print_msg(msg, *args, **kwargs)","text":"

        Print a message.

        PARAMETER DESCRIPTION log

        logger instance to also message to

        silent

        be silent (only log, don't print)

        prefix

        include message prefix characters ('== ')

        newline

        end message with newline

        stderr

        print to stderr rather than stdout

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.print_warning","title":"print_warning(msg, *args, **kwargs)","text":"

        Print warning message.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.raise_easybuilderror","title":"raise_easybuilderror(msg, *args)","text":"

        Raise EasyBuildError with given message, formatted by provided string arguments.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.raise_nosupport","title":"raise_nosupport(msg, ver)","text":"

        Construct error message for no longer supported behaviour, and raise an EasyBuildError.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.stop_logging","title":"stop_logging(logfile, logtostdout=False)","text":"

        Stop logging.

        ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.time_str_since","title":"time_str_since(start_time)","text":"

        Return string representing amount of time that has passed since specified timestamp

        PARAMETER DESCRIPTION start_time

        datetime value representing start time

        RETURNS DESCRIPTION

        string value representing amount of time passed since start_time; format: \"[[%d hours, ]%d mins, ]%d sec(s)\"

        ","boost":0.5},{"location":"api/easybuild/tools/config/","title":"config","text":"

        EasyBuild configuration (paths, preferences, etc.)

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        • Ward Poelmans (Ghent University)
        • Damian Alvarez (Forschungszentrum Juelich GmbH)
        • Andy Georges (Ghent University)
        • Maxime Boissonneault (Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.BuildOptions","title":"BuildOptions","text":"

        Bases: BaseBuildOptions

        Representation of a set of build options, acts like a dictionary.

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.ConfigurationVariables","title":"ConfigurationVariables","text":"

        Bases: BaseConfigurationVariables

        This is a dict that supports legacy config names transparently.

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.ConfigurationVariables.get_items_check_required","title":"get_items_check_required()","text":"

        For all known/required keys, check if exists and return all key/value pairs. no_missing: boolean, when True, will throw error message for missing values

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.Singleton","title":"Singleton","text":"

        Bases: ABCMeta

        Serves as metaclass for classes that should implement the Singleton pattern.

        See http://stackoverflow.com/questions/6760685/creating-a-singleton-in-python

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.build_option","title":"build_option(key, **kwargs)","text":"

        Obtain value specified build option.

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.build_path","title":"build_path()","text":"

        Return the build path

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.container_path","title":"container_path()","text":"

        Return the path for container recipes & images

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.find_last_log","title":"find_last_log(curlog)","text":"

        Find location to last log file that is still available.

        PARAMETER DESCRIPTION curlog

        location to log file of current session

        RETURNS DESCRIPTION

        path to last log file (or None if no log files were found)

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_build_log_path","title":"get_build_log_path()","text":"

        Return (temporary) directory for build log

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_job_backend","title":"get_job_backend()","text":"

        Return job execution backend (PBS, GC3Pie, ...)

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_log_filename","title":"get_log_filename(name, version, add_salt=False, date=None, timestamp=None)","text":"

        Generate a filename to be used for logging

        PARAMETER DESCRIPTION name

        software name ('%(name)s')

        version

        software version ('%(version)s')

        add_salt

        add salt (5 random characters)

        DEFAULT: False

        date

        string representation of date to use ('%(date)s')

        DEFAULT: None

        timestamp

        timestamp to use ('%(time)s')

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_module_naming_scheme","title":"get_module_naming_scheme()","text":"

        Return module naming scheme (EasyBuildMNS, HierarchicalMNS, ...)

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_module_syntax","title":"get_module_syntax()","text":"

        Return module syntax (Lua, Tcl)

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_modules_tool","title":"get_modules_tool()","text":"

        Return modules tool (EnvironmentModulesC, Lmod, ...)

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_output_style","title":"get_output_style()","text":"

        Return output style to use.

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_package_naming_scheme","title":"get_package_naming_scheme()","text":"

        Return the package naming scheme

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_pretend_installpath","title":"get_pretend_installpath()","text":"

        Get the installpath when --pretend option is used

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_repository","title":"get_repository()","text":"

        Return the repository (git, svn or file)

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_repositorypath","title":"get_repositorypath()","text":"

        Return the repository path

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.init","title":"init(options, config_options_dict)","text":"

        Gather all variables and check if they're valid Variables are read in this order of preference: generaloption > legacy environment > legacy config file

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.init_build_options","title":"init_build_options(build_options=None, cmdline_options=None)","text":"

        Initialize build options.

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.install_path","title":"install_path(typ=None)","text":"

        Returns the install path - subdir 'software' for actual installation (default) - subdir 'modules' for environment modules (typ='mod')

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.log_file_format","title":"log_file_format(return_directory=False, ec=None, date=None, timestamp=None)","text":"

        Return the format for the logfile or the directory

        PARAMETER DESCRIPTION ec

        dict-like value that provides values for %(name)s and %(version)s template values

        DEFAULT: None

        date

        string representation of date to use ('%(date)s')

        DEFAULT: None

        timestamp

        timestamp to use ('%(time)s')

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.log_format","title":"log_format(ec=None)","text":"

        Return the logfilename format

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.log_path","title":"log_path(ec=None)","text":"

        Return the log path

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.mk_full_default_path","title":"mk_full_default_path(name, prefix=DEFAULT_PREFIX)","text":"

        Create full path, avoid '/' at the end.

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.module_classes","title":"module_classes()","text":"

        Return list of module classes specified in config file.

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.package_path","title":"package_path()","text":"

        Return the path where built packages are copied to

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.read_environment","title":"read_environment(env_vars, strict=False)","text":"

        NO LONGER SUPPORTED: use read_environment from easybuild.tools.environment instead

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.source_path","title":"source_path()","text":"

        NO LONGER SUPPORTED: use source_paths instead

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.source_paths","title":"source_paths()","text":"

        Return the list of source paths

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.update_build_option","title":"update_build_option(key, value)","text":"

        Update build option with specified name to given value.

        WARNING: Use this with care, the build options are not expected to be changed during an EasyBuild session!

        ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.update_build_options","title":"update_build_options(key_value_dict)","text":"

        Update build options as specified by the given dictionary (where keys are assumed to be build option names). Returns dictionary with original values for the updated build options.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/","title":"configobj","text":"","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj","title":"ConfigObj","text":"

        Bases: Section

        An object to read, create, and write config files.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.__init__","title":"__init__(infile=None, options=None, configspec=None, encoding=None, interpolation=True, raise_errors=False, list_values=True, create_empty=False, file_error=False, stringify=True, indent_type=None, default_encoding=None, unrepr=False, write_empty_values=False, _inspec=False)","text":"

        Parse a config file or create a config file object.

        ConfigObj(infile=None, configspec=None, encoding=None, interpolation=True, raise_errors=False, list_values=True, create_empty=False, file_error=False, stringify=True, indent_type=None, default_encoding=None, unrepr=False, write_empty_values=False, _inspec=False)

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.reload","title":"reload()","text":"

        Reload a ConfigObj from file.

        This method raises a ReloadError if the ConfigObj doesn't have a filename attribute pointing to a file.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.reset","title":"reset()","text":"

        Clear ConfigObj instance and restore to 'freshly created' state.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.validate","title":"validate(validator, preserve_errors=False, copy=False, section=None)","text":"

        Test the ConfigObj against a configspec.

        It uses the validator object from validate.py.

        To run validate on the current ConfigObj, call: ::

        test = config.validate(validator)\n

        (Normally having previously passed in the configspec when the ConfigObj was created - you can dynamically assign a dictionary of checks to the configspec attribute of a section though).

        It returns True if everything passes, or a dictionary of pass/fails (True/False). If every member of a subsection passes, it will just have the value True. (It also returns False if all members fail).

        In addition, it converts the values from strings to their native types if their checks pass (and stringify is set).

        If preserve_errors is True (False is default) then instead of a marking a fail with a False, it will preserve the actual exception object. This can contain info about the reason for failure. For example the VdtValueTooSmallError indicates that the value supplied was too small. If a value (or section) is missing it will still be marked as False.

        You must have the validate module to use preserve_errors=True.

        You can then use the flatten_errors function to turn your nested results dictionary into a flattened list of failures - useful for displaying meaningful error messages.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.write","title":"write(outfile=None, section=None)","text":"

        Write the current ConfigObj as a file

        tekNico: FIXME: use StringIO instead of real files

        filename = a.filename a.filename = 'test.ini' a.write() a.filename = filename a == ConfigObj('test.ini', raise_errors=True) 1 import os os.remove('test.ini')

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObjError","title":"ConfigObjError","text":"

        Bases: SyntaxError

        This is the base class for all errors that ConfigObj raises. It is a subclass of SyntaxError.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigParserInterpolation","title":"ConfigParserInterpolation","text":"

        Bases: InterpolationEngine

        Behaves like ConfigParser.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigspecError","title":"ConfigspecError","text":"

        Bases: ConfigObjError

        An error occurred whilst parsing a configspec.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.DuplicateError","title":"DuplicateError","text":"

        Bases: ConfigObjError

        The keyword or section specified already exists.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.InterpolationEngine","title":"InterpolationEngine","text":"

        Bases: object

        A helper class to help perform string interpolation.

        This class is an abstract base class; its descendants perform the actual work.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.InterpolationError","title":"InterpolationError","text":"

        Bases: ConfigObjError

        Base class for the two interpolation errors.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.InterpolationLoopError","title":"InterpolationLoopError","text":"

        Bases: InterpolationError

        Maximum interpolation depth exceeded in string interpolation.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.MissingInterpolationOption","title":"MissingInterpolationOption","text":"

        Bases: InterpolationError

        A value specified for interpolation was missing.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.NestingError","title":"NestingError","text":"

        Bases: ConfigObjError

        This error indicates a level of nesting that doesn't match.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ParseError","title":"ParseError","text":"

        Bases: ConfigObjError

        This error indicates that a line is badly written. It is neither a valid key = value line, nor a valid section marker line.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ReloadError","title":"ReloadError","text":"

        Bases: IOError

        A 'reload' operation failed. This exception is a subclass of IOError.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.RepeatSectionError","title":"RepeatSectionError","text":"

        Bases: ConfigObjError

        This error indicates additional sections in a section with a __many__ (repeated) section.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section","title":"Section","text":"

        Bases: dict

        A dictionary-like object that represents a section in a config file.

        It does string interpolation if the 'interpolation' attribute of the 'main' object is set to True.

        Interpolation is tried first from this object, then from the 'DEFAULT' section of this object, next from the parent and its 'DEFAULT' section, and so on until the main object is reached.

        A Section will behave like an ordered dictionary - following the order of the scalars and sections attributes. You can use this to change the order of members.

        Iteration follows the order: scalars, then sections.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__delitem__","title":"__delitem__(key)","text":"

        Remove items from the sequence when deleting.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__getitem__","title":"__getitem__(key)","text":"

        Fetch the item and do string interpolation.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__init__","title":"__init__(parent, depth, main, indict=None, name=None)","text":"
        • parent is the section above
        • depth is the depth level of this section
        • main is the main ConfigObj
        • indict is a dictionary to initialise the section with
        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__repr__","title":"__repr__()","text":"

        x.repr() <==> repr(x)

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__setitem__","title":"__setitem__(key, value, unrepr=False)","text":"

        Correctly set a value.

        Making dictionary values Section instances. (We have to special case 'Section' instances - which are also dicts)

        Keys must be strings. Values need only be strings (or lists of strings) if main.stringify is set.

        unrepr must be set when setting a value to a dictionary, without creating a new sub-section.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.as_bool","title":"as_bool(key)","text":"

        Accepts a key as input. The corresponding value must be a string or the objects (True or 1) or (False or 0). We allow 0 and 1 to retain compatibility with Python 2.2.

        If the string is one of True, On, Yes, or 1 it returns True.

        If the string is one of False, Off, No, or 0 it returns False.

        as_bool is not case sensitive.

        Any other input will raise a ValueError.

        a = ConfigObj() a['a'] = 'fish' a.as_bool('a') Traceback (most recent call last): ValueError: Value \"fish\" is neither True nor False a['b'] = 'True' a.as_bool('b') 1 a['b'] = 'off' a.as_bool('b') 0

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.as_float","title":"as_float(key)","text":"

        A convenience method which coerces the specified value to a float.

        If the value is an invalid literal for float, a ValueError will be raised.

        a = ConfigObj() a['a'] = 'fish' a.as_float('a') Traceback (most recent call last): ValueError: invalid literal for float(): fish a['b'] = '1' a.as_float('b') 1.0 a['b'] = '3.2' a.as_float('b') 3.2000000000000002

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.as_int","title":"as_int(key)","text":"

        A convenience method which coerces the specified value to an integer.

        If the value is an invalid literal for int, a ValueError will be raised.

        a = ConfigObj() a['a'] = 'fish' a.as_int('a') Traceback (most recent call last): ValueError: invalid literal for int() with base 10: 'fish' a['b'] = '1' a.as_int('b') 1 a['b'] = '3.2' a.as_int('b') Traceback (most recent call last): ValueError: invalid literal for int() with base 10: '3.2'

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.as_list","title":"as_list(key)","text":"

        A convenience method which fetches the specified value, guaranteeing that it is a list.

        a = ConfigObj() a['a'] = 1 a.as_list('a') [1] a['a'] = (1,) a.as_list('a') [1] a['a'] = [1] a.as_list('a') [1]

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.clear","title":"clear()","text":"

        A version of clear that also affects scalars/sections Also clears comments and configspec.

        Leaves other attributes alone : depth/main/parent are not affected

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.dict","title":"dict()","text":"

        Return a deepcopy of self as a dictionary.

        All members that are Section instances are recursively turned to ordinary dictionaries - by calling their dict method.

        n = a.dict() n == a 1 n is a 0

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.get","title":"get(key, default=None)","text":"

        A version of get that doesn't bypass string interpolation.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.items","title":"items()","text":"

        D.items() -> list of D's (key, value) pairs, as 2-tuples

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.iteritems","title":"iteritems()","text":"

        D.iteritems() -> an iterator over the (key, value) items of D

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.iterkeys","title":"iterkeys()","text":"

        D.iterkeys() -> an iterator over the keys of D

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.itervalues","title":"itervalues()","text":"

        D.itervalues() -> an iterator over the values of D

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.keys","title":"keys()","text":"

        D.keys() -> list of D's keys

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.merge","title":"merge(indict)","text":"

        A recursive update - useful for merging config files.

        a = '''[section1] ... option1 = True ... [[subsection]] ... more_options = False ... # end of file'''.splitlines() b = '''# File is user.ini ... [section1] ... option1 = False ... # end of file'''.splitlines() c1 = ConfigObj(b) c2 = ConfigObj(a) c2.merge(c1) c2 ConfigObj({'section1': {'option1': 'False', 'subsection': {'more_options': 'False'}}})

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.pop","title":"pop(key, default=MISSING)","text":"

        'D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised'

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.popitem","title":"popitem()","text":"

        Pops the first (key,val)

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.rename","title":"rename(oldkey, newkey)","text":"

        Change a keyname to another, without changing position in sequence.

        Implemented so that transformations can be made on keys, as well as on values. (used by encode and decode)

        Also renames comments.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.restore_default","title":"restore_default(key)","text":"

        Restore (and return) default value for the specified key.

        This method will only work for a ConfigObj that was created with a configspec and has been validated.

        If there is no default value for this key, KeyError is raised.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.restore_defaults","title":"restore_defaults()","text":"

        Recursively restore default values to all members that have them.

        This method will only work for a ConfigObj that was created with a configspec and has been validated.

        It doesn't delete or modify entries without default values.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.setdefault","title":"setdefault(key, default=None)","text":"

        A version of setdefault that sets sequence if appropriate.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.update","title":"update(indict)","text":"

        A version of update that uses our __setitem__.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.values","title":"values()","text":"

        D.values() -> list of D's values

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.walk","title":"walk(function, raise_errors=True, call_on_sections=False, **keywargs)","text":"

        Walk every member and call a function on the keyword and value.

        Return a dictionary of the return values

        If the function raises an exception, raise the errror unless raise_errors=False, in which case set the return value to False.

        Any unrecognised keyword arguments you pass to walk, will be pased on to the function you pass in.

        Note: if call_on_sections is True then - on encountering a subsection, first the function is called for the whole subsection, and then recurses into it's members. This means your function must be able to handle strings, dictionaries and lists. This allows you to change the key of subsections as well as for ordinary members. The return value when called on the whole subsection has to be discarded.

        See the encode and decode methods for examples, including functions.

        .. admonition:: caution

        You can use ``walk`` to transform the names of members of a section\nbut you mustn't add or delete members.\n

        config = '''[XXXXsection] ... XXXXkey = XXXXvalue'''.splitlines() cfg = ConfigObj(config) cfg ConfigObj({'XXXXsection': {'XXXXkey': 'XXXXvalue'}}) def transform(section, key): ... val = section[key] ... newkey = key.replace('XXXX', 'CLIENT1') ... section.rename(key, newkey) ... if isinstance(val, (tuple, list, dict)): ... pass ... else: ... val = val.replace('XXXX', 'CLIENT1') ... section[newkey] = val cfg.walk(transform, call_on_sections=True) {'CLIENT1section': {'CLIENT1key': None}} cfg ConfigObj({'CLIENT1section': {'CLIENT1key': 'CLIENT1value'}})

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.SimpleVal","title":"SimpleVal","text":"

        Bases: object

        A simple validator. Can be used to check that all members expected are present.

        To use it, provide a configspec with all your members in (the value given will be ignored). Pass an instance of SimpleVal to the validate method of your ConfigObj. validate will return True if all members are present, or a dictionary with True/False meaning present/missing. (Whole missing sections will be replaced with False)

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.SimpleVal.check","title":"check(check, member, missing=False)","text":"

        A dummy check method, always returns the value unchanged.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.TemplateInterpolation","title":"TemplateInterpolation","text":"

        Bases: InterpolationEngine

        Behaves like string.Template.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.UnreprError","title":"UnreprError","text":"

        Bases: ConfigObjError

        An error parsing in unrepr mode.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.flatten_errors","title":"flatten_errors(cfg, res, levels=None, results=None)","text":"

        An example function that will turn a nested dictionary of results (as returned by ConfigObj.validate) into a flat list.

        cfg is the ConfigObj instance being checked, res is the results dictionary returned by validate.

        (This is a recursive function, so you shouldn't use the levels or results arguments - they are used by the function.)

        Returns a list of keys that failed. Each member of the list is a tuple::

        ([list of sections...], key, result)\n

        If validate was called with preserve_errors=False (the default) then result will always be False.

        list of sections is a flattened list of sections that the key was found in.

        If the section was missing (or a section was expected and a scalar provided - or vice-versa) then key will be None.

        If the value (or section) was missing then result will be False.

        If validate was called with preserve_errors=True and a value was present, but failed the check, then result will be the exception object returned. You can use this as a string that describes the failure.

        For example The value \"3\" is of the wrong type.

        ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.get_extra_values","title":"get_extra_values(conf, _prepend=())","text":"

        Find all the values and sections not in the configspec from a validated ConfigObj.

        get_extra_values returns a list of tuples where each tuple represents either an extra section, or an extra value.

        The tuples contain two values, a tuple representing the section the value is in and the name of the extra values. For extra values in the top level section the first member will be an empty tuple. For values in the 'foo' section the first member will be ('foo',). For members in the 'bar' subsection of the 'foo' section the first member will be ('foo', 'bar').

        NOTE: If you call get_extra_values on a ConfigObj instance that hasn't been validated it will return an empty list.

        ","boost":0.5},{"location":"api/easybuild/tools/convert/","title":"convert","text":"

        This module implements all supported formats and their converters

        Authors:

        • Stijn De Weirdt (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/convert/#easybuild.tools.convert.Convert","title":"Convert","text":"

        Bases: Wrapper

        Convert casts a string passed via the initialisation to a Convert (sub)class instance, mainly for typechecking and printing purposes.

        ","boost":0.5},{"location":"api/easybuild/tools/convert/#easybuild.tools.convert.Convert.__init__","title":"__init__(obj)","text":"

        Support the conversion of obj to something

        ","boost":0.5},{"location":"api/easybuild/tools/convert/#easybuild.tools.convert.Convert.__str__","title":"__str__()","text":"

        Convert to string

        ","boost":0.5},{"location":"api/easybuild/tools/docs/","title":"docs","text":"

        Documentation-related functionality

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        • Ward Poelmans (Ghent University)
        • Caroline De Brouwer (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_cfgfile_constants","title":"avail_cfgfile_constants(go_cfg_constants, output_format=FORMAT_TXT)","text":"

        Return overview of constants supported in configuration files.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_cfgfile_constants_md","title":"avail_cfgfile_constants_md(go_cfg_constants)","text":"

        Generate documentation on constants for configuration files in MarkDown format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_cfgfile_constants_rst","title":"avail_cfgfile_constants_rst(go_cfg_constants)","text":"

        Generate documentation on constants for configuration files in rst format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_cfgfile_constants_txt","title":"avail_cfgfile_constants_txt(go_cfg_constants)","text":"

        Generate documentation on constants for configuration files in txt format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_classes_tree","title":"avail_classes_tree(classes, class_names, locations, detailed, format_strings, depth=0)","text":"

        Print list of classes as a tree.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_constants","title":"avail_easyconfig_constants(output_format=FORMAT_TXT)","text":"

        Generate the easyconfig constant documentation

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_constants_md","title":"avail_easyconfig_constants_md()","text":"

        Generate easyconfig constant documentation in MarkDown format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_constants_rst","title":"avail_easyconfig_constants_rst()","text":"

        Generate easyconfig constant documentation in rst format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_constants_txt","title":"avail_easyconfig_constants_txt()","text":"

        Generate easyconfig constant documentation in txt format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_licenses","title":"avail_easyconfig_licenses(output_format=FORMAT_TXT)","text":"

        Generate the easyconfig licenses documentation

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_licenses_md","title":"avail_easyconfig_licenses_md()","text":"

        Generate easyconfig license documentation in MarkDown format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_licenses_rst","title":"avail_easyconfig_licenses_rst()","text":"

        Generate easyconfig license documentation in rst format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_licenses_txt","title":"avail_easyconfig_licenses_txt()","text":"

        Generate easyconfig license documentation in txt format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_params","title":"avail_easyconfig_params(easyblock, output_format=FORMAT_TXT)","text":"

        Compose overview of available easyconfig parameters, in specified format.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_params_md","title":"avail_easyconfig_params_md(title, grouped_params)","text":"

        Compose overview of available easyconfig parameters, in MarkDown format.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_params_rst","title":"avail_easyconfig_params_rst(title, grouped_params)","text":"

        Compose overview of available easyconfig parameters, in RST format.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_params_txt","title":"avail_easyconfig_params_txt(title, grouped_params)","text":"

        Compose overview of available easyconfig parameters, in plain text format.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_templates","title":"avail_easyconfig_templates(output_format=FORMAT_TXT)","text":"

        Generate the templating documentation

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_templates_md","title":"avail_easyconfig_templates_md()","text":"

        Returns template documentation in MarkDown format.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_templates_rst","title":"avail_easyconfig_templates_rst()","text":"

        Returns template documentation in rst format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_templates_txt","title":"avail_easyconfig_templates_txt()","text":"

        Returns template documentation in plain text format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_toolchain_opts","title":"avail_toolchain_opts(name, output_format=FORMAT_TXT)","text":"

        Show list of known options for given toolchain.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_toolchain_opts_md","title":"avail_toolchain_opts_md(name, tc_dict)","text":"

        Returns overview of toolchain options in MarkDown format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_toolchain_opts_rst","title":"avail_toolchain_opts_rst(name, tc_dict)","text":"

        Returns overview of toolchain options in rst format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_toolchain_opts_txt","title":"avail_toolchain_opts_txt(name, tc_dict)","text":"

        Returns overview of toolchain options in txt format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_easyblock_doc_section_md","title":"gen_easyblock_doc_section_md(eb_class, path_to_examples, common_params, doc_functions, all_eb_classes)","text":"

        Compose overview of one easyblock given class object of the easyblock in MarkDown format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_easyblock_doc_section_rst","title":"gen_easyblock_doc_section_rst(eb_class, path_to_examples, common_params, doc_functions, all_blocks)","text":"

        Compose overview of one easyblock given class object of the easyblock in rst format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_easyblocks_overview_md","title":"gen_easyblocks_overview_md(package_name, path_to_examples, common_params=None, doc_functions=None)","text":"

        Compose overview of all easyblocks in the given package in MarkDown format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_easyblocks_overview_rst","title":"gen_easyblocks_overview_rst(package_name, path_to_examples, common_params=None, doc_functions=None)","text":"

        Compose overview of all easyblocks in the given package in rst format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_list_easyblocks","title":"gen_list_easyblocks(list_easyblocks, format_strings)","text":"

        Get a class tree for easyblocks.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.generate_doc","title":"generate_doc(name, params)","text":"

        Generate documentation by calling function with specified name, using supplied parameters.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.get_easyblock_classes","title":"get_easyblock_classes(package_name)","text":"

        Get list of all easyblock classes in specified easyblocks.* package

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_software","title":"list_software(output_format=FORMAT_TXT, detailed=False, only_installed=False)","text":"

        Show list of supported software

        PARAMETER DESCRIPTION output_format

        output format to use

        DEFAULT: FORMAT_TXT

        detailed

        whether or not to return detailed information (incl. version, versionsuffix, toolchain info)

        DEFAULT: False

        only_installed

        only retain software for which a corresponding module is available

        DEFAULT: False

        RETURNS DESCRIPTION

        multi-line string presenting requested info

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_software_md","title":"list_software_md(software, detailed=True)","text":"

        Return overview of supported software in MarkDown format

        PARAMETER DESCRIPTION software

        software information (structured like list_software does)

        detailed

        whether or not to return detailed information (incl. version, versionsuffix, toolchain info)

        DEFAULT: True

        RETURNS DESCRIPTION

        multi-line string presenting requested info

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_software_rst","title":"list_software_rst(software, detailed=False)","text":"

        Return overview of supported software in RST format

        PARAMETER DESCRIPTION software

        software information (structured like list_software does)

        detailed

        whether or not to return detailed information (incl. version, versionsuffix, toolchain info)

        DEFAULT: False

        RETURNS DESCRIPTION

        multi-line string presenting requested info

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_software_txt","title":"list_software_txt(software, detailed=False)","text":"

        Return overview of supported software in plain text

        PARAMETER DESCRIPTION software

        software information (structured like list_software does)

        detailed

        whether or not to return detailed information (incl. version, versionsuffix, toolchain info)

        DEFAULT: False

        RETURNS DESCRIPTION

        multi-line string presenting requested info

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_toolchains","title":"list_toolchains(output_format=FORMAT_TXT)","text":"

        Show list of known toolchains.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_toolchains_md","title":"list_toolchains_md(tcs)","text":"

        Returns overview of all toolchains in MarkDown format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_toolchains_rst","title":"list_toolchains_rst(tcs)","text":"

        Returns overview of all toolchains in rst format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_toolchains_txt","title":"list_toolchains_txt(tcs)","text":"

        Returns overview of all toolchains in txt format

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.md_title_and_table","title":"md_title_and_table(title, table_titles, table_values, title_level=1)","text":"

        Generate table in section with title in MarkDown (.md) format.

        ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.rst_title_and_table","title":"rst_title_and_table(title, table_titles, table_values)","text":"

        Generate table in section with title in .rst format.

        ","boost":0.5},{"location":"api/easybuild/tools/environment/","title":"environment","text":"

        Utility module for modifying os.environ

        Authors:

        • Toon Willems (Ghent University)
        • Ward Poelmans (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.get_changes","title":"get_changes()","text":"

        Return tracked changes made in environment.

        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.modify_env","title":"modify_env(old, new, verbose=True)","text":"

        Compares two os.environ dumps. Adapts final environment.

        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.read_environment","title":"read_environment(env_vars, strict=False)","text":"

        Read variables from the environment

        PARAMETER DESCRIPTION env_vars

        a dict with key a name, value a environment variable name

        strict

        boolean, if True enforces that all specified environment variables are found

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.reset_changes","title":"reset_changes()","text":"

        Reset the changes tracked by this module

        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.restore_env","title":"restore_env(env)","text":"

        Restore active environment based on specified dictionary.

        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.restore_env_vars","title":"restore_env_vars(env_keys)","text":"

        Restore the environment by setting the keys in the env_keys dict again with their old value

        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.sanitize_env","title":"sanitize_env()","text":"

        Sanitize environment.

        This function:

        • Filters out empty entries from environment variables like $PATH, $LD_LIBRARY_PATH, etc. Empty entries make no sense, and can cause problems, see for example https://github.com/easybuilders/easybuild-easyconfigs/issues/9843 .

        • Undefines all $PYTHON* environment variables, since they may affect the build/install procedure of Python packages.

        cfr. https://docs.python.org/2/using/cmdline.html#environment-variables

        While the $PYTHON* environment variables may be relevant/required for EasyBuild itself, and for any non-stdlib Python packages it uses, they are irrelevant (and potentially harmful) when installing Python packages.

        Note that this is not an airtight protection against the Python being used in the build/install procedure picking up non-stdlib Python packages (e.g., setuptools, vsc-base, ...), thanks to the magic of .pth files, cfr. https://docs.python.org/2/library/site.html .

        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.setvar","title":"setvar(key, value, verbose=True)","text":"

        put key in the environment with value tracks added keys until write_changes has been called

        PARAMETER DESCRIPTION verbose

        include message in dry run output for defining this environment variable

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.unset_env_vars","title":"unset_env_vars(keys, verbose=True)","text":"

        Unset the keys given in the environment Returns a dict with the old values of the unset keys

        ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.write_changes","title":"write_changes(filename)","text":"

        Write current changes to filename and reset environment afterwards

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/","title":"filetools","text":"

        Set of file tools.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Toon Willems (Ghent University)
        • Ward Poelmans (Ghent University)
        • Fotis Georgatos (Uni.Lu, NTUA)
        • Sotiris Fragkiskos (NTUA, CERN)
        • Davide Vanzo (ACCRE, Vanderbilt University)
        • Damian Alvarez (Forschungszentrum Juelich GmbH)
        • Maxime Boissonneault (Compute Canada)
        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.ZlibChecksum","title":"ZlibChecksum","text":"

        Bases: object

        wrapper class for adler32 and crc32 checksums to match the interface of the hashlib module

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.ZlibChecksum.hexdigest","title":"hexdigest()","text":"

        Return hex string of the checksum

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.ZlibChecksum.update","title":"update(data)","text":"

        Calculates a new checksum using the old one and the new data

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.adjust_permissions","title":"adjust_permissions(provided_path, permission_bits, add=True, onlyfiles=False, onlydirs=False, recursive=True, group_id=None, relative=True, ignore_errors=False, skip_symlinks=None)","text":"

        Change permissions for specified path, using specified permission bits

        PARAMETER DESCRIPTION add

        add permissions relative to current permissions (only relevant if 'relative' is set to True)

        DEFAULT: True

        onlyfiles

        only change permissions on files (not directories)

        DEFAULT: False

        onlydirs

        only change permissions on directories (not files)

        DEFAULT: False

        recursive

        change permissions recursively (only makes sense if path is a directory)

        DEFAULT: True

        group_id

        also change group ownership to group with this group ID

        DEFAULT: None

        relative

        add/remove permissions relative to current permissions (if False, hard set specified permissions)

        DEFAULT: True

        ignore_errors

        ignore errors that occur when changing permissions (up to a maximum ratio specified by --max-fail-ratio-adjust-permissions configuration option) Add or remove (if add is False) permission_bits from all files (if onlydirs is False) and directories (if onlyfiles is False) in path

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.apply_patch","title":"apply_patch(patch_file, dest, fn=None, copy=False, level=None, use_git_am=False, use_git=False)","text":"

        Apply a patch to source code in directory dest - assume unified diff created with \"diff -ru old new\"

        Raises EasyBuildError on any error and returns True on success

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.apply_regex_substitutions","title":"apply_regex_substitutions(paths, regex_subs, backup='.orig.eb', on_missing_match=None)","text":"

        Apply specified list of regex substitutions.

        PARAMETER DESCRIPTION paths

        list of paths to files to patch (or just a single filepath)

        regex_subs

        list of substitutions to apply, specified as (, )

        backup

        create backup of original file with specified suffix (no backup if value evaluates to False)

        DEFAULT: '.orig.eb'

        on_missing_match

        Define what to do when no match was found in the file. Can be 'error' to raise an error, 'warn' to print a warning or 'ignore' to do nothing Defaults to the value of --strict

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.back_up_file","title":"back_up_file(src_file, backup_extension='bak', hidden=False, strip_fn=None)","text":"

        Backs up a file appending a backup extension and timestamp to it (if there is already an existing backup).

        PARAMETER DESCRIPTION src_file

        file to be back up

        backup_extension

        extension to use for the backup file (can be empty or None)

        DEFAULT: 'bak'

        hidden

        make backup hidden (leading dot in filename)

        DEFAULT: False

        strip_fn

        strip specified trailing substring from filename of backup

        DEFAULT: None

        RETURNS DESCRIPTION

        location of backed up file

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.calc_block_checksum","title":"calc_block_checksum(path, algorithm)","text":"

        Calculate a checksum of a file by reading it into blocks

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.change_dir","title":"change_dir(path)","text":"

        Change to directory at specified location.

        PARAMETER DESCRIPTION path

        location to change to

        RETURNS DESCRIPTION

        previous location we were in

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.check_lock","title":"check_lock(lock_name)","text":"

        Check whether a lock with specified name already exists.

        If it exists, either wait until it's released, or raise an error (depending on --wait-on-lock configuration option).

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.clean_up_locks","title":"clean_up_locks()","text":"

        Clean up all still existing locks that were created in this session.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.clean_up_locks_signal_handler","title":"clean_up_locks_signal_handler(signum, frame)","text":"

        Signal handler, cleans up locks & exits with received signal number.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.cleanup","title":"cleanup(logfile, tempdir, testing, silent=False)","text":"

        Cleanup the specified log file and the tmp directory, if desired.

        PARAMETER DESCRIPTION logfile

        path to log file to clean up

        tempdir

        path to temporary directory to clean up

        testing

        are we in testing mode? if so, don't actually clean up anything

        silent

        be silent (don't print anything to stdout)

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.compute_checksum","title":"compute_checksum(path, checksum_type=DEFAULT_CHECKSUM)","text":"

        Compute checksum of specified file.

        PARAMETER DESCRIPTION path

        Path of file to compute checksum for

        checksum_type

        type(s) of checksum ('adler32', 'crc32', 'md5' (default), 'sha1', 'sha256', 'sha512', 'size')

        DEFAULT: DEFAULT_CHECKSUM

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.convert_name","title":"convert_name(name, upper=False)","text":"

        Converts name so it can be used as variable name

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy","title":"copy(paths, target_path, force_in_dry_run=False, **kwargs)","text":"

        Copy single file/directory or list of files and directories to specified location

        PARAMETER DESCRIPTION paths

        path(s) to copy

        target_path

        target location

        force_in_dry_run

        force running the command during dry run

        DEFAULT: False

        kwargs

        additional named arguments to pass down to copy_dir

        DEFAULT: {}

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_dir","title":"copy_dir(path, target_path, force_in_dry_run=False, dirs_exist_ok=False, check_for_recursive_symlinks=True, **kwargs)","text":"

        Copy a directory from specified location to specified location

        PARAMETER DESCRIPTION path

        the original directory path

        target_path

        path to copy the directory to

        force_in_dry_run

        force running the command during dry run

        DEFAULT: False

        dirs_exist_ok

        boolean indicating whether it's OK if the target directory already exists

        DEFAULT: False

        check_for_recursive_symlinks

        If symlink arg is not given or False check for recursive symlinks first shutil.copytree is used if the target path does not exist yet; if the target path already exists, the 'copy' function will be used to copy the contents of the source path to the target path Additional specified named arguments are passed down to shutil.copytree/copy if used.

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_easyblocks","title":"copy_easyblocks(paths, target_dir)","text":"

        Find right location for easyblock file and copy it there

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_file","title":"copy_file(path, target_path, force_in_dry_run=False)","text":"

        Copy a file from specified location to specified location

        PARAMETER DESCRIPTION path

        the original filepath

        target_path

        path to copy the file to

        force_in_dry_run

        force copying of file during dry run

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_files","title":"copy_files(paths, target_path, force_in_dry_run=False, target_single_file=False, allow_empty=True, verbose=False)","text":"

        Copy list of files to specified target path. Target directory is created if it doesn't exist yet.

        PARAMETER DESCRIPTION paths

        list of filepaths to copy

        target_path

        path to copy files to

        force_in_dry_run

        force copying of files during dry run

        DEFAULT: False

        target_single_file

        if there's only a single file to copy, copy to a file at target path (not a directory)

        DEFAULT: False

        allow_empty

        allow empty list of paths to copy as input (if False: raise error on empty input list)

        DEFAULT: True

        verbose

        print a message to report copying of files

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_framework_files","title":"copy_framework_files(paths, target_dir)","text":"

        Find right location for framework file and copy it there

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copytree","title":"copytree(src, dst, symlinks=False, ignore=None)","text":"

        DEPRECATED and removed. Use copy_dir

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.create_index","title":"create_index(path, ignore_dirs=None)","text":"

        Create index for files in specified path.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.create_lock","title":"create_lock(lock_name)","text":"

        Create lock with specified name.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.create_patch_info","title":"create_patch_info(patch_spec)","text":"

        Create info dictionary from specified patch spec.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.create_unused_dir","title":"create_unused_dir(parent_folder, name)","text":"

        Create a new folder in parent_folder using name as the name. When a folder of that name already exists, '_0' is appended which is retried for increasing numbers until an unused name was found

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.decode_class_name","title":"decode_class_name(name)","text":"

        Return decoded version of class name.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.decode_string","title":"decode_string(name)","text":"

        Decoding function to revert result of encode_string.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.derive_alt_pypi_url","title":"derive_alt_pypi_url(url)","text":"

        Derive alternate PyPI URL for given URL.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_common_path_prefix","title":"det_common_path_prefix(paths)","text":"

        Determine common path prefix for a given list of paths.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_file_size","title":"det_file_size(http_header)","text":"

        Determine size of file from provided HTTP header info (without downloading it).

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_lock_path","title":"det_lock_path(lock_name)","text":"

        Determine full path for lock with specifed name.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_patched_files","title":"det_patched_files(path=None, txt=None, omit_ab_prefix=False, github=False, filter_deleted=False)","text":"

        Determine list of patched files from a patch. It searches for \"+++ path/to/patched/file\" lines to determine the patched files. Note: does not correctly handle filepaths with spaces.

        PARAMETER DESCRIPTION path

        the path to the diff

        DEFAULT: None

        txt

        the contents of the diff (either path or txt should be give)

        DEFAULT: None

        omit_ab_prefix

        ignore the a/ or b/ prefix of the files

        DEFAULT: False

        github

        only consider lines that start with 'diff --git' to determine list of patched files

        DEFAULT: False

        filter_deleted

        filter out all files that were deleted by the patch

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_size","title":"det_size(path)","text":"

        Determine total size of given filepath (in bytes).

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.diff_files","title":"diff_files(path1, path2)","text":"

        Return unified diff between two files

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.dir_contains_files","title":"dir_contains_files(path, recursive=True)","text":"

        Return True if the given directory does contain any file

        :recursive If False only the path itself is considered, else all subdirectories are also searched

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.download_file","title":"download_file(filename, url, path, forced=False)","text":"

        Download a file from the given URL, to the specified path.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.dump_index","title":"dump_index(path, max_age_sec=None)","text":"

        Create index for files in specified path, and dump it to file (alphabetically sorted).

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.encode_class_name","title":"encode_class_name(name)","text":"

        return encoded version of class name

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.encode_string","title":"encode_string(name)","text":"

        This encoding function handles funky software names ad infinitum, like: example: '0_foo+0x0x#-$__' becomes: '0_underscore_foo_plus_0x0x_hash__minus__dollar__underscore__underscore_' The intention is to have a robust escaping mechanism for names like c++, C# et al

        It has been inspired by the concepts seen at, but in lowercase style: * http://fossies.org/dox/netcdf-4.2.1.1/escapes_8c_source.html * http://celldesigner.org/help/CDH_Species_01.html * http://research.cs.berkeley.edu/project/sbp/darcsrepo-no-longer-updated/src/edu/berkeley/sbp/misc/ReflectiveWalker.java # noqa and can be extended freely as per ISO/IEC 10646:2012 / Unicode 6.1 names: * http://www.unicode.org/versions/Unicode6.1.0/ For readability of >2 words, it is suggested to use CamelCase style. So, yes, 'GreekSmallLetterEtaWithPsiliAndOxia' could indeed be a fully valid software name; software \"electron\" in the original spelling anyone? ;-)

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.expand_glob_paths","title":"expand_glob_paths(glob_paths)","text":"

        Expand specified glob paths to a list of unique non-glob paths to only files.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.extract_cmd","title":"extract_cmd(filepath, overwrite=False)","text":"

        Determines the file type of file at filepath, returns extract cmd based on file suffix

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.extract_file","title":"extract_file(fn, dest, cmd=None, extra_options=None, overwrite=False, forced=False, change_into_dir=None)","text":"

        Extract file at given path to specified directory

        PARAMETER DESCRIPTION fn

        path to file to extract

        dest

        location to extract to

        cmd

        extract command to use (derived from filename if not specified)

        DEFAULT: None

        extra_options

        extra options to pass to extract command

        DEFAULT: None

        overwrite

        overwrite existing unpacked file

        DEFAULT: False

        forced

        force extraction in (extended) dry run mode

        DEFAULT: False

        change_into_dir

        change into resulting directory; None (current default) implies True, but this is deprecated, this named argument should be set to False or True explicitely (in a future major release, default will be changed to False)

        DEFAULT: None

        RETURNS DESCRIPTION

        path to directory (in case of success)

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_backup_name_candidate","title":"find_backup_name_candidate(src_file)","text":"

        Returns a non-existing file to be used as destination for backup files

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_base_dir","title":"find_base_dir()","text":"

        Try to locate a possible new base directory - this is typically a single subdir, e.g. from untarring a tarball - when extracting multiple tarballs in the same directory, expect only the first one to give the correct path

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_easyconfigs","title":"find_easyconfigs(path, ignore_dirs=None)","text":"

        Find .eb easyconfig files in path

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_eb_script","title":"find_eb_script(script_name)","text":"

        Find EasyBuild script with given name (in easybuild/scripts subdirectory).

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_extension","title":"find_extension(filename)","text":"

        Find best match for filename extension.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_flexlm_license","title":"find_flexlm_license(custom_env_vars=None, lic_specs=None)","text":"

        Find FlexLM license.

        Considered specified list of environment variables; checks for path to existing license file or valid license server specification; duplicate paths are not retained in the returned list of license specs.

        If no license is found through environment variables, also consider 'lic_specs'.

        PARAMETER DESCRIPTION custom_env_vars

        list of environment variables to considered (if None, only consider $LM_LICENSE_FILE)

        DEFAULT: None

        lic_specs

        list of license specifications

        DEFAULT: None

        RETURNS DESCRIPTION

        tuple with list of valid license specs found and name of first valid environment variable

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_glob_pattern","title":"find_glob_pattern(glob_pattern, fail_on_no_match=True)","text":"

        Find unique file/dir matching glob_pattern (raises error if more than one match is found)

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.get_easyblock_class_name","title":"get_easyblock_class_name(path)","text":"

        Make sure file is an easyblock and get easyblock class name

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.get_source_tarball_from_git","title":"get_source_tarball_from_git(filename, targetdir, git_config)","text":"

        Downloads a git repository, at a specific tag or commit, recursively or not, and make an archive with it

        PARAMETER DESCRIPTION filename

        name of the archive to save the code to (must be .tar.gz)

        targetdir

        target directory where to save the archive to

        git_config

        dictionary containing url, repo_name, recursive, and one of tag or commit

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.guess_patch_level","title":"guess_patch_level(patched_files, parent_dir)","text":"

        Guess patch level based on list of patched files and specified directory.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.has_recursive_symlinks","title":"has_recursive_symlinks(path)","text":"

        Check the given directory for recursive symlinks.

        That means symlinks to folders inside the path which would cause infinite loops when traversed regularily.

        PARAMETER DESCRIPTION path

        Path to directory to check

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.install_fake_vsc","title":"install_fake_vsc()","text":"

        Put fake 'vsc' Python package in place, to catch easyblocks/scripts that still import from vsc.* namespace (vsc-base & vsc-install were ingested into the EasyBuild framework for EasyBuild 4.0, see https://github.com/easybuilders/easybuild-framework/pull/2708)

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_alt_pypi_url","title":"is_alt_pypi_url(url)","text":"

        Determine whether specified URL is already an alternate PyPI URL, i.e. whether it contains a hash.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_binary","title":"is_binary(contents)","text":"

        Check whether given bytestring represents the contents of a binary file or not.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_generic_easyblock","title":"is_generic_easyblock(easyblock)","text":"

        Return whether specified easyblock name is a generic easyblock or not.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_patch_file","title":"is_patch_file(path)","text":"

        Determine whether file at specified path is a patch file (based on +++ and --- lines being present).

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_readable","title":"is_readable(path)","text":"

        Return whether file at specified location exists and is readable.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_sha256_checksum","title":"is_sha256_checksum(value)","text":"

        Check whether provided string is a SHA256 checksum.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.load_index","title":"load_index(path, ignore_dirs=None)","text":"

        Load index for specified path, and return contents (or None if no index exists).

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.locate_files","title":"locate_files(files, paths, ignore_subdirs=None)","text":"

        Determine full path for list of files, in given list of paths (directories).

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.mkdir","title":"mkdir(path, parents=False, set_gid=None, sticky=None)","text":"

        Create a directory Directory is the path to create

        PARAMETER DESCRIPTION parents

        create parent directories if needed (mkdir -p)

        DEFAULT: False

        set_gid

        set group ID bit, to make subdirectories and files inherit group

        DEFAULT: None

        sticky

        set the sticky bit on this directory (a.k.a. the restricted deletion flag), to avoid users can removing/renaming files in this directory

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.modify_env","title":"modify_env(old, new)","text":"

        NO LONGER SUPPORTED: use modify_env from easybuild.tools.environment instead

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.move_file","title":"move_file(path, target_path, force_in_dry_run=False)","text":"

        Move a file from path to target_path

        PARAMETER DESCRIPTION path

        the original filepath

        target_path

        path to move the file to

        force_in_dry_run

        force running the command during dry run

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.move_logs","title":"move_logs(src_logfile, target_logfile)","text":"

        Move log file(s).

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.normalize_path","title":"normalize_path(path)","text":"

        Normalize path removing empty and dot components.

        Similar to os.path.normpath but does not resolve '..' which may return a wrong path when symlinks are used

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.open_file","title":"open_file(path, mode)","text":"

        Open a (usually) text file. If mode is not binary, then utf-8 encoding will be used for Python 3.x

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.parse_http_header_fields_urlpat","title":"parse_http_header_fields_urlpat(arg, urlpat=None, header=None, urlpat_headers_collection=None, maxdepth=3)","text":"

        Recurse into multi-line string \"URLPAT::FILE|FIELD\" where FILE may be another such string or file containing lines matching the same format, such as \"^https://www.example.com::/path/to/headers.txt\", and flatten the result to dict e.g. {'^https://www.example.com': ['Authorization: Basic token', 'User-Agent: Special Agent']}

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.parse_log_for_error","title":"parse_log_for_error(txt, regExp=None, stdout=True, msg=None)","text":"

        NO LONGER SUPPORTED: use parse_log_for_error from easybuild.tools.run instead

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.path_matches","title":"path_matches(path, paths)","text":"

        Check whether given path matches any of the provided paths.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.pypi_source_urls","title":"pypi_source_urls(pkg_name)","text":"

        Fetch list of source URLs (incl. source filename) for specified Python package from PyPI, using 'simple' PyPI API.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.read_file","title":"read_file(path, log_error=True, mode='r')","text":"

        Read contents of file at given path, in a robust way.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.register_lock_cleanup_signal_handlers","title":"register_lock_cleanup_signal_handlers()","text":"

        Register signal handler for signals that cancel the current EasyBuild session, so we can clean up the locks that were created first.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.remove","title":"remove(paths)","text":"

        Remove single file/directory or list of files and directories

        PARAMETER DESCRIPTION paths

        path(s) to remove

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.remove_dir","title":"remove_dir(path)","text":"

        Remove directory at specified path.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.remove_file","title":"remove_file(path)","text":"

        Remove file at specified path.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.remove_lock","title":"remove_lock(lock_name)","text":"

        Remove lock with specified name.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.resolve_path","title":"resolve_path(path)","text":"

        Return fully resolved path for given path.

        PARAMETER DESCRIPTION path

        path that (maybe) contains symlinks

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.rmtree2","title":"rmtree2(path, n=3)","text":"

        Wrapper around shutil.rmtree to make it more robust when used on NFS mounted file systems.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.run_cmd","title":"run_cmd(cmd, log_ok=True, log_all=False, simple=False, inp=None, regexp=True, log_output=False, path=None)","text":"

        NO LONGER SUPPORTED: use run_cmd from easybuild.tools.run instead

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.run_cmd_qa","title":"run_cmd_qa(cmd, qa, no_qa=None, log_ok=True, log_all=False, simple=False, regexp=True, std_qa=None, path=None)","text":"

        NO LONGER SUPPORTED: use run_cmd_qa from easybuild.tools.run instead

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.search_file","title":"search_file(paths, query, short=False, ignore_dirs=None, silent=False, filename_only=False, terse=False, case_sensitive=False)","text":"

        Search for files using in specified paths using specified search query (regular expression)

        PARAMETER DESCRIPTION paths

        list of paths to search in

        query

        search query to use (regular expression); will be used case-insensitive

        short

        figure out common prefix of hits, use variable to factor it out

        DEFAULT: False

        ignore_dirs

        list of directories to ignore (default: ['.git', '.svn'])

        DEFAULT: None

        silent

        whether or not to remain silent (don't print anything)

        DEFAULT: False

        filename_only

        only return filenames, not file paths

        DEFAULT: False

        terse

        stick to terse (machine-readable) output, as opposed to pretty-printing

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.set_gid_sticky_bits","title":"set_gid_sticky_bits(path, set_gid=None, sticky=None, recursive=False)","text":"

        Set GID/sticky bits on specified path.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.symlink","title":"symlink(source_path, symlink_path, use_abspath_source=True)","text":"

        Create a symlink at the specified path to the given path.

        PARAMETER DESCRIPTION source_path

        source file path

        symlink_path

        symlink file path

        use_abspath_source

        resolves the absolute path of source_path

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.verify_checksum","title":"verify_checksum(path, checksums)","text":"

        Verify checksum of specified file.

        PARAMETER DESCRIPTION path

        path of file to verify checksum of

        checksums

        checksum values (and type, optionally, default is MD5), e.g., 'af314', ('sha', '5ec1b')

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.weld_paths","title":"weld_paths(path1, path2)","text":"

        Weld two paths together, taking into account overlap between tail of 1st path with head of 2nd path.

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.which","title":"which(cmd, retain_all=False, check_perms=True, log_ok=True, log_error=None, on_error=None)","text":"

        Return (first) path in $PATH for specified command, or None if command is not found

        PARAMETER DESCRIPTION retain_all

        returns all locations to the specified command in $PATH, not just the first one

        DEFAULT: False

        check_perms

        check whether candidate path has read/exec permissions before accepting it as a match

        DEFAULT: True

        log_ok

        Log an info message where the command has been found (if any)

        DEFAULT: True

        on_error

        What to do if the command was not found, default: WARN. Possible values: IGNORE, WARN, ERROR

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.write_file","title":"write_file(path, data, append=False, forced=False, backup=False, always_overwrite=True, verbose=False, show_progress=False, size=None)","text":"

        Write given contents to file at given path; overwrites current file contents without backup by default!

        PARAMETER DESCRIPTION path

        location of file

        data

        contents to write to file. Can be a file-like object of binary data

        append

        append to existing file rather than overwrite

        DEFAULT: False

        forced

        force actually writing file in (extended) dry run mode

        DEFAULT: False

        backup

        back up existing file before overwriting or modifying it

        DEFAULT: False

        always_overwrite

        don't require --force to overwrite an existing file

        DEFAULT: True

        verbose

        be verbose, i.e. inform where backup file was created

        DEFAULT: False

        show_progress

        show progress bar while writing file

        DEFAULT: False

        size

        size (in bytes) of data to write (used for progress bar)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/github/","title":"github","text":"

        Utility module for working with github

        Authors:

        • Jens Timmerman (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Toon Willems (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.GithubError","title":"GithubError","text":"

        Bases: Exception

        Error raised by the Githubfs

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs","title":"Githubfs","text":"

        Bases: object

        This class implements some higher level functionality on top of the Github api

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.__init__","title":"__init__(githubuser, reponame, branchname=None, username=None, password=None, token=None)","text":"

        Construct a new githubfs object

        PARAMETER DESCRIPTION githubuser

        the github user's repo we want to use.

        reponame

        The name of the repository we want to use.

        branchname

        Then name of the branch to use (defaults to 'main' for easybuilders org, 'master' otherwise)

        DEFAULT: None

        username

        (optional) your github username.

        DEFAULT: None

        password

        (optional) your github password.

        DEFAULT: None

        token

        (optional) a github api token.

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.get_path","title":"get_path(path)","text":"

        returns the path as a Github object (from agithub)

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.get_repo","title":"get_repo()","text":"

        Returns the repo as a Github object (from agithub)

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.isdir","title":"isdir(githubobj) staticmethod","text":"

        Check if this path points to a directory

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.isfile","title":"isfile(githubobj) staticmethod","text":"

        Check if this path points to a file

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.join","title":"join(*args) staticmethod","text":"

        This method joins 'paths' inside a github repository

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.listdir","title":"listdir(path)","text":"

        List the contents of a directory

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.read","title":"read(path, api=True)","text":"

        Read the contents of a file and return it Or, if api=False it will download the file and return the location of the downloaded file

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.walk","title":"walk(top=None, topdown=True)","text":"

        Walk the github repo in an os.walk like fashion.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.add_pr_labels","title":"add_pr_labels(pr, branch=GITHUB_DEVELOP_BRANCH)","text":"

        Try to determine and add labels to PR.

        PARAMETER DESCRIPTION pr

        pull request number in easybuild-easyconfigs repo

        branch

        easybuild-easyconfigs branch to compare with

        DEFAULT: GITHUB_DEVELOP_BRANCH

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.check_github","title":"check_github()","text":"

        Check status of GitHub integration, and report back. * check whether GitHub username is available * check whether a GitHub token is available, and whether it works * check whether git and GitPython are available * check whether push access to own GitHub repositories works * check whether creating gists works * check whether location to local working directories for Git repositories is available (not strictly needed)

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.check_online_status","title":"check_online_status()","text":"

        Check whether we currently are online Return True if online, else a list of error messages

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.check_pr_eligible_to_merge","title":"check_pr_eligible_to_merge(pr_data)","text":"

        Check whether PR is eligible for merging.

        PARAMETER DESCRIPTION pr_data

        PR data obtained through GitHub API

        RETURNS DESCRIPTION

        boolean value indicates whether PR is eligible

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.close_pr","title":"close_pr(pr, motivation_msg=None)","text":"

        Close specified pull request

        PARAMETER DESCRIPTION pr

        PR number

        motivation_msg

        string containing motivation for closing the PR

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.create_gist","title":"create_gist(txt, fn, descr=None, github_user=None, github_token=None)","text":"

        Create a gist with the provided text.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.create_remote","title":"create_remote(git_repo, account, repo, https=False)","text":"

        Create remote in specified git working directory for specified account & repository.

        PARAMETER DESCRIPTION git_repo

        git.Repo instance to use (after init_repo & setup_repo)

        account

        GitHub account name

        repo

        repository name

        https

        use https:// URL rather than git@

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.delete_gist","title":"delete_gist(gist_id, github_user=None, github_token=None)","text":"

        Delete gist with specified ID.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_account_branch_for_pr","title":"det_account_branch_for_pr(pr_id, github_user=None, pr_target_repo=None)","text":"

        Determine account & branch corresponding to pull request with specified id.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_commit_status","title":"det_commit_status(account, repo, commit_sha, github_user)","text":"

        Determine status of specified commit (pending, error, failure, success)

        We combine two different things here:

        • the combined commit status (Travis CI sets a commit status)
        • results of check suites (set by CI run in GitHub Actions)
        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_patch_specs","title":"det_patch_specs(patch_paths, file_info, ec_dirs)","text":"

        Determine software names for patch files

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_pr_labels","title":"det_pr_labels(file_info, pr_target_repo)","text":"

        Determine labels for a pull request based on provided information on files changed by that pull request.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_pr_target_repo","title":"det_pr_target_repo(paths)","text":"

        Determine target repository for pull request from given cagetorized list of files

        PARAMETER DESCRIPTION paths

        paths to categorized lists of files (easyconfigs, files to delete, patches, .py files)

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_pr_title","title":"det_pr_title(ecs)","text":"

        Create title for PR based on first easyconfigs

        PARAMETER DESCRIPTION ecs

        list of parsed easyconfigs

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.download_repo","title":"download_repo(repo=GITHUB_EASYCONFIGS_REPO, branch=None, account=GITHUB_EB_MAIN, path=None, github_user=None)","text":"

        Download entire GitHub repo as a tar.gz archive, and extract it into specified path.

        PARAMETER DESCRIPTION repo

        repo to download

        DEFAULT: GITHUB_EASYCONFIGS_REPO

        branch

        branch to download

        DEFAULT: None

        account

        GitHub account to download repo from

        DEFAULT: GITHUB_EB_MAIN

        path

        path to extract to

        DEFAULT: None

        github_user

        name of GitHub user to use

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_easyblocks_from_pr","title":"fetch_easyblocks_from_pr(pr, path=None, github_user=None)","text":"

        Fetch patched easyconfig files for a particular PR.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_easyconfigs_from_pr","title":"fetch_easyconfigs_from_pr(pr, path=None, github_user=None)","text":"

        Fetch patched easyconfig files for a particular PR.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_files_from_pr","title":"fetch_files_from_pr(pr, path=None, github_user=None, github_account=None, github_repo=None)","text":"

        Fetch patched files for a particular PR.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_github_token","title":"fetch_github_token(user)","text":"

        Fetch GitHub token for specified user from keyring.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_latest_commit_sha","title":"fetch_latest_commit_sha(repo, account, branch=None, github_user=None, token=None)","text":"

        Fetch latest SHA1 for a specified repository and branch.

        PARAMETER DESCRIPTION repo

        GitHub repository

        account

        GitHub account

        branch

        branch to fetch latest SHA1 for

        DEFAULT: None

        github_user

        name of GitHub user to use

        DEFAULT: None

        token

        GitHub token to use

        DEFAULT: None

        RETURNS DESCRIPTION

        latest SHA1

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_pr_data","title":"fetch_pr_data(pr, pr_target_account, pr_target_repo, github_user, full=False, **parameters)","text":"

        Fetch PR data from GitHub

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.find_easybuild_easyconfig","title":"find_easybuild_easyconfig(github_user=None)","text":"

        Fetches the latest EasyBuild version eb file from GitHub

        PARAMETER DESCRIPTION github_user

        name of GitHub user to use when querying GitHub

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.find_software_name_for_patch","title":"find_software_name_for_patch(patch_name, ec_dirs)","text":"

        Scan all easyconfigs in the robot path(s) to determine which software a patch file belongs to

        PARAMETER DESCRIPTION patch_name

        name of the patch file

        ec_dirs

        list of directories to consider when looking for easyconfigs

        RETURNS DESCRIPTION

        name of the software that this patch file belongs to (if found)

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.github_api_get_request","title":"github_api_get_request(request_f, github_user=None, token=None, **kwargs)","text":"

        Helper method, for performing get requests to GitHub API.

        PARAMETER DESCRIPTION request_f

        function that should be called to compose request, providing a RestClient instance

        github_user

        GitHub user name (to try and obtain matching GitHub token if none is provided)

        DEFAULT: None

        token

        GitHub token to use

        DEFAULT: None

        RETURNS DESCRIPTION

        tuple with return status and data

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.github_api_put_request","title":"github_api_put_request(request_f, github_user=None, token=None, **kwargs)","text":"

        Helper method, for performing put requests to GitHub API.

        PARAMETER DESCRIPTION request_f

        function that should be called to compose request, providing a RestClient instance

        github_user

        GitHub user name (to try and obtain matching GitHub token if none is provided)

        DEFAULT: None

        token

        GitHub token to use

        DEFAULT: None

        RETURNS DESCRIPTION

        tuple with return status and data

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.init_repo","title":"init_repo(path, repo_name, silent=False)","text":"

        Initialize a new Git repository at the specified location.

        PARAMETER DESCRIPTION path

        location where Git repository should be initialized

        repo_name

        name of Git repository

        silent

        keep quiet (don't print any messages)

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.install_github_token","title":"install_github_token(github_user, silent=False)","text":"

        Install specified GitHub token for specified user.

        PARAMETER DESCRIPTION github_user

        GitHub user to install token for

        silent

        keep quiet (don't print any messages)

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.is_patch_for","title":"is_patch_for(patch_name, ec)","text":"

        Check whether specified patch matches any patch in the provided EasyConfig instance.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.list_prs","title":"list_prs(params, per_page=GITHUB_MAX_PER_PAGE, github_user=None)","text":"

        List pull requests according to specified selection/order parameters

        PARAMETER DESCRIPTION params

        3-tuple with selection parameters for PRs (, , ), see https://developer.github.com/v3/pulls/#parameters

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.merge_pr","title":"merge_pr(pr)","text":"

        Merge specified pull request

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.new_branch_github","title":"new_branch_github(paths, ecs, commit_msg=None)","text":"

        Create new branch on GitHub using specified files

        PARAMETER DESCRIPTION paths

        paths to categorized lists of files (easyconfigs, files to delete, patches, files with .py extension)

        ecs

        list of parsed easyconfigs, incl. for dependencies (if robot is enabled)

        commit_msg

        commit message to use

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.new_pr","title":"new_pr(paths, ecs, title=None, descr=None, commit_msg=None)","text":"

        Open new pull request using specified files

        PARAMETER DESCRIPTION paths

        paths to categorized lists of files (easyconfigs, files to delete, patches)

        ecs

        list of parsed easyconfigs, incl. for dependencies (if robot is enabled)

        title

        title to use for pull request

        DEFAULT: None

        descr

        description to use for description

        DEFAULT: None

        commit_msg

        commit message to use

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.new_pr_from_branch","title":"new_pr_from_branch(branch_name, title=None, descr=None, pr_target_repo=None, pr_metadata=None, commit_msg=None)","text":"

        Create new pull request from specified branch on GitHub.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.pick_default_branch","title":"pick_default_branch(github_owner)","text":"

        Determine default name to use.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.post_comment_in_issue","title":"post_comment_in_issue(issue, txt, account=GITHUB_EB_MAIN, repo=GITHUB_EASYCONFIGS_REPO, github_user=None)","text":"

        Post a comment in the specified PR.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.post_pr_labels","title":"post_pr_labels(pr, labels)","text":"

        Update PR labels

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.pr_files_cache","title":"pr_files_cache(func)","text":"

        Decorator to cache result of fetch_files_from_pr.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.push_branch_to_github","title":"push_branch_to_github(git_repo, target_account, target_repo, branch)","text":"

        Push specified branch to GitHub from specified git repository.

        PARAMETER DESCRIPTION git_repo

        git.Repo instance to use (after init_repo & setup_repo)

        target_account

        GitHub account name

        target_repo

        repository name

        branch

        name of branch to push

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.reasons_for_closing","title":"reasons_for_closing(pr_data)","text":"

        Look for valid reasons to close PR by comparing with existing easyconfigs.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.setup_repo","title":"setup_repo(git_repo, target_account, target_repo, branch_name, silent=False, git_only=False)","text":"

        Set up repository by checking out specified branch for specfied GitHub account/repository.

        PARAMETER DESCRIPTION git_repo

        git.Repo instance

        target_account

        name of GitHub account that owns GitHub repository

        target_repo

        name of GitHib repository

        branch_name

        name of branch to check out

        silent

        keep quiet (don't print any messages)

        DEFAULT: False

        git_only

        only use git@github.com repo URL, skip trying https://github.com first

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.setup_repo_from","title":"setup_repo_from(git_repo, github_url, target_account, branch_name, silent=False)","text":"

        Set up repository by checking out specified branch from repository at specified URL.

        PARAMETER DESCRIPTION git_repo

        git.Repo instance

        github_url

        URL to GitHub repository

        target_account

        name of GitHub account that owns GitHub repository at specified URL

        branch_name

        name of branch to check out

        silent

        keep quiet (don't print any messages)

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.sync_branch_with_develop","title":"sync_branch_with_develop(branch_name)","text":"

        Sync branch with specified name with current develop branch.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.sync_pr_with_develop","title":"sync_pr_with_develop(pr_id)","text":"

        Sync pull request with specified ID with current develop branch.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.sync_with_develop","title":"sync_with_develop(git_repo, branch_name, github_account, github_repo)","text":"

        Sync specified branch with develop branch.

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.update_branch","title":"update_branch(branch_name, paths, ecs, github_account=None, commit_msg=None)","text":"

        Update specified branch in GitHub using specified files

        PARAMETER DESCRIPTION paths

        paths to categorized lists of files (easyconfigs, files to delete, patches)

        github_account

        GitHub account where branch is located

        DEFAULT: None

        ecs

        list of parsed easyconfigs, incl. for dependencies (if robot is enabled)

        commit_msg

        commit message to use

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.update_pr","title":"update_pr(pr_id, paths, ecs, commit_msg=None)","text":"

        Update specified pull request using specified files

        PARAMETER DESCRIPTION pr_id

        ID of pull request to update

        paths

        paths to categorized lists of files (easyconfigs, files to delete, patches)

        ecs

        list of parsed easyconfigs, incl. for dependencies (if robot is enabled)

        commit_msg

        commit message to use

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.validate_github_token","title":"validate_github_token(token, github_user)","text":"

        Check GitHub token: * see if it conforms expectations (only [a-f]+[0-9] characters, length of 40) * see if it can be used for authenticated access

        ","boost":0.5},{"location":"api/easybuild/tools/hooks/","title":"hooks","text":"

        Hook support.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/hooks/#easybuild.tools.hooks.find_hook","title":"find_hook(label, hooks, pre_step_hook=False, post_step_hook=False)","text":"

        Find hook with specified label.

        PARAMETER DESCRIPTION label

        name of hook

        hooks

        dict of defined hooks

        pre_step_hook

        indicates whether hook to run is a pre-step hook

        DEFAULT: False

        post_step_hook

        indicates whether hook to run is a post-step hook

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/hooks/#easybuild.tools.hooks.load_hooks","title":"load_hooks(hooks_path)","text":"

        Load defined hooks (if any).

        ","boost":0.5},{"location":"api/easybuild/tools/hooks/#easybuild.tools.hooks.run_hook","title":"run_hook(label, hooks, pre_step_hook=False, post_step_hook=False, args=None, msg=None)","text":"

        Run hook with specified label and return result of calling the hook or None.

        PARAMETER DESCRIPTION label

        name of hook

        hooks

        dict of defined hooks

        pre_step_hook

        indicates whether hook to run is a pre-step hook

        DEFAULT: False

        post_step_hook

        indicates whether hook to run is a post-step hook

        DEFAULT: False

        args

        arguments to pass to hook function

        DEFAULT: None

        msg

        custom message that is printed when hook is called

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/hooks/#easybuild.tools.hooks.verify_hooks","title":"verify_hooks(hooks)","text":"

        Check whether obtained hooks only includes known hooks.

        ","boost":0.5},{"location":"api/easybuild/tools/include/","title":"include","text":"

        Support for including additional Python modules, for easyblocks, module naming schemes and toolchains.

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.create_pkg","title":"create_pkg(path, pkg_init_body=None)","text":"

        Write package init.py file at specified path.

        ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.include_easyblocks","title":"include_easyblocks(tmpdir, paths)","text":"

        Include generic and software-specific easyblocks found in specified locations.

        ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.include_module_naming_schemes","title":"include_module_naming_schemes(tmpdir, paths)","text":"

        Include module naming schemes at specified locations.

        ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.include_toolchains","title":"include_toolchains(tmpdir, paths)","text":"

        Include toolchains and toolchain components at specified locations.

        ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.is_software_specific_easyblock","title":"is_software_specific_easyblock(module)","text":"

        Determine whether Python module at specified location is a software-specific easyblock.

        ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.set_up_eb_package","title":"set_up_eb_package(parent_path, eb_pkg_name, subpkgs=None, pkg_init_body=None)","text":"

        Set up new easybuild subnamespace in specified path.

        PARAMETER DESCRIPTION parent_path

        directory to create package in, using 'easybuild' namespace

        eb_pkg_name

        full package name, must start with 'easybuild'

        subpkgs

        list of subpackages to create @parak pkg_init_body: body of package's init.py file (does not apply to subpackages)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.verify_imports","title":"verify_imports(pymods, pypkg, from_path)","text":"

        Verify that import of specified modules from specified package and expected location works.

        ","boost":0.5},{"location":"api/easybuild/tools/jenkins/","title":"jenkins","text":"

        Set of fucntions to help with jenkins setup

        Authors:

        • Kenneth Hoste (Ghent University)
        ","boost":0.5},{"location":"api/easybuild/tools/jenkins/#easybuild.tools.jenkins.aggregate_xml_in_dirs","title":"aggregate_xml_in_dirs(base_dir, output_filename)","text":"

        Finds all the xml files in the dirs and takes the testcase attribute out of them. These are then put in a single output file.

        ","boost":0.5},{"location":"api/easybuild/tools/jenkins/#easybuild.tools.jenkins.write_to_xml","title":"write_to_xml(succes, failed, filename)","text":"

        Create xml output, using minimal output required according to http://stackoverflow.com/questions/4922867/junit-xml-format-specification-that-hudson-supports

        ","boost":0.5},{"location":"api/easybuild/tools/loose_version/","title":"loose_version","text":"","boost":0.5},{"location":"api/easybuild/tools/loose_version/#easybuild.tools.loose_version.LooseVersion","title":"LooseVersion","text":"

        Bases: object

        Version numbering for anarchists and software realists.

        A version number consists of a series of numbers, separated by either periods or strings of letters. When comparing version numbers, the numeric components will be compared numerically, and the alphabetic components lexically.

        ","boost":0.5},{"location":"api/easybuild/tools/loose_version/#easybuild.tools.loose_version.LooseVersion.version","title":"version property","text":"

        Readonly access to the parsed version (list or None)

        ","boost":0.5},{"location":"api/easybuild/tools/loose_version/#easybuild.tools.loose_version.LooseVersion.vstring","title":"vstring property","text":"

        Readonly access to the unparsed version(-string)

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/","title":"module_generator","text":"

        Generating module files.

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • Fotis Georgatos (Uni.Lu, NTUA)
        • Damian Alvarez (Forschungszentrum Juelich GmbH)
        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator","title":"ModuleGenerator","text":"

        Bases: object

        Class for generating module files.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.__init__","title":"__init__(application, fake=False)","text":"

        ModuleGenerator constructor.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.append_paths","title":"append_paths(key, paths, allow_abs=False, expand_relpaths=True)","text":"

        Generate append-path statements for the given list of paths.

        PARAMETER DESCRIPTION key

        environment variable to append paths to

        paths

        list of paths to append

        allow_abs

        allow providing of absolute paths

        DEFAULT: False

        expand_relpaths

        expand relative paths into absolute paths (by prefixing install dir)

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.check_group","title":"check_group(group, error_msg=None)","text":"

        Generate a check of the software group and the current user, and refuse to load the module if the user don't belong to the group

        PARAMETER DESCRIPTION group

        string with the group name

        error_msg

        error message to print for users outside that group

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.check_version","title":"check_version(minimal_version_maj, minimal_version_min, minimal_version_patch='0')","text":"

        Check the minimal version of the modules tool in the module file

        PARAMETER DESCRIPTION minimal_version_maj

        the major version to check

        minimal_version_min

        the minor version to check

        minimal_version_patch

        the patch version to check

        DEFAULT: '0'

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.comment","title":"comment(msg)","text":"

        Return given string formatted as a comment.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.conditional_statement","title":"conditional_statement(conditions, body, negative=False, else_body=None, indent=True, cond_or=False, cond_tmpl=None)","text":"

        Return formatted conditional statement, with given condition and body.

        PARAMETER DESCRIPTION conditions

        (list of) string(s) containing the statement(s) for the if condition (in correct syntax)

        body

        (multiline) string with if body (in correct syntax, without indentation)

        negative

        boolean indicating whether the (individual) condition(s) should be negated

        DEFAULT: False

        else_body

        optional body for 'else' part

        DEFAULT: None

        indent

        indent if/else body

        DEFAULT: True

        cond_or

        combine multiple conditions using 'or' (default is to combine with 'and')

        DEFAULT: False

        cond_tmpl

        template for condition expression (default: '%s')

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.create_symlinks","title":"create_symlinks(mod_symlink_paths, fake=False)","text":"

        Create moduleclass symlink(s) to actual module file.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.define_env_var","title":"define_env_var(env_var)","text":"

        Determine whether environment variable with specified name should be defined or not.

        PARAMETER DESCRIPTION env_var

        name of environment variable to check

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.det_installdir","title":"det_installdir(modfile)","text":"

        Determine installation directory used by given module file

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.det_user_modpath","title":"det_user_modpath(user_modpath)","text":"

        Determine user-specific modules subdirectory, to be used in 'use' statements (cfr. implementation of use() method).

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.get_description","title":"get_description(conflict=True)","text":"

        Generate a description.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.get_module_filepath","title":"get_module_filepath(fake=False, mod_path_suffix=None)","text":"

        Return path to module file.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.get_modules_path","title":"get_modules_path(fake=False, mod_path_suffix=None)","text":"

        Return path to directory where module files should be generated in.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.getenv_cmd","title":"getenv_cmd(envvar, default=None)","text":"

        Return module-syntax specific code to get value of specific environment variable.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.is_loaded","title":"is_loaded(mod_names)","text":"

        Generate (list of) expression(s) to check whether specified module(s) is (are) loaded.

        PARAMETER DESCRIPTION mod_names

        (list of) module name(s) to check load status for

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.load_module","title":"load_module(mod_name, recursive_unload=False, depends_on=False, unload_modules=None, multi_dep_mods=None)","text":"

        Generate load statement for specified module.

        PARAMETER DESCRIPTION mod_name

        name of module to generate load statement for

        recursive_unload

        boolean indicating whether the 'load' statement should be reverted on unload

        DEFAULT: False

        depends_on

        use depends_on statements rather than (guarded) load statements

        DEFAULT: False

        unload_modules

        name(s) of module to unload first

        DEFAULT: None

        multi_dep_mods

        list of module names in multi_deps context, to use for guarding load statement

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.modulerc","title":"modulerc(module_version=None, filepath=None, modulerc_txt=None)","text":"

        Generate contents of .modulerc file, in Tcl syntax (compatible with all module tools, incl. Lmod). If 'filepath' is specified, the .modulerc file will be written as well.

        PARAMETER DESCRIPTION module_version

        specs for module-version statement (dict with 'modname', 'sym_version' & 'version' keys)

        DEFAULT: None

        filepath

        location where .modulerc file should be written to

        DEFAULT: None

        modulerc_txt

        contents of .modulerc to use

        DEFAULT: None

        RETURNS DESCRIPTION

        contents of .modulerc file

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.msg_on_load","title":"msg_on_load(msg)","text":"

        Add a message that should be printed when loading the module.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.msg_on_unload","title":"msg_on_unload(msg)","text":"

        Add a message that should be printed when unloading the module.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.prepend_paths","title":"prepend_paths(key, paths, allow_abs=False, expand_relpaths=True)","text":"

        Generate prepend-path statements for the given list of paths.

        PARAMETER DESCRIPTION key

        environment variable to append paths to

        paths

        list of paths to append

        allow_abs

        allow providing of absolute paths

        DEFAULT: False

        expand_relpaths

        expand relative paths into absolute paths (by prefixing install dir)

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.set_alias","title":"set_alias(key, value)","text":"

        Generate set-alias statement in modulefile for the given key/value pair.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.set_as_default","title":"set_as_default(module_dir_path, module_version, mod_symlink_paths=None)","text":"

        Set generated module as default module

        PARAMETER DESCRIPTION module_dir_path

        module directory path, e.g. $HOME/easybuild/modules/all/Bison

        module_version

        module version, e.g. 3.0.4

        mod_symlink_paths

        list of paths in which symlinks to module files must be created

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.set_environment","title":"set_environment(key, value, relpath=False)","text":"

        Generate a quoted setenv statement for the given key/value pair.

        PARAMETER DESCRIPTION key

        name of environment variable to define

        value

        value to define environment variable with

        relpath

        value is path relative to installation prefix

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.start_module_creation","title":"start_module_creation()","text":"

        Prepares creating a module and returns the file header (shebang) if any including the newline

        Meant to be used in a with statement: with generator.start_module_creation() as txt: # Write txt

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.swap_module","title":"swap_module(mod_name_out, mod_name_in, guarded=True)","text":"

        Generate swap statement for specified module names.

        PARAMETER DESCRIPTION mod_name_out

        name of module to unload (swap out)

        mod_name_in

        name of module to load (swap in)

        guarded

        guard 'swap' statement, fall back to 'load' if module being swapped out is not loaded

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.unload_module","title":"unload_module(mod_name)","text":"

        Generate unload statement for specified module.

        PARAMETER DESCRIPTION mod_name

        name of module to generate unload statement for

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.unpack_setenv_value","title":"unpack_setenv_value(env_var_name, env_var_val)","text":"

        Unpack value that specifies how to define an environment variable with specified name.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.update_paths","title":"update_paths(key, paths, prepend=True, allow_abs=False, expand_relpaths=True)","text":"

        Generate prepend-path or append-path statements for the given list of paths.

        PARAMETER DESCRIPTION key

        environment variable to prepend/append paths to

        paths

        list of paths to prepend

        prepend

        whether to prepend (True) or append (False) paths

        DEFAULT: True

        allow_abs

        allow providing of absolute paths

        DEFAULT: False

        expand_relpaths

        expand relative paths into absolute paths (by prefixing install dir)

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.use","title":"use(paths, prefix=None, guarded=False, user_modpath=None)","text":"

        Generate module use statements for given list of module paths.

        PARAMETER DESCRIPTION paths

        list of module path extensions to generate use statements for; paths will be quoted

        prefix

        optional path prefix; not quoted, i.e., can be a statement

        DEFAULT: None

        guarded

        use statements will be guarded to only apply if path exists

        DEFAULT: False

        user_modpath

        user-specific modules subdirectory to include in use statements

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua","title":"ModuleGeneratorLua","text":"

        Bases: ModuleGenerator

        Class for generating Lua module files.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.__init__","title":"__init__(*args, **kwargs)","text":"

        ModuleGeneratorLua constructor.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.check_group","title":"check_group(group, error_msg=None)","text":"

        Generate a check of the software group and the current user, and refuse to load the module if the user don't belong to the group

        PARAMETER DESCRIPTION group

        string with the group name

        error_msg

        error message to print for users outside that group

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.check_str","title":"check_str(txt)","text":"

        Check whether provided string has any unwanted substrings in it.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.check_version","title":"check_version(minimal_version_maj, minimal_version_min, minimal_version_patch='0')","text":"

        Check the minimal version of the moduletool in the module file

        PARAMETER DESCRIPTION minimal_version_maj

        the major version to check

        minimal_version_min

        the minor version to check

        minimal_version_patch

        the patch version to check

        DEFAULT: '0'

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.comment","title":"comment(msg)","text":"

        Return string containing given message as a comment.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.conditional_statement","title":"conditional_statement(conditions, body, negative=False, else_body=None, indent=True, cond_or=False, cond_tmpl=None)","text":"

        Return formatted conditional statement, with given condition and body.

        PARAMETER DESCRIPTION conditions

        (list of) string(s) containing the statement(s) for the if condition (in correct syntax)

        body

        (multiline) string with if body (in correct syntax, without indentation)

        negative

        boolean indicating whether the (individual) condition(s) should be negated

        DEFAULT: False

        else_body

        optional body for 'else' part

        DEFAULT: None

        indent

        indent if/else body

        DEFAULT: True

        cond_or

        combine multiple conditions using 'or' (default is to combine with 'and')

        DEFAULT: False

        cond_tmpl

        template for condition expression (default: '%s')

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.det_user_modpath","title":"det_user_modpath(user_modpath)","text":"

        Determine user-specific modules subdirectory, to be used in 'use' statements (cfr. implementations of use() method).

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.get_description","title":"get_description(conflict=True)","text":"

        Generate a description.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.getenv_cmd","title":"getenv_cmd(envvar, default=None)","text":"

        Return module-syntax specific code to get value of specific environment variable.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.load_module","title":"load_module(mod_name, recursive_unload=None, depends_on=False, unload_modules=None, multi_dep_mods=None)","text":"

        Generate load statement for specified module.

        PARAMETER DESCRIPTION mod_name

        name of module to generate load statement for

        recursive_unload

        boolean indicating whether the 'load' statement should be reverted on unload (if None: enable if recursive_mod_unload build option or depends_on is True)

        DEFAULT: None

        depends_on

        use depends_on statements rather than (guarded) load statements

        DEFAULT: False

        unload_modules

        name(s) of module to unload first

        DEFAULT: None

        multi_dep_mods

        list of module names in multi_deps context, to use for guarding load statement

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.modulerc","title":"modulerc(module_version=None, filepath=None, modulerc_txt=None)","text":"

        Generate contents of .modulerc(.lua) file, in Lua syntax (but only if Lmod is recent enough, i.e. >= 7.7.38)

        PARAMETER DESCRIPTION module_version

        specs for module-version statement (dict with 'modname', 'sym_version' & 'version' keys)

        DEFAULT: None

        filepath

        location where .modulerc file should be written to

        DEFAULT: None

        modulerc_txt

        contents of .modulerc to use

        DEFAULT: None

        RETURNS DESCRIPTION

        contents of .modulerc file

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.msg_on_load","title":"msg_on_load(msg)","text":"

        Add a message that should be printed when loading the module.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.msg_on_unload","title":"msg_on_unload(msg)","text":"

        Add a message that should be printed when loading the module.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.set_alias","title":"set_alias(key, value)","text":"

        Generate set-alias statement in modulefile for the given key/value pair.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.set_as_default","title":"set_as_default(module_dir_path, module_version, mod_symlink_paths=None)","text":"

        Create a symlink named 'default' inside the package's module folder in order to set the default module version

        PARAMETER DESCRIPTION module_dir_path

        module directory path, e.g. $HOME/easybuild/modules/all/Bison

        module_version

        module version, e.g. 3.0.4

        mod_symlink_paths

        list of paths in which symlinks to module files must be created

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.set_environment","title":"set_environment(key, value, relpath=False)","text":"

        Generate a quoted setenv statement for the given key/value pair.

        PARAMETER DESCRIPTION key

        name of environment variable to define

        value

        value to define environment variable with

        relpath

        value is path relative to installation prefix

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.swap_module","title":"swap_module(mod_name_out, mod_name_in, guarded=True)","text":"

        Generate swap statement for specified module names.

        PARAMETER DESCRIPTION mod_name_out

        name of module to unload (swap out)

        mod_name_in

        name of module to load (swap in)

        guarded

        guard 'swap' statement, fall back to 'load' if module being swapped out is not loaded

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.unload_module","title":"unload_module(mod_name)","text":"

        Generate unload statement for specified module.

        PARAMETER DESCRIPTION mod_name

        name of module to generate unload statement for

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.update_paths","title":"update_paths(key, paths, prepend=True, allow_abs=False, expand_relpaths=True)","text":"

        Generate prepend_path or append_path statements for the given list of paths

        PARAMETER DESCRIPTION key

        environment variable to prepend/append paths to

        paths

        list of paths to prepend/append

        prepend

        whether to prepend (True) or append (False) paths

        DEFAULT: True

        allow_abs

        allow providing of absolute paths

        DEFAULT: False

        expand_relpaths

        expand relative paths into absolute paths (by prefixing install dir)

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.use","title":"use(paths, prefix=None, guarded=False, user_modpath=None)","text":"

        Generate module use statements for given list of module paths.

        PARAMETER DESCRIPTION paths

        list of module path extensions to generate use statements for; paths will be quoted

        prefix

        optional path prefix; not quoted, i.e., can be a statement

        DEFAULT: None

        guarded

        use statements will be guarded to only apply if path exists

        DEFAULT: False

        user_modpath

        user-specific modules subdirectory to include in use statements

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl","title":"ModuleGeneratorTcl","text":"

        Bases: ModuleGenerator

        Class for generating Tcl module files.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.check_group","title":"check_group(group, error_msg=None)","text":"

        Generate a check of the software group and the current user, and refuse to load the module if the user don't belong to the group

        PARAMETER DESCRIPTION group

        string with the group name

        error_msg

        error message to print for users outside that group

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.comment","title":"comment(msg)","text":"

        Return string containing given message as a comment.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.conditional_statement","title":"conditional_statement(conditions, body, negative=False, else_body=None, indent=True, cond_or=False, cond_tmpl=None)","text":"

        Return formatted conditional statement, with given condition and body.

        PARAMETER DESCRIPTION conditions

        (list of) string(s) containing the statement(s) for the if condition (in correct syntax)

        body

        (multiline) string with if body (in correct syntax, without indentation)

        negative

        boolean indicating whether the (individual) condition(s) should be negated

        DEFAULT: False

        else_body

        optional body for 'else' part

        DEFAULT: None

        indent

        indent if/else body

        DEFAULT: True

        cond_or

        combine multiple conditions using 'or' (default is to combine with 'and')

        DEFAULT: False

        cond_tmpl

        template for condition expression (default: '%s')

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.det_user_modpath","title":"det_user_modpath(user_modpath)","text":"

        Determine user-specific modules subdirectory, to be used in 'use' statements (cfr. implementation of use() method).

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.get_description","title":"get_description(conflict=True)","text":"

        Generate a description.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.getenv_cmd","title":"getenv_cmd(envvar, default=None)","text":"

        Return module-syntax specific code to get value of specific environment variable.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.load_module","title":"load_module(mod_name, recursive_unload=None, depends_on=False, unload_modules=None, multi_dep_mods=None)","text":"

        Generate load statement for specified module.

        PARAMETER DESCRIPTION mod_name

        name of module to generate load statement for

        recursive_unload

        boolean indicating whether the 'load' statement should be reverted on unload (if None: enable if recursive_mod_unload build option or depends_on is True)

        DEFAULT: None

        depends_on

        use depends_on statements rather than (guarded) load statements

        DEFAULT: False

        unload_modules

        name(s) of module to unload first

        DEFAULT: None

        multi_dep_mods

        list of module names in multi_deps context, to use for guarding load statement

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.msg_on_load","title":"msg_on_load(msg)","text":"

        Add a message that should be printed when loading the module.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.msg_on_unload","title":"msg_on_unload(msg)","text":"

        Add a message that should be printed when unloading the module.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.set_alias","title":"set_alias(key, value)","text":"

        Generate set-alias statement in modulefile for the given key/value pair.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.set_as_default","title":"set_as_default(module_dir_path, module_version, mod_symlink_paths=None)","text":"

        Create a .version file inside the package module folder in order to set the default version for TMod

        PARAMETER DESCRIPTION module_dir_path

        module directory path, e.g. $HOME/easybuild/modules/all/Bison

        module_version

        module version, e.g. 3.0.4

        mod_symlink_paths

        list of paths in which symlinks to module files must be created

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.set_environment","title":"set_environment(key, value, relpath=False)","text":"

        Generate a quoted setenv statement for the given key/value pair.

        PARAMETER DESCRIPTION key

        name of environment variable to define

        value

        value to define environment variable with

        relpath

        value is path relative to installation prefix

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.swap_module","title":"swap_module(mod_name_out, mod_name_in, guarded=True)","text":"

        Generate swap statement for specified module names.

        PARAMETER DESCRIPTION mod_name_out

        name of module to unload (swap out)

        mod_name_in

        name of module to load (swap in)

        guarded

        guard 'swap' statement, fall back to 'load' if module being swapped out is not loaded

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.unload_module","title":"unload_module(mod_name)","text":"

        Generate unload statement for specified module.

        PARAMETER DESCRIPTION mod_name

        name of module to generate unload statement for

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.update_paths","title":"update_paths(key, paths, prepend=True, allow_abs=False, expand_relpaths=True)","text":"

        Generate prepend-path or append-path statements for the given list of paths.

        PARAMETER DESCRIPTION key

        environment variable to prepend/append paths to

        paths

        list of paths to prepend

        prepend

        whether to prepend (True) or append (False) paths

        DEFAULT: True

        allow_abs

        allow providing of absolute paths

        DEFAULT: False

        expand_relpaths

        expand relative paths into absolute paths (by prefixing install dir)

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.use","title":"use(paths, prefix=None, guarded=False, user_modpath=None)","text":"

        Generate module use statements for given list of module paths.

        PARAMETER DESCRIPTION paths

        list of module path extensions to generate use statements for; paths will be quoted

        prefix

        optional path prefix; not quoted, i.e., can be a statement

        DEFAULT: None

        guarded

        use statements will be guarded to only apply if path exists

        DEFAULT: False

        user_modpath

        user-specific modules subdirectory to include in use statements

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.avail_module_generators","title":"avail_module_generators()","text":"

        Return all known module syntaxes.

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.dependencies_for","title":"dependencies_for(mod_name, modtool, depth=None)","text":"

        Obtain a list of dependencies for the given module, determined recursively, up to a specified depth (optionally)

        PARAMETER DESCRIPTION depth

        recursion depth (default is None, which corresponds to infinite recursion depth)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.module_generator","title":"module_generator(app, fake=False)","text":"

        Return ModuleGenerator instance that matches the selected module file syntax to be used

        ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.module_load_regex","title":"module_load_regex(modfilepath)","text":"

        Return the correct (compiled) regex to extract dependencies, depending on the module file type (Lua vs Tcl)

        ","boost":0.5},{"location":"api/easybuild/tools/modules/","title":"modules","text":"

        This python module implements the environment modules functionality: - loading modules - checking for available modules - ...

        Authors:

        • Stijn De Weirdt (Ghent University)
        • Dries Verdegem (Ghent University)
        • Kenneth Hoste (Ghent University)
        • Pieter De Baets (Ghent University)
        • Jens Timmerman (Ghent University)
        • David Brown (Pacific Northwest National Laboratory)
        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModules","title":"EnvironmentModules","text":"

        Bases: EnvironmentModulesTcl

        Interface to environment modules 4.0+

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModules.check_module_output","title":"check_module_output(cmd, stdout, stderr)","text":"

        Check output of 'module' command, see if if is potentially invalid.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesC","title":"EnvironmentModulesC","text":"

        Bases: ModulesTool

        Interface to (C) environment modules (modulecmd).

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesC.get_setenv_value_from_modulefile","title":"get_setenv_value_from_modulefile(mod_name, var_name)","text":"

        Get value for specific 'setenv' statement from module file for the specified module.

        PARAMETER DESCRIPTION mod_name

        module name

        var_name

        name of the variable being set for which value should be returned

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesC.run_module","title":"run_module(*args, **kwargs)","text":"

        Run module command, tweak output that is exec'ed if necessary.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesC.update","title":"update()","text":"

        Update after new modules were added.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl","title":"EnvironmentModulesTcl","text":"

        Bases: EnvironmentModulesC

        Interface to (Tcl) environment modules (modulecmd.tcl).

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl.available","title":"available(mod_name=None)","text":"

        Return a list of available modules for the given (partial) module name; use None to obtain a list of all available modules.

        PARAMETER DESCRIPTION mod_name

        a (partial) module name for filtering (default: None)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl.remove_module_path","title":"remove_module_path(path, set_mod_paths=True)","text":"

        Remove specified module path (using 'module unuse').

        PARAMETER DESCRIPTION path

        path to remove from $MODULEPATH via 'unuse'

        set_mod_paths

        (re)set self.mod_paths

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl.run_module","title":"run_module(*args, **kwargs)","text":"

        Run module command, tweak output that is exec'ed if necessary.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl.set_path_env_var","title":"set_path_env_var(key, paths)","text":"

        Set environment variable with given name to the given list of paths.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod","title":"Lmod","text":"

        Bases: ModulesTool

        Interface to Lmod.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.__init__","title":"__init__(*args, **kwargs)","text":"

        Constructor, set lmod-specific class variable values.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.available","title":"available(mod_name=None)","text":"

        Return a list of available modules for the given (partial) module name; use None to obtain a list of all available modules.

        PARAMETER DESCRIPTION mod_name

        a (partial) module name for filtering (default: None)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.check_module_function","title":"check_module_function(*args, **kwargs)","text":"

        Check whether selected module tool matches 'module' function definition.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.check_module_output","title":"check_module_output(cmd, stdout, stderr)","text":"

        Check output of 'module' command, see if if is potentially invalid.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.compose_cmd_list","title":"compose_cmd_list(args, opts=None)","text":"

        Compose full module command to run, based on provided arguments

        PARAMETER DESCRIPTION args

        list of arguments for module command

        RETURNS DESCRIPTION

        list of strings representing the full module command to run

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.get_setenv_value_from_modulefile","title":"get_setenv_value_from_modulefile(mod_name, var_name)","text":"

        Get value for specific 'setenv' statement from module file for the specified module.

        PARAMETER DESCRIPTION mod_name

        module name

        var_name

        name of the variable being set for which value should be returned

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.module_wrapper_exists","title":"module_wrapper_exists(mod_name)","text":"

        Determine whether a module wrapper with specified name exists. First check for wrapper defined in .modulerc.lua, fall back to also checking .modulerc (Tcl syntax).

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.prepend_module_path","title":"prepend_module_path(path, set_mod_paths=True, priority=None)","text":"

        Prepend given module path to list of module paths, or bump it to 1st place.

        PARAMETER DESCRIPTION path

        path to prepend to $MODULEPATH

        set_mod_paths

        (re)set self.mod_paths

        DEFAULT: True

        priority

        priority for this path in $MODULEPATH (Lmod-specific)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.unuse","title":"unuse(path)","text":"

        Remove a module path

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.update","title":"update()","text":"

        Update after new modules were added.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.use","title":"use(path, priority=None)","text":"

        Add path to $MODULEPATH via 'module use'.

        PARAMETER DESCRIPTION path

        path to add to $MODULEPATH

        priority

        priority for this path in $MODULEPATH (Lmod-specific)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Modules","title":"Modules","text":"

        Bases: EnvironmentModulesC

        NO LONGER SUPPORTED: interface to modules tool, use modules_tool from easybuild.tools.modules instead

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool","title":"ModulesTool","text":"

        Bases: object

        An abstract interface to a tool that deals with modules.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.__init__","title":"__init__(mod_paths=None, testing=False)","text":"

        Create a ModulesTool object

        PARAMETER DESCRIPTION mod_paths

        A list of paths where the modules can be located @type mod_paths: list

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.__str__","title":"__str__()","text":"

        String representation of this ModulesTool instance.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.add_module_path","title":"add_module_path(path, set_mod_paths=True)","text":"

        Add specified module path (using 'module use') if it's not there yet.

        PARAMETER DESCRIPTION path

        path to add to $MODULEPATH via 'use'

        set_mod_paths

        (re)set self.mod_paths

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.available","title":"available(mod_name=None, extra_args=None)","text":"

        Return a list of available modules for the given (partial) module name; use None to obtain a list of all available modules.

        PARAMETER DESCRIPTION mod_name

        a (partial) module name for filtering (default: None)

        DEFAULT: None

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.buildstats","title":"buildstats()","text":"

        Return tuple with data to be included in buildstats

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_cmd_avail","title":"check_cmd_avail()","text":"

        Check whether modules tool command is available.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_loaded_modules","title":"check_loaded_modules()","text":"

        Check whether any (EasyBuild-generated) modules are loaded already in the current session

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_module_function","title":"check_module_function(allow_mismatch=False, regex=None)","text":"

        Check whether selected module tool matches 'module' function definition.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_module_output","title":"check_module_output(cmd, stdout, stderr)","text":"

        Check output of 'module' command, see if if is potentially invalid.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_module_path","title":"check_module_path()","text":"

        Check if MODULEPATH is set and change it if necessary.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.compose_cmd_list","title":"compose_cmd_list(args, opts=None)","text":"

        Compose full module command to run, based on provided arguments

        PARAMETER DESCRIPTION args

        list of arguments for module command

        RETURNS DESCRIPTION

        list of strings representing the full module command to run

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.exist","title":"exist(mod_names, mod_exists_regex_template=None, skip_avail=False, maybe_partial=True)","text":"

        Check if modules with specified names exists.

        PARAMETER DESCRIPTION mod_names

        list of module names

        mod_exists_regex_template

        DEPRECATED and unused

        DEFAULT: None

        skip_avail

        skip checking through 'module avail', only check via 'module show'

        DEFAULT: False

        maybe_partial

        indicates if the module name may be a partial module name

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.get_setenv_value_from_modulefile","title":"get_setenv_value_from_modulefile(mod_name, var_name)","text":"

        Get value for specific 'setenv' statement from module file for the specified module.

        PARAMETER DESCRIPTION mod_name

        module name

        var_name

        name of the variable being set for which value should be returned

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.get_value_from_modulefile","title":"get_value_from_modulefile(mod_name, regex, strict=True)","text":"

        Get info from the module file for the specified module.

        PARAMETER DESCRIPTION mod_name

        module name

        regex

        (compiled) regular expression, with one group

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.interpret_raw_path_lua","title":"interpret_raw_path_lua(txt)","text":"

        Interpret raw path (Lua syntax): resolve environment variables, join paths where pathJoin is specified

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.interpret_raw_path_tcl","title":"interpret_raw_path_tcl(txt)","text":"

        Interpret raw path (TCL syntax): resolve environment variables

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.list","title":"list()","text":"

        Return result of 'module list'.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.load","title":"load(modules, mod_paths=None, purge=False, init_env=None, allow_reload=True)","text":"

        Load all requested modules.

        PARAMETER DESCRIPTION modules

        list of modules to load

        mod_paths

        list of module paths to activate before loading

        DEFAULT: None

        purge

        whether or not a 'module purge' should be run before loading

        DEFAULT: False

        init_env

        original environment to restore after running 'module purge'

        DEFAULT: None

        allow_reload

        allow reloading an already loaded module

        DEFAULT: True

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.loaded_modules","title":"loaded_modules()","text":"

        Return a list of loaded modules.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.mk_module_cache_key","title":"mk_module_cache_key(partial_key)","text":"

        Create a module cache key, using the specified partial key, by combining it with the current $MODULEPATH.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.modpath_extensions_for","title":"modpath_extensions_for(mod_names)","text":"

        Determine dictionary with $MODULEPATH extensions for specified modules. All potential $MODULEPATH extensions are included, even the ones guarded by a condition (which is not checked). Only direct $MODULEPATH extensions are found, no recursion if performed for modules that load other modules. Modules with an empty list of $MODULEPATH extensions are included in the result.

        PARAMETER DESCRIPTION mod_names

        list of module names for which to determine the list of $MODULEPATH extensions

        RETURNS DESCRIPTION

        dictionary with module names as keys and lists of $MODULEPATH extensions as values

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.module_wrapper_exists","title":"module_wrapper_exists(mod_name, modulerc_fn='.modulerc', mod_wrapper_regex_template=None)","text":"

        Determine whether a module wrapper with specified name exists. Only .modulerc file in Tcl syntax is considered here.

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.modulefile_path","title":"modulefile_path(mod_name, strip_ext=False)","text":"

        Get the path of the module file for the specified module

        PARAMETER DESCRIPTION mod_name

        module name

        strip_ext

        strip (.lua) extension from module fileame (if present)

        DEFAULT: False

        ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.path_to_top_of_module_tree","title":"path_to_top_of_module_tree(top_paths, mod_name, full_mod_subdir, deps, modpath_exts=None)","text":"

        Recursively determine path to the top of the module tree, for given module, module subdir and list of $MODULEPATH extensions per dependency module.

        For example, when to determine the path to the top of the module tree for the HPL/2.1 module being installed with a goolf/1.5.14 toolchain in a Core/Compiler/MPI hierarchy (HierarchicalMNS):

        • starting point: top_paths = ['', '/Core'] mod_name = 'HPL/2.1' full_mod_subdir = '/MPI/Compiler/GCC/4.8.2/OpenMPI/1.6.5' deps = ['GCC/4.8.2', 'OpenMPI/1.6.5', 'OpenBLAS/0.2.8-LAPACK-3.5.0', 'FFTW/3.3.4', 'ScaLAPACK/...']

        • 1st iteration: find module that extends $MODULEPATH with '/MPI/Compiler/GCC/4.8.2/OpenMPI/1.6.5', => OpenMPI/1.6.5 (in '/Compiler/GCC/4.8.2' subdir); recurse with mod_name = 'OpenMPI/1.6.5' and full_mod_subdir = '/Compiler/GCC/4.8.2'

        • 2nd iteration: find module that extends $MODULEPATH with '/Compiler/GCC/4.8.2' => GCC/4.8.2 (in '/Core' subdir); recurse with mod_name = 'GCC/4.8.2' and full_mod_subdir = '/Core'

        • 3rd iteration: try to find module that extends $MODULEPATH with '/Core' => '/Core' is in top_paths, so stop recursion PARAMETER DESCRIPTION top_paths

          list of potentation 'top of module tree' (absolute) paths

          mod_name

          (short) module name for starting point (only used in log messages)

          full_mod_subdir

          absolute path to module subdirectory for starting point

          deps

          list of dependency modules for module at starting point

          modpath_exts

          list of module path extensions for each of the dependency modules

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.prepend_module_path","title":"prepend_module_path(path, set_mod_paths=True, priority=None)","text":"

          Prepend given module path to list of module paths, or bump it to 1st place.

          PARAMETER DESCRIPTION path

          path to prepend to $MODULEPATH

          set_mod_paths

          (re)set self.mod_paths

          DEFAULT: True

          priority

          priority for this path in $MODULEPATH (Lmod-specific)

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.purge","title":"purge()","text":"

          Purge loaded modules.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.read_module_file","title":"read_module_file(mod_name)","text":"

          Read module file with specified name.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.remove_module_path","title":"remove_module_path(path, set_mod_paths=True)","text":"

          Remove specified module path (using 'module unuse').

          PARAMETER DESCRIPTION path

          path to remove from $MODULEPATH via 'unuse'

          set_mod_paths

          (re)set self.mod_paths

          DEFAULT: True

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.run_module","title":"run_module(*args, **kwargs)","text":"

          Run module command.

          PARAMETER DESCRIPTION args

          list of arguments for module command; first argument should be the subcommand to run

          DEFAULT: ()

          kwargs

          dictionary with options that control certain aspects of how to run the module command

          DEFAULT: {}

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.set_and_check_version","title":"set_and_check_version()","text":"

          Get the module version, and check any requirements

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.set_mod_paths","title":"set_mod_paths(mod_paths=None)","text":"

          Set mod_paths, based on $MODULEPATH unless a list of module paths is specified.

          PARAMETER DESCRIPTION mod_paths

          list of entries for $MODULEPATH to use

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.set_path_env_var","title":"set_path_env_var(key, paths)","text":"

          Set path environment variable to the given list of paths.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.show","title":"show(mod_name)","text":"

          Run 'module show' for the specified module.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.unload","title":"unload(modules=None)","text":"

          Unload all requested modules.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.unuse","title":"unuse(path)","text":"

          Remove module path via 'module unuse'.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.update","title":"update()","text":"

          Update after new modules were added.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.use","title":"use(path, priority=None)","text":"

          Add path to $MODULEPATH via 'module use'.

          PARAMETER DESCRIPTION path

          path to add to $MODULEPATH

          priority

          priority for this path in $MODULEPATH (Lmod-specific)

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool","title":"NoModulesTool","text":"

          Bases: ModulesTool

          Class that mock the module behaviour, used for operation not requiring modules. Eg. tests, fetch only

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool.available","title":"available(*args, **kwargs)","text":"

          No modules, so nothing available

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool.check_loaded_modules","title":"check_loaded_modules()","text":"

          Nothing to do since no modules

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool.exist","title":"exist(mod_names, *args, **kwargs)","text":"

          No modules, so nothing exists

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool.list","title":"list()","text":"

          No modules loaded

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.avail_modules_tools","title":"avail_modules_tools()","text":"

          Return all known modules tools.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.curr_module_paths","title":"curr_module_paths(normalize=False)","text":"

          Return a list of current module paths.

          PARAMETER DESCRIPTION normalize

          Normalize the paths

          DEFAULT: False

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_libdir","title":"get_software_libdir(name, only_one=True, fs=None)","text":"

          Find library subdirectories for the specified software package.

          Returns the library subdirectory, relative to software root. It fails if multiple library subdirs are found, unless only_one is False which yields a list of all library subdirs.

          PARAMETER DESCRIPTION name

          name of the software package

          only_one

          indicates whether only one lib path is expected to be found

          DEFAULT: True

          fs

          only retain library subdirs that contain one of the files in this list

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_root","title":"get_software_root(name, with_env_var=False)","text":"

          Return the software root set for a particular software name.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_root_env_var_name","title":"get_software_root_env_var_name(name)","text":"

          Return name of environment variable for software root.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_version","title":"get_software_version(name)","text":"

          Return the software version set for a particular software name.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_version_env_var_name","title":"get_software_version_env_var_name(name)","text":"

          Return name of environment variable for software root.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.invalidate_module_caches_for","title":"invalidate_module_caches_for(path)","text":"

          Invalidate cache entries related to specified path.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.mk_module_path","title":"mk_module_path(paths)","text":"

          Create a string representing the list of module paths.

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.modules_tool","title":"modules_tool(mod_paths=None, testing=False)","text":"

          Return interface to modules tool (environment modules (C, Tcl), or Lmod)

          ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.reset_module_caches","title":"reset_module_caches()","text":"

          Reset module caches.

          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/","title":"multidiff","text":"

          Module which allows the diffing of multiple files

          Authors:

          • Toon Willems (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff","title":"MultiDiff","text":"

          Bases: object

          Class representing a multi-diff.

          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.__init__","title":"__init__(base_fn, base_lines, files, colored=True)","text":"

          MultiDiff constructor

          PARAMETER DESCRIPTION base_fn

          base function to compare with

          base_lines

          base lines to compare to

          files

          list of files to compare with base

          colored

          boolean indicating whether a colored multi-diff should be generated

          DEFAULT: True

          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.__str__","title":"__str__()","text":"

          Create a string representation of this multi-diff

          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.color_line","title":"color_line(line, color)","text":"

          Create colored version of given line, with given color, if color mode is enabled.

          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.colorize","title":"colorize(line, squigly)","text":"

          Add colors to the diff line based on the squigly line.

          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.get_line","title":"get_line(line_no)","text":"

          Return the line information for a specific line

          PARAMETER DESCRIPTION line_no

          line number to obtain information for

          RETURNS DESCRIPTION

          list with text lines providing line information

          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.merge_squigly","title":"merge_squigly(squigly1, squigly2)","text":"

          Combine two squigly lines into a single squigly line.

          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.parse_line","title":"parse_line(line_no, diff_line, meta, squigly_line)","text":"

          Register a diff line

          PARAMETER DESCRIPTION line_no

          line number

          diff_line

          diff line generated by difflib

          meta

          meta information (e.g., filename)

          squigly_line

          squigly line indicating which characters changed

          ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.multidiff","title":"multidiff(base, files, colored=True)","text":"

          Generate a diff for multiple files, all compared to base.

          PARAMETER DESCRIPTION base

          base to compare with

          files

          list of files to compare with base

          colored

          boolean indicating whether a colored multi-diff should be generated

          DEFAULT: True

          RETURNS DESCRIPTION

          text with multidiff overview

          ","boost":0.5},{"location":"api/easybuild/tools/options/","title":"options","text":"

          Command line options for eb

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          • Toon Willems (Ghent University)
          • Ward Poelmans (Ghent University)
          • Damian Alvarez (Forschungszentrum Juelich GmbH)
          • Maxime Boissonneault (Compute Canada)
          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions","title":"EasyBuildOptions","text":"

          Bases: GeneralOption

          Easybuild generaloption class

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.__init__","title":"__init__(*args, **kwargs)","text":"

          Constructor.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.avail_list","title":"avail_list(name, items)","text":"

          Show list of available values passed by argument.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.avail_repositories","title":"avail_repositories()","text":"

          Show list of known repository types.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.basic_options","title":"basic_options()","text":"

          basic runtime options

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.get_cfg_opt_abs_path","title":"get_cfg_opt_abs_path(opt_name, path)","text":"

          Get path value of configuration option as absolute path.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.github_options","title":"github_options()","text":"

          GitHub integration configuration options.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.job_options","title":"job_options()","text":"

          Option related to --job.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.postprocess","title":"postprocess()","text":"

          Do some postprocessing, in particular print stuff

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.regtest_options","title":"regtest_options()","text":"

          Regression test configuration options.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.show_config","title":"show_config()","text":"

          Show specified EasyBuild configuration, relative to default EasyBuild configuration.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.show_default_configfiles","title":"show_default_configfiles()","text":"

          Show list of default config files.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.show_default_moduleclasses","title":"show_default_moduleclasses()","text":"

          Show list of default moduleclasses and description.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.show_system_info","title":"show_system_info()","text":"

          Show system information.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.validate","title":"validate()","text":"

          Additional validation of options

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.check_root_usage","title":"check_root_usage(allow_use_as_root=False)","text":"

          Check whether we are running as root, and act accordingly

          PARAMETER DESCRIPTION allow_use_as_root

          allow use of EasyBuild as root (but do print a warning when doing so)

          DEFAULT: False

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.cleanup_and_exit","title":"cleanup_and_exit(tmpdir)","text":"

          Clean up temporary directory and exit.

          PARAMETER DESCRIPTION tmpdir

          path to temporary directory to clean up

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.opts_dict_to_eb_opts","title":"opts_dict_to_eb_opts(args_dict)","text":"

          Convert a dictionary with configuration option values to command-line options for the 'eb' command. Can by used to convert e.g. easyconfig-specific options from an easystack file to a list of strings that can be fed into the EasyBuild option parser

          PARAMETER DESCRIPTION args_dict

          dictionary with configuration option values

          RETURNS DESCRIPTION

          a list of strings representing command-line options for the 'eb' command

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.parse_external_modules_metadata","title":"parse_external_modules_metadata(cfgs)","text":"

          Parse metadata for external modules.

          PARAMETER DESCRIPTION cfgs

          list of (glob patterns for) paths to config files providing metadata for external modules

          RETURNS DESCRIPTION

          parsed metadata for external modules

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.parse_options","title":"parse_options(args=None, with_include=True)","text":"

          wrapper function for option parsing

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.pretty_print_opts","title":"pretty_print_opts(opts_dict)","text":"

          Pretty print options dict.

          PARAMETER DESCRIPTION opts_dict

          dictionary with option names as keys, and (value, location) tuples as values

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.process_software_build_specs","title":"process_software_build_specs(options)","text":"

          Create a dictionary with specified software build options. The options arguments should be a parsed option list (as delivered by parse_options(args).options)

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.set_tmpdir","title":"set_tmpdir(tmpdir=None, raise_error=False)","text":"

          Set temporary directory to be used by tempfile and others.

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.set_up_configuration","title":"set_up_configuration(args=None, logfile=None, testing=False, silent=False, reconfigure=False)","text":"

          Set up EasyBuild configuration, by parsing configuration settings & initialising build options.

          PARAMETER DESCRIPTION args

          command line arguments to take into account when parsing the EasyBuild configuration settings

          DEFAULT: None

          logfile

          log file to use

          DEFAULT: None

          testing

          enable testing mode

          DEFAULT: False

          silent

          stay silent (no printing)

          DEFAULT: False

          reconfigure

          reconfigure singletons that hold configuration dictionaries. Use with care: normally, configuration shouldn't be changed during a run. Exceptions are when looping over items in EasyStack files

          DEFAULT: False

          ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.use_color","title":"use_color(colorize, stream=sys.stdout)","text":"

          Return True or False depending on whether ANSI color escapes are to be used when printing to stream.

          The colorize argument can take the three values fancylogger.Colorize.AUTO/.ALWAYS/.NEVER, see the --color option for their meaning.

          ","boost":0.5},{"location":"api/easybuild/tools/output/","title":"output","text":"

          Tools for controlling output to terminal produced by EasyBuild.

          Authors:

          • Kenneth Hoste (Ghent University)
          • J\u00f8rgen Nordmoen (University of Oslo)
          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.DummyRich","title":"DummyRich","text":"

          Bases: object

          Dummy shim for Rich classes. Used in case Rich is not available, or when EasyBuild is not configured to use rich output style.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.colorize","title":"colorize(txt, color)","text":"

          Colorize given text, with specified color.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.download_all_progress_bar","title":"download_all_progress_bar()","text":"

          Get progress bar to show progress on downloading of all source files.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.download_one_progress_bar","title":"download_one_progress_bar()","text":"

          Get progress bar to show progress for downloading a file of known size.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.download_one_progress_bar_unknown_size","title":"download_one_progress_bar_unknown_size()","text":"

          Get progress bar to show progress for downloading a file of unknown size.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.easyconfig_progress_bar","title":"easyconfig_progress_bar()","text":"

          Get progress bar to display progress for installing a single easyconfig file.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.extensions_progress_bar","title":"extensions_progress_bar()","text":"

          Get progress bar to show progress for installing extensions.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.get_progress_bar","title":"get_progress_bar(bar_type, ignore_cache=False, size=None)","text":"

          Get progress bar of given type.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.print_checks","title":"print_checks(checks_data)","text":"

          Print overview of checks that were made.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.progress_bar_cache","title":"progress_bar_cache(func)","text":"

          Function decorator to cache created progress bars for easy retrieval.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.rich_live_cm","title":"rich_live_cm()","text":"

          Return Live instance to use as context manager.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.show_progress_bars","title":"show_progress_bars()","text":"

          Return whether or not to show progress bars.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.start_progress_bar","title":"start_progress_bar(bar_type, size, label=None)","text":"

          Start progress bar of given type.

          PARAMETER DESCRIPTION label

          label for progress bar

          DEFAULT: None

          size

          total target size of progress bar

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.status_bar","title":"status_bar()","text":"

          Get progress bar to display overall progress.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.stop_progress_bar","title":"stop_progress_bar(bar_type, visible=False)","text":"

          Stop progress bar of given type.

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.update_progress_bar","title":"update_progress_bar(bar_type, label=None, progress_size=1, total=None)","text":"

          Update progress bar of given type (if it was started), add progress of given size.

          PARAMETER DESCRIPTION bar_type

          type of progress bar

          label

          label for progress bar

          DEFAULT: None

          progress_size

          amount of progress made

          DEFAULT: 1

          ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.use_rich","title":"use_rich()","text":"

          Return whether or not to use Rich to produce rich output.

          ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/","title":"parallelbuild","text":"

          Module for doing parallel builds. This uses a PBS-like cluster. You should be able to submit jobs (which can have dependencies)

          Support for PBS is provided via the PbsJob class. If you want you could create other job classes and use them here.

          Authors:

          • Toon Willems (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Stijn De Weirdt (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/#easybuild.tools.parallelbuild.build_easyconfigs_in_parallel","title":"build_easyconfigs_in_parallel(build_command, easyconfigs, output_dir='easybuild-build', prepare_first=True)","text":"

          Build easyconfigs in parallel by submitting jobs to a batch-queuing system. Return list of jobs submitted.

          Argument easyconfigs is a list of easyconfigs which can be built: e.g. they have no unresolved dependencies. This function will build them in parallel by submitting jobs.

          PARAMETER DESCRIPTION build_command

          build command to use

          easyconfigs

          list of easyconfig files

          output_dir

          output directory

          DEFAULT: 'easybuild-build'

          prepare_first

          prepare by runnning fetch step first for each easyconfig

          DEFAULT: True

          ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/#easybuild.tools.parallelbuild.create_job","title":"create_job(job_backend, build_command, easyconfig, output_dir='easybuild-build')","text":"

          Creates a job to build a single easyconfig.

          PARAMETER DESCRIPTION job_backend

          A factory object for querying server parameters and creating actual job objects

          build_command

          format string for command, full path to an easyconfig file will be substituted in it

          easyconfig

          easyconfig as processed by process_easyconfig

          output_dir

          optional output path; --regtest-output-dir will be used inside the job with this variable returns the job

          DEFAULT: 'easybuild-build'

          ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/#easybuild.tools.parallelbuild.prepare_easyconfig","title":"prepare_easyconfig(ec)","text":"

          Prepare for building specified easyconfig (fetch sources)

          PARAMETER DESCRIPTION ec

          parsed easyconfig (EasyConfig instance)

          ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/#easybuild.tools.parallelbuild.submit_jobs","title":"submit_jobs(ordered_ecs, cmd_line_opts, testing=False, prepare_first=True)","text":"

          Submit jobs.

          PARAMETER DESCRIPTION ordered_ecs

          list of easyconfigs, in the order they should be processed

          cmd_line_opts

          list of command line options (in 'longopt=value' form)

          testing

          If True, skip actual job submission

          DEFAULT: False

          prepare_first

          prepare by runnning fetch step first for each easyconfig

          DEFAULT: True

          ","boost":0.5},{"location":"api/easybuild/tools/robot/","title":"robot","text":"

          Dependency resolution functionality, a.k.a. robot.

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          • Toon Willems (Ghent University)
          • Ward Poelmans (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.check_conflicts","title":"check_conflicts(easyconfigs, modtool, check_inter_ec_conflicts=True)","text":"

          Check for conflicts in dependency graphs for specified easyconfigs.

          PARAMETER DESCRIPTION easyconfigs

          list of easyconfig files (EasyConfig instances) to check for conflicts

          modtool

          ModulesTool instance to use

          check_inter_ec_conflicts

          also check for conflicts between (dependencies of) listed easyconfigs

          DEFAULT: True

          RETURNS DESCRIPTION

          True if one or more conflicts were found, False otherwise

          ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.det_robot_path","title":"det_robot_path(robot_paths_option, tweaked_ecs_paths, pr_paths, auto_robot=False)","text":"

          Determine robot path.

          ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.dry_run","title":"dry_run(easyconfigs, modtool, short=False)","text":"

          Compose dry run overview for supplied easyconfigs: * [ ] for unavailable * [x] for available * [F] for forced * [R] for rebuild

          PARAMETER DESCRIPTION easyconfigs

          list of parsed easyconfigs (EasyConfig instances)

          modtool

          ModulesTool instance to use

          short

          use short format for overview: use a variable for common prefixes

          DEFAULT: False

          ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.missing_deps","title":"missing_deps(easyconfigs, modtool)","text":"

          Determine subset of easyconfigs for which no module is installed yet.

          ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.raise_error_missing_deps","title":"raise_error_missing_deps(missing_deps, extra_msg=None)","text":"

          Raise error to report missing dependencies.

          ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.resolve_dependencies","title":"resolve_dependencies(easyconfigs, modtool, retain_all_deps=False, raise_error_missing_ecs=True)","text":"

          Work through the list of easyconfigs to determine an optimal order

          PARAMETER DESCRIPTION easyconfigs

          list of easyconfigs

          modtool

          ModulesTool instance to use

          retain_all_deps

          boolean indicating whether all dependencies must be retained, regardless of availability; retain all deps when True, check matching build option when False

          DEFAULT: False

          raise_error_missing_ecs

          raise an error when one or more easyconfig files could not be found

          DEFAULT: True

          ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.search_easyconfigs","title":"search_easyconfigs(query, short=False, filename_only=False, terse=False, consider_extra_paths=True, print_result=True, case_sensitive=False)","text":"

          Search for easyconfigs, if a query is provided.

          PARAMETER DESCRIPTION query

          regex query string

          short

          figure out common prefix of hits, use variable to factor it out

          DEFAULT: False

          filename_only

          only print filenames, not paths

          DEFAULT: False

          terse

          stick to terse (machine-readable) output, as opposed to pretty-printing

          DEFAULT: False

          consider_extra_paths

          consider all paths when searching

          DEFAULT: True

          print_result

          print the list of easyconfigs

          DEFAULT: True

          case_sensitive

          boolean to decide whether search is case sensitive

          DEFAULT: False

          RETURNS DESCRIPTION

          return a list of paths for the query

          ","boost":0.5},{"location":"api/easybuild/tools/run/","title":"run","text":"

          Tools to run commands.

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          • Toon Willems (Ghent University)
          • Ward Poelmans (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.check_async_cmd","title":"check_async_cmd(proc, cmd, owd, start_time, cmd_log, fail_on_error=True, output_read_size=1024, output='')","text":"

          Check status of command that was started asynchronously.

          :result: dict value with result of the check (boolean 'done', 'exit_code', 'output')

          PARAMETER DESCRIPTION proc

          subprocess.Popen instance representing asynchronous command

          cmd

          command being run

          owd

          original working directory

          start_time

          start time of command (datetime instance)

          cmd_log

          log file to print command output to

          fail_on_error

          raise EasyBuildError when command exited with an error

          DEFAULT: True

          output_read_size

          number of bytes to read from output

          DEFAULT: 1024

          output

          already collected output for this command

          DEFAULT: ''

          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.check_log_for_errors","title":"check_log_for_errors(log_txt, reg_exps)","text":"

          Check log_txt for messages matching regExps in order and do appropriate action

          PARAMETER DESCRIPTION log_txt

          String containing the log, will be split into individual lines

          reg_exps

          List of: regular expressions (as strings) to error on, or tuple of regular expression and action (any of [IGNORE, WARN, ERROR])

          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.complete_cmd","title":"complete_cmd(proc, cmd, owd, start_time, cmd_log, log_ok=True, log_all=False, simple=False, regexp=True, stream_output=None, trace=True, output='')","text":"

          Complete running of command represented by passed subprocess.Popen instance.

          PARAMETER DESCRIPTION proc

          subprocess.Popen instance representing running command

          cmd

          command being run

          owd

          original working directory

          start_time

          start time of command (datetime instance)

          cmd_log

          log file to print command output to

          log_ok

          only run output/exit code for failing commands (exit code non-zero)

          DEFAULT: True

          log_all

          always log command output and exit code

          DEFAULT: False

          simple

          if True, just return True/False to indicate success, else return a tuple: (output, exit_code)

          DEFAULT: False

          regexp

          regex used to check the output for errors; if True it will use the default (see parse_log_for_error)

          DEFAULT: True

          stream_output

          enable streaming command output to stdout

          DEFAULT: None

          trace

          print command being executed as part of trace output

          DEFAULT: True

          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.extract_errors_from_log","title":"extract_errors_from_log(log_txt, reg_exps)","text":"

          Check provided string (command output) for messages matching specified regular expressions, and return 2-tuple with list of warnings and errors.

          PARAMETER DESCRIPTION log_txt

          String containing the log, will be split into individual lines

          reg_exps

          List of: regular expressions (as strings) to error on, or tuple of regular expression and action (any of [IGNORE, WARN, ERROR])

          RETURNS DESCRIPTION

          (warnings, errors) as lists of lines containing a match

          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.get_output_from_process","title":"get_output_from_process(proc, read_size=None, asynchronous=False)","text":"

          Get output from running process (that was opened with subprocess.Popen).

          PARAMETER DESCRIPTION proc

          process to get output from

          read_size

          number of bytes of output to read (if None: read all output)

          DEFAULT: None

          asynchronous

          get output asynchronously

          DEFAULT: False

          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.parse_cmd_output","title":"parse_cmd_output(cmd, stdouterr, ec, simple, log_all, log_ok, regexp)","text":"

          Parse command output and construct return value.

          PARAMETER DESCRIPTION cmd

          executed command

          stdouterr

          combined stdout/stderr of executed command

          ec

          exit code of executed command

          simple

          if True, just return True/False to indicate success, else return a tuple: (output, exit_code)

          log_all

          always log command output and exit code

          log_ok

          only run output/exit code for failing commands (exit code non-zero)

          regexp

          regex used to check the output for errors; if True it will use the default (see parse_log_for_error)

          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.parse_log_for_error","title":"parse_log_for_error(txt, regExp=None, stdout=True, msg=None)","text":"

          txt is multiline string. - in memory regExp is a one-line regular expression - default

          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.run_cmd","title":"run_cmd(cmd, log_ok=True, log_all=False, simple=False, inp=None, regexp=True, log_output=False, path=None, force_in_dry_run=False, verbose=True, shell=None, trace=True, stream_output=None, asynchronous=False)","text":"

          Run specified command (in a subshell)

          PARAMETER DESCRIPTION cmd

          command to run

          log_ok

          only run output/exit code for failing commands (exit code non-zero)

          DEFAULT: True

          log_all

          always log command output and exit code

          DEFAULT: False

          simple

          if True, just return True/False to indicate success, else return a tuple: (output, exit_code)

          DEFAULT: False

          inp

          the input given to the command via stdin

          DEFAULT: None

          regexp

          regex used to check the output for errors; if True it will use the default (see parse_log_for_error)

          DEFAULT: True

          log_output

          indicate whether all output of command should be logged to a separate temporary logfile

          DEFAULT: False

          path

          path to execute the command in; current working directory is used if unspecified

          DEFAULT: None

          force_in_dry_run

          force running the command during dry run

          DEFAULT: False

          verbose

          include message on running the command in dry run output

          DEFAULT: True

          shell

          allow commands to not run in a shell (especially useful for cmd lists), defaults to True

          DEFAULT: None

          trace

          print command being executed as part of trace output

          DEFAULT: True

          stream_output

          enable streaming command output to stdout

          DEFAULT: None

          asynchronous

          run command asynchronously (returns subprocess.Popen instance if set to True)

          DEFAULT: False

          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.run_cmd_cache","title":"run_cmd_cache(func)","text":"

          Function decorator to cache (and retrieve cached) results of running commands.

          ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.run_cmd_qa","title":"run_cmd_qa(cmd, qa, no_qa=None, log_ok=True, log_all=False, simple=False, regexp=True, std_qa=None, path=None, maxhits=50, trace=True)","text":"

          Run specified interactive command (in a subshell)

          PARAMETER DESCRIPTION cmd

          command to run

          qa

          dictionary which maps question to answers

          no_qa

          list of patters that are not questions

          DEFAULT: None

          log_ok

          only run output/exit code for failing commands (exit code non-zero)

          DEFAULT: True

          log_all

          always log command output and exit code

          DEFAULT: False

          simple

          if True, just return True/False to indicate success, else return a tuple: (output, exit_code)

          DEFAULT: False

          regexp

          regex used to check the output for errors; if True it will use the default (see parse_log_for_error)

          DEFAULT: True

          std_qa

          dictionary which maps question regex patterns to answers

          DEFAULT: None

          path

          path to execute the command is; current working directory is used if unspecified

          DEFAULT: None

          maxhits

          maximum number of cycles (seconds) without being able to find a known question

          DEFAULT: 50

          trace

          print command being executed as part of trace output

          DEFAULT: True

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/","title":"systemtools","text":"

          Module with useful functions for getting system information

          Authors:

          • Jens Timmerman (Ghent University)
          • Ward Poelmans (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.SystemToolsException","title":"SystemToolsException","text":"

          Bases: Exception

          raised when systemtools fails

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.check_easybuild_deps","title":"check_easybuild_deps(modtool)","text":"

          Check presence and version of required and optional EasyBuild dependencies, and report back to terminal.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.check_linked_shared_libs","title":"check_linked_shared_libs(path, required_patterns=None, banned_patterns=None)","text":"

          Check for (lack of) patterns in linked shared libraries for binary/library at specified path. Uses 'ldd' on Linux and 'otool -L' on macOS to determine linked shared libraries.

          Returns True or False for dynamically linked binaries and shared libraries to indicate whether all patterns match and antipatterns don't match.

          Returns None if given path is not a dynamically linked binary or library.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.check_os_dependency","title":"check_os_dependency(dep)","text":"

          Check if dependency is available from OS.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.check_python_version","title":"check_python_version()","text":"

          Check currently used Python version.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.det_parallelism","title":"det_parallelism(par=None, maxpar=None)","text":"

          Determine level of parallelism that should be used. Default: educated guess based on # cores and 'ulimit -u' setting: min(# cores, ((ulimit -u) - 15) // 6)

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.det_pypkg_version","title":"det_pypkg_version(pkg_name, imported_pkg, import_name=None)","text":"

          Determine version of a Python package.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.det_terminal_size","title":"det_terminal_size()","text":"

          Determine the current size of the terminal window.

          RETURNS DESCRIPTION

          tuple with terminal width and height

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.find_library_path","title":"find_library_path(lib_filename)","text":"

          Search library by file name in the system Return absolute path to existing libraries

          PARAMETER DESCRIPTION lib_filename

          name of library file

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_avail_core_count","title":"get_avail_core_count()","text":"

          Returns the number of available CPUs, according to cgroups and taskssets limits

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_core_count","title":"get_core_count()","text":"

          NO LONGER SUPPORTED: use get_avail_core_count() instead

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_arch_name","title":"get_cpu_arch_name()","text":"

          Determine CPU architecture name via archspec (if available).

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_architecture","title":"get_cpu_architecture()","text":"

          Try to detect the CPU architecture

          RETURNS DESCRIPTION

          a value from the CPU_ARCHITECTURES list

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_family","title":"get_cpu_family()","text":"

          Determine CPU family.

          RETURNS DESCRIPTION

          a value from the CPU_FAMILIES list

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_features","title":"get_cpu_features()","text":"

          Get list of CPU features

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_model","title":"get_cpu_model()","text":"

          Determine CPU model, e.g., Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_speed","title":"get_cpu_speed()","text":"

          Returns the (maximum) cpu speed in MHz, as a float value. In case of throttling, the highest cpu speed is returns.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_vendor","title":"get_cpu_vendor()","text":"

          Try to detect the CPU vendor

          RETURNS DESCRIPTION

          a value from the CPU_VENDORS list

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_gcc_version","title":"get_gcc_version()","text":"

          Process gcc --version and return the GCC version.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_glibc_version","title":"get_glibc_version()","text":"

          Find the version of glibc used on this system

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_gpu_info","title":"get_gpu_info()","text":"

          Get the GPU info

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_kernel_name","title":"get_kernel_name()","text":"

          NO LONGER SUPPORTED: use get_os_type() instead

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_linked_libs_raw","title":"get_linked_libs_raw(path)","text":"

          Get raw output from command that reports linked libraries for dynamically linked executables/libraries, or None for other types of files.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_os_name","title":"get_os_name()","text":"

          Determine system name, e.g., 'redhat' (generic), 'centos', 'debian', 'fedora', 'suse', 'ubuntu', 'red hat enterprise linux server', 'SL' (Scientific Linux), 'opensuse', ...

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_os_type","title":"get_os_type()","text":"

          Determine system type, e.g., 'Linux', 'Darwin', 'Java'.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_os_version","title":"get_os_version()","text":"

          Determine system version.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_platform_name","title":"get_platform_name(withversion=False)","text":"

          Try and determine platform name e.g., x86_64-unknown-linux, x86_64-apple-darwin

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_shared_lib_ext","title":"get_shared_lib_ext()","text":"

          Determine extention for shared libraries

          Linux: 'so', Darwin: 'dylib'

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_system_info","title":"get_system_info()","text":"

          Return a dictionary with system information.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_tool_version","title":"get_tool_version(tool, version_option='--version', ignore_ec=False)","text":"

          Get output of running version option for specific command line tool. Output is returned as a single-line string (newlines are replaced by '; ').

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_total_memory","title":"get_total_memory()","text":"

          Try to ascertain this node's total memory

          RETURNS DESCRIPTION

          total memory as an integer, specifically a number of megabytes

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.locate_solib","title":"locate_solib(libobj)","text":"

          Return absolute path to loaded library using dlinfo Based on https://stackoverflow.com/a/35683698

          PARAMETER DESCRIPTION libobj

          ctypes CDLL object

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.pick_dep_version","title":"pick_dep_version(dep_version)","text":"

          Pick the correct dependency version to use for this system. Input can either be: * a string value (or None) * a dict with options to choose from

          Return value is the version to use or False to skip this dependency.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.pick_system_specific_value","title":"pick_system_specific_value(description, options_or_value, allow_none=False)","text":"

          Pick an entry for the current system when the input has multiple options

          PARAMETER DESCRIPTION description

          Descriptive string about the value to be retrieved. Used for logging.

          options_or_value

          Either a dictionary with options to choose from or a value of any other type

          allow_none

          When True and no matching arch key was found, return None instead of an error

          DEFAULT: False

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.sched_getaffinity","title":"sched_getaffinity()","text":"

          Determine list of available cores for current process.

          ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.use_group","title":"use_group(group_name)","text":"

          Use group with specified name.

          ","boost":0.5},{"location":"api/easybuild/tools/testing/","title":"testing","text":"

          Module for doing parallel builds. This uses a PBS-like cluster. You should be able to submit jobs (which can have dependencies)

          Support for PBS is provided via the PbsJob class. If you want you could create other job classes and use them here.

          Authors:

          • Toon Willems (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Stijn De Weirdt (Ghent University)
          • Ward Poelmans (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.create_test_report","title":"create_test_report(msg, ecs_with_res, init_session_state, pr_nrs=None, gist_log=False, easyblock_pr_nrs=None, ec_parse_error=None)","text":"

          Create test report for easyconfigs PR, in Markdown format.

          PARAMETER DESCRIPTION msg

          message to be included in test report

          ecs_with_res

          processed easyconfigs with build result (success/failure)

          init_session_state

          initial session state info to include in test report

          pr_nrs

          list of ints for the PRs in the easyconfigs repository

          DEFAULT: None

          gist_log

          boolean for whether to create a gist from the log file(s)

          DEFAULT: False

          easyblock_pr_nrs

          list of ints for the PRs in the easyblocks repository

          DEFAULT: None

          ec_parse_error

          error message for easyconfig parse failure

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.overall_test_report","title":"overall_test_report(ecs_with_res, orig_cnt, success, msg, init_session_state, ec_parse_error=None)","text":"

          Upload/dump overall test report

          PARAMETER DESCRIPTION ecs_with_res

          processed easyconfigs with build result (success/failure)

          orig_cnt

          number of original easyconfig paths

          success

          boolean indicating whether all builds were successful

          msg

          message to be included in test report

          init_session_state

          initial session state info to include in test report

          ec_parse_error

          error message for easyconfig parse failure

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.post_pr_test_report","title":"post_pr_test_report(pr_nrs, repo_type, test_report, msg, init_session_state, success)","text":"

          Post test report in a gist, and submit comment in easyconfigs or easyblocks PR.

          ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.regtest","title":"regtest(easyconfig_paths, modtool, build_specs=None)","text":"

          Run regression test, using easyconfigs available in given path

          PARAMETER DESCRIPTION easyconfig_paths

          path of easyconfigs to run regtest on

          modtool

          ModulesTool instance to use

          build_specs

          dictionary specifying build specifications (e.g. version, toolchain, ...)

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.session_state","title":"session_state()","text":"

          Get session state: timestamp, dump of environment, system info.

          ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.upload_test_report_as_gist","title":"upload_test_report_as_gist(test_report, descr=None, fn=None)","text":"

          Upload test report as a gist.

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/","title":"utilities","text":"

          Module with various utility functions

          Authors:

          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.flatten","title":"flatten(lst)","text":"

          Flatten a list of lists.

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.get_class_for","title":"get_class_for(modulepath, class_name)","text":"

          Get class for a given Python class name and Python module path.

          PARAMETER DESCRIPTION modulepath

          Python module path (e.g., 'easybuild.base.generaloption')

          class_name

          Python class name (e.g., 'GeneralOption')

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.get_subclasses","title":"get_subclasses(klass, include_base_class=False)","text":"

          Get list of all subclasses, recursively from the specified base class.

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.get_subclasses_dict","title":"get_subclasses_dict(klass, include_base_class=False)","text":"

          Get dict with subclasses per classes, recursively from the specified base class.

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.import_available_modules","title":"import_available_modules(namespace)","text":"

          Import all available module in the specified namespace.

          PARAMETER DESCRIPTION namespace

          The namespace to import modules from.

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.mk_md_table","title":"mk_md_table(titles, columns)","text":"

          Returns a MarkDown table with given titles and columns (a nested list of string columns for each column)

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.mk_rst_table","title":"mk_rst_table(titles, columns)","text":"

          Returns an rst table with given titles and columns (a nested list of string columns for each column)

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.natural_keys","title":"natural_keys(key)","text":"

          Can be used as the sort key in list.sort(key=natural_keys) to sort in natural order (i.e. respecting numbers)

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.nub","title":"nub(list_)","text":"

          Returns the unique items of a list of hashables, while preserving order of the original list, i.e. the first unique element encoutered is retained.

          Code is taken from http://stackoverflow.com/questions/480214/how-do-you-remove-duplicates-from-a-list-in-python-whilst-preserving-order

          Supposedly, this is one of the fastest ways to determine the unique elements of a list.

          @type list_: a list :-)

          RETURNS DESCRIPTION

          a new list with each element from list appearing only once (cfr. Michelle Dubois).

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.only_if_module_is_available","title":"only_if_module_is_available(modnames, pkgname=None, url=None)","text":"

          Decorator to guard functions/methods against missing required module with specified name.

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.quote_py_str","title":"quote_py_str(val)","text":"

          Version of quote_str specific for generating use in Python context (e.g., easyconfig parameters).

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.quote_str","title":"quote_str(val, escape_newline=False, prefer_single_quotes=False, escape_backslash=False, tcl=False)","text":"

          Obtain a new value to be used in string replacement context.

          For non-string values, it just returns the exact same value.

          For string values, it tries to escape the string in quotes, e.g., foo becomes 'foo', foo'bar becomes \"foo'bar\", foo'bar\"baz becomes \"\"\"foo'bar\"baz\"\"\", etc.

          PARAMETER DESCRIPTION escape_newline

          wrap strings that include a newline in triple quotes

          DEFAULT: False

          prefer_single_quotes

          if possible use single quotes

          DEFAULT: False

          escape_backslash

          escape backslash characters in the string

          DEFAULT: False

          tcl

          Boolean for whether we are quoting for Tcl syntax

          DEFAULT: False

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.remove_unwanted_chars","title":"remove_unwanted_chars(inputstring)","text":"

          Remove unwanted characters from the given string and return a copy

          All non-letter and non-numeral characters are considered unwanted except for underscore ('_').

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.shell_quote","title":"shell_quote(token)","text":"

          Wrap provided token in single quotes (to escape space and characters with special meaning in a shell), so it can be used in a shell command. This results in token that is not expanded/interpolated by the shell.

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.time2str","title":"time2str(delta)","text":"

          Return string representing provided datetime.timedelta value in human-readable form.

          ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.trace_msg","title":"trace_msg(message, silent=False)","text":"

          Print trace message.

          ","boost":0.5},{"location":"api/easybuild/tools/variables/","title":"variables","text":"

          Module that contains a set of classes and function to generate variables to be used e.g., in compiling or linking

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.AbsPathList","title":"AbsPathList","text":"

          Bases: StrList

          Absolute paths (eg -L or -I)

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.AbsPathList.append_exists","title":"append_exists(prefix, paths, suffix=None, filename=None, append_all=False)","text":"

          Given prefix and list of paths, return first that exists if suffix : extend the paths with prefixes if filename : look for filename in prefix+paths

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.AbsPathList.append_subdirs","title":"append_subdirs(base, subdirs=None)","text":"

          Add directory base, or its subdirs if subdirs is not None

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.CommaList","title":"CommaList","text":"

          Bases: StrList

          Comma-separated list

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists","title":"ListOfLists","text":"

          Bases: list

          List of lists

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.append_empty","title":"append_empty()","text":"

          Initialise MAP_CLASS instance

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.copy","title":"copy()","text":"

          Return copy of self

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.get_first","title":"get_first()","text":"

          Return first non-empty list if it doesn't exist, try to return first element

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.nappend","title":"nappend(value, **kwargs)","text":"

          Named append name is not used anymore

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.nextend","title":"nextend(value=None, **kwargs)","text":"

          Named extend, value is list type (TODO: tighten the allowed values) name not used anymore

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.sanitize","title":"sanitize()","text":"

          Cleanup self

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.show_el","title":"show_el()","text":"

          Show some info on the elements

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.str_convert","title":"str_convert(x)","text":"

          Given x, return a string representing x called in str of this class

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.try_function_on_element","title":"try_function_on_element(function_name, names=None, args=None, kwargs=None)","text":"

          Try to run function function_name on each element

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.try_remove","title":"try_remove(values)","text":"

          Try to remove one or more values from the elements

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList","title":"StrList","text":"

          Bases: list

          List of strings

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.__getattribute__","title":"__getattribute__(attr_name)","text":"

          Filter out function calls from Variables class

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.__str__","title":"__str__()","text":"

          _str_self and support for BEGIN/END

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.copy","title":"copy()","text":"

          Return copy of self

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.sanitize","title":"sanitize()","text":"

          Sanitize self

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.str_convert","title":"str_convert(x)","text":"

          Convert members of list to string (no prefix of begin and end)

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.try_remove","title":"try_remove(values)","text":"

          Remove without ValueError in case of missing element

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables","title":"Variables","text":"

          Bases: dict

          Class to hold variable-like key/value pairs All values are lists (or derived from list class) most only have a single element though some are lists of lists str creates a single string

          Most items are of same DEFAULT_CLASS\n    but are in different classes\n
          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.__setitem__","title":"__setitem__(name, value)","text":"

          Automatically creates a list for each name

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.append","title":"append(name, value)","text":"

          Append value to element name (alias for nappend)

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.get_element_class","title":"get_element_class(name)","text":"

          Return the class associated with the name according to the DEFAULT_CLASS and MAP_CLASS

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.get_instance","title":"get_instance(name=None)","text":"

          Return an instance of the class

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.get_list_class","title":"get_list_class(name)","text":"

          Return the class associated with the name according to the DEFAULT_LISTCLASS and MAP_LISTCLASS

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.join","title":"join(name, *others)","text":"

          Join all values in others into name it is first tested if other is an existing element else it is nappend-ed

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.try_function_on_element","title":"try_function_on_element(function_name, names=None, args=None, kwargs=None)","text":"

          Try to run function function_name on each element of names

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.get_class","title":"get_class(name, default_class, map_class=None)","text":"

          Return class based on default map_class if key == str -> value = class else: key = class -> list of strings

          ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.join_map_class","title":"join_map_class(map_classes)","text":"

          Join all class_maps into single class_map

          ","boost":0.5},{"location":"api/easybuild/tools/version/","title":"version","text":"

          Module that takes control of versioning.

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/version/#easybuild.tools.version.get_git_revision","title":"get_git_revision()","text":"

          Returns the git revision (e.g. aab4afc016b742c6d4b157427e192942d0e131fe), or UNKNOWN is getting the git revision fails

          relies on GitPython (see http://gitorious.org/git-python)

          ","boost":0.5},{"location":"api/easybuild/tools/version/#easybuild.tools.version.this_is_easybuild","title":"this_is_easybuild()","text":"

          Standard starting message

          ","boost":0.5},{"location":"api/easybuild/tools/containers/","title":"containers","text":"
          • easybuild
            • tools
              • containers
                • apptainer
                • base
                • common
                • docker
                • singularity
                • utils
          ","boost":0.5},{"location":"api/easybuild/tools/containers/apptainer/","title":"apptainer","text":"

          Support for generating Apptainer container recipes and creating container images

          :author: Kenneth Hoste (HPC-UGent)

          ","boost":0.5},{"location":"api/easybuild/tools/containers/apptainer/#easybuild.tools.containers.apptainer.ApptainerContainer","title":"ApptainerContainer","text":"

          Bases: SingularityContainer

          ","boost":0.5},{"location":"api/easybuild/tools/containers/apptainer/#easybuild.tools.containers.apptainer.ApptainerContainer.apptainer_version","title":"apptainer_version() staticmethod","text":"

          Get Apptainer version.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/apptainer/#easybuild.tools.containers.apptainer.ApptainerContainer.build_image","title":"build_image(recipe_path)","text":"

          Build container image by calling out to 'sudo apptainer build'.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/base/","title":"base","text":"

          Authors:

          • Mohamed Abidi (Bright Computing)
          ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator","title":"ContainerGenerator","text":"

          Bases: object

          The parent class for concrete container recipe and image generator. Subclasses have to provide at least template resolution and image creation logic.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.build_image","title":"build_image(recipe_path)","text":"

          This method will be used on the concrete subclass to build the image using The path of the container recipe.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.generate","title":"generate()","text":"

          The entry point for container recipe and image generation. It starts by validating the needed tools are available using TOOLS class attribute. If the validation passes, it will generate the container recipe, and optionally build out of it the container.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.generate_recipe","title":"generate_recipe()","text":"

          This method will make use of resolve_template and resolve_template_data methods in order to generate the container recipe.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.resolve_template","title":"resolve_template()","text":"

          This method should be implemented by the concrete subclass to return the correct template for the container recipe.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.resolve_template_data","title":"resolve_template_data()","text":"

          This method should be implemented by the concrete subclass to return a dictionary of template data for container recipe generation.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.validate","title":"validate()","text":"

          A method that should contain all the validation logic for both container recipe (Singularity, Dockerfile, ...) and image generation.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.validate_tools","title":"validate_tools()","text":"

          A method that gets called as part of image generation that uses TOOLS class attribute to check for the existence of the needed binary/tools on the host system.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/common/","title":"common","text":"

          Dispatch function for container packages

          Authors:

          • Shahzeb Siddiqui (Pfizer)
          • Kenneth Hoste (HPC-UGent)
          • Mohamed Abidi (Bright Computing)
          ","boost":0.5},{"location":"api/easybuild/tools/containers/common/#easybuild.tools.containers.common.containerize","title":"containerize(easyconfigs)","text":"

          Generate container recipe + (optionally) image

          ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/","title":"docker","text":"

          Support for generating docker container recipes and creating container images

          :author Mohamed Abidi (Bright Computing)

          ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/#easybuild.tools.containers.docker.DockerContainer","title":"DockerContainer","text":"

          Bases: ContainerGenerator

          ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/#easybuild.tools.containers.docker.DockerContainer.resolve_template","title":"resolve_template()","text":"

          Return template container recipe.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/#easybuild.tools.containers.docker.DockerContainer.resolve_template_data","title":"resolve_template_data()","text":"

          Return template data for container recipe.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/#easybuild.tools.containers.docker.DockerContainer.validate","title":"validate()","text":"

          Perform validation of specified container configuration.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/","title":"singularity","text":"

          Support for generating singularity container recipes and creating container images

          Authors:

          • Shahzeb Siddiqui (Pfizer)
          • Kenneth Hoste (HPC-UGent)
          • Mohamed Abidi (Bright Computing)
          ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer","title":"SingularityContainer","text":"

          Bases: ContainerGenerator

          ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.build_image","title":"build_image(recipe_path)","text":"

          Build container image by calling out to 'sudo singularity build'.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.resolve_template","title":"resolve_template()","text":"

          Return template container recipe.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.resolve_template_data","title":"resolve_template_data()","text":"

          Return template data for container recipe.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.resolve_template_data_config","title":"resolve_template_data_config()","text":"

          Return template data for container recipe based on what is passed to --container-config.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.singularity_version","title":"singularity_version() staticmethod","text":"

          Get Singularity version.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/utils/","title":"utils","text":"

          Authors:

          • Shahzeb Siddiqui (Pfizer)
          • Kenneth Hoste (HPC-UGent)
          • Mohamed Abidi (Bright Computing)
          ","boost":0.5},{"location":"api/easybuild/tools/containers/utils/#easybuild.tools.containers.utils.check_tool","title":"check_tool(tool_name, min_tool_version=None)","text":"

          This function is a predicate check for the existence of tool_name on the system PATH. If min_tool_version is not None, it will check that the version has an equal or higher value.

          ","boost":0.5},{"location":"api/easybuild/tools/containers/utils/#easybuild.tools.containers.utils.det_os_deps","title":"det_os_deps(easyconfigs)","text":"

          Using an easyconfigs object, this utility function will return a list of operating system dependencies that are required to build one or more easybuilds modules.

          ","boost":0.5},{"location":"api/easybuild/tools/job/","title":"job","text":"
          • easybuild
            • tools
              • job
                • backend
                • gc3pie
                • pbs_python
                • slurm
          ","boost":0.5},{"location":"api/easybuild/tools/job/backend/","title":"backend","text":"

          Abstract interface for submitting jobs and related utilities.

          Authors:

          • Riccardo Murri (University of Zurich)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend","title":"JobBackend","text":"

          Bases: object

          ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.__init__","title":"__init__()","text":"

          Constructor.

          ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.complete","title":"complete() abstractmethod","text":"

          Complete a bulk job submission.

          Releases any jobs that were possibly queued since the last init() call.

          No more job submissions should be attempted after complete() has been called, until a init() is invoked again.

          ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.init","title":"init() abstractmethod","text":"

          Initialise the job backend, to start a bulk job submission.

          Jobs may be queued and only actually submitted when complete() is called.

          ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.make_job","title":"make_job(script, name, env_vars=None, hours=None, cores=None) abstractmethod","text":"

          Create and return a Job object with the given parameters.

          See the Job:class: constructor for an explanation of what the arguments are.

          ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.queue","title":"queue(job, dependencies=frozenset()) abstractmethod","text":"

          Add a job to the queue.

          If second optional argument dependencies is given, it must be a sequence of jobs that must be successfully terminated before the new job can run.

          Note that actual submission may be delayed until complete() is called.

          ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.avail_job_backends","title":"avail_job_backends(check_usable=True)","text":"

          Return all known job execution backends.

          ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.job_backend","title":"job_backend()","text":"

          Return interface to job server, or None if none is available.

          ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/","title":"gc3pie","text":"

          Interface for submitting jobs via GC3Pie.

          Authors:

          • Riccardo Murri (University of Zurich)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.AbortingDependentTaskCollection","title":"AbortingDependentTaskCollection","text":"

          Bases: AbortOnError, DependentTaskCollection

          A DependentTaskCollection:class: that aborts execution upon error.

          This is used to stop the build process in case some dependency fails. See also <https://github.com/easybuilders/easybuild-framework/issues/1441>_

          ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie","title":"GC3Pie","text":"

          Bases: JobBackend

          Use the GC3Pie framework to submit and monitor compilation jobs, see http://gc3pie.readthedocs.org/.

          In contrast with accessing an external service, GC3Pie implements its own workflow manager, which means eb --job --job-backend=GC3Pie will keep running until all jobs have terminated.

          ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.__init__","title":"__init__(*args, **kwargs)","text":"

          GC3Pie JobBackend constructor.

          ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.complete","title":"complete()","text":"

          Complete a bulk job submission.

          Create engine, and progress it until all jobs have terminated.

          ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.init","title":"init()","text":"

          Initialise the GC3Pie job backend.

          ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.make_job","title":"make_job(script, name, env_vars=None, hours=None, cores=None)","text":"

          Create and return a job object with the given parameters.

          Argument script is the content of the job script itself, i.e., the sequence of shell commands that will be executed.

          Argument name sets the job's human-readable name.

          Optional argument env_vars is a dictionary with key-value pairs of environment variables that should be passed on to the job.

          Optional arguments hours and cores should be integer values: - hours must be in the range 1 .. MAX_WALLTIME; - cores depends on which cluster the job is being run.

          ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.queue","title":"queue(job, dependencies=frozenset())","text":"

          Add a job to the queue, optionally specifying dependencies.

          PARAMETER DESCRIPTION dependencies

          jobs on which this job depends.

          DEFAULT: frozenset()

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/","title":"pbs_python","text":"

          Interface module to TORQUE (PBS).

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Toon Willems (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob","title":"PbsJob","text":"

          Bases: object

          Interaction with TORQUE

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.__init__","title":"__init__(server, script, name, env_vars=None, hours=None, cores=None, conn=None, ppn=None)","text":"

          create a new Job to be submitted to PBS env_vars is a dictionary with key-value pairs of environment variables that should be passed on to the job hours and cores should be integer values. hours can be 1 - (max walltime), cores depends on which cluster it is being run.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.__str__","title":"__str__()","text":"

          Return the job ID as a string.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.add_dependencies","title":"add_dependencies(jobs)","text":"

          Add dependencies to this job.

          Argument jobs is a sequence of PbsJob objects.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.has_holds","title":"has_holds()","text":"

          Return whether this job has holds or not.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.info","title":"info(types=None)","text":"

          Return jobinfo

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.release_hold","title":"release_hold(hold_type=None)","text":"

          Release hold on job of specified type.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.remove","title":"remove()","text":"

          Remove the job with id jobid

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.set_hold","title":"set_hold(hold_type=None)","text":"

          Set hold on job of specified type.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.state","title":"state()","text":"

          Return the state of the job State can be 'not submitted', 'running', 'queued' or 'finished',

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython","title":"PbsPython","text":"

          Bases: JobBackend

          Manage PBS server communication and create PbsJob objects.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.__init__","title":"__init__(*args, **kwargs)","text":"

          Constructor.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.complete","title":"complete()","text":"

          Complete a bulk job submission.

          Release all user holds on submitted jobs, and disconnect from server.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.connect_to_server","title":"connect_to_server()","text":"

          Connect to PBS server, set and return connection.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.disconnect_from_server","title":"disconnect_from_server()","text":"

          Disconnect current connection.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.init","title":"init()","text":"

          Initialise the job backend.

          Connect to the PBS server & reset list of submitted jobs.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.make_job","title":"make_job(script, name, env_vars=None, hours=None, cores=None)","text":"

          Create and return a PbsJob object with the given parameters.

          ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.queue","title":"queue(job, dependencies=frozenset())","text":"

          Add a job to the queue.

          PARAMETER DESCRIPTION dependencies

          jobs on which this job depends.

          DEFAULT: frozenset()

          ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/","title":"slurm","text":"

          Support for using Slurm as a backend for --job

          Authors:

          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm","title":"Slurm","text":"

          Bases: JobBackend

          Manage SLURM server communication and create SlurmJob objects.

          ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.__init__","title":"__init__(*args, **kwargs)","text":"

          Constructor.

          ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.complete","title":"complete()","text":"

          Complete a bulk job submission.

          Release all user holds on submitted jobs, and disconnect from server.

          ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.init","title":"init()","text":"

          Initialise the PySlurm job backend.

          ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.make_job","title":"make_job(script, name, env_vars=None, hours=None, cores=None)","text":"

          Create and return a job dict with the given parameters.

          ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.queue","title":"queue(job, dependencies=frozenset())","text":"

          Add a job to the queue.

          PARAMETER DESCRIPTION dependencies

          jobs on which this job depends.

          DEFAULT: frozenset()

          ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.SlurmJob","title":"SlurmJob","text":"

          Bases: object

          Job class for SLURM jobs.

          ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.SlurmJob.__init__","title":"__init__(script, name, env_vars=None, hours=None, cores=None)","text":"

          Create a new Job to be submitted to SLURM.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/","title":"module_naming_scheme","text":"
          • easybuild
            • tools
              • module_naming_scheme
                • categorized_hmns
                • categorized_mns
                • easybuild_mns
                • hierarchical_mns
                • migrate_from_eb_to_hmns
                • mns
                • toolchain
                • utilities
          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/","title":"categorized_hmns","text":"

          Implementation of a hierarchical module naming scheme using module classes.

          Authors:

          • Markus Geimer (Juelich Supercomputing Centre)
          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS","title":"CategorizedHMNS","text":"

          Bases: HierarchicalMNS

          Class implementing an extended hierarchical module naming scheme using the 'moduleclass' easyconfig parameter to categorize modulefiles on each level of the hierarchy.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.categorize_paths","title":"categorize_paths(basepaths)","text":"

          Returns a list of paths where all known (valid) module classes have been added to each of the given base paths.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.det_init_modulepaths","title":"det_init_modulepaths(ec)","text":"

          Determine list of initial module paths (i.e., top of the hierarchy). Appends all known (valid) module classes to the top-level base path.

          Examples: Core/","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.det_modpath_extensions","title":"det_modpath_extensions(ec)","text":"

          Determine module path extensions, if any. Appends all known (valid) module classes to the base path of the corresponding hierarchy level.

          Examples: Compiler/GCC/4.8.3/ (for GCC/4.8.3 module), MPI/GCC/4.8.3/OpenMPI/1.6.5/ (for OpenMPI/1.6.5 module)","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.det_module_subdir","title":"det_module_subdir(ec)","text":"

          Determine module subdirectory, relative to the top of the module path. This determines the separation between module names exposed to users, and what's part of the $MODULEPATH. This implementation appends the 'moduleclass' easyconfig parameter to the base path of the corresponding hierarchy level.

          Examples: Core/compiler, Compiler/GCC/4.8.3/mpi, MPI/GCC/4.8.3/OpenMPI/1.6.5/bio

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.det_user_modpath_extensions","title":"det_user_modpath_extensions(ec)","text":"

          Determine user module path extensions, if any. As typical users are not expected to have many local modules, further categorizing them using module classes is considered overkill. Thus, we are using a plain hierarchical scheme for user modules instead.

          Examples: Compiler/GCC/4.8.3 (for GCC/4.8.3 module), MPI/GCC/4.8.3/OpenMPI/1.6.5 (for OpenMPI/1.6.5 module)

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_mns/","title":"categorized_mns","text":"

          Implementation of a categorized module naming scheme using module classes.

          Authors:

          • Maxime Schmitt (University of Luxembourg)
          • Xavier Besseron (University of Luxembourg)
          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_mns/#easybuild.tools.module_naming_scheme.categorized_mns.CategorizedModuleNamingScheme","title":"CategorizedModuleNamingScheme","text":"

          Bases: ModuleNamingScheme

          Class implementing the categorized module naming scheme.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_mns/#easybuild.tools.module_naming_scheme.categorized_mns.CategorizedModuleNamingScheme.det_full_module_name","title":"det_full_module_name(ec)","text":"

          Determine full module name from given easyconfig, according to the thematic module naming scheme.

          PARAMETER DESCRIPTION ec

          dict-like object with easyconfig parameter values (e.g. 'name', 'version', etc.)

          RETURNS DESCRIPTION

          string representing full module name, e.g.: 'biology/ABySS/1.3.4-goolf-1.4.10'

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_mns/#easybuild.tools.module_naming_scheme.categorized_mns.CategorizedModuleNamingScheme.is_short_modname_for","title":"is_short_modname_for(short_modname, name)","text":"

          Determine whether the specified (short) module name is a module for software with the specified name. Default implementation checks via a strict regex pattern, and assumes short module names are of the form: /[-]","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/easybuild_mns/","title":"easybuild_mns","text":"

          Implementation of (default) EasyBuild module naming scheme.

          Authors:

          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/easybuild_mns/#easybuild.tools.module_naming_scheme.easybuild_mns.EasyBuildMNS","title":"EasyBuildMNS","text":"

          Bases: ModuleNamingScheme

          Class implementing the default EasyBuild module naming scheme.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/easybuild_mns/#easybuild.tools.module_naming_scheme.easybuild_mns.EasyBuildMNS.det_full_module_name","title":"det_full_module_name(ec)","text":"

          Determine full module name from given easyconfig, according to the EasyBuild module naming scheme.

          PARAMETER DESCRIPTION ec

          dict-like object with easyconfig parameter values (e.g. 'name', 'version', etc.)

          RETURNS DESCRIPTION

          string with full module name /, e.g.: 'gzip/1.5-goolf-1.4.10'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/","title":"hierarchical_mns","text":"

          Implementation of an example hierarchical module naming scheme.

          Authors:

          • Kenneth Hoste (Ghent University)
          • Markus Geimer (Forschungszentrum Juelich GmbH)
          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS","title":"HierarchicalMNS","text":"

          Bases: ModuleNamingScheme

          Class implementing an example hierarchical module naming scheme.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_full_module_name","title":"det_full_module_name(ec)","text":"

          Determine full module name, relative to the top of the module path. Examples: Core/GCC/4.8.3, Compiler/GCC/4.8.3/OpenMPI/1.6.5, MPI/GCC/4.8.3/OpenMPI/1.6.5/HPL/2.1

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_full_version","title":"det_full_version(ec)","text":"

          Determine full version, taking into account version prefix/suffix.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_init_modulepaths","title":"det_init_modulepaths(ec)","text":"

          Determine list of initial module paths (i.e. top of the hierarchy).

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_modpath_extensions","title":"det_modpath_extensions(ec)","text":"

          Determine module path extensions, if any. Examples: Compiler/GCC/4.8.3 (for GCC/4.8.3 module), MPI/GCC/4.8.3/OpenMPI/1.6.5 (for OpenMPI/1.6.5 module)

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_module_subdir","title":"det_module_subdir(ec)","text":"

          Determine module subdirectory, relative to the top of the module path. This determines the separation between module names exposed to users, and what's part of the $MODULEPATH. Examples: Core, Compiler/GCC/4.8.3, MPI/GCC/4.8.3/OpenMPI/1.6.5

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_module_symlink_paths","title":"det_module_symlink_paths(ec)","text":"

          Determine list of paths in which symlinks to module files must be created.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_short_module_name","title":"det_short_module_name(ec)","text":"

          Determine short module name, i.e. the name under which modules will be exposed to users. Examples: GCC/4.8.3, OpenMPI/1.6.5, OpenBLAS/0.2.9, HPL/2.1, Python/2.7.5

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_toolchain_compilers_name_version","title":"det_toolchain_compilers_name_version(tc_comps)","text":"

          Determine toolchain compiler tag, for given list of compilers.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.expand_toolchain_load","title":"expand_toolchain_load(ec=None)","text":"

          Determine whether load statements for a toolchain should be expanded to load statements for its dependencies. This is useful when toolchains are not exposed to users.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.requires_toolchain_details","title":"requires_toolchain_details()","text":"

          Determine whether toolchain details are required by this module naming scheme, e.g. whether one of det_toolchain_* functions are relied upon.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/","title":"migrate_from_eb_to_hmns","text":"

          Implementation of a module naming scheme that can be used to migrate from EasyBuildMNS to HierarchicalMNS.

          Authors:

          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/#easybuild.tools.module_naming_scheme.migrate_from_eb_to_hmns.MigrateFromEBToHMNS","title":"MigrateFromEBToHMNS","text":"

          Bases: HierarchicalMNS, EasyBuildMNS

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/#easybuild.tools.module_naming_scheme.migrate_from_eb_to_hmns.MigrateFromEBToHMNS.det_install_subdir","title":"det_install_subdir(ec)","text":"

          Determine name of software installation subdirectory of install path, using EasyBuild MNS.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/","title":"mns","text":"

          Module naming scheme API.

          Authors:

          • Jens Timmerman (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme","title":"ModuleNamingScheme","text":"

          Bases: BaseModuleNamingScheme

          Abstract class for a module naming scheme implementation.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.__init__","title":"__init__(*args, **kwargs)","text":"

          Initialize logger.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_full_module_name","title":"det_full_module_name(ec)","text":"

          Determine full module name, relative to the top of the module path.

          PARAMETER DESCRIPTION ec

          dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

          RETURNS DESCRIPTION

          string with full module name, e.g.: '///'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_init_modulepaths","title":"det_init_modulepaths(ec)","text":"

          Determine initial module paths, where the modules that are top of the hierarchy (if any) live.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_install_subdir","title":"det_install_subdir(ec)","text":"

          Determine name of software installation subdirectory of install path.

          PARAMETER DESCRIPTION ec

          dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

          RETURNS DESCRIPTION

          string with name of subdirectory, e.g.: '///'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_make_devel_module","title":"det_make_devel_module()","text":"

          Determine if a devel module should be generated. Can be used to create a separate set of modules with a different naming scheme. Software is already installed beforehand with one naming scheme, including development module.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_modpath_extensions","title":"det_modpath_extensions(ec)","text":"

          Determine list of subdirectories for which to extend $MODULEPATH with when this module is loaded (if any).

          PARAMETER DESCRIPTION ec

          dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

          RETURNS DESCRIPTION

          A list of $MODULEPATH subdirectories.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_module_subdir","title":"det_module_subdir(ec)","text":"

          Determine subdirectory for module file in $MODULEPATH. This determines the separation between module names exposed to users, and what's part of the $MODULEPATH.

          PARAMETER DESCRIPTION ec

          dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

          RETURNS DESCRIPTION

          string with subdir path (relative to $MODULEPATH), e.g. '/'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_module_symlink_paths","title":"det_module_symlink_paths(ec)","text":"

          Determine list of paths in which symlinks to module files must be created.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_short_module_name","title":"det_short_module_name(ec)","text":"

          Determine short module name, i.e. the name under which modules will be exposed to users.

          PARAMETER DESCRIPTION ec

          dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

          RETURNS DESCRIPTION

          string with module name, e.g. '/'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_user_modpath_extensions","title":"det_user_modpath_extensions(ec)","text":"

          Determine list of subdirectories relative to the user-specific modules directory for which to extend $MODULEPATH with when this module is loaded (if any).

          PARAMETER DESCRIPTION ec

          dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

          RETURNS DESCRIPTION

          A list of $MODULEPATH subdirectories.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.expand_toolchain_load","title":"expand_toolchain_load(ec=None)","text":"

          Determine whether load statements for a toolchain should be expanded to load statements for its dependencies. This is useful when toolchains are not exposed to users.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.is_short_modname_for","title":"is_short_modname_for(short_modname, name)","text":"

          Determine whether the specified (short) module name is a module for software with the specified name. Default implementation checks via a strict regex pattern, and assumes short module names are of the form: /[-]","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.is_sufficient","title":"is_sufficient(keys)","text":"

          Determine whether specified list of easyconfig parameters is sufficient for this module naming scheme.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.requires_toolchain_details","title":"requires_toolchain_details()","text":"

          Determine whether toolchain details are required by this module naming scheme, e.g. whether one of det_toolchain_* functions are relied upon.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/toolchain/","title":"toolchain","text":"

          Toolchain querying support for module naming schemes.

          Authors:

          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/toolchain/#easybuild.tools.module_naming_scheme.toolchain.det_toolchain_compilers","title":"det_toolchain_compilers(ec)","text":"

          Determine compilers of toolchain for given EasyConfig instance.

          PARAMETER DESCRIPTION ec

          a parsed EasyConfig file (an AttributeError will occur if a simple dict is passed)

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/toolchain/#easybuild.tools.module_naming_scheme.toolchain.det_toolchain_element_details","title":"det_toolchain_element_details(tc, elem, allow_missing=False)","text":"

          Determine details of a particular toolchain element, for a given Toolchain instance.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/toolchain/#easybuild.tools.module_naming_scheme.toolchain.det_toolchain_mpi","title":"det_toolchain_mpi(ec)","text":"

          Determine MPI library of toolchain for given EasyConfig instance.

          PARAMETER DESCRIPTION ec

          a parsed EasyConfig file (an AttributeError will occur if a simple dict is passed)

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/","title":"utilities","text":"

          Utility functions for implementating module naming schemes.

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          • Fotis Georgatos (Uni.Lu, NTUA)
          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/#easybuild.tools.module_naming_scheme.utilities.avail_module_naming_schemes","title":"avail_module_naming_schemes()","text":"

          Returns a list of available module naming schemes.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/#easybuild.tools.module_naming_scheme.utilities.det_full_ec_version","title":"det_full_ec_version(ec)","text":"

          Determine exact install version, based on supplied easyconfig. e.g. 1.2.3-goalf-1.1.0-no-OFED or 1.2.3 (for system toolchains)

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/#easybuild.tools.module_naming_scheme.utilities.det_hidden_modname","title":"det_hidden_modname(modname)","text":"

          Determine the hidden equivalent of the specified module name.

          ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/#easybuild.tools.module_naming_scheme.utilities.is_valid_module_name","title":"is_valid_module_name(mod_name)","text":"

          Check whether the specified value is a valid module name.

          ","boost":0.5},{"location":"api/easybuild/tools/package/","title":"package","text":"
          • easybuild
            • tools
              • package
                • package_naming_scheme
                  • easybuild_deb_friendly_pns
                  • easybuild_pns
                  • pns
                • utilities
          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/","title":"utilities","text":"

          Various utilities related to packaging support.

          Authors:

          • Marc Litherland (Novartis)
          • Gianluca Santarossa (Novartis)
          • Robert Schmidt (The Ottawa Hospital, Research Institute)
          • Fotis Georgatos (Uni.Lu, NTUA)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS","title":"ActivePNS","text":"

          Bases: BaseActivePNS

          The wrapper class for Package Naming Schemes.

          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS.__init__","title":"__init__()","text":"

          Initialize logger and find available PNSes to load

          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS.name","title":"name(easyconfig)","text":"

          Determine package name

          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS.release","title":"release(easyconfig)","text":"

          Determine package release

          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS.version","title":"version(easyconfig)","text":"

          Determine package version

          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.avail_package_naming_schemes","title":"avail_package_naming_schemes()","text":"

          Returns the list of valed naming schemes They are loaded from the easybuild.package.package_naming_scheme namespace

          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.check_pkg_support","title":"check_pkg_support()","text":"

          Check whether packaging is possible, if required dependencies are available.

          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.package","title":"package(easyblock)","text":"

          Package installed software, according to active packaging configuration settings.

          ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.package_with_fpm","title":"package_with_fpm(easyblock)","text":"

          This function will build a package using fpm and return the directory where the packages are

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/","title":"package_naming_scheme","text":"
          • easybuild
            • tools
              • package
                • package_naming_scheme
                  • easybuild_deb_friendly_pns
                  • easybuild_pns
                  • pns
          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/","title":"easybuild_deb_friendly_pns","text":"

          Implementation of the EasyBuild deb friendly packaging naming scheme

          :author: Robert Schmidt (Ottawa Hospital Research Institute) :author: Kenneth Hoste (Ghent University) :author: Martin Budsj\u00f6 (VolvoCars)

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/#easybuild.tools.package.package_naming_scheme.easybuild_deb_friendly_pns.EasyBuildDebFriendlyPNS","title":"EasyBuildDebFriendlyPNS","text":"

          Bases: EasyBuildPNS

          Class implmenting the Deb friendly EasyBuild packaging naming scheme.

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/#easybuild.tools.package.package_naming_scheme.easybuild_deb_friendly_pns.EasyBuildDebFriendlyPNS.version","title":"version(ec)","text":"

          Determine package version: EasyBuild version used to build & install.

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_pns/","title":"easybuild_pns","text":"

          Implementation of the EasyBuild packaging naming scheme

          Authors:

          • Robert Schmidt (Ottawa Hospital Research Institute)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_pns/#easybuild.tools.package.package_naming_scheme.easybuild_pns.EasyBuildPNS","title":"EasyBuildPNS","text":"

          Bases: PackageNamingScheme

          Class implmenting the default EasyBuild packaging naming scheme.

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_pns/#easybuild.tools.package.package_naming_scheme.easybuild_pns.EasyBuildPNS.name","title":"name(ec)","text":"

          Determine package name

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_pns/#easybuild.tools.package.package_naming_scheme.easybuild_pns.EasyBuildPNS.version","title":"version(ec)","text":"

          Determine package version: EasyBuild version used to build & install.

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/","title":"pns","text":"

          Abstract implementation of a package naming scheme.

          Authors:

          • Robert Schmidt (Ottawa Hospital Research Institute)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme","title":"PackageNamingScheme","text":"

          Bases: object

          Abstract class for package naming schemes

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme.__init__","title":"__init__()","text":"

          initialize logger.

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme.name","title":"name(ec) abstractmethod","text":"

          Determine package name

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme.release","title":"release(ec=None)","text":"

          Determine package release

          ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme.version","title":"version(ec) abstractmethod","text":"

          Determine package version.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/","title":"py2vs3","text":"
          • easybuild
            • tools
              • py2vs3
                • py2
                • py3
          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/","title":"py2","text":"

          Functionality to facilitate keeping code compatible with Python 2 & Python 3.

          Implementations for Python 3.

          Authors:

          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.extract_method_name","title":"extract_method_name(method_func)","text":"

          Extract method name from lambda function.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.json_loads","title":"json_loads(body)","text":"

          Wrapper for json.loads that takes into account that Python versions older than 3.6 require a string value.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.load_source","title":"load_source(filename, path)","text":"

          Load file as Python module

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.raise_with_traceback","title":"raise_with_traceback(exception_class, message, traceback)","text":"

          Raise exception of specified class with given message and traceback.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.safe_cmp_looseversions","title":"safe_cmp_looseversions(v1, v2)","text":"

          Safe comparison function for two (values containing) LooseVersion instances.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.sort_looseversions","title":"sort_looseversions(looseversions)","text":"

          Sort list of (values including) distutils.version.LooseVersion instances.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.subprocess_popen_text","title":"subprocess_popen_text(cmd, **kwargs)","text":"

          Call subprocess.Popen in text mode with specified named arguments.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.subprocess_terminate","title":"subprocess_terminate(proc, timeout)","text":"

          Terminate the subprocess if it hasn't finished after the given timeout

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/","title":"py3","text":"

          Functionality to facilitate keeping code compatible with Python 2 & Python 3.

          Implementations for Python 3.

          Authors:

          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.extract_method_name","title":"extract_method_name(method_func)","text":"

          Extract method name from lambda function.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.json_loads","title":"json_loads(body)","text":"

          Wrapper for json.loads that takes into account that Python versions older than 3.6 require a string value.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.load_source","title":"load_source(filename, path)","text":"

          Load file as Python module

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.raise_with_traceback","title":"raise_with_traceback(exception_class, message, traceback)","text":"

          Raise exception of specified class with given message and traceback.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.safe_cmp_looseversions","title":"safe_cmp_looseversions(v1, v2)","text":"

          Safe comparison function for two (values containing) LooseVersion instances.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.sort_looseversions","title":"sort_looseversions(looseversions)","text":"

          Sort list of (values including) distutils.version.LooseVersion instances.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.subprocess_popen_text","title":"subprocess_popen_text(cmd, **kwargs)","text":"

          Call subprocess.Popen in text mode with specified named arguments.

          ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.subprocess_terminate","title":"subprocess_terminate(proc, timeout)","text":"

          Terminate the subprocess if it hasn't finished after the given timeout

          ","boost":0.5},{"location":"api/easybuild/tools/repository/","title":"repository","text":"
          • easybuild
            • tools
              • repository
                • filerepo
                • gitrepo
                • hgrepo
                • repository
                • svnrepo
          ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/","title":"filerepo","text":"

          Repository tools

          Plain filesystem repository

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          • Toon Willems (Ghent University)
          • Ward Poelmans (Ghent University)
          • Fotis Georgatos (Uni.Lu, NTUA)
          ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository","title":"FileRepository","text":"

          Bases: Repository

          Class for file repositories.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous)","text":"

          Add easyconfig to repository

          PARAMETER DESCRIPTION cfg

          location of easyconfig file

          name

          software name

          version

          software install version, incl. toolchain & versionsuffix

          stats

          build stats, to add to archived easyconfig

          previous

          list of previous build stats

          RETURNS DESCRIPTION

          location of archived easyconfig

          ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.add_patch","title":"add_patch(patch, name)","text":"

          Add patch file to repository

          PARAMETER DESCRIPTION patch

          location of patch file

          name

          software name

          RETURNS DESCRIPTION

          location of archived patch

          ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.create_working_copy","title":"create_working_copy()","text":"

          set the working directory to the repo directory

          ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.get_buildstats","title":"get_buildstats(name, ec_version)","text":"

          return the build statistics

          ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.setup_repo","title":"setup_repo()","text":"

          for file based repos this will create the repo directory if it doesn't exist.

          if a subdir is specified also create the subdir

          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/","title":"gitrepo","text":"

          Repository tools

          Git repository

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          • Toon Willems (Ghent University)
          • Ward Poelmans (Ghent University)
          • Fotis Georgatos (Uni.Lu, NTUA)
          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository","title":"GitRepository","text":"

          Bases: FileRepository

          Class for git repositories.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.__init__","title":"__init__(*args)","text":"

          Initialize git client to None (will be set later) All the real logic is in the setup_repo and create_working_copy methods

          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous_stats)","text":"

          Add easyconfig to git repository

          PARAMETER DESCRIPTION cfg

          location of easyconfig file

          name

          software name

          version

          software install version, incl. toolchain & versionsuffix

          stats

          build stats, to add to archived easyconfig

          previous_stats

          list of previous build stats

          RETURNS DESCRIPTION

          location of archived easyconfig

          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.add_patch","title":"add_patch(patch, name)","text":"

          Add patch to git repository

          PARAMETER DESCRIPTION patch

          location of patch file

          name

          software name

          RETURNS DESCRIPTION

          location of archived patch

          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.cleanup","title":"cleanup()","text":"

          Clean up git working copy.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.commit","title":"commit(msg=None)","text":"

          Commit working copy to git repository

          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.create_working_copy","title":"create_working_copy()","text":"

          Create git working copy.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.setup_repo","title":"setup_repo()","text":"

          Set up git repository.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.stage_file","title":"stage_file(path)","text":"

          Stage file at specified location in repository for commit

          PARAMETER DESCRIPTION path

          location of file to stage

          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/","title":"hgrepo","text":"

          Repository tools

          Mercurial repository

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          • Toon Willems (Ghent University)
          • Ward Poelmans (Ghent University)
          • Fotis Georgatos (University of Luxembourg)
          • Cedric Clerget (University of Franche-Comte)
          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository","title":"HgRepository","text":"

          Bases: FileRepository

          Class for hg repositories.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.__init__","title":"__init__(*args)","text":"

          Initialize mercurial client to None (will be set later) All the real logic is in the setup_repo and create_working_copy methods

          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous_stats)","text":"

          Add easyconfig to Mercurial repository

          PARAMETER DESCRIPTION cfg

          location of easyconfig file

          name

          software name

          version

          software install version, incl. toolchain & versionsuffix

          stats

          build stats, to add to archived easyconfig

          previous_stats

          list of previous build stats

          RETURNS DESCRIPTION

          location of archived easyconfig

          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.add_patch","title":"add_patch(patch, name)","text":"

          Add patch to Mercurial repository

          PARAMETER DESCRIPTION patch

          location of patch file

          name

          software name

          RETURNS DESCRIPTION

          location of archived patch

          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.cleanup","title":"cleanup()","text":"

          Clean up mercurial working copy.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.commit","title":"commit(msg=None)","text":"

          Commit working copy to mercurial repository

          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.create_working_copy","title":"create_working_copy()","text":"

          Create mercurial working copy.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.setup_repo","title":"setup_repo()","text":"

          Set up mercurial repository.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.stage_file","title":"stage_file(path)","text":"

          Stage file at specified location in repository for commit

          PARAMETER DESCRIPTION path

          location of file to stage

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/","title":"repository","text":"

          Generic support for dealing with repositories

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          • Toon Willems (Ghent University)
          • Ward Poelmans (Ghent University)
          • Fotis Georgatos (Uni.Lu, NTUA)
          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository","title":"Repository","text":"

          Bases: object

          Interface for repositories

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.__init__","title":"__init__(repo_path, subdir='')","text":"

          Initialize a repository. self.repo and self.subdir will be set. self.wc will be set to None. Then, setup_repo and create_working_copy will be called (in that order)

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous)","text":"

          Add easyconfig to repository

          PARAMETER DESCRIPTION cfg

          location of easyconfig file

          name

          software name

          version

          software install version, incl. toolchain & versionsuffix

          stats

          build stats, to add to archived easyconfig

          previous

          list of previous build stats

          RETURNS DESCRIPTION

          location of archived easyconfig

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.add_patch","title":"add_patch(patch)","text":"

          Add patch file to repository

          PARAMETER DESCRIPTION patch

          location of patch file

          RETURNS DESCRIPTION

          location of archived patch

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.cleanup","title":"cleanup()","text":"

          Clean up working copy.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.commit","title":"commit(msg=None)","text":"

          Commit working copy - add msg - add more info to msg

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.create_working_copy","title":"create_working_copy()","text":"

          Create working copy.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.get_buildstats","title":"get_buildstats(name, ec_version)","text":"

          Get the build statististics for software with name and easyconfig version

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.init","title":"init()","text":"

          Prepare repository for use.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.is_initialized","title":"is_initialized()","text":"

          Indicate whether repository was initialized.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.setup_repo","title":"setup_repo()","text":"

          Set up repository.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.stage_file","title":"stage_file(path)","text":"

          Stage file at specified location in repository for commit

          PARAMETER DESCRIPTION path

          location of file to stage

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.avail_repositories","title":"avail_repositories(check_useable=True)","text":"

          Return all available repositories. check_useable: boolean, if True, only return usable repositories

          ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.init_repository","title":"init_repository(repository, repository_path)","text":"

          Return an instance of the selected repository class.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/","title":"svnrepo","text":"

          Repository tools

          Svn repository

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Dries Verdegem (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Pieter De Baets (Ghent University)
          • Jens Timmerman (Ghent University)
          • Toon Willems (Ghent University)
          • Ward Poelmans (Ghent University)
          • Fotis Georgatos (Uni.Lu, NTUA)
          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository","title":"SvnRepository","text":"

          Bases: FileRepository

          Class for svn repositories

          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.__init__","title":"__init__(*args)","text":"

          Set self.client to None. Real logic is in setup_repo and create_working_copy

          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous_stats)","text":"

          Add easyconfig to SVN repository

          PARAMETER DESCRIPTION cfg

          location of easyconfig file

          name

          software name

          version

          software install version, incl. toolchain & versionsuffix

          stats

          build stats, to add to archived easyconfig

          previous_stats

          list of previous build stats

          RETURNS DESCRIPTION

          location of archived easyconfig

          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.add_patch","title":"add_patch(patch, name)","text":"

          Add patch to SVN repository

          PARAMETER DESCRIPTION patch

          location of patch file

          name

          software name

          RETURNS DESCRIPTION

          location of archived patch

          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.cleanup","title":"cleanup()","text":"

          Clean up SVN working copy.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.commit","title":"commit(msg=None)","text":"

          Commit working copy to SVN repository

          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.create_working_copy","title":"create_working_copy()","text":"

          Create SVN working copy.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.setup_repo","title":"setup_repo()","text":"

          Set up SVN repository.

          ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.stage_file","title":"stage_file(path)","text":"

          Stage file at specified location in repository for commit

          PARAMETER DESCRIPTION path

          location of file to stage

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/","title":"toolchain","text":"
          • easybuild
            • tools
              • toolchain
                • compiler
                • constants
                • fft
                • linalg
                • mpi
                • options
                • toolchain
                • toolchainvariables
                • utilities
                • variables
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/","title":"compiler","text":"

          Toolchain compiler module, provides abstract class for compilers.

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          • Damian Alvarez (Forschungszentrum Juelich GmbH)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler","title":"Compiler","text":"

          Bases: Toolchain

          General compiler-like class can't be used without creating new class C(Compiler,Toolchain)

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler.__init__","title":"__init__(*args, **kwargs)","text":"

          Compiler constructor.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler.comp_family","title":"comp_family(prefix=None)","text":"

          Return compiler family used in this toolchain. @prefix: Prefix for compiler (e.g. 'CUDA_').

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler.set_options","title":"set_options(options)","text":"

          Process compiler toolchain options.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler.set_variables","title":"set_variables()","text":"

          Set the variables

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.mk_infix","title":"mk_infix(prefix)","text":"

          Create an infix based on the given prefix.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/constants/","title":"constants","text":"

          Toolchain specific variables

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/fft/","title":"fft","text":"

          Toolchain fft module, provides abstract class for FFT libraries.

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/fft/#easybuild.tools.toolchain.fft.Fft","title":"Fft","text":"

          Bases: Toolchain

          General FFT-like class To provide FFT tools

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/fft/#easybuild.tools.toolchain.fft.Fft.set_variables","title":"set_variables()","text":"

          Set the variables

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/","title":"linalg","text":"

          Toolchain linalg module. Contains all (scalable) linear algebra related classes

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/#easybuild.tools.toolchain.linalg.LinAlg","title":"LinAlg","text":"

          Bases: Toolchain

          General LinearAlgebra-like class can't be used without creating new class S(LinAlg) To provide the BLAS/LAPACK/ScaLAPACK tools

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/#easybuild.tools.toolchain.linalg.LinAlg.blas_family","title":"blas_family()","text":"

          Return type of BLAS library used in this toolchain.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/#easybuild.tools.toolchain.linalg.LinAlg.lapack_family","title":"lapack_family()","text":"

          Return type of LAPACK library used in this toolchain.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/#easybuild.tools.toolchain.linalg.LinAlg.set_variables","title":"set_variables()","text":"

          Set the variables

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/","title":"mpi","text":"

          Toolchain mpi module. Contains all MPI related classes

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi","title":"Mpi","text":"

          Bases: Toolchain

          General MPI-like class can't be used without creating new class M(Mpi)

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi.mpi_cmd_for","title":"mpi_cmd_for(cmd, nr_ranks)","text":"

          Construct an MPI command for the given command and number of ranks.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi.mpi_cmd_prefix","title":"mpi_cmd_prefix(nr_ranks=1)","text":"

          Construct an MPI command prefix to precede an executable

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi.mpi_family","title":"mpi_family()","text":"

          Return type of MPI library used in this toolchain.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi.set_variables","title":"set_variables()","text":"

          Set the variables

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.get_mpi_cmd_template","title":"get_mpi_cmd_template(mpi_family, params, mpi_version=None)","text":"

          Return template for MPI command, for specified MPI family.

          PARAMETER DESCRIPTION mpi_family

          MPI family to use to determine MPI command template

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/options/","title":"options","text":"

          The toolchain options module contains the ToolchainOptions class These are the options that can be passed to the toolchain through the easyconfig files

          Map values can be string with named templates By default following named options is filled %(opt)s : option name %(value)s : option value

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/options/#easybuild.tools.toolchain.options.ToolchainOptions","title":"ToolchainOptions","text":"

          Bases: dict

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/options/#easybuild.tools.toolchain.options.ToolchainOptions.add_options","title":"add_options(options=None, options_map=None)","text":"

          Add @options: dict with options : tuple option_name and option_description @options_map: dict with a mapping between and option and a value

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/options/#easybuild.tools.toolchain.options.ToolchainOptions.option","title":"option(name, templatedict=None)","text":"

          Return option value

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/","title":"toolchain","text":"

          The toolchain module with the abstract Toolchain class.

          Creating a new toolchain should be as simple as possible.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain--toolchain-terminology","title":"Toolchain terminology","text":"

          Toolchain: group of development related utilities (eg compiler) and libraries (eg MPI, linear algebra) -> eg tc=Toolchain()

          Toolchain options : options passed to the toolchain through the easyconfig file -> eg tc.options

          Options : all options passed to an executable Flags: specific subset of options, typically involved with compilation -> eg tc.variables.CFLAGS LinkOptions: specific subset of options, typically involved with linking -> eg tc.variables.LIBBLAS

          TooclchainVariables: list of environment variables that are set when the toolchain is initialised and the toolchain options have been parsed. -> eg tc.variables['X'] will be available as os.environ['X']

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain","title":"Toolchain","text":"

          Bases: object

          General toolchain class

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.__init__","title":"__init__(name=None, version=None, mns=None, class_constants=None, tcdeps=None, modtool=None, hidden=False)","text":"

          Toolchain constructor.

          PARAMETER DESCRIPTION name

          toolchain name

          DEFAULT: None

          version

          toolchain version

          DEFAULT: None

          mns

          module naming scheme to use

          DEFAULT: None

          class_constants

          toolchain 'constants' to define

          DEFAULT: None

          tcdeps

          list of toolchain 'dependencies' (i.e., the toolchain components)

          DEFAULT: None

          modtool

          ModulesTool instance to use

          DEFAULT: None

          hidden

          bool indicating whether toolchain is hidden or not

          DEFAULT: False

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.add_dependencies","title":"add_dependencies(dependencies)","text":"

          [DEPRECATED] Verify if the given dependencies exist, and return them.

          This method is deprecated. You should pass the dependencies to the 'prepare' method instead, via the 'deps' named argument.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.as_dict","title":"as_dict(name=None, version=None)","text":"

          Return toolchain specification as a dictionary.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.banned_linked_shared_libs","title":"banned_linked_shared_libs()","text":"

          List of shared libraries (names, file names, paths) which are not allowed to be linked in any installed binary/library.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.base_init","title":"base_init()","text":"

          Initialise missing class attributes (log, options, variables).

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.blas_family","title":"blas_family()","text":"

          Return type of BLAS library used in this toolchain, or 'None' if BLAS is not supported.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.cleanup","title":"cleanup()","text":"

          Clean up after using this toolchain

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.comp_cache_compilers","title":"comp_cache_compilers(cache_tool)","text":"

          Determine list of relevant compilers for specified compiler caching tool.

          PARAMETER DESCRIPTION cache_tool

          name of compiler caching tool

          RETURNS DESCRIPTION

          list of names of relevant compilers

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.comp_family","title":"comp_family()","text":"

          Return compiler family used in this toolchain (abstract method).

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.compilers","title":"compilers()","text":"

          Return list of relevant compilers for this toolchain

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.definition","title":"definition()","text":"

          Determine toolchain elements for given Toolchain instance.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.det_short_module_name","title":"det_short_module_name()","text":"

          Determine module name for this toolchain.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.generate_vars","title":"generate_vars()","text":"

          Convert the variables in simple vars

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_dependency_version","title":"get_dependency_version(dependency)","text":"

          Generate a version string for a dependency on a module using this toolchain

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_flag","title":"get_flag(name)","text":"

          Get compiler flag for a certain option.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_software_root","title":"get_software_root(names)","text":"

          Try to get the software root for all names

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_software_version","title":"get_software_version(names, required=True)","text":"

          Try to get the software version for all names

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_variable","title":"get_variable(name, typ=str)","text":"

          Get value for specified variable. typ: indicates what type of return value is expected

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.handle_sysroot","title":"handle_sysroot()","text":"

          Extra stuff to be done when alternate system root is specified via --sysroot EasyBuild configuration option.

          • Update $PKG_CONFIG_PATH to include sysroot location to pkg-config files (*.pc).
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(name)","text":"

          Check whether a specific software name is listed as a dependency in the module for this toolchain.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_deprecated","title":"is_deprecated()","text":"

          Return whether or not this toolchain is deprecated.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_required","title":"is_required(name)","text":"

          Determine whether this is a required toolchain element.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_rpath_wrapper","title":"is_rpath_wrapper(path) staticmethod","text":"

          Check whether command at specified location already is an RPATH wrapper script rather than the actual command

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_system_toolchain","title":"is_system_toolchain()","text":"

          Return boolean to indicate whether this toolchain is a system(/dummy) toolchain.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.lapack_family","title":"lapack_family()","text":"

          Return type of LAPACK library used in this toolchain, or 'None' if LAPACK is not supported.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.mpi_family","title":"mpi_family()","text":"

          Return type of MPI library used in this toolchain, or 'None' if MPI is not supported.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.prepare","title":"prepare(onlymod=None, deps=None, silent=False, loadmod=True, rpath_filter_dirs=None, rpath_include_dirs=None)","text":"

          Prepare a set of environment parameters based on name/version of toolchain - load modules for toolchain and dependencies - generate extra variables and set them in the environment

          PARAMETER DESCRIPTION deps

          list of dependencies

          DEFAULT: None

          onlymod

          boolean/string to indicate if the toolchain should only load the environment with module (True) or also set all other variables (False) like compiler CC etc (If string: comma separated list of variables that will be ignored).

          DEFAULT: None

          silent

          keep quiet, or not (mostly relates to extended dry run output)

          DEFAULT: False

          loadmod

          whether or not to (re)load the toolchain module, and the modules for the dependencies

          DEFAULT: True

          rpath_filter_dirs

          extra directories to include in RPATH filter (e.g. build dir, tmpdir, ...)

          DEFAULT: None

          rpath_include_dirs

          extra directories to include in RPATH

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.prepare_compiler_cache","title":"prepare_compiler_cache(cache_tool)","text":"

          Prepare for using specified compiler caching tool (e.g., ccache, f90cache)

          PARAMETER DESCRIPTION cache_tool

          name of compiler caching tool to prepare for

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.prepare_rpath_wrappers","title":"prepare_rpath_wrappers(rpath_filter_dirs=None, rpath_include_dirs=None)","text":"

          Put RPATH wrapper script in place for compiler and linker commands

          PARAMETER DESCRIPTION rpath_filter_dirs

          extra directories to include in RPATH filter (e.g. build dir, tmpdir, ...)

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.required_linked_shared_libs","title":"required_linked_shared_libs()","text":"

          List of shared libraries (names, file names, paths) which must be linked in all installed binaries/libraries.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.reset","title":"reset()","text":"

          Reset this toolchain instance.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.set_minimal_build_env","title":"set_minimal_build_env()","text":"

          Set up a minimal build environment, by setting (only) the $CC and $CXX environment variables.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.set_options","title":"set_options(options)","text":"

          Process toolchain options

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.set_variables","title":"set_variables()","text":"

          Do nothing? Everything should have been set by others Needs to be defined for super() relations

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.show_variables","title":"show_variables(offset='', sep='\\n', verbose=False)","text":"

          Pretty print the variables

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.symlink_commands","title":"symlink_commands(paths)","text":"

          Create a symlink for each command to binary/script at specified path.

          PARAMETER DESCRIPTION paths

          dictionary containing one or mappings, each one specified as a tuple: (, )

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.toolchain_family","title":"toolchain_family()","text":"

          Return toolchain family for this toolchain.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.variables_init","title":"variables_init()","text":"

          Initialise toolchain variables.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.env_vars_external_module","title":"env_vars_external_module(name, version, metadata)","text":"

          Determine $EBROOT and/or $EBVERSION environment variables that can be set for external module, based on the provided name, version and metadata.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.is_system_toolchain","title":"is_system_toolchain(tc_name)","text":"

          Return whether toolchain with specified name is a system toolchain or not.

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchainvariables/","title":"toolchainvariables","text":"

          Toolchain specific variables

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchainvariables/#easybuild.tools.toolchain.toolchainvariables.ToolchainVariables","title":"ToolchainVariables","text":"

          Bases: Variables

          Class to hold variable-like key/value pairs in context of compilers (i.e. the generated string are e.g. compiler options or link flags)

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchainvariables/#easybuild.tools.toolchain.toolchainvariables.ToolchainVariables.add_begin_end_linkerflags","title":"add_begin_end_linkerflags(lib, toggle_startstopgroup=False, toggle_staticdynamic=False)","text":"

          For given lib if toggle_startstopgroup: toggle begin/end group if toggle_staticdynamic: toggle static/dynamic

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/utilities/","title":"utilities","text":"

          Toolchain utility module

          Easy access to actual Toolchain classes search_toolchain

          Based on VSC-tools vsc.mympirun.mpi.mpi and vsc.mympirun.rm.sched

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/utilities/#easybuild.tools.toolchain.utilities.get_toolchain","title":"get_toolchain(tc, tcopts, mns=None, tcdeps=None, modtool=None)","text":"

          Return an initialized toolchain for the given specifications. If none is available in the toolchain instances cache, a new one is created.

          PARAMETER DESCRIPTION tc

          dictionary specifying toolchain name/version

          tcopts

          dictionary specifying toolchain options

          mns

          module naming scheme to use

          DEFAULT: None

          tcdeps

          toolchain dependencies (i.e. toolchain components)

          DEFAULT: None

          modtool

          ModulesTool instance to use

          DEFAULT: None

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/utilities/#easybuild.tools.toolchain.utilities.search_toolchain","title":"search_toolchain(name)","text":"

          Obtain a Toolchain instance for the toolchain with specified name, next to a list of available toolchains.

          PARAMETER DESCRIPTION name

          toolchain name

          RETURNS DESCRIPTION

          Toolchain instance (or None), found_toolchains

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/","title":"variables","text":"

          Toolchain specific variables

          Authors:

          • Stijn De Weirdt (Ghent University)
          • Kenneth Hoste (Ghent University)
          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.CommaSharedLibs","title":"CommaSharedLibs","text":"

          Bases: LibraryList

          Comma-separated list of shared libraries

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.CommaStaticLibs","title":"CommaStaticLibs","text":"

          Bases: LibraryList

          Comma-separated list of static libraries

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.CommandFlagList","title":"CommandFlagList","text":"

          Bases: FlagList

          Command and flags list First of the list has no prefix (i.e. the executable) The remainder of the options are considered flags

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.FlagList","title":"FlagList","text":"

          Bases: StrList

          Flag list

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.IncludePaths","title":"IncludePaths","text":"

          Bases: AbsPathList

          Absolute path to directory containing include files

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LibraryList","title":"LibraryList","text":"

          Bases: StrList

          Link library list

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LibraryList.change","title":"change(separator=None, separator_begin_end=None, prefix=None, prefix_begin_end=None)","text":"

          Change prefix and/or separator of base and/or BEGIN/END

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LibraryList.set_packed_linker_options","title":"set_packed_linker_options(separator=',', separator_begin_end=',', prefix=None, prefix_begin_end=None)","text":"

          Use packed linker options format

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkLibraryPaths","title":"LinkLibraryPaths","text":"

          Bases: AbsPathList

          Absolute path to directory containing libraries

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList","title":"LinkerFlagList","text":"

          Bases: StrList

          Linker flags

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList.toggle_dynamic","title":"toggle_dynamic()","text":"

          Append dynamic linking flags

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList.toggle_startgroup","title":"toggle_startgroup()","text":"

          Append start group

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList.toggle_static","title":"toggle_static()","text":"

          Append static linking flags

          ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList.toggle_stopgroup","title":"toggle_stopgroup()","text":"

          Append stop group

          ","boost":0.5},{"location":"demos/","title":"Demos","text":"

          List of available demos:

          • Demo: configuring EasyBuild
          • Demo: reviewing easyconfig pull requests with eb --review-pr
          "},{"location":"demos/configuring/","title":"Demo: configuring EasyBuild","text":"

          (see also Configuring EasyBuild)

          "},{"location":"demos/review-pr/","title":"Demo: reviewing easyconfig pull requests with eb --review-pr","text":"

          (see also Comparing with existing easyconfigs (--review-pr))

          "},{"location":"easybuild-v4/overview-of-changes/","title":"Overview of changes in EasyBuild version 4.0","text":"

          This page provides a concise overview of the most prominent changes in EasyBuild version 4.0, compared to the latest EasyBuild v3.x (version 3.9.4).

          A detailed overview with links to the pull requests in which the changes are made is available in the EasyBuild release notes (see EasyBuild v4.0.0 (September 20th 2019) in particular).

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_significant_enhancements","title":"Significant enhancements in EasyBuild v4.0","text":"

          Various significant enhancements are included in EasyBuild v4.0, including:

          • No more required Python packages
          • Support for running EasyBuild on top of Python 3
          • Custom software-specific easyblocks for iccifort, numexpr, OpenMPI
          • 2019b update of common toolchains
          • Local variables in easyconfigs should follow recommended naming scheme
          "},{"location":"easybuild-v4/overview-of-changes/#eb4_no_required_deps","title":"No more required Python packages","text":"

          To simplify the installation of EasyBuild, no Python packages other than the ones included in the Python standard library are required for EasyBuild v4.0. More specifically:

          • setuptools is no longer a required dependency, neither for using EasyBuild nor for installing it. This change was motivated by the various problems with installing EasyBuild that were reported, which could often be attributed to setuptools in one way or another (ancient versions being installed via the OS package manager, quirky or broken functionality in specific versions, etc.).
          • vsc-base and vsc-install are no longer required dependencies. The relevant parts of these packages were ingested into the EasyBuild framework codebase itself (see also Ingested functionality from vsc-base and vsc-install), mostly to facilitate making EasyBuild compatible with Python 3.

          Note that specific Python packages may currently still be required for certain EasyBuild functionality outside of the core functionality of building and installing scientific software, including keyring for the GitHub integration features (see Integration with GitHub), etc.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_python3_support","title":"Support for running EasyBuild on top of Python 3","text":"

          A significant effort has been made to ensure that the EasyBuild framework and the easyblocks included with EasyBuild are compatible with Python 3, while retaining the compatibility with Python 2.

          Currently supported Python versions include: 2.6, 2.7, 3.5, 3.6, 3.7.

          To achieve this in a maintainable way, the easybuild.tools.py2vs3 package was introduced. For more details, please see Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_custom_easyblocks","title":"Custom software-specific easyblocks for iccifort, numexpr, OpenMPI","text":"

          A couple of additional custom software-specific easyblocks were added in EasyBuild v4.0, including:

          • iccifort: to install icc and ifort together in a single prefix, and use that installation as a toolchain
          • numexpr: to ensure that numexpr is linked with Intel MKL's VML when it is available
          • OpenMPI: to improve the (default) configuration of OpenMPI based on installed OS packages (for example for InfiniBand support) and available dependencies

          In addition, various (generic and software-specific) easyblocks were improved and enhanced (see EasyBuild release notes for more details).

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_2019b_common_toolchains","title":"2019b update of common toolchains","text":"

          The 2019b update of the common toolchains is included with EasyBuild v4.0; see also Common toolchains.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_local_variables","title":"Local variables in easyconfigs should follow recommended naming scheme","text":"

          A recommended naming scheme for local variables in easyconfig files was introduced.

          If an easyconfig file contains local variables that do not follow the recommended naming scheme, a warning will be printed (by default).

          For more information, see Local variables in easyconfig files.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_backwards_incompatible","title":"Backwards-incompatible changes in EasyBuild v4.0","text":"

          A couple of backwards-incompatible changes were made in EasyBuild v4.0:

          • --fixed-installdir-naming-scheme enabled by default
          • Relocated functions, classes and constants in EasyBuild framework
          • Ingested functionality from vsc-base and vsc-install
          • Functions & classes that must be imported from the easybuild.tools.py2vs3 namespace

          Note

          Other than the changed default configuration, these changes are mainly important for developers of the EasyBuild framework and easyblock implementers.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_fixed_installdir_naming_scheme","title":"--fixed-installdir-naming-scheme enabled by default","text":"

          The --fixed-installdir-naming-scheme was changed to be enabled by default, which makes the name of the software installation directory independent of the module naming scheme being used.

          With this configuration setting enabled, the name of software installation directories will match the module name generated by the (default) EasyBuildMNS module naming scheme.

          So, for an easyconfig file example-1.2.3-foss-2019b.eb, the software installation directory will always be <prefix>/software/example/1.2.3-foss-2019b, regardless of the active module naming scheme.

          This change was done to make it easier to generate module files using one or more additional module naming scheme (using --module-only) for already existing software installations. Only when the name of the software installation directories is independent of the module naming scheme being used during the (first) installation is it possible to later generate additional module files using a different module naming scheme.

          Note

          Having --fixed-installdir-naming-scheme enabled should not cause problems in existing setups.

          Mixing different naming schemes for software installations directories in a single software stack works just fine; it's mostly a matter of inconsistency that could be confusing for humans.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_fixed_installdir_naming_scheme_disabling","title":"Disabling --fixed-installdir-naming-scheme","text":"

          If you are using a module naming scheme other than the default EasyBuildMNS, you may prefer disabling --fixed-installdir-naming-scheme to maintain consistency in the names of software installation directories. Do note that this implies that you won't be able to generate additional modules files using a different module naming scheme for existing installations.

          To disable --fixed-installdir-naming-scheme, you can either

          • disable the fixed-installdir-naming-scheme configuration option in the [override] section of an EasyBuild configuration file:

            [override]\nfixed-installdir-naming-scheme = 0\n

            (see also Configuration file(s))

          • set the $EASYBUILD_DISABLE_FIXED_INSTALLDIR_NAMING_SCHEME environment variable:

            export EASYBUILD_DISABLE_FIXED_INSTALLDIR_NAMING_SCHEME=1\n

            (see also Environment variables)

          • use the --disable-fixed-installdir-naming-scheme ... command line option:

            eb --disable-fixed-installdir-naming-scheme ...\n

            (see also Command line arguments)

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_relocated_stuff","title":"Relocated functions, classes and constants in EasyBuild framework","text":"

          A limited number of functions, classes and constants have been relocated in the EasyBuild framework.

          This was done mostly to ensure that the __init__.py files that define packages are empty, other than the pkgutil.extend_path (which replaces the pkg_resources.declare_namespace which requires setuptools, see also No more required Python packages).

          Making EasyBuild compatible with Python 3 also required some similar changes, see Functions & classes that must be imported from the easybuild.tools.py2vs3 namespace.

          A detailed overview of relocated functions and constants is available at Overview of relocated functions, classes and constants in EasyBuild v4.0.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_ingested_vsc_base","title":"Ingested functionality from vsc-base and vsc-install","text":"

          The functionality from the vsc-base and vsc-install packages required by EasyBuild has been ingested in the EasyBuild framework, see also No more required Python packages.

          This has primarily been done in the new easybuild.base package, so in general imports from a module in the vsc.utils package should be replaced with a corresponding import statement from that same module in the easybuild.base package.

          A number of specific functions and classes have been placed in existing modules in the easybuild.tools package instead.

          The affected functions are listed in Overview of relocated functions, classes and constants in EasyBuild v4.0.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_ingested_vsc_base_fake_vsc_namespace","title":"Fake vsc namespace","text":"

          To avoid that any functionality is imported from an already installed vsc-base (or vsc-install) package, which could lead to strange side-effects, a fake vsc namespace is injected since EasyBuild v4.0.

          If an import from vsc.utils.* is detected (for example from an easyblock or from a module that is included via one of the --include-* options), an error like this will be produced:

          ERROR: Detected import from 'vsc' namespace in /home/example/old_easyblock.py (line 7)\nvsc-base & vsc-install were ingested into the EasyBuild framework in EasyBuild v4.0\nThe functionality you need may be available in the 'easybuild.base.*' namespace.\n
          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_py2vs3","title":"Functions & classes that must be imported from the easybuild.tools.py2vs3 namespace","text":"

          A handful functions and classes that could be imported directly from the Python standard library should now be imported from the easybuild.tools.py2vs3 namespace instead (perhaps under a different name), to ensure compatibility with Python 2 and 3.

          See Compatibility with Python 2 and Python 3 for more information.

          The affected functions are also included in Overview of relocated functions, classes and constants in EasyBuild v4.0.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_deprecated","title":"Deprecated functionality in EasyBuild v4.0","text":"

          Some functionality was deprecated in EasyBuild v4.0, and will no longer be supported in EasyBuild v5.0.

          If you trigger any deprecated functionality, a warning message will be printed.

          "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_dummy_tc","title":"Deprecated dummy toolchain","text":"

          The dummy toolchain is now deprecated, and has been replaced with the system toolchain.

          For more information, please consult System toolchain.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/","title":"Overview of relocated functions, classes and constants in EasyBuild v4.0","text":"

          This page provides an alphabetical overview of relocated functions, classes and constants in EasyBuild version 4.0; see Backwards-incompatible changes in EasyBuild v4.0 for motivation and high-level information.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_basestring","title":"basestring type","text":"

          Rather than using the basestring type from the Python 2 standard library directly (for example in an isinstance expression), the string_type type from the easybuild.tools.py2vs3 package should be used instead, to ensure that the code is compatible with both Python 2 and 3.

          See also Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_configparser","title":"configparser module","text":"

          The configparser module that is part of the Python 2 standard library (via ConfigParser) must now be imported from the easybuild.tools.py2vs3 package, to ensure that the code is compatible with both Python 2 and 3.

          See also Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_DEVEL_MODULE_SUFFIX","title":"DEVEL_MODULE_SUFFIX constant","text":"

          The DEVEL_MODULE_SUFFIX constant was relocated from easybuild.tools.module_naming_scheme to easybuild.tools.module_naming_scheme.mns.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_DUMMY_TOOLCHAIN_NAME_VERSION:","title":"DUMMY_TOOLCHAIN_NAME and DUMMY_TOOLCHAIN_VERSION constants","text":"

          The DUMMY_TOOLCHAIN_NAME and DUMMY_TOOLCHAIN_VERSION constants were relocated from easybuild.tools.toolchain to easybuild.tools.toolchain.toolchain.

          Note

          Since the dummy toolchain has been deprecated and is replaced by the system toolchain (see System toolchain), you should use the is_system_toolchain function or Toolchain.is_system_toolchain method to check whether a toolchain is a dummy or system toolchain, rather than using these constants directly (or using the SYSTEM_TOOLCHAIN-* equivalents).

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_FrozenDictKnownKeys","title":"FrozenDictKnownKeys class","text":"

          The FrozenDictKnownKeys class from vsc.utils.missing is now available from easybuild.base.frozendict.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_GEENRAL_CLASS","title":"GENERAL_CLASS constant","text":"

          The GENERAL_CLASS constant was relocated from easybuild.tools.module_naming_scheme to easybuild.tools.config.

          get_class_for function {: #eb4_relocated_get_class_for }

          The get_class_for function from vsc.utils.missing is now available from easybuild.tools.utilities.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_get_subclasses","title":"get_subclasses function","text":"

          The get_subclasses function from vsc.utils.missing is now available from easybuild.tools.utilities.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_INDENT_4SPACES","title":"INDENT_4SPACES constant","text":"

          The INDENT_4SPACES constants was relocated from easybuild.framework.easyconfig.format.format to easybuild.tools.utilities.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_mk_rst_table","title":"mk_rst_table function","text":"

          The mk_rst_table function from vsc.utils.docs is now available from easybuild.tools.docs.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_ModuleNamingScheme","title":"ModuleNamingScheme class","text":"

          The ModuleNamingScheme class was relocated from easybuild.tools.module_naming_scheme to easybuild.tools.module_naming_scheme.mns.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_nub","title":"nub function","text":"

          The nub function from vsc.utils.missing is now available from easybuild.tools.utilities.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_OrderedDict","title":"OrderedDict class","text":"

          The OrderedDict class that is part of the Python 2 standard library (via collections) must now be imported from the easybuild.tools.py2vs3 package, to ensure that the code is compatible with both Python 2 and 3.

          See also Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_reload","title":"reload function","text":"

          The reload function that is a built-in function of the Python 2 standard library must now be imported from the easybuild.tools.py2vs3 package, to ensure that the code is compatible with both Python 2 and 3.

          See also Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_shell_quote","title":"shell_quote function","text":"

          The shell_quote function from vsc.utils.missing is now available from easybuild.tools.utilities.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_sched_getaffinity","title":"sched_getaffinity function","text":"

          The sched_getaffinity function from vsc.utils.affinity is now available from easybuild.tools.systemtools.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_Singleton","title":"Singleton class","text":"

          The Singleton class from vsc.utils.patterns is now available from easybuild.tools.config.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_StringIO","title":"StringIO class","text":"

          Rather than importing the StringIO class from the StringIO module of the Python 2 standard library, it should be imported from the easybuild.tools.py2vs3 package instead, to ensure that the code is compatible with both Python 2 and 3.

          See also Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_subprocess_Popen","title":"subprocess.Popen function","text":"

          Rather than using the subprocess.Popen function directly, the subprocess_popen_text function from the easybuild.tools.py2vs3 package should be used instead, to ensure that the code is compatible with both Python 2 and 3.

          See also Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_urlencode","title":"urlencode function","text":"

          Rather than importing the urlencode function from the urllib module of the Python 2 standard library, it should be imported from the easybuild.tools.py2vs3 package instead, to ensure that the code is compatible with both Python 2 and 3.

          See also Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_urllib","title":"urllib module","text":"

          Rather than using the urllib module from the Python 2 standard library directly, the std_urllib module from the easybuild.tools.py2vs3 package should be used instead, to ensure that the code is compatible with both Python 2 and 3.

          See also Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_urllib2","title":"urllib2 module","text":"

          Functions that were imported from the urllib2 package that is part of the Python 2 standard library must now be imported from the easybuild.tools.py2vs3 package, to ensure that the code is compatible with both Python 2 and 3.

          See also Compatibility with Python 2 and Python 3.

          "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_vsc_utils_modules","title":"vsc.utils.* modules","text":"

          The functionality from the following vsc.utils.* modules required by EasyBuild has been ingested in the corresponding easybuild.base.* module:

          • vsc.utils.exceptions
          • vsc.utils.fancylogger
          • vsc.utils.generaloption
          • vsc.utils.optcomplete
          • vsc.utils.rest
          • vsc.utils.testing
          • vsc.utils.wrapper

          See also No more required Python packages.

          "},{"location":"easybuild-v5/","title":"EasyBuild v5.0","text":"
          • Overview of changes
          • GitHub Project board
          • Talk on EasyBuild 5.0 at EUM'23
          "},{"location":"easybuild-v5/overview-of-changes/","title":"Overview of changes in EasyBuild version 5.0","text":"

          Warning

          EasyBuild 5.0 is currently still under development, via the 5.0.x branches in the EasyBuild GitHub repositories.

          We intend to update this page regularly as the planned changes are being implemented and when there are proposed changes where we are requesting community feedback.

          This page provides a concise overview of the most prominent changes in EasyBuild version 5.0, which can be categorized as:

          • Significant enhancements
          • Backward-incompatible changes
          • Deprecated functionality

          For in-depth details on a particular change, see the pull requests that are linked from each of the subsections below.

          "},{"location":"easybuild-v5/overview-of-changes/#eb5_changes","title":"Planned and proposed changes for EasyBuild v5.0","text":"

          At the EasyBuild User Meeting, Simon Branford set out the roadmap for EasyBuild v5.0.

          "},{"location":"easybuild-v5/overview-of-changes/#eb5_proposals","title":"Proposed changes for EasyBuild v5.0","text":"

          There are several proposed changes where the EasyBuild maintainers are seeking community feedback. If you wish to provide feedback then please comment in the GitHub issue for the proposal.

          • Minimum supported Lmod Version
          • Toolchain Support Policy
          "},{"location":"easybuild-v5/overview-of-changes/#eb5_plans","title":"Planned changes for EasyBuild v5.0","text":"
          • enable --trace by default

          Note

          This list is the major planned changes. It is not intended to be a complete list of all changes that are planned for EasyBuild v5.0.

          "},{"location":"easybuild-v5/overview-of-changes/#tracking-development-of-easybuild-v50","title":"Tracking development of EasyBuild v5.0","text":"
          • GitHub Project board for EasyBuild v5.0
          "},{"location":"easybuild-v5/overview-of-changes/#significant_enhancements","title":"Significant enhancements in EasyBuild v5.0","text":"

          Various significant enhancements are included in EasyBuild v5.0, including:

          • (no significant enhancements implemented so far in the 5.0.x branches)
          "},{"location":"easybuild-v5/overview-of-changes/#backwards_incompatible","title":"Backwards-incompatible changes in EasyBuild v4.0","text":"

          A number of backwards-incompatible changes are being made in EasyBuild v5.0:

          • Support for Python 2.7 is removed -- Python 3.6+ is required
          • Deprecated EasyBuild bootstrap script is removed
          • Experimental support for the .yeb easyconfig format is removed
          "},{"location":"easybuild-v5/overview-of-changes/#py36","title":"Support for Python 2.7 is removed -- Python 3.6+ is required","text":"

          EasyBuild 5.0 requires Python >= 3.6 to run.

          Running EasyBuild with Python 2.7 or a Python 3 version older than Python 3.6 is no longer supported.

          Trying to run EasyBuild with a Python version that is too old will result in an error:

          ERROR: No compatible 'python' command found via $PATH (EasyBuild requires Python 3.6+)\n

          Python 2.7 has been end-of-life since 1 Jan 2020, and dropping compatibility with Python 2.7 and Python 3.5 enabled some significant code cleanup (see easybuild-framework PR #4229).

          The results of the 6th EasyBuild User Survey (2022) show that the impact of this breaking change on the EasyBuild community should be very limited, since:

          • Only ~13% of survey participants were still running EasyBuild on top of Python 2.7;
          • No survey participants reported using Python 3.5;
          • Over 85% of survey participants reported using Python 3.6, or a more recent version of Python 3;
          • Only 3 out of 118 survey participants (~2.5%) reported that dropping support for running EasyBuild on top of Python 2 would be problematic for them;

          Along with actively removing code that was only required to retain compatibility with Python 2.7 or 3.5, the easybuild.tools.py2vs3 module that was introduced to facilitate supporting both Python 2.7 and Python 3 has been deprecated (see also below).

          "},{"location":"easybuild-v5/overview-of-changes/#bootstrap_script","title":"Deprecated EasyBuild bootstrap script is removed","text":"

          The EasyBuild bootstrap script has been removed (see easybuild-framework PR #4233). Please see the installation page for the suggested methods for installing EasyBuild.

          "},{"location":"easybuild-v5/overview-of-changes/#yeb","title":"Experimental support for the .yeb easyconfig format is removed","text":"

          Support for the experimental .yeb easyconfig format has been removed (see easybuild-framework PR #4237). This format allowed easyconfigs to be specified in YAML. However, there has been no recent development of this format and little suggestion that anyone was using it.

          "},{"location":"easybuild-v5/overview-of-changes/#deprecated_v5","title":"Deprecated functionality in EasyBuild v5.0","text":"

          Some functionality is being deprecated in EasyBuild v5.0, and will no longer be supported in EasyBuild v6.0:

          • easybuild.tools.py2vs3 module

          If you trigger any deprecated functionality, a warning message will be printed.

          "},{"location":"easybuild-v5/overview-of-changes/#py2vs3","title":"easybuild.tools.py2vs3 module","text":"

          easybuild-framework PR #4229

          The following table lists the changes required to replace imports from the the py2vs3 module.

          from easybuild.tools.py2vs3 import ... Replacement ascii_letters from string import ascii_letters ascii_lowercase from string import ascii_lowercase build_opener from urllib.request import build_opener ConfigParser from configparser import ConfigParser configparser import configparser create_base_metaclass from easybuild.base.wrapper import create_base_metaclass extract_method_name No import required. Replace extract_method_name(method) with '_'.join(method.__code__.co_names) HTMLParser from html.parser import HTMLParser HTTPError from urllib.request import HTTPError HTTPSHandler from urllib.request import HTTPSHandler json_loads from json import loads and rename json_loads to loads Mapping from collections.abc import Mapping mk_wrapper_baseclass from easybuild.base.wrapper import mk_wrapper_baseclass OrderedDict from collections import OrderedDict raise_with_traceback No import required. Replace raise_with_traceback(exception, message, tb) with raise exception(message).with_traceback(tb) reload from importlib import reload Request from urllib.request import Request string_type No import required. Use str directly. StringIO from io import StringIO std_urllib import urllib.request as std_urllib subprocess_popen_text from easybuild.tools.run import subprocess_popen_text subprocess_terminate from easybuild.tools.run import subprocess_terminate urlencode from urllib.parse import urlencode URLError from urllib.request import URLError urlopen from urllib.request import urlopen"},{"location":"legacy/configuration/","title":"Configuration Legacy","text":"

          Legacy configuration is currently deprecated!

          If you are a new user of EasyBuild you can safely ignore everything below this line, refer instead to Configuring EasyBuild.

          "},{"location":"legacy/configuration/#porting-from-legacy-configuration-style","title":"Porting from legacy configuration style","text":"

          In EasyBuild v1.x, a couple of configuration options, other than the standard ones aligned with variables, are available that follow the legacy configuration style, including:

          • the -C and --config command line arguments ( use --configfiles instead )
          • the $EASYBUILDCONFIG environment variable ( use $EASYBUILD_CONFIGFILES instead )
          • the default path $HOME/.easybuild/config.py ( new-style default path is $XDG_CONFIG_HOME/easybuild/config.cfg)
          • the legacy fallback path <installpath>/easybuild/easybuild_config.py ( only default/fallback path is $XDG_CONFIG_HOME/easybuild/config.cfg)

          Likewise, the following legacy environment variables allowed to override selected configuration settings:

          • $EASYBUILDBUILDPATH: build path to be used by EasyBuild ( use $EASYBUILD_BUILDPATH instead )
          • $EASYBUILDINSTALLPATH: install path to be used by EasyBuild ( use $EASYBUILD_INSTALLPATH instead )
          • $EASYBUILDSOURCEPATH: source path to be used by EasyBuild ( use $EASYBUILD_SOURCEPATH instead )
          • $EASYBUILDPREFIX: build/install/source path prefix to be used ( use $EASYBUILD_PREFIX instead )

          We strongly advise to switch to the new way of configuring EasyBuild as soon as possible, since the legacy configuration style will no longer be supported in EasyBuild v2.x.

          "},{"location":"legacy/configuration/#how-easybuild-used-to-be-configured-in-the-early-days","title":"How EasyBuild used to be configured in the early days","text":"

          Configuring EasyBuild is done by providing a configuration file.

          EasyBuild expects the configuration file to contain valid Python code, because it executes its contents (using exec). The rationale is that this approach provides a lot of flexibility for configuring EasyBuild.

          EasyBuild will use the file that is provided by the path/filename in the following order of preference:

          • path/filename specified on the EasyBuild command line (using --config),
          • path/filename obtained from the environment variable EASYBUILDCONFIG (if it is defined)
          • $HOME/.easybuild/config.py (as of EasyBuild v1.1)
          • the (default) configuration file at <path where EasyBuild was installed>/easybuild/easybuild_config.py
          "},{"location":"legacy/configuration/#configuration-variables","title":"Configuration variables","text":"

          The configuration file must define the following five variables: build_path, install_path, source_path, repository, and log_format. If one of them is not defined, EasyBuild will complain and exit.

          "},{"location":"legacy/configuration/#build-path-required","title":"Build path (required)","text":"

          The build_path variable specifies the directory in which EasyBuild builds its software packages.

          Each software package is (by default) built in a subdirectory of the build_path under <name>/<version>/<toolchain><versionsuffix>.

          Note that the build directories are emptied by EasyBuild when the installation is completed (by default).

          "},{"location":"legacy/configuration/#install-path-required","title":"Install path (required)","text":"

          The install_path variable specifies the directory in which EasyBuild installs software packages and the corresponding module files.

          The packages themselves are installed under install_path/software in their own subdirectory aptly named <name>/<version>-<toolchain><versionsuffix> (by default), where name is the package name. The corresponding module files are installed under install_path/modules.

          Setting $MODULEPATH

          After the configuration, you need to make sure that $MODULEPATH environment variable is extended with the modules/all subdirectory of the install_path, i.e.:

          export MODULEPATH=<install_path>/modules/all:$MODULEPATH\n

          It is probably a good idea to add this to your (favourite) shell .rc file, e.g., .bashrc, and/or the .profile login scripts, so you do not need to adjust the $MODULEPATH variable every time you start a new session.

          "},{"location":"legacy/configuration/#source-path-required","title":"Source path (required)","text":"

          The source_path variable specifies the directory in which EasyBuild looks for software source and install files.

          Similarly to the configuration file lookup, EasyBuild looks for the installation files as given by the sources variable in the .eb easyconfig file, in the following order of preference:

          • <source_path>/<name>: a subdirectory determined by the name of the software package
          • <source_path>/<letter>/<name>: in the style of the easyblocks/easyconfigs directories: in a subdirectory determined by the first letter (in lower case) of the software package and by its full name
          • <source_path>: directly in the source path

          Note that these locations are also used when EasyBuild looks for patch files in addition to the various easybuild/easyconfigs directories that are listed in the $PYTHONPATH.

          "},{"location":"user-survey/","title":"6th EasyBuild User Survey (2022)","text":"

          Warning

          This page currently presents the raw results of the 6th EasyBuild User Survey, which was held in March 2023.

          Additional text will be added to help interpret the results soon.

          The results of the EasyBuild User Survey are assumed to give a fairly representative view on the EasyBuild community, but they should be interpreted with a grain of salt, since there is no doubt significant bias in terms of participants.

          "},{"location":"user-survey/#survey-participation","title":"Survey participation","text":"

          Participation in the EasyBuild User Survey has been growing steadily over the years, to 118 participants in the 6th survey which was held March 2023.

          For the previous survey, the majority of the participants were made aware of it via the EasyBuild mailing list (~42%) and the EasyBuild Slack (~34%).

          While these two channels were still the most prominent for this survey, it is now the EasyBuild Slack that is the largest trigger to participate in the survey: ~47% (vs 27% via the EasyBuild mailing list).

          "},{"location":"user-survey/#demographics","title":"Demographics","text":""},{"location":"user-survey/#easybuild-adoption-and-experience","title":"EasyBuild: adoption and experience","text":""},{"location":"user-survey/#operating-system","title":"Operating system","text":""},{"location":"user-survey/#python-version","title":"Python version","text":""},{"location":"user-survey/#system-aspects","title":"System aspects","text":""},{"location":"user-survey/#cpus","title":"CPUs","text":""},{"location":"user-survey/#gpus","title":"GPUs","text":""},{"location":"user-survey/#top500","title":"Top500","text":"
          • LUMI (#3)
          • Perlmutter (#8)
          • JUWELS (#12)
          • Piz Daint (#26)
          • JURECA (#61)
          • Karolina - GPU (#85)
          • Narval (#99)
          • Noctua 2 (#131)
          • Niagara (#150)
          • Cedar - GPU (#166)
          • Karolina - CPU (#226)
          • Lucia (#245)
          • Snellius (#254)
          • Cedar - CPU (#268)
          • CLAIX (#286)
          • B\u00e9luga (#346)
          • Alvis (#440)
          "},{"location":"user-survey/#easybuild-version","title":"EasyBuild version","text":""},{"location":"user-survey/#toolchains","title":"Toolchains","text":"

          Significant increase in use of NVHPC-based toolchains (21%, was 15% and 7% in previous surveys).

          "},{"location":"user-survey/#installations","title":"Installations","text":""},{"location":"user-survey/#customizations","title":"Customizations","text":""},{"location":"user-survey/#community","title":"Community","text":""},{"location":"user-survey/#logo","title":"Logo","text":""},{"location":"user-survey/#documentation","title":"Documentation","text":""},{"location":"user-survey/#tutorial","title":"Tutorial","text":""},{"location":"user-survey/#other-tools-projects","title":"Other tools & projects","text":""},{"location":"user-survey/#modules","title":"Modules","text":""},{"location":"user-survey/#easybuild-aspects","title":"EasyBuild aspects","text":""},{"location":"version-specific/","title":"Overview of version-specific (auto-generated) documentation pages","text":"
          • Config file constants
          • Available easyconfig parameters
          • Constants available for easyconfig files
          • License constants available for easyconfig files
          • List of available easyblocks
          • List of available toolchain options
          • List of known toolchains
          • List of supported software
          • Overview of EasyBuild configuration options
          • Overview of generic easyblocks
          • Templates available for easyconfig files
          "},{"location":"version-specific/config-file-constants/","title":"Constants available (only) in configuration files","text":""},{"location":"version-specific/config-file-constants/#only-in-default-section","title":"Only in 'DEFAULT' section:","text":"Constant name Constant help Constant value DEFAULT_REPOSITORYPATH Default easyconfigs repository path /home/example/.local/easybuild/ebfiles_repo DEFAULT_ROBOT_PATHS List of default robot paths (':'-separated) /home/example/work/easybuild-easyconfigs/easybuild/easyconfigs HOME Current user's home directory, expanded '~' /home/example USER Current username, translated uid from password file example

          (see also eb --avail-cfgfile-constants )

          "},{"location":"version-specific/easyblocks/","title":"List of easyblocks","text":"
          • EasyBlock
          • Binary
            • Conda
            • EB_ABAQUS
            • EB_Allinea
            • EB_Anaconda
            • EB_Mamba
            • EB_Anaconda
            • EB_Mamba
            • EB_AOMP
            • EB_CPLEX
            • EB_CRISPR_minus_DAV
            • EB_CUDA
            • EB_CUDAcompat
            • EB_EPD
            • EB_IMOD
            • EB_Maple
            • EB_Mathematica
            • EB_Molpro
            • EB_TensorRT
            • JAR
            • PackedBinary
            • EB_ANSYS
            • EB_ant
            • EB_AOCC
            • EB_BiSearch
            • EB_Chimera
            • EB_code_minus_server
            • EB_COMSOL
            • EB_FDTD_underscore_Solutions
            • EB_FLUENT
            • EB_IronPython
            • EB_Java
            • EB_MATLAB
            • EB_MCR
            • EB_MotionCor2
            • EB_NVHPC
            • EB_ORCA
            • EB_PGI
            • EB_Samcef
            • EB_Stata
            • EB_Tornado
            • EB_TotalView
            • Rpm
            • EB_Mono
          • Bundle
            • BuildEnv
            • CrayToolchain
            • EB_Clang_minus_AOMP
            • EB_OpenSSL_wrapper
            • JuliaBundle
            • PerlBundle
            • PythonBundle
            • SystemCompiler
            • SystemMPI
            • Toolchain
          • ConfigureMake
            • CMakeMake
            • CMakeMakeCp
            • CMakeNinja
            • CMakePythonPackage
              • EB_DOLFIN
              • EB_pybind11
              • EB_UFC
            • EB_Amber
            • EB_Armadillo
            • EB_BamTools
            • EB_Blender
            • EB_CGAL
            • EB_Clang
            • EB_Doxygen
            • EB_Eigen
            • EB_ELSI
            • EB_FlexiBLAS
            • EB_GATE
            • EB_Geant4
            • EB_GROMACS
            • EB_LAMMPS
            • EB_Libint
            • EB_LLVM
            • EB_netCDF
            • EB_NEURON
            • EB_OpenBabel
            • EB_OpenCV
            • EB_PSI
            • EB_ROOT
            • EB_ScaLAPACK
            • EB_SuperLU
            • EB_Trilinos
            • ConfigureMakePythonPackage
            • EB_ARB
            • EB_ATLAS
            • EB_BerkeleyGW
            • EB_binutils
            • EB_BLACS
            • EB_Bowtie
            • EB_BWA
            • EB_bzip2
            • EB_CBLAS
            • EB_Chapel
            • EB_CMake
            • EB_cppcheck
            • EB_Cufflinks
            • EB_DB
            • EB_DL_underscore_POLY_underscore_Classic
            • EB_Doris
            • EB_EggLib
            • EB_ELPA
            • EB_ESMF
            • EB_ESPResSo
            • EB_Extrae
            • EB_Ferret
            • EB_FFTW
            • EB_FFTW_period_MPI
            • EB_flex
            • EB_FreeFEM
            • EB_freetype
            • EB_g2clib
            • EB_g2lib
            • EB_GCC
            • SystemCompiler
            • EB_GHC
            • EB_Go
            • EB_HDF5
            • EB_HEALPix
            • EB_HPCG
            • EB_HPL
            • EB_Hypre
            • EB_LAPACK
            • EB_libdrm
            • EB_libQGLViewer
            • EB_libxml2
            • EB_Lua
            • EB_MetaVelvet
            • EB_METIS
            • EB_Molpro
            • EB_Mono
            • EB_Mothur
            • EB_MPICH
            • EB_MVAPICH2
            • EB_psmpi
            • EB_MrBayes
            • EB_MUMmer
            • EB_MUMPS
            • EB_MyMediaLite
            • EB_NCCL
            • EB_ncurses
            • EB_netCDF_minus_Fortran
            • EB_NWChem
            • EB_OCaml
            • EB_Octave
            • EB_OpenBLAS
            • EB_OpenMPI
            • EB_OpenSSL
            • EB_Paraver
            • EB_Pasha
            • EB_PDT
            • EB_Perl
            • EB_PETSc
            • EB_pplacer
            • EB_Primer3
            • EB_Python
            • EB_Tkinter
            • EB_QScintilla
            • EB_Qt
            • EB_QuantumESPRESSO
            • EB_R
            • EB_Ruby
            • EB_Rust
            • EB_SAMtools
            • EB_Scalasca1
            • EB_Score_minus_P
            • EB_SHRiMP
            • EB_Siesta
            • EB_SLEPc
            • EB_SOAPdenovo
            • EB_SuiteSparse
            • EB_SWIG
            • EB_TAU
            • EB_tbb
            • EB_tbb
            • EB_UCX_Plugins
            • EB_Velvet
            • EB_VMD
            • EB_XALT
            • EB_XCrySDen
            • MakeCp
            • CMakeMakeCp
            • CmdCp
              • EB_fastStructure
            • EB_BamTools
            • EB_BLAT
            • EB_Bowtie2
            • EB_BWISE
            • EB_MSM
            • EB_mutil
            • EB_MXNet
            • EB_NAMD
            • EB_ORCA
            • PerlModule
            • SystemMPI
          • EB_ACML
          • EB_ADF
          • EB_ALADIN
          • EB_Bazel
          • EB_Boost
          • EB_CFDEMcoupling
          • EB_CHARMM
          • EB_code_minus_server
          • EB_CP2K
          • EB_FSL
          • EB_GAMESS_minus_US
          • EB_Gctf
          • EB_libsmm
          • EB_Modeller
          • EB_MRtrix
          • EB_NCL
          • EB_NEMO
          • EB_Nim
          • EB_OpenFOAM
          • EB_OpenIFS
          • EB_ParMETIS
          • EB_Rosetta
          • EB_SAS
          • EB_SCOTCH
          • EB_SNPhylo
          • EB_STAR_minus_CCM_plus_
          • EB_TINKER
          • EB_Trinity
          • EB_VEP
          • EB_WIEN2k
          • EB_WPS
          • EB_WRF
          • EB_WRF_minus_Fire
          • ExtensionEasyBlock
            • Cargo
            • CargoPythonPackage
            • EB_Scipion
            • JuliaPackage
            • OCamlPackage
            • OctavePackage
            • PerlModule
            • PythonPackage
            • CargoPythonPackage
            • CMakePythonPackage
              • EB_DOLFIN
              • EB_pybind11
              • EB_UFC
            • ConfigureMakePythonPackage
            • EB_cryptography
            • EB_dm_minus_reverb
            • EB_EasyBuildMeta
            • EB_EggLib
            • EB_jaxlib
            • EB_libxml2
            • EB_Metagenome_Atlas
            • EB_netcdf4_minus_python
            • EB_nose
            • EB_numexpr
            • EB_PyQuante
            • EB_python_minus_meep
            • EB_PyTorch
            • EB_PyZMQ
            • EB_scipy
            • EB_SEPP
            • EB_TensorFlow
            • EB_TensorRT
            • EB_torchvision
            • EB_VSC_minus_tools
            • EB_wxPython
            • FortranPythonPackage
              • EB_numpy
              • EB_scipy
            • VersionIndependentPythonPackage
              • VSCPythonPackage
            • RPackage
            • EB_Bioconductor
            • EB_pbdMPI
            • EB_pbdSLAP
            • EB_reticulate
            • EB_Rmpi
            • EB_Rserve
            • EB_XML
            • RubyGem
            • Tarball
            • BinariesTarball
            • EB_cuDNN
            • EB_FoldX
            • EB_FreeSurfer
            • EB_Gurobi
            • EB_Hadoop
            • EB_MTL4
            • EB_picard
            • EB_RepeatMasker
            • EB_RepeatModeler
          • GoPackage
          • IntelBase
            • EB_Advisor
            • EB_icc
            • EB_iccifort
            • EB_ifort
              • EB_iccifort
              • SystemCompiler
            • EB_ifort
            • EB_iccifort
            • SystemCompiler
            • EB_imkl
            • EB_imkl_minus_FFTW
            • EB_impi
            • SystemMPI
            • EB_Inspector
            • EB_intel_minus_compilers
            • EB_ipp
            • EB_itac
            • EB_tbb
            • EB_tbb
            • EB_VTune
          • MesonNinja
            • CMakeNinja
            • EB_Mesa
            • EB_scipy
          • ModuleRC
          • PackedBinary
            • EB_ANSYS
            • EB_ant
            • EB_AOCC
            • EB_BiSearch
            • EB_Chimera
            • EB_code_minus_server
            • EB_COMSOL
            • EB_FDTD_underscore_Solutions
            • EB_FLUENT
            • EB_IronPython
            • EB_Java
            • EB_MATLAB
            • EB_MCR
            • EB_MotionCor2
            • EB_NVHPC
            • EB_ORCA
            • EB_PGI
            • EB_Samcef
            • EB_Stata
            • EB_Tornado
            • EB_TotalView
          • SCons
            • EB_Xmipp
          • Waf
          • Extension
          • ExtensionEasyBlock
            • Cargo
            • CargoPythonPackage
            • EB_Scipion
            • JuliaPackage
            • OCamlPackage
            • OctavePackage
            • PerlModule
            • PythonPackage
            • CargoPythonPackage
            • CMakePythonPackage
              • EB_DOLFIN
              • EB_pybind11
              • EB_UFC
            • ConfigureMakePythonPackage
            • EB_cryptography
            • EB_dm_minus_reverb
            • EB_EasyBuildMeta
            • EB_EggLib
            • EB_jaxlib
            • EB_libxml2
            • EB_Metagenome_Atlas
            • EB_netcdf4_minus_python
            • EB_nose
            • EB_numexpr
            • EB_PyQuante
            • EB_python_minus_meep
            • EB_PyTorch
            • EB_PyZMQ
            • EB_scipy
            • EB_SEPP
            • EB_TensorFlow
            • EB_TensorRT
            • EB_torchvision
            • EB_VSC_minus_tools
            • EB_wxPython
            • FortranPythonPackage
              • EB_numpy
              • EB_scipy
            • VersionIndependentPythonPackage
              • VSCPythonPackage
            • RPackage
            • EB_Bioconductor
            • EB_pbdMPI
            • EB_pbdSLAP
            • EB_reticulate
            • EB_Rmpi
            • EB_Rserve
            • EB_XML
            • RubyGem
            • Tarball
            • BinariesTarball
            • EB_cuDNN
            • EB_FoldX
            • EB_FreeSurfer
            • EB_Gurobi
            • EB_Hadoop
            • EB_MTL4
            • EB_picard
            • EB_RepeatMasker
            • EB_RepeatModeler

          (see also eb --list-easyblocks and overview of generic easyblocks )*

          "},{"location":"version-specific/easyconfig-constants/","title":"Constants that can be used in easyconfigs","text":"Constant name Constant value Description ARCH aarch64 CPU architecture of current system (aarch64, x86_64, ppc64le, ...) EXTERNAL_MODULE EXTERNAL_MODULE External module marker HOME /home/example Home directory ($HOME) OS_NAME UNKNOWN System name (e.g. 'fedora' or 'RHEL') OS_PKG_IBVERBS_DEV ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel') OS packages providing ibverbs/infiniband development support OS_PKG_OPENSSL_BIN openssl OS packages providing the openSSL binary OS_PKG_OPENSSL_DEV ('openssl-devel', 'libssl-dev', 'libopenssl-devel') OS packages providing openSSL development support OS_PKG_OPENSSL_LIB ('libssl', 'libopenssl') OS packages providing openSSL libraries OS_PKG_PAM_DEV ('pam-devel', 'libpam0g-dev') OS packages providing Pluggable Authentication Module (PAM) development support OS_TYPE Darwin System type (e.g. 'Linux' or 'Darwin') OS_VERSION UNKNOWN System version SYSTEM {'name': 'system', 'version': 'system'} System toolchain SYS_PYTHON_VERSION 3.9.6 System Python version (platform.python_version())

          (see also eb --avail-easyconfig-constants )

          "},{"location":"version-specific/easyconfig-license-constants/","title":"License constants that can be used in easyconfigs","text":"License name License description Version GCC The GNU General Public License is a free, copyleft license for software and other kinds of works. The GCC Runtime Library Exception is an additional permission under section 7 of the GNU General Public License, version 3. 3 GCCOld The GNU General Public License is a free, copyleft license for software and other kinds of works. The GCC Runtime Library Exception is an additional permission under section 7 of the GNU General Public License, version 3. 2 GPLv2 The GNU General Public License is a free, copyleft license for software and other kinds of works. 2 GPLv3 The GNU General Public License is a free, copyleft license for software and other kinds of works. 3 Libpng Permission is granted to use, copy, modify, and distribute the source code, or portions hereof, for any purpose, without fee, subject to 3 restrictions; http://libpng.org/pub/png/src/libpng-LICENSE.txt for full license None Unknown None None VeryRestrictive None None

          (see also eb --avail-easyconfig-licenses )

          "},{"location":"version-specific/easyconfig-parameters/","title":"Available easyconfig parameters","text":""},{"location":"version-specific/easyconfig-parameters/#mandatory-parameters","title":"Mandatory parameters","text":"Parameter name Description Default value description A short description of the software None docurls List of urls with documentation of the software (not necessarily on homepage) None homepage The homepage of the software None name Name of software None software_license Software license None software_license_urls List of software license locations None toolchain Name and version of toolchain None version Version of software None"},{"location":"version-specific/easyconfig-parameters/#toolchain-parameters","title":"Toolchain parameters","text":"Parameter name Description Default value onlytcmod Boolean/string to indicate if the toolchain should only load the environment with module (True) or also set all other variables (False) like compiler CC etc (if string: comma separated list of variables that will be ignored). False toolchainopts Extra options for compilers None"},{"location":"version-specific/easyconfig-parameters/#build-parameters","title":"Build parameters","text":"Parameter name Description Default value banned_linked_shared_libs List of shared libraries (names, file names, or paths) which are not allowed to be linked in any installed binary/library [] bin_lib_subdirs List of subdirectories for binaries and libraries, which is used during sanity check to check RPATH linking and banned/required libraries [] bitbucket_account Bitbucket account name to be used to resolve template values in source URLs \"%(namelower)s\" buildopts Extra options passed to make step (default already has -j X) \"\" checksums Checksums for sources and patches [] configopts Extra options passed to configure (default already has --prefix) \"\" cuda_compute_capabilities List of CUDA compute capabilities to build with (if supported) [] download_instructions Specify steps to acquire necessary file, if obtaining it is difficult \"\" easyblock EasyBlock to use for building; if set to None, an easyblock is selected based on the software name None easybuild_version EasyBuild-version this spec-file was written for None enhance_sanity_check Indicate that additional sanity check commands & paths should enhance the existing sanity check, not replace it False fix_bash_shebang_for List of files for which Bash shebang should be fixed to '#!/usr/bin/env bash' (glob patterns supported) None fix_perl_shebang_for List of files for which Perl shebang should be fixed to '#!/usr/bin/env perl' (glob patterns supported) None fix_python_shebang_for List of files for which Python shebang should be fixed to '#!/usr/bin/env python' (glob patterns supported) None github_account GitHub account name to be used to resolve template values in source URLs \"%(namelower)s\" hidden Install module file as 'hidden' by prefixing its version with '.' False installopts Extra options for installation \"\" maxparallel Max degree of parallelism None parallel Degree of parallelism for e.g. make (default: based on the number of cores, active cpuset and restrictions in ulimit) None patches List of patches to apply [] postinstallcmds Commands to run after the install step. [] postinstallmsgs Messages to print after running the install step. [] postinstallpatches Patch files to apply after running the install step. [] prebuildopts Extra options pre-passed to build command. \"\" preconfigopts Extra options pre-passed to configure. \"\" preinstallopts Extra prefix options for installation. \"\" pretestopts Extra prefix options for test. \"\" required_linked_shared_libs List of shared libraries (names, file names, or paths) which must be linked in all installed binaries/libraries [] runtest Indicates if a test should be run after make; should specify argument after make (for e.g.,\"test\" for make test) None sanity_check_commands format: [(name, options)] e.g. [('gzip','-h')]. Using a non-tuple is equivalent to (name, '-h') [] sanity_check_paths List of files and directories to check (format: {'files':<list>, 'dirs':<list>}) {} skip Skip existing software False skipsteps Skip these steps [] source_urls List of URLs for source files [] sources List of source files [] stop Keyword to halt the build process after a certain step. None testopts Extra options for test. \"\" tests List of test-scripts to run after install. A test script should return a non-zero exit status to fail [] unpack_options Extra options for unpacking source \"\" unwanted_env_vars List of environment variables that shouldn't be set during build [] versionprefix Additional prefix for software version (placed before version and toolchain name) \"\" versionsuffix Additional suffix for software version (placed after toolchain name) \"\""},{"location":"version-specific/easyconfig-parameters/#file-management-parameters","title":"File-management parameters","text":"Parameter name Description Default value buildininstalldir Boolean to build (True) or not build (False) in the installation directory False cleanupoldbuild Boolean to remove (True) or backup (False) the previous build directory with identical name or not. True cleanupoldinstall Boolean to remove (True) or backup (False) the previous install directory with identical name or not. True dontcreateinstalldir Boolean to create (False) or not create (True) the install directory False keeppreviousinstall Boolean to keep the previous installation with identical name. Experts only! False keepsymlinks Boolean to determine whether symlinks are to be kept during copying or if the content of the files pointed to should be copied False start_dir Path to start the make in. If the path is absolute, use that path. If not, this is added to the guessed path. None"},{"location":"version-specific/easyconfig-parameters/#dependencies-parameters","title":"Dependencies parameters","text":"Parameter name Description Default value allow_system_deps Allow listed system dependencies (format: (<name>, <version>)) [] builddependencies List of build dependencies [] dependencies List of dependencies [] hiddendependencies List of dependencies available as hidden modules [] moddependpaths Absolute path(s) to prepend to MODULEPATH before loading dependencies None multi_deps Dict of lists of dependency versions over which to iterate {} multi_deps_load_default Load module for first version listed in multi_deps by default True osdependencies OS dependencies that should be present on the system []"},{"location":"version-specific/easyconfig-parameters/#license-parameters","title":"License parameters","text":"Parameter name Description Default value accept_eula Accepted End User License Agreement (EULA) for this software False group Name of the user group for which the software should be available; format: string or 2-tuple with group name + custom error for users outside group None key Key for installing software None license_file License file for software None license_server License server for software None license_server_port Port for license server None"},{"location":"version-specific/easyconfig-parameters/#extensions-parameters","title":"Extensions parameters","text":"Parameter name Description Default value exts_classmap Map of extension name to class for handling build and installation. {} exts_default_options List of default options for extensions {} exts_defaultclass List of module for and name of the default extension class None exts_download_dep_fail Fail if downloaded dependencies are detected for extensions False exts_filter Extension filter details: template for cmd and input to cmd (templates for ext_name, ext_version and src). None exts_list List with extensions added to the base installation []"},{"location":"version-specific/easyconfig-parameters/#modules-parameters","title":"Modules parameters","text":"Parameter name Description Default value allow_prepend_abs_path Allow specifying absolute paths to prepend in modextrapaths False citing Free-form text that describes how the software should be cited in publications None docpaths List of paths for documentation relative to installation directory None examples Free-form text with examples on using the software None include_modpath_extensions Include $MODULEPATH extensions specified by module naming scheme. True modaliases Aliases to be defined in module file {} modaltsoftname Module name to use (rather than using software name None modextrapaths Extra paths to be prepended in module file {} modextravars Extra environment variables to be added to module file {} modloadmsg Message that should be printed when generated module is loaded {} modluafooter Footer to include in generated module file (Lua syntax) \"\" modtclfooter Footer to include in generated module file (Tcl syntax) \"\" module_depends_on Use depends_on (Lmod 7.6.1+) for dependencies in generated module (implies recursive unloading of modules). False moduleclass Module class to be used for this software \"base\" moduleforceunload Force unload of all modules when loading the extension False moduleloadnoconflict Don't check for conflicts, unload other versions instead False modunloadmsg Message that should be printed when generated module is unloaded {} recursive_module_unload Recursive unload of all dependencies when unloading module (True/False to hard enable/disable; None implies honoring the --recursive-module-unload EasyBuild configuration setting None site_contacts String/list of strings with site contacts for the software None upstream_contacts String/list of strings with upstream contact addresses (e.g., support e-mail, mailing list, bugtracker) None usage Usage instructions for the software None whatis List of brief (one line) description entries for the software None"},{"location":"version-specific/easyconfig-parameters/#other-parameters","title":"Other parameters","text":"Parameter name Description Default value block List of other 'block' sections on which this block depends (only relevant in easyconfigs with subblocks) None buildstats A list of dicts with build statistics None deprecated String specifying reason why this easyconfig file is deprecated and will be archived in the next major release of EasyBuild False

          (see also eb -a or eb --avail-easyconfig-params )

          "},{"location":"version-specific/easyconfig-templates/","title":"Available template values for easyconfigs","text":""},{"location":"version-specific/easyconfig-templates/#template-namesvalues-derived-from-easyconfig-instance","title":"Template names/values derived from easyconfig instance","text":"Template name Template value %(module_name)s Module name %(nameletter)s First letter of software name %(toolchain_name)s Toolchain name %(toolchain_version)s Toolchain version %(version_major_minor)s Major.Minor version %(version_major)s Major version %(version_minor)s Minor version"},{"location":"version-specific/easyconfig-templates/#template-namesvalues-for-short-software-versions","title":"Template names/values for (short) software versions","text":"Template name Template value %(cudashortver)s short version for CUDA (<major>.<minor>) %(cudaver)s full version for CUDA %(cudashortver)s short version for CUDAcore (<major>.<minor>) %(cudaver)s full version for CUDAcore %(javashortver)s short version for Java (<major>.<minor>) %(javaver)s full version for Java %(perlshortver)s short version for Perl (<major>.<minor>) %(perlver)s full version for Perl %(pyshortver)s short version for Python (<major>.<minor>) %(pyver)s full version for Python %(rshortver)s short version for R (<major>.<minor>) %(rver)s full version for R"},{"location":"version-specific/easyconfig-templates/#template-namesvalues-as-set-in-easyconfig","title":"Template names/values as set in easyconfig","text":"
          • %(bitbucket_account)s
          • %(github_account)s
          • %(name)s
          • %(parallel)s
          • %(version)s
          • %(versionsuffix)s
          • %(versionprefix)s
          "},{"location":"version-specific/easyconfig-templates/#lowercase-values-of-template-values","title":"Lowercase values of template values","text":"Template name Template value %(namelower)s lower case of value of name %(nameletterlower)s lower case of value of nameletter"},{"location":"version-specific/easyconfig-templates/#template-values-set-outside-easyblock-runstep","title":"Template values set outside EasyBlock runstep","text":"Template name Template value %(builddir)s Build directory %(installdir)s Installation directory %(start_dir)s Directory in which the build process begins"},{"location":"version-specific/easyconfig-templates/#template-values-which-are-defined-dynamically","title":"Template values which are defined dynamically","text":"Template name Template value %(arch)s System architecture (e.g. x86_64, aarch64, ppc64le, ...) %(mpi_cmd_prefix)s Prefix command for running MPI programs (with default number of ranks) %(cuda_compute_capabilities)s Comma-separated list of CUDA compute capabilities, as specified via --cuda-compute-capabilities configuration option or via cuda_compute_capabilities easyconfig parameter %(cuda_cc_cmake)s List of CUDA compute capabilities suitable for use with $CUDAARCHS in CMake 3.18+ %(cuda_cc_space_sep)s Space-separated list of CUDA compute capabilities %(cuda_cc_semicolon_sep)s Semicolon-separated list of CUDA compute capabilities %(cuda_sm_comma_sep)s Comma-separated list of sm_* values that correspond with CUDA compute capabilities %(cuda_sm_space_sep)s Space-separated list of sm_* values that correspond with CUDA compute capabilities"},{"location":"version-specific/easyconfig-templates/#template-constants-that-can-be-used-in-easyconfigs","title":"Template constants that can be used in easyconfigs","text":"Constant Template value Template name APACHE_SOURCE apache.org source url https://archive.apache.org/dist/%(namelower)s BITBUCKET_SOURCE bitbucket.org source url (namelower is used if bitbucket_account easyconfig parameter is not specified) https://bitbucket.org/%(bitbucket_account)s/%(namelower)s/get BITBUCKET_DOWNLOADS bitbucket.org downloads url (namelower is used if bitbucket_account easyconfig parameter is not specified) https://bitbucket.org/%(bitbucket_account)s/%(namelower)s/downloads CRAN_SOURCE CRAN (contrib) source url https://cran.r-project.org/src/contrib FTPGNOME_SOURCE http download for gnome ftp server https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s GITHUB_SOURCE GitHub source URL (if github_account easyconfig parameter is not specified, namelower is used in its place) https://github.com/%(github_account)s/%(name)s/archive GITHUB_LOWER_SOURCE GitHub source URL with lowercase name (if github_account easyconfig parameter is not specified, namelower is used in its place) https://github.com/%(github_account)s/%(namelower)s/archive GITHUB_RELEASE GitHub release URL (if github_account easyconfig parameter is not specified, namelower is used in its place) https://github.com/%(github_account)s/%(name)s/releases/download/v%(version)s GITHUB_LOWER_RELEASE GitHub release URL with lowercase name (if github_account easyconfig parameter is not specified, namelower is used in its place) https://github.com/%(github_account)s/%(namelower)s/releases/download/v%(version)s GNU_SAVANNAH_SOURCE download.savannah.gnu.org source url https://download-mirror.savannah.gnu.org/releases/%(namelower)s GNU_SOURCE gnu.org source url https://ftpmirror.gnu.org/gnu/%(namelower)s GOOGLECODE_SOURCE googlecode.com source url http://%(namelower)s.googlecode.com/files LAUNCHPAD_SOURCE launchpad.net source url https://launchpad.net/%(namelower)s/%(version_major_minor)s.x/%(version)s/+download/ PYPI_SOURCE pypi source url https://pypi.python.org/packages/source/%(nameletter)s/%(name)s PYPI_LOWER_SOURCE pypi source url (lowercase name) https://pypi.python.org/packages/source/%(nameletterlower)s/%(namelower)s R_SOURCE cran.r-project.org (base) source url https://cran.r-project.org/src/base/R-%(version_major)s SOURCEFORGE_SOURCE sourceforge.net source url https://download.sourceforge.net/%(namelower)s XORG_DATA_SOURCE xorg data source url https://xorg.freedesktop.org/archive/individual/data/ XORG_LIB_SOURCE xorg lib source url https://xorg.freedesktop.org/archive/individual/lib/ XORG_PROTO_SOURCE xorg proto source url https://xorg.freedesktop.org/archive/individual/proto/ XORG_UTIL_SOURCE xorg util source url https://xorg.freedesktop.org/archive/individual/util/ XORG_XCB_SOURCE xorg xcb source url https://xorg.freedesktop.org/archive/individual/xcb/ SHLIB_EXT extension for shared libraries dylib SOURCE_TAR_GZ Source .tar.gz bundle %(name)s-%(version)s.tar.gz SOURCELOWER_TAR_GZ Source .tar.gz bundle with lowercase name %(namelower)s-%(version)s.tar.gz SOURCE_TAR_XZ Source .tar.xz bundle %(name)s-%(version)s.tar.xz SOURCELOWER_TAR_XZ Source .tar.xz bundle with lowercase name %(namelower)s-%(version)s.tar.xz SOURCE_TAR_BZ2 Source .tar.bz2 bundle %(name)s-%(version)s.tar.bz2 SOURCELOWER_TAR_BZ2 Source .tar.bz2 bundle with lowercase name %(namelower)s-%(version)s.tar.bz2 SOURCE_TGZ Source .tgz bundle %(name)s-%(version)s.tgz SOURCELOWER_TGZ Source .tgz bundle with lowercase name %(namelower)s-%(version)s.tgz SOURCE_TXZ Source .txz bundle %(name)s-%(version)s.txz SOURCELOWER_TXZ Source .txz bundle with lowercase name %(namelower)s-%(version)s.txz SOURCE_TBZ2 Source .tbz2 bundle %(name)s-%(version)s.tbz2 SOURCELOWER_TBZ2 Source .tbz2 bundle with lowercase name %(namelower)s-%(version)s.tbz2 SOURCE_TB2 Source .tb2 bundle %(name)s-%(version)s.tb2 SOURCELOWER_TB2 Source .tb2 bundle with lowercase name %(namelower)s-%(version)s.tb2 SOURCE_GTGZ Source .gtgz bundle %(name)s-%(version)s.gtgz SOURCELOWER_GTGZ Source .gtgz bundle with lowercase name %(namelower)s-%(version)s.gtgz SOURCE_ZIP Source .zip bundle %(name)s-%(version)s.zip SOURCELOWER_ZIP Source .zip bundle with lowercase name %(namelower)s-%(version)s.zip SOURCE_TAR Source .tar bundle %(name)s-%(version)s.tar SOURCELOWER_TAR Source .tar bundle with lowercase name %(namelower)s-%(version)s.tar SOURCE_XZ Source .xz bundle %(name)s-%(version)s.xz SOURCELOWER_XZ Source .xz bundle with lowercase name %(namelower)s-%(version)s.xz SOURCE_TAR_Z Source .tar.Z bundle %(name)s-%(version)s.tar.Z SOURCELOWER_TAR_Z Source .tar.Z bundle with lowercase name %(namelower)s-%(version)s.tar.Z SOURCE_WHL Generic (non-compiled) Python 2 & Python 3 wheel package %(name)s-%(version)s-py2.py3-none-any.whl SOURCELOWER_WHL Generic (non-compiled) Python 2 & Python 3 wheel package with lowercase name %(namelower)s-%(version)s-py2.py3-none-any.whl SOURCE_PY2_WHL Generic (non-compiled) Python 2 wheel package %(name)s-%(version)s-py2-none-any.whl SOURCELOWER_PY2_WHL Generic (non-compiled) Python 2 wheel package with lowercase name %(namelower)s-%(version)s-py2-none-any.whl SOURCE_PY3_WHL Generic (non-compiled) Python 3 wheel package %(name)s-%(version)s-py3-none-any.whl SOURCELOWER_PY3_WHL Generic (non-compiled) Python 3 wheel package with lowercase name %(namelower)s-%(version)s-py3-none-any.whl

          (see also eb --avail-easyconfig-templates )

          "},{"location":"version-specific/eb-a-wrf/","title":"Available easyconfig parameters for WRF easyblock","text":"

          Warning

          This page will soon replace https://docs.easybuild.io/en/latest/eb_a_e_EB_WRF.html.

          It still needs to be ported from reStructuredText (.rst) to MarkDown (.md), and you can help with that!

          • source: docs/eb_a_e_EB_WRF.rst in easybuilders/easybuild repo
          • target: docs/version-specific/eb-a-wrf.md in easybuilders/easybuild-docs repo

          See https://github.com/easybuilders/easybuild-docs for more information.

          "},{"location":"version-specific/eb-help/","title":"EasyBuild configuration options","text":"

          (corresponds with output of eb --help )

          "},{"location":"version-specific/eb-help/#usage","title":"Usage","text":"

          eb [options] easyconfig [...]

          "},{"location":"version-specific/eb-help/#description","title":"Description","text":"

          Builds software based on easyconfig (or parse a directory). Provide one or more easyconfigs or directories, use -H or --help more information.

          "},{"location":"version-specific/eb-help/#help-options","title":"Help options","text":"Option flag Option description --version show program's version number and exit -h, --shorthelp show short help message and exit -H OUTPUT_FORMAT, --help=OUTPUT_FORMAT show full help message and exit --confighelp show help as annotated configfile"},{"location":"version-specific/eb-help/#debug-and-logging-options-configfile-section-main","title":"Debug and logging options (configfile section MAIN)","text":"Option flag Option description -d, --debug Enable debug log mode (default: False) --info Enable info log mode (default: False) --quiet Enable quiet/warning log mode (default: False)"},{"location":"version-specific/eb-help/#configfile-options","title":"Configfile options","text":"Option flag Option description --configfiles=CONFIGFILES Parse (additional) configfiles (type comma-separated list; default: /home/example/.config/easybuild/config.cfg) --ignoreconfigfiles=IGNORECONFIGFILES Ignore configfiles (type comma-separated list)"},{"location":"version-specific/eb-help/#basic-options","title":"Basic options","text":"Option flag Option description --dry-run Print build overview incl. dependencies (full paths) (default: False) -D, --dry-run-short Print build overview incl. dependencies (short paths) (default: False) -x, --extended-dry-run Print build environment and (expected) build procedure that will be performed (default: False) --extended-dry-run-ignore-errors Ignore errors that occur during dry run (default: True; disable with --disable-extended-dry-run-ignore-errors) -f, --force Force to rebuild software even if it's already installed (i.e. if it can be found as module), and skipping check for OS dependencies (default: False) --ignore-locks Ignore locks that prevent two identical installations running in parallel (default: False) --job Submit the build as a job (default: False) --locks-dir=LOCKS-DIR Directory to store lock files (should be on a shared filesystem); None implies .locks subdirectory of software installation directory -l, --logtostdout Redirect main log to stdout (default: False) -M, --missing-modules Print list of missing modules for dependencies of specified easyconfigs (default: False) -b BLOCKS, --only-blocks=BLOCKS Only build listed blocks (type comma-separated list) --rebuild Rebuild software, even if module already exists (don't skip OS dependencies checks) (default: False) -r PATH[:PATH], --robot=PATH[:PATH] Enable dependency resolution, using easyconfigs in specified paths (type pathsep-separated list) --robot-paths=PATH[:PATH] Additional paths to consider by robot for easyconfigs (--robot paths get priority) (type pathsep-separated list; default: /home/example/work/easybuild-easyconfigs/easybuild/easyconfigs) --search-paths=PATH[:PATH] Additional locations to consider in --search (next to --robot and --robot-paths paths) (type pathsep-separated list) -k, --skip Skip existing software (useful for installing additional packages) (default: False) -s STOP, --stop=STOP Stop the installation after certain step (type choice; default: source) (choices: fetch, ready, source, patch, prepare, configure, build, test, install, extensions, postiter, postproc, sanitycheck, cleanup, module, permissions, package, testcases) --strict=STRICT Set strictness level (type choice; default: warn) (choices: ignore, warn, error)"},{"location":"version-specific/eb-help/#configuration-options","title":"Configuration options","text":"Option flag Option description --avail-module-naming-schemes Show all supported module naming schemes (default: False) --avail-modules-tools Show all supported module tools (default: False) --avail-repositories Show all repository types (incl. non-usable) (default: False) --buildpath=BUILDPATH Temporary build path (default: /home/example/.local/easybuild/build) --containerpath=CONTAINERPATH Location where container recipe & image will be stored (default: /home/example/.local/easybuild/containers) --envvars-user-modules=ENVVARS-USER-MODULES List of environment variables that hold the base paths for which user-specific modules will be installed relative to (type comma-separated list; default: HOME) --external-modules-metadata=EXTERNAL-MODULES-METADATA List of (glob patterns for) paths to files specifying metadata for external modules (INI format) (type comma-separated list) --hooks=HOOKS Location of Python module with hook implementations (type str) --ignore-dirs=IGNORE-DIRS Directory names to ignore when searching for files/dirs (type comma-separated list; default: .git,.svn) --include-easyblocks=INCLUDE-EASYBLOCKS Location(s) of extra or customized easyblocks (type comma-separated list) --include-module-naming-schemes=INCLUDE-MODULE-NAMING-SCHEMES Location(s) of extra or customized module naming schemes (type comma-separated list) --include-toolchains=INCLUDE-TOOLCHAINS Location(s) of extra or customized toolchains or toolchain components (type comma-separated list) --installpath=INSTALLPATH Install path for software and modules (default: /home/example/.local/easybuild) --installpath-modules=INSTALLPATH-MODULES Install path for modules (if None, combine --installpath and --subdir-modules) --installpath-software=INSTALLPATH-SOFTWARE Install path for software (if None, combine --installpath and --subdir-software) --job-backend=JOB-BACKEND Backend to use for submitting jobs (type choice; default: GC3Pie) (choices: GC3Pie, PbsPython, Slurm) --logfile-format=DIR,FORMAT Directory name and format of the log file (type comma-separated tuple; default: easybuild,easybuild-%(name)s-%(version)s-%(date)s.%(time)s.log) --module-depends-on Use depends_on (Lmod 7.6.1+) for dependencies in all generated modules (implies recursive unloading of modules). (default: False) --module-extensions Include 'extensions' statement in generated module file (Lua syntax only) (default: False) --module-naming-scheme=MODULE-NAMING-SCHEME Module naming scheme to use (default: EasyBuildMNS) --module-syntax=MODULE-SYNTAX Syntax to be used for module files (type choice; default: Lua) (choices: Lua, Tcl) --moduleclasses=MODULECLASSES Extend supported module classes (For more info on the default classes, use --show-default-moduleclasses) (type comma-separated list; default: base,ai,astro,bio,cae,chem,compiler,data,debugger,devel,geo,ide,lang,lib,math,mpi,numlib,perf,quantum,phys,system,toolchain,tools,vis) --modules-footer=PATH Path to file containing footer to be added to all generated module files --modules-header=PATH Path to file containing header to be added to all generated module files --modules-tool=MODULES-TOOL Modules tool to use (type choice; default: Lmod) (choices: EnvironmentModules, EnvironmentModulesC, EnvironmentModulesTcl, Lmod) --package-naming-scheme=PACKAGE-NAMING-SCHEME Packaging naming scheme choice (type choice; default: EasyBuildPNS) (choices: EasyBuildDebFriendlyPNS, EasyBuildPNS) --packagepath=PACKAGEPATH The destination path for the packages built by package-tool (default: /home/example/.local/easybuild/packages) --prefix=PREFIX Change prefix for buildpath, installpath, sourcepath and repositorypath (used prefix for defaults /home/example/.local/easybuild) --recursive-module-unload Enable generating of modules that unload recursively. (default: False) --repository=REPOSITORY Repository type, using repositorypath (type choice; default: FileRepository) (choices: FileRepository, GitRepository) --repositorypath=REPOSITORYPATH Repository path, used by repository (is passed as list of arguments to create the repository instance). For more info, use --avail-repositories. (type comma-separated list; default: /home/example/.local/easybuild/ebfiles_repo) --sourcepath=SOURCEPATH Path(s) to where sources should be downloaded (string, colon-separated) (default: /home/example/.local/easybuild/sources) --subdir-modules=SUBDIR-MODULES Installpath subdir for modules (default: modules) --subdir-software=SUBDIR-SOFTWARE Installpath subdir for software (default: software) --subdir-user-modules=SUBDIR-USER-MODULES Base path of user-specific modules relative to --envvars-user-modules --suffix-modules-path=SUFFIX-MODULES-PATH Suffix for module files install path (default: all) --testoutput=TESTOUTPUT Path to where a job should place the output (to be set within jobscript) --tmp-logdir=TMP-LOGDIR Log directory where temporary log files are stored --tmpdir=TMPDIR Directory to use for temporary storage"},{"location":"version-specific/eb-help/#container-options","title":"Container options","text":"Option flag Option description --container-build-image Build container image (requires sudo privileges!) (default: False) --container-config=CONFIG Configuration for container image (type ) --container-image-format=IMAGE-FORMAT Container image format (type choice) (choices: ext3, sandbox, sif, squashfs) --container-image-name=IMAGE-NAME Custom name for container image (defaults to name of easyconfig) --container-template-recipe=TEMPLATE-RECIPE Template recipe for container image (type ) --container-tmpdir=TMPDIR Temporary directory where container image is built --container-type=TYPE Type of container recipe/image to create (type choice; default: singularity) (choices: apptainer, docker, singularity)"},{"location":"version-specific/eb-help/#options-for-easyconfigs","title":"Options for Easyconfigs","text":"Option flag Option description --create-index=CREATE-INDEX Create index for files in specified directory --fix-deprecated-easyconfigs Fix use of deprecated functionality in specified easyconfig files. (default: False) --ignore-index Ignore index when searching for files (default: False) --index-max-age=INDEX-MAX-AGE Maximum age for index before it is considered stale (in seconds) (type ; default: 604800) --inject-checksums=INJECT-CHECKSUMS Inject checksums of specified type for sources/patches into easyconfig file(s) (type choice; default: sha256) (choices: adler32, crc32, md5, sha1, sha256, sha512, size) --inject-checksums-to-json=INJECT-CHECKSUMS-TO-JSON Inject checksums of specified type for sources/patches into checksums.json (type choice; default: sha256) (choices: adler32, crc32, md5, sha1, sha256, sha512, size) --local-var-naming-check=LOCAL-VAR-NAMING-CHECK Mode to use when checking whether local variables follow the recommended naming scheme ('log': only log warnings (no printed messages); 'warn': print warnings; 'error': fail with an error) (type choice; default: warn) (choices: error, log, warn)"},{"location":"version-specific/eb-help/#github-integration-options","title":"GitHub integration options","text":"Option flag Option description --add-pr-labels=PR# Try to add labels to PR based on files changed (type ) --check-contrib Runs checks to see whether the given easyconfigs are ready to be contributed back (default: False) --check-github Check status of GitHub integration, and report back (default: False) --check-style Run a style check on the given easyconfigs (default: False) --cleanup-easyconfigs Clean up easyconfig files for pull request (default: True; disable with --disable-cleanup-easyconfigs) --close-pr=PR# Close pull request (type ) --close-pr-msg=CLOSE-PR-MSG Custom close message for pull request closed with --close-pr; (type ) --close-pr-reasons=CLOSE-PR-REASONS Close reason for pull request closed with --close-pr; supported values: archived, inactive, obsolete, retest (type ) --dump-test-report=DUMP-TEST-REPORT Dump test report to specified path (default: test_report.md) --from-pr=PR# Obtain easyconfigs from specified PR (type comma-separated list) --git-working-dirs-path=GIT-WORKING-DIRS-PATH Path to Git working directories for EasyBuild repositories (type ) --github-org=GITHUB-ORG GitHub organization (type ) --github-user=GITHUB-USER GitHub username (type ) --include-easyblocks-from-pr=PR# Include easyblocks from specified PR (type comma-separated list) --install-github-token Install GitHub token (requires --github-user) (default: False) --list-prs=STATE,ORDER,DIRECTION List pull requests (type ; default: open,created,desc) --merge-pr=PR# Merge pull request (type ) --new-branch-github Create new branch in GitHub in preparation for a PR (default: False) --new-pr Open a new pull request (default: False) --new-pr-from-branch=NEW-PR-FROM-BRANCH Open a new pull request from branch in GitHub (type ) --pr-branch-name=PR-BRANCH-NAME Branch name to use for new PRs; 'new_pr' if unspecified (type ) --pr-commit-msg=PR-COMMIT-MSG Commit message for new/updated pull request created with --new-pr (type ) --pr-descr=PR-DESCR Description for new pull request created with --new-pr (type ) --pr-target-account=PR-TARGET-ACCOUNT Target account for new PRs (type ; default: easybuilders) --pr-target-branch=PR-TARGET-BRANCH Target branch for new PRs (type ; default: develop) --pr-target-repo=PR-TARGET-REPO Target repository for new/updating PRs (default: auto-detect based on provided files) (type ) --pr-title=PR-TITLE Title for new pull request created with --new-pr (type ) --preview-pr Preview a new pull request (default: False) --review-pr=PR# Review specified pull request (type ) --review-pr-filter=REVIEW-PR-FILTER Regex used to filter out easyconfigs to diff against in --review-pr --review-pr-max=REVIEW-PR-MAX Maximum number of easyconfigs to diff against in --review-pr (type ) --sync-branch-with-develop=SYNC-BRANCH-WITH-DEVELOP Sync branch with current 'develop' branch (type ) --sync-pr-with-develop=PR# Sync pull request with current 'develop' branch (type ) --test-report-env-filter=TEST-REPORT-ENV-FILTER Regex used to filter out variables in environment dump of test report --update-branch-github=UPDATE-BRANCH-GITHUB Update specified branch in GitHub (type ) --update-pr=PR# Update an existing pull request (type ) -u, --upload-test-report Upload full test report as a gist on GitHub (default: False)"},{"location":"version-specific/eb-help/#informative-options","title":"Informative options","text":"Option flag Option description --avail-cfgfile-constants Show all constants that can be used in configuration files (default: False) --avail-easyconfig-constants Show all constants that can be used in easyconfigs (default: False) --avail-easyconfig-licenses Show all license constants that can be used in easyconfigs (default: False) -a, --avail-easyconfig-params Show all easyconfig parameters (include easyblock-specific ones by using -e) (default: False) --avail-easyconfig-templates Show all template names and template constants that can be used in easyconfigs. (default: False) --avail-hooks Show list of known hooks (default: False) --avail-toolchain-opts=AVAIL-TOOLCHAIN-OPTS Show options for toolchain (type str) --check-conflicts Check for version conflicts in dependency graphs (default: False) --check-eb-deps Check presence and version of (required and optional) EasyBuild dependencies (default: False) --dep-graph=depgraph.<ext> Create dependency graph --dump-env-script Dump source script to set up build environment based on toolchain/dependencies (default: False) --easystack=EASYSTACK Path to easystack file in YAML format, specifying details of a software stack --last-log Print location to EasyBuild log file of last (failed) session (default: False) --list-easyblocks=LIST-EASYBLOCKS Show list of available easyblocks (type choice; default: simple) (choices: simple, detailed) --list-installed-software=LIST-INSTALLED-SOFTWARE Show list of installed software (type choice; default: simple) (choices: simple, detailed) --list-software=LIST-SOFTWARE Show list of supported software (type choice; default: simple) (choices: simple, detailed) --list-toolchains Show list of known toolchains (default: False) --search=REGEX Search for easyconfig files in the robot search path, print full paths --search-filename=REGEX Search for easyconfig files in the robot search path, print only filenames -S REGEX, --search-short=REGEX Search for easyconfig files in the robot search path, print short paths --show-config Show current EasyBuild configuration (only non-default + selected settings) (default: False) --show-default-configfiles Show list of default config files (default: False) --show-default-moduleclasses Show default module classes with description (default: False) --show-ec Show contents of specified easyconfig(s) (default: False) --show-full-config Show current EasyBuild configuration (all settings) (default: False) --show-system-info Show system information relevant to EasyBuild (default: False) --terse Terse output (machine-readable) (default: False)"},{"location":"version-specific/eb-help/#options-for-job-backend","title":"Options for job backend","text":"Option flag Option description --job-backend-config=BACKEND-CONFIG Configuration file for job backend --job-cores=CORES Number of cores to request per job (type int) --job-deps-type=DEPS-TYPE Type of dependency to set between jobs (default depends on job backend) (type choice) (choices: abort_on_error, always_run) --job-eb-cmd=EB-CMD EasyBuild command to use in jobs (type str; default: eb) --job-max-jobs=MAX-JOBS Maximum number of concurrent jobs (queued and running, 0 = unlimited) (type int; default: 0) --job-max-walltime=MAX-WALLTIME Maximum walltime for jobs (in hours) (type int; default: 24) --job-output-dir=OUTPUT-DIR Output directory for jobs (default: current directory) (default: /Volumes/work/easybuild-docs/docs/version-specific) --job-polling-interval=POLLING-INTERVAL Interval between polls for status of jobs (in seconds) (type ; default: 30.0) --job-target-resource=TARGET-RESOURCE Target resource for jobs"},{"location":"version-specific/eb-help/#override-options","title":"Override options","text":"Option flag Option description --accept-eula=ACCEPT-EULA Accept EULA for specified software [DEPRECATED, use --accept-eula-for instead!] (type comma-separated list) --accept-eula-for=ACCEPT-EULA-FOR Accept EULA for specified software (type comma-separated list) --add-dummy-to-minimal-toolchains Include dummy toolchain in minimal toolchain searches [DEPRECATED, use --add-system-to-minimal-toolchains instead!] (default: False) --add-system-to-minimal-toolchains Include system toolchain in minimal toolchain searches (default: False) --allow-loaded-modules=ALLOW-LOADED-MODULES List of software names for which to allow loaded modules in initial environment (type comma-separated list; default: EasyBuild) --allow-modules-tool-mismatch Allow mismatch of modules tool and definition of 'module' function (default: False) --allow-use-as-root-and-accept-consequences Allow using of EasyBuild as root (NOT RECOMMENDED!) (default: False) --backup-modules Back up an existing module file, if any. Only works when using --module-only --backup-patched-files Create a backup (*.orig) file when applying a patch (default: False) --banned-linked-shared-libs=BANNED-LINKED-SHARED-LIBS Comma-separated list of shared libraries (names, file names, or paths) which are not allowed to be linked in any installed binary/library (type comma-separated list) --check-ebroot-env-vars=CHECK-EBROOT-ENV-VARS Action to take when defined $EBROOT* environment variables are found for which there is no matching loaded module; supported values: error, ignore, unset, warn (default: warn) --checksum-priority=CHECKSUM-PRIORITY When checksums are found in both the EasyConfig and the checksums.json fileDefine which one to use. (type choice; default: easyconfig) (choices: json, easyconfig) --cleanup-builddir Cleanup build dir after successful installation. (default: True; disable with --disable-cleanup-builddir) --cleanup-tmpdir Cleanup tmp dir after successful run. (default: True; disable with --disable-cleanup-tmpdir) --color=WHEN Colorize output (type choice; default: auto) (choices: auto, always, never) --consider-archived-easyconfigs Also consider archived easyconfigs (default: False) -C, --containerize Generate container recipe/image (default: False) --copy-ec Copy specified easyconfig(s) to specified location (default: False) --cuda-cache-dir=PATH Path to CUDA cache dir to use if enabled. Defaults to a path inside the build dir. (type ) --cuda-cache-maxsize=CUDA-CACHE-MAXSIZE Maximum size of the CUDA cache (in MiB) used for JIT compilation of PTX code. Leave value empty to let EasyBuild choose a value or '0' to disable the cache (type ) --cuda-compute-capabilities=CUDA-COMPUTE-CAPABILITIES List of CUDA compute capabilities to use when building GPU software; values should be specified as digits separated by a dot, for example: 3.5,5.0,7.2 (type comma-separated list) --debug-lmod Run Lmod modules tool commands in debug module (default: False) --default-opt-level=DEFAULT-OPT-LEVEL Specify default optimisation level (type choice; default: defaultopt) (choices: noopt, lowopt, defaultopt, opt) --deprecated=DEPRECATED Run pretending to be (future) version, to test removal of deprecated code. --detect-loaded-modules=DETECT-LOADED-MODULES Detect loaded EasyBuild-generated modules, act accordingly; supported values: error, ignore, purge, unload, warn (default: warn) --devel Enable including of development log messages (default: False) --download-timeout=DOWNLOAD-TIMEOUT Timeout for initiating downloads (in seconds) (type ; default: 10) --dump-autopep8 Reformat easyconfigs using autopep8 when dumping them (default: False) -e CLASS, --easyblock=CLASS easyblock to use for processing the spec file or dumping the options --enforce-checksums Enforce availability of checksums for all sources/patches, so they can be verified (default: False) --env-for-shebang=ENV-FOR-SHEBANG Define the env command to use when fixing shebangs (default: /usr/bin/env) --experimental Allow experimental code (with behaviour that can be changed/removed at any given time). (default: False) --extra-modules=EXTRA-MODULES List of extra modules to load after setting up the build environment (type comma-separated list) --fetch Allow downloading sources ignoring OS and modules tool dependencies, implies --stop=fetch, --ignore-osdeps and ignore modules tool (default: False) --filter-deps=FILTER-DEPS List of dependencies that you do not want to install with EasyBuild, because equivalent OS packages are installed. (e.g. --filter-deps=zlib,ncurses) (type comma-separated list) --filter-ecs=FILTER-ECS List of easyconfigs (given as glob patterns) to ignore when given on command line or auto-selected when building with --from-pr. (e.g. --filter-ecs=intel) (type comma-separated list) --filter-env-vars=FILTER-ENV-VARS List of names of environment variables that should not be defined/updated by module files generated by EasyBuild (type comma-separated list) --filter-rpath-sanity-libs=FILTER-RPATH-SANITY-LIBS List of libraries that should be ignored by the RPATH sanity check. I.e. if these libraries are not RPATH-ed, that will be accepted by the RPATH sanity check. Note that you'll need to provide the exact library name, as it is returned by 'ldd', including any version (type comma-separated list; default: libcuda.so,libcuda.so.1,libnvidia-ml.so,libnvidia-ml.so.1) --fixed-installdir-naming-scheme Use fixed naming scheme for installation directories (default: True; disable with --disable-fixed-installdir-naming-scheme) --force-download=FORCE-DOWNLOAD Force re-downloading of sources and/or patches, even if they are available already in source path (type choice; default: sources) (choices: all, patches, sources) --generate-devel-module Generate a develop module file, implies --force if disabled (default: True; disable with --disable-generate-devel-module) --group=GROUP Group to be used for software installations (only verified, not set) --group-writable-installdir Enable group write permissions on installation directory after installation (default: False) --hidden Install 'hidden' module file(s) by prefixing their version with '.' (default: False) --hide-deps=HIDE-DEPS Comma separated list of dependencies that you want automatically hidden, (e.g. --hide-deps=zlib,ncurses) (type comma-separated list) --hide-toolchains=HIDE-TOOLCHAINS Comma separated list of toolchains that you want automatically hidden, (e.g. --hide-toolchains=GCCcore) (type comma-separated list) --http-header-fields-urlpat=[URLPAT::][HEADER:]FILE|FIELD Set extra HTTP header FIELDs when downloading files from URL PATterns. To not log sensitive values, specify a file containing newline separated FIELDs. e.g. \"^https://www.example.com::/path/to/headers.txt\" or \"client[A-z0-9]*.example.com': ['Authorization: Basic token']\". --ignore-checksums Ignore failing checksum verification (default: False) --ignore-osdeps Ignore any listed OS dependencies (default: False) --ignore-test-failure Ignore a failing test step (default: False) --insecure-download Don't check the server certificate against the available certificate authorities. (default: False) --install-latest-eb-release Install latest known version of easybuild (default: False) --lib-lib64-symlink Automatically create symlinks for lib/ pointing to lib64/ if the former is missing (default: True; disable with --disable-lib-lib64-symlink) --lib64-fallback-sanity-check Fallback in sanity check to lib64/ equivalent for missing libraries (default: True; disable with --disable-lib64-fallback-sanity-check) --lib64-lib-symlink Automatically create symlinks for lib64/ pointing to lib/ if the former is missing (default: True; disable with --disable-lib64-lib-symlink) --max-fail-ratio-adjust-permissions=MAX-FAIL-RATIO-ADJUST-PERMISSIONS Maximum ratio for failures to allow when adjusting permissions (type float; default: 0.5) --minimal-build-env=MINIMAL-BUILD-ENV Minimal build environment to define when using system toolchain, specified as a comma-separated list that defines a mapping between name of environment variable and its value separated by a colon (':') (default: CC:gcc,CXX:g++) --minimal-toolchains Use minimal toolchain when resolving dependencies (default: False) --module-only Only generate module file(s); skip all steps except for module, prepare, ready, postiter, sanitycheck (default: False) --modules-tool-version-check Check version of modules tool being used (default: True; disable with --disable-modules-tool-version-check) --mpi-cmd-template=MPI-CMD-TEMPLATE Template for MPI commands (template keys: %(nr_ranks)s, %(cmd)s) --mpi-tests Run MPI tests (when relevant) (default: True; disable with --disable-mpi-tests) --optarch=OPTARCH Set architecture optimization, overriding native architecture optimizations --output-format=OUTPUT-FORMAT Set output format (type choice; default: txt) (choices: md, rst, txt) --output-style=OUTPUT-STYLE Control output style; auto implies using Rich if available to produce rich output, with fallback to basic colored output (type choice; default: auto) (choices: auto, basic, no_color, rich) --parallel=PARALLEL Specify (maximum) level of parallellism used during build procedure (type int) --parallel-extensions-install Install list of extensions in parallel (if supported) (default: False) --pre-create-installdir Create installation directory before submitting build jobs (default: True; disable with --disable-pre-create-installdir) -p, --pretend Does the build/installation in a test directory located in $HOME/easybuildinstall (default: False) --read-only-installdir Set read-only permissions on installation directory after installation (default: False) --remove-ghost-install-dirs Remove ghost installation directories when --force or --rebuild is used, rather than just warning about them (default: False) --required-linked-shared-libs=REQUIRED-LINKED-SHARED-LIBS Comma-separated list of shared libraries (names, file names, or paths) which must be linked in all installed binaries/libraries (type comma-separated list) --rpath Enable use of RPATH for linking with libraries (default: False) --rpath-filter=RPATH-FILTER List of regex patterns to use for filtering out RPATH paths (type comma-separated list) --rpath-override-dirs=RPATH-OVERRIDE-DIRS Path(s) to be prepended when linking with RPATH (string, colon-separated) --sanity-check-only Only run sanity check (module is expected to be installed already (default: False) --set-default-module Set the generated module as default (default: False) --set-gid-bit Set group ID bit on newly created directories (default: False) --show-progress-bar Show progress bar in terminal output (default: True; disable with --disable-show-progress-bar) --silence-deprecation-warnings=SILENCE-DEPRECATION-WARNINGS Silence specified deprecation warnings out of (python2, Lmod6, easyconfig, toolchain) (type comma-separated list) --skip-extensions Skip installation of extensions (default: False) -t, --skip-test-cases Skip running test cases (default: False) --skip-test-step Skip running the test step (e.g. unit tests) (default: False) --sticky-bit Set sticky bit on newly created directories (default: False) --sysroot=SYSROOT Location root directory of system, prefix for standard paths like /usr/lib and /usr/include -T, --trace Provide more information in output to stdout on progress (default: False) --umask=UMASK umask to use (e.g. '022'); non-user write permissions on install directories are removed --unit-testing-mode Run in unit test mode (default: False) --update-modules-tool-cache Update modules tool cache file(s) after generating module file (default: False) --use-ccache=PATH Enable use of ccache to speed up compilation, with specified cache dir (type ; default: False) --use-existing-modules Use existing modules when resolving dependencies with minimal toolchains (default: False) --use-f90cache=PATH Enable use of f90cache to speed up compilation, with specified cache dir (type ; default: False) --verify-easyconfig-filenames Verify whether filename of specified easyconfigs matches with contents (default: False) --wait-on-lock=WAIT-ON-LOCK Wait for lock to be released; 0 implies no waiting (exit with an error if the lock already exists), non-zero value specified waiting interval [DEPRECATED: use --wait-on-lock-interval and --wait-on-lock-limit instead] (type ) --wait-on-lock-interval=WAIT-ON-LOCK-INTERVAL Wait interval (in seconds) to use when waiting for existing lock to be removed (type ; default: 60) --wait-on-lock-limit=WAIT-ON-LOCK-LIMIT Maximum amount of time (in seconds) to wait until lock is released (0 means no waiting at all, exit with error; -1 means no waiting limit, keep waiting) (type ; default: 0) --zip-logs=ZIP-LOGS Zip logs that are copied to install directory, using specified command (default: gzip)"},{"location":"version-specific/eb-help/#package-options","title":"Package options","text":"Option flag Option description --package Enabling packaging (default: False) --package-release=PACKAGE-RELEASE Package release iteration number (default: 1) --package-tool=PACKAGE-TOOL Packaging tool to use (default: fpm) --package-tool-options=PACKAGE-TOOL-OPTIONS Extra options for packaging tool (default: '') --package-type=PACKAGE-TYPE Type of package to generate (default: rpm)"},{"location":"version-specific/eb-help/#regression-test-options","title":"Regression test options","text":"Option flag Option description --aggregate-regtest=DIR Collect all the xmls inside the given directory and generate a single file --regtest Enable regression test mode (default: False) --regtest-output-dir=DIR Set output directory for test-run --sequential Specify this option if you want to prevent parallel build (default: False)"},{"location":"version-specific/eb-help/#software-search-and-build-options","title":"Software search and build options","text":"Option flag Option description --amend=VAR=VALUE[,VALUE] Specify additional search and build parameters (can be used multiple times); for example: versionprefix=foo or patches=one.patch,two.patch) --map-toolchains Enable mapping of (sub)toolchains when --try-toolchain(-version) is used (default: True; disable with --disable-map-toolchains) --software=NAME,VERSION Search and build software with given name and version (type comma-separated list) --software-name=NAME Search and build software with given name --software-version=VERSION Search and build software with given version --toolchain=NAME,VERSION Search and build with given toolchain (name and version) (type comma-separated list) --toolchain-name=NAME Search and build with given toolchain name --toolchain-version=VERSION Search and build with given toolchain version --try-amend=VAR=VALUE[,VALUE] Try to specify additional search and build parameters (can be used multiple times); for example: versionprefix=foo or patches=one.patch,two.patch) (USE WITH CARE!) --try-ignore-versionsuffixes Ignore versionsuffix differences when --try-update-deps is used (default: False) --try-software=NAME,VERSION Try to search and build software with given name and version (USE WITH CARE!) (type comma-separated list) --try-software-name=NAME Try to search and build software with given name (USE WITH CARE!) --try-software-version=VERSION Try to search and build software with given version (USE WITH CARE!) --try-toolchain=NAME,VERSION Try to search and build with given toolchain (name and version) (USE WITH CARE!) (type comma-separated list) --try-toolchain-name=NAME Try to search and build with given toolchain name (USE WITH CARE!) --try-toolchain-version=VERSION Try to search and build with given toolchain version (USE WITH CARE!) --try-update-deps Try to update versions of the dependencies of an easyconfig based on what is available in the robot path (default: False)"},{"location":"version-specific/eb-help/#unittest-options","title":"Unittest options","text":"Option flag Option description --unittest-file=FILE Log to this file in unittest mode

          (see also eb --help )

          "},{"location":"version-specific/generic-easyblocks/","title":"Generic easyblocks","text":""},{"location":"version-specific/generic-easyblocks/#generic_easyblocks","title":"Overview of generic easyblocks","text":"

          BinariesTarball - Binary - BuildEnv - Bundle - CMakeMake - CMakeMakeCp - CMakeNinja - CMakePythonPackage - Cargo - CargoPythonPackage - CmdCp - Conda - ConfigureMake - ConfigureMakePythonPackage - CrayToolchain - FortranPythonPackage - GoPackage - IntelBase - JAR - JuliaBundle - JuliaPackage - MakeCp - MesonNinja - ModuleRC - OCamlPackage - OctavePackage - PackedBinary - PerlBundle - PerlModule - PythonBundle - PythonPackage - RPackage - Rpm - RubyGem - SCons - SystemCompiler - SystemMPI - Tarball - Toolchain - VSCPythonPackage - VersionIndependentPythonPackage - Waf

          "},{"location":"version-specific/generic-easyblocks/#binariestarball","title":"BinariesTarball","text":"

          (derives from Tarball)

          Support for installing a tarball of binaries

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-binariestarball-easyblock","title":"Extra easyconfig parameters specific to BinariesTarball easyblock","text":"easyconfig parameter description default value install_type Defaults to extract tarball into clean directory. Options: 'merge' merges tarball to existing directory, 'subdir' extracts tarball into its own sub-directory None options Dictionary with extension options. {} preinstall_cmd Command to execute before installation None"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-binariestarball-easyblock","title":"Customised steps in BinariesTarball easyblock","text":"
          • install_step - Install by copying unzipped binaries to 'bin' subdir of installation dir, and fixing permissions.
          "},{"location":"version-specific/generic-easyblocks/#binary","title":"Binary","text":"

          (derives from EasyBlock)

          Support for installing software that comes in binary form. Just copy the sources to the install dir, or use the specified install command.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-binary-easyblock","title":"Extra easyconfig parameters specific to Binary easyblock","text":"easyconfig parameter description default value extract_sources Whether or not to extract sources False install_cmd Install command to be used. None install_cmds List of install commands to be used. None prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-binary-easyblock","title":"Customised steps in Binary easyblock","text":"
          • build_step - No compilation, this is binary software

          • configure_step - No configuration, this is binary software

          • install_step - Copy all files in build directory to the install directory

          "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-binary-easyblock","title":"Example easyconfig for Binary easyblock","text":"
          easyblock = 'Binary'\n\nname = 'Platanus'\nversion = '1.2.1'\nversionsuffix = '-linux-x86_64'\n\nhomepage = 'http://platanus.bio.titech.ac.jp/'\ndescription = \"\"\"PLATform for Assembling NUcleotide Sequences\"\"\"\n\ntoolchain = SYSTEM\n\nsource_urls = ['http://platanus.bio.titech.ac.jp/Platanus_release/20130901010201']\nsources = ['platanus']\nchecksums = ['02cf92847ec704d010a54df293b9c60a']\n\nsanity_check_paths = {\n    'files': ['platanus'],\n    'dirs': [],\n}\n\nmoduleclass = 'bio'\n
          "},{"location":"version-specific/generic-easyblocks/#buildenv","title":"BuildEnv","text":"

          (derives from Bundle)

          Build environment of toolchain: only generate module file

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-buildenv-easyblock","title":"Extra easyconfig parameters specific to BuildEnv easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#bundle","title":"Bundle","text":"

          (derives from EasyBlock)

          Bundle of modules: only generate module files, nothing to build/install

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-bundle-easyblock","title":"Extra easyconfig parameters specific to Bundle easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-bundle-easyblock","title":"Customised steps in Bundle easyblock","text":"
          • build_step - Do nothing.

          • configure_step - Collect altroot/altversion info.

          • install_step - Install components, if specified.

          "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-bundle-easyblock","title":"Example easyconfig for Bundle easyblock","text":"
          easyblock = 'Bundle'\n\nname = 'Autotools'\nversion = '20150119' # date of the most recent change\n\nhomepage = 'http://autotools.io'\ndescription = \"\"\"This bundle collect the standard GNU build tools: Autoconf, Automake and libtool\"\"\"\n\ntoolchain = {'name': 'GCC', 'version': '4.9.2'}\n\ndependencies = [\n    ('Autoconf', '2.69'), # 20120424\n    ('Automake', '1.15'), # 20150105\n    ('libtool', '2.4.5'), # 20150119\n]\n\nmoduleclass = 'devel'\n
          "},{"location":"version-specific/generic-easyblocks/#cmakemake","title":"CMakeMake","text":"

          (derives from ConfigureMake)

          Support for configuring build with CMake instead of traditional configure script

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmakemake-easyblock","title":"Extra easyconfig parameters specific to CMakeMake easyblock","text":"easyconfig parameter description default value abs_path_compilers Specify compilers via absolute file path (not via command names) False allow_system_boost Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) False build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_shared_libs Build shared library (instead of static library)None can be used to add no flag (usually results in static library) None build_type Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] None configure_cmd Configure command to use \"cmake\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False generator Build file generator to use. None to use CMakes default None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_target_subdir Subdirectory to use as installation target None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None separate_build_dir Perform build in a separate directory True srcdir Source directory location to provide to cmake command None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\""},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmakemake-easyblock","title":"Customised steps in CMakeMake easyblock","text":"
          • configure_step - Configure build using cmake

          • install_step - Configure build using cmake

          "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-cmakemake-easyblock","title":"Example easyconfig for CMakeMake easyblock","text":"
          easyblock = 'CMakeMake'\n\nname = 'ANTs'\nversion = '2.1.0rc3'\n\nhomepage = 'http://stnava.github.io/ANTs/'\ndescription = \"\"\"ANTs extracts information from complex datasets that include imaging. ANTs is useful for managing,\n interpreting and visualizing multidimensional data.\"\"\"\n\ntoolchain = {'name': 'goolf', 'version': '1.5.14'}\ntoolchainopts = {'pic': True}\n\nsource_urls = ['https://github.com/stnava/ANTs/archive/']\nsources = ['v%(version)s.tar.gz']\n\nbuilddependencies = [('CMake', '3.0.2')]\n\nskipsteps = ['install']\nbuildopts = ' && mkdir -p %(installdir)s && cp -r * %(installdir)s/'\n\nparallel = 1\n\nseparate_build_dir = True\n\nsanity_check_paths = {\n    'files': ['bin/ANTS'],\n    'dirs': ['lib'],\n}\n\nmoduleclass = 'data'\n
          "},{"location":"version-specific/generic-easyblocks/#cmakemakecp","title":"CMakeMakeCp","text":"

          (derives from CMakeMake, MakeCp)

          Software configured with CMake but without 'make install' step

          We use the default CMakeMake implementation, and use install_step from MakeCp.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmakemakecp-easyblock","title":"Extra easyconfig parameters specific to CMakeMakeCp easyblock","text":"easyconfig parameter description default value abs_path_compilers Specify compilers via absolute file path (not via command names) False allow_system_boost Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) False build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_shared_libs Build shared library (instead of static library)None can be used to add no flag (usually results in static library) None build_type Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] None configure_cmd Configure command to use \"cmake\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False files_to_copy List of files or dirs to copy None generator Build file generator to use. None to use CMakes default None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_target_subdir Subdirectory to use as installation target None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None separate_build_dir Perform build in a separate directory True srcdir Source directory location to provide to cmake command None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" with_configure Run configure script before building False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmakemakecp-easyblock","title":"Customised steps in CMakeMakeCp easyblock","text":"
          • configure_step - Configure build using CMake

          • install_step - Install by copying specified files and directories.

          "},{"location":"version-specific/generic-easyblocks/#cmakeninja","title":"CMakeNinja","text":"

          (derives from CMakeMake, MesonNinja)

          Support for configuring with CMake, building and installing with MesonNinja.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmakeninja-easyblock","title":"Extra easyconfig parameters specific to CMakeNinja easyblock","text":"easyconfig parameter description default value abs_path_compilers Specify compilers via absolute file path (not via command names) False allow_system_boost Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) False build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_shared_libs Build shared library (instead of static library)None can be used to add no flag (usually results in static library) None build_type Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] None configure_cmd Configure command to use \"cmake\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False generator Build file generator to use. None to use CMakes default \"Ninja\" host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_target_subdir Subdirectory to use as installation target None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None separate_build_dir Perform build in a separate directory True srcdir Source directory location to provide to cmake command None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\""},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmakeninja-easyblock","title":"Customised steps in CMakeNinja easyblock","text":"
          • build_step - Build using MesonNinja.

          • configure_step - Configure using CMake.

          • install_step - Install using MesonNinja.

          "},{"location":"version-specific/generic-easyblocks/#cmakepythonpackage","title":"CMakePythonPackage","text":"

          (derives from CMakeMake, PythonPackage)

          Build a Python package and module with cmake.

          Some packages use cmake to first build and install C Python packages and then put the Python package in lib/pythonX.Y/site-packages.

          We use the default CMake implementation, and use make_module_extra from PythonPackage to generate a module file which sets the PYTHONPATH.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmakepythonpackage-easyblock","title":"Extra easyconfig parameters specific to CMakePythonPackage easyblock","text":"easyconfig parameter description default value abs_path_compilers Specify compilers via absolute file path (not via command names) False allow_system_boost Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) False build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_shared_libs Build shared library (instead of static library)None can be used to add no flag (usually results in static library) None build_type Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] None buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None configure_cmd Configure command to use \"cmake\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False download_dep_fail Fail if downloaded dependencies are detected None generator Build file generator to use. None to use CMakes default None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" install_target_subdir Subdirectory to use as installation target None options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. None sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False separate_build_dir Perform build in a separate directory True source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] srcdir Source directory location to provide to cmake command None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmakepythonpackage-easyblock","title":"Customised steps in CMakePythonPackage easyblock","text":"
          • configure_step - Main configuration using cmake

          • install_step - Main configuration using cmake

          "},{"location":"version-specific/generic-easyblocks/#cargo","title":"Cargo","text":"

          (derives from ExtensionEasyBlock)

          Support for installing Cargo packages (Rust)

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cargo-easyblock","title":"Extra easyconfig parameters specific to Cargo easyblock","text":"easyconfig parameter description default value crates List of (crate, version, [repo, rev]) tuples to use [] enable_tests Enable building of tests True lto Override default LTO flag ('fat', 'thin', 'off') None offline Build offline True options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cargo-easyblock","title":"Customised steps in Cargo easyblock","text":"
          • build_step - Build with cargo

          • configure_step - Empty configuration step.

          • install_step - Install with cargo

          "},{"location":"version-specific/generic-easyblocks/#cargopythonpackage","title":"CargoPythonPackage","text":"

          (derives from PythonPackage, Cargo)

          Build a Python package with setup from Cargo but build/install step from PythonPackage

          The cargo init step will set up the environment variables for rustc and vendor sources but all the build steps are triggered via normal PythonPackage steps like normal.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cargopythonpackage-easyblock","title":"Extra easyconfig parameters specific to CargoPythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None crates List of (crate, version, [repo, rev]) tuples to use [] download_dep_fail Fail if downloaded dependencies are detected None enable_tests Enable building of tests True install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" lto Override default LTO flag ('fat', 'thin', 'off') None offline Build offline True options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#cmdcp","title":"CmdCp","text":"

          (derives from MakeCp)

          Software with no configure, no make, and no make install step. Just run the specified command for all sources, and copy specified files to the install dir

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmdcp-easyblock","title":"Extra easyconfig parameters specific to CmdCp easyblock","text":"easyconfig parameter description default value build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None cmds_map List of regex/template command (with 'source'/'target' fields) tuples [('.*', '$CC $CFLAGS %(source)s -o %(target)s')] configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False files_to_copy List of files or dirs to copy None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" prefix_opt Prefix command line option for configure script ('--prefix=' if None) None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" with_configure Run configure script before building False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmdcp-easyblock","title":"Customised steps in CmdCp easyblock","text":"
          • build_step - Build by running the command with the inputfiles

          • configure_step - Build by running the command with the inputfiles

          • install_step - Build by running the command with the inputfiles

          "},{"location":"version-specific/generic-easyblocks/#conda","title":"Conda","text":"

          (derives from Binary)

          Support for installing software using 'conda'.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-conda-easyblock","title":"Extra easyconfig parameters specific to Conda easyblock","text":"easyconfig parameter description default value channels List of conda channels to pass to 'conda install' None environment_file Conda environment.yml file to use with 'conda env create' None extract_sources Whether or not to extract sources False install_cmd Install command to be used. None install_cmds List of install commands to be used. None prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] remote_environment Remote conda environment to use with 'conda env create' None requirements Requirements specification to pass to 'conda install' None staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-conda-easyblock","title":"Customised steps in Conda easyblock","text":"
          • install_step - Install software using 'conda env create' or 'conda create' & 'conda install'.
          "},{"location":"version-specific/generic-easyblocks/#configuremake","title":"ConfigureMake","text":"

          (derives from EasyBlock)

          Support for building and installing applications with configure/make/make install

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-configuremake-easyblock","title":"Extra easyconfig parameters specific to ConfigureMake easyblock","text":"easyconfig parameter description default value build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" prefix_opt Prefix command line option for configure script ('--prefix=' if None) None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\""},{"location":"version-specific/generic-easyblocks/#commonly-used-easyconfig-parameters-with-configuremake-easyblock","title":"Commonly used easyconfig parameters with ConfigureMake easyblock","text":"easyconfig parameter description configopts Extra options passed to configure (default already has --prefix) buildopts Extra options passed to make step (default already has -j X) installopts Extra options for installation"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-configuremake-easyblock","title":"Customised steps in ConfigureMake easyblock","text":"
          • build_step - Start the actual build - typical: make -j X

          • configure_step - Configure step - typically ./configure --prefix=/install/path style

          • install_step - Create the installation in correct location - typical: make install

          "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-configuremake-easyblock","title":"Example easyconfig for ConfigureMake easyblock","text":"
          easyblock = 'ConfigureMake'\n\nname = 'zsync'\nversion = '0.6.2'\n\nhomepage = 'http://zsync.moria.org.uk/'\ndescription = \"\"\"zsync-0.6.2: Optimising file distribution program, a 1-to-many rsync\"\"\"\n\ntoolchain = {'name': 'ictce', 'version': '5.3.0'}\n\nsources = [SOURCE_TAR_BZ2]\nsource_urls = ['http://zsync.moria.org.uk/download/']\n\nsanity_check_paths = {\n    'files': ['bin/zsync'],\n    'dirs': []\n}\n\nmoduleclass = 'tools'\n
          "},{"location":"version-specific/generic-easyblocks/#configuremakepythonpackage","title":"ConfigureMakePythonPackage","text":"

          (derives from ConfigureMake, PythonPackage)

          Build a Python package and module with python configure/make/make install.

          Implemented by using:

          • a custom implementation of configure_step
          • using the build_step and install_step from ConfigureMake
          • using the sanity_check_step and make_module_extra from PythonPackage
          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-configuremakepythonpackage-easyblock","title":"Extra easyconfig parameters specific to ConfigureMakePythonPackage easyblock","text":"easyconfig parameter description default value build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False download_dep_fail Fail if downloaded dependencies are detected None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-configuremakepythonpackage-easyblock","title":"Customised steps in ConfigureMakePythonPackage easyblock","text":"
          • build_step - Build Python package with make.

          • configure_step - Configure build using python configure.

          • install_step - Install with make install.

          "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-configuremakepythonpackage-easyblock","title":"Example easyconfig for ConfigureMakePythonPackage easyblock","text":"
          easyblock = 'ConfigureMakePythonPackage'\n\nname = 'PyQt'\nversion = '4.11.3'\nversionsuffix = '-Python-%(pyver)s'\n\nhomepage = 'http://www.riverbankcomputing.co.uk/software/pyqt'\ndescription = \"\"\"PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework.\"\"\"\n\ntoolchain = {'name': 'goolf', 'version': '1.5.14'}\n\nsources = ['%(name)s-x11-gpl-%(version)s.tar.gz']\nsource_urls = ['http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-%(version)s']\n\ndependencies = [\n    ('Python', '2.7.9'),\n    ('SIP', '4.16.4', versionsuffix),\n    ('Qt', '4.8.6'),\n]\n\nconfigopts = \"configure-ng.py --confirm-license\"\nconfigopts += \" --destdir=%%(installdir)s/lib/python%(pyshortver)s/site-packages \"\nconfigopts += \" --no-sip-files\"\n\noptions = {'modulename': 'PyQt4'}\n\nmodextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}\n\nmoduleclass = 'vis'\n
          "},{"location":"version-specific/generic-easyblocks/#craytoolchain","title":"CrayToolchain","text":"

          (derives from Bundle)

          Compiler toolchain: generate module file only, nothing to build/install

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-craytoolchain-easyblock","title":"Extra easyconfig parameters specific to CrayToolchain easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#fortranpythonpackage","title":"FortranPythonPackage","text":"

          (derives from PythonPackage)

          Extends PythonPackage to add a Fortran compiler to the make call

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-fortranpythonpackage-easyblock","title":"Extra easyconfig parameters specific to FortranPythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-fortranpythonpackage-easyblock","title":"Customised steps in FortranPythonPackage easyblock","text":"
          • build_step - Customize the build step by adding compiler-specific flags to the build command.

          • configure_step - Customize the build step by adding compiler-specific flags to the build command.

          • install_step - Customize the build step by adding compiler-specific flags to the build command.

          "},{"location":"version-specific/generic-easyblocks/#gopackage","title":"GoPackage","text":"

          (derives from EasyBlock)

          Builds and installs a Go package, and provides a dedicated module file.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-gopackage-easyblock","title":"Extra easyconfig parameters specific to GoPackage easyblock","text":"easyconfig parameter description default value forced_deps Force specific version of Go package, when building non-native module None modulename Module name of the Go package, when building non-native module None"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-gopackage-easyblock","title":"Customised steps in GoPackage easyblock","text":"
          • build_step - If Go package is not native go module, lets try to make the module.

          • configure_step - Configure Go package build/install.

          • install_step - Install Go package to a custom path

          "},{"location":"version-specific/generic-easyblocks/#intelbase","title":"IntelBase","text":"

          (derives from EasyBlock)

          Base class for Intel software

          • no configure/make : binary release
          • add license_file variable
          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-intelbase-easyblock","title":"Extra easyconfig parameters specific to IntelBase easyblock","text":"easyconfig parameter description default value components List of components to install None license_activation License activation type \"license_server\" m32 Enable 32-bit toolchain False requires_runtime_license Boolean indicating whether or not a runtime license is required True serial_number Serial number for the product None usetmppath Use temporary path for installation False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-intelbase-easyblock","title":"Customised steps in IntelBase easyblock","text":"
          • build_step - Binary installation files, so no building.

          • configure_step - Configure: handle license file and clean home dir.

          • install_step - Install Intel software

          "},{"location":"version-specific/generic-easyblocks/#jar","title":"JAR","text":"

          (derives from Binary)

          Support for installing JAR files.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-jar-easyblock","title":"Extra easyconfig parameters specific to JAR easyblock","text":"easyconfig parameter description default value extract_sources Whether or not to extract sources False install_cmd Install command to be used. None install_cmds List of install commands to be used. None prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#juliabundle","title":"JuliaBundle","text":"

          (derives from Bundle)

          Bundle of JuliaPackages: install Julia packages as extensions in a bundle Defines custom sanity checks and module environment

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-juliabundle-easyblock","title":"Extra easyconfig parameters specific to JuliaBundle easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None download_pkg_deps Let Julia download and bundle all needed dependencies for this installation False options Dictionary with extension options. {} sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#juliapackage","title":"JuliaPackage","text":"

          (derives from ExtensionEasyBlock)

          Builds and installs Julia Packages.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-juliapackage-easyblock","title":"Extra easyconfig parameters specific to JuliaPackage easyblock","text":"easyconfig parameter description default value download_pkg_deps Let Julia download and bundle all needed dependencies for this installation False options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-juliapackage-easyblock","title":"Customised steps in JuliaPackage easyblock","text":"
          • build_step - No separate build procedure for JuliaPackage.

          • configure_step - No separate configuration for JuliaPackage.

          • install_step - Install Julia package with Pkg

          "},{"location":"version-specific/generic-easyblocks/#makecp","title":"MakeCp","text":"

          (derives from ConfigureMake)

          Software with no configure and no make install step.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-makecp-easyblock","title":"Extra easyconfig parameters specific to MakeCp easyblock","text":"easyconfig parameter description default value build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False files_to_copy List of files or dirs to copy None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" prefix_opt Prefix command line option for configure script ('--prefix=' if None) None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" with_configure Run configure script before building False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-makecp-easyblock","title":"Customised steps in MakeCp easyblock","text":"
          • configure_step - Configure build if required

          • install_step - Install by copying specified files and directories.

          "},{"location":"version-specific/generic-easyblocks/#mesonninja","title":"MesonNinja","text":"

          (derives from EasyBlock)

          Support for building and installing software with 'meson' and 'ninja'.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-mesonninja-easyblock","title":"Extra easyconfig parameters specific to MesonNinja easyblock","text":"easyconfig parameter description default value configure_cmd Configure command to use \"meson\" separate_build_dir Perform build in a separate directory True"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-mesonninja-easyblock","title":"Customised steps in MesonNinja easyblock","text":"
          • build_step - Build with Ninja.

          • configure_step - Configure with Meson.

          • install_step - Install with 'ninja install'.

          "},{"location":"version-specific/generic-easyblocks/#modulerc","title":"ModuleRC","text":"

          (derives from EasyBlock)

          Generic easyblock to create a software-specific .modulerc file

          "},{"location":"version-specific/generic-easyblocks/#customised-steps-in-modulerc-easyblock","title":"Customised steps in ModuleRC easyblock","text":"
          • build_step - Do nothing.

          • configure_step - Do nothing.

          • install_step - Do nothing.

          "},{"location":"version-specific/generic-easyblocks/#ocamlpackage","title":"OCamlPackage","text":"

          (derives from ExtensionEasyBlock)

          Builds and installs OCaml packages using OPAM package manager.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-ocamlpackage-easyblock","title":"Extra easyconfig parameters specific to OCamlPackage easyblock","text":"easyconfig parameter description default value options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-ocamlpackage-easyblock","title":"Customised steps in OCamlPackage easyblock","text":"
          • configure_step - Raise error when configure step is run: installing OCaml packages stand-alone is not supported (yet)

          • install_step - Raise error when configure step is run: installing OCaml packages stand-alone is not supported (yet)

          "},{"location":"version-specific/generic-easyblocks/#octavepackage","title":"OctavePackage","text":"

          (derives from ExtensionEasyBlock)

          Builds and installs Octave extension toolboxes.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-octavepackage-easyblock","title":"Extra easyconfig parameters specific to OctavePackage easyblock","text":"easyconfig parameter description default value options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-octavepackage-easyblock","title":"Customised steps in OctavePackage easyblock","text":"
          • configure_step - Raise error when configure step is run: installing Octave toolboxes stand-alone is not supported (yet)

          • install_step - Raise error when configure step is run: installing Octave toolboxes stand-alone is not supported (yet)

          "},{"location":"version-specific/generic-easyblocks/#packedbinary","title":"PackedBinary","text":"

          (derives from Binary, EasyBlock)

          Support for installing packed binary software. Just unpack the sources in the install dir

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-packedbinary-easyblock","title":"Extra easyconfig parameters specific to PackedBinary easyblock","text":"easyconfig parameter description default value extract_sources Whether or not to extract sources False install_cmd Install command to be used. None install_cmds List of install commands to be used. None prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-packedbinary-easyblock","title":"Customised steps in PackedBinary easyblock","text":"
          • install_step - Copy all unpacked source directories to install directory, one-by-one.
          "},{"location":"version-specific/generic-easyblocks/#perlbundle","title":"PerlBundle","text":"

          (derives from Bundle)

          Bundle of perl modules

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-perlbundle-easyblock","title":"Extra easyconfig parameters specific to PerlBundle easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None options Dictionary with extension options. {} runtest Run unit tests. \"test\" sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#perlmodule","title":"PerlModule","text":"

          (derives from ExtensionEasyBlock, ConfigureMake)

          Builds and installs a Perl module, and can provide a dedicated module file.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-perlmodule-easyblock","title":"Extra easyconfig parameters specific to PerlModule easyblock","text":"easyconfig parameter description default value options Dictionary with extension options. {} runtest Run unit tests. \"test\""},{"location":"version-specific/generic-easyblocks/#customised-steps-in-perlmodule-easyblock","title":"Customised steps in PerlModule easyblock","text":"
          • build_step - No separate build procedure for Perl modules.

          • configure_step - No separate configuration for Perl modules.

          • install_step - Run install procedure for Perl modules.

          "},{"location":"version-specific/generic-easyblocks/#pythonbundle","title":"PythonBundle","text":"

          (derives from Bundle)

          Bundle of PythonPackages: install Python packages as extensions in a bundle Defines custom sanity checks and module environment

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-pythonbundle-easyblock","title":"Extra easyconfig parameters specific to PythonBundle easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks [] sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#pythonpackage","title":"PythonPackage","text":"

          (derives from ExtensionEasyBlock)

          Builds and installs a Python package, and provides a dedicated module file.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-pythonpackage-easyblock","title":"Extra easyconfig parameters specific to PythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-pythonpackage-easyblock","title":"Customised steps in PythonPackage easyblock","text":"
          • build_step - Build Python package using setup.py

          • configure_step - Configure Python package build/install.

          • install_step - Install Python package to a custom path using setup.py

          "},{"location":"version-specific/generic-easyblocks/#rpackage","title":"RPackage","text":"

          (derives from ExtensionEasyBlock)

          Install an R package as a separate module, or as an extension.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-rpackage-easyblock","title":"Extra easyconfig parameters specific to RPackage easyblock","text":"easyconfig parameter description default value exts_subdir Subdirectory where R extensions should be installed info \"\" options Dictionary with extension options. {} unpack_sources Unpack sources before installation False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-rpackage-easyblock","title":"Customised steps in RPackage easyblock","text":"
          • build_step - No separate build step for R packages.

          • configure_step - No configuration for installing R packages.

          • install_step - Install procedure for R packages.

          "},{"location":"version-specific/generic-easyblocks/#rpm","title":"Rpm","text":"

          (derives from Binary)

          Support for installing RPM files.

          • sources is a list of rpms
          • installation is with --nodeps (so the sources list has to be complete)
          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-rpm-easyblock","title":"Extra easyconfig parameters specific to Rpm easyblock","text":"easyconfig parameter description default value extract_sources Whether or not to extract sources False force Use force False install_cmd Install command to be used. None install_cmds List of install commands to be used. None makesymlinks Create symlinks for listed paths [] postinstall Enable post install False preinstall Enable pre install False prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-rpm-easyblock","title":"Customised steps in Rpm easyblock","text":"
          • configure_step - Custom configuration procedure for RPMs: rebuild RPMs for relocation if required.

          • install_step - Custom installation procedure for RPMs into a custom prefix.

          "},{"location":"version-specific/generic-easyblocks/#rubygem","title":"RubyGem","text":"

          (derives from ExtensionEasyBlock)

          Builds and installs Ruby Gems.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-rubygem-easyblock","title":"Extra easyconfig parameters specific to RubyGem easyblock","text":"easyconfig parameter description default value gem_file Path to gem file in unpacked sources None options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-rubygem-easyblock","title":"Customised steps in RubyGem easyblock","text":"
          • build_step - No separate build procedure for Ruby Gems.

          • configure_step - No separate configuration for Ruby Gems.

          • install_step - Install Ruby Gems using gem package manager

          "},{"location":"version-specific/generic-easyblocks/#scons","title":"SCons","text":"

          (derives from EasyBlock)

          Support for building/installing with SCons.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-scons-easyblock","title":"Extra easyconfig parameters specific to SCons easyblock","text":"easyconfig parameter description default value prefix_arg Syntax for specifying installation prefix \"PREFIX=\""},{"location":"version-specific/generic-easyblocks/#customised-steps-in-scons-easyblock","title":"Customised steps in SCons easyblock","text":"
          • build_step - Build with SCons

          • configure_step - No configure step for SCons

          • install_step - Install with SCons

          "},{"location":"version-specific/generic-easyblocks/#systemcompiler","title":"SystemCompiler","text":"

          (derives from Bundle, EB_GCC, EB_ifort)

          Support for generating a module file for the system compiler with specified name.

          The compiler is expected to be available in $PATH, required libraries are assumed to be readily available.

          Specifying 'system' as a version leads to using the derived compiler version in the generated module; if an actual version is specified, it is checked against the derived version of the system compiler that was found.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-systemcompiler-easyblock","title":"Extra easyconfig parameters specific to SystemCompiler easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None clooguseisl Use ISL with CLooG or not False components List of components to install: tuples w/ name, version and easyblock to use () configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None generate_standalone_module Add known path/library extensions and environment variables for the compiler to the final module False generic Build GCC and support libraries such that it runs on all processors of the target architecture (use False to enforce non-generic regardless of configuration) None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" languages List of languages to build GCC for (--enable-languages) [] license_activation License activation type \"license_server\" m32 Enable 32-bit toolchain False multilib Build multilib gcc (both i386 and x86_64) False pplwatchdog Enable PPL watchdog False prefer_lib_subdir Configure GCC to prefer 'lib' subdirs over 'lib64' when linking False prefix_opt Prefix command line option for configure script ('--prefix=' if None) None profiled Bootstrap GCC with profile-guided optimizations False requires_runtime_license Boolean indicating whether or not a runtime license is required True sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks [] serial_number Serial number for the product None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" use_gold_linker Configure GCC to use GOLD as default linker (default: enable automatically for GCC < 11.3.0, except on RISC-V) None usetmppath Use temporary path for installation False withamdgcn Build GCC with AMD GCN offload support False withcloog Build GCC with CLooG support False withisl Build GCC with ISL support False withlibiberty Enable installing of libiberty False withlto Enable LTO support True withnvptx Build GCC with NVPTX offload support False withppl Build GCC with PPL support False"},{"location":"version-specific/generic-easyblocks/#systemmpi","title":"SystemMPI","text":"

          (derives from Bundle, ConfigureMake, EB_impi)

          Support for generating a module file for the system mpi with specified name.

          The mpi compiler is expected to be available in $PATH, required libraries are assumed to be readily available.

          Specifying 'system' as a version leads to using the derived mpi version in the generated module; if an actual version is specified, it is checked against the derived version of the system mpi that was found.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-systemmpi-easyblock","title":"Extra easyconfig parameters specific to SystemMPI easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None components List of components to install: tuples w/ name, version and easyblock to use () configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None generate_standalone_module Add known path extensions and environment variables for the MPI installation to the final module False host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" libfabric_configopts Configure options for the provided libfabric \"\" libfabric_rebuild Try to rebuild internal libfabric instead of using provided binary True license_activation License activation type \"license_server\" m32 Enable 32-bit toolchain False ofi_internal Use internal shipped libfabric instead of external libfabric True prefix_opt Prefix command line option for configure script ('--prefix=' if None) None requires_runtime_license Boolean indicating whether or not a runtime license is required True sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks [] serial_number Serial number for the product None set_mpi_wrapper_aliases_gcc Set compiler for mpigcc/mpigxx via aliases False set_mpi_wrapper_aliases_intel Set compiler for mpiicc/mpiicpc/mpiifort via aliases False set_mpi_wrappers_all Set (default) compiler for all MPI wrapper commands False set_mpi_wrappers_compiler Override default compiler used by MPI wrapper commands False tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" usetmppath Use temporary path for installation False"},{"location":"version-specific/generic-easyblocks/#tarball","title":"Tarball","text":"

          (derives from ExtensionEasyBlock)

          Precompiled software supplied as a tarball: will unpack binary and copy it to the install dir

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-tarball-easyblock","title":"Extra easyconfig parameters specific to Tarball easyblock","text":"easyconfig parameter description default value install_type Defaults to extract tarball into clean directory. Options: 'merge' merges tarball to existing directory, 'subdir' extracts tarball into its own sub-directory None options Dictionary with extension options. {} preinstall_cmd Command to execute before installation None"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-tarball-easyblock","title":"Customised steps in Tarball easyblock","text":"
          • build_step - Dummy build method: nothing to build

          • configure_step - Dummy configure method

          • install_step - Install by copying from specified source directory (or 'start_dir' if not specified).

          "},{"location":"version-specific/generic-easyblocks/#toolchain","title":"Toolchain","text":"

          (derives from Bundle)

          Compiler toolchain easyblock: nothing to install, just generate module file.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-toolchain-easyblock","title":"Extra easyconfig parameters specific to Toolchain easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks [] set_env_external_modules Include setenv statements for toolchain components that use an external module, based on available metadata False"},{"location":"version-specific/generic-easyblocks/#vscpythonpackage","title":"VSCPythonPackage","text":"

          (derives from VersionIndependentPythonPackage)

          Support for install VSC Python packages.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-vscpythonpackage-easyblock","title":"Extra easyconfig parameters specific to VSCPythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#versionindependentpythonpackage","title":"VersionIndependentPythonPackage","text":"

          (derives from PythonPackage)

          Support for building/installing python packages without requiring a specific python package.

          "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-versionindependentpythonpackage-easyblock","title":"Extra easyconfig parameters specific to VersionIndependentPythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-versionindependentpythonpackage-easyblock","title":"Customised steps in VersionIndependentPythonPackage easyblock","text":"
          • build_step - No build procedure.

          • configure_step - No build procedure.

          • install_step - Custom install procedure to skip selection of python package versions.

          "},{"location":"version-specific/generic-easyblocks/#waf","title":"Waf","text":"

          (derives from EasyBlock)

          Support for building and installing applications with waf

          "},{"location":"version-specific/generic-easyblocks/#customised-steps-in-waf-easyblock","title":"Customised steps in Waf easyblock","text":"
          • build_step - Build with ./waf build

          • configure_step - Configure with ./waf configure --prefix=

          • install_step - Install with ./waf install

          • "},{"location":"version-specific/supported-software/","title":"List of supported software","text":"

            Note

            This page contains a lot of information, it may take a while to load.

            EasyBuild supports 3161 different software packages (incl. toolchains, bundles):

            a - b - c - d - e - f - g - h - i - j - k - l - m - n - o - p - q - r - s - t - u - v - w - x - y - z

            "},{"location":"version-specific/supported-software/#3","title":"3","text":"

            3d-dna - 3to2

            "},{"location":"version-specific/supported-software/#3d-dna","title":"3d-dna","text":"

            3D de novo assembly (3D DNA) pipeline

            homepage: https://github.com/theaidenlab/3d-dna

            version versionsuffix toolchain 180922 -Python-2.7.15 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#3to2","title":"3to2","text":"

            lib3to2 is a set of fixers that are intended to backport code written for Python version 3.x into Python version 2.x.

            homepage: https://pypi.python.org/pypi/3to2

            version versionsuffix toolchain 1.1.1 -Python-2.7.12 foss/2016b, intel/2016b 1.1.1 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#4","title":"4","text":"

            4ti2

            "},{"location":"version-specific/supported-software/#4ti2","title":"4ti2","text":"

            A software package for algebraic, geometric and combinatorial problems on linear spaces

            homepage: https://4ti2.github.io/

            version toolchain 1.6.9 GCC/8.2.0-2.31.1, intel/2018b"},{"location":"version-specific/supported-software/#a","title":"A","text":"

            ABAQUS - ABINIT - ABRA2 - ABRicate - Abseil - abTEM - ABySS - ack - ACT - ACTC - ada - AdapterRemoval - ADDA - ADF - ADIOS - adjustText - ADMIXTURE - ADOL-C - Advisor - affinity - AFNI - AGAT - AGeNT - AGFusion - AIMAll - aiohttp - ALADIN - Albacore - Albumentations - alevin-fry - ALFA - Alfred - alleleCount - alleleIntegrator - Allinea - ALLPATHS-LG - almosthere - Alpha - AlphaFold - AlphaPulldown - ALPS - alsa-lib - AMAPVox - Amara - amask - Amber - AmberMini - AmberTools - AMD-LibM - AMD-RNG - AMD-SecureRNG - AMD-uProf - AMOS - AMPHORA2 - AMPL-MP - amplimap - AMPtk - AmrPlusPlus - AMS - Anaconda2 - Anaconda3 - aNCI - andi - ANGEL - angsd - ANIcalculator - anndata - Annif - Annocript - annovar - ANSYS - ANSYS_CFD - ant - antiSMASH - ANTLR - ANTs - anvio - any2fasta - AOCC - AOMP - APBS - apex - APR - APR-util - AptaSUITE - ARAGORN - Arb - Arcade-Learning-Environment - arcasHLA - ARCH - Archive-Zip - ArchR - archspec - ARGoS - argtable - aria2 - Arlequin - Armadillo - arosics - ARPACK++ - arpack-ng - ArrayFire - Arriba - Arrow - arrow-R - ART - artic-ncov2019 - ARTS - ArviZ - ARWEN - ASAP - ASAP3 - ASCAT - ASE - ASF-SearchAPI - ASHS - Aspera-CLI - Aspera-Connect - assimp - Assimulo - ASTRID - astro-tulips - astropy - at-spi2-atk - at-spi2-core - ATAT - ATK - ATLAS - atomate - AtomPAW - atools - atropos - ATSAS - attr - attrdict - attrdict3 - augur - AUGUSTUS - Austin - AUTO-07p - Autoconf - Autoconf-archive - AutoDock - AutoDock-GPU - AutoDock-Vina - AutoDockSuite - AutoGeneS - AutoGrid - Automake - AutoMap - autopep8 - Autotools - Avogadro2 - avro-cpp - awscli - axel

            "},{"location":"version-specific/supported-software/#abaqus","title":"ABAQUS","text":"

            Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit dynamics FEA.

            homepage: http://www.simulia.com/products/abaqus_fea.html

            version versionsuffix toolchain 6.12.1 -linux-x86_64 system 6.13.5 -linux-x86_64 system 6.14.1 -linux-x86_64 system 2017 -hotfix-1721 system 2018 -hotfix-1806 system 2020 system 2021 -hotfix-2132 system 2022 system 2022 -hotfix-2214 system 2022 -hotfix-2223 system"},{"location":"version-specific/supported-software/#abinit","title":"ABINIT","text":"

            ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a planewave or wavelet basis.

            homepage: https://www.abinit.org/

            version versionsuffix toolchain 7.0.3 -x86_64_linux_gnu4.5 system 7.0.5 -x86_64_linux_gnu4.5 system 7.2.1 -x86_64_linux_gnu4.5 system 7.10.5 intel/2016.02-GCC-4.9 7.10.5 -libxc intel/2016.02-GCC-4.9 8.0.8 intel/2016a 8.0.8b foss/2016b, intel/2016b 8.2.2 foss/2016b, intel/2016b 8.4.4 intel/2017b 8.6.3 intel/2018a 8.10.2 intel/2018b 8.10.3 intel/2018b 9.2.1 foss/2019b, intel/2019b, intel/2020a 9.4.1 foss/2020b, intel/2020a, intel/2020b 9.4.2 foss/2021a, intel/2021a 9.6.2 foss/2022a, intel/2021a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#abra2","title":"ABRA2","text":"

            Assembly Based ReAligner

            homepage: https://github.com/mozack/abra2

            version toolchain 2.22 iccifort/2019.5.281 2.23 GCC/10.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#abricate","title":"ABRicate","text":"

            Mass screening of contigs for antimicrobial and virulence genes

            homepage: https://github.com/tseemann/abricate

            version versionsuffix toolchain 0.9.9 gompi/2019b 0.9.9 -Perl-5.28.1 gompi/2019a 1.0.0 gompi/2021a"},{"location":"version-specific/supported-software/#abseil","title":"Abseil","text":"

            Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.

            homepage: https://abseil.io/

            version toolchain 20210324.2 GCCcore/11.2.0 20230125.2 GCCcore/11.3.0, GCCcore/12.2.0 20230125.3 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#abtem","title":"abTEM","text":"

            abTEM provides a Python API for running simulations of Transmission Electron Microscopy images.

            homepage: https://github.com/jacobjma/abTEM

            version versionsuffix toolchain 1.0.0b24 -ASE-3.22.0 fosscuda/2020b 1.0.0b26 -ASE-3.22.0 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#abyss","title":"ABySS","text":"

            Assembly By Short Sequences - a de novo, parallel, paired-end sequence assembler

            homepage: https://www.bcgsc.ca/platform/bioinfo/software/abyss

            version toolchain 1.9.0 foss/2016a 2.0.2 foss/2016b, foss/2018a, gompi/2019a, intel/2016b 2.0.3 foss/2017b, intel/2017b 2.1.5 foss/2019b 2.2.5 foss/2020b"},{"location":"version-specific/supported-software/#ack","title":"ack","text":"

            ack is a tool like grep, optimized for programmers

            homepage: https://beyondgrep.com

            version toolchain 2.14 system 3.4.0 GCCcore/10.2.0 3.5.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#act","title":"ACT","text":"

            ACT is a Java application for displaying pairwise comparisons between two or more DNA sequences. It can be used to identify and analyse regions of similarity and difference between genomes and to explore conservation of synteny, in the context of the entire sequences and their annotation. It can read complete EMBL, GENBANK and GFF entries or sequences in FASTA or raw format.

            homepage: https://sanger-pathogens.github.io/Artemis/ACT/

            version versionsuffix toolchain 18.0.2 -Java-11 system 18.0.3 -Java-11 system"},{"location":"version-specific/supported-software/#actc","title":"ACTC","text":"

            ACTC converts independent triangles into triangle strips or fans.

            homepage: https://sourceforge.net/projects/actc

            version toolchain 1.1 GCCcore/10.2.0, GCCcore/11.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2016b"},{"location":"version-specific/supported-software/#ada","title":"ada","text":"

            Performs discrete, real, and gentle boost under both exponential and logistic loss on a given data set.

            homepage: https://cran.r-project.org/web/packages/ada/index.html

            version versionsuffix toolchain 2.0-5 -R-3.4.0 intel/2017a"},{"location":"version-specific/supported-software/#adapterremoval","title":"AdapterRemoval","text":"

            AdapterRemoval searches for and removes remnant adapter sequences from High-Throughput Sequencing (HTS) data and (optionally) trims low quality bases from the 3' end of reads following adapter removal.

            homepage: https://github.com/MikkelSchubert/adapterremoval

            version toolchain 2.2.0 foss/2016b 2.2.2 foss/2018b 2.3.1 foss/2018b 2.3.2 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0 2.3.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#adda","title":"ADDA","text":"

            ADDA is an open-source parallel implementation of the discrete dipole approximation, capable to simulate light scattering by particles of arbitrary shape and composition in a wide range of particle sizes.

            homepage: https://github.com/adda-team/adda/wiki

            version toolchain 1.3b4 foss/2019a"},{"location":"version-specific/supported-software/#adf","title":"ADF","text":"

            ADF is an accurate, parallelized, powerful computational chemistry program to understand and predict chemical structure and reactivity with density functional theory (DFT).

            homepage: https://www.scm.com/ADF/

            version versionsuffix toolchain 2009.01a.pc64_linux.intelmpi system 2014.02 system 2014.11.r48287 intel/2016a 2016.101 system 2019.303 -intelmpi system"},{"location":"version-specific/supported-software/#adios","title":"ADIOS","text":"

            The Adaptable IO System (ADIOS) provides a simple, flexible way for scientists to describe the data in their code that may need to be written, read, or processed outside of the running simulation.

            homepage: https://www.olcf.ornl.gov/center-projects/adios/

            version versionsuffix toolchain 1.13.1 -Python-2.7.15 foss/2019a 1.13.1 -Python-3.8.2 foss/2020a 20210804 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#adjusttext","title":"adjustText","text":"

            A small library for automatically adjustment of text position in matplotlib plots to minimize overlaps.

            homepage: https://github.com/Phlya/adjustText

            version versionsuffix toolchain 0.7.3 foss/2021b 0.7.3 -Python-3.6.6 foss/2018b 0.7.3 -Python-3.7.2 intel/2019a"},{"location":"version-specific/supported-software/#admixture","title":"ADMIXTURE","text":"

            ADMIXTURE is a software tool for maximum likelihood estimation of individual ancestries from multilocus SNP genotype datasets. It uses the same statistical model as STRUCTURE but calculates estimates much more rapidly using a fast numerical optimization algorithm.

            homepage: https://dalexander.github.io/admixture/

            version toolchain 1.3.0 system"},{"location":"version-specific/supported-software/#adol-c","title":"ADOL-C","text":"

            The package ADOL-C (Automatic Differentiation by OverLoading in C++) facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked with C.

            homepage: https://projects.coin-or.org/ADOL-C

            version toolchain 2.7.0 gompi/2019a 2.7.2 gompi/2020a"},{"location":"version-specific/supported-software/#advisor","title":"Advisor","text":"

            Vectorization Optimization and Thread Prototyping - Vectorize & thread code or performance \u201cdies\u201d - Easy workflow + data + tips = faster code faster - Prioritize, Prototype & Predict performance gain

            homepage: https://software.intel.com/intel-advisor-xe

            version toolchain 2016_update2 system 2017_update1 system 2018_update1 system 2018_update3 system 2019_update2 system 2019_update3 system 2019_update5 system 2021.2.0 system 2021.4.0 system 2022.1.0 system"},{"location":"version-specific/supported-software/#affinity","title":"affinity","text":"

            A small C++ wrapper for managing Linux CPU sets and CPU affinity. It also includes a tool to report binding, which is useful for testing different binding options

            homepage: https://github.com/vkarak/affinity

            version toolchain 20230524 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#afni","title":"AFNI","text":"

            AFNI is a set of C programs for processing, analyzing, and displaying functional MRI (FMRI) data - a technique for mapping human brain activity.

            homepage: http://afni.nimh.nih.gov/

            version versionsuffix toolchain 18.1.09 -Python-3.6.4 intel/2018a 18.3.00 -Python-3.6.6 foss/2018b 19.0.01 -Python-2.7.14 foss/2017b, intel/2017b 20160329 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#agat","title":"AGAT","text":"

            AGAT: Another GTF/GFF Analysis Toolkit. Suite of tools to handle gene annotations in any GTF/GFF format.

            homepage: https://agat.readthedocs.io/en/latest/

            version toolchain 0.9.2 GCC/11.2.0 1.1.0 GCC/12.2.0"},{"location":"version-specific/supported-software/#agent","title":"AGeNT","text":"

            The Agilent Genomics NextGen Toolkit (AGeNT) is a Java-based software module that processes the read sequences from targeted high-throughput sequencing data generated by sequencing Agilent SureSelect and HaloPlex libraries. The Trimmer utility of the AGeNT module processes the read sequences to identify and remove the adaptor sequences and extracts dual molecular barcodes (for SureSelect XT HS2). The LocatIt utility of the AGeNT module processes the Molecular Barcode (MBC) information from HaloPlex HS, SureSelect XT HS, and SureSelect XT HS2 Illumina sequencing runs with options to either mark or merge duplicate reads and output in BAM file format. The Illumina InterOp libraries are a set of common routines used for reading InterOp metric files produced by Illumina sequencers including NextSeq 1k/2k. These libraries are backwards compatible and capable of supporting prior releases of the software, with one exception: GA systems have been excluded.

            homepage: https://www.agilent.com/en/product/next-generation-sequencing/hybridization-based-next-generation-sequencing-ngs/ngs-software/agent-232879

            version toolchain 3.0.6 system"},{"location":"version-specific/supported-software/#agfusion","title":"AGFusion","text":"

            AGFusion is a python package for annotating gene fusions from the human or mouse genomes.

            homepage: https://github.com/murphycj/AGFusion

            version versionsuffix toolchain 1.2 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#aimall","title":"AIMAll","text":"

            AIMAll is an easy to use, accurate, reliable and efficient quantum chemistry software package for performing comprehensive, quantitative and visual QTAIM analyses of molecular systems - starting from molecular wavefunction data.

            homepage: http://aim.tkgristmill.com

            version versionsuffix toolchain 19.10.12 -linux_64bit intel/2020b"},{"location":"version-specific/supported-software/#aiohttp","title":"aiohttp","text":"

            Asynchronous HTTP client/server framework for asyncio and Python.

            homepage: https://github.com/aio-libs/aiohttp

            version versionsuffix toolchain 3.5.4 -Python-3.6.6 foss/2018b 3.8.1 GCCcore/10.3.0, GCCcore/11.2.0 3.8.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#aladin","title":"ALADIN","text":"

            ALADIN was entirely built on the notion of compatibility with its mother system, IFS/ARPEG. The latter, a joint development between the European Centre for Medium-Range Weather Forecasts (ECMWF) and Meteo-France, was only meant to consider global Numerical Weather Prediction applications; hence the idea, for ALADIN, to complement the IFS/ARPEGE project with a limited area model (LAM) version, while keeping the differences between the two softwares as small as possible.

            homepage: http://www.cnrm.meteo.fr/aladin/

            version toolchain 36t1_op2bf1 intel/2016a"},{"location":"version-specific/supported-software/#albacore","title":"Albacore","text":"

            Albacore is a software project that provides an entry point to the Oxford Nanopore basecalling algorithms.

            homepage: https://community.nanoporetech.com/protocols/albacore-offline-basecalli/v/abec_2003_v1_revz_29nov2016

            version versionsuffix toolchain 2.0.2 -Python-3.6.1 intel/2017a"},{"location":"version-specific/supported-software/#albumentations","title":"Albumentations","text":"

            Albumentations is a Python library for fast and flexible image augmentations

            homepage: https://albumentations.ai

            version versionsuffix toolchain 1.1.0 foss/2021b 1.1.0 -CUDA-11.3.1 foss/2021a 1.3.0 foss/2022a 1.3.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#alevin-fry","title":"alevin-fry","text":"

            alevin-fry is an efficient and flexible tool for processing single-cell sequencing data, currently focused on single-cell transcriptomics and feature barcoding.

            homepage: https://github.com/COMBINE-lab/alevin-fry

            version toolchain 0.4.3 GCCcore/11.2.0 0.6.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#alfa","title":"ALFA","text":"

            ALFA provides a global overview of features distribution composing NGS dataset(s). Given a set of aligned reads (BAM files) and an annotation file (GTF format), the tool produces plots of the raw and normalized distributions of those reads among genomic categories (stop codon, 5'-UTR, CDS, intergenic, etc.) and biotypes (protein coding genes, miRNA, tRNA, etc.). Whatever the sequencing technique, whatever the organism.

            homepage: https://github.com/biocompibens/ALFA

            version versionsuffix toolchain 1.1.1 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#alfred","title":"Alfred","text":"

            Alfred is an efficient and versatile command-line application that computes multi-sample quality control metrics in a read-group aware manner. Alfred supports read counting, feature annotation and haplotype-resolved consensus computation using multiple sequence alignments.

            homepage: https://www.gear-genomics.com/alfred/

            version toolchain 0.2.6 GCC/11.2.0"},{"location":"version-specific/supported-software/#allelecount","title":"alleleCount","text":"

            The alleleCount package primarily exists to prevent code duplication between some other projects, specifically AscatNGS and Battenberg. As of v4 the perl code wraps the C implementation of allele counting code for BAM/CRAM processing.

            homepage: http://cancerit.github.io/alleleCount/

            version toolchain 4.0.0 GCCcore/6.4.0 4.2.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#alleleintegrator","title":"alleleIntegrator","text":"

            R package to generate allele specific counts for scRNA data and use it to identify cancer cells

            homepage: https://github.com/constantAmateur/alleleIntegrator

            version versionsuffix toolchain 0.8.8 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#allinea","title":"Allinea","text":"

            The Allinea environment is an essential toolkit for developers and computational scientists looking to get results faster.

            homepage: http://www.allinea.com

            version toolchain 4.1-32834-Redhat-5.7-x86_64 system 4.1-32834-Redhat-6.0-x86_64 system 6.1.1-Ubuntu-14.04-x86_64 system"},{"location":"version-specific/supported-software/#allpaths-lg","title":"ALLPATHS-LG","text":"

            ALLPATHS-LG, the new short read genome assembler.

            homepage: http://www.broadinstitute.org/software/allpaths-lg/blog/

            version toolchain 52488 foss/2016a"},{"location":"version-specific/supported-software/#almosthere","title":"almosthere","text":"

            Progress indicator C library. ATHR is a simple yet powerful progress indicator library that works on Windows, Linux, and macOS. It is non-blocking as the progress update is done via a dedicated, lightweight thread, as to not impair the performance of the calling program.

            homepage: https://github.com/horta/almosthere

            version toolchain 1.0.1 GCCcore/7.3.0 1.0.10 GCCcore/9.3.0 2.0.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#alpha","title":"Alpha","text":"

            Alpha is a tool designed for detailed comparative study of bacteriophage genomes.

            homepage: https://www.lirmm.fr/~swenson/alpha/alpha.htm

            version versionsuffix toolchain 20200430 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#alphafold","title":"AlphaFold","text":"

            AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known. This package of AlphaFold contains patches for ColabFold.

            homepage: https://github.com/sokrypton/alphafold

            version versionsuffix toolchain 2.0.0 foss/2020b, fosscuda/2020b 2.0.1 foss/2020b, fosscuda/2020b 2.1.1 fosscuda/2020b 2.1.2 foss/2021a 2.1.2 -CUDA-11.3.1 foss/2021a 2.1.2 -TensorFlow-2.5.0 foss/2020b, fosscuda/2020b 2.2.2 foss/2021a 2.2.2 -CUDA-11.3.1 foss/2021a 2.3.0 -CUDA-11.4.1 foss/2021b 2.3.1 foss/2022a 2.3.1 -CUDA-11.7.0 foss/2022a 2.3.4 -CUDA-11.7.0-ColabFold foss/2022a 2.3.4 -ColabFold foss/2022a"},{"location":"version-specific/supported-software/#alphapulldown","title":"AlphaPulldown","text":"

            AlphaPulldown is a Python package that streamlines protein-protein interaction screens and high-throughput modelling of higher-order oligomers using AlphaFold-Multimer

            homepage: https://github.com/KosinskiLab/AlphaPulldown

            version toolchain 0.30.4 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#alps","title":"ALPS","text":"

            The ALPS project (Algorithms and Libraries for Physics Simulations) is an open source effort aiming at providing high-end simulation codes for strongly correlated quantum mechanical systems as well as C++ libraries for simplifying the development of such code.

            homepage: http://alps.comp-phys.org/

            version versionsuffix toolchain 2.2.b4 -Python-2.7.11 intel/2016a 2.3.0 -Python-2.7.12 foss/2016b 2.3.0 -Python-3.5.2 foss/2016b"},{"location":"version-specific/supported-software/#alsa-lib","title":"alsa-lib","text":"

            The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system.

            homepage: https://www.alsa-project.org

            version toolchain 1.2.4 GCCcore/9.3.0 1.2.8 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#amapvox","title":"AMAPVox","text":"

            LiDAR data voxelisation software

            homepage: https://amap-dev.cirad.fr/projects/amapvox

            version versionsuffix toolchain 1.9.4 -Java-11 system"},{"location":"version-specific/supported-software/#amara","title":"Amara","text":"

            Library for XML processing in Python, designed to balance the native idioms of Python with the native character of XML.

            homepage: https://pypi.org/project/Amara

            version versionsuffix toolchain 1.2.0.2 -Python-2.7.15 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#amask","title":"amask","text":"

            amask is a set of tools to to determine the affinity of MPI processes and OpenMP threads in a parallel environment.

            homepage: https://github.com/TACC/amask

            version toolchain 20171106 foss/2018a 20190404 foss/2018b"},{"location":"version-specific/supported-software/#amber","title":"Amber","text":"

            Amber (originally Assisted Model Building with Energy Refinement) is software for performing molecular dynamics and structure prediction.

            homepage: https://ambermd.org/amber.html

            version versionsuffix toolchain 14 -AmberTools-15-patchlevel-13-13 intel/2016a 16 -AmberTools-16-patchlevel-5-14 iomkl/2016.07 16 -AmberTools-16-patchlevel-5-14-CUDA iomkl/2016.09-GCC-4.9.3-2.25 16 -AmberTools-16-patchlevel-5-14-serial iomkl/2016.07 16 -AmberTools-17-patchlevel-10-15 foss/2018b, fosscuda/2018b, intel/2018b 16 -AmberTools-17-patchlevel-10-15-Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 16 -AmberTools-17-patchlevel-8-12 intel/2017b 18 -AmberTools-18-patchlevel-10-8 foss/2018b, fosscuda/2018b, intel/2017b 18 -AmberTools-19-patchlevel-12-17-Python-2.7.16 foss/2019b, fosscuda/2019b 20.11 -AmberTools-20.15-Python-3.8.2 foss/2020a, fosscuda/2020a 20.11 -AmberTools-21.3 foss/2020b, fosscuda/2020b 22.0 -AmberTools-22.3 foss/2021b 22.0 -AmberTools-22.3-CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#ambermini","title":"AmberMini","text":"

            A stripped-down set of just antechamber, sqm, and tleap.

            homepage: https://github.com/choderalab/ambermini

            version toolchain 16.16.0 intel/2017b, intel/2020a"},{"location":"version-specific/supported-software/#ambertools","title":"AmberTools","text":"

            AmberTools consists of several independently developed packages that work well by themselves, and with Amber itself. The suite can also be used to carry out complete molecular dynamics simulations, with either explicit water or generalized Born solvent models.

            homepage: https://ambermd.org/

            version versionsuffix toolchain 17 intel/2017b, intel/2018a 17 -Python-2.7.14 foss/2018a 20 -Python-3.8.2 intel/2020a 21 foss/2021a, intel/2021b 21.12 foss/2021b 22.3 foss/2021b"},{"location":"version-specific/supported-software/#amd-libm","title":"AMD-LibM","text":"

            AMD LibM is a software library containing a collection of basic math functions optimized for x86-64 processor based machines.

            homepage: https://developer.amd.com/amd-cpu-libraries/amd-math-library-libm/

            version toolchain 3.2.2 GCC/7.3.0-2.30 3.6.0-4 GCC/9.3.0"},{"location":"version-specific/supported-software/#amd-rng","title":"AMD-RNG","text":"

            AMD Random Number Generator Library is a pseudorandom number generator library.

            homepage: https://developer.amd.com/amd-cpu-libraries/rng-library/

            version toolchain 1.0 GCC/7.3.0-2.30 2.2-4 GCC/9.3.0"},{"location":"version-specific/supported-software/#amd-securerng","title":"AMD-SecureRNG","text":"

            The AMD Secure Random Number Generator (RNG) is a library that provides APIs to access the cryptographically secure random numbers generated by AMD\u2019s hardware-based random number generator implementation.

            homepage: https://developer.amd.com/amd-cpu-libraries/rng-library/

            version toolchain 1.0 GCC/7.3.0-2.30 2.2-4 GCC/9.3.0"},{"location":"version-specific/supported-software/#amd-uprof","title":"AMD-uProf","text":"

            AMD uProf is a performance analysis tool for applications running on Windows, Linux & FreeBSD operating systems. It allows developers to better understand the runtime performance of their application and to identify ways to improve its performance.

            homepage: https://developer.amd.com/amd-uprof/

            version toolchain 3.4.502 system 3.5.671 system"},{"location":"version-specific/supported-software/#amos","title":"AMOS","text":"

            The AMOS consortium is committed to the development of open-source whole genome assembly software

            homepage: http://amos.sourceforge.net

            version toolchain 3.1.0 foss/2018b, foss/2021b"},{"location":"version-specific/supported-software/#amphora2","title":"AMPHORA2","text":"

            An Automated Phylogenomic Inference Pipeline for Bacterial and Archaeal Sequences.

            homepage: https://github.com/wu-lab-uva/AMPHORA2

            version versionsuffix toolchain 20190730 -Java-13-pthreads-avx2 gompi/2020b"},{"location":"version-specific/supported-software/#ampl-mp","title":"AMPL-MP","text":"

            An open-source library for mathematical programming.

            homepage: https://github.com/ampl/mp

            version toolchain 3.1.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#amplimap","title":"amplimap","text":"

            amplimap is a command-line tool to automate the processing and analysis of data from targeted next-generation sequencing (NGS) experiments with PCR-based amplicons or capture-based enrichment systems.

            homepage: https://amplimap.readthedocs.io/en/latest/

            version versionsuffix toolchain 0.4.16 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#amptk","title":"AMPtk","text":"

            AMPtk is a series of scripts to process NGS amplicon data using USEARCH and VSEARCH, it can also be used to process any NGS amplicon data and includes databases setup for analysis of fungal ITS, fungal LSU, bacterial 16S, and insect COI amplicons.

            homepage: https://amptk.readthedocs.io

            version toolchain 1.5.4 foss/2021b"},{"location":"version-specific/supported-software/#amrplusplus","title":"AmrPlusPlus","text":"

            AmrPlusPlus v2.0 can process the raw data from the sequencer, identify the fragments of DNA, and count them. It also provides a count of the polymorphisms that occur in each DNA fragment with respect to the reference database.

            homepage: https://megares.meglab.org/amrplusplus/latest/html/v2

            version toolchain 2.0-20200114 GCC/8.3.0"},{"location":"version-specific/supported-software/#ams","title":"AMS","text":"

            The Amsterdam Modeling Suite (AMS) provides a comprehensive set of modules for computational chemistry and materials science, from quantum mechanics to fluid thermodynamics.

            homepage: https://www.scm.com/amsterdam-modeling-suite/

            version versionsuffix toolchain 2020.102 -intelmpi iimpi/2020b 2022.102 -intelmpi iimpi/2021b 2023.101 -intelmpi iimpi/2022a"},{"location":"version-specific/supported-software/#anaconda2","title":"Anaconda2","text":"

            Built to complement the rich, open source Python community, the Anaconda platform provides an enterprise-ready data analytics platform that empowers companies to adopt a modern open data science analytics architecture.

            homepage: https://www.anaconda.com

            version toolchain 4.0.0 system 4.2.0 system 4.4.0 system 5.0.1 system 5.1.0 system 5.3.0 system 2018.12 system 2019.03 system 2019.07 system 2019.10 system"},{"location":"version-specific/supported-software/#anaconda3","title":"Anaconda3","text":"

            Built to complement the rich, open source Python community, the Anaconda platform provides an enterprise-ready data analytics platform that empowers companies to adopt a modern open data science analytics architecture.

            homepage: https://www.anaconda.com

            version toolchain 4.0.0 system 4.2.0 system 4.4.0 system 5.0.1 system 5.1.0 system 5.3.0 system 2018.12 system 2019.03 system 2019.07 system 2019.10 system 2020.02 system 2020.07 system 2020.11 system 2021.05 system 2021.11 system 2022.05 system 2022.10 system 2023.03-1 system"},{"location":"version-specific/supported-software/#anci","title":"aNCI","text":"

            Non-covalent interaction (NCI) for MD trajectories

            homepage: https://www.lct.jussieu.fr/pagesperso/contrera/nci-MD.html

            version toolchain 2.0 iccifort/2019.5.281"},{"location":"version-specific/supported-software/#andi","title":"andi","text":"

            This is the andi program for estimating the evolutionary distance between closely related genomes. These distances can be used to rapidly infer phylogenies for big sets of genomes. Because andi does not compute full alignments, it is so efficient that it scales even up to thousands of bacterial genomes.

            homepage: https://github.com/evolbioinf/andi/

            version toolchain 0.13 foss/2018b"},{"location":"version-specific/supported-software/#angel","title":"ANGEL","text":"

            ANGEL: Robust Open Reading Frame prediction

            homepage: https://github.com/PacificBiosciences/ANGEL

            version versionsuffix toolchain 3.0 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#angsd","title":"angsd","text":"

            Program for analysing NGS data.

            homepage: http://www.popgen.dk/angsd

            version toolchain 0.910 foss/2016a 0.921 foss/2018a 0.925 foss/2018b 0.933 GCC/8.3.0, iccifort/2019.5.281 0.935 GCC/10.2.0 0.940 GCC/11.2.0"},{"location":"version-specific/supported-software/#anicalculator","title":"ANIcalculator","text":"

            This tool will calculate the bidirectional average nucleotide identity (gANI) and Alignment Fraction (AF) between two genomes. Required input is the full path to the fna file (nucleotide sequence of genes in fasta format) of each query genome. Either the rRNA and tRNA genes can be excluded, or provided in a list with the -ignoreList option. This is necessary as the presence of tRNA and/or rRNA genes in the fna will artificially inflate the ANI.

            homepage: https://ani.jgi.doe.gov/html/home.php

            version toolchain 1.0 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#anndata","title":"anndata","text":"

            anndata is a Python package for handling annotated data matrices in memory and on disk, positioned between pandas and xarray

            homepage: https://github.com/scverse/anndata

            version toolchain 0.8.0 foss/2022a"},{"location":"version-specific/supported-software/#annif","title":"Annif","text":"

            Annif is a multi-algorithm automated subject indexing tool for libraries, archives and museums.

            homepage: https://github.com/NatLibFi/Annif

            version versionsuffix toolchain 0.40.0 -Python-3.7.2 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#annocript","title":"Annocript","text":"

            Annocript is a pipeline for the annotation of de-novo generated transcriptomes. It executes blast analysis with UniProt, NCBI Conserved Domain Database and Nucleotide division adding also annotations from Gene Ontology, the Enzyme Commission and UniPathways. Annocript also gives information about the longest ORF and the non-coding potential using external software. Annocript is also capable to identify putative long non-coding RNAs by using an heuristic based on homology and sequence features.

            homepage: https://github.com/frankMusacchia/Annocript

            version toolchain 2.0 foss/2022a"},{"location":"version-specific/supported-software/#annovar","title":"annovar","text":"

            ANNOVAR is an efficient software tool to utilize update-to-date information to functionally annotate genetic variants detected from diverse genomes (including human genome hg18, hg19, hg38, as well as mouse, worm, fly, yeast and many others).

            homepage: http://annovar.openbioinformatics.org/en/latest/

            version versionsuffix toolchain 2016Feb01 -Perl-5.22.1 foss/2016a 20191024 -Perl-5.28.1 GCCcore/8.2.0 20200607 -Perl-5.34.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#ansys","title":"ANSYS","text":"

            ANSYS simulation software enables organizations to confidently predict how their products will operate in the real world. We believe that every product is a promise of something greater.

            homepage: https://www.ansys.com

            version toolchain 15.0 system 2022R2 system 2023R1 system"},{"location":"version-specific/supported-software/#ansys_cfd","title":"ANSYS_CFD","text":"

            ANSYS computational fluid dynamics (CFD) simulation software allows you to predict, with confidence, the impact of fluid flows on your product throughout design and manufacturing as well as during end use. ANSYS renowned CFD analysis tools include the widely used and well-validated ANSYS Fluent and ANSYS CFX.

            homepage: http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics

            version toolchain 16.2 system 17.0 system"},{"location":"version-specific/supported-software/#ant","title":"ant","text":"

            Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.

            homepage: http://ant.apache.org/

            version versionsuffix toolchain 1.8.4 -Java-1.7.0_10 system 1.8.4 -Java-1.7.0_21 system 1.9.0 -Java-1.7.0_15 system 1.9.0 -Java-1.7.0_21 system 1.9.3 -Java-1.7.0_60 system 1.9.3 -Java-1.7.0_79 system 1.9.6 -Java-1.7.0_75 system 1.9.6 -Java-1.7.0_79 system 1.9.6 -Java-1.7.0_80 system 1.9.6 -Java-1.8.0_66 system 1.9.6 -Java-1.8.0_72 system 1.9.6 -Java-1.8.0_77 system 1.9.7 -Java-1.8.0_92 system 1.10.0 -Java-1.8.0_112 system 1.10.1 -Java-1.8 system 1.10.1 -Java-1.8.0_121 system 1.10.1 -Java-1.8.0_144 system 1.10.1 -Java-1.8.0_152 system 1.10.1 -Java-1.8.0_162 system 1.10.5 -Java-1.8 system 1.10.6 -Java-1.8 system 1.10.7 -Java-11 system 1.10.8 -Java-11 system 1.10.9 -Java-11 system 1.10.11 -Java-11 system 1.10.11 -Java-13 system 1.10.12 -Java-11 system 1.10.12 -Java-17 system"},{"location":"version-specific/supported-software/#antismash","title":"antiSMASH","text":"

            antiSMASH allows the rapid genome-wide identification, annotation and analysis of secondary metabolite biosynthesis gene clusters in bacterial and fungal genomes.

            homepage: https://github.com/antismash/antismash

            version versionsuffix toolchain 5.1.2 -Python-3.7.4 foss/2019b 5.2.0 foss/2020b 6.0.1 foss/2020b"},{"location":"version-specific/supported-software/#antlr","title":"ANTLR","text":"

            ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions.

            homepage: http://www.antlr2.org/

            version versionsuffix toolchain 2.7.7 GCCcore/7.3.0, GCCcore/8.2.0, foss/2017b, foss/2018b, foss/2019a, intel/2017b 2.7.7 -Java-11 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0 2.7.7 -Python-2.7.11 foss/2016a 2.7.7 -Python-2.7.13 intel/2017a 2.7.7 -Python-2.7.14 foss/2018a, intel/2017b 2.7.7 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#ants","title":"ANTs","text":"

            ANTs extracts information from complex datasets that include imaging. ANTs is useful for managing, interpreting and visualizing multidimensional data.

            homepage: https://stnava.github.io/ANTs/

            version versionsuffix toolchain 2.2.0 -Python-2.7.12 foss/2016b 2.3.0 -Python-2.7.14 foss/2017b, intel/2017b 2.3.1 -Python-3.6.6 foss/2018b 2.3.2 -Python-3.7.4 foss/2019b 2.3.5 foss/2021a"},{"location":"version-specific/supported-software/#anvio","title":"anvio","text":"

            An analysis and visualization platform for 'omics data.

            homepage: https://merenlab.org/software/anvio/

            version versionsuffix toolchain 6.1 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#any2fasta","title":"any2fasta","text":"

            Convert various sequence formats to FASTA

            homepage: https://github.com/tseemann/any2fasta

            version versionsuffix toolchain 0.4.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.4.2 -Perl-5.28.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#aocc","title":"AOCC","text":"

            AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 13.0

            homepage: https://developer.amd.com/amd-aocc/

            version toolchain 2.3.0 GCCcore/10.2.0, GCCcore/9.3.0 3.0.0 GCCcore/10.2.0, GCCcore/10.3.0 3.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 3.2.0 GCCcore/11.2.0, GCCcore/11.3.0 4.0.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#aomp","title":"AOMP","text":"

            AMD fork of LLVM, setup for OpenMP offloading to Accelerators

            homepage: https://github.com/ROCm-Developer-Tools/aomp

            version toolchain 13.0-2 GCCcore/10.2.0, gcccuda/2020a"},{"location":"version-specific/supported-software/#apbs","title":"APBS","text":"

            APBS is a software package for modeling biomolecular solvation through solution of the Poisson-Boltzmann equation (PBE), one of the most popular continuum models for describing electrostatic interactions between molecular solutes in salty, aqueous media.

            homepage: http://www.poissonboltzmann.org/apbs

            version versionsuffix toolchain 1.4 -linux-static-x86_64 system"},{"location":"version-specific/supported-software/#apex","title":"apex","text":"

            A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch

            homepage: https://github.com/nvidia/apex

            version versionsuffix toolchain 20200325 -Python-3.7.4 fosscuda/2019b 20210420 fosscuda/2020b"},{"location":"version-specific/supported-software/#apr","title":"APR","text":"

            Apache Portable Runtime (APR) libraries.

            homepage: https://apr.apache.org/

            version toolchain 1.6.3 GCCcore/6.4.0, GCCcore/7.3.0, iomkl/2018a 1.7.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#apr-util","title":"APR-util","text":"

            Apache Portable Runtime (APR) util libraries.

            homepage: http://apr.apache.org/

            version toolchain 1.6.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/9.3.0, iomkl/2018a"},{"location":"version-specific/supported-software/#aptasuite","title":"AptaSUITE","text":"

            A full-featured bioinformatics software collection for the comprehensive analysis of aptamers in HT-SELEX experiments

            homepage: https://drivenbyentropy.github.io/

            version versionsuffix toolchain 0.9.4 -Java-11 system"},{"location":"version-specific/supported-software/#aragorn","title":"ARAGORN","text":"

            a program to detect tRNA genes and tmRNA genes in nucleotide sequences

            homepage: http://www.ansikte.se/ARAGORN/

            version toolchain 1.2.38 foss/2016b, iccifort/2019.5.281 1.2.41 foss/2021b"},{"location":"version-specific/supported-software/#arb","title":"Arb","text":"

            Arb is a C library for arbitrary-precision interval arithmetic. It has full support for both real and complex numbers. The library is thread-safe, portable, and extensively tested.

            homepage: https://arblib.org/

            version toolchain 2.16.0 GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, iccifort/2018.3.222-GCC-7.3.0-2.30 2.17.0 GCC/8.3.0 2.19.0 GCC/10.3.0 2.22.1 foss/2021b 2.23.0 gfbf/2022a"},{"location":"version-specific/supported-software/#arcade-learning-environment","title":"Arcade-Learning-Environment","text":"

            The Arcade Learning Environment (ALE) is a simple framework that allows researchers and hobbyists to develop AI agents for Atari 2600 games. It is built on top of the Atari 2600 emulator Stella and separates the details of emulation from agent design. This video depicts over 50 games currently supported in the ALE.

            homepage: https://github.com/mgbellemare/Arcade-Learning-Environment

            version toolchain 0.7.3 foss/2021b"},{"location":"version-specific/supported-software/#arcashla","title":"arcasHLA","text":"

            arcasHLA performs high resolution genotyping for HLA class I and class II genes from RNA sequencing, supporting both paired and single-end samples.

            homepage: https://github.com/RabadanLab/arcasHLA

            version versionsuffix toolchain 0.2.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#arch","title":"ARCH","text":"

            Autoregressive Conditional Heteroskedasticity (ARCH) and other tools for financial econometrics, written in Python (with Cython and/or Numba used to improve performance).

            homepage: https://pypi.org/project/arch

            version versionsuffix toolchain 4.5.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#archive-zip","title":"Archive-Zip","text":"

            Provide an interface to ZIP archive files.

            homepage: https://metacpan.org/pod/Archive::Zip

            version toolchain 1.68 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#archr","title":"ArchR","text":"

            ArchR is a full-featured R package for processing and analyzing single-cell ATAC-seq data.

            homepage: https://www.archrproject.com

            version versionsuffix toolchain 1.0.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#archspec","title":"archspec","text":"

            A library for detecting, labeling, and reasoning about microarchitectures

            homepage: https://github.com/archspec/archspec

            version versionsuffix toolchain 0.1.0 -Python-3.7.4 GCCcore/8.3.0 0.1.0 -Python-3.8.2 GCCcore/9.3.0 0.1.2 GCCcore/10.2.0, GCCcore/10.3.0 0.1.3 GCCcore/11.2.0 0.1.4 GCCcore/11.3.0 0.2.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#argos","title":"ARGoS","text":"

            A parallel, multi-engine simulator for heterogeneous swarm robotics

            homepage: http://www.argos-sim.info

            version versionsuffix toolchain 3.0.0-beta53 -Lua-5.2.4 foss/2018b 3.0.0-beta59 GCC/11.2.0"},{"location":"version-specific/supported-software/#argtable","title":"argtable","text":"

            Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss.

            homepage: http://argtable.sourceforge.net/

            version toolchain 2.13 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016b, foss/2018b, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#aria2","title":"aria2","text":"

            aria2 is a lightweight multi-protocol & multi-source command-line download utility.

            homepage: https://aria2.github.io

            version toolchain 1.35.0 GCCcore/10.3.0 1.36.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#arlequin","title":"Arlequin","text":"

            Arlequin: An Integrated Software for Population Genetics Data Analysis

            homepage: http://cmpg.unibe.ch/software/arlequin35/Arlequin35.html

            version toolchain 3.5.2.2 foss/2019b"},{"location":"version-specific/supported-software/#armadillo","title":"Armadillo","text":"

            Armadillo is an open-source C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. Integer, floating point and complex numbers are supported, as well as a subset of trigonometric and statistics functions.

            homepage: https://arma.sourceforge.net/

            version versionsuffix toolchain 7.600.2 -Python-2.7.12 foss/2016b 7.800.0 -Python-2.7.12 intel/2016b 7.950.1 -Python-2.7.12 intel/2016b 8.300.1 foss/2017b, intel/2017b 8.400.0 foss/2018a 9.600.5 foss/2018b 9.700.2 foss/2019a 9.880.1 foss/2020a 9.900.1 foss/2019b, foss/2020a 10.5.3 foss/2020b 10.7.5 foss/2021a 11.4.3 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#arosics","title":"arosics","text":"

            AROSICS is a python package to perform automatic subpixel co-registration of two satellite image datasets based on an image matching approach working in the frequency domain, combined with a multistage workflow for effective detection of false-positives.

            homepage: https://github.com/GFZ/arosics

            version toolchain 1.7.6 foss/2021a"},{"location":"version-specific/supported-software/#arpack","title":"ARPACK++","text":"

            Arpackpp is a C++ interface to the ARPACK Fortran package, which implements the implicit restarted Arnoldi method for iteratively solving large-scale sparse eigenvalue problems.

            homepage: https://github.com/m-reuter/arpackpp

            version toolchain 2018.03.26 foss/2017b"},{"location":"version-specific/supported-software/#arpack-ng","title":"arpack-ng","text":"

            ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.

            homepage: https://github.com/opencollab/arpack-ng

            version toolchain 3.3.0 foss/2016a, intel/2016a 3.4.0 foss/2016b, foss/2017a, intel/2016b, intel/2017a 3.5.0 foss/2017b, foss/2018a, foss/2018b, intel/2017a, intel/2017b 3.6.2 intel/2018a 3.7.0 foss/2019a, foss/2019b, foss/2020a, intel/2019b, intel/2020a 3.8.0 foss/2020b, foss/2021a, foss/2021b, foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#arrayfire","title":"ArrayFire","text":"

            ArrayFire is a general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.

            homepage: https://arrayfire.com/

            version versionsuffix toolchain 3.6.4 foss/2018b 3.6.4 -CUDA-9.2.88 foss/2018b"},{"location":"version-specific/supported-software/#arriba","title":"Arriba","text":"

            Arriba is a command-line tool for the detection of gene fusions from RNA-Seq data. It was developed for the use in a clinical research setting. Therefore, short runtimes and high sensitivity were important design criteria.

            homepage: https://github.com/suhrig/arriba

            version toolchain 1.1.0 foss/2018b 2.1.0 GCC/10.2.0, GCC/10.3.0 2.2.1 GCC/11.2.0 2.3.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#arrow","title":"Arrow","text":"

            Apache Arrow (incl. PyArrow Python bindings), a cross-language development platform for in-memory data.

            homepage: https://arrow.apache.org

            version versionsuffix toolchain 0.7.1 -Python-3.6.3 intel/2017b 0.12.0 -Python-2.7.15 foss/2018b, intel/2018b 0.12.0 -Python-3.6.6 intel/2018b 0.16.0 -Python-3.7.4 foss/2019b, intel/2019b 0.17.1 foss/2020b, fosscuda/2020b, intel/2020b 0.17.1 -Python-3.8.2 foss/2020a, intel/2020a 6.0.0 foss/2021a, foss/2021b 6.0.1 foss/2021a 8.0.0 foss/2022.05, foss/2022a 11.0.0 gfbf/2022b"},{"location":"version-specific/supported-software/#arrow-r","title":"arrow-R","text":"

            R interface to the Apache Arrow C++ library

            homepage: https://cran.r-project.org/web/packages/arrow

            version versionsuffix toolchain 0.17.1 -R-4.0.0 foss/2020a 6.0.0.2 -R-4.1.0 foss/2021a 6.0.0.2 -R-4.1.2 foss/2021b 6.0.0.2 -R-4.2.0 foss/2021b 8.0.0 -R-4.2.1 foss/2022a 11.0.0.3 -R-4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#art","title":"ART","text":"

            ART is a set of simulation tools to generate synthetic next-generation sequencing reads

            homepage: http://www.niehs.nih.gov/research/resources/software/biostatistics/art/

            version toolchain 2016.06.05 GCCcore/6.4.0, intel/2016b"},{"location":"version-specific/supported-software/#artic-ncov2019","title":"artic-ncov2019","text":"

            Initial implementation of an ARTIC bioinformatics platform for nanopore sequencing of nCoV2019 novel coronavirus.

            homepage: https://github.com/artic-network/artic-ncov2019

            version versionsuffix toolchain 2020.04.13 -Python-3.6.6 foss/2018b 2021.06.24 foss/2020b"},{"location":"version-specific/supported-software/#arts","title":"ARTS","text":"

            ARTS is a radiative transfer model for the millimeter and sub-millimeter spectral range. There are a number of models mostly developed explicitly for the different sensors.

            homepage: http://www.radiativetransfer.org/

            version toolchain 2.2.64 gompi/2019a"},{"location":"version-specific/supported-software/#arviz","title":"ArviZ","text":"

            Exploratory analysis of Bayesian models with Python

            homepage: https://github.com/arviz-devs/arviz

            version versionsuffix toolchain 0.7.0 -Python-3.7.4 foss/2019b, intel/2019b 0.11.1 intel/2020b 0.11.4 foss/2021b, intel/2021b 0.12.1 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#arwen","title":"ARWEN","text":"

            ARWEN, tRNA detection in metazoan mitochondrial sequences

            homepage: http://mbio-serv2.mbioekol.lu.se/ARWEN

            version toolchain 1.2.3 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#asap","title":"ASAP","text":"

            ASAP focuses on fast and fluid image viewing with an easy-to-use interface for making annotations. It consists of two main components: an IO library for reading and writing multi-resolution images and a viewer component for visualizing such images.

            homepage: https://computationalpathologygroup.github.io/ASAP/

            version versionsuffix toolchain 2.0 -CUDA-11.3.1 foss/2021a 2.1 foss/2022a"},{"location":"version-specific/supported-software/#asap3","title":"ASAP3","text":"

            ASAP is a calculator for doing large-scale classical molecular dynamics within the Campos Atomic Simulation Environment (ASE).

            homepage: https://wiki.fysik.dtu.dk/asap/

            version versionsuffix toolchain 3.10.7 -Python-3.5.2 foss/2016b 3.10.7 -Python-3.6.2 foss/2017b 3.10.8 -Python-3.5.2 foss/2016b 3.10.8 -Python-3.6.2 foss/2017b 3.10.8 -Python-3.6.3 foss/2017b 3.10.10 -Python-3.6.6 foss/2018b, intel/2018b, iomkl/2018b 3.11.10 -Python-3.7.2 foss/2019a, intel/2019a 3.12.2 -ASE-3.21.1 foss/2020b, intel/2020b 3.12.7 -ASE-3.21.1 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#ascat","title":"ASCAT","text":"

            ASCAT is a method to derive copy number profiles of tumor cells, accounting for normal cell admixture and tumor aneuploidy.

            homepage: https://github.com/VanLoo-lab/ascat

            version versionsuffix toolchain 3.1.2 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#ase","title":"ASE","text":"

            ASE is a python package providing an open source Atomic Simulation Environment in the Python scripting language.

            homepage: https://wiki.fysik.dtu.dk/ase/

            version versionsuffix toolchain 3.9.1.4567 -Python-2.7.11 intel/2016a 3.10.0 -Python-2.7.11 intel/2016.02-GCC-4.9 3.11.0 -Python-2.7.12 intel/2016b 3.13.0 -Python-2.7.12 foss/2016b 3.13.0 -Python-2.7.13 intel/2017a 3.15.0 -Python-2.7.12 foss/2016b 3.15.0 -Python-2.7.14 intel/2017b 3.15.0 -Python-3.5.2 foss/2016b 3.15.0 -Python-3.6.2 foss/2017b 3.15.0 -Python-3.6.3 foss/2017b 3.16.2 -Python-3.6.4 iomkl/2018.02, iomkl/2018a 3.16.2 -Python-3.6.6 foss/2018b, intel/2018b, iomkl/2018b 3.17.0 -Python-3.6.6 foss/2018b, intel/2018b, iomkl/2018b 3.17.0 -Python-3.7.2 foss/2019a, intel/2019a 3.18.0 -Python-3.6.6 foss/2018b, intel/2018b 3.18.0 -Python-3.7.2 foss/2019a, intel/2019a 3.19.0 -Python-3.6.6 foss/2018b, intel/2018b 3.19.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 3.19.0 -Python-3.8.2 foss/2020a, intel/2020a 3.20.1 foss/2020b, fosscuda/2020b, intel/2020b 3.20.1 -Python-3.7.4 foss/2019b, intel/2019b 3.20.1 -Python-3.8.2 intel/2020a 3.21.1 foss/2020b, fosscuda/2020b, intel/2020b 3.21.1 -Python-3.8.2 foss/2020a 3.22.0 foss/2020b, foss/2021a, fosscuda/2020b, intel/2020b, intel/2021a 3.22.1 foss/2021b, foss/2022a, gfbf/2022b, gomkl/2021a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#asf-searchapi","title":"ASF-SearchAPI","text":"

            asf_search is a Python module for performing searches of the ASF catalog. In addition, it offers baseline functionality and download support.

            homepage: https://docs.asf.alaska.edu/

            version toolchain 6.5.0 foss/2022a"},{"location":"version-specific/supported-software/#ashs","title":"ASHS","text":"

            Automatic Segmentation of Hippocampal Subfields (ASHS)

            homepage: https://sites.google.com/site/hipposubfields/home

            version toolchain rev103_20140612 system"},{"location":"version-specific/supported-software/#aspera-cli","title":"Aspera-CLI","text":"

            IBM Aspera Command-Line Interface (the Aspera CLI) is a collection of Aspera tools for performing high-speed, secure data transfers from the command line. The Aspera CLI is for users and organizations who want to automate their transfer workflows.

            homepage: https://asperasoft.com

            version versionsuffix toolchain 3.7.2 .354.010c3b8 system 3.9.0 .1326.6985b21 system 3.9.6 .1467.159c5b1 system"},{"location":"version-specific/supported-software/#aspera-connect","title":"Aspera-Connect","text":"

            Connect is an install-on-demand Web browser plug-in that facilitates high-speed uploads and downloads with an Aspera transfer server.

            homepage: http://downloads.asperasoft.com/connect2/

            version toolchain 3.6.1 system 3.9.6 system"},{"location":"version-specific/supported-software/#assimp","title":"assimp","text":"

            Open Asset Import Library (assimp) is a library to import and export various 3d-model-formats including scene-post-processing to generate missing render data.

            homepage: https://github.com/assimp/assimp

            version toolchain 5.0.1 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#assimulo","title":"Assimulo","text":"

            Assimulo is a simulation package for solving ordinary differential equations.

            homepage: https://jmodelica.org/assimulo/

            version versionsuffix toolchain 2.9 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#astrid","title":"ASTRID","text":"

            ASTRID-2 is a method for estimating species trees from gene trees.

            homepage: https://github.com/pranjalv123/ASTRID

            version toolchain 2.2.1 gompi/2019a"},{"location":"version-specific/supported-software/#astro-tulips","title":"astro-tulips","text":"

            tulips creates diagrams of the structure and evolution of stars. It creates plots and movies based on output from the MESA stellar evolution code

            homepage: https://astro-tulips.readthedocs.io/en/latest/installation.html

            version toolchain 1.0.1 foss/2022a"},{"location":"version-specific/supported-software/#astropy","title":"astropy","text":"

            The Astropy Project is a community effort to develop a common core package for Astronomy in Python and foster an ecosystem of interoperable astronomy packages. The Astropy community is committed to supporting diversity and inclusion.

            homepage: https://www.astropy.org/

            version versionsuffix toolchain 2.0.12 -Python-2.7.15 foss/2018b, intel/2018b 2.0.14 foss/2019a 4.0.1 -Python-3.7.4 foss/2019b 4.0.1 -Python-3.8.2 foss/2020a, intel/2020a 4.2.1 foss/2020b, intel/2020b, intelcuda/2020b 4.3.1 foss/2021a, foss/2021b, intel/2021a 5.0.4 foss/2021a 5.1.1 foss/2022a 5.2.2 gfbf/2022b"},{"location":"version-specific/supported-software/#at-spi2-atk","title":"at-spi2-atk","text":"

            AT-SPI 2 toolkit bridge

            homepage: https://wiki.gnome.org/Accessibility

            version toolchain 2.26.3 fosscuda/2018b 2.32.0 GCCcore/8.2.0 2.34.1 GCCcore/8.3.0 2.34.2 GCCcore/9.3.0 2.38.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#at-spi2-core","title":"at-spi2-core","text":"

            Assistive Technology Service Provider Interface.

            homepage: https://wiki.gnome.org/Accessibility

            version toolchain 2.26.3 fosscuda/2018b 2.32.0 GCCcore/8.2.0 2.34.0 GCCcore/8.3.0 2.36.0 GCCcore/9.3.0 2.38.0 GCCcore/10.2.0 2.40.2 GCCcore/10.3.0 2.40.3 GCCcore/11.2.0 2.44.1 GCCcore/11.3.0 2.46.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#atat","title":"ATAT","text":"

            The Alloy-Theoretic Automated Toolkit (ATAT) is a generic name that refers to a collection of alloy theory tools

            homepage: https://www.brown.edu/Departments/Engineering/Labs/avdw/atat/

            version toolchain 3.36 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#atk","title":"ATK","text":"

            ATK provides the set of accessibility interfaces that are implemented by other toolkits and applications. Using the ATK interfaces, accessibility tools have full access to view and control running applications.

            homepage: https://developer.gnome.org/atk/

            version toolchain 2.18.0 intel/2016a 2.20.0 foss/2016a, intel/2016a 2.22.0 foss/2016b, intel/2016b 2.26.0 intel/2017a 2.26.1 foss/2018b, intel/2017b 2.27.1 foss/2017b, intel/2017b 2.28.1 foss/2018a, foss/2018b, fosscuda/2018b, intel/2018a 2.32.0 GCCcore/8.2.0 2.34.1 GCCcore/8.3.0 2.36.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 2.38.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#atlas","title":"ATLAS","text":"

            ATLAS (Automatically Tuned Linear Algebra Software) is the application of the AEOS (Automated Empirical Optimization of Software) paradigm, with the present emphasis on the Basic Linear Algebra Subprograms (BLAS), a widely used, performance-critical, linear algebra kernel library.

            homepage: http://math-atlas.sourceforge.net

            version versionsuffix toolchain 3.10.2 -LAPACK-3.6.1 GCC/5.4.0-2.26"},{"location":"version-specific/supported-software/#atomate","title":"atomate","text":"

            atomate has implementations of FireWorks workflows for Materials Science.

            homepage: https://pythonhosted.org/atomate/

            version versionsuffix toolchain 0.4.4 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#atompaw","title":"AtomPAW","text":"

            AtomPAW is a Projector-Augmented Wave Dataset Generator that can be used both as a standalone program and a library.

            homepage: http://users.wfu.edu/natalie/papers/pwpaw/man.html

            version toolchain 4.1.0.5 intel/2018b 4.1.0.6 intel/2018b"},{"location":"version-specific/supported-software/#atools","title":"atools","text":"

            Tools to make using job arrays a lot more convenient.

            homepage: https://github.com/gjbex/atools

            version versionsuffix toolchain 1.4.2 -Python-2.7.12 intel/2016b 1.4.6 -Python-2.7.16 GCCcore/8.3.0 1.4.8 -Python-2.7.18 GCCcore/10.3.0, GCCcore/11.2.0 1.5.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#atropos","title":"atropos","text":"

            Atropos is tool for specific, sensitive, and speedy trimming of NGS reads.

            homepage: https://atropos.readthedocs.io

            version versionsuffix toolchain 1.1.21 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#atsas","title":"ATSAS","text":"

            ATSAS is a program suite for small-angle scattering data analysis from biological macromolecules.

            homepage: http://www.embl-hamburg.de/ExternalInfo/Research/Sax/software.html

            version versionsuffix toolchain 2.5.1-1 .el6.x86_64 system 2.5.1-1 .sl5.x86_64 system 2.7.1-1 .el7.x86_64 system"},{"location":"version-specific/supported-software/#attr","title":"attr","text":"

            Commands for Manipulating Filesystem Extended Attributes

            homepage: https://savannah.nongnu.org/projects/attr

            version toolchain 2.4.47 GCCcore/8.2.0 2.4.48 GCCcore/9.3.0 2.5.1 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#attrdict","title":"attrdict","text":"

            AttrDict is a Python library that provides mapping objects that allow their elements to be accessed both as keys and as attributes.

            homepage: https://github.com/bcj/AttrDict

            version versionsuffix toolchain 2.0.1 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#attrdict3","title":"attrdict3","text":"

            AttrDict is a Python library that provides mapping objects that allow their elements to be accessed both as keys and as attributes.

            homepage: https://github.com/pirofti/AttrDict3

            version toolchain 2.0.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#augur","title":"augur","text":"

            Pipeline components for real-time phylodynamic analysis

            homepage: https://github.com/nextstrain/augur

            version versionsuffix toolchain 7.0.2 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#augustus","title":"AUGUSTUS","text":"

            AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences

            homepage: https://bioinf.uni-greifswald.de/augustus/

            version versionsuffix toolchain 3.2.3 -Python-2.7.13 intel/2017a 3.3 foss/2018a 3.3.2 intel/2019a 3.3.2 -Python-2.7.13 intel/2017a 3.3.2 -Python-2.7.14 foss/2017b, intel/2017b 3.3.2 -Python-2.7.15 intel/2018b 3.3.3 foss/2019b, intel/2019b 3.4.0 foss/2020a, foss/2020b, foss/2021a, foss/2021b 3.5.0 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#austin","title":"Austin","text":"

            Austin is a Python frame stack sampler for CPython written in pure C.

            homepage: https://github.com/P403n1x87/austin

            version toolchain 3.2.0 GCCcore/11.2.0, system"},{"location":"version-specific/supported-software/#auto-07p","title":"AUTO-07p","text":"

            AUTO is a publicly available software for continuation and bifurcation problems in ordinary differential equations originally written in 1980 and widely used in the dynamical systems community.

            homepage: https://github.com/auto-07p

            version toolchain 0.9.3 foss/2021a"},{"location":"version-specific/supported-software/#autoconf","title":"Autoconf","text":"

            Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of M4 macro calls.

            homepage: https://www.gnu.org/software/autoconf/

            version toolchain 2.68 foss/2016b 2.69 GCC/4.8.2, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/10.2.0, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 2.71 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#autoconf-archive","title":"Autoconf-archive","text":"

            The GNU Autoconf Archive is a collection of more than 500 macros for GNU Autoconf that have been contributed as free software by friendly supporters of the cause from all over the Internet. Every single one of those macros can be re-used without imposing any restrictions whatsoever on the licensing of the generated configure script. In particular, it is possible to use all those macros in configure scripts that are meant for non-free software. This policy is unusual for a Free Software Foundation project. The FSF firmly believes that software ought to be free, and software licenses like the GPL are specifically designed to ensure that derivative work based on free software must be free as well. In case of Autoconf, however, an exception has been made, because Autoconf is at such a pivotal position in the software development tool chain that the benefits from having this tool available as widely as possible outweigh the disadvantage that some authors may choose to use it, too, for proprietary software.

            homepage: https://www.gnu.org/software/autoconf-archive

            version toolchain 2019.01.06 GCC/8.2.0-2.31.1 2021.02.19 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#autodock","title":"AutoDock","text":"

            AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure.

            homepage: http://autodock.scripps.edu/

            version toolchain 4.2.5.1 GCC/5.2.0 4.2.6 GCC/10.3.0"},{"location":"version-specific/supported-software/#autodock-gpu","title":"AutoDock-GPU","text":"

            OpenCL and Cuda accelerated version of AutoDock. It leverages its embarrasingly parallelizable LGA by processing ligand-receptor poses in parallel over multiple compute units. AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure.

            homepage: https://github.com/ccsb-scripps/AutoDock-GPU

            version versionsuffix toolchain 1.5.3 -CUDA-11.3.1 GCC/10.3.0 1.5.3 -CUDA-11.7.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#autodock-vina","title":"AutoDock-Vina","text":"

            AutoDock Vina is an open-source program for doing molecular docking.

            homepage: https://vina.scripps.edu/

            version versionsuffix toolchain 1.1.2 -linux_x86 system 1.2.3 foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#autodocksuite","title":"AutoDockSuite","text":"

            AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure.

            homepage: https://autodock.scripps.edu/

            version toolchain 4.2.6 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#autogenes","title":"AutoGeneS","text":"

            AutoGeneS automatically extracts informative genes and reveals the cellular heterogeneity of bulk RNA samples.

            homepage: https://github.com/theislab/AutoGeneS

            version toolchain 1.0.4 foss/2020b"},{"location":"version-specific/supported-software/#autogrid","title":"AutoGrid","text":"

            AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure.

            homepage: http://autodock.scripps.edu/

            version toolchain 4.2.5.1 GCC/5.2.0"},{"location":"version-specific/supported-software/#automake","title":"Automake","text":"

            Automake: GNU Standards-compliant Makefile generator

            homepage: https://www.gnu.org/software/automake/automake.html

            version toolchain 1.11.3 foss/2016b 1.14 GCC/4.8.2, intel/2016a 1.14.1 GCC/4.8.2 1.15 GCC/4.8.4, GCC/4.9.2, GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 1.15.1 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.3.0 1.16.1 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0 1.16.2 GCCcore/10.2.0 1.16.3 FCC/4.5.0, GCCcore/10.3.0 1.16.4 GCCcore/11.2.0 1.16.5 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#automap","title":"AutoMap","text":"

            Tool to find regions of homozygosity (ROHs) from sequencing data.

            homepage: https://github.com/mquinodo/AutoMap

            version versionsuffix toolchain 1.0 -20200324 foss/2019b"},{"location":"version-specific/supported-software/#autopep8","title":"autopep8","text":"

            A tool that automatically formats Python code to conform to the PEP 8 style guide.

            homepage: https://github.com/hhatto/autopep8

            version versionsuffix toolchain 1.4.4 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#autotools","title":"Autotools","text":"

            This bundle collect the standard GNU build tools: Autoconf, Automake and libtool

            homepage: https://autotools.io

            version toolchain 20150119 GCC/4.9.2 20150215 GCC/4.8.4, GCC/4.9.2, GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 20170619 GCCcore/6.4.0, GCCcore/7.2.0 20180311 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0 20200321 GCCcore/10.2.0 20210128 FCC/4.5.0, GCCcore/10.3.0 20210726 GCCcore/11.2.0 20220317 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#avogadro2","title":"Avogadro2","text":"

            Avogadro is an advanced molecule editor and visualizer designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas.

            homepage: https://two.avogadro.cc/index.html

            version versionsuffix toolchain 1.97.0 -linux-x86_64 system"},{"location":"version-specific/supported-software/#avro-cpp","title":"avro-cpp","text":"

            C++ implementation of Avro data serialization system.

            homepage: https://avro.apache.org

            version toolchain 1.11.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#awscli","title":"awscli","text":"

            Universal Command Line Environment for AWS

            homepage: https://pypi.python.org/pypi/awscli

            version versionsuffix toolchain 1.11.1 -Python-2.7.12 intel/2016b 1.11.56 -Python-2.7.12 foss/2016b 1.16.290 -Python-3.6.6 foss/2018b 1.17.7 -Python-3.7.4 GCCcore/8.3.0 1.18.89 -Python-3.8.2 GCCcore/9.3.0 2.0.55 -Python-3.8.2 GCCcore/9.3.0 2.11.21 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#axel","title":"axel","text":"

            Lightweight CLI download accelerator

            homepage: https://github.com/axel-download-accelerator/axel

            version toolchain 2.17.9 GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#b","title":"B","text":"

            BA3-SNPS-autotune - BabelStream - babl - Bader - BAGEL - BAli-Phy - bam-readcount - Bambi - bamFilters - BAMM - BAMSurgeon - bamtofastq - BamTools - BamUtil - Bandage - barrnap - basemap - Bash - bashplotlib - bat - batchgenerators - BatMeth2 - BayesAss - BayesAss3-SNPs - BayeScan - BayeScEnv - BayesPrism - BayesTraits - Bazel - bbcp - bbFTP - BBMap - bc - BCALM - bcbio-gff - BCEL - BCFtools - bcgTree - bcl-convert - bcl2fastq2 - bcolz - BDBag - Beagle - beagle-lib - Beast - BeautifulSoup - BEDOPS - BEDTools - BEEF - behave - BerkeleyGW - BFAST - BFC - BGC-Bayesian-genomic-clines - bgen - bgen-reader - bibtexparser - BiG-SCAPE - BigDFT - BinSanity - binutils - Bio-DB-HTS - Bio-EUtilities - Bio-SamTools - Bio-SearchIO-hmmer - bioawk - biobambam2 - biogeme - biom-format - biomart-perl - BioPerl - BioPP - Biopython - BioServices - BirdNET - biscuit - Bismark - Bison - bitarray - BLACS - BLASR - blasr_libcpp - BLAST - BLAST+ - BLAT - Blender - BLIS - Blitz++ - BlobTools - Block - Blosc - Blosc2 - BLT - bmtagger - bnpy - BOINC - bokeh - BoltzTraP - BoltzTraP2 - Bonito - Bonmin - Bonnie++ - Boost - Boost.MPI - Boost.Python - boost_histogram - boto3 - Bottleneck - Bowtie - Bowtie2 - Bpipe - bpp - bpytop - Bracken - Braindecode - BRAKER - BreakDancer - breseq - Brotli - Brotli-python - Brunsli - bsddb3 - BSMAPz - Bsoft - BSseeker2 - BuDDy - BUFRLIB - build - buildenv - buildingspy - Bullet - BUSCO - BUStools - BWA - bwa-meth - bwakit - bwidget - BWISE - bx-python - BXH_XCEDE_TOOLS - byacc - byobu - bzip2

            "},{"location":"version-specific/supported-software/#ba3-snps-autotune","title":"BA3-SNPS-autotune","text":"

            This program will automatically tune mixing parameters for BA3-SNPs by implementing a binary search algorithm and conducting short exploratory runs of BA3-SNPS.

            homepage: https://github.com/stevemussmann/BA3-SNPS-autotune

            version toolchain 2.1.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#babelstream","title":"BabelStream","text":"

            STREAM, for lots of devices written in many programming models

            homepage: https://uob-hpc.github.io/BabelStream

            version versionsuffix toolchain 3.4 -omp GCC/11.2.0"},{"location":"version-specific/supported-software/#babl","title":"babl","text":"

            babl is pixel encoding and color space conversion engine in C

            homepage: https://www.gegl.org/babl

            version toolchain 0.1.86 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#bader","title":"Bader","text":"

            A fast algorithm for doing Bader's analysis on a charge density grid.

            homepage: http://theory.cm.utexas.edu/henkelman/code/bader/

            version toolchain 1.02 intel/2018a 1.03 intel/2018b 1.04 GCC/11.2.0, iccifort/2020.4.304"},{"location":"version-specific/supported-software/#bagel","title":"BAGEL","text":"

            BAGEL (Brilliantly Advanced General Electronic-structure Library) is a parallel electronic-structure program.

            homepage: http://www.nubakery.org

            version toolchain 1.1.1 intel/2016b"},{"location":"version-specific/supported-software/#bali-phy","title":"BAli-Phy","text":"

            BAli-Phy estimates multiple sequence alignments and evolutionary trees from DNA, amino acid, or codon sequences.

            homepage: http://www.bali-phy.org/

            version toolchain 3.6.0 system"},{"location":"version-specific/supported-software/#bam-readcount","title":"bam-readcount","text":"

            Count DNA sequence reads in BAM files

            homepage: https://github.com/genome/bam-readcount

            version toolchain 0.8.0 GCC/11.2.0, GCC/9.3.0, foss/2018b"},{"location":"version-specific/supported-software/#bambi","title":"Bambi","text":"

            Bambi is a high-level Bayesian model-building interface written in Python. It works with the probabilistic programming frameworks PyMC3 and is designed to make it extremely easy to fit Bayesian mixed-effects models common in biology, social sciences and other disciplines.

            homepage: https://bambinos.github.io/bambi

            version toolchain 0.7.1 foss/2021b, intel/2021b"},{"location":"version-specific/supported-software/#bamfilters","title":"bamFilters","text":"

            A utility tool to filter alignments from bam files, using identity percent, low complexity and read coverage.

            homepage: https://github.com/institut-de-genomique/bamFilters

            version toolchain 2022-06-30 GCC/11.3.0"},{"location":"version-specific/supported-software/#bamm","title":"BAMM","text":"

            BAMM is oriented entirely towards detecting and quantifying heterogeneity in evolutionary rates. It uses reversible jump Markov chain Monte Carlo to automatically explore a vast universe of candidate models of lineage diversification and trait evolution.

            homepage: http://bamm-project.org/

            version toolchain 2.5.0 foss/2022a"},{"location":"version-specific/supported-software/#bamsurgeon","title":"BAMSurgeon","text":"

            Tools for adding mutations to existing .bam files, used for testing mutation callers

            homepage: https://github.com/adamewing/bamsurgeon

            version versionsuffix toolchain 1.2 -Python-2.7.16 GCC/8.3.0"},{"location":"version-specific/supported-software/#bamtofastq","title":"bamtofastq","text":"

            Convert 10x BAM files to the original FASTQs compatible with 10x pipelines.

            homepage: https://github.com/10XGenomics/bamtofastq

            version toolchain 1.4.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#bamtools","title":"BamTools","text":"

            BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.

            homepage: https://github.com/pezmaster31/bamtools

            version toolchain 2.4.0 foss/2016b 2.4.1 intel/2017a 2.5.0 foss/2016b, intel/2017b 2.5.1 GCC/10.2.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2017b, foss/2018a, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, iccifort/2020.4.304, intel/2017b, intel/2018b 2.5.2 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#bamutil","title":"BamUtil","text":"

            BamUtil is a repository that contains several programs that perform operations on SAM/BAM files. All of these programs are built into a single executable, bam.

            homepage: http://genome.sph.umich.edu/wiki/BamUtil

            version toolchain 1.0.13 intel/2016b 1.0.14 intel/2018a"},{"location":"version-specific/supported-software/#bandage","title":"Bandage","text":"

            Bandage is a program for visualising de novo assembly graphs

            homepage: http://rrwick.github.io/Bandage

            version versionsuffix toolchain 0.8.1 _Centos system 0.8.1 _Ubuntu system 0.9.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#barrnap","title":"barrnap","text":"

            Barrnap (BAsic Rapid Ribosomal RNA Predictor) predicts the location of ribosomal RNA genes in genomes.

            homepage: https://github.com/tseemann/barrnap

            version toolchain 0.9 GCC/8.2.0-2.31.1, foss/2018b, gompi/2020b, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#basemap","title":"basemap","text":"

            The matplotlib basemap toolkit is a library for plotting 2D data on maps in Python

            homepage: https://matplotlib.org/basemap/

            version versionsuffix toolchain 1.0.7 -Python-2.7.13 intel/2017a 1.0.7 -Python-3.6.3 intel/2017b 1.0.7 -Python-3.6.4 intel/2018a 1.2.0 -Python-3.6.6 intel/2018b 1.2.2 -Python-3.8.2 foss/2020a 1.3.6 foss/2022a"},{"location":"version-specific/supported-software/#bash","title":"Bash","text":"

            Bash is an sh-compatible command language interpreter that executes commands read from the standard input or from a file. Bash also incorporates useful features from the Korn and C shells (ksh and csh).

            homepage: http://www.gnu.org/software/bash

            version toolchain 4.3 GCC/4.9.2"},{"location":"version-specific/supported-software/#bashplotlib","title":"bashplotlib","text":"

            bashplotlib is a python package and command line tool for making basic plots in the terminal. It's a quick way to visualize data when you don't have a GUI.

            homepage: https://github.com/glamp/bashplotlib

            version toolchain 0.6.5 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#bat","title":"bat","text":"

            The BAT Python package supports the processing and analysis of Bro data with Pandas, scikit-learn, and Spark

            homepage: https://pypi.python.org/pypi/bat

            version versionsuffix toolchain 0.3.3 -Python-3.6.3 intel/2017b"},{"location":"version-specific/supported-software/#batchgenerators","title":"batchgenerators","text":"

            Data augmentation toolkit developed at the Division of Medical Image Computing at the German Cancer Research Center (DKFZ) to suit all our deep learning data augmentation needs.

            homepage: https://github.com/MIC-DKFZ/batchgenerators

            version toolchain 0.25 foss/2021a"},{"location":"version-specific/supported-software/#batmeth2","title":"BatMeth2","text":"

            An Integrated Package for Bisulfite DNA Methylation Data Analysis with Indel-sensitive Mapping.

            homepage: https://github.com/GuoliangLi-HZAU/BatMeth2

            version toolchain 2.1 foss/2019b"},{"location":"version-specific/supported-software/#bayesass","title":"BayesAss","text":"

            BayesAss: Bayesian Inference of Recent Migration Using Multilocus Genotypes

            homepage: http://www.rannala.org/?page_id=245

            version toolchain 3.0.4 foss/2016a"},{"location":"version-specific/supported-software/#bayesass3-snps","title":"BayesAss3-SNPs","text":"

            Modification of BayesAss 3.0.4 to allow handling of large SNP datasets generated via methods such as RADseq protocols.

            homepage: https://github.com/stevemussmann/BayesAss3-SNPs

            version toolchain 1.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#bayescan","title":"BayeScan","text":"

            BayeScan aims at identifying candidate loci under natural selection from genetic data, using differences in allele frequencies between populations.

            homepage: http://cmpg.unibe.ch/software/BayeScan/

            version toolchain 2.1 foss/2016a, foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#bayescenv","title":"BayeScEnv","text":"

            BayeScEnv is a Fst-based, genome-scan method that uses environmental variables to detect local adaptation.

            homepage: https://github.com/devillemereuil/bayescenv

            version toolchain 1.1 GCC/8.3.0, foss/2016a, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#bayesprism","title":"BayesPrism","text":"

            Bayesian cell Proportion Reconstruction Inferred using Statistical Marginalization (BayesPrism): A Fully Bayesian Inference of Tumor Microenvironment composition and gene expression

            homepage: https://github.com/Danko-Lab/BayesPrism

            version versionsuffix toolchain 2.0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#bayestraits","title":"BayesTraits","text":"

            BayesTraits is a computer package for performing analyses of trait evolution among groups of species for which a phylogeny or sample of phylogenies is available. This new package incoporates our earlier and separate programes Multistate, Discrete and Continuous. BayesTraits can be applied to the analysis of traits that adopt a finite number of discrete states, or to the analysis of continuously varying traits. Hypotheses can be tested about models of evolution, about ancestral states and about correlations among pairs of traits.

            homepage: https://github.com/AndrewPMeade/BayesTraits-Public

            version versionsuffix toolchain 1.0-linux32 system 2.0 -Beta-Linux64 system 3.0.2 -Linux system"},{"location":"version-specific/supported-software/#bazel","title":"Bazel","text":"

            Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google's software.

            homepage: https://bazel.io/

            version versionsuffix toolchain 0.4.4 system 0.7.0 GCCcore/6.4.0 0.10.0 GCCcore/6.4.0 0.11.0 GCCcore/6.4.0 0.11.1 GCCcore/6.4.0 0.12.0 GCCcore/6.4.0 0.16.0 GCCcore/6.4.0, GCCcore/7.3.0 0.18.0 GCCcore/7.3.0 0.20.0 GCCcore/7.3.0, GCCcore/8.2.0 0.25.2 GCCcore/8.2.0 0.26.1 GCCcore/8.2.0, GCCcore/8.3.0 0.29.1 GCCcore/8.2.0, GCCcore/8.3.0 0.29.1 -Java-1.8 GCCcore/9.3.0 1.1.0 GCCcore/8.3.0 2.0.0 GCCcore/10.2.0, GCCcore/8.3.0 3.4.1 GCCcore/8.3.0 3.6.0 GCCcore/9.3.0 3.7.1 GCCcore/8.3.0 3.7.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0 4.2.2 GCCcore/11.2.0 5.1.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#bbcp","title":"bbcp","text":"

            BBCP is an alternative to Gridftp when transferring large amounts of data, capable of breaking up your transfer into multiple simultaneous transferring streams, thereby transferring data much faster than single-streaming utilities such as SCP and SFTP. See details at http://pcbunn.cithep.caltech.edu/bbcp/using_bbcp.htm or http://www.nics.tennessee.edu/computing-resources/data-transfer/bbcp

            homepage: http://www.slac.stanford.edu/~abh/bbcp/

            version versionsuffix toolchain 12.01.30.00.0 -amd64_linux26 system"},{"location":"version-specific/supported-software/#bbftp","title":"bbFTP","text":"

            bbFTP is a file transfer software. It implements its own transfer protocol, which is optimized for large files (larger than 2GB) and secure as it does not read the password in a file and encrypts the connection information. bbFTP main features are: * Encoded username and password at connection * SSH and Certificate authentication modules * Multi-stream transfer * Big windows as defined in RFC1323 * On-the-fly data compression * Automatic retry * Customizable time-outs * Transfer simulation * AFS authentication integration * RFIO interface

            homepage: https://software.in2p3.fr/bbftp/

            version toolchain 3.2.1 GCCcore/9.3.0, intel/2016a, system"},{"location":"version-specific/supported-software/#bbmap","title":"BBMap","text":"

            BBMap short read aligner, and other bioinformatic tools.

            homepage: https://sourceforge.net/projects/bbmap/

            version versionsuffix toolchain 36.62 -Java-1.8.0_112 intel/2016b 37.93 foss/2018a, intel/2018a 38.26 foss/2018b 38.50b GCC/8.2.0-2.31.1 38.76 GCC/8.2.0-2.31.1 38.79 GCC/8.3.0 38.87 iccifort/2020.1.217 38.90 GCC/10.2.0, GCC/9.3.0 38.96 GCC/10.3.0 38.98 GCC/11.2.0 39.01 GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#bc","title":"bc","text":"

            bc is an arbitrary precision numeric processing language.

            homepage: https://www.gnu.org/software/bc/

            version toolchain 1.06.95 GCC/4.8.2"},{"location":"version-specific/supported-software/#bcalm","title":"BCALM","text":"

            de Bruijn graph compaction in low memory

            homepage: https://github.com/GATB/bcalm

            version toolchain 2.2.0 foss/2018a"},{"location":"version-specific/supported-software/#bcbio-gff","title":"bcbio-gff","text":"

            Read and write Generic Feature Format (GFF) with Biopython integration.

            homepage: https://github.com/chapmanb/bcbb/tree/master/gff

            version versionsuffix toolchain 0.6.6 -Python-3.8.2 foss/2020a 0.6.7 foss/2021a 0.7.0 foss/2020b, foss/2022a"},{"location":"version-specific/supported-software/#bcel","title":"BCEL","text":"

            The Byte Code Engineering Library (Apache Commons BCEL\u2122) is intended to give users a convenient way to analyze, create, and manipulate (binary) Java class files (those ending with .class).

            homepage: https://commons.apache.org/proper/commons-bcel/

            version versionsuffix toolchain 5.2 -Java-1.8 system 6.5.0 -Java-1.8 system"},{"location":"version-specific/supported-software/#bcftools","title":"BCFtools","text":"

            Samtools is a suite of programs for interacting with high-throughput sequencing data. BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence variants

            homepage: http://www.htslib.org/

            version toolchain 1.3 foss/2016a, intel/2016a 1.3.1 foss/2016b 1.6 foss/2016b, foss/2017b, intel/2017b 1.8 GCC/6.4.0-2.28 1.9 foss/2018a, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 1.10.2 GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281 1.11 GCC/10.2.0 1.12 GCC/10.2.0, GCC/10.3.0, GCC/9.3.0 1.14 GCC/11.2.0 1.15.1 GCC/11.3.0 1.17 GCC/12.2.0"},{"location":"version-specific/supported-software/#bcgtree","title":"bcgTree","text":"

            Automatized phylogenetic tree building from bacterial core genomes.

            homepage: https://github.com/molbiodiv/bcgTree

            version versionsuffix toolchain 1.0.10 -Perl-5.26.1 intel/2018a 1.1.0 -Perl-5.28.0 intel/2018b"},{"location":"version-specific/supported-software/#bcl-convert","title":"bcl-convert","text":"

            The Illumina BCL Convert v4.0 is a standalone local software app that converts the Binary Base Call (BCL) files produced by Illumina sequencing systems to FASTQ files.

            homepage: https://support.illumina.com/sequencing/sequencing_software/bcl-convert.html

            version versionsuffix toolchain 4.0.3-2 el7.x86_64 system"},{"location":"version-specific/supported-software/#bcl2fastq2","title":"bcl2fastq2","text":"

            bcl2fastq Conversion Software both demultiplexes data and converts BCL files generated by Illumina sequencing systems to standard FASTQ file formats for downstream analysis.

            homepage: https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html

            version versionsuffix toolchain 2.19.1 -Python-2.7.12 foss/2016b 2.20.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/8.3.0, GCC/9.3.0, foss/2018b, intel/2019a 2.20.0 -Python-2.7.12 foss/2016b 2.20.0 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#bcolz","title":"bcolz","text":"

            bcolz provides columnar, chunked data containers that can be compressed either in-memory and on-disk. Column storage allows for efficiently querying tables, as well as for cheap column addition and removal. It is based on NumPy, and uses it as the standard data container to communicate with bcolz objects, but it also comes with support for import/export facilities to/from HDF5/PyTables tables and pandas dataframes.

            homepage: https://bcolz.blosc.org/en/latest/

            version versionsuffix toolchain 1.1.1 -Python-2.7.13 foss/2017a 1.2.1 foss/2020b 1.2.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#bdbag","title":"BDBag","text":"

            The bdbag utilities are a collection of software programs for working with BagIt packages that conform to the Bagit and Bagit/RO profiles.

            homepage: https://github.com/fair-research/bdbag

            version versionsuffix toolchain 1.4.1 -Python-2.7.14 intel/2018a 1.4.1 -Python-3.6.4 intel/2018a 1.6.3 intel/2021b"},{"location":"version-specific/supported-software/#beagle","title":"Beagle","text":"

            Beagle is a software package for phasing genotypes and for imputing ungenotyped markers.

            homepage: https://faculty.washington.edu/browning/beagle/beagle.html

            version versionsuffix toolchain 5.4.22Jul22.46e -Java-11 system"},{"location":"version-specific/supported-software/#beagle-lib","title":"beagle-lib","text":"

            beagle-lib is a high-performance library that can perform the core calculations at the heart of most Bayesian and Maximum Likelihood phylogenetics packages.

            homepage: https://github.com/beagle-dev/beagle-lib

            version versionsuffix toolchain 2.1.2 foss/2016a, foss/2017a 3.0.1 foss/2018a, intel/2018a 3.0.2 foss/2018b 3.0.2 -CUDA-9.2.88 foss/2018b 3.1.2 GCC/10.2.0, GCC/10.3.0, GCC/8.2.0-2.31.1, GCC/9.3.0, gcccuda/2019b, iccifort/2019.1.144-GCC-8.2.0-2.31.1 4.0.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#beast","title":"Beast","text":"

            BEAST is a cross-platform program for Bayesian MCMC analysis of molecular sequences. It is entirely orientated towards rooted, time-measured phylogenies inferred using strict or relaxed molecular clock models. It can be used as a method of reconstructing phylogenies but is also a framework for testing evolutionary hypotheses without conditioning on a single tree topology. BEAST uses MCMC to average over tree space, so that each tree is weighted proportional to its posterior probability.

            homepage: https://beast2.org

            version toolchain 1.8.4 system 1.10.1 intel/2018a 1.10.4 GCC/10.2.0, GCC/8.2.0-2.31.1 2.4.0 foss/2016a 2.4.7 foss/2017a 2.5.0 foss/2018a 2.5.1 foss/2018b 2.5.2 GCC/8.2.0-2.31.1 2.6.3 gcccuda/2019b 2.6.4 GCC/10.2.0 2.6.7 GCC/10.3.0 2.7.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#beautifulsoup","title":"BeautifulSoup","text":"

            Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping.

            homepage: https://www.crummy.com/software/BeautifulSoup

            version versionsuffix toolchain 4.6.0 -Python-3.6.3 intel/2017b 4.6.3 -Python-3.6.4 intel/2018a 4.7.1 -Python-3.6.6 intel/2018b 4.8.0 GCCcore/8.2.0 4.9.1 GCCcore/8.3.0 4.9.1 -Python-3.8.2 GCCcore/9.3.0 4.9.3 GCCcore/10.2.0 4.10.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 4.11.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#bedops","title":"BEDOPS","text":"

            BEDOPS is an open-source command-line toolkit that performs highly efficient and scalable Boolean and other set operations, statistical calculations, archiving, conversion and other management of genomic data of arbitrary scale. Tasks can be easily split by chromosome for distributing whole-genome analyses across a computational cluster.

            homepage: http://bedops.readthedocs.io/en/latest/index.html

            version toolchain 2.4.1 GCC/4.8.4 2.4.2 GCC/4.8.2 2.4.20 system 2.4.26 system 2.4.30 foss/2016b 2.4.32 foss/2018a, intel/2018a 2.4.35 foss/2018b 2.4.41 foss/2021b"},{"location":"version-specific/supported-software/#bedtools","title":"BEDTools","text":"

            BEDTools: a powerful toolset for genome arithmetic. The BEDTools utilities allow one to address common genomics tasks such as finding feature overlaps and computing coverage. The utilities are largely based on four widely-used file formats: BED, GFF/GTF, VCF, and SAM/BAM.

            homepage: https://bedtools.readthedocs.io/

            version toolchain 2.25.0 foss/2016a 2.26.0 GCCcore/6.4.0, foss/2016a, intel/2016b, intel/2017a, intel/2017b 2.27.1 GCCcore/6.4.0, foss/2016b, foss/2018b, intel/2017a, intel/2018a 2.28.0 GCC/8.2.0-2.31.1, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.29.2 GCC/8.3.0, GCC/9.3.0 2.30.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, iccifort/2020.4.304"},{"location":"version-specific/supported-software/#beef","title":"BEEF","text":"

            BEEF is a library-based implementation of the Bayesian Error Estimation Functional, suitable for linking against by Fortran- or C-based DFT codes. A description of BEEF can be found at http://dx.doi.org/10.1103/PhysRevB.85.235149.

            homepage: https://confluence.slac.stanford.edu/display/SUNCAT/BEEF+Functional+Software

            version toolchain 0.1.1 iccifort/2019.5.281, iccifort/2020.4.304"},{"location":"version-specific/supported-software/#behave","title":"behave","text":"

            behave: Behavior-driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project.

            homepage: http://pythonhosted.org/behave

            version versionsuffix toolchain 1.2.5 -Python-2.7.12 foss/2016b 1.2.6 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#berkeleygw","title":"BerkeleyGW","text":"

            The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle properties and the optical responses of a large variety of materials from bulk periodic crystals to nanostructures such as slabs, wires and molecules.

            homepage: https://www.berkeleygw.org

            version versionsuffix toolchain 1.0.6 intel/2016.02-GCC-4.9 1.1-beta2 intel/2016.02-GCC-4.9 1.2.0 intel/2017a, intel/2018a 2.0.0 foss/2017b, foss/2018b, intel/2017b, intel/2018a 2.1.0 -Python-3.7.4 foss/2019b, intel/2019b 3.0.1 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#bfast","title":"BFAST","text":"

            BFAST facilitates the fast and accurate mapping of short reads to reference sequences. Some advantages of BFAST include: 1) Speed: enables billions of short reads to be mapped quickly. 2) Accuracy: A priori probabilities for mapping reads with defined set of variants. 3) An easy way to measurably tune accuracy at the expense of speed.

            homepage: http://bfast.sourceforge.net/

            version toolchain 0.7.0a foss/2016b"},{"location":"version-specific/supported-software/#bfc","title":"BFC","text":"

            BFC is a standalone high-performance tool for correcting sequencing errors from Illumina sequencing data. It is specifically designed for high-coverage whole-genome human data, though also performs well for small genomes.

            homepage: https://github.com/lh3/bfc

            version toolchain 1 foss/2018a"},{"location":"version-specific/supported-software/#bgc-bayesian-genomic-clines","title":"BGC-Bayesian-genomic-clines","text":"

            Collection of code for Bayesian genomic cline analyses.

            homepage: https://github.com/zgompert/BGC-Bayesian-genomic-clines

            version toolchain 1.03 gompi/2021a"},{"location":"version-specific/supported-software/#bgen","title":"bgen","text":"

            A BGEN file format reader. It fully supports the BGEN format specifications 1.2 and 1.3.

            homepage: https://github.com/limix/bgen

            version toolchain 3.0.2 GCCcore/7.3.0 3.0.3 GCCcore/9.3.0 4.1.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#bgen-reader","title":"bgen-reader","text":"

            A bgen file format reader. This python package is a wrapper around the bgen library, a low-memory footprint reader that efficiently reads bgen files. It fully supports the bgen format specifications: 1.2 and 1.3; as well as their optional compressed formats.

            homepage: https://github.com/limix/bgen-reader-py

            version versionsuffix toolchain 3.0.2 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#bibtexparser","title":"bibtexparser","text":"

            Bibtex parser in Python 2.7 and 3.x

            homepage: https://github.com/sciunto-org/python-bibtexparser

            version toolchain 1.1.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#big-scape","title":"BiG-SCAPE","text":"

            BiG-SCAPE and CORASON provide a set of tools to explore the diversity of biosynthetic gene clusters (BGCs) across large numbers of genomes, by constructing BGC sequence similarity networks, grouping BGCs into gene cluster families, and exploring gene cluster diversity linked to enzyme phylogenies.

            homepage: https://bigscape-corason.secondarymetabolites.org/index.html

            version versionsuffix toolchain 1.0.1 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#bigdft","title":"BigDFT","text":"

            BigDFT: electronic structure calculation based on Daubechies wavelets. bigdft-suite is a set of different packages to run bigdft.

            homepage: https://gitlab.com/l_sim/bigdft-suite

            version toolchain 1.9.1 foss/2021b"},{"location":"version-specific/supported-software/#binsanity","title":"BinSanity","text":"

            BinSanity contains a suite a scripts designed to cluster contigs generated from metagenomic assembly into putative genomes.

            homepage: https://github.com/edgraham/BinSanity/wiki

            version versionsuffix toolchain 0.3.5 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#binutils","title":"binutils","text":"

            binutils: GNU binary utilities

            homepage: https://directory.fsf.org/project/binutils/

            version toolchain 2.25 GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, system 2.25.1 system 2.26 GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/5.5.0, GCCcore/6.3.0, system 2.27 GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, system 2.28 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, system 2.29 GCCcore/7.2.0, GCCcore/system, system 2.30 GCCcore/7.3.0, GCCcore/8.1.0, system 2.31.1 GCCcore/7.4.0, GCCcore/8.2.0, system 2.32 GCCcore/8.3.0, GCCcore/9.1.0, GCCcore/9.2.0, system 2.34 GCCcore/10.1.0, GCCcore/9.3.0, system 2.35 GCCcore/10.2.0, system 2.36.1 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/8.4.0, GCCcore/9.4.0, system 2.37 GCCcore/11.2.0, system 2.38 GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/9.5.0, system 2.39 GCCcore/12.2.0, system 2.40 GCCcore/11.4.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#bio-db-hts","title":"Bio-DB-HTS","text":"

            Read files using HTSlib including BAM/CRAM, Tabix and BCF database files

            homepage: https://metacpan.org/release/Bio-DB-HTS

            version versionsuffix toolchain 2.11 -Perl-5.26.0 foss/2017b, intel/2017b 2.11 -Perl-5.26.1 intel/2018a 2.11 -Perl-5.28.0 foss/2018b 3.01 GCC/10.2.0, GCC/11.2.0, GCC/11.3.0 3.01 -Perl-5.28.1 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#bio-eutilities","title":"Bio-EUtilities","text":"

            BioPerl low-level API for retrieving and storing data from NCBI eUtils

            homepage: https://github.com/bioperl/bio-eutilities

            version toolchain 1.76 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#bio-samtools","title":"Bio-SamTools","text":"

            This is a Perl interface to the SAMtools sequence alignment interface.

            homepage: http://search.cpan.org/~lds/Bio-SamTools/

            version versionsuffix toolchain 1.43 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#bio-searchio-hmmer","title":"Bio-SearchIO-hmmer","text":"

            Code to parse output from hmmsearch, hmmscan, phmmer and nhmmer, compatible with both version 2 and version 3 of the HMMER package from http://hmmer.org.

            homepage: https://metacpan.org/pod/Bio::SearchIO::hmmer3

            version toolchain 1.7.3 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#bioawk","title":"bioawk","text":"

            Bioawk is an extension to Brian Kernighan's awk, adding the support of several common biological data formats, including optionally gzip'ed BED, GFF, SAM, VCF, FASTA/Q and TAB-delimited formats with column names.

            homepage: https://github.com/lh3/bioawk

            version toolchain 1.0 GCC/10.3.0, GCC/11.2.0, foss/2018b"},{"location":"version-specific/supported-software/#biobambam2","title":"biobambam2","text":"

            Tools for processing BAM files

            homepage: https://github.com/gt1/biobambam2

            version toolchain 2.0.87 GCC/11.3.0, intel/2018a"},{"location":"version-specific/supported-software/#biogeme","title":"biogeme","text":"

            Biogeme is a open source Python package designed for the maximum likelihood estimation of parametric models in general, with a special emphasis on discrete choice models.

            homepage: https://pypi.python.org/pypi/biogeme

            version toolchain 3.1.2 foss/2021a 3.2.6 foss/2022a 3.2.8 foss/2021a 3.2.10 foss/2022a"},{"location":"version-specific/supported-software/#biom-format","title":"biom-format","text":"

            The BIOM file format (canonically pronounced biome) is designed to be a general-use format for representing biological sample by observation contingency tables. BIOM is a recognized standard for the Earth Microbiome Project and is a Genomics Standards Consortium supported project.

            homepage: https://biom-format.org

            version versionsuffix toolchain 2.1.10 -Python-3.8.2 foss/2020a 2.1.12 foss/2021b 2.1.14 foss/2022a"},{"location":"version-specific/supported-software/#biomart-perl","title":"biomart-perl","text":"

            The BioMart Perl API allows you to go a step further with BioMart and integrate BioMart Perl Code into custom Perl scripts.

            homepage: https://useast.ensembl.org/info/data/biomart/biomart_perl_api.html

            version versionsuffix toolchain 0.7_e6db561 -Perl-5.26.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#bioperl","title":"BioPerl","text":"

            Bioperl is the product of a community effort to produce Perl code which is useful in biology. Examples include Sequence objects, Alignment objects and database searching objects.

            homepage: http://www.bioperl.org/

            version versionsuffix toolchain 1.6.924 -Perl-5.20.3 intel/2016a 1.6.924 -Perl-5.22.1 foss/2016a 1.7.0 -Perl-5.24.0 foss/2016b 1.7.1 -Perl-5.24.0 intel/2016b 1.7.1 -Perl-5.24.1 intel/2017a 1.7.2 GCCcore/8.3.0 1.7.2 -Perl-5.26.0 foss/2017b, intel/2017b 1.7.2 -Perl-5.26.1 intel/2018a 1.7.2 -Perl-5.28.0 foss/2018b, intel/2018b 1.7.2 -Perl-5.28.1 GCCcore/8.2.0 1.7.7 GCCcore/9.3.0 1.7.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#biopp","title":"BioPP","text":"

            Bio++ is a set of C++ libraries for Bioinformatics, including sequence analysis, phylogenetics, molecular evolution and population genetics. Bio++ is Object Oriented and is designed to be both easy to use and computer efficient. Bio++ intends to help programmers to write computer expensive programs, by providing them a set of re-usable tools.

            homepage: https://github.com/BioPP/bpp-core

            version toolchain 2.4.1 GCC/8.2.0-2.31.1, GCC/9.3.0"},{"location":"version-specific/supported-software/#biopython","title":"Biopython","text":"

            Biopython is a set of freely available tools for biological computation written in Python by an international team of developers. It is a distributed collaborative effort to develop Python libraries and applications which address the needs of current and future work in bioinformatics.

            homepage: https://www.biopython.org

            version versionsuffix toolchain 1.65 -Python-2.7.11 foss/2016a 1.68 -Python-2.7.12 foss/2016b, intel/2016b 1.68 -Python-3.5.2 foss/2016b, intel/2016b 1.70 -Python-2.7.13 foss/2017a 1.70 -Python-2.7.14 foss/2017b, intel/2017b 1.70 -Python-3.6.1 intel/2017a 1.70 -Python-3.6.3 foss/2017b, intel/2017b 1.71 -Python-2.7.14 intel/2018a 1.71 -Python-3.6.4 foss/2018a, intel/2018a 1.72 -Python-2.7.15 foss/2018b, intel/2018b 1.72 -Python-3.6.6 foss/2018b 1.73 foss/2019a, fosscuda/2019a, intel/2019a 1.73 -Python-3.6.6 foss/2018b 1.74 foss/2019a 1.75 -Python-2.7.16 foss/2019b 1.75 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 1.76 -Python-2.7.18 foss/2020b 1.78 foss/2020b, fosscuda/2020b, intel/2020b 1.78 -Python-3.8.2 foss/2020a, intel/2020a 1.79 foss/2021a, foss/2021b, foss/2022a, intel/2021b 1.81 foss/2022b"},{"location":"version-specific/supported-software/#bioservices","title":"BioServices","text":"

            Bioservices is a Python package that provides access to many Bioinformatices Web Services (e.g., UniProt) and a framework to easily implement Web Services wrappers (based on WSDL/SOAP or REST protocols).

            homepage: https://bioservices.readthedocs.io/

            version versionsuffix toolchain 1.7.9 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#birdnet","title":"BirdNET","text":"

            BirdNET is a research platform that aims at recognizing birds by sound at scale. We support various hardware and operating systems such as Arduino microcontrollers, the Raspberry Pi, smartphones, web browsers, workstation PCs, and even cloud services. BirdNET is a citizen science platform as well as an analysis software for extremely large collections of audio. BirdNET aims to provide innovative tools for conservationists, biologists, and birders alike.

            homepage: https://birdnet.cornell.edu/

            version versionsuffix toolchain 20201214 -Python-3.7.4 fosscuda/2019b"},{"location":"version-specific/supported-software/#biscuit","title":"biscuit","text":"

            Utilities to help analyze bisulfite-treated sequence data

            homepage: https://github.com/zwdzwd/biscuit

            version toolchain 0.1.4 foss/2016a"},{"location":"version-specific/supported-software/#bismark","title":"Bismark","text":"

            A tool to map bisulfite converted sequence reads and determine cytosine methylation states

            homepage: https://www.bioinformatics.babraham.ac.uk/projects/bismark/

            version toolchain 0.19.0 intel/2017b 0.20.1 foss/2018b, intel/2018b 0.23.1 foss/2021b 0.24.0 GCC/11.3.0 0.24.1 GCC/12.2.0"},{"location":"version-specific/supported-software/#bison","title":"Bison","text":"

            Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.

            homepage: https://www.gnu.org/software/bison

            version toolchain 2.7 GCC/4.8.1, GCC/4.8.4, GCCcore/6.3.0, GCCcore/6.4.0, system 3.0.2 GCC/4.8.2 3.0.3 GCC/4.9.2 3.0.4 GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-2.25, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/5.5.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.1.0, GCCcore/system, GNU/4.9.3-2.25, foss/2016a, foss/2016b, gimkl/2.11.5, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 3.0.5 GCCcore/5.5.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.1.0, GCCcore/8.2.0, GCCcore/system, system 3.2.2 GCCcore/7.4.0 3.3.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/8.4.0, GCCcore/9.1.0, GCCcore/9.2.0, system 3.5.2 system 3.5.3 GCCcore/10.2.0, GCCcore/9.3.0, system 3.6.1 GCCcore/10.1.0 3.7.1 GCCcore/10.2.0, system 3.7.6 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/11.2.0, GCCcore/9.4.0, system 3.8.2 GCCcore/11.3.0, GCCcore/11.4.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/9.5.0, system"},{"location":"version-specific/supported-software/#bitarray","title":"bitarray","text":"

            bitarray provides an object type which efficiently represents an array of booleans

            homepage: https://github.com/ilanschnell/bitarray

            version versionsuffix toolchain 0.8.3 -Python-2.7.15 intel/2018b 0.8.3 -Python-3.6.6 intel/2018b 1.2.1 -Python-3.7.4 foss/2019b 1.5.3 -Python-2.7.16 GCC/8.3.0"},{"location":"version-specific/supported-software/#blacs","title":"BLACS","text":"

            The BLACS (Basic Linear Algebra Communication Subprograms) project is an ongoing investigation whose purpose is to create a linear algebra oriented message passing interface that may be implemented efficiently and uniformly across a large range of distributed memory platforms.

            homepage: http://www.netlib.org/blacs/

            version toolchain 1.1 gmvapich2/2016a"},{"location":"version-specific/supported-software/#blasr","title":"BLASR","text":"

            The PacBio\u00ae long read aligner

            homepage: https://github.com/PacificBiosciences/blasr

            version toolchain 2.2 intel/2016b 5.3.3 gompi/2019a 20170330 intel/2017a"},{"location":"version-specific/supported-software/#blasr_libcpp","title":"blasr_libcpp","text":"

            Blasr_libcpp is a library used by blasr and other executables such as samtoh5, loadPulses for analyzing PacBio sequences

            homepage: https://github.com/PacificBiosciences/blasr_libcpp

            version toolchain 20170426 intel/2017a"},{"location":"version-specific/supported-software/#blast","title":"BLAST","text":"

            Basic Local Alignment Search Tool, or BLAST, is an algorithm for comparing primary biological sequence information, such as the amino-acid sequences of different proteins or the nucleotides of DNA sequences.

            homepage: http://blast.ncbi.nlm.nih.gov/

            version versionsuffix toolchain 2.2.26 -Linux_x86_64 system 2.8.1 -Linux_x86_64 system 2.10.0 -Linux_x86_64 system 2.10.1 -Linux_x86_64 system 2.11.0 -Linux_x86_64 system"},{"location":"version-specific/supported-software/#blast_1","title":"BLAST+","text":"

            Basic Local Alignment Search Tool, or BLAST, is an algorithm for comparing primary biological sequence information, such as the amino-acid sequences of different proteins or the nucleotides of DNA sequences.

            homepage: https://blast.ncbi.nlm.nih.gov/

            version versionsuffix toolchain 2.2.31 system 2.3.0 -Python-2.7.11 foss/2016a 2.6.0 -Python-2.7.12 foss/2016b 2.6.0 -Python-2.7.13 foss/2017a, intel/2017a 2.6.0 -Python-2.7.14 intel/2017b 2.7.1 foss/2018a, foss/2018b, intel/2018a, intel/2018b 2.7.1 -Python-2.7.14 intel/2017b 2.8.1 foss/2018b 2.9.0 gompi/2019a, gompi/2019b, gompi/2021b, iimpi/2019a, iimpi/2019b 2.10.1 gompi/2020a, iimpi/2020a 2.11.0 gompi/2019b, gompi/2020a, gompi/2020b, gompi/2021a 2.12.0 gompi/2021b 2.13.0 gompi/2022a 2.14.0 gompi/2022b"},{"location":"version-specific/supported-software/#blat","title":"BLAT","text":"

            BLAT on DNA is designed to quickly find sequences of 95% and greater similarity of length 25 bases or more.

            homepage: https://genome.ucsc.edu/goldenPath/help/blatSpec.html

            version toolchain 3.5 GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2016b, foss/2018b, intel/2016b, intel/2017a 3.7 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#blender","title":"Blender","text":"

            Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation.

            homepage: https://www.blender.org/

            version versionsuffix toolchain 2.77a -Python-3.5.2 intel/2016b 2.79 -Python-3.6.1 intel/2017a 2.79b -Python-3.6.6 intel/2018b 2.79b -Python-3.6.6-CUDA-9.2.88 foss/2018b 2.81 -Python-3.7.4 foss/2019b, intel/2019b 3.0.0 -linux-x64 system 3.1.2 -linux-x64 system 3.2.2 -linux-x64 system 3.3.1 -linux-x86_64-CUDA-11.7.0 system 3.4.1 -linux-x86_64-CUDA-11.7.0 system 3.5.0 -linux-x86_64-CUDA-11.7.0 system"},{"location":"version-specific/supported-software/#blis","title":"BLIS","text":"

            AMD's fork of BLIS. BLIS is a portable software framework for instantiating high-performance BLAS-like dense linear algebra libraries.

            homepage: https://developer.amd.com/amd-cpu-libraries/blas-library/

            version versionsuffix toolchain 0.3.2 GCC/7.3.0-2.30 0.6.0 GCC/8.3.0-2.32 0.8.0 GCCcore/10.2.0, GCCcore/9.3.0 0.8.1 GCC/10.3.0, GCC/11.2.0, GCCcore/10.3.0 0.9.0 GCC/11.3.0, GCC/12.2.0, GCC/12.3.0, intel-compilers/2022.1.0 1.2 -amd GCC/7.3.0-2.30 2.2 -amd GCCcore/9.3.0 3.0 -amd GCCcore/10.3.0 3.0.1 -amd GCC/11.2.0, GCCcore/10.2.0, GCCcore/10.3.0 3.1 -amd GCCcore/11.2.0"},{"location":"version-specific/supported-software/#blitz","title":"Blitz++","text":"

            Blitz++ is a (LGPLv3+) licensed meta-template library for array manipulation in C++ with a speed comparable to Fortran implementations, while preserving an object-oriented interface

            homepage: https://github.com/blitzpp/blitz

            version toolchain 0.10 GCCcore/6.4.0, foss/2016a 1.0.2 GCCcore/10.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#blobtools","title":"BlobTools","text":"

            A modular command-line solution for visualisation, quality control and taxonomic partitioning of genome datasets.

            homepage: https://blobtools.readme.io/docs

            version versionsuffix toolchain 20180528 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#block","title":"Block","text":"

            Block implements the density matrix renormalization group (DMRG) algorithm for quantum chemistry.

            homepage: https://sanshar.github.io/Block/

            version toolchain 1.5.3-20200525 foss/2022a"},{"location":"version-specific/supported-software/#blosc","title":"Blosc","text":"

            Blosc, an extremely fast, multi-threaded, meta-compressor library

            homepage: https://www.blosc.org/

            version toolchain 1.11.1 intel/2016b 1.12.1 GCCcore/6.4.0, foss/2016b, foss/2017a, intel/2017a 1.14.2 GCCcore/6.4.0, foss/2016a 1.14.4 GCCcore/7.3.0 1.17.0 GCCcore/8.2.0 1.17.1 GCCcore/8.3.0, GCCcore/9.3.0 1.21.0 GCCcore/10.2.0, GCCcore/10.3.0 1.21.1 GCCcore/11.2.0 1.21.3 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#blosc2","title":"Blosc2","text":"

            Blosc, an extremely fast, multi-threaded, meta-compressor library

            homepage: https://www.blosc.org/

            version toolchain 2.0.3 GCCcore/10.2.0 2.0.4 GCCcore/10.3.0 2.4.3 GCCcore/11.3.0 2.6.1 GCCcore/11.3.0 2.8.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#blt","title":"BLT","text":"

            BLT is an extension to the Tk toolkit, adding new widgets, geometry managers, and miscellaneous commands.

            homepage: http://blt.sourceforge.net/

            version toolchain 20181223 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#bmtagger","title":"bmtagger","text":"

            Best Match Tagger for removing human reads from metagenomics datasets

            homepage: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/

            version toolchain 3.101 foss/2018b, gompi/2019a, gompi/2020b"},{"location":"version-specific/supported-software/#bnpy","title":"bnpy","text":"

            Bayesian nonparametric machine learning for python provides code for training popular clustering models on large datasets. The focus is on Bayesian nonparametric models based on the Dirichlet process, but it also provides parametric counterparts.

            homepage: https://github.com/bnpy/bnpy

            version versionsuffix toolchain 0.1.6 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#boinc","title":"BOINC","text":"

            BOINC is a program that lets you donate your idle computer time to science projects like SETI@home, Climateprediction.net, Rosetta@home, World Community Grid, and many others.

            homepage: https://boinc.berkeley.edu

            version versionsuffix toolchain 7.2.42 -client GCC/4.8.2"},{"location":"version-specific/supported-software/#bokeh","title":"bokeh","text":"

            Statistical and novel interactive HTML plots for Python

            homepage: https://github.com/bokeh/bokeh

            version versionsuffix toolchain 0.12.3 -Python-2.7.12 intel/2016b 0.12.3 -Python-3.5.2 intel/2016b 0.12.15 -Python-3.6.4 intel/2018a 1.0.4 -Python-3.6.6 foss/2018b, intel/2018b 1.3.4 -Python-3.7.2 foss/2019a 1.4.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 2.0.2 -Python-3.8.2 foss/2020a, intel/2020a 2.2.3 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 2.4.1 foss/2021a 2.4.2 foss/2021b 2.4.3 foss/2022a"},{"location":"version-specific/supported-software/#boltztrap","title":"BoltzTraP","text":"

            Boltzmann Transport Properties (BoltzTraP) is a program for calculating the semi-classic transport coefficients.

            homepage: http://www.icams.de/content/departments/cmat/boltztrap/

            version toolchain 1.2.5 intel/2016a"},{"location":"version-specific/supported-software/#boltztrap2","title":"BoltzTraP2","text":"

            BoltzTraP2 provides a numerically stable and efficient method for obtaining analytic representations of electronic bands based on density-functional-theory results for relatively sparse grids. It achieves this goal by using smoothed Fourier interpolation.

            homepage: https://www.boltztrap.org

            version toolchain 22.12.1 foss/2022a"},{"location":"version-specific/supported-software/#bonito","title":"Bonito","text":"

            Convolution Basecaller for Oxford Nanopore Reads

            homepage: https://github.com/nanoporetech/bonito

            version versionsuffix toolchain 0.1.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.1.4 -Python-3.7.4 fosscuda/2019b 0.2.0 -Python-3.7.4 fosscuda/2019b 0.2.2 -Python-3.7.4 fosscuda/2019b 0.3.2 -Python-3.7.4 fosscuda/2019b 0.3.5 -Python-3.7.4 fosscuda/2019b 0.3.8 fosscuda/2020b 0.4.0 fosscuda/2020b"},{"location":"version-specific/supported-software/#bonmin","title":"Bonmin","text":"

            Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a software package for large-scale nonlinear optimization.

            homepage: https://coin-or.github.io/Ipopt

            version toolchain 1.8.7 intel/2019a"},{"location":"version-specific/supported-software/#bonnie","title":"Bonnie++","text":"

            Enhanced performance Test of Filesystem I/O

            homepage: https://www.coker.com.au/bonnie++

            version toolchain 1.97 foss/2016a 2.00a GCC/10.3.0"},{"location":"version-specific/supported-software/#boost","title":"Boost","text":"

            Boost provides free peer-reviewed portable C++ source libraries.

            homepage: https://www.boost.org/

            version versionsuffix toolchain 1.54.0 -Python-2.7.12 foss/2016b 1.55.0 system 1.55.0 -Python-2.7.11 foss/2016a 1.57.0 -Python-2.7.10 gimkl/2.11.5 1.58.0 intel/2017a 1.58.0 -Python-2.7.11 foss/2016a, intel/2016a 1.58.0 -serial GCC/4.9.2 1.59.0 -Python-2.7.11 foss/2016a, intel/2016a 1.60.0 foss/2016a, intel/2016a 1.60.0 -Python-2.7.11 foss/2016a, intel/2016a 1.60.0 -Python-3.5.1 foss/2016a 1.61.0 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.61.0 -Python-2.7.11 foss/2016a, intel/2016a 1.61.0 -Python-2.7.12 foss/2016b, intel/2016b 1.61.0 -Python-3.5.1 foss/2016a 1.62.0 -Python-2.7.12 intel/2016b 1.63.0 foss/2017a 1.63.0 -Python-2.7.12 foss/2016b, intel/2016b 1.63.0 -Python-2.7.13 foss/2017a, intel/2017a 1.63.0 -Python-2.7.14 foss/2018a, intel/2017b 1.63.0 -Python-3.5.2 foss/2016b 1.64.0 gompi/2019a, gompic/2019a, intel/2017a 1.64.0 -Python-2.7.13 intel/2017a 1.65.0 -Python-2.7.13 intel/2017a 1.65.1 foss/2017a, foss/2017b, intel/2017a, intel/2017b 1.65.1 -Python-2.7.13 intel/2017a 1.65.1 -Python-2.7.14 foss/2017b, intel/2017b 1.65.1 -Python-3.6.3 foss/2017b, intel/2017b 1.66.0 foss/2018a, intel/2017b, intel/2018.01, intel/2018a 1.66.0 -Python-2.7.14 foss/2018a, intel/2017b, intel/2018a 1.66.0 -Python-3.6.3 intel/2018.01 1.66.0 -Python-3.6.4 foss/2018a, intel/2018a 1.66.0 -no_mpi GCCcore/6.4.0 1.67.0 foss/2018b, fosscuda/2018b, intel/2018a, intel/2018b 1.67.0 -Python-2.7.14 foss/2018a 1.68.0 -Python-2.7.15 foss/2018b, intel/2018b 1.68.0 -Python-3.6.6 foss/2018b, intel/2018b 1.69.0 intel/2019.01 1.70.0 gompi/2019a, gompic/2019a, iimpi/2019a, iimpic/2019a 1.71.0 gompi/2019b, gompic/2019b, iimpi/2019b, iimpic/2019b 1.72.0 gompi/2020a, gompic/2020a, iimpi/2020a 1.72.0 -no_mpi GCCcore/9.3.0 1.74.0 GCC/10.2.0, iccifort/2020.4.304 1.75.0 GCC/11.2.0 1.76.0 GCC/10.3.0, intel-compilers/2021.2.0 1.77.0 GCC/11.2.0, intel-compilers/2021.4.0 1.79.0 GCC/11.2.0, GCC/11.3.0 1.81.0 GCC/12.2.0"},{"location":"version-specific/supported-software/#boostmpi","title":"Boost.MPI","text":"

            Boost provides free peer-reviewed portable C++ source libraries.

            homepage: https://www.boost.org/

            version toolchain 1.76.0 gompi/2021a 1.77.0 gompi/2021b 1.79.0 gompi/2022a"},{"location":"version-specific/supported-software/#boostpython","title":"Boost.Python","text":"

            Boost.Python is a C++ library which enables seamless interoperability between C++ and the Python programming language.

            homepage: https://boostorg.github.io/python

            version versionsuffix toolchain 1.64.0 gompi/2019a, gompic/2019a 1.65.1 -Python-2.7.14 foss/2017b, intel/2017b 1.66.0 -Python-2.7.14 intel/2018a 1.66.0 -Python-3.6.4 foss/2018a, intel/2018a 1.67.0 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 1.67.0 -Python-3.6.6 foss/2018b, intel/2018b 1.70.0 gompi/2019a, gompic/2019a, iimpi/2019a, iimpic/2019a 1.71.0 gompi/2019b, gompic/2019b, iimpi/2019b, iimpic/2019b 1.72.0 gompi/2020a, gompic/2020a, iimpi/2020a 1.74.0 GCC/10.2.0 1.76.0 GCC/10.3.0 1.77.0 GCC/11.2.0 1.79.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#boost_histogram","title":"boost_histogram","text":"

            Boost-histogram is a Python package providing Python bindings for Boost.Histogram.

            homepage: https://boost-histogram.readthedocs.io

            version toolchain 1.2.1 foss/2021a"},{"location":"version-specific/supported-software/#boto3","title":"boto3","text":"

            Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python, which allows Python developers to write software that makes use of services like Amazon S3 and Amazon EC2.

            homepage: https://github.com/boto/boto3

            version toolchain 1.20.13 GCCcore/10.3.0, GCCcore/11.2.0 1.26.37 GCCcore/11.3.0 1.26.163 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#bottleneck","title":"Bottleneck","text":"

            Fast NumPy array functions written in C

            homepage: https://kwgoodman.github.io/bottleneck-doc

            version versionsuffix toolchain 1.2.1 -Python-3.6.4 intel/2018a 1.3.2 -Python-3.8.2 foss/2020a 1.3.6 foss/2022a 1.3.7 foss/2022a"},{"location":"version-specific/supported-software/#bowtie","title":"Bowtie","text":"

            Bowtie is an ultrafast, memory-efficient short read aligner. It aligns short DNA sequences (reads) to the human genome.

            homepage: http://bowtie-bio.sourceforge.net/index.shtml

            version toolchain 1.1.2 GCCcore/5.4.0, GCCcore/6.3.0, foss/2016a, intel/2016b, intel/2017a, intel/2018a 1.2.1.1 foss/2016b, intel/2017b 1.2.2 foss/2018b, intel/2017b, intel/2018a 1.2.3 GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281 1.3.0 GCC/10.2.0, GCC/9.3.0 1.3.1 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#bowtie2","title":"Bowtie2","text":"

            Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes.

            homepage: https://bowtie-bio.sourceforge.net/bowtie2/index.shtml

            version toolchain 2.2.8 foss/2016a 2.2.9 foss/2016a, intel/2016b 2.3.2 foss/2016b, foss/2017a, intel/2017a 2.3.3.1 intel/2017b 2.3.4 intel/2017b 2.3.4.1 foss/2017b, intel/2017b, intel/2018a 2.3.4.2 foss/2018b, intel/2018b 2.3.4.3 foss/2017b 2.3.5.1 GCC/8.2.0-2.31.1, GCC/8.3.0, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281 2.4.1 GCC/9.3.0 2.4.2 GCC/10.2.0, GCC/9.3.0 2.4.4 GCC/10.3.0, GCC/11.2.0 2.4.5 GCC/11.3.0 2.5.1 GCC/12.2.0"},{"location":"version-specific/supported-software/#bpipe","title":"Bpipe","text":"

            Bpipe - a tool for running and managing bioinformatics pipelines

            homepage: http://docs.bpipe.org/

            version toolchain 0.9.9.2 intel/2017a"},{"location":"version-specific/supported-software/#bpp","title":"bpp","text":"

            The aim of this project is to implement a versatile high-performance version of the BPP software.

            homepage: https://github.com/bpp/bpp

            version toolchain 4.3.8 GCC/8.3.0 4.4.0 GCC/10.3.0"},{"location":"version-specific/supported-software/#bpytop","title":"bpytop","text":"

            Resource monitor that shows usage and stats for processor, memory, disks, network and processes.

            homepage: https://github.com/aristocratos/bpytop/

            version toolchain 1.0.60 GCCcore/10.2.0 1.0.67 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#bracken","title":"Bracken","text":"

            Bracken (Bayesian Reestimation of Abundance with KrakEN) is a highly accurate statistical method that computes the abundance of species in DNA sequences from a metagenomics sample. Braken uses the taxonomy labels assigned by Kraken, a highly accurate metagenomics classification algorithm, to estimate the number of reads originating from each species present in a sample. Kraken classifies reads to the best matching location in the taxonomic tree, but does not estimate abundances of species. We use the Kraken database itself to derive probabilities that describe how much sequence from each genome is identical to other genomes in the database, and combine this information with the assignments for a particular sample to estimate abundance at the species level, the genus level, or above. Combined with the Kraken classifier, Bracken produces accurate species- and genus-level abundance estimates even when a sample contains two or more near-identical species. NOTE: Bracken is compatible with both Kraken 1 and Kraken 2. However, the default kmer length is different depending on the version of Kraken used. If you use Kraken 1 defaults, specify 31 as the kmer length. If you use Kraken 2 defaults, specify 35 as the kmer length.

            homepage: https://ccb.jhu.edu/software/bracken/

            version toolchain 2.6.0 GCCcore/9.3.0 2.6.2 GCCcore/11.2.0 2.7 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#braindecode","title":"Braindecode","text":"

            Braindecode is an open-source Python toolbox for decoding raw electrophysiological brain data with deep learning models. It includes dataset fetchers, data preprocessing and visualization tools, as well as implementations of several deep learning architectures and data augmentations for analysis of EEG, ECoG and MEG.

            homepage: https://braindecode.org/

            version versionsuffix toolchain 0.7 -PyTorch-1.10.0 foss/2021a 0.7 -PyTorch-1.10.0-CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#braker","title":"BRAKER","text":"

            BRAKER is a pipeline for fully automated prediction of protein coding genes with GeneMark-ES/ET and AUGUSTUS in novel eukaryotic genomes.

            homepage: https://github.com/Gaius-Augustus/BRAKER

            version versionsuffix toolchain 2.1.2 intel/2019a 2.1.5 -Python-3.7.4 intel/2019b 2.1.6 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#breakdancer","title":"BreakDancer","text":"

            BreakDancer is a Perl/C++ package that provides genome-wide detection of structural variants from next generation paired-end sequencing reads

            homepage: http://gmt.genome.wustl.edu/packages/breakdancer

            version toolchain 1.4.5 intel/2017a"},{"location":"version-specific/supported-software/#breseq","title":"breseq","text":"

            breseq is a computational pipeline for the analysis of short-read re-sequencing data

            homepage: https://barricklab.org/breseq

            version versionsuffix toolchain 0.35.0 -R-3.6.0 intel/2019a 0.35.4 -R-4.0.0 foss/2020a 0.36.1 foss/2021b 0.38.1 foss/2022a"},{"location":"version-specific/supported-software/#brotli","title":"Brotli","text":"

            Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression. The specification of the Brotli Compressed Data Format is defined in RFC 7932.

            homepage: https://github.com/google/brotli

            version toolchain 1.0.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#brotli-python","title":"Brotli-python","text":"

            Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression. The specification of the Brotli Compressed Data Format is defined in RFC 7932.

            homepage: https://github.com/google/brotli

            version toolchain 1.0.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#brunsli","title":"Brunsli","text":"

            Brunsli is a lossless JPEG repacking library.

            homepage: https://github.com/google/brunsli/

            version toolchain 0.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#bsddb3","title":"bsddb3","text":"

            bsddb3 is a nearly complete Python binding of the Oracle/Sleepycat C API for the Database Environment, Database, Cursor, Log Cursor, Sequence and Transaction objects.

            homepage: https://pypi.org/project/bsddb3/

            version versionsuffix toolchain 6.2.6 GCCcore/8.2.0 6.2.6 -Python-2.7.15 fosscuda/2018b 6.2.9 GCCcore/10.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#bsmapz","title":"BSMAPz","text":"

            Updated and optimized fork of BSMAP. BSMAPz is a short reads mapping program for bisulfite sequencing in DNA methylation study.

            homepage: https://github.com/zyndagj/BSMAPz

            version versionsuffix toolchain 1.1.1 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#bsoft","title":"Bsoft","text":"

            Bsoft is a collection of programs and a platform for development of software for image and molecular processing in structural biology. Problems in structural biology are approached with a highly modular design, allowing fast development of new algorithms without the burden of issues such as file I/O. It provides an easily accessible interface, a resource that can be and has been used in other packages.

            homepage: https://lsbr.niams.nih.gov/bsoft/

            version toolchain 2.0.2 foss/2017b 2.0.7 GCC/9.3.0"},{"location":"version-specific/supported-software/#bsseeker2","title":"BSseeker2","text":"

            BS-Seeker2 is a seamless and versatile pipeline for accurately and fast mapping the bisulfite-treated reads.

            homepage: http://pellegrini-legacy.mcdb.ucla.edu/bs_seeker2

            version versionsuffix toolchain 2.1.8 -Python-2.7.16 GCC/8.3.0, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#buddy","title":"BuDDy","text":"

            A Binary Decision Diagram library, with many highly efficient vectorized BDD operations, dynamic variable reordering, automated garbage collection, a C++ interface with automatic reference counting, and much more.

            homepage: http://buddy.sourceforge.net/

            version toolchain 2.4 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#bufrlib","title":"BUFRLIB","text":"

            NCEP BUFRLIB software to encode or decode BUFR messages. It is not intended to be a primer on the BUFR code form itself.

            homepage: https://www.emc.ncep.noaa.gov/index.php?branch=BUFRLIB

            version toolchain 11.3.0.2 iccifort/2020.1.217"},{"location":"version-specific/supported-software/#build","title":"build","text":"

            A simple, correct Python build frontend.

            homepage: https://github.com/pypa/build

            version toolchain 0.10.0 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#buildenv","title":"buildenv","text":"

            This module sets a group of environment variables for compilers, linkers, maths libraries, etc., that you can use to easily transition between toolchains when building your software. To query the variables being set please use: module show

            homepage: version versionsuffix toolchain default FCC/4.5.0, Fujitsu/21.05, foss/2017b, foss/2018b, foss/2019b, foss/2020a, foss/2020b, foss/2021a, foss/2021b, foss/2022a, foss/2022b, fosscuda/2019b, fosscuda/2020a, fosscuda/2020b, intel/2016b, intel/2017a, intel/2019b, intel/2020a, intel/2020b, intel/2021a, intel/2021b, intel/2022a, intel/2022b, intelcuda/2019b, intelcuda/2020a, intelcuda/2020b default -CUDA-11.3.1 foss/2021a default -CUDA-11.4.1 foss/2021b default -CUDA-11.7.0 foss/2022a default -CUDA-12.0.0 foss/2022b"},{"location":"version-specific/supported-software/#buildingspy","title":"buildingspy","text":"

            Python modules for automating Modelica simulations and for running unit test for the Buildings library

            homepage: https://simulationresearch.lbl.gov/modelica/buildingspy

            version toolchain 4.0.0 foss/2022a"},{"location":"version-specific/supported-software/#bullet","title":"Bullet","text":"

            Bullet professional 3D Game Multiphysics Library provides state of the art collision detection, soft body and rigid body dynamics.

            homepage: http://bulletphysics.org/

            version toolchain 2.83.7 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#busco","title":"BUSCO","text":"

            BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs

            homepage: https://busco.ezlab.org/

            version versionsuffix toolchain 1.22 -Python-2.7.13 intel/2017a 2.0.1 -Python-2.7.13 intel/2017a 3.0.2 -Python-2.7.15 intel/2018b 4.0.5 -Python-3.7.4 foss/2019b 4.0.6 foss/2020b 5.0.0 foss/2020b 5.1.2 foss/2020b 5.4.2 foss/2021a 5.4.3 foss/2021b 5.4.5 foss/2022a 5.4.7 foss/2022b"},{"location":"version-specific/supported-software/#bustools","title":"BUStools","text":"

            bustools is a program for manipulating BUS files for single cell RNA-Seq datasets. It can be used to error correct barcodes, collapse UMIs, produce gene count or transcript compatibility count matrices, and is useful for many other tasks. See the kallisto | bustools website for examples and instructions on how to use bustools as part of a single-cell RNA-seq workflow.

            homepage: https://github.com/BUStools/bustools

            version toolchain 0.40.0 GCCcore/9.3.0, foss/2018b"},{"location":"version-specific/supported-software/#bwa","title":"BWA","text":"

            Burrows-Wheeler Aligner (BWA) is an efficient program that aligns relatively short nucleotide sequences against a long reference sequence such as the human genome.

            homepage: http://bio-bwa.sourceforge.net/

            version toolchain 0.7.12 foss/2016b 0.7.13 foss/2016a, intel/2016a 0.7.15 GCCcore/5.4.0, GCCcore/6.4.0, foss/2016a, foss/2016b, intel/2016b, intel/2017a 0.7.16a foss/2016b, intel/2017a 0.7.17 GCC/10.2.0, GCC/10.3.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, foss/2017b, foss/2018a, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, iccifort/2020.4.304, intel/2017b, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#bwa-meth","title":"bwa-meth","text":"

            Fast and accurante alignment of BS-Seq reads.

            homepage: https://github.com/brentp/bwa-meth

            version toolchain 0.2.2 iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281 0.2.6 GCC/11.3.0"},{"location":"version-specific/supported-software/#bwakit","title":"bwakit","text":"

            Bwakit is a self-consistent installation-free package of scripts and precompiled binaries, providing an end-to-end solution to read mapping.

            homepage: https://github.com/lh3/bwa/tree/master/bwakit

            version versionsuffix toolchain 0.7.15 _x64-linux system"},{"location":"version-specific/supported-software/#bwidget","title":"bwidget","text":"

            The BWidget Toolkit is a high-level Widget Set for Tcl/Tk built using native Tcl/Tk 8.x namespaces.

            homepage: https://core.tcl-lang.org/bwidget/home

            version toolchain 1.9.13 GCCcore/8.2.0 1.9.14 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.9.15 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#bwise","title":"BWISE","text":"

            de Bruijn Workflow using Integral information of Short pair End reads

            homepage: https://github.com/Malfoy/BWISE

            version versionsuffix toolchain 20180820 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#bx-python","title":"bx-python","text":"

            The bx-python project is a Python library and associated set of scripts to allow for rapid implementation of genome scale analyses.

            homepage: https://github.com/bxlab/bx-python

            version versionsuffix toolchain 0.7.4 -Python-2.7.12 foss/2016b 0.7.4 -Python-2.7.13 intel/2017a 0.8.1 -Python-2.7.14 intel/2018a 0.8.2 -Python-3.6.6 foss/2018b 0.8.4 foss/2019a 0.8.8 -Python-3.7.4 foss/2019b 0.8.9 -Python-3.8.2 foss/2020a 0.8.11 foss/2021a 0.8.13 foss/2021b 0.9.0 foss/2022a"},{"location":"version-specific/supported-software/#bxh_xcede_tools","title":"BXH_XCEDE_TOOLS","text":"

            A collection of data processing and image analysis tools for data in BXH or XCEDE format. This includes data format encapsulation/conversion, event-related analysis, QA tools, and more. These tools form the basis of the fBIRN QA procedures and are also distributed as part of the fBIRN Data Upload Scripts.

            homepage: http://www.nitrc.org/projects/bxh_xcede_tools/

            version toolchain 1.11.1 system"},{"location":"version-specific/supported-software/#byacc","title":"byacc","text":"

            Berkeley Yacc (byacc) is generally conceded to be the best yacc variant available. In contrast to bison, it is written to avoid dependencies upon a particular compiler.

            homepage: http://invisible-island.net/byacc/byacc.html

            version toolchain 20160324 intel/2016a 20160606 foss/2016b, intel/2016b 20170709 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#byobu","title":"byobu","text":"

            Byobu is an elegant enhancement of the otherwise functional, plain, practical GNU Screen. Byobu includes an enhanced profile, configuration utilities, and system status notifications for the GNU screen window manager as well as the Tmux terminal multiplexer

            homepage: https://byobu.org

            version toolchain 5.133 GCC/8.3.0"},{"location":"version-specific/supported-software/#bzip2","title":"bzip2","text":"

            bzip2 is a freely available, patent free, high-quality data compressor. It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.

            homepage: https://sourceware.org/bzip2

            version toolchain 1.0.6 GCC/4.8.1, GCC/4.8.2, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 1.0.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/8.3.0, GCCcore/9.3.0, system"},{"location":"version-specific/supported-software/#c","title":"C","text":"

            c-ares - C3D - cadaver - CaDiCaL - CAFE5 - Caffe - cairo - cairomm - Calcam - CalculiX-CrunchiX - Calendrical - Calib - CAMPARI - Cantera - canu - Canvas - CAP3 - CapnProto - captum - Cargo - Carma - carputils - Cartopy - CASA - casacore - Casanovo - CaSpER - CASPR - CASTEP - CastXML - CAT-BAT - Catch2 - category_encoders - CatLearn - CatMAP - causallift - causalml - CaVEMan - CAVIAR - Cbc - CBLAS - ccache - CCfits - CCL - cclib - cctbx-base - cctools - CD-HIT - CDAT - cdbfasta - CDBtools - cddlib - CDFlib - cDNA_Cupcake - CDO - cdo-bindings - cdsapi - cell2location - CellChat - CellMix - CellOracle - Cellpose - CellRanger - CellRanger-ARC - CellRanger-ATAC - CellRank - CellTypist - Centrifuge - Cereal - CESM-deps - CFDEMcoupling - CFITSIO - cftime - CGAL - cget - Cgl - CGmapTools - CGNS - CharLS - CHASE - Check - CheckM - CheckM-Database - Cheetah - Chemaxon-Marvin - chemprop - CheMPS2 - CHERAB - chewBBACA - chi2comb - Chimera - ChimPipe - Chromaprint - cicero - CIF2Cell - cimfomfa - CIRCexplorer - CIRCexplorer2 - Circos - Circuitscape - CIRI - CIRI-long - cisTEM - CITE-seq-Count - Clang - Clang-AOMP - Clang-Python-bindings - CLAPACK - CLEASE - CLHEP - CliMetLab - CLIP - CLISP - ClonalFrameML - CLooG - CloudCompare - Clp - Clustal-Omega - ClustalW2 - Cluster-Buster - ClusterShell - CMake - CMAverse - CmdStanR - cmocean - CMSeq - CNT-ILP - CNVkit - CNVnator - Co-phylog - COBRApy - CoCoALib - CodAn - code-server - CODEX2 - CodingQuarry - Cogent - Coin - CoinUtils - ColabFold - colossalai - Commet - CompareM - Compress-Raw-Zlib - COMSOL - Con3F - conan - CONCOCT - configparser - configurable-http-proxy - CONN - ConnectomeWorkbench - Control-FREEC - cooler - CoordgenLibs - Coot - CopyKAT - core-counter - Coreutils - corner - CoSymLib - coverage - cowsay - CP2K - CPB - CPC2 - CPLEX - CPPE - CppHeaderParser - CppUnit - cppy - cppzmq - cpu_features - cram - cramtools - CrayCCE - CrayGNU - CrayIntel - CrayPGI - crb-blast - CREST - CRF++ - CRISPR-DAV - CRISPResso2 - cromwell - crossguid - CrossMap - CrossTalkZ - CRPropa - Crumble - cryoCARE - cryoDRGN - CryptoMiniSat - CrystFEL - CSB - CSBDeep - CSBLAST - cscope - csvkit - ctags - ctffind - CTPL - Cube - CubeGUI - CubeLib - CubeWriter - CuCLARK - CUDA - CUDA-Samples - CUDAcompat - CUDAcore - cuDNN - Cufflinks - CUnit - CuPy - cURL - cuSPARSELt - custodian - cutadapt - cuTENSOR - cuteSV - CVS - CVXOPT - CVXPY - CWIPI - cwltool - cxxopts - cysignals - Cython - cython-blis - cytoolz - Cytoscape - cytosim - cyvcf2

            "},{"location":"version-specific/supported-software/#c-ares","title":"c-ares","text":"

            c-ares is a C library for asynchronous DNS requests (including name resolves)

            homepage: https://c-ares.org/

            version toolchain 1.17.2 GCCcore/10.2.0, GCCcore/10.3.0 1.18.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#c3d","title":"C3D","text":"

            Convert3D Medical Image Processing Tool

            homepage: https://sourceforge.net/projects/c3d/

            version toolchain 1.0.0 system"},{"location":"version-specific/supported-software/#cadaver","title":"cadaver","text":"

            cadaver is a command-line WebDAV client for Unix.

            homepage: http://www.webdav.org/cadaver/

            version toolchain 0.23.3 intel/2017a"},{"location":"version-specific/supported-software/#cadical","title":"CaDiCaL","text":"

            CaDiCaL is a simplified satisfiability solver. The original goal of the development of CaDiCaL was to obtain a CDCL solver, which is easy to understand and change, while at the same time not being much slower than other state-of-the-art CDCL solvers.

            homepage: https://github.com/arminbiere/cadical

            version toolchain 1.3.0 GCC/9.3.0"},{"location":"version-specific/supported-software/#cafe5","title":"CAFE5","text":"

            Software for Computational Analysis of gene Family Evolution The purpose of CAFE is to analyze changes in gene family size in a way that accounts for phylogenetic history and provides a statistical foundation for evolutionary inferences. The program uses a birth and death process to model gene gain and loss across a user-specified phylogenetic tree. The distribution of family sizes generated under this model can provide a basis for assessing the significance of the observed family size differences among taxa.

            homepage: https://github.com/hahnlab/CAFE5

            version toolchain 5.0.0 GCC/10.2.0"},{"location":"version-specific/supported-software/#caffe","title":"Caffe","text":"

            Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by the Berkeley Vision and Learning Center (BVLC) and community contributors.

            homepage: https://github.com/BVLC/caffe

            version versionsuffix toolchain 1.0 -CUDA-9.1.85-Python-2.7.14 intel/2017b 1.0 -Python-2.7.13 intel/2017a 1.0 -Python-2.7.14 intel/2017b rc3 -CUDA-7.5.18-Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#cairo","title":"cairo","text":"

            Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB

            homepage: https://cairographics.org

            version versionsuffix toolchain 1.14.6 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.14.6 -GLib-2.48.0 foss/2016a, intel/2016a 1.14.8 intel/2017a 1.14.10 GCCcore/6.3.0, GCCcore/6.4.0, intel/2017b 1.14.12 GCCcore/6.4.0, GCCcore/7.3.0 1.16.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.17.4 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cairomm","title":"cairomm","text":"

            The Cairomm package provides a C++ interface to Cairo.

            homepage: http://cairographics.org

            version toolchain 1.12.2 GCCcore/6.4.0, GCCcore/7.3.0"},{"location":"version-specific/supported-software/#calcam","title":"Calcam","text":"

            Calcam is a Python package providing tools for spatial calibration of cameras, i.e. determining the mapping between pixel coordinates in an image and real-world 3D sight lines & coordinates.

            homepage: https://euratom-software.github.io/calcam

            version versionsuffix toolchain 2.1.0 -Python-2.7.14 intel/2018a 2.1.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#calculix-crunchix","title":"CalculiX-CrunchiX","text":"

            A Free Software Three-Dimensional Structural Finite Element Program

            homepage: http://www.calculix.de

            version toolchain 2.20 foss/2021a"},{"location":"version-specific/supported-software/#calendrical","title":"Calendrical","text":"

            Calendrical module is for calendrical calculations.

            homepage: https://www.funaba.org/code#calendrical

            version versionsuffix toolchain 2.0.1 -Python-3.6.3 intel/2017b 2.0.2a -Python-3.6.4 intel/2018a 2.0.2a -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#calib","title":"Calib","text":"

            Calib clusters paired-end reads using their barcodes and sequences. Calib is suitable for amplicon sequencing where a molecule is tagged, then PCR amplified with high depth, also known as Unique Molecule Identifier (UMI) sequencing.

            homepage: https://github.com/vpc-ccg/calib

            version toolchain 0.3.4 GCC/9.3.0"},{"location":"version-specific/supported-software/#campari","title":"CAMPARI","text":"

            CAMPARI is a joint package for performing and analyzing molecular simulations, in particular of systems of biological relevance. It focuses on a wide availability of algorithms for (advanced) sampling and is capable of combining Monte Carlo and molecular dynamics in seamless fashion.

            homepage: http://campari.sourceforge.net/V4/index.html

            version toolchain 4.0 intel/2020b"},{"location":"version-specific/supported-software/#cantera","title":"Cantera","text":"

            Chemical kinetics, thermodynamics, and transport tool suite

            homepage: https://github.com/Cantera/cantera

            version versionsuffix toolchain 2.2.1 -Python-2.7.12 intel/2016b 2.3.0 -Python-2.7.12 foss/2016b, intel/2016b 2.3.0 -Python-2.7.13 intel/2017a 2.3.0 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 2.4.0 -Python-2.7.14 intel/2018a 2.6.0 foss/2022a"},{"location":"version-specific/supported-software/#canu","title":"canu","text":"

            Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing

            homepage: https://canu.readthedocs.io

            version versionsuffix toolchain 1.4 foss/2016b 1.7 intel/2018a 1.8 -Perl-5.26.0 foss/2017b, intel/2017b 1.8 -Perl-5.28.0 foss/2018b 1.8 -Perl-5.28.1 GCCcore/8.2.0 1.9 -Java-11 GCCcore/8.3.0 2.1.1 GCCcore/10.2.0 2.1.1 -Java-11 GCCcore/9.3.0 2.2 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 2.2 -Java-11 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#canvas","title":"Canvas","text":"

            Copy number variant (CNV) calling from DNA sequencing data

            homepage: https://github.com/Illumina/canvas

            version toolchain 1.39.0.1598 system"},{"location":"version-specific/supported-software/#cap3","title":"CAP3","text":"

            CAP3 assembly program

            homepage: http://seq.cs.iastate.edu/

            version toolchain 20071221-intel-x86 system 20071221-intel-x86_64 system 20071221-opteron system"},{"location":"version-specific/supported-software/#capnproto","title":"CapnProto","text":"

            Cap\u2019n Proto is an insanely fast data interchange format and capability-based RPC system.

            homepage: https://capnproto.org

            version toolchain 0.6.1 GCCcore/6.4.0 0.7.0 GCCcore/7.3.0 0.8.0 GCCcore/9.3.0 0.9.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 0.10.2 GCCcore/11.3.0 0.10.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#captum","title":"captum","text":"

            Captum is a model interpretability and understanding library for PyTorch. Captum means comprehension in Latin and contains general purpose implementations of integrated gradients, saliency maps, smoothgrad, vargrad and others for PyTorch models. It has quick integration for models built with domain-specific libraries such as torchvision, torchtext, and others.

            homepage: https://captum.ai/

            version versionsuffix toolchain 0.5.0 foss/2022a 0.5.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#cargo","title":"Cargo","text":"

            The Rust package manager

            homepage: https://crates.io/

            version toolchain 0.13.0 foss/2016b"},{"location":"version-specific/supported-software/#carma","title":"Carma","text":"

            Carma - A molecular dynamics analysis program

            homepage: http://utopia.duth.gr/~glykos/Carma.html

            version toolchain 2.01 foss/2019b"},{"location":"version-specific/supported-software/#carputils","title":"carputils","text":"

            carputils is a Python framework for generating and running openCARP examples.

            homepage: https://git.opencarp.org/openCARP/carputils

            version versionsuffix toolchain 20200915 -Python-3.8.2 foss/2020a 20210513 foss/2020b"},{"location":"version-specific/supported-software/#cartopy","title":"Cartopy","text":"

            Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy.

            homepage: https://scitools.org.uk/cartopy/docs/latest/

            version versionsuffix toolchain 0.18.0 -Python-3.7.4 foss/2019b 0.18.0 -Python-3.8.2 foss/2020a 0.19.0.post1 foss/2020b, intel/2020b 0.20.0 foss/2021a 0.20.3 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#casa","title":"CASA","text":"

            CASA, the Common Astronomy Software Applications package, is the primary data processing software for the Atacama Large Millimeter/submillimeter Array (ALMA) and NSF's Karl G. Jansky Very Large Array (VLA), and is frequently used also for other radio telescopes. The CASA software can process data from both single-dish and aperture-synthesis telescopes, and one of its core functionalities is to support the data reduction and imaging pipelines for ALMA, VLA and the VLA Sky Survey (VLASS).

            homepage: https://casa.nrao.edu/

            version versionsuffix toolchain 6.5.5-21 -py3.8 system"},{"location":"version-specific/supported-software/#casacore","title":"casacore","text":"

            A suite of C++ libraries for radio astronomy data processing. The ephemerides data needs to be in DATA_DIR and the location must be specified at runtime. Thus user's can update them.

            homepage: https://github.com/casacore/casacore

            version toolchain 3.4.0 foss/2021b"},{"location":"version-specific/supported-software/#casanovo","title":"Casanovo","text":"

            De Novo Mass Spectrometry Peptide Sequencing with a Transformer Model

            homepage: https://casanovo.readthedocs.io

            version versionsuffix toolchain 3.3.0 foss/2022a 3.3.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#casper","title":"CaSpER","text":"

            CaSpER is a signal processing approach for identification, visualization, and integrative analysis of focal and large-scale CNV events in multiscale resolution using either bulk or single-cell RNA sequencing data.

            homepage: https://github.com/akdess/CaSpER

            version toolchain 2.0 foss/2019b"},{"location":"version-specific/supported-software/#caspr","title":"CASPR","text":"

            Running CASPR is extremely easy and convenient to analyze CRIPR-Cas9 screens using pgRNAs.

            homepage: https://judithbergada.github.io/CASPR

            version toolchain 20200730 foss/2022a"},{"location":"version-specific/supported-software/#castep","title":"CASTEP","text":"

            CASTEP is an electronic structure materials modelling code based on density functional theory (DFT), with functionality including geometry optimization molecular dynamics, phonons, NMR chemical shifts and much more.

            homepage: http://www.castep.org

            version toolchain 21.1.1 CrayCCE/19.06, CrayGNU/19.06, foss/2019b, intel/2019b, iomkl/2019b 22.11 foss/2022a"},{"location":"version-specific/supported-software/#castxml","title":"CastXML","text":"

            CastXML is a C-family abstract syntax tree XML output tool.

            homepage: https://github.com/CastXML/CastXML

            version toolchain 0.4.3 GCCcore/8.3.0 20160617 foss/2016a 20180806 foss/2018a"},{"location":"version-specific/supported-software/#cat-bat","title":"CAT-BAT","text":"

            Tool for taxonomic classification of contigs and metagenome-assembled genomes (MAGs).

            homepage: https://github.com/dutilh/CAT

            version toolchain 5.2.3 GCC/10.3.0"},{"location":"version-specific/supported-software/#catch2","title":"Catch2","text":"

            A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later (or C++03 on the Catch1.x branch)

            homepage: https://github.com/catchorg/Catch2

            version toolchain 2.9.1 system 2.11.0 system 2.13.4 system"},{"location":"version-specific/supported-software/#category_encoders","title":"category_encoders","text":"

            A set of scikit-learn-style transformers for encoding categorical variables into numeric by means of different techniques.

            homepage: https://github.com/scikit-learn-contrib/category_encoders

            version toolchain 2.4.1 foss/2021b"},{"location":"version-specific/supported-software/#catlearn","title":"CatLearn","text":"

            An environment for atomistic machine learning in Python for applications in catalysis

            homepage: https://catlearn.readthedocs.io

            version toolchain 0.6.2 intel/2022a"},{"location":"version-specific/supported-software/#catmap","title":"CatMAP","text":"

            Catalyst Micro-kinetic Analysis Package for automated creation of micro-kinetic models used in catalyst screening.

            homepage: https://catmap.readthedocs.io

            version versionsuffix toolchain 20170927 -Python-2.7.14 intel/2017b 20220519 foss/2022a"},{"location":"version-specific/supported-software/#causallift","title":"causallift","text":"

            CausalLift: Python package for Uplift Modeling in real-world business; applicable for both A/B testing and observational data

            homepage: https://github.com/Minyus/causallift

            version versionsuffix toolchain 1.0.6 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#causalml","title":"causalml","text":"

            Causal ML: A Python Package for Uplift Modeling and Causal Inference with ML

            homepage: https://github.com/uber/causalml

            version versionsuffix toolchain 0.3.0-20180610 -Python-3.7.2 foss/2019a 0.8.0-20200909 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#caveman","title":"CaVEMan","text":"

            SNV expectation maximisation based mutation calling algorithm aimed at detecting somatic mutations in paired (tumour/normal) cancer samples. Supports both bam and cram format via htslib

            homepage: http://cancerit.github.io/CaVEMan/

            version toolchain 1.13.2 foss/2018a"},{"location":"version-specific/supported-software/#caviar","title":"CAVIAR","text":"

            CAusal Variants Identication in Associated Regions. A statistical framework that quantifies the probability of each variant to be causal while allowing an arbitrary number of causal variants.

            homepage: https://github.com/fhormoz/caviar

            version toolchain 2.2-20190419 foss/2019b"},{"location":"version-specific/supported-software/#cbc","title":"Cbc","text":"

            Cbc (Coin-or branch and cut) is an open-source mixed integer linear programming solver written in C++. It can be used as a callable library or using a stand-alone executable.

            homepage: https://github.com/coin-or/Cbc

            version toolchain 2.10.3 foss/2018b 2.10.5 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#cblas","title":"CBLAS","text":"

            C interface to the BLAS

            homepage: https://www.netlib.org/blas/

            version toolchain 20110120 foss/2016b, intel/2019b, intel/2020a"},{"location":"version-specific/supported-software/#ccache","title":"ccache","text":"

            Ccache (or \u201cccache\u201d) is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again

            homepage: https://ccache.dev/

            version versionsuffix toolchain 3.2.5 system 3.3.1 system 3.3.3 system 3.3.4 -f90 system 3.7.11 system 4.2.1 system 4.6.1 GCCcore/11.2.0 4.6.3 GCCcore/11.3.0, system"},{"location":"version-specific/supported-software/#ccfits","title":"CCfits","text":"

            CCfits is an object oriented interface to the cfitsio library. It is designed to make the capabilities of cfitsio available to programmers working in C++.

            homepage: https://heasarc.gsfc.nasa.gov/fitsio/CCfits/

            version toolchain 2.5 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#ccl","title":"CCL","text":"

            Clozure CL (often called CCL for short) is a free Common Lisp implementation with a long history. Some distinguishing features of the implementation include fast compilation speed, native threads, a precise, generational, compacting garbage collector, and a convenient foreign-function interface.

            homepage: https://ccl.clozure.com/

            version toolchain 1.11.5 system 1.12 GCCcore/9.3.0 1.12.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#cclib","title":"cclib","text":"

            cclib is a Python library that provides parsers for computational chemistry log files. It also provides a platform to implement algorithms in a package-independent manner.

            homepage: https://cclib.github.io/

            version versionsuffix toolchain 1.5 -Python-3.5.2 foss/2016b 1.6.3 -Python-3.8.2 foss/2020a, intel/2020a 1.7.2 foss/2021b"},{"location":"version-specific/supported-software/#cctbx-base","title":"cctbx-base","text":"

            The Computational Crystallography Toolbox (cctbx) is being developed as the open source component of the Phenix project. The goal of the Phenix project is to advance automation of macromolecular structure determination. Phenix depends on the cctbx, but not vice versa. This hierarchical approach enforces a clean design as a reusable library. The cctbx is therefore also useful for small-molecule crystallography and even general scientific applications.

            homepage: https://github.com/cctbx/cctbx_project

            version toolchain 2020.8 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#cctools","title":"cctools","text":"

            The Cooperating Computing Tools (CCTools) help you to design and deploy scalable applications that run on hundreds or thousands of machines at once.

            homepage: https://ccl.cse.nd.edu/

            version toolchain 7.0.22 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#cd-hit","title":"CD-HIT","text":"

            CD-HIT is a very widely used program for clustering and comparing protein or nucleotide sequences.

            homepage: https://github.com/weizhongli/cdhit

            version versionsuffix toolchain 4.6.4 -2015-0603 GNU/4.9.3-2.25 4.6.6 foss/2016b 4.6.8 foss/2018b, intel/2017a, intel/2018a 4.8.1 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCC/8.3.0, GCC/9.3.0, foss/2018b, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#cdat","title":"CDAT","text":"

            CDAT is a powerful and complete front-end to a rich set of visual-data exploration and analysis capabilities well suited for data analysis problems.

            homepage: https://github.com/CDAT/cdat

            version versionsuffix toolchain 8.2.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#cdbfasta","title":"cdbfasta","text":"

            Fasta file indexing and retrival tool

            homepage: https://sourceforge.net/projects/cdbfasta

            version toolchain 0.99 GCC/8.3.0, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#cdbtools","title":"CDBtools","text":"

            CDB (Constant DataBase) indexing and retrieval tools for FASTA files

            homepage: http://compbio.dfci.harvard.edu/tgi

            version toolchain 0.99 GCC/10.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#cddlib","title":"cddlib","text":"

            An efficient implementation of the Double Description Method

            homepage: https://github.com/cddlib/cddlib

            version toolchain 0.94i GCCcore/8.2.0 0.94j GCCcore/8.3.0"},{"location":"version-specific/supported-software/#cdflib","title":"CDFlib","text":"

            cdflib is a python module to read/write CDF (Common Data Format .cdf) files without needing to install the CDF NASA library.

            homepage: https://github.com/MAVENSDC/cdflib

            version toolchain 0.4.9 foss/2022a"},{"location":"version-specific/supported-software/#cdna_cupcake","title":"cDNA_Cupcake","text":"

            cDNA_Cupcake is a miscellaneous collection of Python and R scripts used for analyzing sequencing data.

            homepage: https://github.com/Magdoll/cDNA_Cupcake

            version versionsuffix toolchain 5.8 -Python-2.7.14 intel/2018a 24.2.0 -Python-3.8.2 foss/2020a 26.0.0 foss/2021a"},{"location":"version-specific/supported-software/#cdo","title":"CDO","text":"

            CDO is a collection of command line Operators to manipulate and analyse Climate and NWP model Data.

            homepage: https://code.zmaw.de/projects/cdo

            version toolchain 1.7.2 intel/2016b 1.8.1 intel/2017a 1.9.1 intel/2017b 1.9.2 intel/2017b 1.9.5 intel/2018a, intel/2018b, iomkl/2018b 1.9.8 intel/2019b 1.9.10 gompi/2019b, gompi/2020b, gompi/2021a, iimpi/2021b 2.0.5 gompi/2021b 2.0.6 gompi/2022a 2.1.1 gompi/2021a"},{"location":"version-specific/supported-software/#cdo-bindings","title":"cdo-bindings","text":"

            Python interface to CDO.

            homepage: https://github.com/Try2Code/cdo-bindings

            version toolchain 1.5.7 foss/2021b"},{"location":"version-specific/supported-software/#cdsapi","title":"cdsapi","text":"

            Climate Data Store API

            homepage: https://pypi.org/project/cdsapi

            version versionsuffix toolchain 0.1.4 foss/2019a 0.1.4 -Python-3.6.6 foss/2018b 0.3.0 GCCcore/9.3.0 0.5.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cell2location","title":"cell2location","text":"

            Comprehensive mapping of tissue cell architecture via integrated single cell and spatial transcriptomics (cell2location model)

            homepage: https://github.com/BayraktarLab/cell2location/

            version toolchain 0.05-alpha fosscuda/2020b"},{"location":"version-specific/supported-software/#cellchat","title":"CellChat","text":"

            \" R toolkit for inference, visualization and analysis of cell-cell communication from single-cell data

            homepage: https://github.com/sqjin/CellChat

            version toolchain 1.5.0 foss/2022a"},{"location":"version-specific/supported-software/#cellmix","title":"CellMix","text":"

            A Comprehensive Toolbox for Gene Expression Deconvolution

            homepage: http://web.cbio.uct.ac.za/~renaud/CRAN/web/CellMix

            version versionsuffix toolchain 1.6.2 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#celloracle","title":"CellOracle","text":"

            CellOracle is a Python library for in silico gene perturbation analyses using single-cell omics data and Gene Regulatory Network models.

            homepage: https://github.com/morris-lab/CellOracle

            version toolchain 0.12.0 foss/2022a"},{"location":"version-specific/supported-software/#cellpose","title":"Cellpose","text":"

            a generalist algorithm for cellular segmentation

            homepage: https://www.cellpose.org

            version versionsuffix toolchain 0.6.5 foss/2020b, fosscuda/2020b 2.2.2 foss/2022a 2.2.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#cellranger","title":"CellRanger","text":"

            Cell Ranger is a set of analysis pipelines that process Chromium single-cell RNA-seq output to align reads, generate gene-cell matrices and perform clustering and gene expression analysis.

            homepage: https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger

            version toolchain 3.0.0 system 3.0.2 system 3.1.0 system 4.0.0 system 5.0.0 system 5.0.1 system 6.0.0 system 6.0.1 system 6.0.2 system 6.1.2 system 7.0.0 system 7.1.0 system"},{"location":"version-specific/supported-software/#cellranger-arc","title":"CellRanger-ARC","text":"

            Cell Ranger ARC is a set of analysis pipelines that process Chromium Single Cell Multiome ATAC + Gene Expression sequencing data to generate a variety of analyses pertaining to gene expression, chromatin accessibility and their linkage. Furthermore, since the ATAC and gene expression measurements are on the very same cell, we are able to perform analyses that link chromatin accessibility and gene expression.

            homepage: https://support.10xgenomics.com/single-cell-multiome-atac-gex/software/pipelines/latest/what-is-cell-ranger-arc

            version toolchain 1.0.1 system 2.0.0 system 2.0.1 system"},{"location":"version-specific/supported-software/#cellranger-atac","title":"CellRanger-ATAC","text":"

            Cell Ranger ATAC is a set of analysis pipelines that process Chromium Single Cell ATAC data.

            homepage: https://support.10xgenomics.com/single-cell-atac/software/pipelines/latest/what-is-cell-ranger-atac

            version toolchain 1.2.0 system 2.0.0 system 2.1.0 system"},{"location":"version-specific/supported-software/#cellrank","title":"CellRank","text":"

            CellRank is a toolkit to uncover cellular dynamics based on Markov state modeling of single-cell data. It contains two main modules: kernels compute cell-cell transition probabilities and estimators generate hypothesis based on these.

            homepage: https://cellrank.readthedocs.io/en/stable/

            version toolchain 1.4.0 foss/2021a"},{"location":"version-specific/supported-software/#celltypist","title":"CellTypist","text":"

            A tool for semi-automatic cell type annotation

            homepage: https://www.celltypist.org/

            version toolchain 1.0.0 foss/2021b"},{"location":"version-specific/supported-software/#centrifuge","title":"Centrifuge","text":"

            Classifier for metagenomic sequences

            homepage: https://ccb.jhu.edu/software/centrifuge

            version toolchain 1.0.3 foss/2018b 1.0.4 gompi/2020b, gompi/2021a 1.0.4-beta foss/2018b, gompi/2020a"},{"location":"version-specific/supported-software/#cereal","title":"Cereal","text":"

            cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or used standalone.

            homepage: https://uscilab.github.io/cereal/

            version toolchain 1.3.0 system 1.3.2 system"},{"location":"version-specific/supported-software/#cesm-deps","title":"CESM-deps","text":"

            CESM is a fully-coupled, community, global climate model that provides state-of-the-art computer simulations of the Earth's past, present, and future climate states.

            homepage: https://www.cesm.ucar.edu/models/cesm2/

            version toolchain 2 foss/2018b, foss/2021b, intel/2018b, iomkl/2018b"},{"location":"version-specific/supported-software/#cfdemcoupling","title":"CFDEMcoupling","text":"

            CFDEMcoupling is an open source CFD-DEM engine. It provides the possibility to couple the DEM engine LIGGGHTS to a CFD framework.

            homepage: https://www.cfdem.com/cfdemrcoupling-open-source-cfd-dem-framework

            version toolchain 3.8.0 foss/2018a"},{"location":"version-specific/supported-software/#cfitsio","title":"CFITSIO","text":"

            CFITSIO is a library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data format.

            homepage: https://heasarc.gsfc.nasa.gov/fitsio/

            version toolchain 3.38 foss/2016a, intel/2016a 3.41 GCCcore/5.4.0, GCCcore/6.3.0, intel/2016b 3.42 GCCcore/6.4.0, intel/2017b 3.45 GCCcore/7.3.0, intel/2018b 3.47 GCCcore/8.2.0, GCCcore/8.3.0 3.48 GCCcore/9.3.0 3.49 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 4.2.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cftime","title":"cftime","text":"

            Time-handling functionality from netcdf4-python

            homepage: https://github.com/Unidata/cftime

            version versionsuffix toolchain 1.0.0 -Python-3.6.4 intel/2018a 1.0.0b1 -Python-3.6.2 foss/2017b 1.0.1 -Python-2.7.15 intel/2018b 1.0.1 -Python-3.6.6 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#cgal","title":"CGAL","text":"

            The goal of the CGAL Open Source Project is to provide easy access to efficient and reliable geometric algorithms in the form of a C++ library.

            homepage: https://www.cgal.org/

            version versionsuffix toolchain 4.8 -Python-2.7.11 foss/2016a, intel/2016a 4.8.1 foss/2016b, intel/2016b 4.8.1 -Python-2.7.12 foss/2016b, intel/2016b 4.9 -Python-2.7.12 intel/2016b 4.9 -Python-2.7.13 intel/2017a 4.11 -Python-2.7.13 intel/2017a 4.11 -Python-2.7.14 foss/2017b, intel/2017b 4.11 -Python-3.6.3 foss/2017b, intel/2017b 4.11.1 -Python-2.7.14 foss/2018a, intel/2018a 4.11.1 -Python-2.7.15 foss/2018b 4.11.1 -Python-3.6.4 foss/2018a 4.11.1 -Python-3.6.6 foss/2018b 4.14 -Python-3.7.2 foss/2019a, intel/2019a 4.14.1 -Python-3.7.4 foss/2019b, intel/2019b 4.14.3 gompi/2021a, gompi/2021b, gompi/2022a, iimpi/2021a 4.14.3 -Python-3.8.2 gompi/2020a, iimpi/2020a 5.2 gompi/2020b"},{"location":"version-specific/supported-software/#cget","title":"cget","text":"

            Cmake package retrieval. This can be used to download and install cmake packages

            homepage: https://cget.readthedocs.io/en/latest/index.html

            version versionsuffix toolchain 0.1.6 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#cgl","title":"Cgl","text":"

            The COIN-OR Cut Generation Library (Cgl) is a collection of cut generators that can be used with other COIN-OR packages that make use of cuts, such as, among others, the linear solver Clp or the mixed integer linear programming solvers Cbc or BCP. Cgl uses the abstract class OsiSolverInterface (see Osi) to use or communicate with a solver. It does not directly call a solver.

            homepage: https://github.com/coin-or/Cgl

            version toolchain 0.60.2 foss/2018b 0.60.3 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#cgmaptools","title":"CGmapTools","text":"

            Command-line Toolset for Bisulfite Sequencing Data Analysis

            homepage: https://cgmaptools.github.io/

            version toolchain 0.1.2 intel/2019b"},{"location":"version-specific/supported-software/#cgns","title":"CGNS","text":"

            The CGNS system is designed to facilitate the exchange of data between sites and applications, and to help stabilize the archiving of aerodynamic data.

            homepage: https://cgns.github.io/

            version toolchain 3.3.1 foss/2016b 4.1.0 intelcuda/2019b"},{"location":"version-specific/supported-software/#charls","title":"CharLS","text":"

            CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 compression ratios.

            homepage: https://github.com/team-charls/charls

            version toolchain 2.0.0 GCCcore/6.4.0, GCCcore/7.3.0 2.1.0 GCCcore/8.2.0, GCCcore/8.3.0 2.2.0 GCCcore/10.2.0 2.3.4 GCCcore/10.3.0 2.4.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#chase","title":"CHASE","text":"

            Case-control HAplotype Sharing analyses. Haplotype sharing analyses for genome-wide association studies.

            homepage: http://people.duke.edu/~asallen/Software.html

            version toolchain 20130626 system"},{"location":"version-specific/supported-software/#check","title":"Check","text":"

            Check is a unit testing framework for C. It features a simple interface for defining unit tests, putting little in the way of the developer. Tests are run in a separate address space, so both assertion failures and code errors that cause segmentation faults or other signals can be caught. Test results are reportable in the following: Subunit, TAP, XML, and a generic logging format.

            homepage: https://libcheck.github.io/check/

            version toolchain 0.12.0 GCCcore/6.4.0 0.15.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#checkm","title":"CheckM","text":"

            CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, single cells, or metagenomes.

            homepage: https://github.com/Ecogenomics/CheckM

            version versionsuffix toolchain 1.0.13 -Python-2.7.14 foss/2017b, intel/2017b 1.0.13 -Python-2.7.15 foss/2018b 1.0.13 -Python-3.6.3 foss/2017b, intel/2017b 1.0.18 -Python-2.7.15 foss/2019a 1.0.18 -Python-2.7.18 foss/2020b 1.1.2 -Python-3.7.4 foss/2019b, intel/2019b 1.1.3 foss/2021a, foss/2021b 1.1.3 -Python-3.8.2 intel/2020a 1.2.2 foss/2022a"},{"location":"version-specific/supported-software/#checkm-database","title":"CheckM-Database","text":"

            CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, single cells, or metagenomes. This is the corresponding database.

            homepage: https://github.com/Ecogenomics/CheckM

            version toolchain 2015_01_16 system"},{"location":"version-specific/supported-software/#cheetah","title":"Cheetah","text":"

            Cheetah is an open source template engine and code generation tool.

            homepage: https://cheetahtemplate.org

            version versionsuffix toolchain 2.4.4 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#chemaxon-marvin","title":"Chemaxon-Marvin","text":"

            Marvin suite is a chemically intelligent desktop toolkit built to help you draw, edit, publish, render, import and export your chemical structures and as well as allowing you to convert between various chemical and graphical file formats. It is free for individual, academic and non-commercial use.

            homepage: https://chemaxon.com/products/marvin

            version toolchain 21.14 system"},{"location":"version-specific/supported-software/#chemprop","title":"chemprop","text":"

            Message Passing Neural Networks for Molecule Property Prediction

            homepage: https://github.com/chemprop/chemprop

            version versionsuffix toolchain 1.5.2 foss/2022a 1.5.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#chemps2","title":"CheMPS2","text":"

            CheMPS2 is a scientific library which contains a spin-adapted implementation of the density matrix renormalization group (DMRG) for ab initio quantum chemistry.

            homepage: https://github.com/SebWouters/CheMPS2

            version toolchain 1.6 intel/2016a 1.7-rc2 intel/2016a 1.7.1 intel/2016a 1.7.2 intel/2016a 1.8 intel/2016b 1.8.8 intel/2018b 1.8.9 foss/2018b, foss/2019a, intel/2018b, intel/2019a, intel/2019b 1.8.11 foss/2021b 1.8.12 foss/2022a"},{"location":"version-specific/supported-software/#cherab","title":"CHERAB","text":"

            CHERAB is a python library for forward modelling diagnostics based on spectroscopic plasma emission.

            homepage: https://cherab.github.io/documentation/index.html

            version versionsuffix toolchain 1.2.0 -Python-3.6.6 intel/2018b 1.3.0 foss/2020b, intel/2020b 1.4.0 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#chewbbaca","title":"chewBBACA","text":"

            chewBBACA stands for \"BSR-Based Allele Calling Algorithm\". chewBBACA is a comprehensive pipeline including a set of functions for the creation and validation of whole genome and core genome MultiLocus Sequence Typing (wg/cgMLST) schemas, providing an allele calling algorithm based on Blast Score Ratio that can be run in multiprocessor settings and a set of functions to visualize and validate allele variation in the loci.

            homepage: https://github.com/B-UMMI/chewBBACA

            version versionsuffix toolchain 2.5.5 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#chi2comb","title":"chi2comb","text":"

            Cumulative density function of linear combinations of independent chi-square random variables and a standard Normal distribution. As of now, this is basically a repackaging of the davies function implemented in the CompQuadForm library for R.

            homepage: https://github.com/limix/chi2comb

            version toolchain 0.0.3 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#chimera","title":"Chimera","text":"

            UCSF Chimera is a highly extensible program for interactive visualization and analysis of molecular structures and related data, including density maps, supramolecular assemblies, sequence alignments, docking results, trajectories, and conformational ensembles.

            homepage: https://www.cgl.ucsf.edu/chimera/

            version versionsuffix toolchain 1.10 -linux_x86_64 system 1.16 -linux_x86_64 system"},{"location":"version-specific/supported-software/#chimpipe","title":"ChimPipe","text":"

            ChimPipe is a computational method for the detection of novel transcription-induced chimeric transcripts and fusion genes from Illumina Paired-End RNA-seq data. It combines junction spanning and paired-end read information to accurately detect chimeric splice junctions at base-pair resolution.

            homepage: https://chimpipe.readthedocs.org/

            version versionsuffix toolchain 0.9.5 foss/2018b 0.9.5 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#chromaprint","title":"Chromaprint","text":"

            Chromaprint is the core component of the AcoustID project. It's a client-side library that implements a custom algorithm for extracting fingerprints from any audio source.

            homepage: https://acoustid.org/chromaprint

            version toolchain 1.4.3 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#cicero","title":"cicero","text":"

            Cicero is an R package that provides tools for analyzing single-cell chromatin accessibility experiments.

            homepage: https://cole-trapnell-lab.github.io/cicero-release

            version versionsuffix toolchain 1.3.4.11 -R-4.0.3-Monocle3 foss/2020b"},{"location":"version-specific/supported-software/#cif2cell","title":"CIF2Cell","text":"

            CIF2Cell is a tool to generate the geometrical setup for various electronic structure codes from a CIF (Crystallographic Information Framework) file. The program currently supports output for a number of popular electronic structure programs, including ABINIT, ASE, CASTEP, CP2K, CPMD, CRYSTAL09, Elk, EMTO, Exciting, Fleur, FHI-aims, Hutsepot, MOPAC, Quantum Espresso, RSPt, Siesta, SPR-KKR, VASP. Also exports some related formats like .coo, .cfg and .xyz-files.

            homepage: https://sourceforge.net/projects/cif2cell

            version versionsuffix toolchain 1.2.10 -Python-2.7.16 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#cimfomfa","title":"cimfomfa","text":"

            This library supports both MCL, a cluster algorithm for graphs, and zoem, a macro/DSL language. It supplies abstractions for memory management, I/O, associative arrays, strings, heaps, and a few other things. The string library has had heavy testing as part of zoem. Both understandably and regrettably I chose long ago to make it C-string-compatible, hence nul bytes may not be part of a string. At some point I hope to rectify this, perhaps unrealistically.

            homepage: https://github.com/micans/cimfomfa

            version toolchain 22.273 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#circexplorer","title":"CIRCexplorer","text":"

            CIRCexplorer2 is a comprehensive and integrative circular RNA analysis toolset.

            homepage: https://circexplorer2.readthedocs.io/

            version versionsuffix toolchain 1.1.10 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#circexplorer2","title":"CIRCexplorer2","text":"

            CIRCexplorer2 is a comprehensive and integrative circular RNA analysis toolset.

            homepage: http://circexplorer2.readthedocs.io/

            version versionsuffix toolchain 2.3.2 -Python-2.7.14 intel/2017b 2.3.3 -Python-2.7.14 intel/2018a 2.3.8 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#circos","title":"Circos","text":"

            Circos is a software package for visualizing data and information. It visualizes data in a circular layout - this makes Circos ideal for exploring relationships between objects or positions.

            homepage: http://www.circos.ca/

            version versionsuffix toolchain 0.69-5 -Perl-5.24.0 foss/2016b 0.69-6 -Perl-5.26.1 GCCcore/6.4.0 0.69-6 -Perl-5.28.0 GCCcore/7.3.0 0.69-9 GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#circuitscape","title":"Circuitscape","text":"

            Algorithms from circuit theory to predict connectivity in heterogeneous landscapes

            homepage: https://github.com/Circuitscape/Circuitscape.jl

            version versionsuffix toolchain 5.12.3 -Julia-1.7.2 system"},{"location":"version-specific/supported-software/#ciri","title":"CIRI","text":"

            CircRNA Identifier. A de novo circular RNA identification tool

            homepage: https://sourceforge.net/projects/ciri/

            version versionsuffix toolchain 2.0.6 -Perl-5.26.0 intel/2017b"},{"location":"version-specific/supported-software/#ciri-long","title":"CIRI-long","text":"

            Circular RNA Identification for Long-Reads Nanopore Sequencing Data

            homepage: https://github.com/bioinfo-biols/CIRI-long/

            version toolchain 1.0.2 foss/2020b"},{"location":"version-specific/supported-software/#cistem","title":"cisTEM","text":"

            cisTEM is user-friendly software to process cryo-EM images of macromolecular complexes and obtain high-resolution 3D reconstructions from them.

            homepage: https://cistem.org/

            version toolchain 1.0.0-beta foss/2018a"},{"location":"version-specific/supported-software/#cite-seq-count","title":"CITE-seq-Count","text":"

            A python package that allows to count antibody TAGS from a CITE-seq and/or cell hashing experiment.

            homepage: https://github.com/Hoohm/CITE-seq-Count

            version versionsuffix toolchain 1.4.3 -Python-3.6.6 foss/2018b 1.4.3 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#clang","title":"Clang","text":"

            C, C++, Objective-C compiler, based on LLVM. Does not include C++ standard library -- use libstdc++ from GCC.

            homepage: https://clang.llvm.org/

            version versionsuffix toolchain 3.3 GCC/4.8.1 3.4 GCC/4.8.2 3.4.1 GCC/4.8.2 3.4.2 GCC/4.8.2 3.6.0 GCC/4.9.2 3.6.1 GCC/4.9.2 3.7.0 GNU/4.9.3-2.25 3.7.1 GCC/4.9.3-2.25, foss/2016a 3.8.0 GCC/4.9.3-2.25 3.8.1 GCC/5.4.0-2.26, foss/2016b 5.0.0 GCC/6.4.0-2.28 5.0.1 GCC/6.4.0-2.28 6.0.1 GCC/6.4.0-2.28, GCC/7.3.0-2.30 7.0.0 GCC/6.4.0-2.28 7.0.1 GCC/7.3.0-2.30 8.0.0 GCCcore/8.2.0 8.0.0 -CUDA-10.1.105 GCCcore/8.2.0 8.0.1 -CUDA-10.1.105 GCC/8.2.0-2.31.1 8.0.1 -CUDA-10.1.243 GCC/8.3.0 9.0.1 GCCcore/8.3.0, GCCcore/9.3.0 9.0.1 -CUDA-10.1.243 GCC/8.3.0 10.0.0 GCCcore/8.3.0, GCCcore/9.3.0 10.0.1 GCCcore/9.3.0 11.0.0 GCCcore/9.3.0 11.0.1 GCCcore/10.2.0, gcccuda/2020b 12.0.1 GCCcore/10.3.0, GCCcore/11.2.0 12.0.1 -CUDA-11.3.1 GCCcore/10.3.0 13.0.1 GCCcore/11.2.0, GCCcore/11.3.0 13.0.1 -CUDA-11.4.1 GCCcore/11.2.0 15.0.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#clang-aomp","title":"Clang-AOMP","text":"

            AOMP is an open source Clang/LLVM based compiler with added support for the OpenMP\u00ae API on Radeon\u2122 GPUs.

            homepage: https://github.com/RadeonOpenCompute/llvm-project

            version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#clang-python-bindings","title":"Clang-Python-bindings","text":"

            Python bindings for libclang

            homepage: https://clang.llvm.org

            version versionsuffix toolchain 8.0.0 -Python-2.7.15 GCCcore/8.2.0 10.0.1 -Python-3.8.2 GCCcore/9.3.0 13.0.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#clapack","title":"CLAPACK","text":"

            C version of LAPACK

            homepage: http://www.netlib.org/clapack

            version toolchain 3.2.1 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2017a"},{"location":"version-specific/supported-software/#clease","title":"CLEASE","text":"

            CLuster Expansion in Atomic Simulation Environment (CLEASE) is a package that automates the cumbersome setup and construction procedure of cluster expansion (CE). It provides a comprehensive list of tools for specifying parameters for CE, generating training structures, fitting effective cluster interaction (ECI) values and running Monte Carlo simulations.

            homepage: https://gitlab.com/computationalmaterials/clease

            version toolchain 0.10.6 intel/2021a"},{"location":"version-specific/supported-software/#clhep","title":"CLHEP","text":"

            The CLHEP project is intended to be a set of HEP-specific foundation and utility classes such as random generators, physics vectors, geometry and linear algebra. CLHEP is structured in a set of packages independent of any external package.

            homepage: https://proj-clhep.web.cern.ch/proj-clhep/

            version toolchain 2.1.1.0 intel/2016a 2.1.3.1 intel/2016a 2.2.0.8 intel/2016a 2.3.1.1 intel/2016a 2.3.4.3 foss/2017b, intel/2017b 2.4.0.0 intel/2017b 2.4.1.0 foss/2017b, foss/2018b, intel/2017b, intel/2018b 2.4.1.3 foss/2019b, foss/2020a 2.4.4.0 GCC/10.2.0, GCC/11.2.0 2.4.5.1 GCC/11.2.0 2.4.5.3 GCC/11.3.0 2.4.6.2 GCC/11.3.0 2.4.6.4 GCC/12.2.0"},{"location":"version-specific/supported-software/#climetlab","title":"CliMetLab","text":"

            CliMetLab is a Python package aiming at simplifying access to climate and meteorological datasets, allowing users to focus on science instead of technical issues such as data access and data formats. It is mostly intended to be used in Jupyter notebooks, and be interoperable with all popular data analytic packages, such as Numpy, Pandas, Xarray, SciPy, Matplotlib, etc. as well as machine learning frameworks, such as Tensorflow, Keras or PyTorch.

            homepage: https://climetlab.readthedocs.io/

            version toolchain 0.12.6 foss/2022a"},{"location":"version-specific/supported-software/#clip","title":"CLIP","text":"

            CLIP (Contrastive Language-Image Pre-Training) is a neural network trained on a variety of (image, text) pairs. It can be instructed in natural language to predict the most relevant text snippet, given an image, without directly optimizing for the task, similarly to the zero-shot capabilities of GPT-2 and 3.

            homepage: https://github.com/openai/CLIP

            version versionsuffix toolchain 20230220 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#clisp","title":"CLISP","text":"

            Common Lisp is a high-level, general-purpose, object-oriented, dynamic, functional programming language.

            homepage: https://clisp.sourceforge.io/

            version toolchain 2.49 GCCcore/6.4.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#clonalframeml","title":"ClonalFrameML","text":"

            Efficient Inference of Recombination in Whole Bacterial Genomes

            homepage: https://github.com/xavierdidelot/ClonalFrameML

            version toolchain 1.11 foss/2016b"},{"location":"version-specific/supported-software/#cloog","title":"CLooG","text":"

            CLooG is a free software and library to generate code for scanning Z-polyhedra. That is, it finds a code (e.g. in C, FORTRAN...) that reaches each integral point of one or more parameterized polyhedra. CLooG has been originally written to solve the code generation problem for optimizing compilers based on the polytope model. Nevertheless it is used now in various area e.g. to build control automata for high-level synthesis or to find the best polynomial approximation of a function. CLooG may help in any situation where scanning polyhedra matters. While the user has full control on generated code quality, CLooG is designed to avoid control overhead and to produce a very effective code.

            homepage: http://www.bastoul.net/cloog/index.php

            version toolchain 0.18.1 GCC/4.8.2"},{"location":"version-specific/supported-software/#cloudcompare","title":"CloudCompare","text":"

            3D point cloud and mesh processing software

            homepage: https://www.cloudcompare.org/

            version toolchain 2.12.4 foss/2021b"},{"location":"version-specific/supported-software/#clp","title":"Clp","text":"

            Clp (Coin-or linear programming) is an open-source linear programming solver. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available.

            homepage: https://github.com/coin-or/Clp

            version toolchain 1.17.3 foss/2018b 1.17.6 foss/2020b, foss/2021a 1.17.7 foss/2021b"},{"location":"version-specific/supported-software/#clustal-omega","title":"Clustal-Omega","text":"

            Clustal Omega is a multiple sequence alignment program for proteins. It produces biologically meaningful multiple sequence alignments of divergent sequences. Evolutionary relationships can be seen via viewing Cladograms or Phylograms

            homepage: http://www.clustal.org/omega/

            version toolchain 1.2.0 foss/2016b 1.2.4 GCC/10.2.0, GCC/10.3.0, GCC/8.3.0, foss/2018b, intel-compilers/2021.2.0, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#clustalw2","title":"ClustalW2","text":"

            ClustalW2 is a general purpose multiple sequence alignment program for DNA or proteins.

            homepage: https://www.ebi.ac.uk/Tools/msa/clustalw2/

            version toolchain 2.1 GCC/10.3.0, GCC/11.2.0, foss/2016b, foss/2018b, foss/2021a, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2017b, intel/2018b, intel/2020a"},{"location":"version-specific/supported-software/#cluster-buster","title":"Cluster-Buster","text":"

            Cluster-Buster: Finding dense clusters of motifs in DNA sequences

            homepage: https://github.com/weng-lab/cluster-buster/

            version toolchain 20160106 intel/2016a"},{"location":"version-specific/supported-software/#clustershell","title":"ClusterShell","text":"

            ClusterShell is an event-driven open source Python library, designed to run local or distant commands in parallel on server farms or on large Linux clusters.

            homepage: https://cea-hpc.github.io/clustershell/

            version toolchain 1.7.3 system"},{"location":"version-specific/supported-software/#cmake","title":"CMake","text":"

            CMake, the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software.

            homepage: https://www.cmake.org

            version toolchain 2.8.11 GCC/4.8.1 2.8.12 GCC/4.8.1, GCC/4.8.2 3.0.0 GCC/4.8.3 3.1.0 GCC/4.9.2 3.1.3 GCC/4.9.2, system 3.2.1 GCC/4.9.2, GNU/4.9.3-2.25 3.3.1 system 3.3.2 GNU/4.9.3-2.25, gimkl/2.11.5 3.4.1 GCC/4.9.2, GCCcore/4.9.3, foss/2016a, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 3.4.3 foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a 3.5.1 intel/2016a 3.5.2 GCC/4.9.3-2.25, foss/2016a, foss/2016b, intel/2016a, intel/2016b, system 3.6.1 GCC/5.4.0-2.26, GCCcore/4.9.3, foss/2016b, intel/2016b, system 3.6.2 GCCcore/5.4.0, foss/2016b, intel/2016b 3.7.1 GCCcore/5.4.0, GCCcore/6.2.0, foss/2016b, intel/2016b 3.7.2 GCCcore/6.3.0, foss/2016b, intel/2016b 3.8.0 GCCcore/6.3.0 3.8.1 GCCcore/6.3.0 3.8.2 GCCcore/6.3.0 3.9.1 GCCcore/6.3.0, GCCcore/6.4.0, system 3.9.4 GCCcore/6.4.0 3.9.5 GCCcore/6.4.0 3.9.6 system 3.10.0 GCCcore/6.4.0 3.10.1 GCCcore/6.4.0 3.10.2 GCCcore/6.4.0, GCCcore/7.2.0 3.10.3 GCCcore/6.4.0, GCCcore/7.2.0 3.11.1 GCCcore/6.4.0 3.11.4 GCCcore/6.4.0, GCCcore/7.3.0 3.12.1 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, system 3.13.3 GCCcore/8.2.0 3.15.1 system 3.15.3 GCCcore/8.3.0 3.16.4 GCCcore/9.3.0 3.18.4 GCCcore/10.2.0, system 3.20.1 GCCcore/10.2.0, GCCcore/10.3.0 3.21.1 GCCcore/11.2.0 3.22.1 GCCcore/11.2.0 3.23.1 GCCcore/11.3.0 3.24.3 GCCcore/11.3.0, GCCcore/12.2.0 3.26.3 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#cmaverse","title":"CMAverse","text":"

            The R package CMAverse provides a suite of functions for reproducible causal mediation analysis including cmdag for DAG visualization, cmest for statistical modeling and cmsens for sensitivity analysis.

            homepage: https://bs1125.github.io/CMAverse/

            version toolchain 20220112 foss/2021b"},{"location":"version-specific/supported-software/#cmdstanr","title":"CmdStanR","text":"

            CmdStanR is a lightweight interface to Stan for R users

            homepage: https://mc-stan.org/cmdstanr

            version versionsuffix toolchain 0.5.0 -R-4.1.2 foss/2021b 0.5.2 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#cmocean","title":"cmocean","text":"

            This package contains colormaps for commonly-used oceanographic variables. Most of the colormaps started from matplotlib colormaps, but have now been adjusted using the viscm tool to be perceptually uniform.

            homepage: https://github.com/matplotlib/cmocean

            version toolchain 2.0 foss/2022a"},{"location":"version-specific/supported-software/#cmseq","title":"CMSeq","text":"

            CMSeq is a set of commands to provide an interface to .bam files for coverage and sequence consensus.

            homepage: https://github.com/SegataLab/cmseq/

            version versionsuffix toolchain 1.0.3 -Python-3.8.2 foss/2020a 1.0.4 foss/2022a"},{"location":"version-specific/supported-software/#cnt-ilp","title":"CNT-ILP","text":"

            Integer Linear Program for the Copy-Number Tree Problem

            homepage: https://compbio.cs.brown.edu/projects/cnt-ilp/

            version toolchain 20171031 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#cnvkit","title":"CNVkit","text":"

            A command-line toolkit and Python library for detecting copy number variants and alterations genome-wide from high-throughput sequencing.

            homepage: https://github.com/etal/cnvkit

            version versionsuffix toolchain 0.9.2 -Python-2.7.14 intel/2017b 0.9.3 -Python-3.6.4 intel/2018a 0.9.6 -Python-3.7.2-R-3.6.0 foss/2019a 0.9.8 -R-4.0.3 foss/2020b 0.9.10 -R-4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#cnvnator","title":"CNVnator","text":"

            a tool for CNV discovery and genotyping from depth-of-coverage by mapped reads

            homepage: https://github.com/abyzovlab/CNVnator

            version toolchain 0.3.3 foss/2016b"},{"location":"version-specific/supported-software/#co-phylog","title":"Co-phylog","text":"

            Co-phylog: an assembly-free phylogenomic approach for closely related organisms H Yi, L Jin Nucleic acids research 41 (7), e75-e75

            homepage: https://github.com/yhg926/co-phylog

            version toolchain 20201012 GCC/7.3.0-2.30"},{"location":"version-specific/supported-software/#cobrapy","title":"COBRApy","text":"

            COBRApy is a package for constraint-based modeling of metabolic networks.

            homepage: https://opencobra.github.io/cobrapy/

            version toolchain 0.26.0 foss/2021a"},{"location":"version-specific/supported-software/#cocoalib","title":"CoCoALib","text":"

            CoCoALib is a free GPL3 C++ library for doing Computations in Commutative Algebra.

            homepage: http://cocoa.dima.unige.it/cocoalib

            version toolchain 0.99601 GCC/8.2.0-2.31.1 0.99700 GCC/8.3.0"},{"location":"version-specific/supported-software/#codan","title":"CodAn","text":"

            CodAn (Coding sequence Annotator) is a computational tool designed to characterize the CDS and UTR regions on transcripts from any Eukaryote species.

            homepage: https://github.com/pedronachtigall/CodAn

            version toolchain 1.2 foss/2021b"},{"location":"version-specific/supported-software/#code-server","title":"code-server","text":"

            Run VS Code on any machine anywhere and access it in the browser.

            homepage: https://github.com/cdr/code-server

            version toolchain 3.7.3 system 4.9.1 system"},{"location":"version-specific/supported-software/#codex2","title":"CODEX2","text":"

            Full-spectrum copy number variation detection by high-throughput DNA sequencing

            homepage: https://github.com/yuchaojiang/CODEX2

            version versionsuffix toolchain 20180227 -R-3.4.3 intel/2017b"},{"location":"version-specific/supported-software/#codingquarry","title":"CodingQuarry","text":"

            Highly accurate hidden Markov model gene prediction in fungal genomes using RNA-seq transcripts

            homepage: https://sourceforge.net/p/codingquarry

            version toolchain 2.0 foss/2021b"},{"location":"version-specific/supported-software/#cogent","title":"Cogent","text":"

            Cogent is a tool for reconstructing the coding genome using high-quality full-length transcriptome sequences. It is designed to be used on Iso-Seq data and in cases where there is no reference genome or the ref genome is highly incomplete.

            homepage: https://github.com/Magdoll/Cogent

            version toolchain 8.0.0 foss/2021a"},{"location":"version-specific/supported-software/#coin","title":"Coin","text":"

            Coin is an OpenGL-based, 3D graphics library that has its roots in the Open Inventor 2.1 API, which Coin still is compatible with.

            homepage: https://coin3d.github.io

            version toolchain 4.0.0 GCC/10.3.0, GCC/11.2.0"},{"location":"version-specific/supported-software/#coinutils","title":"CoinUtils","text":"

            CoinUtils (Coin-OR Utilities) is an open-source collection of classes and functions that are generally useful to more than one COIN-OR project.

            homepage: https://github.com/coin-or/CoinUtils

            version toolchain 2.11.3 GCCcore/7.3.0, foss/2018b 2.11.4 GCC/10.3.0, GCCcore/10.2.0 2.11.6 GCC/11.2.0"},{"location":"version-specific/supported-software/#colabfold","title":"ColabFold","text":"

            Making protein folding accessible to all. Predict proteins structures both in google colab and on your machine.

            homepage: https://github.com/sokrypton/ColabFold

            version versionsuffix toolchain 1.5.2 foss/2022a 1.5.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#colossalai","title":"colossalai","text":"

            Colossal-AI: A Unified Deep Learning System for Big Model Era

            homepage: https://colossalai.org/

            version versionsuffix toolchain 0.1.8 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#commet","title":"Commet","text":"

            COMMET (\"COmpare Multiple METagenomes\") provides a global similarity overview between all datasets of a large metagenomic project.

            homepage: https://colibread.inria.fr/software/commet/

            version versionsuffix toolchain 20150415 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#comparem","title":"CompareM","text":"

            A toolbox for comparative genomics.

            homepage: https://github.com/dparks1134/CompareM

            version versionsuffix toolchain 0.0.23 -Python-2.7.15 foss/2018b 0.1.2 foss/2021b"},{"location":"version-specific/supported-software/#compress-raw-zlib","title":"Compress-Raw-Zlib","text":"

            Low-Level Interface to zlib or zlib-ng compression library

            homepage: https://metacpan.org/pod/Compress::Raw::Zlib

            version toolchain 2.202 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#comsol","title":"COMSOL","text":"

            COMSOL Multiphysics is a general-purpose software platform, based on advanced numerical methods, for modeling and simulating physics-based problems.

            homepage: https://www.comsol.com

            version toolchain 5.4.0.225 system"},{"location":"version-specific/supported-software/#con3f","title":"Con3F","text":"

            Con3F is a Python package to read, manipulate and convert force field files

            homepage: https://github.ugent.be/CMM/con3f

            version versionsuffix toolchain 1.0-20190329 -Python-3.7.2 intel/2019a"},{"location":"version-specific/supported-software/#conan","title":"conan","text":"

            Decentralized, open-source (MIT), C/C++ package manager.

            homepage: https://conan.io

            version toolchain 1.58.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#concoct","title":"CONCOCT","text":"

            Clustering cONtigs with COverage and ComposiTion (CONCOCT) is a program for unsupervised binning of metagenomic contigs by using nucleotide composition, coverage data in multiple samples and linkage data from paired end reads.

            homepage: https://concoct.readthedocs.io

            version versionsuffix toolchain 1.0.0 -Python-2.7.14 foss/2017b 1.0.0 -Python-2.7.15 foss/2018b 1.0.0 -Python-3.6.3 foss/2017b 1.1.0 -Python-2.7.15 foss/2019a 1.1.0 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#configparser","title":"configparser","text":"

            configparser is a Python library that brings the updated configparser from Python 3.5 to Python 2.6-3.5

            homepage: https://docs.python.org/3/library/configparser.html

            version versionsuffix toolchain 3.5.0 -Python-2.7.11 foss/2016a 3.5.0 -Python-2.7.12 foss/2016b, intel/2016b 3.5.0 -Python-3.5.2 intel/2016b 3.5.0 -Python-3.6.3 intel/2017b"},{"location":"version-specific/supported-software/#configurable-http-proxy","title":"configurable-http-proxy","text":"

            HTTP proxy for node.js including a REST API for updating the routing table. Developed as a part of the Jupyter Hub multi-user server.

            homepage: https://github.com/jupyterhub/configurable-http-proxy

            version versionsuffix toolchain 1.3.0 -nodejs-4.4.7 foss/2016a 3.1.1 -nodejs-8.9.4 foss/2017a 4.2.1 GCCcore/10.2.0 4.4.0 GCCcore/10.3.0 4.5.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#conn","title":"CONN","text":"

            CONN is an open-source Matlab/SPM-based cross-platform software for the computation, display, and analysis of functional connectivity Magnetic Resonance Imaging (fcMRI). CONN is used to analyze resting state data (rsfMRI) as well as task-related designs.

            homepage: https://web.conn-toolbox.org/home

            version versionsuffix toolchain 21a -MATLAB-2021a system"},{"location":"version-specific/supported-software/#connectomeworkbench","title":"ConnectomeWorkbench","text":"

            Connectome Workbench is an open source, freely available visualization and discovery tool used to map neuroimaging data, especially data generated by the Human Connectome Project.

            homepage: https://www.humanconnectome.org/software/connectome-workbench

            version versionsuffix toolchain 1.2.2 system 1.3.2 GCCcore/8.2.0, foss/2017b, intel/2017b 1.4.2 -rh_linux64 system 1.5.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#control-freec","title":"Control-FREEC","text":"

            Copy number and genotype annotation from whole genome and whole exome sequencing data.

            homepage: https://github.com/BoevaLab/FREEC

            version toolchain 11.5 GCC/7.3.0-2.30, GCC/8.2.0-2.31.1 11.6 GCC/10.2.0"},{"location":"version-specific/supported-software/#cooler","title":"cooler","text":"

            Cooler is a support library for a storage format, also called cooler, used to store genomic interaction data of any size, such as Hi-C contact matrices.

            homepage: https://open2c.github.io/cooler

            version toolchain 0.9.1 foss/2022a"},{"location":"version-specific/supported-software/#coordgenlibs","title":"CoordgenLibs","text":"

            Schrodinger-developed 2D Coordinate Generation

            homepage: https://github.com/schrodinger/coordgenlibs

            version toolchain 1.3.2 gompi/2019a, iimpi/2019a 3.0.1 gompi/2019b, gompi/2021a, gompi/2022a, iimpi/2020a"},{"location":"version-specific/supported-software/#coot","title":"Coot","text":"

            Coot is for macromolecular model building, model completion and validation, particularly suitable for protein modelling using X-ray data.

            homepage: http://www2.mrc-lmb.cam.ac.uk/Personal/pemsley/coot

            version versionsuffix toolchain 0.8.1 -binary-Linux-x86_64-rhel-6-python-gtk2 system"},{"location":"version-specific/supported-software/#copykat","title":"CopyKAT","text":"

            CopyKAT: Inference of genomic copy number and subclonal structure of human tumors from high-throughput single cell RNAseq data

            homepage: https://github.com/navinlabcode/copykat

            version versionsuffix toolchain 1.1.0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#core-counter","title":"core-counter","text":"

            Tool to check available cores and OMP threads

            homepage: https://github.com/gjbex/core-counter

            version toolchain 1.1.1 system"},{"location":"version-specific/supported-software/#coreutils","title":"Coreutils","text":"

            The GNU Core Utilities are the basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every operating system.

            homepage: https://www.gnu.org/software/coreutils/

            version toolchain 8.23 GCC/4.9.2 8.27 GCCcore/5.4.0 8.29 GCCcore/6.4.0 8.32 GCCcore/8.3.0, GCCcore/9.3.0 9.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#corner","title":"corner","text":"

            Make some beautiful corner plots.

            homepage: https://corner.readthedocs.io/en/latest/

            version versionsuffix toolchain 2.0.1 -Python-2.7.15 foss/2019a 2.0.1 -Python-3.7.2 foss/2019a 2.2.2 foss/2021b"},{"location":"version-specific/supported-software/#cosymlib","title":"CoSymLib","text":"

            Cosymlib is a python library for computing continuous symmetry & shape measures (CSMs & CShMs). Although its main aim is to provide simple and ready-to-use tools for the analysis of the symmetry & shape of molecules, many of the procedures contained in cosymlib can be easily applied to any finite geometrical object defined by a set of vertices or a by mass distribution function.

            homepage: https://cosymlib.readthedocs.io

            version toolchain 0.10.9 foss/2022a"},{"location":"version-specific/supported-software/#coverage","title":"coverage","text":"

            Coverage.py is a tool for measuring code coverage of Python programs. It monitors your program, noting which parts of the code have been executed, then analyzes the source to identify code that could have been executed but was not.

            homepage: https://coverage.readthedocs.io

            version versionsuffix toolchain 4.5.1 -Python-2.7.14 intel/2017b 5.5 GCCcore/10.2.0, GCCcore/10.3.0 7.2.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cowsay","title":"cowsay","text":"

            Configurable talking characters in ASCII art

            homepage: https://github.com/tnalpgge/rank-amateur-cowsay

            version toolchain 3.04 system"},{"location":"version-specific/supported-software/#cp2k","title":"CP2K","text":"

            CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials.

            homepage: https://www.cp2k.org/

            version versionsuffix toolchain 3.0 intel/2016a, intel/2016b, intel/2017b, intel/2018a 3.0 -psmp intel/2016b 4.1 intel/2016b 4.1 -psmp foss/2016b 5.1 foss/2018a, foss/2020a, foss/2020b, intel/2017b, intel/2018a, intel/2020a 6.1 foss/2019a, intel/2018a, intel/2020a 7.1 foss/2020a, foss/2020b, intel/2020a, intel/2020b 7.1 -psmp foss/2020b 8.1 foss/2020b 8.2 foss/2021a, intel/2021a 9.1 foss/2022a 2022.1 foss/2022a"},{"location":"version-specific/supported-software/#cpb","title":"CPB","text":"

            CPB is a novel two-step Pearson correlation based biclustering approach to mine genes that are co-regulated with a given reference gene in order to discover genes that function in a common biological process. In the first step, the algorithm identifies subsets of genes with high correlation, reducing false negatives with a nonparametric filtering scheme. In the second step, biclusters from multiple datasets are used to extract and rank gene correlation information.

            homepage: http://tda.gatech.edu/software/cpb/index.html

            version versionsuffix toolchain 11-4-2011 -Python-2.7.13 foss/2017a"},{"location":"version-specific/supported-software/#cpc2","title":"CPC2","text":"

            a fast and accurate coding potential calculator based on sequence intrinsic features

            homepage: http://cpc2.gao-lab.org/

            version toolchain 1.0.1 foss/2022a"},{"location":"version-specific/supported-software/#cplex","title":"CPLEX","text":"

            IBM ILOG CPLEX Optimizer's mathematical programming technology enables analytical decision support for improving efficiency, reducing costs, and increasing profitability.

            homepage: https://www.ibm.com/analytics/cplex-optimizer

            version versionsuffix toolchain 12.9 GCCcore/8.2.0 12.10 -Python-3.7.4 GCCcore/8.3.0 22.1.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#cppe","title":"CPPE","text":"

            CPPE is an open-source, light-weight C++ and Python library for Polarizable Embedding (PE)1,2 calculations. It provides an easy-to-use API to implement PE for ground-state self-consistent field (SCF) calculations and post-SCF methods. A convenient Python interface is also available.

            homepage: https://github.com/maxscheurer/cppe

            version toolchain 0.3.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#cppheaderparser","title":"CppHeaderParser","text":"

            CppHeaderParser is a pure python module that will parse C++ header files and generate a data structure representing the class.

            homepage: https://senexcanis.com/open-source/cppheaderparser

            version toolchain 2.7.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cppunit","title":"CppUnit","text":"

            CppUnit is the C++ port of the famous JUnit framework for unit testing.

            homepage: https://freedesktop.org/wiki/Software/cppunit/

            version toolchain 1.12.1 GCCcore/6.4.0, GCCcore/7.3.0, foss/2016a 1.15.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#cppy","title":"cppy","text":"

            A small C++ header library which makes it easier to write Python extension modules. The primary feature is a PyObject smart pointer which automatically handles reference counting and provides convenience methods for performing common object operations.

            homepage: https://github.com/nucleic/cppy

            version toolchain 1.1.0 GCCcore/10.3.0, GCCcore/11.2.0 1.2.1 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cppzmq","title":"cppzmq","text":"

            cppzmq is a C++ binding for libzmq.

            homepage: https://github.com/zeromq/cppzmq

            version toolchain 4.9.0 system"},{"location":"version-specific/supported-software/#cpu_features","title":"cpu_features","text":"

            A cross-platform C library to retrieve CPU features (such as available instructions) at runtime.

            homepage: https://github.com/google/cpu_features

            version toolchain 0.6.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#cram","title":"cram","text":"

            Cram is a functional testing framework for command line applications.

            homepage: https://bitheap.org/cram

            version toolchain 0.7 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#cramtools","title":"cramtools","text":"

            CRAMTools is a set of Java tools and APIs for efficient compression of sequence read data. Although this is intended as a stable version the code is released as early access. Parts of the CRAMTools are experimental and may not be supported in the future.

            homepage: https://github.com/enasequence/cramtools/

            version versionsuffix toolchain 2.0 -Java-1.7.0_80 system 3.0 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#craycce","title":"CrayCCE","text":"

            Toolchain using Cray compiler wrapper, using PrgEnv-cray (PE release: June 2019).

            homepage: https://pubs.cray.com/discover

            version toolchain 19.06 system"},{"location":"version-specific/supported-software/#craygnu","title":"CrayGNU","text":"

            Toolchain using Cray compiler wrapper, using PrgEnv-gnu module (PE release: June 2019).

            homepage: https://pubs.cray.com/discover

            version toolchain 19.06 system"},{"location":"version-specific/supported-software/#crayintel","title":"CrayIntel","text":"

            Toolchain using Cray compiler wrapper, using PrgEnv-intel (PE release: June 2019).

            homepage: https://pubs.cray.com/discover

            version toolchain 19.06 system"},{"location":"version-specific/supported-software/#craypgi","title":"CrayPGI","text":"

            Toolchain using Cray compiler wrapper, PrgEnv-pgi compiler (PE release: June 2019).

            homepage: https://pubs.cray.com/discover

            version toolchain 19.06 system"},{"location":"version-specific/supported-software/#crb-blast","title":"crb-blast","text":"

            Conditional Reciprocal Best BLAST - high confidence ortholog assignment. CRB-BLAST is a novel method for finding orthologs between one set of sequences and another. This is particularly useful in genome and transcriptome annotation.

            homepage: https://github.com/cboursnell/crb-blast

            version versionsuffix toolchain 0.6.9 gompi/2021a, gompi/2021b, intel/2017a 0.6.9 -Ruby-2.6.1 foss/2018b"},{"location":"version-specific/supported-software/#crest","title":"CREST","text":"

            CREST is an utility/driver program for the xtb program. Originally it was designed as conformer sampling program, hence the abbreviation Conformer\u2013Rotamer Ensemble Sampling Tool, but now offers also some utility functions for calculations with the GFNn\u2013xTB methods. Generally the program functions as an IO based OMP scheduler (i.e., calculations are performed by the xtb program) and tool for the creation and analysation of structure ensembles.

            homepage: https://xtb-docs.readthedocs.io/en/latest/crest.html

            version toolchain 2.11 intel/2021a 2.11.2 intel/2021a"},{"location":"version-specific/supported-software/#crf","title":"CRF++","text":"

            CRF++ is a simple, customizable, and open source implementation of Conditional Random Fields (CRFs) for segmenting/labeling sequential data. CRF++ is designed for generic purpose and will be applied to a variety of NLP tasks, such as Named Entity Recognition, Information Extraction and Text Chunking.

            homepage: https://taku910.github.io/crfpp/

            version toolchain 0.58 iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b"},{"location":"version-specific/supported-software/#crispr-dav","title":"CRISPR-DAV","text":"

            CRISPR-DAV is a pipeline to analyze amplicon-based NGS data of CRISPR clones in a high throughput manner.

            homepage: https://github.com/pinetree1/crispr-dav/

            version toolchain 2.3.4 foss/2020b"},{"location":"version-specific/supported-software/#crispresso2","title":"CRISPResso2","text":"

            CRISPResso2 is a software pipeline designed to enable rapid and intuitive interpretation of genome editing experiments.

            homepage: https://github.com/pinellolab/CRISPResso2/

            version versionsuffix toolchain 2.0.44 -Python-2.7.16 foss/2019b 2.1.2 -Python-2.7.18 foss/2020b 2.2.1 foss/2020b"},{"location":"version-specific/supported-software/#cromwell","title":"cromwell","text":"

            Cromwell is a Workflow Management System geared towards scientific workflows.

            homepage: http://cromwell.readthedocs.io/

            version versionsuffix toolchain 56 -Java-11 system"},{"location":"version-specific/supported-software/#crossguid","title":"crossguid","text":"

            CrossGuid is a minimal, cross platform, C++ GUID library. It uses the best native GUID/UUID generator on the given platform and has a generic class for parsing, stringifying, and comparing IDs. The guid generation technique is determined by your platform:

            homepage: https://github.com/graeme-hill/crossguid

            version toolchain 20190529 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#crossmap","title":"CrossMap","text":"

            CrossMap is a program for genome coordinates conversion between different assemblies (such as hg18 (NCBI36) <=> hg19 (GRCh37)). It supports commonly used file formats including BAM, CRAM, SAM, Wiggle, BigWig, BED, GFF, GTF and VCF.

            homepage: http://crossmap.sourceforge.net

            version versionsuffix toolchain 0.3.9 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#crosstalkz","title":"CrossTalkZ","text":"

            CrossTalkZ is a statistical method and software to assess the significance of crosstalk enrichment between pairs of gene or protein groups in large biological networks.

            homepage: http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/

            version toolchain 1.4 foss/2016a"},{"location":"version-specific/supported-software/#crpropa","title":"CRPropa","text":"

            CRPropa is a publicly available code to study the propagation of ultra high energy nuclei up to iron on their voyage through an extra galactic environment.

            homepage: https://crpropa.desy.de

            version versionsuffix toolchain 3.1.5 -Python-3.7.2 foss/2019a 3.1.6 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#crumble","title":"Crumble","text":"

            Exploration of controlled loss of quality values for compressing CRAM files

            homepage: https://github.com/jkbonfield/crumble

            version toolchain 0.8.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#cryocare","title":"cryoCARE","text":"

            This package is a memory efficient implementation of cryoCARE. This setup trains a denoising U-Net for tomographic reconstruction according to the Noise2Noise training paradigm. Therefore the user has to provide two tomograms of the same sample. The simplest way to achieve this is with direct- detector movie-frames. You can use Warp to generate two reconstructed tomograms based on the even/odd frames. Alternatively, the movie-frames can be split in two halves (e.g. with MotionCor2 -SplitSum 1 or with IMOD alignframes -debug 10000) from which two identical, up to random noise, tomograms can be reconstructed. These two (even and odd) tomograms can be used as input to this cryoCARE implementation.

            homepage: https://github.com/juglab/cryoCARE_pip

            version versionsuffix toolchain 0.2.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#cryodrgn","title":"cryoDRGN","text":"

            cryoDRGN: Deep Reconstructing Generative Networks for cryo-EM heterogeneous reconstruction. CryoDRGN is a neural network based algorithm for heterogeneous cryo-EM reconstruction. In particular, the method models a continuous distribution over 3D structures by using a neural network based representation for the volume.

            homepage: https://cb.csail.mit.edu/cb/cryodrgn/

            version versionsuffix toolchain 0.3.2 fosscuda/2020b 0.3.5 -CUDA-11.3.1 foss/2021a 1.0.0-beta -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#cryptominisat","title":"CryptoMiniSat","text":"

            CryptoMiniSat is an advanced SAT solver

            homepage: https://github.com/msoos/cryptominisat

            version versionsuffix toolchain 5.0.1 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#crystfel","title":"CrystFEL","text":"

            CrystFEL is a suite of programs for processing diffraction data acquired \"serially\" in a \"snapshot\" manner, such as when using the technique of Serial Femtosecond Crystallography (SFX) with a free-electron laser source.

            homepage: http://www.desy.de/~twhite/crystfel/

            version toolchain 0.8.0 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#csb","title":"CSB","text":"

            Computational Structural Biology Toolbox CSB is a python library and application framework, which can be used to solve problems in the field of structural bioinformatics. If you are a bioinformatician, software engineer or a researcher working in this field, chances are you may find something useful here. Our package consists of a few major components: 1. Core class library - object-oriented, granular, with an emphasis on design and clean interfaces. 2. Application framework - console applications (\"protocols\"), which consume objects from the core library in order to build something executable (and hopefully useful). 3. Test framework - ensures that the library actually works.

            homepage: https://github.com/csb-toolbox

            version toolchain 1.2.5 foss/2020b"},{"location":"version-specific/supported-software/#csbdeep","title":"CSBDeep","text":"

            CSBDeep is a toolbox for Content-aware Image Restoration (CARE).

            homepage: https://csbdeep.bioimagecomputing.com/

            version versionsuffix toolchain 0.4.1 -Python-3.7.2 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#csblast","title":"CSBLAST","text":"

            Context-specific extension of BLAST that significantly improves sensitivity and alignment quality.

            homepage: https://github.com/soedinglab/csblast/

            version toolchain 2.2.3 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#cscope","title":"cscope","text":"

            Cscope is a developer's tool for browsing source code.

            homepage: http://cscope.sourceforge.net/

            version toolchain 15.9 system"},{"location":"version-specific/supported-software/#csvkit","title":"csvkit","text":"

            csvkit is a suite of command-line tools for converting to and working with CSV, the king of tabular file formats.

            homepage: https://github.com/wireservice/csvkit

            version versionsuffix toolchain 1.0.4 GCCcore/8.2.0 1.0.5 -Python-3.7.4 GCCcore/8.3.0 1.1.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ctags","title":"ctags","text":"

            Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility.

            homepage: http://ctags.sourceforge.net/

            version toolchain 5.8 system"},{"location":"version-specific/supported-software/#ctffind","title":"ctffind","text":"

            Program for finding CTFs of electron micrographs.

            homepage: https://grigoriefflab.umassmed.edu/ctffind4

            version versionsuffix toolchain 4.1.13 foss/2019a, fosscuda/2019a, fosscuda/2019b 4.1.14 foss/2019b, foss/2021b, foss/2022a, fosscuda/2019b, fosscuda/2020b 4.1.14 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#ctpl","title":"CTPL","text":"

            Modern and efficient C++ Thread Pool Library

            homepage: https://github.com/vit-vit/CTPL.git

            version toolchain 0.0.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#cube","title":"Cube","text":"

            Cube, which is used as performance report explorer for Scalasca and Score-P, is a generic tool for displaying a multi-dimensional performance space consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree can be collapsed or expanded to achieve the desired level of granularity.

            homepage: http://www.scalasca.org/software/cube-4.x/download.html

            version toolchain 4.3.4 foss/2016a"},{"location":"version-specific/supported-software/#cubegui","title":"CubeGUI","text":"

            Cube, which is used as performance report explorer for Scalasca and Score-P, is a generic tool for displaying a multi-dimensional performance space consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree can be collapsed or expanded to achieve the desired level of granularity. This module provides the Cube graphical report explorer.

            homepage: https://www.scalasca.org/software/cube-4.x/download.html

            version toolchain 4.4.4 GCCcore/8.2.0, GCCcore/9.3.0 4.6 GCCcore/10.2.0, GCCcore/10.3.0 4.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cubelib","title":"CubeLib","text":"

            Cube, which is used as performance report explorer for Scalasca and Score-P, is a generic tool for displaying a multi-dimensional performance space consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree can be collapsed or expanded to achieve the desired level of granularity. This module provides the Cube general purpose C++ library component and command-line tools.

            homepage: https://www.scalasca.org/software/cube-4.x/download.html

            version toolchain 4.4.4 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.6 GCCcore/10.2.0, GCCcore/10.3.0 4.8 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cubewriter","title":"CubeWriter","text":"

            Cube, which is used as performance report explorer for Scalasca and Score-P, is a generic tool for displaying a multi-dimensional performance space consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree can be collapsed or expanded to achieve the desired level of granularity. This module provides the Cube high-performance C writer library component.

            homepage: https://www.scalasca.org/software/cube-4.x/download.html

            version toolchain 4.4.3 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.6 GCCcore/10.2.0, GCCcore/10.3.0 4.8 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cuclark","title":"CuCLARK","text":"

            Metagenomic classifier for CUDA-enabled GPUs

            homepage: https://github.com/Funatiq/cuclark

            version toolchain 1.1 fosscuda/2019b"},{"location":"version-specific/supported-software/#cuda","title":"CUDA","text":"

            CUDA (formerly Compute Unified Device Architecture) is a parallel computing platform and programming model created by NVIDIA and implemented by the graphics processing units (GPUs) that they produce. CUDA gives developers access to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.

            homepage: https://developer.nvidia.com/cuda-toolkit

            version toolchain 5.5.22 GCC/4.8.2, system 6.0.37 system 6.5.14 system 7.0.28 system 7.5.18 GCC/4.9.4-2.25, iccifort/2016.3.210-GCC-4.9.3-2.25, system 8.0.44 GCC/5.4.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26, system 8.0.61 system 8.0.61_375.26 GCC/5.4.0-2.26 9.0.176 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28, system 9.1.85 GCC/6.4.0-2.28, system 9.2.88 GCC/6.4.0-2.28, GCC/7.3.0-2.30, system 9.2.148.1 system 10.0.130 system 10.1.105 GCC/8.2.0-2.31.1, iccifort/2019.1.144-GCC-8.2.0-2.31.1, system 10.1.168 system 10.1.243 GCC/8.3.0, iccifort/2019.5.281, system 10.2.89 GCC/8.3.0 11.0.2 GCC/9.3.0, iccifort/2020.1.217 11.1.1 GCC/10.2.0, iccifort/2020.4.304 11.3.1 system 11.4.1 system 11.4.2 system 11.5.0 system 11.5.1 system 11.5.2 system 11.6.0 system 11.7.0 system 11.8.0 system 12.0.0 system 12.1.0 system 12.1.1 system 12.2.0 system"},{"location":"version-specific/supported-software/#cuda-samples","title":"CUDA-Samples","text":"

            Samples for CUDA Developers which demonstrates features in CUDA Toolkit

            homepage: https://github.com/NVIDIA/cuda-samples

            version versionsuffix toolchain 11.3 -CUDA-11.3.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#cudacompat","title":"CUDAcompat","text":"

            Using the CUDA Forward Compatibility package, system administrators can run applications built using a newer toolkit even when an older driver that does not satisfy the minimum required driver version is installed on the system. This forward compatibility allows the CUDA deployments in data centers and enterprises to benefit from the faster release cadence and the latest features and performance of CUDA Toolkit.

            homepage: https://docs.nvidia.com/deploy/cuda-compatibility/index.html

            version versionsuffix toolchain 11 system 11.6 system 11.6 -510.85.02 system 11.7 system 11.7 -515.65.01 system"},{"location":"version-specific/supported-software/#cudacore","title":"CUDAcore","text":"

            CUDA (formerly Compute Unified Device Architecture) is a parallel computing platform and programming model created by NVIDIA and implemented by the graphics processing units (GPUs) that they produce. CUDA gives developers access to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.

            homepage: https://developer.nvidia.com/cuda-toolkit

            version toolchain 11.0.2 system 11.1.1 system 11.2.1 system 11.2.2 system 11.3.0 system 11.4.0 system 11.5.1 system"},{"location":"version-specific/supported-software/#cudnn","title":"cuDNN","text":"

            The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks.

            homepage: https://developer.nvidia.com/cudnn

            version versionsuffix toolchain 4.0 system 5.0 -CUDA-7.5.18 system 5.0-rc system 5.1 -CUDA-8.0.44 system 6.0 -CUDA-8.0.61 system 6.0.21 -CUDA-7.5.18 system 6.0.21 -CUDA-8.0.44 system 7.0.2 -CUDA-9.0.176 system 7.0.5 -CUDA-8.0.44 system 7.0.5 -CUDA-9.0.176 system 7.0.5 -CUDA-9.1.85 system 7.0.5.15 fosscuda/2017b, fosscuda/2018a, intelcuda/2017b 7.1.4.18 fosscuda/2018b 7.4.2.24 gcccuda/2019a 7.4.2.24 -CUDA-10.0.130 system 7.5.0.56 -CUDA-10.0.130 system 7.6.2.24 -CUDA-10.1.243 system 7.6.4.38 gcccuda/2019a, gcccuda/2019b 7.6.4.38 -CUDA-10.0.130 system 8.0.4.30 -CUDA-11.0.2 system 8.0.4.30 -CUDA-11.1.1 system 8.0.5.39 -CUDA-11.1.1 system 8.1.0.77 -CUDA-11.2.1 system 8.1.1.33 -CUDA-11.2.1 system 8.2.1.32 -CUDA-11.3.1 system 8.2.2.26 -CUDA-11.4.0 system 8.2.2.26 -CUDA-11.4.1 system 8.4.0.27 -CUDA-11.6.0 system 8.4.1.50 -CUDA-11.5.2 system 8.4.1.50 -CUDA-11.6.0 system 8.4.1.50 -CUDA-11.7.0 system 8.6.0.163 -CUDA-11.8.0 system 8.7.0.84 -CUDA-11.8.0 system 8.8.0.121 -CUDA-12.0.0 system 8.9.2.26 -CUDA-12.1.1 system"},{"location":"version-specific/supported-software/#cufflinks","title":"Cufflinks","text":"

            Transcript assembly, differential expression, and differential regulation for RNA-Seq

            homepage: http://cole-trapnell-lab.github.io/cufflinks/

            version toolchain 2.2.1 foss/2016a, foss/2016b, foss/2018b, gompi/2019b, intel/2017b, intel/2018a 20190706 GCC/10.2.0, GCC/11.2.0, gompi/2019a"},{"location":"version-specific/supported-software/#cunit","title":"CUnit","text":"

            Automated testing framework for C.

            homepage: https://sourceforge.net/projects/cunit/

            version toolchain 2.1-3 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#cupy","title":"CuPy","text":"

            CuPy is an open-source array library accelerated with NVIDIA CUDA.

            homepage: https://cupy.dev

            version versionsuffix toolchain 8.2.0 -Python-3.7.4 fosscuda/2019b 8.5.0 fosscuda/2020b 11.4.0 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#curl","title":"cURL","text":"

            libcurl is a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling and more.

            homepage: https://curl.haxx.se

            version toolchain 7.33.0 GCC/4.8.2 7.34.0 GCC/4.8.2 7.40.0 GCC/4.9.2 7.46.0 iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 7.47.0 foss/2016a, intel/2016.02-GCC-4.9, intel/2016a 7.49.1 GCCcore/5.4.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b 7.52.1 gimkl/2017a, intel/2016b 7.53.1 GCCcore/6.3.0 7.54.0 GCCcore/6.3.0 7.55.1 GCCcore/6.4.0 7.56.0 GCCcore/6.4.0 7.56.1 GCCcore/6.4.0 7.58.0 GCCcore/6.4.0 7.59.0 GCCcore/6.4.0 7.60.0 GCCcore/7.2.0, GCCcore/7.3.0 7.63.0 GCCcore/8.2.0 7.66.0 GCCcore/8.3.0 7.69.1 GCCcore/9.3.0 7.72.0 GCCcore/10.2.0 7.76.0 GCCcore/10.3.0 7.78.0 GCCcore/11.2.0 7.83.0 GCCcore/11.3.0 7.84.0 GCCcore/12.1.0 7.86.0 GCCcore/12.2.0 8.0.1 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#cusparselt","title":"cuSPARSELt","text":"

            NVIDIA cuSPARSELt is a high-performance CUDA library dedicated to general matrix-matrix operations in which at least one operand is a sparse matrix

            homepage: https://docs.nvidia.com/cuda/cusparselt/index.html

            version versionsuffix toolchain 0.3.0.3 -CUDA-11.4.1 system"},{"location":"version-specific/supported-software/#custodian","title":"custodian","text":"

            A simple JIT job management framework in Python.

            homepage: https://pypi.python.org/pypi/custodian

            version versionsuffix toolchain 1.1.0 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#cutadapt","title":"cutadapt","text":"

            Cutadapt finds and removes adapter sequences, primers, poly-A tails and other types of unwanted sequence from your high-throughput sequencing reads.

            homepage: https://opensource.scilifelab.se/projects/cutadapt/

            version versionsuffix toolchain 1.9.1 -Python-2.7.11 foss/2016a 1.9.1 -Python-2.7.12 foss/2016b 1.14 -Python-2.7.13 foss/2017a, intel/2017a 1.15 -Python-3.5.2 foss/2016b 1.16 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 1.16 -Python-3.6.3 foss/2017b, intel/2017b 1.16 -Python-3.6.4 foss/2018a, intel/2018a 1.18 GCCcore/8.2.0, GCCcore/8.3.0 1.18 -Python-2.7.15 foss/2018b 1.18 -Python-2.7.18 GCC/10.2.0 1.18 -Python-3.6.6 foss/2018b, intel/2018b 2.1 -Python-3.6.6 foss/2018b 2.7 -Python-3.7.4 GCCcore/8.3.0 2.8 -Python-3.7.4 GCCcore/8.3.0 2.10 GCCcore/10.2.0 2.10 -Python-3.7.4 GCCcore/8.3.0 2.10 -Python-3.8.2 GCCcore/9.3.0 3.4 GCCcore/10.2.0, GCCcore/10.3.0 3.5 GCCcore/11.2.0 4.2 GCCcore/11.3.0 4.4 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cutensor","title":"cuTENSOR","text":"

            The cuTENSOR Library is a GPU-accelerated tensor linear algebra library providing tensor contraction, reduction and elementwise operations.

            homepage: https://developer.nvidia.com/cutensor

            version versionsuffix toolchain 1.2.2.5 gcccuda/2019b 1.2.2.5 -CUDA-11.1.1 system 1.6.0.3 -CUDA-11.3.1 system 1.6.1.5 -CUDA-11.4.1 system 1.6.1.5 -CUDA-11.7.0 system 1.7.0.1 -CUDA-12.0.0 system"},{"location":"version-specific/supported-software/#cutesv","title":"cuteSV","text":"

            cuteSV uses tailored methods to collect the signatures of various types of SVs and employs a clustering-and-refinement method to analyze the signatures to implement sensitive SV detection.

            homepage: https://github.com/tjiangHIT/cuteSV

            version toolchain 2.0.3 foss/2022a"},{"location":"version-specific/supported-software/#cvs","title":"CVS","text":"

            CVS is a version control system, an important component of Source Configuration Management (SCM).

            homepage: https://savannah.nongnu.org/projects/cvs

            version toolchain 1.11.23 GCC/4.8.2, GCCcore/11.2.0, GCCcore/4.9.3, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#cvxopt","title":"CVXOPT","text":"

            CVXOPT is a free software package for convex optimization based on the Python programming language. Its main purpose is to make the development of software for convex optimization applications straightforward by building on Python's extensive standard library and on the strengths of Python as a high-level programming language.

            homepage: https://cvxopt.org

            version versionsuffix toolchain 1.1.9 -Python-2.7.13 intel/2017a 1.2.1 -Python-3.6.4 intel/2018a 1.2.3 foss/2019a 1.2.3 -Python-3.6.6 intel/2018b 1.2.4 -Python-3.7.4 intel/2019b 1.2.6 foss/2020b, foss/2021a 1.3.1 foss/2022a"},{"location":"version-specific/supported-software/#cvxpy","title":"CVXPY","text":"

            CVXPY is a Python-embedded modeling language for convex optimization problems. It allows you to express your problem in a natural way that follows the math, rather than in the restrictive standard form required by solvers.

            homepage: https://www.cvxpy.org/

            version versionsuffix toolchain 1.0.24 foss/2019a 1.0.28 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#cwipi","title":"CWIPI","text":"

            CWIPI (Coupling With Interpolation Parallel Interface) library helps in chaining and coupling codes. Provides exchanges of interpolated fields through a non-compliant geometric interface and allows control of the coupling algorithm using control parameters. CWIPI takes advantage of the distribution of the definition of the coupling algorithm in the different codes.

            homepage: https://w3.onera.fr/cwipi/

            version toolchain 0.12.0 gompi/2021a"},{"location":"version-specific/supported-software/#cwltool","title":"cwltool","text":"

            Common workflow language (CWL) reference implementation.

            homepage: https://github.com/common-workflow-language/cwltool

            version toolchain 3.1.20221008225030 foss/2021a 3.1.20221018083734 foss/2021a"},{"location":"version-specific/supported-software/#cxxopts","title":"cxxopts","text":"

            cxxopts is a lightweight C++ command line option parser

            homepage: https://github.com/jarro2783/cxxopts

            version toolchain 3.0.0 system"},{"location":"version-specific/supported-software/#cysignals","title":"cysignals","text":"

            The cysignals package provides mechanisms to handle interrupts (and other signals and errors) in Cython code.

            homepage: https://pypi.org/project/cysignals/

            version versionsuffix toolchain 1.10.2 -Python-2.7.14 foss/2017b, intel/2017b 1.10.2 -Python-3.6.3 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#cython","title":"Cython","text":"

            Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex).

            homepage: https://cython.org/

            version versionsuffix toolchain 0.23.4 -Python-2.7.10 gimkl/2.11.5 0.24.1 -Python-2.7.11 foss/2016a 0.25.2 -Python-2.7.12 foss/2016b 0.25.2 -Python-3.6.4 intel/2018a 0.27.3 -Python-2.7.15 GCCcore/8.2.0 0.29.10 -Python-2.7.14 foss/2017b, intel/2017b 0.29.10 -Python-3.6.3 foss/2017b, intel/2017b 0.29.22 GCCcore/10.2.0 0.29.33 GCCcore/11.3.0 3.0a5 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#cython-blis","title":"cython-blis","text":"

            Fast BLAS-like operations from Python and Cython, without the tears. Provides the Blis linear algebra routines as a self-contained Python C-extension.

            homepage: https://github.com/explosion/cython-blis

            version toolchain 0.9.1 foss/2022a"},{"location":"version-specific/supported-software/#cytoolz","title":"cytoolz","text":"

            Cython implementation of the toolz package, which provides high performance utility functions for iterables, functions, and dictionaries.

            homepage: https://github.com/pytoolz/cytoolz

            version versionsuffix toolchain 0.10.1 -Python-3.6.6 foss/2018b 0.10.1 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#cytoscape","title":"Cytoscape","text":"

            Cytoscape is an open source software platform for visualizing complex networks and integrating these with any type of attribute data. A lot of Apps are available for various kinds of problem domains, including bioinformatics, social network analysis, and semantic web.

            homepage: https://cytoscape.org/

            version versionsuffix toolchain 3.9.1 -Java-11 system"},{"location":"version-specific/supported-software/#cytosim","title":"cytosim","text":"

            Cytosim is a cytoskeleton simulation engine written in C++ working on Mac OS, GNU/Linux and Windows (with Cygwin).

            homepage: https://github.com/nedelec/cytosim

            version versionsuffix toolchain 20190117 -mkl gomkl/2019a"},{"location":"version-specific/supported-software/#cyvcf2","title":"cyvcf2","text":"

            cython + htslib == fast VCF and BCF processing

            homepage: https://github.com/brentp/cyvcf2

            version versionsuffix toolchain 0.10.10 -Python-3.6.6 foss/2018b 0.11.5 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#d","title":"D","text":"

            dadi - dagitty - Dakota - DALI - DaliLite - Dalton - damageproto - dammit - DANPOS2 - DAS_Tool - dask - dask-labextension - datamash - davix - DB - DB_File - DBCSR - DBD-mysql - DBG2OLC - DBus - dbus-glib - dclone - dcm2niix - DCMTK - dd - deal.II - deap - decona - deconf - DeconICA - deepdiff - DeepLabCut - deepmedic - DeepMod2 - DeepSurv - deepTools - DEICODE - Delly - DeMixT - DendroPy - DensPart - Deprecated - destiny - Detectron2 - detonate - Devito - DFA - DFT-D3 - DFT-D4 - DFTB+ - dftd3-lib - DGL - DIAL - DIALOGUE - DIAMOND - Dice - DiCE-ML - dicom2nifti - DicomBrowser - Diffutils - dijitso - dill - DIRAC - distributed - DistributedStream - DL_POLY_4 - DL_POLY_Classic - dlb - dlib - DLPack - dm-haiku - dm-reverb - dm-tree - DMCfun - DMLC-Core - DMTCP - DOLFIN - dominate - dorado - Doris - DosageConvertor - dotNET-Core-Runtime - dotNET-SDK - double-conversion - DoubletFinder - Doxygen - DRAGMAP - Drake - dRep - DROP - dropEst - DSA - dSFMT - DSRC - Dsuite - dtcmp - dtcwt - DualSPHysics - DUBStepR - dune-core - dune-fem - duplex-tools - dx-toolkit - dxpy - DyMat

            "},{"location":"version-specific/supported-software/#dadi","title":"dadi","text":"

            \u2202a\u2202i implements methods for demographic history and selection inference from genetic data, based on diffusion approximations to the allele frequency spectrum.

            homepage: https://bitbucket.org/gutenkunstlab/dadi

            version versionsuffix toolchain 1.7.0 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#dagitty","title":"dagitty","text":"

            A port of the web-based software 'DAGitty', available at http://dagitty.net, for analyzing structural causal models (also known as directed acyclic graphs or DAGs). This package computes covariate adjustment sets for estimating causal effects, enumerates instrumental variables, derives testable implications (d-separation and vanishing tetrads), generates equivalent models, and includes a simple facility for data simulation.

            homepage: https://cran.r-project.org/web/packages/dagitty/

            version versionsuffix toolchain 0.2-2 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#dakota","title":"Dakota","text":"

            The Dakota project delivers both state-of-the-art research and robust, usable software for optimization and UQ. Broadly, the Dakota software's advanced parametric analyses enable design exploration, model calibration, risk analysis, and quantification of margins and uncertainty with computational models.

            homepage: https://dakota.sandia.gov/

            version toolchain 6.16.0 foss/2021b"},{"location":"version-specific/supported-software/#dali","title":"DALI","text":"

            R-package for the analysis of single-cell TCR/BCR data in the Seurat ecosystem

            homepage: https://github.com/vibscc/DALI

            version versionsuffix toolchain 2.1.2 -R-4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#dalilite","title":"DaliLite","text":"

            DaliLite is a light version of the software run by the Dali server. The web server has search and data visualization options which are not included in this package. DaliLite supports data import (import.pl) to convert PDB entries to Dali's internal data format and pairwise comparison (dali.pl) to structurally align a list of query structures to a list of target structures.

            homepage: http://ekhidna2.biocenter.helsinki.fi/dali/

            version toolchain 4.1 gompi/2021a"},{"location":"version-specific/supported-software/#dalton","title":"Dalton","text":"

            The Dalton code is a powerful tool for a wide range of molecular properties at different levels of theory. Any published work arising from use of one of the Dalton2016 programs must acknowledge that by a proper reference, https://www.daltonprogram.org/www/citation.html.

            homepage: https://daltonprogram.org/

            version versionsuffix toolchain 2016 -i8 intel/2017b 2020.0 foss/2021a 2020.1 foss/2022b"},{"location":"version-specific/supported-software/#damageproto","title":"damageproto","text":"

            X protocol and ancillary headers for xinerama

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.2.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#dammit","title":"dammit","text":"

            dammit is a simple de novo transcriptome annotator. It was born out of the observations that annotation is mundane and annoying, all the individual pieces of the process exist already, and the existing solutions are overly complicated or rely on crappy non-free software.

            homepage: http://www.camillescott.org/dammit/

            version versionsuffix toolchain 0.3.2 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#danpos2","title":"DANPOS2","text":"

            A toolkit for Dynamic Analysis of Nucleosome and Protein Occupancy by Sequencing, version 2

            homepage: https://sites.google.com/site/danposdoc

            version versionsuffix toolchain 2.2.2 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#das_tool","title":"DAS_Tool","text":"

            DAS Tool is an automated method that integrates the results of a flexible number of binning algorithms to calculate an optimized, non-redundant set of bins from a single assembly.

            homepage: https://github.com/cmks/DAS_Tool

            version versionsuffix toolchain 1.1.1 -R-3.5.1-Python-2.7.15 foss/2018b 1.1.1 -R-4.1.2 foss/2021b 1.1.3 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#dask","title":"dask","text":"

            Dask natively scales Python. Dask provides advanced parallelism for analytics, enabling performance at scale for the tools you love.

            homepage: https://dask.org/

            version versionsuffix toolchain 0.8.2 -Python-2.7.11 intel/2016a 0.8.2 -Python-3.5.1 intel/2016a 0.11.0 -Python-2.7.11 foss/2016a 0.11.0 -Python-2.7.12 intel/2016b 0.11.0 -Python-3.5.2 intel/2016b 0.12.0 -Python-2.7.12 intel/2016b 0.12.0 -Python-3.5.2 foss/2016b, intel/2016b 0.16.0 -Python-2.7.14 foss/2017b, intel/2017b 0.16.0 -Python-3.6.3 foss/2017b, intel/2017b 0.17.0 -Python-2.7.13 foss/2017a, intel/2017a 0.17.0 -Python-3.6.1 intel/2017a 0.17.2 -Python-3.6.4 foss/2018a, intel/2018a 0.19.4 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 1.0.0 -Python-3.6.6 foss/2018b, intel/2018b 1.1.4 -Python-2.7.15 fosscuda/2018b 2.3.0 -Python-3.7.2 foss/2019a 2.8.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 2.18.1 -Python-3.8.2 foss/2020a, intel/2020a 2021.2.0 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 2021.9.1 foss/2021a 2022.1.0 foss/2021b 2022.10.0 foss/2022a"},{"location":"version-specific/supported-software/#dask-labextension","title":"dask-labextension","text":"

            This package provides a JupyterLab extension to manage Dask clusters, as well as embed Dask's dashboard plots directly into JupyterLab panes.

            homepage: https://github.com/dask/dask-labextension

            version toolchain 6.0.0 foss/2022a"},{"location":"version-specific/supported-software/#datamash","title":"datamash","text":"

            GNU datamash performs basic numeric, textual and statistical operations on input data files

            homepage: https://www.gnu.org/software/datamash/

            version toolchain 1.3 foss/2018a 1.5 GCCcore/10.2.0, GCCcore/7.3.0, GCCcore/8.3.0 1.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#davix","title":"davix","text":"

            The davix project aims to make file management over HTTP-based protocols simple. The focus is on high-performance remote I/O and data management of large collections of files. Currently, there is support for the WebDav (link is external), Amazon S3 (link is external), Microsoft Azure (link is external), and HTTP (link is external) protocols.

            homepage: https://dmc.web.cern.ch/projects/davix/home

            version toolchain 0.6.6 intel/2017a 0.7.5 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#db","title":"DB","text":"

            Berkeley DB enables the development of custom data management solutions, without the overhead traditionally associated with such custom projects.

            homepage: http://www.oracle.com/technetwork/products/berkeleydb

            version toolchain 4.8.30 intel/2016a 6.2.23 foss/2016a 6.2.32 GCCcore/6.4.0, intel/2017a 18.1.25 GCCcore/7.3.0 18.1.32 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 18.1.40 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.2.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#db_file","title":"DB_File","text":"

            Perl5 access to Berkeley DB version 1.x.

            homepage: https://perldoc.perl.org/DB_File.html

            version versionsuffix toolchain 1.835 GCCcore/9.3.0 1.835 -Perl-5.20.3 intel/2016a 1.835 -Perl-5.22.1 foss/2016a 1.855 GCCcore/10.2.0 1.856 GCCcore/10.3.0 1.857 GCCcore/11.2.0 1.858 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dbcsr","title":"DBCSR","text":"

            DBCSR stands for Distributed Blocked Compressed Sparse Row. DBCSR is a library designed to efficiently perform sparse matrix-matrix multiplication, among other operations.

            homepage: https://cp2k.github.io/dbcsr/develop/

            version toolchain 2.5.0 foss/2021b"},{"location":"version-specific/supported-software/#dbd-mysql","title":"DBD-mysql","text":"

            Perl binding for MySQL

            homepage: https://metacpan.org/pod/distribution/DBD-mysql/lib/DBD/mysql.pm

            version versionsuffix toolchain 4.032 -Perl-5.22.2 intel/2016a 4.033 -Perl-5.24.0 intel/2016b 4.042 -Perl-5.24.1 intel/2017a 4.046 -Perl-5.26.0 foss/2017b, intel/2017b 4.046 -Perl-5.26.1 intel/2018a 4.048 -Perl-5.28.0 foss/2018b 4.050 GCC/10.2.0, GCC/11.2.0, GCC/11.3.0 4.050 -Perl-5.28.1 foss/2019a"},{"location":"version-specific/supported-software/#dbg2olc","title":"DBG2OLC","text":"

            DBG2OLC:Efficient Assembly of Large Genomes Using Long Erroneous Reads of the Third Generation Sequencing Technologies

            homepage: https://github.com/yechengxi/DBG2OLC

            version toolchain 20170208 intel/2016b, intel/2017a 20180221 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28 20200724 GCC/11.3.0"},{"location":"version-specific/supported-software/#dbus","title":"DBus","text":"

            D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed.

            homepage: https://dbus.freedesktop.org/

            version toolchain 1.10.8 foss/2016a, intel/2016a 1.10.12 intel/2016b 1.10.20 GCCcore/6.4.0 1.11.20 intel/2017a 1.13.0 intel/2017b 1.13.6 GCCcore/6.4.0, GCCcore/7.3.0 1.13.8 GCCcore/8.2.0 1.13.12 GCCcore/8.3.0, GCCcore/9.3.0 1.13.18 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.14.0 GCCcore/11.3.0 1.15.2 GCCcore/12.2.0 1.15.4 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#dbus-glib","title":"dbus-glib","text":"

            D-Bus is a message bus system, a simple way for applications to talk to one another.

            homepage: https://dbus.freedesktop.org/doc/dbus-glib

            version toolchain 0.106 foss/2016a, intel/2016a 0.108 intel/2016b, intel/2017a 0.110 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, intel/2017b 0.112 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dclone","title":"dclone","text":"

            Low level functions for implementing maximum likelihood estimating procedures for complex models using data cloning and Bayesian Markov chain Monte Carlo methods

            homepage: https://cran.r-project.org/web/packages/dclone

            version versionsuffix toolchain 2.3-0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#dcm2niix","title":"dcm2niix","text":"

            dcm2niix is designed to convert neuroimaging data from the DICOM format to the NIfTI format.

            homepage: https://github.com/rordenlab/dcm2niix

            version toolchain 1.0.20180622 GCCcore/6.4.0, GCCcore/7.3.0 1.0.20190902 GCCcore/7.3.0, GCCcore/8.2.0 1.0.20200331 GCCcore/8.3.0 1.0.20201102 GCCcore/8.3.0 1.0.20211006 GCCcore/10.3.0 1.0.20220720 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dcmtk","title":"DCMTK","text":"

            DCMTK is a collection of libraries and applications implementing large parts the DICOM standard. It includes software for examining, constructing and converting DICOM image files, handling offline media, sending and receiving images over a network connection, as well as demonstrative image storage and worklist servers.

            homepage: https://dicom.offis.de/dcmtk

            version toolchain 3.6.3 GCCcore/7.3.0 3.6.5 GCCcore/8.2.0, GCCcore/8.3.0 3.6.6 GCCcore/10.3.0, GCCcore/11.2.0 3.6.7 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dd","title":"dd","text":"

            dd is a package for working with binary decision diagrams that includes both a pure Python implementation and Cython bindings to C libraries (CUDD, Sylvan, BuDDy). The Python and Cython modules implement the same API, so the same user code runs with both. All the standard operations on BDDs are available, including dynamic variable reordering using sifting, garbage collection, dump/load from files, plotting, and a parser of quantified Boolean expressions. This module includes bindings for: CUDD v3.0.0, Sylvan v1.0.0

            homepage: https://github.com/tulip-control/dd

            version versionsuffix toolchain 0.5.6 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#dealii","title":"deal.II","text":"

            deal.II is a C++ program library targeted at the computational solution of partial differential equations using adaptive finite elements.

            homepage: https://www.dealii.org

            version toolchain 9.1.1 foss/2019a, intel/2019a 9.3.3 foss/2021a"},{"location":"version-specific/supported-software/#deap","title":"deap","text":"

            DEAP is a novel evolutionary computation framework for rapid prototyping and testing of ideas. It seeks to make algorithms explicit and data structures transparent.

            homepage: http://deap.readthedocs.org/en/master/

            version versionsuffix toolchain 0.9.2 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#decona","title":"decona","text":"

            fastq to polished sequenses: pipeline suitable for mixed samples and long (Nanopore) reads

            homepage: https://github.com/Saskia-Oosterbroek/decona

            version versionsuffix toolchain 0.1.2 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#deconf","title":"deconf","text":"

            decomposition (deconfounding) of OMICS datasets in heterogeneous tissues

            homepage: http://web.cbio.uct.ac.za/~renaud/CRAN/

            version versionsuffix toolchain 1.0.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#deconica","title":"DeconICA","text":"

            Deconvolution of transcriptome through Immune Component Analysis (DeconICA) is an R package for identifying immune-related signals in transcriptome through deconvolution or unsupervised source separation methods.

            homepage: https://urszulaczerwinska.github.io/DeconICA

            version versionsuffix toolchain 0.1.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#deepdiff","title":"deepdiff","text":"

            DeepDiff: Deep Difference of dictionaries, iterables and almost any other object recursively.

            homepage: https://zepworks.com/deepdiff/current/

            version versionsuffix toolchain 3.3.0 -Python-2.7.15 intel/2018b 3.3.0 -Python-3.6.6 foss/2018b, intel/2018b 4.0.6 -Python-3.7.2 GCCcore/8.2.0 5.0.2 -Python-3.7.4 GCCcore/8.3.0 5.7.0 GCCcore/11.2.0 5.8.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#deeplabcut","title":"DeepLabCut","text":"

            Markerless tracking of user-defined features with deep learning

            homepage: http://www.mousemotorlab.org/deeplabcut

            version versionsuffix toolchain 2.2.0.6 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#deepmedic","title":"deepmedic","text":"

            Efficient Multi-Scale 3D Convolutional Neural Network for Segmentation of 3D Medical Scans.

            homepage: https://biomedia.doc.ic.ac.uk/software/deepmedic/

            version versionsuffix toolchain 0.8.2 foss/2021a 0.8.2 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#deepmod2","title":"DeepMod2","text":"

            DeepMod2 is a computational tool for detecting DNA methylation and modifications from Oxford Nanopore reads.

            homepage: https://github.com/WGLab/DeepMod2

            version toolchain 0.0.1 foss/2021a"},{"location":"version-specific/supported-software/#deepsurv","title":"DeepSurv","text":"

            DeepSurv is a deep learning approach to survival analysis.

            homepage: https://github.com/jaredleekatzman/DeepSurv

            version versionsuffix toolchain 2.0.0-20180922 -Python-3.6.6 fosscuda/2018b"},{"location":"version-specific/supported-software/#deeptools","title":"deepTools","text":"

            deepTools is a suite of python tools particularly developed for the efficient analysis of high-throughput sequencing data, such as ChIP-seq, RNA-seq or MNase-seq.

            homepage: https://deeptools.readthedocs.io/

            version versionsuffix toolchain 2.5.4 -Python-3.6.3 intel/2017b 3.3.1 -Python-3.6.6 foss/2018b 3.3.1 -Python-3.7.4 intel/2019b 3.3.1 -Python-3.8.2 foss/2020a 3.5.0 foss/2021a 3.5.1 foss/2021b 3.5.2 foss/2022a"},{"location":"version-specific/supported-software/#deicode","title":"DEICODE","text":"

            DEICODE is a form of Aitchison Distance that is robust to high levels of sparsity. DEICODE utilizes a natural solution to the zero problem formulated in recommendation systems called matrix completion. A simple way to interpret the method is, as a robust compositional PCA (via SVD) where zero values do not influence the resulting ordination.

            homepage: https://library.qiime2.org/plugins/deicode/19/

            version toolchain 0.2.4 foss/2022a"},{"location":"version-specific/supported-software/#delly","title":"Delly","text":"

            Delly is an integrated structural variant (SV) prediction method that can discover, genotype and visualize deletions, tandem duplications, inversions and translocations at single-nucleotide resolution in short-read massively parallel sequencing data. It uses paired-ends, split-reads and read-depth to sensitively and accurately delineate genomic rearrangements throughout the genome.

            homepage: https://github.com/dellytools/delly/

            version versionsuffix toolchain 0.7.8 -linux_x86_64 system 0.8.7 gompi/2020b 1.1.5 GCC/11.3.0"},{"location":"version-specific/supported-software/#demixt","title":"DeMixT","text":"

            Cell type-specific deconvolution of heterogeneous tumor samples with two or three components using expression data from RNAseq or microarray platforms.

            homepage: https://bioinformatics.mdanderson.org/main/DeMixT

            version versionsuffix toolchain 0.2.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#dendropy","title":"DendroPy","text":"

            A Python library for phylogenetics and phylogenetic computing: reading, writing, simulation, processing and manipulation of phylogenetic trees (phylogenies) and characters.

            homepage: https://dendropy.org/

            version versionsuffix toolchain 4.4.0 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2019a 4.4.0 -Python-2.7.15 intel/2018b 4.5.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 4.5.2 -Python-2.7.18 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#denspart","title":"DensPart","text":"

            Atoms-in-molecules density partitioning schemes based on stockholder recipe

            homepage: https://github.com/theochem/denspart

            version toolchain 20220603 intel/2022a"},{"location":"version-specific/supported-software/#deprecated","title":"Deprecated","text":"

            If you need to mark a function or a method as deprecated, you can use the @deprecated decorator.

            homepage: https://github.com/tantale/deprecated

            version toolchain 1.2.13 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#destiny","title":"destiny","text":"

            R packages to create and plot diffusion maps.

            homepage: https://bioconductor.org/packages/destiny

            version versionsuffix toolchain 2.5.6 -R-3.4.0 intel/2017a"},{"location":"version-specific/supported-software/#detectron2","title":"Detectron2","text":"

            Detectron2 is Facebook AI Research's next generation library that provides state-of-the-art detection and segmentation algorithms. It is the successor of Detectron and maskrcnn-benchmark. It supports a number of computer vision research projects and production applications in Facebook.

            homepage: https://github.com/facebookresearch/detectron2

            version versionsuffix toolchain 0.6 foss/2021a 0.6 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#detonate","title":"detonate","text":"

            DETONATE (DE novo TranscriptOme rNa-seq Assembly with or without the Truth Evaluation) consists of two component packages, RSEM-EVAL and REF-EVAL. Both packages are mainly intended to be used to evaluate de novo transcriptome assemblies, although REF-EVAL can be used to compare sets of any kinds of genomic sequences.

            homepage: http://deweylab.biostat.wisc.edu/detonate/

            version toolchain 1.11 intel/2017b"},{"location":"version-specific/supported-software/#devito","title":"Devito","text":"

            Devito is a domain-specific Language (DSL) and code generation framework for performing optimised Finite Difference (FD) computation from high-level symbolic problem definitions. Devito performs automated code generation and Just-In-time (JIT) compilation based on symbolic equations defined in SymPy to create and execute highly optimised Finite Difference stencil kernels on multiple computer platforms.

            homepage: https://www.devitoproject.org

            version versionsuffix toolchain 4.6.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#dfa","title":"DFA","text":"

            Python library for modeling DFAs, Moore Machines, and Transition Systems.

            homepage: https://github.com/mvcisback/dfa

            version versionsuffix toolchain 0.3.4 -Python-3.8.2 GCCcore/9.3.0 2.1.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#dft-d3","title":"DFT-D3","text":"

            DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical quantum chemical methods.

            homepage: https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3

            version toolchain 3.2.0 GCC/8.3.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0, intel/2019a"},{"location":"version-specific/supported-software/#dft-d4","title":"DFT-D4","text":"

            Generally Applicable Atomic-Charge Dependent London Dispersion Correction.

            homepage: https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dftd4

            version versionsuffix toolchain 3.2.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#dftb","title":"DFTB+","text":"

            DFTB+ is a fast and efficient versatile quantum mechanical simulation package. It is based on the Density Functional Tight Binding (DFTB) method, containing almost all of the useful extensions which have been developed for the DFTB framework so far. Using DFTB+ you can carry out quantum mechanical simulations like with ab-initio density functional theory based packages, but in an approximate way gaining typically around two order of magnitude in speed.

            homepage: https://www.dftb-plus.info

            version versionsuffix toolchain 1.3.1 intel/2017a 17.1 -Python-2.7.14 intel/2017b 19.1 -Python-2.7.16 foss/2019b 19.1 -Python-2.7.16-mpi foss/2019b 21.1 intel/2021a"},{"location":"version-specific/supported-software/#dftd3-lib","title":"dftd3-lib","text":"

            This is a repackaged version of the DFTD3 program by S. Grimme and his coworkers. The original program (V3.1 Rev 1) was downloaded at 2016-04-03. It has been converted to free format and encapsulated into modules.

            homepage: https://github.com/dftbplus/dftd3-lib

            version toolchain 0.9 GCC/8.3.0, intel-compilers/2021.2.0"},{"location":"version-specific/supported-software/#dgl","title":"DGL","text":"

            DGL is an easy-to-use, high performance and scalable Python package for deep learning on graphs. DGL is framework agnostic, meaning if a deep graph model is a component of an end-to-end application, the rest of the logics can be implemented in any major frameworks, such as PyTorch, Apache MXNet or TensorFlow.

            homepage: https://www.dgl.ai

            version versionsuffix toolchain 0.6.1 -Python-3.7.4-PyTorch-1.8.1 fosscuda/2019b 0.9.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#dial","title":"DIAL","text":"

            DIAL (De novo Identification of Alleles) is a collection of programs to automate the discovery of alleles for a species where we lack a reference sequence. The SNPs/alleles are specifically selected for a low error rate in genotyping assays.

            homepage: http://www.bx.psu.edu/miller_lab/

            version toolchain 2011.06.06 foss/2016a"},{"location":"version-specific/supported-software/#dialogue","title":"DIALOGUE","text":"

            DIALOGUE is a dimensionality reduction method that uses cross-cell-type associations to identify multicellular programs (MCPs) and map the cell transcriptome as a function of its environment.

            homepage: https://github.com/livnatje/DIALOGUE

            version versionsuffix toolchain 1.0-20230228 -R-4.2.0 foss/2021b"},{"location":"version-specific/supported-software/#diamond","title":"DIAMOND","text":"

            Accelerated BLAST compatible local sequence aligner

            homepage: https://github.com/bbuchfink/diamond

            version toolchain 0.9.22 foss/2018a, foss/2018b, intel/2018a, intel/2018b 0.9.24 iccifort/2019.1.144-GCC-8.2.0-2.31.1 0.9.30 GCC/8.3.0, iccifort/2019.5.281 0.9.36 GCC/9.3.0 2.0.4 GCC/9.3.0 2.0.6 GCC/7.3.0-2.30 2.0.7 GCC/10.2.0 2.0.11 GCC/10.3.0 2.0.13 GCC/10.3.0, GCC/11.2.0 2.1.0 GCC/11.3.0 2.1.8 GCC/10.3.0"},{"location":"version-specific/supported-software/#dice","title":"Dice","text":"

            Dice contains code for performing SHCI, VMC, GFMC, DMC, FCIQMC, stochastic MRCI and SC-NEVPT2, and AFQMC calculations with a focus on ab initio systems.

            homepage: https://github.com/sanshar/Dice

            version toolchain 20221025 foss/2022a"},{"location":"version-specific/supported-software/#dice-ml","title":"DiCE-ML","text":"

            Diverse Counterfactual Explanations (DiCE) for ML

            homepage: https://interpret.ml/DiCE

            version toolchain 0.9 foss/2022a"},{"location":"version-specific/supported-software/#dicom2nifti","title":"dicom2nifti","text":"

            Python library for converting dicom files to nifti

            homepage: https://github.com/icometrix/dicom2nifti

            version versionsuffix toolchain 2.2.12 -Python-3.8.2 foss/2020a 2.3.0 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#dicombrowser","title":"DicomBrowser","text":"

            DicomBrowser is an application for inspecting and modifying DICOM metadata in many files at once.

            homepage: http://nrg.wustl.edu/software/dicom-browser/

            version versionsuffix toolchain 1.7.0b5 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#diffutils","title":"Diffutils","text":"

            Diffutils: GNU diff utilities - find the differences between files

            homepage: http://www.gnu.org/software/diffutils/diffutils.html

            version toolchain 3.3 GCC/4.8.2"},{"location":"version-specific/supported-software/#dijitso","title":"dijitso","text":"

            dijitso is a Python module for distributed just-in-time shared library building.

            homepage: https://bitbucket.org/fenics-project/dijitso

            version versionsuffix toolchain 2019.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#dill","title":"dill","text":"

            dill extends python's pickle module for serializing and de-serializing python objects to the majority of the built-in python types. Serialization is the process of converting an object to a byte stream, and the inverse of which is converting a byte stream back to on python object hierarchy.

            homepage: https://pypi.org/project/dill/

            version toolchain 0.3.0 GCCcore/8.2.0 0.3.3 GCCcore/10.2.0, GCCcore/8.3.0 0.3.4 GCCcore/10.3.0, GCCcore/11.2.0 0.3.6 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dirac","title":"DIRAC","text":"

            DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations

            homepage: http://www.diracprogram.org

            version versionsuffix toolchain 19.0 -Python-2.7.18-int64 intel/2020a 19.0 -Python-2.7.18-mpi-int64 intel/2020a 22.0 foss/2021a, intel/2021a 22.0 -int64 intel/2021a 23.0 foss/2022a, foss/2022b, intel/2022a, intel/2022b 23.0 -int64 intel/2022b"},{"location":"version-specific/supported-software/#distributed","title":"distributed","text":"

            Dask.distributed is a lightweight library for distributed computing in Python. It extends both the concurrent.futures and dask APIs to moderate sized clusters.

            homepage: https://distributed.readthedocs.io/

            version versionsuffix toolchain 1.14.3 -Python-2.7.12 intel/2016b 1.14.3 -Python-3.5.2 intel/2016b 1.21.6 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#distributedstream","title":"DistributedStream","text":"

            A MPI distributed stream benchmark, useful to identifying nodes with poor memory performance and characterising memory bandwidth variation over systems.

            homepage: https://github.com/adrianjhpc/DistributedStream

            version toolchain 1.0 gompi/2021a"},{"location":"version-specific/supported-software/#dl_poly_4","title":"DL_POLY_4","text":"

            DL_POLY is a general purpose classical molecular dynamics (MD) simulation software

            homepage: https://www.scd.stfc.ac.uk/Pages/DL_POLY.aspx

            version toolchain 5.0.0 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#dl_poly_classic","title":"DL_POLY_Classic","text":"

            DL_POLY Classic is a freely available molecular dynamics program developed from the DL_POLY_2 package. This version does not install the java gui.

            homepage: http://ccpforge.cse.rl.ac.uk/gf/project/dl_poly_classic/

            version versionsuffix toolchain 1.9 intel/2016b 1.9 -PLUMED-2.2.3 intel/2016b 1.10 foss/2019b, intel/2019b"},{"location":"version-specific/supported-software/#dlb","title":"dlb","text":"

            DLB is a dynamic library designed to speed up HPC hybrid applications (i.e., two levels of parallelism) by improving the load balance of the outer level of parallelism (e.g., MPI) by dynamically redistributing the computational resources at the inner level of parallelism (e.g., OpenMP). at run time.

            homepage: https://pm.bsc.es/dlb/

            version toolchain 3.2 gompi/2022a, iimpi/2022a 3.3.1 gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#dlib","title":"dlib","text":"

            Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. It is used in both industry and academia in a wide range of domains including robotics, embedded devices, mobile phones, and large high performance computing environments.

            homepage: https://github.com/davisking/dlib

            version versionsuffix toolchain 19.22 foss/2021a 19.22 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#dlpack","title":"DLPack","text":"

            DLPack is a stable in-memory data structure for an ndarray system to interact with a variety of frameworks.

            homepage: https://dmlc.github.io/dlpack/latest/

            version toolchain 0.3 GCC/10.3.0"},{"location":"version-specific/supported-software/#dm-haiku","title":"dm-haiku","text":"

            Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet, a neural network library for TensorFlow.

            homepage: https://github.com/deepmind/dm-haiku

            version versionsuffix toolchain 0.0.9 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#dm-reverb","title":"dm-reverb","text":"

            Reverb is an efficient and easy-to-use data storage and transport system designed for machine learning research. Reverb is primarily used as an experience replay system for distributed reinforcement learning algorithms but the system also supports multiple data structure representations such as FIFO, LIFO, and priority queues.

            homepage: https://github.com/deepmind/reverb

            version toolchain 0.2.0 foss/2020b 0.7.0 foss/2021b"},{"location":"version-specific/supported-software/#dm-tree","title":"dm-tree","text":"

            dm-tree provides tree, a library for working with nested data structures. In a way, tree generalizes the builtin map function which only supports flat sequences, and allows to apply a function to each \"leaf\" preserving the overall structure.

            homepage: https://github.com/deepmind/tree

            version toolchain 0.1.1 GCCcore/8.3.0 0.1.5 GCCcore/10.2.0 0.1.6 GCCcore/10.3.0, GCCcore/11.2.0 0.1.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dmcfun","title":"DMCfun","text":"

            Diffusion Model of Conflict (DMC) in Reaction Time Tasks

            homepage: https://cran.r-project.org/web/packages/DMCfun

            version versionsuffix toolchain 1.3.0 -R-3.6.2 foss/2019b"},{"location":"version-specific/supported-software/#dmlc-core","title":"DMLC-Core","text":"

            DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries.

            homepage: https://dmlc-core.readthedocs.io/en/latest

            version toolchain 0.5 GCC/10.3.0"},{"location":"version-specific/supported-software/#dmtcp","title":"DMTCP","text":"

            DMTCP is a tool to transparently checkpoint the state of multiple simultaneous applications, including multi-threaded and distributed applications. It operates directly on the user binary executable, without any Linux kernel modules or other kernel modifications.

            homepage: http://dmtcp.sourceforge.net/index.html

            version toolchain 2.4.5 system 2.5.0 foss/2016a 2.5.1 system 2.5.2 GCCcore/8.3.0, foss/2016b, foss/2018b 2.6.0 GCCcore/8.2.0, GCCcore/9.3.0 3.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dolfin","title":"DOLFIN","text":"

            DOLFIN is the C++/Python interface of FEniCS, providing a consistent PSE (Problem Solving Environment) for ordinary and partial differential equations.

            homepage: https://bitbucket.org/fenics-project/dolfin

            version versionsuffix toolchain 2018.1.0.post1 -Python-3.6.4 foss/2018a 2019.1.0.post0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#dominate","title":"dominate","text":"

            Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API. It allows you to write HTML pages in pure Python very concisely, which eliminates the need to learn another template language, and lets you take advantage of the more powerful features of Python.

            homepage: https://github.com/Knio/dominate/

            version toolchain 2.8.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dorado","title":"dorado","text":"

            Dorado is a high-performance, easy-to-use, open source basecaller for Oxford Nanopore reads.

            homepage: https://github.com/nanoporetech/dorado

            version versionsuffix toolchain 0.1.1 -CUDA-11.7.0 foss/2022a 0.3.0 -CUDA-11.7.0 foss/2022a 0.3.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#doris","title":"Doris","text":"

            Delft object-oriented radar interferometric software

            homepage: http://doris.tudelft.nl/

            version toolchain 4.02 intel/2017a 4.04beta4 foss/2018a, intel/2017a 4.06beta2 intel/2017a"},{"location":"version-specific/supported-software/#dosageconvertor","title":"DosageConvertor","text":"

            DosageConvertor is a C++ tool to convert dosage files (in VCF format) from Minimac3/4 to other formats such as MaCH or PLINK. Please note that this tool CANNOT handle missing values in the input files and may NOT work for non-Minimac3/4 VCF files.

            homepage: http://genome.sph.umich.edu/wiki/DosageConvertor

            version toolchain 1.0.4 GCC/10.2.0"},{"location":"version-specific/supported-software/#dotnet-core-runtime","title":"dotNET-Core-Runtime","text":"

            .NET is a free, cross-platform, open source developer platform for building many different types of applications.

            homepage: https://www.microsoft.com/net/

            version toolchain 2.0.7 GCCcore/6.4.0 5.0.17 GCCcore/10.3.0 6.0.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#dotnet-sdk","title":"dotNET-SDK","text":"

            .NET is a free, cross-platform, open source developer platform for building many different types of applications.

            homepage: https://www.microsoft.com/net/

            version versionsuffix toolchain 3.1.300 -linux-x64 system 6.0.101 -linux-x64 system"},{"location":"version-specific/supported-software/#double-conversion","title":"double-conversion","text":"

            Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles.

            homepage: https://github.com/google/double-conversion

            version toolchain 3.0.3 foss/2018a 3.1.4 GCCcore/8.2.0, GCCcore/8.3.0 3.1.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 3.2.0 GCCcore/11.3.0 3.2.1 GCCcore/12.2.0 3.3.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#doubletfinder","title":"DoubletFinder","text":"

            R package for detecting doublets in single-cell RNA sequencing data

            homepage: https://github.com/chris-mcginnis-ucsf/DoubletFinder

            version versionsuffix toolchain 2.0.3 -R-4.0.0 foss/2020a 2.0.3-20230131 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#doxygen","title":"Doxygen","text":"

            Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.

            homepage: https://www.doxygen.org

            version toolchain 1.8.9.1 GCC/4.9.2 1.8.10 GNU/4.9.3-2.25, intel/2016.02-GCC-4.9 1.8.11 GCC/4.9.2, GCCcore/5.4.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 1.8.13 GCCcore/6.3.0, GCCcore/6.4.0, gimkl/2017a 1.8.14 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0 1.8.15 GCCcore/8.2.0 1.8.16 GCCcore/8.3.0 1.8.17 GCCcore/9.3.0 1.8.20 GCCcore/10.2.0 1.9.1 GCCcore/10.3.0, GCCcore/11.2.0 1.9.4 GCCcore/11.3.0 1.9.5 GCCcore/12.2.0 1.9.7 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#dragmap","title":"DRAGMAP","text":"

            Dragmap is the Dragen mapper/aligner Open Source Software.

            homepage: https://github.com/Illumina/DRAGMAP

            version toolchain 1.3.0 foss/2021b"},{"location":"version-specific/supported-software/#drake","title":"Drake","text":"

            Drake is a simple-to-use, extensible, text-based data workflow tool that organizes command execution around data and its dependencies.

            homepage: https://github.com/Factual/drake

            version versionsuffix toolchain 1.0.3 -Java-1.8 system"},{"location":"version-specific/supported-software/#drep","title":"dRep","text":"

            dRep is a python program which performs rapid pair-wise comparison of genome sets. One of it\u2019s major purposes is for genome de-replication, but it can do a lot more.

            homepage: https://drep.readthedocs.io/en/latest/

            version toolchain 3.0.0 foss/2021a 3.4.2 foss/2022a"},{"location":"version-specific/supported-software/#drop","title":"DROP","text":"

            Pipeline to find aberrant events in RNA-Seq data, useful for diagnosis of rare disorders

            homepage: https://gagneurlab-drop.readthedocs.io

            version versionsuffix toolchain 1.0.3 -R-4.0.3 foss/2020b 1.1.0 -R-4.0.3 foss/2020b 1.1.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#dropest","title":"dropEst","text":"

            Pipeline for initial analysis of droplet-based single-cell RNA-seq data

            homepage: https://github.com/hms-dbmi/dropEst

            version versionsuffix toolchain 0.7.1 -R-3.4.3 intel/2017b"},{"location":"version-specific/supported-software/#dsa","title":"DSA","text":"

            Digital Sorting Algorithm

            homepage: https://github.com/zhandong/DSA

            version versionsuffix toolchain 1.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#dsfmt","title":"dSFMT","text":"

            Double precision SIMD-oriented Fast Mersenne Twister.

            homepage: https://github.com/MersenneTwister-Lab/dSFMT

            version toolchain 2.2.5 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#dsrc","title":"DSRC","text":"

            DNA Sequence Reads Compression is an application designed for compression of data files containing reads from DNA sequencing in FASTQ format. The amount of such files can be huge, e.g., a few (or tens) of gigabytes, so a need for a robust data compression tool is clear. Usually universal compression programs like gzip or bzip2 are used for this purpose, but it is obvious that a specialized tool can work better.

            homepage: http://sun.aei.polsl.pl/dsrc

            version versionsuffix toolchain 2.0rc -linux-64-bit system"},{"location":"version-specific/supported-software/#dsuite","title":"Dsuite","text":"

            Fast calculation of the ABBA-BABA statistics across many populations/species

            homepage: https://github.com/millanek/Dsuite

            version toolchain 20190713 iccifort/2019.1.144-GCC-8.2.0-2.31.1 20210718 GCC/10.3.0, intel-compilers/2021.2.0"},{"location":"version-specific/supported-software/#dtcmp","title":"dtcmp","text":"

            The Datatype Comparison (DTCMP) Library provides pre-defined and user-defined comparison operations to compare the values of two items which can be arbitrary MPI datatypes. Using these comparison operations, the library provides various routines for manipulating data, which may be distributed over the processes of an MPI communicator.

            homepage: https://github.com/LLNL/dtcmp

            version toolchain 1.1.0 gompi/2019a, gompi/2020a, iimpi/2019a, iimpi/2020a 1.1.2 gompi/2020b 1.1.4 gompi/2022a"},{"location":"version-specific/supported-software/#dtcwt","title":"dtcwt","text":"

            Dual-Tree Complex Wavelet Transform library for Python

            homepage: https://github.com/rjw57/dtcwt

            version versionsuffix toolchain 0.12.0 -Python-2.7.15 foss/2018b 0.12.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#dualsphysics","title":"DualSPHysics","text":"

            DualSPHysics is based on the Smoothed Particle Hydrodynamics model named SPHysics. The code is developed to study free-surface flow phenomena where Eulerian methods can be difficult to apply, such as waves or impact of dam-breaks on off-shore structures. DualSPHysics is a set of C++, CUDA and Java codes designed to deal with real-life engineering problems.

            homepage: https://dual.sphysics.org/

            version versionsuffix toolchain 5.0.175 GCC/11.2.0 5.0.175 -CUDA-%(cudaver)s GCC/11.2.0"},{"location":"version-specific/supported-software/#dubstepr","title":"DUBStepR","text":"

            DUBStepR (Determining the Underlying Basis using Step-wise Regression) is a feature selection algorithm for cell type identification in single-cell RNA-sequencing data.

            homepage: https://github.com/prabhakarlab/DUBStepR

            version versionsuffix toolchain 1.2.0 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#dune-core","title":"dune-core","text":"

            The Dune core modules build the stable basis of Dune. They follow a consistent release cycle and have high requirements regarding stability and backwards compatibility. These modules build the foundation for higher-level components.

            homepage: https://www.dune-project.org/groups/core/

            version toolchain 2.8.0.post1 foss/2020b"},{"location":"version-specific/supported-software/#dune-fem","title":"dune-fem","text":"

            DUNE-FEM is a discretization module based on DUNE containing all the building blocks required to implement efficient solvers for a wide range of (systems of non linear) partial differential equations. DUNE-FEM can also be used through an extensive Python interface which brings all components of DUNE-FEM and the DUNE core modules to Python.

            homepage: https://www.dune-project.org/modules/dune-fem/

            version toolchain 2.8.0.6 foss/2020b"},{"location":"version-specific/supported-software/#duplex-tools","title":"duplex-tools","text":"

            Duplex Tools contains a set of utilities for dealing with Duplex sequencing data. Tools are provided to identify and prepare duplex pairs for basecalling by Dorado (recommended) and Guppy, and for recovering simplex basecalls from incorrectly concatenated pairs.

            homepage: https://github.com/nanoporetech/duplex-tools

            version toolchain 0.3.1 foss/2022a 0.3.3 foss/2022a"},{"location":"version-specific/supported-software/#dx-toolkit","title":"dx-toolkit","text":"

            The DNAnexus Platform SDK - also called dx-toolkit - includes the dx command-line client; tools for building and debugging apps; utilities for working with DNA data on the DNAnexus Platform; and Python, Java, C++ and R bindings for working on the DNAnexus Platform.

            homepage: https://documentation.dnanexus.com/downloads#dnanexus-platform-sdk

            version toolchain 0.350.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#dxpy","title":"dxpy","text":"

            DNAnexus Platform API bindings for Python

            homepage: http://autodoc.dnanexus.com/

            version versionsuffix toolchain 0.266.1 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#dymat","title":"DyMat","text":"

            Read and process result files from Dymola and OpenModelica with Python.

            homepage: https://www.j-raedler.de/projects/DyMat

            version versionsuffix toolchain 0.7 -2020-12-12 foss/2021b"},{"location":"version-specific/supported-software/#e","title":"E","text":"

            E-ANTIC - ea-utils - earthengine-api - easel - EasyBuild - EasyQC - ecBuild - ecCodes - eccodes-python - ecFlow - ED2 - EDirect - edlib - EggLib - eggnog-mapper - EGTtools - eht-imaging - Eigen - EigenExa - EIGENSOFT - einops - elastix - elbencho - ELFIO - elfutils - Elk - ELPA - ELPH - elprep - ELSI - ELSI-RCI - Emacs - EMAN2 - EMBOSS - Embree - emcee - EMU - enaBrowserTool - enchant - enchant-2 - EnsEMBLCoreAPI - entrypoints - EPD - EPIC - epiScanpy - eQuilibrator - EricScript - ESL-Bundle - ESM-2 - ESMF - ESMPy - ESMValTool - eSpeak-NG - ESPResSo - Essentia - ETE - ETSF_IO - eudev - Evcxr-REPL - EvidentialGene - evmix - ExaBayes - ExaML - Excel-Writer-XLSX - ExifTool - exiv2 - Exonerate - expat - expect - expecttest - eXpress - Extrae - EZC3D

            "},{"location":"version-specific/supported-software/#e-antic","title":"E-ANTIC","text":"

            E-ANTIC is a C/C++ library to deal with real embedded number fields built on top of ANTIC (https://github.com/wbhart/antic). Its aim is to have as fast as possible exact arithmetic operations and comparisons.

            homepage: https://github.com/videlec/e-antic

            version toolchain 0.1.2 GCC/8.2.0-2.31.1 0.1.5 GCC/8.3.0"},{"location":"version-specific/supported-software/#ea-utils","title":"ea-utils","text":"

            Command-line tools for processing biological sequencing data. Barcode demultiplexing, adapter trimming, etc. Primarily written to support an Illumina based pipeline - but should work with any FASTQs.

            homepage: http://expressionanalysis.github.io/ea-utils/

            version toolchain 1.04.807 foss/2016a, foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#earthengine-api","title":"earthengine-api","text":"

            Python and JavaScript bindings for calling the Earth Engine API

            homepage: https://github.com/google/earthengine-api

            version versionsuffix toolchain 0.1.143 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#easel","title":"easel","text":"

            Easel supports computational analysis of biological sequences using probabilistic models.

            homepage: https://bioeasel.org/

            version toolchain 0.48 GCC/12.2.0"},{"location":"version-specific/supported-software/#easybuild","title":"EasyBuild","text":"

            EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.

            homepage: https://easybuilders.github.io/easybuild

            version toolchain 1.0.0 system 1.0.1 system 1.0.2 system 1.1.0 system 1.2.0 system 1.3.0 system 1.4.0 system 1.5.0 system 1.6.0 system 1.7.0 system 1.8.0 system 1.8.1 system 1.8.2 system 1.9.0 system 1.10.0 system 1.11.0 system 1.11.1 system 1.12.0 system 1.12.1 system 1.13.0 system 1.14.0 system 1.15.0 system 1.15.1 system 1.15.2 system 1.16.0 system 1.16.1 system 1.16.2 system 2.0.0 system 2.1.0 system 2.1.1 system 2.2.0 system 2.3.0 system 2.4.0 system 2.5.0 system 2.6.0 system 2.7.0 system 2.8.0 system 2.8.1 system 2.8.2 system 2.9.0 system 3.0.0 system 3.0.1 system 3.0.2 system 3.1.0 system 3.1.1 system 3.1.2 system 3.2.0 system 3.2.1 system 3.3.0 system 3.3.1 system 3.4.0 system 3.4.1 system 3.5.0 system 3.5.1 system 3.5.2 system 3.5.3 system 3.6.0 system 3.6.1 system 3.6.2 system 3.7.0 system 3.7.1 system 3.8.0 system 3.8.1 system 3.9.0 system 3.9.1 system 3.9.2 system 3.9.3 system 3.9.4 system 4.0.0 system 4.0.1 system 4.1.0 system 4.1.1 system 4.1.2 system 4.2.0 system 4.2.1 system 4.2.2 system 4.3.0 system 4.3.1 system 4.3.2 system 4.3.3 system 4.3.4 system 4.4.0 system 4.4.1 system 4.4.2 system 4.5.0 system 4.5.1 system 4.5.2 system 4.5.3 system 4.5.4 system 4.5.5 system 4.6.0 system 4.6.1 system 4.6.2 system 4.7.0 system 4.7.1 system 4.7.2 system"},{"location":"version-specific/supported-software/#easyqc","title":"EasyQC","text":"

            EasyQC is an R-package that provides advanced functionality to (1) perform file-level QC of single genome-wide association (GWA) data-sets (2) conduct quality control across several GWA data-sets (meta-level QC) (3) simplify data-handling of large-scale GWA data-sets.

            homepage: http://www.uni-regensburg.de/medizin/epidemiologie-praeventivmedizin/genetische-epidemiologie/software/

            version versionsuffix toolchain 9.2 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#ecbuild","title":"ecBuild","text":"

            A CMake-based build system, consisting of a collection of CMake macros and functions that ease the managing of software build systems

            homepage: https://ecbuild.readthedocs.io/

            version toolchain 3.7.0 system"},{"location":"version-specific/supported-software/#eccodes","title":"ecCodes","text":"

            ecCodes is a package developed by ECMWF which provides an application programming interface and a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2, WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding).

            homepage: https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home

            version versionsuffix toolchain 2.7.3 intel/2018a 2.7.3 -Python-2.7.14 intel/2017b 2.8.2 intel/2018a 2.9.2 intel/2018b, iomkl/2018b 2.12.5 gompi/2019a 2.15.0 gompi/2019b, iimpi/2019b 2.17.0 foss/2018b, gompi/2019b 2.18.0 gompi/2020a 2.20.0 gompi/2020b 2.22.1 gompi/2021a 2.24.2 gompi/2021b, iimpi/2021b 2.27.0 gompi/2022a"},{"location":"version-specific/supported-software/#eccodes-python","title":"eccodes-python","text":"

            Python 3 interface to decode and encode GRIB and BUFR files via the ECMWF ecCodes library.

            homepage: https://github.com/ecmwf/eccodes-python

            version versionsuffix toolchain 1.0.0 -Python-3.7.4 foss/2019b 1.0.0 -Python-3.8.2 foss/2020a 1.1.0 foss/2020b"},{"location":"version-specific/supported-software/#ecflow","title":"ecFlow","text":"

            ecFlow is a client/server workflow package that enables users to run a large number of programs (with dependencies on each other and on time) in a controlled environment. It provides reasonable tolerance for hardware and software failures, combined with restart capabilities. It is used at ECMWF to run all our operational suites across a range of platforms.

            homepage: https://ecflow.readthedocs.io/en/latest/index.html

            version toolchain 5.7.0 GCC/10.2.0"},{"location":"version-specific/supported-software/#ed2","title":"ED2","text":"

            The Ecosystem Demography Biosphere Model (ED2) is an integrated terrestrial biosphere model incorporating hydrology, land-surface biophysics, vegetation dynamics, and soil carbon and nitrogen biogeochemistry

            homepage: https://github.com/EDmodel/ED2

            version versionsuffix toolchain 20170201 intel/2017a 20170201 -serial intel/2017a"},{"location":"version-specific/supported-software/#edirect","title":"EDirect","text":"

            Entrez Direct (EDirect) provides access to the NCBI's suite of interconnected databases from a Unix terminal window. Search terms are entered as command-line arguments. Individual operations are connected with Unix pipes to construct multi-step queries. Selected records can then be retrieved in a variety of formats.

            homepage: https://www.ncbi.nlm.nih.gov/books/NBK25501/

            version toolchain 19.7.20230531 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#edlib","title":"edlib","text":"

            Lightweight, super fast library for sequence alignment using edit (Levenshtein) distance.

            homepage: https://martinsos.github.io/edlib

            version versionsuffix toolchain 1.3.8.post1 -Python-3.7.4 GCC/8.3.0, iccifort/2019.5.281 1.3.8.post1 -Python-3.8.2 GCC/9.3.0 1.3.8.post2 -Python-3.8.2 iccifort/2020.1.217 1.3.9 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#egglib","title":"EggLib","text":"

            EggLib is a C++/Python library and program package for evolutionary genetics and genomics.

            homepage: http://egglib.sourceforge.net/

            version toolchain 2.1.10 intel/2016a"},{"location":"version-specific/supported-software/#eggnog-mapper","title":"eggnog-mapper","text":"

            EggNOG-mapper is a tool for fast functional annotation of novel sequences. It uses precomputed orthologous groups and phylogenies from the eggNOG database (http://eggnog5.embl.de) to transfer functional information from fine-grained orthologs only. Common uses of eggNOG-mapper include the annotation of novel genomes, transcriptomes or even metagenomic gene catalogs.

            homepage: https://github.com/eggnogdb/eggnog-mapper

            version versionsuffix toolchain 1.0.3 -Python-2.7.14 intel/2018a 2.1.4 foss/2020b 2.1.7 foss/2021b 2.1.9 foss/2022a 2.1.10 foss/2020b"},{"location":"version-specific/supported-software/#egttools","title":"EGTtools","text":"

            EGTtools provides a centralized repository with analytical and numerical methods to study/model game theoretical problems under the Evolutionary Game Theory (EGT) framework.

            homepage: https://github.com/Socrats/EGTTools

            version toolchain 0.1.10.dev2 foss/2021b 0.1.11 foss/2022a"},{"location":"version-specific/supported-software/#eht-imaging","title":"eht-imaging","text":"

            Python modules for simulating and manipulating VLBI data and producing images with regularized maximum likelihood methods.

            homepage: https://github.com/achael/eht-imaging

            version toolchain 1.2.2 foss/2021a"},{"location":"version-specific/supported-software/#eigen","title":"Eigen","text":"

            Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

            homepage: https://eigen.tuxfamily.org

            version toolchain 3.2.3 foss/2016a, foss/2016b 3.2.5 system 3.2.6 system 3.2.7 foss/2016a, intel/2016a 3.2.8 foss/2016a, intel/2016a, system 3.2.9 foss/2016b, intel/2016b 3.2.10 intel/2016b 3.3.2 foss/2016b, intel/2016b 3.3.3 GCCcore/6.3.0, intel/2016b 3.3.4 system 3.3.5 system 3.3.7 GCCcore/9.3.0, system 3.3.8 GCCcore/10.2.0 3.3.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 3.4.0 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#eigenexa","title":"EigenExa","text":"

            EigenExa, a part of KMATHLIB, is a high performance eigen-solver.

            homepage: https://www.r-ccs.riken.jp/labs/lpnctrt/projects/eigenexa/

            version toolchain 2.11 intel/2020b"},{"location":"version-specific/supported-software/#eigensoft","title":"EIGENSOFT","text":"

            The EIGENSOFT package combines functionality from our population genetics methods (Patterson et al. 2006) and our EIGENSTRAT stratification correction method (Price et al. 2006). The EIGENSTRAT method uses principal components analysis to explicitly model ancestry differences between cases and controls along continuous axes of variation; the resulting correction is specific to a candidate marker\u2019s variation in frequency across ancestral populations, minimizing spurious associations while maximizing power to detect true associations. The EIGENSOFT package has a built-in plotting script and supports multiple file formats and quantitative phenotypes.

            homepage: http://www.hsph.harvard.edu/alkes-price/software/

            version toolchain 6.0.1 foss/2016a 6.1.1 foss/2016a 6.1.4 foss/2016b 7.2.1 foss/2018b, foss/2019a, foss/2019b, foss/2020b, foss/2021a, intel/2019a"},{"location":"version-specific/supported-software/#einops","title":"einops","text":"

            Flexible and powerful tensor operations for readable and reliable code. Supports numpy, pytorch, tensorflow, jax, and others.

            homepage: https://einops.rocks/

            version toolchain 0.3.2 GCCcore/10.2.0 0.4.1 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#elastix","title":"elastix","text":"

            elastix: a toolbox for rigid and nonrigid registration of images.

            homepage: http://elastix.isi.uu.nl/

            version versionsuffix toolchain 4.9.0 foss/2018a 5.0.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#elbencho","title":"elbencho","text":"

            A distributed storage benchmark for files, objects & blocks with support for GPUs

            homepage: https://github.com/breuner/elbencho

            version toolchain 2.0-3 GCC/10.3.0"},{"location":"version-specific/supported-software/#elfio","title":"ELFIO","text":"

            ELFIO is a header-only C++ library intended for reading and generating files in the ELF binary format.

            homepage: http://elfio.sourceforge.net

            version toolchain 3.9 system"},{"location":"version-specific/supported-software/#elfutils","title":"elfutils","text":"

            The elfutils project provides libraries and tools for ELF files and DWARF data.

            homepage: https://elfutils.org/

            version toolchain 0.182 GCCcore/9.3.0 0.183 GCCcore/10.2.0 0.185 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0 0.187 GCCcore/11.3.0 0.189 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#elk","title":"Elk","text":"

            An all-electron full-potential linearised augmented-plane wave (FP-LAPW) code with many advanced features. Written originally at Karl-Franzens-Universit\u00e4t Graz as a milestone of the EXCITING EU Research and Training Network, the code is designed to be as simple as possible so that new developments in the field of density functional theory (DFT) can be added quickly and reliably.

            homepage: http://elk.sourceforge.net/

            version toolchain 4.0.15 intel/2016b 4.3.6 intel/2017a 6.3.2 intel/2019b 7.0.12 foss/2020b 7.2.42 foss/2021a 8.5.2 foss/2022a"},{"location":"version-specific/supported-software/#elpa","title":"ELPA","text":"

            Eigenvalue SoLvers for Petaflop-Applications.

            homepage: https://elpa.mpcdf.mpg.de/

            version versionsuffix toolchain 2015.02.002 foss/2018a, gimkl/2017a, intel/2018a 2016.05.004 intel/2016b, intel/2017a 2016.11.001.pre foss/2018b, intel/2018b 2017.11.001 foss/2018b, intel/2018a, intel/2018b 2018.05.001 foss/2018b, intel/2018b 2018.11.001 intel/2019a 2019.11.001 foss/2019b, foss/2020a, intel/2019b, intel/2020a, iomkl/2019b 2020.05.001 intel/2020a 2020.11.001 foss/2020b, intel/2020b 2021.05.001 foss/2021a, foss/2021b, intel/2021a, intel/2021b 2021.05.002 intel/2020b 2021.11.001 foss/2021b, foss/2022a, intel/2021b, intel/2022a, intel/2022b 2022.05.001 foss/2022a, foss/2022b, intel/2022a, intel/2022b 2022.05.001 -CUDA-11.7.0 foss/2022a 2022.05.001 -CUDA-12.0.0 foss/2022b"},{"location":"version-specific/supported-software/#elph","title":"ELPH","text":"

            ELPH is a general-purpose Gibbs sampler for finding motifs in a set of DNA or protein sequences. The program takes as input a set containing anywhere from a few dozen to thousands of sequences, and searches through them for the most common motif, assuming that each sequence contains one copy of the motif. We have used ELPH to find patterns such as ribosome binding sites (RBSs) and exon splicing enhancers (ESEs).

            homepage: http://ccb.jhu.edu/software/ELPH/index.shtml

            version toolchain 1.0.1 foss/2018b"},{"location":"version-specific/supported-software/#elprep","title":"elprep","text":"

            elPrep is a high-performance tool for analyzing .sam/.bam files (up to and including variant calling) in sequencing pipelines.

            homepage: https://github.com/ExaScience/elprep

            version toolchain 5.1.1 system"},{"location":"version-specific/supported-software/#elsi","title":"ELSI","text":"

            ELSI provides and enhances scalable, open-source software library solutions for electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. The ELSI infrastructure should also be useful for other challenging eigenvalue problems.

            homepage: https://wordpress.elsi-interchange.org/

            version versionsuffix toolchain 2.5.0 foss/2019b, intel/2019b 2.5.0 -PEXSI foss/2019b, intel/2019b 2.6.4 -PEXSI foss/2020b, intel/2020b 2.7.1 -PEXSI foss/2021a, intel/2021a"},{"location":"version-specific/supported-software/#elsi-rci","title":"ELSI-RCI","text":"

            ELSI-RCI provides and enhances open-source software packages which iteratively solve or circumvent eigenvalue problems in self-consistent field calculations based on the Kohn-Sham density-functional theory.

            homepage: https://wordpress.elsi-interchange.org/

            version toolchain 0.1.0 GCC/10.3.0, GCC/11.2.0, foss/2020b, intel-compilers/2021.2.0, intel-compilers/2021.4.0, intel/2020b"},{"location":"version-specific/supported-software/#emacs","title":"Emacs","text":"

            GNU Emacs is an extensible, customizable text editor--and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.

            homepage: https://www.gnu.org/software/emacs/

            version versionsuffix toolchain 24.3 GCC/4.8.3 24.3 -bare GCC/4.8.3 24.4 GCC/4.9.2 24.5 GCC/4.9.3-2.25 25.1 foss/2016a 25.3 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0 26.3 GCCcore/8.3.0 27.1 GCCcore/10.2.0, GCCcore/9.3.0 27.2 GCCcore/11.2.0 28.1 GCCcore/10.2.0 28.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#eman2","title":"EMAN2","text":"

            EMAN2 is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes.

            homepage: https://blake.bcm.edu/emanwiki/EMAN2

            version versionsuffix toolchain 2.3 system 2.3 -Python-2.7.15 foss/2019a, fosscuda/2019a 2.21a -Python-2.7.14-Boost-1.63.0 foss/2018a"},{"location":"version-specific/supported-software/#emboss","title":"EMBOSS","text":"

            EMBOSS is 'The European Molecular Biology Open Software Suite'. EMBOSS is a free Open Source software analysis package specially developed for the needs of the molecular biology (e.g. EMBnet) user community.

            homepage: http://emboss.sourceforge.net/

            version versionsuffix toolchain 6.6.0 GCC/8.2.0-2.31.1, foss/2016b, foss/2018b, foss/2021a, foss/2021b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2017a, intel/2018b 6.6.0 -Java-11 GCC/8.3.0 6.6.0 -Java-13 GCC/10.2.0 6.6.0 -X11-20170314 intel/2017a"},{"location":"version-specific/supported-software/#embree","title":"Embree","text":"

            Intel\u00ae Embree is a collection of high-performance ray tracing kernels, developed at Intel. The target users of Intel\u00ae Embree are graphics application engineers who want to improve the performance of their photo-realistic rendering application by leveraging Embree's performance-optimized ray tracing kernels. The kernels are optimized for the latest Intel\u00ae processors with support for SSE, AVX, AVX2, and AVX-512 instructions. Intel\u00ae Embree supports runtime code selection to choose the traversal and build algorithms that best matches the instruction set of your CPU. We recommend using Intel\u00ae Embree through its API to get the highest benefit from future improvements. Intel\u00ae Embree is released as Open Source under the Apache 2.0 license.

            homepage: https://embree.github.io/

            version toolchain 3.4.0 iccifort/2018.1.163-GCC-6.4.0-2.28 3.13.4 system"},{"location":"version-specific/supported-software/#emcee","title":"emcee","text":"

            Emcee is an extensible, pure-Python implementation of Goodman & Weare's Affine Invariant Markov chain Monte Carlo (MCMC) Ensemble sampler. It's designed for Bayesian parameter estimation and it's really sweet!

            homepage: https://emcee.readthedocs.io/

            version versionsuffix toolchain 2.2.1 foss/2019a 2.2.1 -Python-2.7.15 foss/2018b, intel/2018b 2.2.1 -Python-3.6.6 foss/2018b, intel/2018b 3.1.4 foss/2021b"},{"location":"version-specific/supported-software/#emu","title":"EMU","text":"

            EMU infers population structure in the presence of missingness and works for both haploid, psuedo-haploid and diploid genotype datasets

            homepage: http://www.popgen.dk/software/index.php/EMU

            version versionsuffix toolchain 0.66 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#enabrowsertool","title":"enaBrowserTool","text":"

            enaBrowserTools is a set of scripts that interface with the ENA web services to download data from ENA easily, without any knowledge of scripting required.

            homepage: https://github.com/enasequence/enaBrowserTools/

            version versionsuffix toolchain 1.5.4 -Python-3.7.2 GCCcore/8.2.0 1.6 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#enchant","title":"enchant","text":"

            Enchant is a library (and command-line program) that wraps a number of different spelling libraries and programs with a consistent interface.

            homepage: https://abiword.github.io/enchant/

            version toolchain 1.6.1 intel/2017a"},{"location":"version-specific/supported-software/#enchant-2","title":"enchant-2","text":"

            Enchant aims to provide a simple but comprehensive abstraction for dealing with different spell checking libraries in a consistent way. A client, such as a text editor or word processor, need not know anything about a specific spell-checker, and since all back-ends are plugins, new spell-checkers can be added without needing any change to the program using Enchant.

            homepage: https://github.com/AbiWord/enchant

            version toolchain 2.3.3 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ensemblcoreapi","title":"EnsEMBLCoreAPI","text":"

            The Ensembl Core Perl API and SQL schema

            homepage: https://www.ensembl.org/info/docs/api/index.html

            version versionsuffix toolchain 96.0-r20190601 -Perl-5.28.1 foss/2019a"},{"location":"version-specific/supported-software/#entrypoints","title":"entrypoints","text":"

            Entry points are a way for Python packages to advertise objects with some common interface.

            homepage: https://github.com/takluyver/entrypoints

            version versionsuffix toolchain 0.2.2 -Python-2.7.11 foss/2016a 0.2.2 -Python-2.7.12 foss/2016b, intel/2016b 0.2.2 -Python-3.5.1 foss/2016a 0.2.2 -Python-3.5.2 intel/2016b"},{"location":"version-specific/supported-software/#epd","title":"EPD","text":"

            The Enthought Python Distribution provides scientists with a comprehensive set of tools to perform rigorous data analysis and visualization. Python, distinguished by its flexibility, coherence, and ease-of-use, is rapidly becoming the programming language of choice for researchers worldwide. EPD extends this capacity with a powerful collection of Python libraries to enable interactive technical computing and cross-platform rapid application development.

            homepage: http://www.enthought.com/products/edudownload.php

            version toolchain 7.3-2-rh5 system"},{"location":"version-specific/supported-software/#epic","title":"EPIC","text":"

            Package implementing EPIC method to estimate the proportion of immune, stromal, endothelial and cancer or other cells from bulk gene expression data.

            homepage: https://gfellerlab.shinyapps.io/EPIC_1-1

            version versionsuffix toolchain 1.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#episcanpy","title":"epiScanpy","text":"

            EpiScanpy is a toolkit to analyse single-cell open chromatin (scATAC-seq) and single-cell DNA methylation (for example scBS-seq) data. EpiScanpy is the epigenomic extension of the very popular scRNA-seq analysis tool Scanpy (Genome Biology, 2018) [Wolf18].

            homepage: https://github.com/colomemaria/episcanpy

            version toolchain 0.3.1 foss/2021a 0.4.0 foss/2022a"},{"location":"version-specific/supported-software/#equilibrator","title":"eQuilibrator","text":"

            Calculation of standard thermodynamic potentials of biochemical reactions.

            homepage: https://equilibrator.weizmann.ac.il/

            version toolchain 0.4.7 foss/2021a"},{"location":"version-specific/supported-software/#ericscript","title":"EricScript","text":"

            EricScript is a computational framework for the discovery of gene fusions in paired end RNA-seq data.

            homepage: https://sites.google.com/site/bioericscript/home

            version versionsuffix toolchain 0.5.5 -R-3.4.0 intel/2017a"},{"location":"version-specific/supported-software/#esl-bundle","title":"ESL-Bundle","text":"

            The ESL Bundle is a collection of libraries and utilities broadly used in electronic structure calculations, put together to make their use easier by researchers and scientific software developers. ESL stands for Electronic Structure Library, an initiative which distributes quality software and promotes open standards for high-performance computing applications in the field of electronic structure calculations.

            homepage: https://esl.cecam.org

            version toolchain 0.6.1 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#esm-2","title":"ESM-2","text":"

            ESM-2 outperforms all tested single-sequence protein language models across a range of structure prediction tasks. ESMFold harnesses the ESM-2 language model to generate accurate structure predictions end to end directly from the sequence of a protein.

            homepage: https://github.com/facebookresearch/esm

            version versionsuffix toolchain 2.0.0 foss/2021a 2.0.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#esmf","title":"ESMF","text":"

            The Earth System Modeling Framework (ESMF) is a suite of software tools for developing high-performance, multi-component Earth science modeling applications.

            homepage: https://www.earthsystemcog.org/projects/esmf/

            version versionsuffix toolchain 6.3.0rp1 intel/2017a 6.3.0rp1 -HDF5-1.8.18 intel/2017a 7.0.0 foss/2016a 7.0.2 intel/2017b 7.1.0r foss/2018b, foss/2019a, intel/2018a, intel/2018b, iomkl/2018b 8.0.0 foss/2019b, intel/2019b 8.0.1 foss/2020a, foss/2020b, intel/2020a, intel/2020b 8.1.1 foss/2021a, intel/2021a 8.2.0 foss/2021b, intel/2021b 8.3.0 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#esmpy","title":"ESMPy","text":"

            Earth System Modeling Framework (ESMF) Python Interface

            homepage: https://earthsystemmodeling.org/esmpy

            version versionsuffix toolchain 8.0.0 -Python-3.7.4 intel/2019b 8.0.1 intel/2020b 8.0.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#esmvaltool","title":"ESMValTool","text":"

            The Earth System Model eValuation Tool (ESMValTool) is a community diagnostics and performance metrics tool for the evaluation of Earth System Models (ESMs) that allows for routine comparison of single or multiple models, either against predecessor versions or against observations.

            homepage: https://www.esmvaltool.org/

            version versionsuffix toolchain 1.1.0 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#espeak-ng","title":"eSpeak-NG","text":"

            The eSpeak NG is a compact open source software text-to-speech synthesizer for Linux, Windows, Android and other operating systems. It supports more than 100 languages and accents. It is based on the eSpeak engine created by Jonathan Duddington.

            homepage: https://github.com/espeak-ng/espeak-ng

            version toolchain 1.50 gompi/2020a"},{"location":"version-specific/supported-software/#espresso","title":"ESPResSo","text":"

            A software package for performing and analyzing scientific Molecular Dynamics simulations.

            homepage: https://espressomd.org/wordpress

            version versionsuffix toolchain 4.2.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#essentia","title":"Essentia","text":"

            Open-source library and tools for audio and music analysis, description and synthesis

            homepage: https://essentia.upf.edu

            version versionsuffix toolchain 2.1_beta5 -Python-2.7.15 foss/2019a"},{"location":"version-specific/supported-software/#ete","title":"ETE","text":"

            A Python framework for the analysis and visualization of trees

            homepage: http://etetoolkit.org

            version versionsuffix toolchain 3.0.0b36 -Python-2.7.12 intel/2016b 3.1.1 -Python-3.6.6 foss/2018b 3.1.2 foss/2020b, foss/2021a, foss/2021b 3.1.2 -Python-3.7.4 foss/2019b 3.1.2 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#etsf_io","title":"ETSF_IO","text":"

            A library of F90 routines to read/write the ETSF file format has been written. It is called ETSF_IO and available under LGPL.

            homepage: http://www.etsf.eu/resources/software/libraries_and_tools

            version toolchain 1.0.4 foss/2017b, foss/2018a, foss/2018b, intel/2017b, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#eudev","title":"eudev","text":"

            eudev is a fork of systemd-udev with the goal of obtaining better compatibility with existing software such as OpenRC and Upstart, older kernels, various toolchains and anything else required by users and various distributions.

            homepage: https://wiki.gentoo.org/wiki/Project:Eudev

            version toolchain 3.1.5 foss/2016a, gimkl/2.11.5, intel/2016a 3.2 GCCcore/4.9.3 3.2.2 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#evcxr-repl","title":"Evcxr-REPL","text":"

            A Rust REPL (Read-Eval-Print loop) built using the evcxr evaluation context.

            homepage: https://github.com/evcxr

            version versionsuffix toolchain 0.14.2 -Rust-1.65.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#evidentialgene","title":"EvidentialGene","text":"

            EvidentialGene is a genome informatics project for \"Evidence Directed Gene Construction for Eukaryotes\", for constructing high quality, accurate gene sets for animals and plants (any eukaryotes), being developed by Don Gilbert at Indiana University, gilbertd at indiana edu.

            homepage: http://arthropods.eugenes.org/EvidentialGene/

            version versionsuffix toolchain 2018.01.01 -Perl-5.24.1 intel/2017a 2022.01.14 gompi/2021b"},{"location":"version-specific/supported-software/#evmix","title":"evmix","text":"

            evmix: Extreme Value Mixture Modelling, Threshold Estimation and Boundary Corrected Kernel Density Estimation

            homepage: https://cran.r-project.org/web/packages/evmix

            version versionsuffix toolchain 2.6 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#exabayes","title":"ExaBayes","text":"

            ExaBayes is a software package for Bayesian tree inference. It is particularly suitable for large-scale analyses on computer clusters

            homepage: https://cme.h-its.org/exelixis/web/software/exabayes/

            version toolchain 1.5 foss/2016b"},{"location":"version-specific/supported-software/#examl","title":"ExaML","text":"

            Exascale Maximum Likelihood (ExaML) code for phylogenetic inference using MPI

            homepage: https://github.com/stamatak/ExaML/

            version versionsuffix toolchain 3.0.22 -hybrid-avx gompi/2021a"},{"location":"version-specific/supported-software/#excel-writer-xlsx","title":"Excel-Writer-XLSX","text":"

            The Excel::Writer::XLSX module can be used to create an Excel file in the 2007+ XLSX format. Multiple worksheets can be added to a workbook and formatting can be applied to cells. Text, numbers, and formulas can be written to the cells.

            homepage: https://metacpan.org/pod/Excel::Writer::XLSX

            version toolchain 1.09 foss/2020b"},{"location":"version-specific/supported-software/#exiftool","title":"ExifTool","text":"

            Perl module (Image::ExifTool) and program (exiftool) to read EXIF information from images

            homepage: https://owl.phy.queensu.ca/~phil/exiftool/

            version toolchain 12.00 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#exiv2","title":"exiv2","text":"

            Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata.

            homepage: https://exiv2.org

            version toolchain 0.27.4 GCCcore/10.3.0 0.27.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#exonerate","title":"Exonerate","text":"

            Exonerate is a generic tool for pairwise sequence comparison. It allows you to align sequences using a many alignment models, using either exhaustive dynamic programming, or a variety of heuristics.

            homepage: https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate

            version toolchain 2.4.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCC/6.4.0-2.28, GCC/8.3.0, foss/2016a, foss/2016b, iccifort/2017.4.196-GCC-6.4.0-2.28, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, intel/2017a"},{"location":"version-specific/supported-software/#expat","title":"expat","text":"

            Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags).

            homepage: https://libexpat.github.io

            version toolchain 2.1.0 GCC/4.9.2, foss/2016a, intel/2016a 2.1.1 foss/2016a, intel/2016a 2.2.0 GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, foss/2016a, foss/2016b, gimkl/2017a, intel/2016b 2.2.4 GCCcore/6.4.0 2.2.5 GCCcore/6.4.0, GCCcore/7.3.0 2.2.6 GCCcore/8.2.0 2.2.7 GCCcore/8.3.0 2.2.9 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 2.4.1 GCCcore/11.2.0 2.4.8 GCCcore/11.3.0, GCCcore/12.1.0 2.4.9 GCCcore/12.2.0 2.5.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#expect","title":"expect","text":"

            Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this stuff trivial. Expect is also useful for testing these same applications.

            homepage: https://core.tcl.tk/expect/index

            version toolchain 5.45.4 GCCcore/7.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#expecttest","title":"expecttest","text":"

            This library implements expect tests (also known as \"golden\" tests). Expect tests are a method of writing tests where instead of hard-coding the expected output of a test, you run the test to get the output, and the test framework automatically populates the expected output. If the output of the test changes, you can rerun the test with the environment variable EXPECTTEST_ACCEPT=1 to automatically update the expected output.

            homepage: https://github.com/ezyang/expecttest

            version toolchain 0.1.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#express","title":"eXpress","text":"

            Streaming quantification for high-throughput sequencing

            homepage: https://pachterlab.github.io/eXpress

            version toolchain 1.5.1 intel/2017b"},{"location":"version-specific/supported-software/#extrae","title":"Extrae","text":"

            Extrae is the core instrumentation package developed by the Performance Tools group at BSC. Extrae is capable of instrumenting applications based on MPI, OpenMP, pthreads, CUDA1, OpenCL1, and StarSs1 using different instrumentation approaches. The information gathered by Extrae typically includes timestamped events of runtime calls, performance counters and source code references. Besides, Extrae provides its own API to allow the user to manually instrument his or her application.

            homepage: https://www.bsc.es/computer-sciences/performance-tools

            version toolchain 3.4.1 foss/2017a 3.7.1 intel/2019a 3.8.0 gompi/2020b 3.8.3 gompi/2021a 4.0.4 gompi/2022a"},{"location":"version-specific/supported-software/#ezc3d","title":"EZC3D","text":"

            EZC3D is an easy to use reader, modifier and writer for C3D format files. It is written en C++ with proper binders for Python and MATLAB/Octave scripting langages.

            homepage: https://pyomeca.github.io/Documentation/ezc3d/index.html

            version toolchain 1.5.2 foss/2022a"},{"location":"version-specific/supported-software/#f","title":"F","text":"

            f90cache - f90wrap - Faber - FabIO - faceswap - FALCON - FANN - fast5 - FASTA - fastahack - fastai - FastaIndex - FastANI - Fastaq - FastFold - fastjet - fastjet-contrib - FastME - fastp - fastparquet - fastPHASE - fastq-pair - fastq-tools - FastQ_Screen - FastQC - fastqsplitter - FastQTL - fastqz - FastRFS - fastStructure - FastTree - FastViromeExplorer - FASTX-Toolkit - fatslim - fbm - FBPIC - FCC - FCM - fdict - FDS - fdstools - FDTD_Solutions - feh - FEniCS - fermi-lite - Ferret - festival - fetchMG - FFC - FFLAS-FFPACK - FFmpeg - ffmpi - ffnet - ffnvcodec - fftlib - FFTW - FFTW.MPI - fgbio - FGSL - FHI-aims - FIAT - FIGARO - FigureGen - Fiji - file - filevercmp - Filtlong - find_circ - finder - findhap - findutils - fineRADstructure - fineSTRUCTURE - fio - Fiona - Firefox - FIRESTARTER - FireWorks - FIt-SNE - FIX - fixesproto - FLAC - FLAIR - flair-NLP - FLANN - FLASH - Flask - flatbuffers - flatbuffers-python - FLEUR - flex - Flexbar - FlexiBLAS - FlexiDot - Flink - FLINT - flook - flowFDA - FLTK - FLUENT - Flye - FMILibrary - FMM3D - FMPy - FMRIprep - FMS - fmt - FoBiS - FoldX - fontconfig - fontsproto - FORD - foss - fosscuda - FoX - FOX-Toolkit - FPM - fpocket - fqtrim - fqzcomp - FragGeneScan - FragPipe - FRANz - FreeBarcodes - freebayes - FreeFEM - FreeFem++ - freeglut - FreeImage - FreeSASA - FreeSurfer - FreeTDS - freetype - freetype-py - FreeXL - freud-analysis - FriBidi - FRUIT - FRUIT_processor - FSL - FSLeyes - fsom - FSON - FTGL - Fujitsu - fullrmc - fumi_tools - funannotate - FunGAP - FUNWAVE-TVD - FUSE - FuSeq - FusionCatcher - futhark - futile - future - fxtract

            "},{"location":"version-specific/supported-software/#f90cache","title":"f90cache","text":"

            f90cache is a compiler cache. It acts as a caching pre-processor to Fortran compilers, using the -E compiler switch and a hash to detect when a compilation can be satisfied from cache. This often results in a great speedup in common compilations.

            homepage: http://people.irisa.fr/Edouard.Canot/f90cache/

            version toolchain 0.96 system"},{"location":"version-specific/supported-software/#f90wrap","title":"f90wrap","text":"

            f90wrap is a tool to automatically generate Python extension modules which interface to Fortran code that makes use of derived types. It builds on the capabilities of the popular f2py utility by generating a simpler Fortran 90 interface to the original Fortran code which is then suitable for wrapping with f2py, together with a higher-level Pythonic wrapper that makes the existance of an additional layer transparent to the final user.

            homepage: https://github.com/jameskermode/f90wrap

            version toolchain 0.2.8 foss/2021a"},{"location":"version-specific/supported-software/#faber","title":"Faber","text":"

            Faber started as a clone of Boost.Build, to experiment with a new Python frontend. Meanwhile it has evolved into a new build system, which retains most of the features found in Boost.Build, but with (hopefully !) much simplified logic, in addition of course to using Python as scripting language, rather than Jam. The original bjam engine is still in use as scheduler, though at this point that is mostly an implementation detail.

            homepage: https://stefanseefeld.github.io/faber

            version toolchain 0.3 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#fabio","title":"FabIO","text":"

            FabIO is an I/O library for images produced by 2D X-ray detectors and written in Python. FabIO support images detectors from a dozen of companies (including Mar, Dectris, ADSC, Hamamatsu, Oxford, ...), for a total of 20 different file formats (like CBF, EDF, TIFF, ...) and offers an unified interface to their headers (as a python dictionary) and datasets (as a numpy ndarray of integers or floats).

            homepage: http://www.silx.org

            version versionsuffix toolchain 0.10.2 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.11.0 foss/2020b, fosscuda/2020b 0.14.0 foss/2021b"},{"location":"version-specific/supported-software/#faceswap","title":"faceswap","text":"

            Faceswap is a tool that utilizes deep learning to recognize and swap faces in pictures and videos.

            homepage: https://github.com/deepfakes/faceswap

            version versionsuffix toolchain 20180212 -Python-3.6.3 foss/2017b"},{"location":"version-specific/supported-software/#falcon","title":"FALCON","text":"

            Falcon: a set of tools for fast aligning long reads for consensus and assembly

            homepage: https://github.com/PacificBiosciences/FALCON

            version versionsuffix toolchain 1.8.8 intel/2017b 1.8.8 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#fann","title":"FANN","text":"

            Fast Artificial Neural Network Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks.

            homepage: http://leenissen.dk

            version toolchain 2.2.0 GCCcore/6.4.0, intel/2018a"},{"location":"version-specific/supported-software/#fast5","title":"fast5","text":"

            A lightweight C++ library for accessing Oxford Nanopore Technologies sequencing data.

            homepage: http://simpsonlab.github.io/2017/02/27/packing_fast5/

            version toolchain 0.6.5 system"},{"location":"version-specific/supported-software/#fasta","title":"FASTA","text":"

            The FASTA programs find regions of local or global (new) similarity between protein or DNA sequences, either by searching Protein or DNA databases, or by identifying local duplications within a sequence.

            homepage: https://fasta.bioch.virginia.edu/fasta_www2/fasta_list2.shtml

            version toolchain 36.3.5e foss/2016b 36.3.8i GCC/11.2.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#fastahack","title":"fastahack","text":"

            Utilities for indexing and sequence extraction from FASTA files.

            homepage: https://github.com/ekg/fastahack

            version toolchain 1.0.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fastai","title":"fastai","text":"

            The fastai deep learning library.

            homepage: https://www.fast.ai/

            version versionsuffix toolchain 2.7.10 foss/2022a 2.7.10 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#fastaindex","title":"FastaIndex","text":"

            FastA index (.fai) handler compatible with samtools faidx

            homepage: https://github.com/lpryszcz/FastaIndex

            version versionsuffix toolchain 0.11rc7 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#fastani","title":"FastANI","text":"

            FastANI is developed for fast alignment-free computation of whole-genome Average Nucleotide Identity (ANI). ANI is defined as mean nucleotide identity of orthologous gene pairs shared between two microbial genomes. FastANI supports pairwise comparison of both complete and draft genome assemblies.

            homepage: https://github.com/ParBLiSS/FastANI

            version toolchain 1.1 foss/2018b, intel/2018b 1.2 GCC/8.2.0-2.31.1, iccifort/2019.1.144-GCC-8.2.0-2.31.1 1.3 iccifort/2019.5.281 1.31 iccifort/2020.1.217 1.33 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, iccifort/2020.4.304, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#fastaq","title":"Fastaq","text":"

            Python3 scripts to manipulate FASTA and FASTQ files.

            homepage: https://github.com/sanger-pathogens/Fastaq

            version toolchain 3.17.0 GCC/10.3.0"},{"location":"version-specific/supported-software/#fastfold","title":"FastFold","text":"

            Optimizing Protein Structure Prediction Model Training and Inference on GPU Clusters

            homepage: https://github.com/hpcaitech/FastFold

            version versionsuffix toolchain 20220729 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#fastjet","title":"fastjet","text":"

            A software package for jet finding in pp and e+e- collisions

            homepage: https://fastjet.fr/

            version toolchain 3.4.0 gompi/2022a"},{"location":"version-specific/supported-software/#fastjet-contrib","title":"fastjet-contrib","text":"

            3rd party extensions of FastJet

            homepage: https://fastjet.hepforge.org/contrib/

            version toolchain 1.049 gompi/2022a"},{"location":"version-specific/supported-software/#fastme","title":"FastME","text":"

            FastME: a comprehensive, accurate and fast distance-based phylogeny inference program.

            homepage: http://www.atgc-montpellier.fr/fastme/

            version toolchain 2.1.5 foss/2016a 2.1.6.1 GCC/10.2.0, GCC/8.3.0, iccifort/2019.5.281, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#fastp","title":"fastp","text":"

            A tool designed to provide fast all-in-one preprocessing for FastQ files. This tool is developed in C++ with multithreading supported to afford high performance.

            homepage: https://github.com/OpenGene/fastp

            version toolchain 0.19.7 foss/2018b 0.20.0 GCC/8.2.0-2.31.1, GCC/8.3.0, iccifort/2019.5.281 0.20.1 iccifort/2020.1.217 0.23.2 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0 0.23.4 GCC/12.2.0"},{"location":"version-specific/supported-software/#fastparquet","title":"fastparquet","text":"

            fastparquet is a python implementation of the parquet format, aiming to integrate into python-based big data work-flows. It is used implicitly by the projects Dask, Pandas and intake-parquet.

            homepage: https://fastparquet.readthedocs.io/

            version toolchain 0.7.2 foss/2021a 0.8.0 foss/2021b"},{"location":"version-specific/supported-software/#fastphase","title":"fastPHASE","text":"

            fastPHASE: software for haplotype reconstruction, and estimating missing genotypes from population data Documentation: http://scheet.org/code/fastphase_doc_1.4.pdf

            homepage: http://stephenslab.uchicago.edu/software.html#fastphase

            version toolchain 1.4.8 system"},{"location":"version-specific/supported-software/#fastq-pair","title":"fastq-pair","text":"

            Match up paired end fastq files quickly and efficiently.

            homepage: https://github.com/linsalrob/fastq-pair

            version toolchain 1.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#fastq-tools","title":"fastq-tools","text":"

            This package provides a number of small and efficient programs to perform common tasks with high throughput sequencing data in the FASTQ format. All of the programs work with typical FASTQ files as well as gzipped FASTQ files.

            homepage: https://homes.cs.washington.edu/~dcjones/fastq-tools/

            version toolchain 0.8 foss/2016b, foss/2018b 0.8.3 GCC/10.3.0, GCC/11.2.0"},{"location":"version-specific/supported-software/#fastq_screen","title":"FastQ_Screen","text":"

            FastQ Screen allows you to screen a library of sequences in FastQ format against a set of sequence databases so you can see if the composition of the library matches with what you expect.

            homepage: http://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/

            version versionsuffix toolchain 0.11.3 -Perl-5.24.0 foss/2016b 0.11.4 -Perl-5.24.0 foss/2016b 0.12.0 -Perl-5.26.1 intel/2018a 0.13.0 -Perl-5.28.0 foss/2018b 0.14.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#fastqc","title":"FastQC","text":"

            FastQC is a quality control application for high throughput sequence data. It reads in sequence data in a variety of formats and can either provide an interactive application to review the results of several different QC checks, or create an HTML based report which can be integrated into a pipeline.

            homepage: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/

            version versionsuffix toolchain 0.10.1 -Java-1.7.0_80 system 0.11.2 -Java-1.7.0_60 system 0.11.3 -Java-1.7.0_80 system 0.11.4 -Java-1.8.0_66 system 0.11.4 -Java-1.8.0_74 system 0.11.5 -Java-1.7.0_80 system 0.11.5 -Java-1.8.0_144 system 0.11.5 -Java-1.8.0_74 system 0.11.7 -Java-1.8.0_162 system 0.11.8 -Java-1.8 system 0.11.8 -Java-11 system 0.11.9 -Java-1.8 system 0.11.9 -Java-11 system"},{"location":"version-specific/supported-software/#fastqsplitter","title":"fastqsplitter","text":"

            Splits fastq files evenly.

            homepage: https://github.com/LUMC/fastqsplitter

            version versionsuffix toolchain 1.2.0 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#fastqtl","title":"FastQTL","text":"

            FastQTL is a QTL mapper

            homepage: http://fastqtl.sourceforge.net/

            version toolchain 2.184 GCC/11.2.0, foss/2018b"},{"location":"version-specific/supported-software/#fastqz","title":"fastqz","text":"

            fastqz is a compressor for FASTQ files. FASTQ is the output of DNA sequencing machines. It is one of the compressors described in the paper: Bonfield JK, Mahoney MV (2013) Compression of FASTQ and SAM Format Sequencing Data. (mirror) PLoS ONE 8(3): e59190. doi:10.1371/journal.pone.0059190

            homepage: http://mattmahoney.net/dc/fastqz/

            version toolchain 1.5 GCC/4.8.2"},{"location":"version-specific/supported-software/#fastrfs","title":"FastRFS","text":"

            Fast Robinson Foulds Supertrees

            homepage: https://github.com/pranjalv123/FastRFS

            version toolchain 1.0-20190613 gompi/2019a"},{"location":"version-specific/supported-software/#faststructure","title":"fastStructure","text":"

            fastStructure is a fast algorithm for inferring population structure from large SNP genotype data. It is based on a variational Bayesian framework for posterior inference and is written in Python2.x.

            homepage: https://rajanil.github.io/fastStructure/

            version versionsuffix toolchain 1.0 -Python-2.7.11 foss/2016a 1.0 -Python-2.7.12 foss/2016b 1.0 -Python-2.7.13 foss/2017a 1.0 -Python-2.7.15 foss/2019a"},{"location":"version-specific/supported-software/#fasttree","title":"FastTree","text":"

            FastTree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide or protein sequences. FastTree can handle alignments with up to a million of sequences in a reasonable amount of time and memory.

            homepage: http://www.microbesonline.org/fasttree/

            version toolchain 2.1.10 foss/2018b, intel/2017b, intel/2018a, intel/2018b 2.1.11 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fastviromeexplorer","title":"FastViromeExplorer","text":"

            Identify the viruses/phages and their abundance in the viral metagenomics data.

            homepage: https://code.vt.edu/saima5/FastViromeExplorer

            version toolchain 20180422 foss/2019b"},{"location":"version-specific/supported-software/#fastx-toolkit","title":"FASTX-Toolkit","text":"

            The FASTX-Toolkit is a collection of command line tools for Short-Reads FASTA/FASTQ files preprocessing.

            homepage: http://hannonlab.cshl.edu/fastx_toolkit/

            version toolchain 0.0.14 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/9.3.0, GCCcore/7.3.0, foss/2016a, foss/2016b, intel/2018a"},{"location":"version-specific/supported-software/#fatslim","title":"fatslim","text":"

            FATSLiM stands for \u201cFast Analysis Toolbox for Simulations of Lipid Membranes\u201d and its goal is to provide an efficient, yet robust, tool to extract physical parameters from MD trajectories.

            homepage: https://github.com/FATSLiM/fatslim

            version versionsuffix toolchain 0.2.1 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#fbm","title":"fbm","text":"

            Exact methods for simulating fractional Brownian motion and fractional Gaussian noise in Python

            homepage: https://pypi.org/project/fbm

            version versionsuffix toolchain 0.2.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#fbpic","title":"FBPIC","text":"

            FBPIC (Fourier-Bessel Particle-In-Cell) is a Particle-In-Cell (PIC) code for relativistic plasma physics. It is especially well-suited for physical simulations of laser-wakefield acceleration and plasma-wakefield acceleration.

            homepage: https://fbpic.github.io/

            version toolchain 0.20.3 fosscuda/2020b"},{"location":"version-specific/supported-software/#fcc","title":"FCC","text":"

            Fujitsu Compiler based compiler toolchain.

            homepage: <(none)>

            version toolchain 4.5.0 system"},{"location":"version-specific/supported-software/#fcm","title":"FCM","text":"

            FCM is a set of tools for managing and building source code.

            homepage: http://www.metoffice.gov.uk/research/collaboration/fcm

            version toolchain 2.3.1 system"},{"location":"version-specific/supported-software/#fdict","title":"fdict","text":"

            A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary.

            homepage: https://github.com/zerothi/fdict

            version toolchain 0.8.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#fds","title":"FDS","text":"

            Fire Dynamics Simulator (FDS) is a large-eddy simulation (LES) code for low-speed flows, with an emphasis on smoke and heat transport from fires.

            homepage: https://pages.nist.gov/fds-smv

            version versionsuffix toolchain 6.0.1 -no-OFED system 6.5.2 intel/2016b 6.5.3 intel/2017a 6.6.0 intel/2017b, intel/2018a 6.7.0 intel/2018a 6.7.4 intel/2020a 6.7.5 intel/2020a 6.7.6 intel/2020b 6.7.7 intel/2021b 6.7.9 intel/2022a"},{"location":"version-specific/supported-software/#fdstools","title":"fdstools","text":"

            Forensic DNA Sequencing Tools Tools for characterisation and filtering of PCR stutter artefacts and other systemic noise in Next Generation Sequencing data of forensic STR markers.

            homepage: https://git.lumc.nl/jerryhoogenboom/fdstools

            version versionsuffix toolchain 20160322 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#fdtd_solutions","title":"FDTD_Solutions","text":"

            High performance FDTD-method Maxwell solver for the design, analysis and optimization of nanophotonic devices, processes and materials.

            homepage: http://www.lumerical.com/tcad-products/fdtd/

            version toolchain 8.6.2 system 8.11.337 system 8.16.982 system 8.20.1731 system"},{"location":"version-specific/supported-software/#feh","title":"feh","text":"

            feh is an X11 image viewer aimed mostly at console users. Unlike most other viewers, it does not have a fancy GUI, but simply displays images. It is controlled via commandline arguments and configurable key/mouse actions.

            homepage: https://feh.finalrewind.org/

            version toolchain 2.26 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#fenics","title":"FEniCS","text":"

            FEniCS is a computing platform for solving partial differential equations (PDEs).

            homepage: https://fenicsproject.org/

            version versionsuffix toolchain 2019.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#fermi-lite","title":"fermi-lite","text":"

            Standalone C library for assembling Illumina short reads in small regions.

            homepage: https://github.com/lh3/fermi-lite

            version toolchain 20190320 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#ferret","title":"Ferret","text":"

            Ferret is an interactive computer visualization and analysis environment designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets.

            homepage: https://ferret.pmel.noaa.gov/Ferret/

            version toolchain 7.3 intel/2017b 7.5.0 foss/2019b"},{"location":"version-specific/supported-software/#festival","title":"festival","text":"

            University of Edinburgh's Festival Speech Synthesis Systems is a free software multi-lingual speech synthesis workbench that runs on multiple-platforms offering black box text to speech, as well as an open architecture for research in speech synthesis. It designed as a component of large speech technology systems.

            homepage: <['http://festvox.org/festival/']>

            version toolchain 2.5.0 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fetchmg","title":"fetchMG","text":"

            The program \u201cfetchMG\u201d was written to extract the 40 MGs from genomes and metagenomes in an easy and accurate manner.

            homepage: http://vm-lux.embl.de/~mende/fetchMG/about.html

            version toolchain 1.0 GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#ffc","title":"FFC","text":"

            The FEniCS Form Compiler (FFC) is a compiler for finite element variational forms.

            homepage: https://bitbucket.org/fenics-project/ffc

            version versionsuffix toolchain 2018.1.0 -Python-3.6.4 foss/2018a 2019.1.0.post0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#fflas-ffpack","title":"FFLAS-FFPACK","text":"

            Finite Field Linear Algebra Subroutines / Package

            homepage: https://linbox-team.github.io/fflas-ffpack/

            version toolchain 2.2.0 foss/2016a"},{"location":"version-specific/supported-software/#ffmpeg","title":"FFmpeg","text":"

            A complete, cross-platform solution to record, convert and stream audio and video.

            homepage: https://www.ffmpeg.org/

            version toolchain 0.10.16 gimkl/2.11.5, intel/2016a 2.8.6 intel/2016a 2.8.7 foss/2016a, intel/2016a 3.0.2 foss/2016a, intel/2016a 3.1.3 foss/2016b, intel/2016b 3.2.4 gimkl/2017a 3.3.1 foss/2016b 3.3.4 intel/2017a 3.4 GCCcore/6.4.0 3.4.1 foss/2017b, intel/2017b 3.4.2 foss/2018a, intel/2018a 3.4.5 foss/2018b 4.0 foss/2018a, intel/2018a 4.0.1 intel/2018a 4.1 foss/2018b, fosscuda/2018b, intel/2018b 4.1.3 GCCcore/8.2.0 4.2.1 GCCcore/8.3.0 4.2.2 GCCcore/9.3.0 4.3.1 GCCcore/10.2.0 4.3.2 GCCcore/10.3.0, GCCcore/11.2.0 4.4.2 GCCcore/11.3.0 5.0.1 GCCcore/11.3.0 5.1.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#ffmpi","title":"ffmpi","text":"

            Fujitsu Compiler based compiler toolchain, including Fujitsu MPI for MPI support.

            homepage: <(none)>

            version toolchain 4.5.0 system"},{"location":"version-specific/supported-software/#ffnet","title":"ffnet","text":"

            Feed-forward neural network solution for python

            homepage: http://ffnet.sourceforge.net/

            version versionsuffix toolchain 0.8.3 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#ffnvcodec","title":"ffnvcodec","text":"

            FFmpeg nvidia headers. Adds support for nvenc and nvdec. Requires Nvidia GPU and drivers to be present (picked up dynamically).

            homepage: https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git

            version toolchain 11.1.5.2 system"},{"location":"version-specific/supported-software/#fftlib","title":"fftlib","text":"

            A library that intercepts FFTW calls and adds features on top of it. In particular, it enables FFT plan reuse when there are multiple calls for the same geometry.

            homepage: https://github.com/flwende/fftlib

            version toolchain 20170628 gompi/2020b"},{"location":"version-specific/supported-software/#fftw","title":"FFTW","text":"

            FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.

            homepage: https://www.fftw.org

            version versionsuffix toolchain 1.0.0 -fujitsu FCC/4.5.0 2.1.5 intel/2016b, intel/2017a, intel/2018b 3.3.4 gmpich/2016a, gmvapich2/1.7.20, gmvapich2/2016a, gompi/2016.04, gompi/2016.06, gompi/2016.07, gompi/2016a, gompi/2016b, intel/2016a, intel/2016b 3.3.5 gompi/2016.07, gompi/2016.09, gompi/2016b, intel/2016b 3.3.6 gimpi/2017b, gimpic/2017b, gompi/2017a, gompi/2017b, gompic/2017b, intel/2016b, intel/2017a, intel/2017b, intelcuda/2017b 3.3.7 gimkl/2017a, gimpi/2018a, gmpich/2017.08, gompi/2018a, gompic/2018a, intel/2017b, intel/2018.00, intel/2018.01, intel/2018a, iomkl/2018a 3.3.7 -serial GCC/6.4.0-2.28 3.3.8 gompi/2018.08, gompi/2018b, gompi/2019a, gompi/2019b, gompi/2020a, gompi/2020b, gompic/2018b, gompic/2019a, gompic/2019b, gompic/2020a, gompic/2020b, iimpi/2020b, intel/2018b, intel/2019a, intel/2019b, intel/2020a, intel/2020b, iomkl/2018b, iomkl/2020b 3.3.8 -amd gompi/2020a 3.3.8 -serial GCC/9.3.0 3.3.9 gompi/2021a, intel/2021a 3.3.10 GCC/11.3.0, GCC/12.2.0, GCC/12.3.0, NVHPC/22.7-CUDA-11.7.0, gompi/2021b, iimpi/2021b, iimpi/2022a, iimpi/2022b"},{"location":"version-specific/supported-software/#fftwmpi","title":"FFTW.MPI","text":"

            FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.

            homepage: https://www.fftw.org

            version toolchain 3.3.10 gompi/2022.05, gompi/2022.10, gompi/2022a, gompi/2022b, gompi/2023a, nvompi/2022.07"},{"location":"version-specific/supported-software/#fgbio","title":"fgbio","text":"

            A set of tools to analyze genomic data with a focus on Next Generation Sequencing.

            homepage: https://fulcrumgenomics.github.io/fgbio

            version toolchain 1.3.0 system"},{"location":"version-specific/supported-software/#fgsl","title":"FGSL","text":"

            FGSL: A Fortran interface to the GNU Scientific Library

            homepage: https://www.lrz.de/services/software/mathematik/gsl/fortran/

            version toolchain 1.1.0 intel/2016b"},{"location":"version-specific/supported-software/#fhi-aims","title":"FHI-aims","text":"

            FHI-aims is an efficient, accurate all-electron, full-potential electronic structure code package for computational molecular and materials science (non-periodic and periodic systems). The code supports DFT (semilocal and hybrid) and many-body perturbation theory. FHI-aims is particularly efficient for molecular systems and nanostructures, while maintaining high numerical accuracy for all production tasks. Production calculations handle up to several thousand atoms and can efficiently use (ten) thousands of cores.

            homepage: https://fhi-aims.org/

            version toolchain 200112_2 intel/2019b 221103 intel/2022a"},{"location":"version-specific/supported-software/#fiat","title":"FIAT","text":"

            The FInite element Automatic Tabulator (FIAT) supports generation of arbitrary order instances of the Lagrange elements on lines, triangles, and tetrahedra. It is also capable of generating arbitrary order instances of Jacobi-type quadrature rules on the same element shapes.

            homepage: https://bitbucket.org/fenics-project/fiat

            version versionsuffix toolchain 1.6.0 -Python-2.7.11 foss/2016a, intel/2016a 2018.1.0 -Python-3.6.4 foss/2018a 2019.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#figaro","title":"FIGARO","text":"

            FIGARO: An efficient and objective tool for optimizing microbiome rRNA gene trimming parameters.

            homepage: https://github.com/Zymo-Research/figaro

            version toolchain 1.1.2 intel/2020b"},{"location":"version-specific/supported-software/#figuregen","title":"FigureGen","text":"

            FigureGen is a Fortran program that creates images for ADCIRC files. It reads mesh files (fort.14, etc.), nodal attributes files (fort.13, etc.) and output files (fort.63, fort.64, maxele.63, etc.). It plots contours, contour lines, and vectors. Using FigureGen, you can go directly from the ADCIRC input and output files to a presentation-quality figure, for one or multiple time snaps.

            homepage: https://ccht.ccee.ncsu.edu/category/software/figuregen/

            version toolchain 51-20190516 foss/2019a"},{"location":"version-specific/supported-software/#fiji","title":"Fiji","text":"

            Fiji is an image processing package\u2014a 'batteries-included' distribution of ImageJ, bundling a lot of plugins which facilitate scientific image analysis. This release is based on ImageJ-2.1.0 and Fiji-2.1.1

            homepage: https://fiji.sc/

            version versionsuffix toolchain 2.9.0 -Java-1.8 system 2.9.0 -Java-8 system 20170530 system 20191119-2057 system 20201104-1356 system"},{"location":"version-specific/supported-software/#file","title":"file","text":"

            The file command is 'a file type guesser', that is, a command-line tool that tells you in words what kind of data a file contains.

            homepage: https://www.darwinsys.com/file/

            version toolchain 5.17 GCC/4.8.2 5.25 intel/2016a 5.28 foss/2016b 5.30 intel/2017a 5.33 GCCcore/6.4.0 5.35 GCCcore/7.3.0 5.38 GCCcore/8.3.0, GCCcore/9.3.0 5.39 GCCcore/10.2.0 5.40 GCCcore/10.3.0 5.41 GCCcore/11.2.0 5.43 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#filevercmp","title":"filevercmp","text":"

            filevercmp function as in sort --version-sort.

            homepage: https://github.com/ekg/filevercmp

            version toolchain 20141119 GCCcore/9.3.0 20191210 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#filtlong","title":"Filtlong","text":"

            Filtlong is a tool for filtering long reads by quality. It can take a set of long reads and produce a smaller, better subset. It uses both read length (longer is better) and read identity (higher is better) when choosing which reads pass the filter

            homepage: https://github.com/rrwick/Filtlong

            version toolchain 0.2.0 GCC/10.2.0, foss/2016b 0.2.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#find_circ","title":"find_circ","text":"

            circRNA detection from RNA-seq reads

            homepage: https://github.com/marvin-jens/find_circ

            version versionsuffix toolchain 1.2-20170228 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#finder","title":"finder","text":"

            finder is a gene annotator pipeline which automates the process of downloading short reads, aligning them and using the assembled transcripts to generate gene annotations.

            homepage: https://github.com/sagnikbanerjee15/Finder/

            version toolchain 1.1.0 foss/2021b"},{"location":"version-specific/supported-software/#findhap","title":"findhap","text":"

            Find haplotypes and impute genotypes using multiple chip sets and sequence data

            homepage: http://aipl.arsusda.gov/software/findhap/

            version toolchain 4 system"},{"location":"version-specific/supported-software/#findutils","title":"findutils","text":"

            findutils: The GNU find, locate, updatedb, and xargs utilities

            homepage: http://www.gnu.org/software/findutils/findutils.html

            version toolchain 4.4.2 GCC/4.8.2"},{"location":"version-specific/supported-software/#fineradstructure","title":"fineRADstructure","text":"

            A package for population structure inference from RAD-seq data

            homepage: http://cichlid.gurdon.cam.ac.uk/fineRADstructure.html

            version toolchain 20180709 intel/2018a"},{"location":"version-specific/supported-software/#finestructure","title":"fineSTRUCTURE","text":"

            fineSTRUCTURE is a fast and powerful algorithm for identifying population structure using dense sequencing data.

            homepage: https://people.maths.bris.ac.uk/~madjl/finestructure/finestructure_info.html

            version toolchain 2.1.3 intel/2017b"},{"location":"version-specific/supported-software/#fio","title":"fio","text":"

            Flexible I/O tester

            homepage: https://github.com/axboe/fio

            version toolchain 3.30 GCCcore/10.3.0 3.32 GCCcore/11.3.0 3.34 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#fiona","title":"Fiona","text":"

            Fiona is designed to be simple and dependable. It focuses on reading and writing data in standard Python IO style and relies upon familiar Python types and protocols such as files, dictionaries, mappings, and iterators instead of classes specific to OGR. Fiona can read and write real-world data using multi-layered GIS formats and zipped virtual file systems and integrates readily with other Python GIS packages such as pyproj, Rtree, and Shapely.

            homepage: https://github.com/Toblerity/Fiona

            version versionsuffix toolchain 1.8.13 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 1.8.13.post1 -Python-3.7.2 foss/2019a 1.8.16 -Python-3.8.2 foss/2020a 1.8.20 foss/2020b, foss/2021a, intel/2020b 1.8.21 foss/2021b, foss/2022a 1.9.2 foss/2022b"},{"location":"version-specific/supported-software/#firefox","title":"Firefox","text":"

            Firefox is a free, open source Web browser for Windows, Linux and Mac OS X. It is based on the Mozilla code base and offers customization options and features such as its capability to block pop-up windows, tabbed browsing, privacy and security measures, smart searching, and RSS live bookmarks.

            homepage: https://www.mozilla.org/en-US/firefox/new/

            version toolchain 44.0.2 system"},{"location":"version-specific/supported-software/#firestarter","title":"FIRESTARTER","text":"

            FIRESTARTER: A Processor Stress Test Utility. FIRESTARTER maximizes the energy consumption of 64-Bit x86 processors by generating heavy load on the execution units as well as transferring data between the cores and multiple levels of the memory hierarchy.

            homepage: https://github.com/tud-zih-energy/FIRESTARTER/

            version toolchain 2.0 gcccuda/2020a, gcccuda/2020b"},{"location":"version-specific/supported-software/#fireworks","title":"FireWorks","text":"

            FireWorks helps run calculation workflows, with a centralized workflow server controlling many worker nodes.

            homepage: https://pypi.python.org/pypi/FireWorks

            version versionsuffix toolchain 1.4.2 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#fit-sne","title":"FIt-SNE","text":"

            t-distributed stochastic neighbor embedding (t-SNE) is widely used for visualizing single-cell RNA-sequencing (scRNA-seq) data, but it scales poorly to large datasets. We dramatically accelerate t-SNE, obviating the need for data downsampling, and hence allowing visualization of rare cell populations. Furthermore, we implement a heatmap-style visualization for scRNA-seq based on one-dimensional t-SNE for simultaneously visualizing the expression patterns of thousands of genes.

            homepage: https://github.com/KlugerLab/FIt-SNE

            version toolchain 1.1.0 gompi/2018b"},{"location":"version-specific/supported-software/#fix","title":"FIX","text":"

            FIX attempts to auto-classify ICA components into \"good\" vs \"bad\" components, so that the bad components can be removed from the 4D FMRI data.

            homepage: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FIX

            version versionsuffix toolchain 1.06.12 -Octave-Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#fixesproto","title":"fixesproto","text":"

            X.org FixesProto protocol headers.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 5.0 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#flac","title":"FLAC","text":"

            FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality.

            homepage: https://xiph.org/flac/

            version toolchain 1.3.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.3.4 GCCcore/11.3.0 1.4.2 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#flair","title":"FLAIR","text":"

            FLAIR (Full-Length Alternative Isoform analysis of RNA) for the correction, isoform definition, and alternative splicing analysis of noisy reads. FLAIR has primarily been used for nanopore cDNA, native RNA, and PacBio sequencing reads.

            homepage: https://github.com/BrooksLabUCSC/flair

            version versionsuffix toolchain 1.5 -Python-3.7.4 foss/2019b 1.5.1-20200630 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#flair-nlp","title":"flair-NLP","text":"

            A very simple framework for state-of-the-art NLP

            homepage: https://github.com/flairNLP/flair

            version versionsuffix toolchain 0.11.3 foss/2021a 0.11.3 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#flann","title":"FLANN","text":"

            FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces.

            homepage: https://github.com/mariusmuja/flann/

            version versionsuffix toolchain 1.8.4 -Python-2.7.11 intel/2016a 1.8.4 -Python-2.7.14 intel/2017b 1.8.4 -Python-3.8.2 foss/2020a 1.9.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#flash","title":"FLASH","text":"

            FLASH (Fast Length Adjustment of SHort reads) is a very fast and accurate software tool to merge paired-end reads from next-generation sequencing experiments. FLASH is designed to merge pairs of reads when the original DNA fragments are shorter than twice the length of reads. The resulting longer reads can significantly improve genome assemblies. They can also improve transcriptome assembly when FLASH is used to merge RNA-seq data.

            homepage: https://ccb.jhu.edu/software/FLASH/

            version toolchain 1.2.11 GCC/8.3.0, foss/2016a, foss/2018a, foss/2018b 2.2.00 GCC/11.2.0, GCCcore/12.2.0, foss/2018b, foss/2020b"},{"location":"version-specific/supported-software/#flask","title":"Flask","text":"

            Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. This module includes the Flask extensions: Flask-Cors

            homepage: https://www.palletsprojects.com/p/flask/

            version versionsuffix toolchain 1.0.2 -Python-3.6.6 foss/2018b 1.1.2 GCCcore/10.2.0 1.1.2 -Python-3.7.4 GCCcore/8.3.0 1.1.2 -Python-3.8.2 GCCcore/9.3.0 1.1.4 GCCcore/10.3.0 2.0.2 GCCcore/11.2.0 2.2.2 GCCcore/11.3.0 2.2.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#flatbuffers","title":"flatbuffers","text":"

            FlatBuffers: Memory Efficient Serialization Library

            homepage: https://github.com/google/flatbuffers/

            version toolchain 1.12.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.0.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 2.0.7 GCCcore/11.3.0 23.1.4 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#flatbuffers-python","title":"flatbuffers-python","text":"

            Python Flatbuffers runtime library.

            homepage: https://github.com/google/flatbuffers/

            version versionsuffix toolchain 1.12 GCCcore/10.2.0 1.12 -Python-3.7.4 GCCcore/8.3.0 2.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#fleur","title":"FLEUR","text":"

            FLEUR is a feature-full, freely available FLAPW (full potential linearized augmented planewave) code, based on density-functional theory.

            homepage: http://www.flapw.de/

            version toolchain 0.26e intel/2016a"},{"location":"version-specific/supported-software/#flex","title":"flex","text":"

            Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, sometimes called a tokenizer, is a program which recognizes lexical patterns in text.

            homepage: http://flex.sourceforge.net/

            version toolchain 2.5.35 system 2.5.38 GCC/4.8.2 2.5.39 GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GNU/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, system 2.6.0 GCC/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 2.6.2 intel/2016b 2.6.3 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/7.1.0, gimkl/2017a, system 2.6.4 FCC/4.5.0, GCCcore/10.1.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/11.4.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/5.5.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/7.4.0, GCCcore/8.1.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/8.4.0, GCCcore/9.1.0, GCCcore/9.2.0, GCCcore/9.3.0, GCCcore/9.4.0, GCCcore/9.5.0, GCCcore/system, system"},{"location":"version-specific/supported-software/#flexbar","title":"Flexbar","text":"

            The program Flexbar preprocesses high-throughput sequencing data efficiently

            homepage: https://github.com/seqan/flexbar

            version toolchain 3.5.0 foss/2018b"},{"location":"version-specific/supported-software/#flexiblas","title":"FlexiBLAS","text":"

            FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation used by a program without recompiling or relinking it.

            homepage: https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release

            version toolchain 3.0.4 GCC/10.3.0, GCC/11.2.0 3.1.3 GCC/11.2.0 3.2.0 GCC/11.3.0, NVHPC/22.7-CUDA-11.7.0 3.2.1 GCC/12.2.0 3.3.1 GCC/12.3.0"},{"location":"version-specific/supported-software/#flexidot","title":"FlexiDot","text":"

            Highly customizable, ambiguity-aware dotplots for visual sequence analyses

            homepage: https://github.com/molbio-dresden/flexidot

            version versionsuffix toolchain 1.06 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#flink","title":"Flink","text":"

            Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.

            homepage: https://flink.apache.org/

            version versionsuffix toolchain 1.11.2 -bin-scala_2.11 system"},{"location":"version-specific/supported-software/#flint","title":"FLINT","text":"

            FLINT (Fast Library for Number Theory) is a C library in support of computations in number theory. Operations that can be performed include conversions, arithmetic, computing GCDs, factoring, solving linear systems, and evaluating special functions. In addition, FLINT provides various low-level routines for fast arithmetic. FLINT is extensively documented and tested.

            homepage: https://www.flintlib.org/

            version toolchain 2.5.2 GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, GCC/8.3.0, iccifort/2018.3.222-GCC-7.3.0-2.30 2.7.1 GCC/10.3.0 2.8.4 foss/2021b 2.9.0 gfbf/2022a"},{"location":"version-specific/supported-software/#flook","title":"flook","text":"

            The fortran-Lua-hook library.

            homepage: https://github.com/ElectronicStructureLibrary/flook

            version toolchain 0.8.1 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#flowfda","title":"flowFDA","text":"

            R package for analysing flow cytometry experiments with model based clustering, functional principal component analysis

            homepage: https://github.com/FMKerckhof/flowFDA

            version versionsuffix toolchain 0.99-20220602 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#fltk","title":"FLTK","text":"

            FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation.

            homepage: https://www.fltk.org

            version toolchain 1.3.3 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.3.4 foss/2017b, foss/2018a, foss/2018b, fosscuda/2017b, fosscuda/2018a, fosscuda/2018b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intelcuda/2017b 1.3.5 GCC/8.2.0-2.31.1, GCC/8.3.0, GCCcore/10.2.0, GCCcore/9.3.0 1.3.6 GCCcore/10.3.0 1.3.7 GCCcore/11.2.0 1.3.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#fluent","title":"FLUENT","text":"

            ANSYS FLUENT software contains the broad physical modeling capabilities needed to model flow, turbulence, heat transfer, and reactions for industrial applications ranging from air flow over an aircraft wing to combustion in a furnace, from bubble columns to oil platforms, from blood flow to semiconductor manufacturing, and from clean room design to wastewater treatment plants.

            homepage: https://www.ansys.com/products/fluids/ansys-fluent

            version toolchain 14.5 system 15.0.7 system 16.0 system 17.1 system 18.0 system 18.1 system 18.2 system 2019R3 system 2021R1 system 2021R2 system"},{"location":"version-specific/supported-software/#flye","title":"Flye","text":"

            Flye is a de novo assembler for long and noisy reads, such as those produced by PacBio and Oxford Nanopore Technologies.

            homepage: https://github.com/fenderglass/Flye

            version versionsuffix toolchain 2.4 -Python-2.7.15 intel/2018b 2.6 -Python-3.7.2 foss/2019a 2.6 -Python-3.7.4 intel/2019b 2.8.1 -Python-3.8.2 intel/2020a 2.8.2 -Python-3.8.2 foss/2020a 2.8.3 GCC/10.2.0, iccifort/2020.4.304 2.9 GCC/10.3.0, intel-compilers/2021.2.0 2.9.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#fmilibrary","title":"FMILibrary","text":"

            FMI library is intended as a foundation for applications interfacing FMUs (Functional Mockup Units) that follow FMI Standard. This version of the library supports FMI 1.0 and FMI2.0. See http://www.fmi-standard.org/

            homepage: https://jmodelica.org/

            version toolchain 2.0.3 intel/2018b"},{"location":"version-specific/supported-software/#fmm3d","title":"FMM3D","text":"

            Flatiron Institute Fast Multipole Libraries: a set of libraries to compute N-body interactions governed by the Laplace and Helmholtz equations, to a specified precision, in three dimensions, on a multi-core shared-memory machine.

            homepage: https://fmm3d.readthedocs.io

            version toolchain 20211018 foss/2020b"},{"location":"version-specific/supported-software/#fmpy","title":"FMPy","text":"

            FMPy is a free Python library to simulate Functional Mock-up Units (FMUs).

            homepage: https://github.com/CATIA-Systems/FMPy

            version toolchain 0.3.2 foss/2021a"},{"location":"version-specific/supported-software/#fmriprep","title":"FMRIprep","text":"

            FMRIprep is a functional magnetic resonance imaging (fMRI) data preprocessing pipeline that is designed to provide an easily accessible, state-of-the-art interface that is robust to variations in scan acquisition protocols and that requires minimal user input, while providing easily interpretable and comprehensive error and output reporting.

            homepage: https://fmriprep.readthedocs.io

            version versionsuffix toolchain 1.1.8 -Python-3.6.6 foss/2018b 1.4.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#fms","title":"FMS","text":"

            The Flexible Modeling System (FMS) is a software framework for supporting the efficient development, construction, execution, and scientific interpretation of atmospheric, oceanic, and climate system models.

            homepage: https://github.com/NOAA-GFDL/FMS

            version toolchain 2022.02 gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#fmt","title":"fmt","text":"

            fmt (formerly cppformat) is an open-source formatting library.

            homepage: http://fmtlib.net/

            version toolchain 3.0.1 foss/2016b, intel/2016b 3.0.2 GCCcore/6.4.0, intel/2017a 5.3.0 GCCcore/7.3.0, GCCcore/8.2.0 6.2.1 GCCcore/9.3.0 7.0.3 GCCcore/9.3.0 7.1.1 GCCcore/11.2.0 9.1.0 GCCcore/11.3.0, GCCcore/12.2.0 10.0.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#fobis","title":"FoBiS","text":"

            A Fortran Building System for automatic building modern Fortran projects

            homepage: https://github.com/szaghi/FoBiS

            version toolchain 3.0.5 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#foldx","title":"FoldX","text":"

            FoldX is used to provide a fast and quantitative estimation of the importance of the interactions contributing to the stability of proteins and protein complexes.

            homepage: http://foldx.crg.es/

            version toolchain 2.5.2 system 3.0-beta5.1 system 3.0-beta6 system 3.0-beta6.1 system"},{"location":"version-specific/supported-software/#fontconfig","title":"fontconfig","text":"

            Fontconfig is a library designed to provide system-wide font configuration, customization and application access.

            homepage: https://www.freedesktop.org/wiki/Software/fontconfig/

            version versionsuffix toolchain 2.11.94 foss/2016a, intel/2016a 2.11.95 foss/2016a, intel/2016a 2.12.1 GCCcore/5.4.0, GCCcore/6.3.0, foss/2016b, gimkl/2017a, intel/2016b 2.12.1 -libpng-1.6.29 GCCcore/6.3.0 2.12.4 GCCcore/6.4.0 2.12.6 GCCcore/6.4.0 2.13.0 GCCcore/6.4.0, GCCcore/7.3.0 2.13.1 GCCcore/8.2.0, GCCcore/8.3.0 2.13.92 GCCcore/10.2.0, GCCcore/9.3.0 2.13.93 GCCcore/10.3.0 2.13.94 GCCcore/11.2.0 2.14.0 GCCcore/11.3.0 2.14.1 GCCcore/12.2.0 2.14.2 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#fontsproto","title":"fontsproto","text":"

            X11 font extension wire protocol

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 2.1.3 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#ford","title":"FORD","text":"

            FORD is an automatic documentation generator for modern Fortran programs

            homepage: https://github.com/Fortran-FOSS-Programmers/ford/wiki

            version toolchain 6.1.1 GCCcore/10.2.0 6.1.6 GCCcore/10.3.0 6.1.15 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#foss","title":"foss","text":"

            GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

            homepage: https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain

            version toolchain 2016.04 system 2016.06 system 2016.07 system 2016.09 system 2016a system 2016b system 2017a system 2017b system 2018.08 system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system 2021a system 2021b system 2022.05 system 2022.10 system 2022a system 2022b system 2023a system"},{"location":"version-specific/supported-software/#fosscuda","title":"fosscuda","text":"

            GCC based compiler toolchain with CUDA support, and including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

            homepage: <(none)>

            version toolchain 2017b system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#fox","title":"FoX","text":"

            FoX is an XML library written in Fortran 95. It allows software developers to read, write and modify XML documents from Fortran applications without the complications of dealing with multi-language development.

            homepage: http://homepages.see.leeds.ac.uk/~earawa/FoX/

            version toolchain 4.1.2 GCC/11.2.0, GCC/9.3.0, intel/2017b, intel/2018a"},{"location":"version-specific/supported-software/#fox-toolkit","title":"FOX-Toolkit","text":"

            FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and effectively. It offers a wide, and growing, collection of Controls, and provides state of the art facilities such as drag and drop, selection, as well as OpenGL widgets for 3D graphical manipulation. FOX also implements icons, images, and user-convenience features such as status line help, and tooltips.

            homepage: https://www.fox-toolkit.org/

            version toolchain 1.6.57 GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fpm","title":"FPM","text":"

            Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.

            homepage: https://github.com/jordansissel/fpm

            version versionsuffix toolchain 1.3.3 -Ruby-2.1.6 system"},{"location":"version-specific/supported-software/#fpocket","title":"fpocket","text":"

            The fpocket suite of programs is a very fast open source protein pocket detection algorithm based on Voronoi tessellation. The platform is suited for the scientific community willing to develop new scoring functions and extract pocket descriptors on a large scale level.

            homepage: https://github.com/Discngine/fpocket

            version toolchain 3.1.4.2 gompi/2020a"},{"location":"version-specific/supported-software/#fqtrim","title":"fqtrim","text":"

            fqtrim is a versatile stand-alone utility that can be used to trim adapters, poly-A tails, terminal unknown bases (Ns) and low quality 3' regions in reads from high-throughput next-generation sequencing machines.

            homepage: http://ccb.jhu.edu/software/fqtrim/

            version toolchain 0.9.4 intel/2016b 0.9.5 intel/2017a"},{"location":"version-specific/supported-software/#fqzcomp","title":"fqzcomp","text":"

            Fqzcomp is a basic fastq compressor, designed primarily for high performance. Despite that it is comparable to bzip2 for compression levels.

            homepage: http://sourceforge.net/projects/fqzcomp/

            version toolchain 4.6 GCC/4.8.2"},{"location":"version-specific/supported-software/#fraggenescan","title":"FragGeneScan","text":"

            FragGeneScan is an application for finding (fragmented) genes in short reads.

            homepage: http://omics.informatics.indiana.edu/FragGeneScan/

            version toolchain 1.31 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, foss/2018b"},{"location":"version-specific/supported-software/#fragpipe","title":"FragPipe","text":"

            FragPipe is a Java Graphical User Interface (GUI) for a suite of computational tools enabling comprehensive analysis of mass spectrometry-based proteomics data.

            homepage: https://fragpipe.nesvilab.org

            version versionsuffix toolchain 20.0 -Java-11 system"},{"location":"version-specific/supported-software/#franz","title":"FRANz","text":"

            A fast and flexible parentage inference program for natural populations.

            homepage: https://www.bioinf.uni-leipzig.de/Software/FRANz

            version toolchain 2.0.0 foss/2018a"},{"location":"version-specific/supported-software/#freebarcodes","title":"FreeBarcodes","text":"

            A package for the generation and decoding of FREE divergence error-correcting DNA barcodes

            homepage: https://github.com/hawkjo/freebarcodes

            version toolchain 3.0.a5 foss/2021b"},{"location":"version-specific/supported-software/#freebayes","title":"freebayes","text":"

            Bayesian haplotype-based genetic polymorphism discovery and genotyping.

            homepage: https://github.com/freebayes/freebayes

            version versionsuffix toolchain 1.3.5 GCC/10.2.0 1.3.5 -Python-3.8.2 GCC/9.3.0 1.3.6 -R-4.1.0 foss/2021a 1.3.6 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#freefem","title":"FreeFEM","text":"

            FreeFEM offers a fast interpolation algorithm and a language for the manipulation of data on multiple meshes.

            homepage: https://freefem.org

            version versionsuffix toolchain 4.5 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#freefem_1","title":"FreeFem++","text":"

            FreeFem++ is a partial differential equation solver. It has its own language. freefem scripts can solve multiphysics non linear systems in 2D and 3D.

            homepage: http://www.freefem.org/

            version versionsuffix toolchain 3.58 -downloaded-deps foss/2017b 3.60 -downloaded-deps intel/2018a 3.61-1 -downloaded-deps intel/2018a"},{"location":"version-specific/supported-software/#freeglut","title":"freeglut","text":"

            freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library.

            homepage: http://freeglut.sourceforge.net/

            version versionsuffix toolchain 3.0.0 GCCcore/8.2.0, foss/2016a, foss/2016b, foss/2017b, foss/2018a, foss/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a 3.0.0 -Mesa-11.2.1 foss/2016a, intel/2016a 3.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0, GCCcore/9.3.0 3.2.2 GCCcore/11.3.0 3.4.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#freeimage","title":"FreeImage","text":"

            FreeImage is an Open Source library project for developers who would like to support popular graphics image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications. FreeImage is easy to use, fast, multithreading safe.

            homepage: http://freeimage.sourceforge.net

            version toolchain 3.18.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#freesasa","title":"FreeSASA","text":"

            FreeSASA is a command line tool, C-library and Python module for calculating solvent accessible surface areas (SASA).

            homepage: https://freesasa.github.io

            version toolchain 2.0.3 GCC/8.3.0"},{"location":"version-specific/supported-software/#freesurfer","title":"FreeSurfer","text":"

            FreeSurfer is a set of tools for analysis and visualization of structural and functional brain imaging data. FreeSurfer contains a fully automatic structural imaging stream for processing cross sectional and longitudinal data.

            homepage: https://surfer.nmr.mgh.harvard.edu/

            version versionsuffix toolchain 5.3.0 -centos4_x86_64 system 5.3.0 -centos6_x86_64 system 6.0.0 -centos6_x86_64 system 6.0.1 -centos6_x86_64 system 7.1.1 -centos6_x86_64 system 7.1.1 -centos7_x86_64 system 7.1.1 -centos8_x86_64 system 7.2.0 -centos7_x86_64 system 7.2.0 -centos8_x86_64 system 7.2.0 -ubuntu18_amd64 system 7.3.2 -centos7_x86_64 system 7.3.2 -centos8_x86_64 system 7.4.0 -centos8_x86_64 system 7.4.0 -ubuntu20_amd64 system 7.4.0 -ubuntu22_amd64 system"},{"location":"version-specific/supported-software/#freetds","title":"FreeTDS","text":"

            FreeTDS is a set of libraries for Unix and Linux that allows your programs to natively talk to Microsoft SQL Server and Sybase databases.

            homepage: https://www.freetds.org/

            version toolchain 1.3.3 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#freetype","title":"freetype","text":"

            FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well.

            homepage: https://freetype.org

            version versionsuffix toolchain 2.6.2 foss/2016a, gimkl/2.11.5, intel/2016a 2.6.3 foss/2016a, intel/2016a 2.6.5 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, intel/2016b 2.7 foss/2016b, intel/2016b 2.7.1 GCCcore/5.4.0, GCCcore/6.3.0, gimkl/2017a, intel/2016b 2.7.1 -libpng-1.6.29 GCCcore/6.3.0 2.8 GCCcore/6.4.0 2.8.1 GCCcore/6.4.0 2.9 GCCcore/6.4.0 2.9.1 GCCcore/7.3.0, GCCcore/8.2.0 2.10.1 GCCcore/8.3.0, GCCcore/9.3.0 2.10.3 GCCcore/10.2.0 2.10.4 GCCcore/10.3.0 2.11.0 GCCcore/11.2.0 2.12.1 GCCcore/11.3.0, GCCcore/12.2.0 2.13.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#freetype-py","title":"freetype-py","text":"

            Python binding for the freetype library

            homepage: https://github.com/rougier/freetype-py

            version versionsuffix toolchain 2.2.0 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#freexl","title":"FreeXL","text":"

            FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet.

            homepage: https://www.gaia-gis.it/fossil/freexl/index

            version toolchain 1.0.2 foss/2016b, intel/2016b 1.0.3 GCCcore/6.4.0 1.0.5 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 1.0.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#freud-analysis","title":"freud-analysis","text":"

            The freud Python library provides a simple, flexible, powerful set of tools for analyzing trajectories obtained from molecular dynamics or Monte Carlo simulations. High performance, parallelized C++ is used to compute standard tools such as radial distribution functions, correlation functions, order parameters, and clusters, as well as original analysis methods including potentials of mean force and torque (PMFTs) and local environment matching. The freud library supports many input formats and outputs NumPy arrays, enabling integration with the scientific Python ecosystem for many typical materials science workflows.

            homepage: https://github.com/glotzerlab/freud

            version toolchain 2.6.2 foss/2020b"},{"location":"version-specific/supported-software/#fribidi","title":"FriBidi","text":"

            The Free Implementation of the Unicode Bidirectional Algorithm.

            homepage: https://github.com/fribidi/fribidi

            version toolchain 1.0.1 foss/2018a, intel/2018a 1.0.2 GCCcore/6.4.0 1.0.5 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 1.0.9 GCCcore/9.3.0 1.0.10 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.0.12 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#fruit","title":"FRUIT","text":"

            FORTRAN Unit Test Framework (FRUIT)

            homepage: https://fortranxunit.sourceforge.io

            version versionsuffix toolchain 3.4.3 -Ruby-2.5.1 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#fruit_processor","title":"FRUIT_processor","text":"

            FORTRAN Unit Test Framework (FRUIT)

            homepage: https://fortranxunit.sourceforge.io

            version versionsuffix toolchain 3.4.3 -Ruby-2.5.1 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#fsl","title":"FSL","text":"

            FSL is a comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data.

            homepage: https://www.fmrib.ox.ac.uk/fsl/

            version versionsuffix toolchain 5.0.9 intel/2016a 5.0.9 -Mesa-11.2.1 intel/2016a 5.0.9 -centos6_64 system 5.0.10 foss/2017b, intel/2017a, intel/2017b 5.0.11 foss/2018b 5.0.11 -Python-3.6.6 foss/2018b 6.0.1 -Python-2.7.15 foss/2019a 6.0.1 -Python-3.7.2 foss/2019a 6.0.2 -Python-2.7.15 foss/2018b, foss/2019a 6.0.2 -Python-2.7.15-CUDA-9.2.88 foss/2018b 6.0.2 -Python-3.7.2 foss/2019a 6.0.3 -Python-3.7.4 foss/2019b 6.0.4 -Python-3.7.4 foss/2019b 6.0.5.1 foss/2021a"},{"location":"version-specific/supported-software/#fsleyes","title":"FSLeyes","text":"

            FSLeyes is the FSL image viewer.

            homepage: https://git.fmrib.ox.ac.uk/fsl/fsleyes/fsleyes

            version versionsuffix toolchain 0.15.0 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#fsom","title":"fsom","text":"

            A tiny C library for managing SOM (Self-Organizing Maps) neural networks.

            homepage: https://github.com/ekg/fsom

            version toolchain 20141119 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fson","title":"FSON","text":"

            Fortran 95 JSON Parser

            homepage: https://github.com/josephalevin/fson

            version toolchain 1.0.5 GCC/10.2.0"},{"location":"version-specific/supported-software/#ftgl","title":"FTGL","text":"

            FTGL is a free open source library to enable developers to use arbitrary fonts in their OpenGL (www.opengl.org) applications.

            homepage: https://github.com/frankheckenbach/ftgl

            version toolchain 2.1.3-rc5 GCCcore/10.2.0, GCCcore/8.2.0, foss/2017b, foss/2018a, fosscuda/2018b, intel/2017b 2.4.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#fujitsu","title":"Fujitsu","text":"

            Toolchain using Fujitsu compilers and libraries.

            homepage: <(none)>

            version toolchain 21.05 system"},{"location":"version-specific/supported-software/#fullrmc","title":"fullrmc","text":"

            Reverse Monte Carlo (RMC) is probably best known for its applications in condensed matter physics and solid state chemistry. fullrmc which stands for FUndamental Library Language for Reverse Monte Carlo is different than traditional RMC but a stochastic modelling method to solve an inverse problem whereby an atomic/molecular model is adjusted until its atoms position havei the greatest consistency with a set of experimental data.

            homepage: https://bachiraoun.github.io/fullrmc

            version versionsuffix toolchain 3.2.0 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#fumi_tools","title":"fumi_tools","text":"

            This tool is intended to deduplicate UMIs from single-end and paired-end sequencing data. Reads are considered identical when their UMIs have the same sequence, they have the same length and map at the same position.

            homepage: https://ccb-gitlab.cs.uni-saarland.de/tobias/fumi_tools

            version versionsuffix toolchain 0.18.2 GCC/10.3.0, GCC/11.2.0 0.18.2 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#funannotate","title":"funannotate","text":"

            funannotate is a pipeline for genome annotation (built specifically for fungi, but will also work with higher eukaryotes)

            homepage: https://funannotate.readthedocs.io

            version toolchain 1.8.13 foss/2021b"},{"location":"version-specific/supported-software/#fungap","title":"FunGAP","text":"

            Fungal Genome Annotation Pipeline using evidence-based gene model evaluation.

            homepage: https://github.com/CompSynBioLab-KoreaUniv/FunGAP

            version toolchain 1.1.1 foss/2022a"},{"location":"version-specific/supported-software/#funwave-tvd","title":"FUNWAVE-TVD","text":"

            FUNWAVE\u2013TVD is the TVD version of the fully nonlinear Boussinesq wave model (FUNWAVE) initially developed by Kirby et al.

            homepage: https://fengyanshi.github.io

            version versionsuffix toolchain 3.1-20170525 intel/2017a 3.1-20170525 -no-storm intel/2017a"},{"location":"version-specific/supported-software/#fuse","title":"FUSE","text":"

            The reference implementation of the Linux FUSE (Filesystem in Userspace) interface

            homepage: https://github.com/libfuse/libfuse

            version toolchain 3.2.6 intel/2018a 3.4.1 foss/2018a 3.14.1 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#fuseq","title":"FuSeq","text":"

            FuSeq is a novel method to discover fusion genes from paired-end RNA sequencing data.

            homepage: https://github.com/nghiavtr/FuSeq

            version toolchain 1.1.2 gompi/2019b"},{"location":"version-specific/supported-software/#fusioncatcher","title":"FusionCatcher","text":"

            FusionCatcher searches for novel/known somatic fusion genes, translocations, and chimeras in RNA-seq data (paired-end or single-end reads from Illumina NGS platforms like Solexa/HiSeq/NextSeq/MiSeq/MiniSeq) from diseased samples.

            homepage: https://github.com/ndaniel/fusioncatcher

            version versionsuffix toolchain 1.20 -Python-2.7.16 foss/2019b 1.30 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#futhark","title":"futhark","text":"

            Futhark is a small programming language designed to be compiled to efficient parallel code. It is a statically typed, data-parallel, and purely functional array language in the ML family, and comes with a heavily optimising ahead-of-time compiler that presently generates GPU code via CUDA and OpenCL, although the language itself is hardware-agnostic and can also run on multicore CPUs

            homepage: https://futhark-lang.org/

            version toolchain 0.19.5 system"},{"location":"version-specific/supported-software/#futile","title":"futile","text":"

            The FUTILE project (Fortran Utilities for the Treatment of Innermost Level of Executables) is a set of modules and wrapper that encapsulate the most common low-level operations of a Fortran code.

            homepage: https://launchpad.net/futile

            version toolchain 1.8.3 foss/2020b, foss/2021a, foss/2021b, intel/2020b, intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#future","title":"future","text":"

            python-future is the missing compatibility layer between Python 2 and Python 3.

            homepage: https://python-future.org/

            version versionsuffix toolchain 0.16.0 -Python-2.7.14 foss/2018a, intel/2017b, intel/2018a 0.16.0 -Python-2.7.15 foss/2018b, intel/2018b 0.16.0 -Python-3.6.3 intel/2017b 0.16.0 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#fxtract","title":"fxtract","text":"

            Extract sequences from a fastx (fasta or fastq) file given a subsequence.

            homepage: https://github.com/ctSkennerton/fxtract

            version toolchain 2.3 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#g","title":"G","text":"

            G-PhoCS - g2clib - g2lib - g2log - Gaia - GAMESS-US - gap - GapCloser - GapFiller - gappa - GARLI - garnett - GAT - GATB-Core - GATE - GATK - Gaussian - gawk - gbasis - Gblocks - GBprocesS - gbs2ploidy - gc - GC3Pie - GCC - GCCcore - gcccuda - gcloud - GConf - GCTA - Gctf - GD - GDAL - GDB - gdbgui - gdbm - gdc-client - GDCHART - GDCM - GDGraph - gdist - Gdk-Pixbuf - GDRCopy - Geant4 - Geant4-data - gearshifft - GEGL - GEM - GEM-library - gemelli - GEMMA - gemmi - gencore_variant_detection - GeneMark-ET - gengetopt - GenMap - Genome_Profiler - GenomeMapper - genomepy - GenomeTester4 - GenomeThreader - GenomeTools - GenomeWorks - GenotypeHarmonizer - genozip - gensim - geocube - geopandas - geopy - georges - GEOS - Gerris - GETORB - GetOrganelle - gettext - gexiv2 - gfbf - GffCompare - gffread - gflags - GFOLD - gh - GHC - Ghostscript - Gibbs2 - giflib - gifsicle - GIMIC - gimkl - GimmeMotifs - GIMP - gimpi - gimpic - GIMPS - giolf - giolfc - Giotto-Suite - git - git-extras - git-lfs - GitPython - Givaro - Giza - GKeyll - GL2PS - Glade - glew - GLFW - GLI - GLib - glib-networking - glibc - GLibmm - GLIMMER - GlimmerHMM - GLIMPSE - GLM - GLM-AED - GlobalArrays - Globus-CLI - GlobusConnectPersonal - glog - GLPK - glproto - Glucose - GMAP-GSNAP - GMP - gmpich - gmpolf - gmpy2 - gmsh - GMT - gmvapich2 - gmvolf - GNU - gnuplot - GnuTLS - Go - goalign - GOATOOLS - gobff - GObject-Introspection - goblf - GOBNILP - Godon - gofasta - golf - gomkl - gompi - gompic - google-java-format - googletest - gotree - GP2C - GPAW - GPAW-setups - gperf - gperftools - gpustat - GPy - GPyOpt - GPyTorch - Grace - Gradle - gradunwarp - graph-tool - GraphDB - Graphene - GraphicsMagick - graphite2 - GraPhlAn - GraphMap - GraphMap2 - Graphviz - graphviz-python - GRASP - GRASS - Greenlet - Grep - gretl - grib_api - grid - GRIDSS - GRIT - GRNBoost - groff - GroIMP - GROMACS - GromacsWrapper - Groovy - gRPC - GSEA - gsettings-desktop-schemas - GSL - gSOAP - gsport - GST-plugins-bad - GST-plugins-base - GStreamer - gsutil - gsw - GTDB-Tk - GTK+ - GTK2 - GTK3 - GTK4 - GtkSourceView - GTOOL - GTS - gubbins - guenomu - Guile - GULP - Gurobi - GUSHR - gzip

            "},{"location":"version-specific/supported-software/#g-phocs","title":"G-PhoCS","text":"

            G-PhoCS is a software package for inferring ancestral population sizes, population divergence times, and migration rates from individual genome sequences. G-PhoCS accepts as input a set of multiple sequence alignments from separate neutrally evolving loci along the genome. Parameter inference is done in a Bayesian manner, using a Markov Chain Monte Carlo (MCMC) to jointly sample model parameters and genealogies at the input loci.

            homepage: http://compgen.cshl.edu/GPhoCS/

            version toolchain 1.2.3 iccifort/2019.1.144-GCC-8.2.0-2.31.1"},{"location":"version-specific/supported-software/#g2clib","title":"g2clib","text":"

            Library contains GRIB2 encoder/decoder ('C' version).

            homepage: https://github.com/NOAA-EMC/NCEPLIBS-g2c

            version toolchain 1.6.0 GCCcore/8.3.0, GCCcore/9.3.0, foss/2018b, intel/2017a, intel/2017b, intel/2018a, intel/2018b 1.6.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.7.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#g2lib","title":"g2lib","text":"

            Library contains GRIB2 encoder/decoder and search/indexing routines.

            homepage: https://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/

            version toolchain 1.4.0 intel/2017a, intel/2017b, intel/2018a 3.1.0 GCCcore/8.3.0, GCCcore/9.3.0, foss/2018b, intel/2018b 3.2.0 GCCcore/10.2.0, GCCcore/10.3.0"},{"location":"version-specific/supported-software/#g2log","title":"g2log","text":"

            g2log, efficient asynchronous logger using C++11

            homepage: https://sites.google.com/site/kjellhedstrom2//g2log-efficient-background-io-processign-with-c11

            version toolchain 1.0 GCCcore/8.3.0, foss/2016b"},{"location":"version-specific/supported-software/#gaia","title":"Gaia","text":"

            Gaia is a C++ library with python bindings which implements similarity measures and classi\ufb01cations on the results of audio analysis, and generates classi\ufb01cation models that Essentia can use to compute high-level description of music.

            homepage: https://github.com/MTG/gaia

            version versionsuffix toolchain 2.4.5 -Python-2.7.15 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gamess-us","title":"GAMESS-US","text":"

            The General Atomic and Molecular Electronic Structure System (GAMESS) is a general ab initio quantum chemistry package.

            homepage: http://www.msg.chem.iastate.edu/gamess/index.html

            version versionsuffix toolchain 20141205-R1 intel/2016a 20170420-R1 intel/2016b 20170420-R1 -sockets intel/2016b 20180214-R1 foss/2016b 20180214-R1 -sockets foss/2016b"},{"location":"version-specific/supported-software/#gap","title":"gap","text":"

            GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory.

            homepage: https://www.gap-system.org

            version toolchain 4.9.3 intel/2018b 4.11.0 foss/2019a"},{"location":"version-specific/supported-software/#gapcloser","title":"GapCloser","text":"

            GapCloser is designed to close the gaps emerging during the scaffolding process by SOAPdenovo or other assembler, using the abundant pair relationships of short reads.

            homepage: https://sourceforge.net/projects/soapdenovo2/files/GapCloser/

            version toolchain 1.12-r6 foss/2018a, intel/2017b"},{"location":"version-specific/supported-software/#gapfiller","title":"GapFiller","text":"

            GapFiller is a seed-and-extend local assembler to fill the gap within paired reads. It can be used for both DNA and RNA and it has been tested on Illumina data.

            homepage: https://sourceforge.net/projects/gapfiller

            version toolchain 2.1.1 intel/2017a 2.1.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#gappa","title":"gappa","text":"

            gappa is a collection of commands for working with phylogenetic data. Its main focus are evolutionary placements of short environmental sequences on a reference phylogenetic tree. Such data is typically produced by tools like EPA-ng, RAxML-EPA or pplacer and usually stored in jplace files.

            homepage: https://github.com/lczech/gappa

            version toolchain 0.7.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#garli","title":"GARLI","text":"

            GARLI, Genetic Algorithm for Rapid Likelihood Inference is a program for inferring phylogenetic trees. Using an approach similar to a classical genetic algorithm, it rapidly searches the space of evolutionary trees and model parameters to find the solution maximizing the likelihood score. It implements nucleotide, amino acid and codon-based models of sequence evolution, and runs on all platforms.

            homepage: https://code.google.com/archive/p/garli/

            version toolchain 2.01 gompi/2019a"},{"location":"version-specific/supported-software/#garnett","title":"garnett","text":"

            Garnett is a software package that faciliates automated cell type classification from single-cell expression data.

            homepage: https://cole-trapnell-lab.github.io/garnett

            version versionsuffix toolchain 0.1.20 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#gat","title":"GAT","text":"

            The Genomic Association Tester (GAT) is a tool for computing the significance of overlap between multiple sets of genomic intervals. GAT estimates significance based on simulation.

            homepage: https://gat.readthedocs.io/

            version versionsuffix toolchain 1.2.2 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#gatb-core","title":"GATB-Core","text":"

            GATB-Core is a high-performance and low memory footprint C++ library that provides a set of highly efficient algorithms to analyse NGS data sets

            homepage: https://gatb.inria.fr/software/gatb-core

            version toolchain 1.4.2 gompi/2022a"},{"location":"version-specific/supported-software/#gate","title":"GATE","text":"

            GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography

            homepage: http://www.opengatecollaboration.org/

            version versionsuffix toolchain 6.2 -Python-2.7.11 intel/2016a 7.1 -Python-2.7.11 intel/2016a 7.2 -Python-2.7.11 intel/2016a 8.0 -Python-2.7.14 foss/2017b, intel/2017b 8.0 -Python-2.7.14-Geant4-10.04 intel/2017b 8.1.p01 -Python-2.7.15 foss/2018b 8.2 -Python-2.7.14 foss/2017b, intel/2017b 8.2 -Python-2.7.15 foss/2018b 9.0 -Python-3.7.4 foss/2019b 9.1 foss/2021b 9.2 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#gatk","title":"GATK","text":"

            The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute to analyse next-generation resequencing data. The toolkit offers a wide variety of tools, with a primary focus on variant discovery and genotyping as well as strong emphasis on data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.

            homepage: https://www.broadinstitute.org/gatk/

            version versionsuffix toolchain 1.0.5083 system 2.5-2 -Java-1.7.0_10 system 2.6-5 -Java-1.7.0_10 system 2.7-4 system 2.7-4 -Java-1.7.0_10 system 2.8-1 -Java-1.7.0_10 system 3.0-0 -Java-1.7.0_10 system 3.3-0 -Java-1.7.0_21 system 3.3-0 -Java-1.7.0_80 system 3.3-0 -Java-1.8.0_66 system 3.5 -Java-1.8.0_66 system 3.5 -Java-1.8.0_74 system 3.6 -Java-1.8.0_92 system 3.7 -Java-1.8.0_112 system 3.8-0 -Java-1.8.0_144 system 4.0.1.2 -Java-1.8 system 4.0.4.0 -Python-2.7.14 intel/2018a 4.0.4.0 -Python-3.6.4 intel/2018a 4.0.5.1 -Python-3.6.4 foss/2018a 4.0.7.0 -Python-2.7.14 intel/2018a 4.0.7.0 -Python-3.6.4 intel/2018a 4.0.8.1 -Python-2.7.15 foss/2018b 4.0.8.1 -Python-3.6.6 foss/2018b 4.0.10.0 -Python-3.6.6 foss/2018b 4.0.12.0 -Python-3.6.6 foss/2018b 4.1.0.0 -Python-3.6.6 foss/2018b 4.1.2.0 -Java-1.8 GCCcore/8.2.0 4.1.3.0 -Java-1.8 GCCcore/8.3.0 4.1.4.1 -Java-1.8 GCCcore/8.3.0 4.1.4.1 -Java-11 GCCcore/8.3.0 4.1.5.0 -Java-1.8 GCCcore/9.3.0 4.1.5.0 -Java-11 GCCcore/9.3.0 4.1.8.1 -Java-1.8 GCCcore/9.3.0 4.2.0.0 -Java-1.8 GCCcore/10.2.0 4.2.0.0 -Java-11 GCCcore/10.2.0 4.2.3.0 -Java-11 GCCcore/11.2.0 4.2.5.0 -Java-11 GCCcore/11.2.0 4.2.6.1 -Java-11 GCCcore/11.2.0 4.3.0.0 -Java-11 GCCcore/11.3.0 4.4.0.0 -Java-17 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gaussian","title":"Gaussian","text":"

            Gaussian provides state-of-the-art capabilities for electronic structure modeling. Gaussian 09 is licensed for a wide variety of computer systems. All versions of Gaussian 09 contain every scientific/modeling feature, and none imposes any artificial limitations on calculations other than your computing resources and patience. This is the official gaussian AVX2 build.

            homepage: https://www.gaussian.com/

            version versionsuffix toolchain 09.e.01 -AVX system 16.A.03 -AVX2 system"},{"location":"version-specific/supported-software/#gawk","title":"gawk","text":"

            The awk utility interprets a special-purpose programming language that makes it possible to handle simple data-reformatting jobs with just a few lines of code.

            homepage: https://www.gnu.org/software/gawk

            version toolchain 5.1.0 GCC/10.2.0 5.1.1 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#gbasis","title":"gbasis","text":"

            Python library for analytical evaluation and integration of Gaussian-type basis functions and related quantities.

            homepage: https://github.com/theochem/gbasis

            version toolchain 20210904 intel/2022a"},{"location":"version-specific/supported-software/#gblocks","title":"Gblocks","text":"

            Selection of conserved blocks from multiple alignments for their use in phylogenetic analysis

            homepage: http://molevol.cmima.csic.es/castresana/Gblocks.html

            version toolchain 0.91b system"},{"location":"version-specific/supported-software/#gbprocess","title":"GBprocesS","text":"

            GBprocesS allows for the extraction of genomic inserts from NGS data for GBS experiments. Preprocessing is performed in different stages that are part of a linear pipeline where the steps are performed in order. GBprocesS provides a flexible way to adjust the functionality to your needs, as the operations required and the execution order vary depending on the GBS protocol used.

            homepage: https://gbprocess.readthedocs.io/

            version versionsuffix toolchain 2.3 -Python-3.8.2 intel/2020a 4.0.0.post1 foss/2022a"},{"location":"version-specific/supported-software/#gbs2ploidy","title":"gbs2ploidy","text":"

            Inference of Ploidy from (Genotyping-by-Sequencing) GBS Data

            homepage: https://cran.r-project.org/web/packages/gbs2ploidy

            version versionsuffix toolchain 1.0 -R-3.4.3 intel/2017b"},{"location":"version-specific/supported-software/#gc","title":"gc","text":"

            The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C malloc or C++ new.

            homepage: https://hboehm.info/gc/

            version toolchain 7.4.4 GCC/4.9.3-2.25, foss/2016a 7.6.0 GCCcore/6.4.0 7.6.4 GCCcore/7.3.0 7.6.10 GCCcore/8.2.0 7.6.12 GCCcore/8.3.0, GCCcore/9.3.0 8.0.4 GCCcore/10.3.0 8.2.0 GCCcore/11.2.0 8.2.2 GCCcore/10.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gc3pie","title":"GC3Pie","text":"

            GC3Pie is a Python package for running large job campaigns on diverse batch-oriented execution environments.

            homepage: https://gc3pie.readthedocs.org

            version toolchain 2.4.2 system 2.5.0 system 2.5.2 system"},{"location":"version-specific/supported-software/#gcc","title":"GCC","text":"

            The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).

            homepage: http://gcc.gnu.org/

            version versionsuffix toolchain 4.8.1 system 4.8.1 -CLooG system 4.8.2 system 4.8.2 -CLooG system 4.8.2 -CLooG-multilib system 4.8.2 -multilib system 4.8.3 system 4.8.3 -CLooG-multilib system 4.8.4 system 4.8.4 -CLooG system 4.8.4 -CLooG-multilib system 4.8.5 system 4.9.0 system 4.9.0 -CLooG system 4.9.0 -CLooG-multilib system 4.9.1 system 4.9.1 -CLooG system 4.9.1 -CLooG-multilib system 4.9.2 system 4.9.2 -CLooG system 4.9.2 -CLooG-multilib system 4.9.2 -binutils-2.25 system 4.9.3 system 4.9.3 -2.25 system 4.9.3 -binutils-2.25 system 4.9.4 -2.25 system 5.1.0 system 5.1.0 -binutils-2.25 system 5.2.0 system 5.3.0 system 5.3.0 -2.26 system 5.4.0 -2.26 system 5.5.0 -2.26 system 6.1.0 -2.27 system 6.2.0 -2.27 system 6.3.0 -2.27 system 6.3.0 -2.28 system 6.4.0 -2.28 system 7.1.0 -2.28 system 7.2.0 -2.29 system 7.3.0 -2.30 system 7.4.0 -2.31.1 system 8.1.0 -2.30 system 8.2.0 -2.31.1 system 8.3.0 system 8.3.0 -2.32 system 8.4.0 system 9.1.0 -2.32 system 9.2.0 system 9.2.0 -2.32 system 9.3.0 system 9.4.0 system 9.5.0 system 10.1.0 system 10.2.0 system 10.3.0 system 11.1.0 system 11.2.0 system 11.3.0 system 11.4.0 system 12.1.0 system 12.2.0 system 12.3.0 system 13.1.0 system system system system -2.29 system"},{"location":"version-specific/supported-software/#gcccore","title":"GCCcore","text":"

            The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).

            homepage: http://gcc.gnu.org/

            version toolchain 4.9.2 system 4.9.3 system 4.9.4 system 5.3.0 system 5.4.0 system 5.5.0 system 6.1.0 system 6.2.0 system 6.3.0 system 6.4.0 system 6.5.0 system 7.1.0 system 7.2.0 system 7.3.0 system 7.4.0 system 8.1.0 system 8.2.0 system 8.3.0 system 8.4.0 system 9.1.0 system 9.2.0 system 9.3.0 system 9.4.0 system 9.5.0 system 10.1.0 system 10.2.0 system 10.3.0 system 11.1.0 system 11.2.0 system 11.3.0 system 11.4.0 system 12.1.0 system 12.2.0 system 12.3.0 system 13.1.0 system system system"},{"location":"version-specific/supported-software/#gcccuda","title":"gcccuda","text":"

            GNU Compiler Collection (GCC) based compiler toolchain, along with CUDA toolkit.

            homepage: <(none)>

            version toolchain 2016.08 system 2017b system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#gcloud","title":"gcloud","text":"

            Libraries and tools for interacting with Google Cloud products and services.

            homepage: https://cloud.google.com/sdk

            version toolchain 382.0.0 system"},{"location":"version-specific/supported-software/#gconf","title":"GConf","text":"

            GConf is a system for storing application preferences. It is intended for user preferences; not configuration of something like Apache, or arbitrary data storage.

            homepage: https://projects.gnome.org/gconf/

            version toolchain 3.2.6 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016a, foss/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b"},{"location":"version-specific/supported-software/#gcta","title":"GCTA","text":"

            GCTA (Genome-wide Complex Trait Analysis) is a software package, which was initially developed to estimate the proportion of phenotypic variance explained by all genome-wide SNPs for a complex trait but has been extensively extended for many other analyses of data from genome-wide association studies (GWASs).

            homepage: https://yanglab.westlake.edu.cn/software/gcta/

            version toolchain 1.94.0beta foss/2021b, gfbf/2022a 1.94.1 gfbf/2022a"},{"location":"version-specific/supported-software/#gctf","title":"Gctf","text":"

            Gctf: real-time CTF determination and correction, Kai Zhang, 2016

            homepage: https://www.mrc-lmb.cam.ac.uk/kzhang/

            version toolchain 1.06 system"},{"location":"version-specific/supported-software/#gd","title":"GD","text":"

            GD.pm - Interface to Gd Graphics Library

            homepage: https://github.com/lstein/Perl-GD

            version versionsuffix toolchain 2.66 -Perl-5.24.0 foss/2016b 2.68 -Perl-5.26.1 GCCcore/6.4.0 2.69 -Perl-5.28.0 GCCcore/7.3.0 2.71 GCCcore/9.3.0 2.73 GCCcore/10.3.0 2.75 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gdal","title":"GDAL","text":"

            GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for data translation and processing.

            homepage: https://www.gdal.org

            version versionsuffix toolchain 2.0.2 foss/2016a, intel/2016a 2.1.0 foss/2016a, foss/2016b, intel/2016b 2.1.1 foss/2016a 2.1.1 -Python-2.7.12 intel/2016b 2.1.2 -Python-2.7.12 intel/2016b 2.1.3 -Python-2.7.12 foss/2016b, intel/2016b 2.1.3 -Python-2.7.13 intel/2017a 2.1.3 -Python-3.6.1 intel/2017a 2.2.0 -Python-2.7.13-HDF5-1.8.18 intel/2017a 2.2.0 -Python-2.7.13-HDF5-HDF intel/2017a 2.2.0 -Python-3.6.1 intel/2017a 2.2.2 -Python-2.7.14 intel/2017b 2.2.2 -Python-2.7.14-HDF5-1.8.19 intel/2017b 2.2.3 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 2.2.3 -Python-2.7.15 foss/2018b 2.2.3 -Python-3.6.3 foss/2017b 2.2.3 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018a 2.2.3 -Python-3.6.6 foss/2018b, intel/2018b 2.4.4 foss/2021b, intel/2021b 3.0.0 -Python-2.7.15 foss/2019a, intel/2019a 3.0.0 -Python-3.7.2 foss/2019a, intel/2019a 3.0.2 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 3.0.4 -Python-3.8.2 foss/2020a, intel/2020a 3.2.1 foss/2020b, fosscuda/2020b, intel/2020b 3.3.0 foss/2021a 3.3.2 foss/2021b 3.5.0 foss/2022a 3.6.2 foss/2022b"},{"location":"version-specific/supported-software/#gdb","title":"GDB","text":"

            The GNU Project Debugger

            homepage: https://www.gnu.org/software/gdb/gdb.html

            version versionsuffix toolchain 7.8.2 GCC/4.9.2 7.9 GCC/4.9.2 7.10.1 -Python-2.7.11 foss/2016a, intel/2016a 7.11 -Python-2.7.11 foss/2016a, intel/2016a 7.11.1 -Python-2.7.12 foss/2016b, intel/2016b 8.0.1 -Python-2.7.14 foss/2017b 8.0.1 -Python-3.6.3 foss/2017b 8.1 -Python-2.7.14 foss/2018a 8.1.1 -Python-2.7.14 intel/2018a 8.3 -Python-3.7.2 GCCcore/8.2.0 9.1 -Python-3.7.4 GCCcore/8.3.0 10.1 GCCcore/10.2.0 10.2 GCCcore/10.3.0 10.2 -Python-3.8.2 GCCcore/9.3.0 11.1 GCCcore/11.2.0 12.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gdbgui","title":"gdbgui","text":"

            Browser-based frontend to gdb (gnu debugger). Add breakpoints, view the stack, visualize data structures, and more in C, C++, Go, Rust, and Fortran. Run gdbgui from the terminal and a new tab will open in your browser.

            homepage: https://gdbgui.com

            version versionsuffix toolchain 0.13.1.2 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gdbm","title":"gdbm","text":"

            GNU dbm (or GDBM, for short) is a library of database functions that use extensible hashing and work similar to the standard UNIX dbm. These routines are provided to a programmer needing to create and manipulate a hashed database.

            homepage: https://www.gnu.org.ua/software/gdbm/gdbm.html

            version toolchain 1.18.1 foss/2020a 1.21 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gdc-client","title":"gdc-client","text":"

            The gdc-client provides several convenience functions over the GDC API which provides general download/upload via HTTPS.

            homepage: https://gdc.nci.nih.gov/access-data/gdc-data-transfer-tool

            version versionsuffix toolchain 1.0.1 -Python-2.7.12 intel/2016b 1.3.0 -Python-2.7.14 foss/2018a, intel/2017b 1.3.0 -Python-2.7.15 foss/2018b 1.6.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gdchart","title":"GDCHART","text":"

            Easy to use C API, high performance library to create charts and graphs in PNG, GIF and WBMP format.

            homepage: http://users.fred.net/brv/chart

            version toolchain 0.11.5dev GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gdcm","title":"GDCM","text":"

            Grassroots DICOM: Cross-platform DICOM implementation

            homepage: https://sourceforge.net/projects/gdcm

            version toolchain 2.8.8 GCCcore/6.4.0 2.8.9 GCCcore/7.3.0 3.0.4 GCCcore/8.2.0 3.0.5 GCCcore/8.3.0 3.0.8 GCCcore/10.2.0, GCCcore/9.3.0 3.0.20 GCCcore/11.3.0 3.0.21 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gdgraph","title":"GDGraph","text":"

            GDGraph is a Perl package to generate charts

            homepage: https://metacpan.org/release/GDGraph

            version versionsuffix toolchain 1.54 -Perl-5.26.1 intel/2018a 1.54 -Perl-5.28.0 foss/2018b 1.56 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gdist","title":"gdist","text":"

            The gdist module is a Cython interface to a C++ library (http://code.google.com/p/geodesic/) for computing geodesic distance which is the length of shortest line between two vertices on a triangulated mesh in three dimensions, such that the line lies on the surface.

            homepage: https://pypi.python.org/pypi/gdist

            version versionsuffix toolchain 1.0.3 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#gdk-pixbuf","title":"Gdk-Pixbuf","text":"

            The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it was distributed as part of GTK+ 2 but it was split off into a separate package in preparation for the change to GTK+ 3.

            homepage: https://docs.gtk.org/gdk-pixbuf/

            version toolchain 2.32.3 intel/2016a 2.35.1 foss/2016a, intel/2016a 2.36.0 foss/2016b, intel/2016b 2.36.8 intel/2017a 2.36.10 intel/2017a 2.36.11 foss/2017b, foss/2018a, fosscuda/2018b, intel/2017b, intel/2018a 2.36.12 foss/2018b, fosscuda/2018b 2.38.1 GCCcore/8.2.0 2.38.2 GCCcore/8.3.0 2.40.0 GCCcore/10.2.0, GCCcore/9.3.0 2.42.6 GCCcore/10.3.0, GCCcore/11.2.0 2.42.8 GCCcore/11.3.0 2.42.10 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gdrcopy","title":"GDRCopy","text":"

            A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology.

            homepage: https://github.com/NVIDIA/gdrcopy

            version versionsuffix toolchain 2.1 -CUDA-11.0.2 GCCcore/9.3.0 2.1 -CUDA-11.1.1 GCCcore/10.2.0 2.1 -CUDA-11.2.1 GCCcore/10.2.0 2.2 GCCcore/10.2.0, GCCcore/10.3.0 2.3 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 2.3.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#geant4","title":"Geant4","text":"

            Geant4 is a toolkit for the simulation of the passage of particles through matter. Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science.

            homepage: https://geant4.cern.ch

            version toolchain 9.5.p02 intel/2016a 9.6.p04 intel/2016a 10.01.p03 intel/2016a 10.02.p01 intel/2016a 10.03.p03 foss/2017b, intel/2017b 10.04 intel/2017b 10.5 foss/2017b, foss/2018b, intel/2017b, intel/2018b 10.6 foss/2019b 10.6.2 foss/2020a 10.7.1 GCC/10.2.0, GCC/11.2.0 11.0.0 GCC/11.2.0 11.0.1 GCC/11.2.0 11.0.2 GCC/11.2.0, GCC/11.3.0 11.1.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#geant4-data","title":"Geant4-data","text":"

            Datasets for Geant4.

            homepage: https://geant4.cern.ch/

            version toolchain 11.1 system 20201103 system 20210510 system"},{"location":"version-specific/supported-software/#gearshifft","title":"gearshifft","text":"

            Benchmark Suite for Heterogenuous FFT Implementations

            homepage: https://github.com/mpicbg-scicomp/gearshifft

            version toolchain 0.4.0 foss/2019a"},{"location":"version-specific/supported-software/#gegl","title":"GEGL","text":"

            GEGL (Generic Graphics Library) is a data flow based image processing framework, providing floating point processing and non-destructive image processing capabilities to GNU Image Manipulation Program (GIMP) and other projects.

            homepage: https://www.gegl.org

            version toolchain 0.4.30 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#gem","title":"GEM","text":"

            GEM (Gene-Environment interaction analysis for Millions of samples) is a software program for large-scale gene-environment interaction testing in samples from unrelated individuals. It enables genome-wide association studies in up to millions of samples while allowing for multiple exposures, control for genotype-covariate interactions, and robust inference.

            homepage: https://github.com/large-scale-gxe-methods/GEM

            version toolchain 1.5.1 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#gem-library","title":"GEM-library","text":"

            Next-generation sequencing platforms (Illumina/Solexa, ABI/SOLiD, etc.) call for powerful and very optimized tools to index/analyze huge genomes. The GEM library strives to be a true \"next-generation\" tool for handling any kind of sequence data, offering state-of-the-art algorithms and data structures specifically tailored to this demanding task. At the moment, efficient indexing and searching algorithms based on the Burrows-Wheeler transform (BWT) have been implemented. The library core is written in C for maximum speed, with concise interfaces to higher-level programming languages like OCaml and Python. Many high-performance standalone programs (mapper, splice mapper, etc.) are provided along with the library; in general, new algorithms and tools can be easily implemented on the top of it.

            homepage: http://algorithms.cnag.cat/wiki/The_GEM_library

            version versionsuffix toolchain 20130406-045632 _pre-release-3_Linux-x86_64 system"},{"location":"version-specific/supported-software/#gemelli","title":"gemelli","text":"

            Gemelli is a tool box for running both Robust Aitchison PCA (RPCA) and Compositional Tensor Factorization (CTF) on sparse compositional omics datasets.

            homepage: https://github.com/biocore/gemelli

            version toolchain 0.0.9 foss/2022a"},{"location":"version-specific/supported-software/#gemma","title":"GEMMA","text":"

            Genome-wide Efficient Mixed Model Association

            homepage: https://github.com/genetics-statistics/GEMMA

            version toolchain 0.97 foss/2016b, foss/2017a 0.98.1 foss/2018b 0.98.5 foss/2021b, foss/2022b"},{"location":"version-specific/supported-software/#gemmi","title":"gemmi","text":"

            Gemmi is a library, accompanied by a set of programs, developed primarily for use in macromolecular crystallography (MX). For working with: macromolecular models (content of PDB, PDBx/mmCIF and mmJSON files), refinement restraints (CIF files), reflection data (MTZ and mmCIF formats), data on a 3D grid (electron density maps, masks, MRC/CCP4 format) crystallographic symmetry. Parts of this library can be useful in structural bioinformatics (for symmetry- aware analysis of protein models), and in other molecular-structure sciences that use CIF files (we have the fastest open-source CIF parser).

            homepage: https://gemmi.readthedocs.io/

            version toolchain 0.4.5 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gencore_variant_detection","title":"gencore_variant_detection","text":"

            This is a bundled install of many software packages for doing variant detection analysis.

            homepage: https://nyuad-cgsb.github.io/variant_detection/public/index.html

            version toolchain 1.0 system"},{"location":"version-specific/supported-software/#genemark-et","title":"GeneMark-ET","text":"

            Eukaryotic gene prediction suite with automatic training

            homepage: http://exon.gatech.edu/GeneMark

            version toolchain 4.38 GCCcore/8.2.0 4.57 GCCcore/8.3.0 4.65 GCCcore/10.2.0 4.71 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gengetopt","title":"gengetopt","text":"

            Gengetopt is a tool to write command line option parsing code for C programs.

            homepage: https://www.gnu.org/software/gengetopt/gengetopt.html

            version toolchain 2.23 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#genmap","title":"GenMap","text":"

            GenMap - Fast and Exact Computation of Genome Mappability

            homepage: https://github.com/cpockrandt/genmap

            version toolchain 1.3.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#genome_profiler","title":"Genome_Profiler","text":"

            Genome Profiler (GeP) is a program to perform whole-genome multilocus sequence typing (wgMLST) analysis for bacterial isolates

            homepage: https://sourceforge.net/projects/genomeprofiler/

            version versionsuffix toolchain 2.1 -Perl-5.24.0 foss/2016b"},{"location":"version-specific/supported-software/#genomemapper","title":"GenomeMapper","text":"

            GenomeMapper is a short read mapping tool designed for accurate read alignments. It quickly aligns millions of reads either with ungapped or gapped alignments. This version is used to align against a single reference. If you are unsure which one is the appropriate GenomeMapper, you might want to use this one.

            homepage: https://1001genomes.org/software/genomemapper_singleref.html

            version toolchain 0.4.4 foss/2016a"},{"location":"version-specific/supported-software/#genomepy","title":"genomepy","text":"

            genomepy is designed to provide a simple and straightforward way to download and use genomic data

            homepage: https://github.com/vanheeringen-lab/genomepy

            version toolchain 0.15.0 foss/2022a"},{"location":"version-specific/supported-software/#genometester4","title":"GenomeTester4","text":"

            A toolkit for performing set operations - union, intersection and complement - on k-mer lists.

            homepage: https://github.com/bioinfo-ut/GenomeTester4

            version toolchain 4.0 intel/2018a"},{"location":"version-specific/supported-software/#genomethreader","title":"GenomeThreader","text":"

            GenomeThreader is a software tool to compute gene structure predictions.

            homepage: https://genomethreader.org

            version versionsuffix toolchain 1.7.1 -Linux_x86_64-64bit system 1.7.3 -Linux_x86_64-64bit system"},{"location":"version-specific/supported-software/#genometools","title":"GenomeTools","text":"

            A comprehensive software library for efficient processing of structured genome annotations.

            homepage: http://genometools.org

            version versionsuffix toolchain 1.5.10 foss/2018b 1.5.10 -Python-2.7.15 foss/2018b 1.6.1 GCC/10.2.0, GCC/8.3.0, GCC/9.3.0 1.6.1 -Python-2.7.16 GCC/8.3.0 1.6.2 GCC/10.3.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#genomeworks","title":"GenomeWorks","text":"

            SDK for GPU accelerated genome assembly and analysis

            homepage: https://github.com/clara-parabricks/GenomeWorks

            version toolchain 2021.02.2 fosscuda/2020b"},{"location":"version-specific/supported-software/#genotypeharmonizer","title":"GenotypeHarmonizer","text":"

            The Genotype Harmonizer is an easy to use command-line tool that allows harmonization of genotype data stored using different file formats with different and potentially unknown strands.

            homepage: https://github.com/molgenis/systemsgenetics/wiki/Genotype-Harmonizer

            version versionsuffix toolchain 1.4.14 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#genozip","title":"genozip","text":"

            Genozip is a compressor for genomic files - it compresses FASTQ, SAM/BAM/CRAM, VCF, FASTA and others.

            homepage: https://genozip.com

            version toolchain 13.0.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#gensim","title":"gensim","text":"

            Gensim is a Python library for topic modelling, document indexing and similarity retrieval with large corpora.

            homepage: https://radimrehurek.com/gensim

            version versionsuffix toolchain 0.13.2 -Python-2.7.11 foss/2016a 3.8.3 foss/2020b, intel/2020b 4.2.0 foss/2021a"},{"location":"version-specific/supported-software/#geocube","title":"geocube","text":"

            Tool to convert geopandas vector data into rasterized xarray data.

            homepage: https://corteva.github.io/geocube/latest/

            version versionsuffix toolchain 0.0.14 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#geopandas","title":"geopandas","text":"

            GeoPandas is a project to add support for geographic data to pandas objects. It currently implements GeoSeries and GeoDataFrame types which are subclasses of pandas.Series and pandas.DataFrame respectively. GeoPandas objects can act on shapely geometry objects and perform geometric operations.

            homepage: https://github.com/geopandas/geopandas

            version versionsuffix toolchain 0.7.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.8.0 -Python-3.7.2 foss/2019a 0.8.1 -Python-3.7.4 intel/2019b 0.8.1 -Python-3.8.2 foss/2020a 0.10.2 foss/2021a 0.11.0 foss/2021b 0.12.2 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#geopy","title":"geopy","text":"

            geopy is a Python client for several popular geocoding web services. geopy makes it easy for Python developers to locate the coordinates of addresses, cities, countries, and landmarks across the globe using third-party geocoders and other data sources.

            homepage: https://geopy.readthedocs.io/en/stable/

            version versionsuffix toolchain 1.11.0 -Python-3.6.1 intel/2017a 2.1.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#georges","title":"georges","text":"

            Georges the lemur opinionated particle accelerator modeling Python package. Also a thin wrapper over MAD-X/PTC, BDSim and G4Beamline.

            homepage: https://github.com/ULB-Metronu/georges

            version versionsuffix toolchain 2019.2 foss/2021a 2019.2 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#geos","title":"GEOS","text":"

            GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)

            homepage: https://trac.osgeo.org/geos

            version versionsuffix toolchain 3.5.0 -Python-2.7.11 intel/2016a 3.5.0 -Python-2.7.12 intel/2016b 3.6.1 -Python-2.7.12 foss/2016b, intel/2016b 3.6.1 -Python-2.7.13 intel/2017a 3.6.1 -Python-3.6.1 intel/2017a 3.6.2 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 3.6.2 -Python-2.7.15 foss/2018b 3.6.2 -Python-3.6.2 foss/2017b 3.6.2 -Python-3.6.3 foss/2017b, intel/2017b, intel/2018.01 3.6.2 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018a 3.6.2 -Python-3.6.6 foss/2018b, intel/2018b 3.7.2 -Python-2.7.15 foss/2019a, intel/2019a 3.7.2 -Python-3.7.2 foss/2019a, intel/2019a 3.8.0 GCC/8.3.0 3.8.0 -Python-3.7.4 GCC/8.3.0, iccifort/2019.5.281 3.8.1 -Python-3.8.2 GCC/9.3.0, iccifort/2020.1.217 3.9.1 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.4.0 3.10.3 GCC/11.3.0 3.11.1 GCC/12.2.0"},{"location":"version-specific/supported-software/#gerris","title":"Gerris","text":"

            Gerris is a Free Software program for the solution of the partial differential equations describing fluid flow

            homepage: http://gfs.sourceforge.net/wiki/index.php/Main_Page

            version toolchain 20131206 foss/2017b"},{"location":"version-specific/supported-software/#getorb","title":"GETORB","text":"

            GETORB software package contains programs to handle the orbital data records (ODRs)

            homepage: http://www.deos.tudelft.nl/ers/precorbs/tools/getorb_pack.shtml

            version toolchain 2.3.2 intel/2017a"},{"location":"version-specific/supported-software/#getorganelle","title":"GetOrganelle","text":"

            This toolkit assemblies organelle genome from genomic skimming data.

            homepage: https://github.com/Kinggerm/GetOrganelle

            version versionsuffix toolchain 1.7.2 -Python-3.8.2 foss/2020a 1.7.4-pre2 foss/2020b 1.7.5.3 foss/2021b 1.7.6.1 foss/2021b 1.7.7.0 foss/2022a"},{"location":"version-specific/supported-software/#gettext","title":"gettext","text":"

            GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools and documentation

            homepage: https://www.gnu.org/software/gettext/

            version versionsuffix toolchain 0.18.2 system 0.19.4 GCC/4.9.2, system 0.19.6 GNU/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016a, system 0.19.7 foss/2016a, intel/2016a, system 0.19.8 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016.04, foss/2016b, intel/2016b, system 0.19.8.1 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, system 0.19.8.1 -libxml2-2.9.7 GCCcore/6.4.0 0.20.1 GCCcore/8.3.0, GCCcore/9.3.0, system 0.21 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, system 0.21.1 GCCcore/12.2.0, GCCcore/12.3.0, system"},{"location":"version-specific/supported-software/#gexiv2","title":"gexiv2","text":"

            gexiv2 is a GObject wrapper around the Exiv2 photo metadata library.

            homepage: https://wiki.gnome.org/Projects/gexiv2

            version toolchain 0.12.2 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#gfbf","title":"gfbf","text":"

            GNU Compiler Collection (GCC) based compiler toolchain, including FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.

            homepage: <(none)>

            version toolchain 2022a system 2022b system 2023a system"},{"location":"version-specific/supported-software/#gffcompare","title":"GffCompare","text":"

            GffCompare provides classification and reference annotation mapping and matching statistics for RNA-Seq assemblies (transfrags) or other generic GFF/GTF files.

            homepage: https://ccb.jhu.edu/software/stringtie/gffcompare.shtml

            version toolchain 0.10.1 foss/2016b 0.10.6 GCCcore/7.3.0 0.11.6 GCCcore/8.3.0, GCCcore/9.3.0 0.12.2 GCC/10.3.0 0.12.6 GCC/11.2.0"},{"location":"version-specific/supported-software/#gffread","title":"gffread","text":"

            GFF/GTF parsing utility providing format conversions, region filtering, FASTA sequence extraction and more.

            homepage: https://github.com/gpertea/gffread

            version toolchain 0.9.12 foss/2016b 0.10.6 GCCcore/7.3.0 0.11.6 GCCcore/8.3.0, GCCcore/9.3.0 0.12.7 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gflags","title":"gflags","text":"

            The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used.

            homepage: https://github.com/gflags/gflags

            version toolchain 2.1.2 foss/2016a 2.2.1 GCCcore/6.4.0, intel/2017a, intel/2017b 2.2.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#gfold","title":"GFOLD","text":"

            Generalized fold change for ranking differentially expressed genes from RNA-seq data

            homepage: http://www.tongji.edu.cn/~zhanglab/GFOLD/index.html

            version toolchain 1.1.4 intel/2016a"},{"location":"version-specific/supported-software/#gh","title":"gh","text":"

            gh is GitHub on the command line.

            homepage: https://github.com/cli/cli

            version toolchain 1.3.1 system 2.20.2 system"},{"location":"version-specific/supported-software/#ghc","title":"GHC","text":"

            The Glorious/Glasgow Haskell Compiler

            homepage: https://haskell.org/ghc/

            version versionsuffix toolchain 6.12.3 system 8.6.5 -x86_64 system"},{"location":"version-specific/supported-software/#ghostscript","title":"Ghostscript","text":"

            Ghostscript is a versatile processor for PostScript data with the ability to render PostScript to different targets. It used to be part of the cups printing stack, but is no longer used for that.

            homepage: https://ghostscript.com

            version versionsuffix toolchain 9.19 intel/2016a, intel/2016b 9.20 foss/2016b, intel/2016b 9.21 intel/2017a 9.22 GCCcore/6.4.0, foss/2017b, intel/2017b 9.22 -cairo-1.14.12 GCCcore/6.4.0 9.23 GCCcore/6.4.0, GCCcore/7.3.0 9.23 -cairo-1.14.12 GCCcore/6.4.0 9.27 GCCcore/8.2.0 9.50 GCCcore/8.3.0 9.52 GCCcore/9.3.0 9.53.3 GCCcore/10.2.0 9.54.0 GCCcore/10.3.0, GCCcore/11.2.0 9.56.1 GCCcore/11.3.0 10.0.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gibbs2","title":"Gibbs2","text":"

            Gibbs2 is a program for the calculation of thermodynamic properties in periodic solids under arbitrary conditions of temperature and pressure. Gibbs2 uses the results of periodic solid-state quantum-mechanical calculations, specifically the energy-volume curve and possibly the harmonic phonon frequencies, to compute the thermodynamic properties of the solid within the framework of the quasiharmonic approximation.

            homepage: https://aoterodelaroza.github.io/gibbs2/

            version toolchain 1.0 GCC/10.3.0"},{"location":"version-specific/supported-software/#giflib","title":"giflib","text":"

            giflib is a library for reading and writing gif images. It is API and ABI compatible with libungif which was in wide use while the LZW compression algorithm was patented.

            homepage: http://giflib.sourceforge.net/

            version toolchain 5.1.4 GCCcore/7.3.0, GCCcore/8.2.0 5.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#gifsicle","title":"gifsicle","text":"

            Gifsicle is a command-line tool for creating, editing, and getting information about GIF images and animations. Making a GIF animation with gifsicle is easy.

            homepage: https://github.com/kohler/gifsicle

            version toolchain 1.92 GCCcore/8.2.0 1.93 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gimic","title":"GIMIC","text":"

            The GIMIC program calculates magnetically induced currents in molecules. You need to provide this program with a density matrix in atomic-orbital (AO) basis and three (effective) magnetically perturbed AO density matrices in the proper format. Currently ACES2, Turbomole, G09, QChem, FERMION++, and LSDalton can produce these matrices.

            homepage: http://gimic.readthedocs.io

            version versionsuffix toolchain 2018.04.20 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#gimkl","title":"gimkl","text":"

            GNU Compiler Collection (GCC) based compiler toolchain with Intel MPI and MKL

            homepage: <(none)>

            version toolchain 2.11.5 system 2017a system 2018b system"},{"location":"version-specific/supported-software/#gimmemotifs","title":"GimmeMotifs","text":"

            Suite of motif tools, including a motif prediction pipeline for ChIP-seq experiments

            homepage: https://github.com/vanheeringen-lab/gimmemotifs

            version toolchain 0.17.2 foss/2022a"},{"location":"version-specific/supported-software/#gimp","title":"GIMP","text":"

            GIMP is a cross-platform image editor available for GNU/Linux, OS X, Windows and more operating systems.

            homepage: https://www.gimp.org

            version toolchain 2.10.24 GCC/10.3.0"},{"location":"version-specific/supported-software/#gimpi","title":"gimpi","text":"

            GNU Compiler Collection (GCC) based compiler toolchain with Intel MPI.

            homepage: <(none)>

            version toolchain 2.11.5 system 2017a system 2017b system 2018a system 2018b system"},{"location":"version-specific/supported-software/#gimpic","title":"gimpic","text":"

            GNU Compiler Collection (GCC) based compiler toolchain along with CUDA toolkit, including IntelMPI for MPI support with CUDA features enabled.

            homepage: <(none)>

            version toolchain 2017b system"},{"location":"version-specific/supported-software/#gimps","title":"GIMPS","text":"

            GIMPS: Great Internet Mersenne Prime Search; it can be useful for limited stress testing of nodes, in user space

            homepage: http://www.mersenne.org/

            version toolchain p95v279 GCC/4.8.2 p95v279.linux64 system"},{"location":"version-specific/supported-software/#giolf","title":"giolf","text":"

            GNU Compiler Collection (GCC) based compiler toolchain, including IntelMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

            homepage: <(none)>

            version toolchain 2017b system 2018a system"},{"location":"version-specific/supported-software/#giolfc","title":"giolfc","text":"

            GCC based compiler toolchain with CUDA support, and including IntelMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

            homepage: <(none)>

            version toolchain 2017b system"},{"location":"version-specific/supported-software/#giotto-suite","title":"Giotto-Suite","text":"

            Giotto Suite is focused on building a modular platform for analyzing spatial-omics technologies and strives to be interoperable with other popular spatial analysis tools and classes. Using established packages optimized for large(r) data, Giotto Suite adopts fast and memory efficient methods to create an interactive analysis.

            homepage: https://github.com/drieslab/Giotto

            version versionsuffix toolchain 3.0.1 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#git","title":"git","text":"

            Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

            homepage: http://git-scm.com/

            version versionsuffix toolchain 1.8.5.6 GCC/4.9.2 2.2.2 GCC/4.9.2 2.4.1 GCC/4.9.2 2.8.0 foss/2016a 2.12.2 foss/2016b 2.13.1 foss/2016b 2.14.1 GCCcore/6.4.0 2.16.1 foss/2018a 2.18.0 GCCcore/7.3.0 2.19.1 GCCcore/7.3.0 2.21.0 GCCcore/8.2.0 2.21.0 -nodocs GCCcore/8.2.0 2.23.0 GCCcore/8.3.0 2.23.0 -nodocs GCCcore/8.3.0, GCCcore/9.3.0 2.28.0 -nodocs GCCcore/10.2.0 2.32.0 -nodocs GCCcore/10.3.0 2.33.1 -nodocs GCCcore/11.2.0 2.36.0 -nodocs GCCcore/11.3.0 2.38.1 -nodocs GCCcore/12.2.0 2.41.0 -nodocs GCCcore/12.3.0"},{"location":"version-specific/supported-software/#git-extras","title":"git-extras","text":"

            Extra useful scripts for git

            homepage: https://github.com/tj/git-extras

            version toolchain 5.1.0 foss/2016a"},{"location":"version-specific/supported-software/#git-lfs","title":"git-lfs","text":"

            Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com

            homepage: https://git-lfs.github.com

            version toolchain 1.1.1 system 2.7.1 system 2.11.0 system 3.2.0 system"},{"location":"version-specific/supported-software/#gitpython","title":"GitPython","text":"

            GitPython is a python library used to interact with Git repositories

            homepage: https://github.com/gitpython-developers/GitPython

            version versionsuffix toolchain 2.1.11 -Python-3.6.6 foss/2018b, intel/2018b 2.1.15 system 3.0.3 -Python-3.7.2 GCCcore/8.2.0 3.1.0 -Python-3.7.4 GCCcore/8.3.0 3.1.9 -Python-3.8.2 GCCcore/9.3.0 3.1.14 GCCcore/10.2.0 3.1.18 GCCcore/10.3.0 3.1.24 GCCcore/11.2.0 3.1.27 GCCcore/11.3.0 3.1.31 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#givaro","title":"Givaro","text":"

            C++ library for arithmetic and algebraic computations

            homepage: http://givaro.forge.imag.fr/

            version toolchain 4.0.1 foss/2016a"},{"location":"version-specific/supported-software/#giza","title":"Giza","text":"

            Giza is an open, lightweight scientific plotting library built on top of cairo that provides uniform output to multiple devices.

            homepage: https://danieljprice.github.io/giza/

            version toolchain 1.1.0 foss/2018b"},{"location":"version-specific/supported-software/#gkeyll","title":"GKeyll","text":"

            Gkeyll v2.0 (pronounced as in the book \u201cThe Strange Case of Dr. Jekyll and Mr. Hyde\u201d) is a computational plasma physics code mostly written in C/C++ and LuaJIT. Gkeyll contains solvers for gyrokinetic equations, Vlasov-Maxwell equations, and multi-fluid equations. Gkeyll contains ab-initio and novel implementations of a number of algorithms, and perhaps is unique in using a JIT compiled typeless dynamic language for as its main implementation language.

            homepage: https://gkeyll.readthedocs.io

            version versionsuffix toolchain 20220803 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#gl2ps","title":"GL2PS","text":"

            GL2PS: an OpenGL to PostScript printing library

            homepage: https://www.geuz.org/gl2ps/

            version versionsuffix toolchain 1.3.9 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.3.9 -Mesa-11.2.1 foss/2016a, intel/2016a 1.4.0 GCCcore/8.3.0, foss/2017b, foss/2018a, foss/2018b, foss/2019a, intel/2017a, intel/2017b, intel/2018a 1.4.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#glade","title":"Glade","text":"

            Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment.

            homepage: https://glade.gnome.org/

            version versionsuffix toolchain 3.8.5 -Python-2.7.11 intel/2016a 3.8.5 -Python-2.7.14 intel/2017b 3.8.6 -Python-2.7.14 intel/2018a 3.8.6 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#glew","title":"glew","text":"

            The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform.

            homepage: https://github.com/nigels-com/glew

            version versionsuffix toolchain 2.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2018b 2.2.0 -egl GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0 2.2.0 -glx GCCcore/10.2.0, GCCcore/11.2.0 2.2.0 -osmesa GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#glfw","title":"GLFW","text":"

            GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop

            homepage: https://www.glfw.org

            version toolchain 3.2.1 intel/2018a 3.3.2 GCCcore/9.3.0 3.3.3 GCCcore/10.2.0 3.3.4 GCCcore/10.3.0, GCCcore/11.2.0 3.3.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gli","title":"GLI","text":"

            Graphics Language Interpreter

            homepage: https://pgi-jcns.fz-juelich.de/portal/pages/gli.html

            version toolchain 4.5.31 GCCcore/10.2.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#glib","title":"GLib","text":"

            GLib is one of the base libraries of the GTK+ project

            homepage: https://www.gtk.org/

            version toolchain 2.42.1 GCC/4.9.2 2.44.0 GCC/4.9.2 2.47.5 foss/2016a, gimkl/2.11.5, intel/2016a 2.48.0 foss/2016a, intel/2016a 2.49.5 foss/2016b, intel/2016b 2.52.0 foss/2017a, intel/2017a 2.53.5 GCCcore/6.3.0, GCCcore/6.4.0 2.54.2 GCCcore/6.4.0 2.54.3 GCCcore/6.4.0, GCCcore/7.3.0 2.60.1 GCCcore/8.2.0 2.62.0 GCCcore/8.3.0 2.64.1 GCCcore/9.3.0 2.66.1 GCCcore/10.2.0 2.68.2 GCCcore/10.3.0 2.69.1 GCCcore/11.2.0 2.72.1 GCCcore/11.3.0 2.75.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#glib-networking","title":"glib-networking","text":"

            Network extensions for GLib

            homepage: https://gitlab.gnome.org/GNOME/glib-networking

            version toolchain 2.68.1 GCCcore/10.3.0 2.72.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#glibc","title":"glibc","text":"

            The GNU C Library project provides the core libraries for the GNU system and GNU/Linux systems, as well as many other systems that use Linux as the kernel.

            homepage: https://www.gnu.org/software/libc/

            version toolchain 2.17 GCCcore/6.4.0 2.26 GCCcore/6.4.0 2.30 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#glibmm","title":"GLibmm","text":"

            C++ bindings for Glib

            homepage: https://www.gtk.org/

            version toolchain 2.49.7 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 2.66.4 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#glimmer","title":"GLIMMER","text":"

            Glimmer is a system for finding genes in microbial DNA, especially the genomes of bacteria, archaea, and viruses.

            homepage: http://ccb.jhu.edu/software/glimmer/index.shtml

            version toolchain 3.02b foss/2016b, foss/2018b"},{"location":"version-specific/supported-software/#glimmerhmm","title":"GlimmerHMM","text":"

            GlimmerHMM is a new gene finder based on a Generalized Hidden Markov Model. Although the gene finder conforms to the overall mathematical framework of a GHMM, additionally it incorporates splice site models adapted from the GeneSplicer program and a decision tree adapted from GlimmerM. It also utilizes Interpolated Markov Models for the coding and noncoding models.

            homepage: https://ccb.jhu.edu/software/glimmerhmm

            version toolchain 3.0.4 foss/2016b, foss/2018b 3.0.4c GCC/10.2.0, GCC/11.2.0, GCC/8.3.0"},{"location":"version-specific/supported-software/#glimpse","title":"GLIMPSE","text":"

            GLIMPSE2 is a set of tools for phasing and imputation for low-coverage sequencing datasets

            homepage: https://github.com/odelaneau/GLIMPSE

            version toolchain 2.0.0 GCC/10.3.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#glm","title":"GLM","text":"

            OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.

            homepage: https://github.com/g-truc/glm

            version toolchain 0.9.7.6 intel/2016a 0.9.8.3 GCCcore/5.4.0, GCCcore/7.3.0 0.9.9.0 GCCcore/6.4.0 0.9.9.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#glm-aed","title":"GLM-AED","text":"

            The General Lake Model (GLM) is a water balance and one-dimensional vertical stratification hydrodynamic model, which is dynamically coupled with the AED water quality modelling library. GLM-AED is suitable for simulating conditions in a wide range of natural and engineered lakes, including shallow (well-mixed) and deep (stratified) systems. The model has been successfully applied to systems from the scale of individual ponds and wetlands, to actively operated reservoirs, upto the scale of the Great Lakes.

            homepage: https://github.com/AquaticEcoDynamics/glm-aed

            version toolchain 3.3.0a5 gompi/2021b"},{"location":"version-specific/supported-software/#globalarrays","title":"GlobalArrays","text":"

            Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model

            homepage: https://hpc.pnl.gov/globalarrays

            version versionsuffix toolchain 5.7 intel/2018b 5.7 -peigs intel/2019a 5.7.2 intel/2019b 5.7.2 -peigs intel/2019b 5.8 intel/2020a, intel/2021a, iomkl/2021a 5.8.1 intel/2022a 5.8.2 intel/2022a"},{"location":"version-specific/supported-software/#globus-cli","title":"Globus-CLI","text":"

            A Command Line Wrapper over the Globus SDK for Python, which provides an interface to Globus services from the shell, and is suited to both interactive and simple scripting use cases.

            homepage: https://docs.globus.org/cli/

            version toolchain 1.11.0 GCCcore/8.3.0 3.1.1 GCCcore/10.2.0 3.2.0 GCCcore/10.3.0 3.6.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#globusconnectpersonal","title":"GlobusConnectPersonal","text":"

            Globus Connect Personal turns your laptop or other personal computer into a Globus endpoint with a just a few clicks. With Globus Connect Personal you can share and transfer files to/from a local machine\u2014campus server, desktop computer or laptop\u2014even if it's behind a firewall and you don't have administrator privileges.

            homepage: https://www.globus.org/globus-connect-personal

            version toolchain 2.3.6 system"},{"location":"version-specific/supported-software/#glog","title":"glog","text":"

            A C++ implementation of the Google logging module.

            homepage: https://github.com/google/glog

            version toolchain 0.3.4 foss/2016a 0.3.5 GCCcore/6.4.0, intel/2017a, intel/2017b 0.4.0 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.5.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#glpk","title":"GLPK","text":"

            The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library.

            homepage: https://www.gnu.org/software/glpk/

            version toolchain 4.58 foss/2016a, intel/2016a 4.60 GCCcore/5.4.0, intel/2016b 4.61 intel/2017a 4.65 GCCcore/10.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 5.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#glproto","title":"glproto","text":"

            X protocol and ancillary headers

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.4.17 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#glucose","title":"Glucose","text":"

            Glucose is based on a new scoring scheme (well, not so new now, it was introduced in 2009) for the clause learning mechanism of so called Modern SAT solvers (it is based on our IJCAI'09 paper). It is designed to be parallel, since v4.0.

            homepage: https://www.labri.fr/perso/lsimon/glucose/

            version toolchain 4.1 GCC/9.3.0"},{"location":"version-specific/supported-software/#gmap-gsnap","title":"GMAP-GSNAP","text":"

            GMAP: A Genomic Mapping and Alignment Program for mRNA and EST Sequences GSNAP: Genomic Short-read Nucleotide Alignment Program

            homepage: http://research-pub.gene.com/gmap/

            version toolchain 2016-05-01 foss/2016a 2016-11-07 foss/2016b 2018-05-11 intel/2018a 2018-07-04 intel/2018a 2019-03-15 foss/2018b 2019-09-12 GCC/8.3.0 2020-12-17 GCC/9.3.0 2021-12-17 GCC/11.2.0 2023-02-17 GCC/11.3.0 2023-04-20 GCC/12.2.0"},{"location":"version-specific/supported-software/#gmp","title":"GMP","text":"

            GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers.

            homepage: https://gmplib.org/

            version toolchain 4.3.2 system 5.1.3 GCC/4.8.2 6.0.0 GCC/4.9.2 6.0.0a GCC/4.8.4, GCC/4.9.2, GNU/4.9.3-2.25 6.1.0 GCC/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 6.1.1 GCC/5.4.0-2.26, GCCcore/5.4.0, GCCcore/6.3.0, foss/2016.04, foss/2016a, foss/2016b, intel/2016b 6.1.2 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016b 6.2.0 GCCcore/10.2.0, GCCcore/9.3.0 6.2.1 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#gmpich","title":"gmpich","text":"

            gcc and GFortran based compiler toolchain, including MPICH for MPI support.

            homepage: <(none)>

            version toolchain 2016a system 2017.08 system"},{"location":"version-specific/supported-software/#gmpolf","title":"gmpolf","text":"

            gcc and GFortran based compiler toolchain, MPICH for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

            homepage: <(none)>

            version toolchain 2016a system 2017.10 system"},{"location":"version-specific/supported-software/#gmpy2","title":"gmpy2","text":"

            GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x

            homepage: https://github.com/aleaxit/gmpy

            version versionsuffix toolchain 2.0.8 -Python-2.7.13 intel/2017a 2.0.8 -Python-2.7.14 foss/2017b, intel/2017b 2.0.8 -Python-3.6.3 foss/2017b, intel/2017b 2.1.0b1 -Python-2.7.14 foss/2017b, intel/2017b 2.1.0b1 -Python-3.6.3 foss/2017b, intel/2017b 2.1.0b4 GCC/8.3.0 2.1.0b5 GCC/10.2.0, GCC/10.3.0, GCC/9.3.0, iccifort/2020.4.304 2.1.2 GCC/11.2.0, GCC/11.3.0, intel-compilers/2022.1.0"},{"location":"version-specific/supported-software/#gmsh","title":"gmsh","text":"

            Gmsh is a 3D finite element grid generator with a build-in CAD engine and post-processor.

            homepage: https://gmsh.info/

            version versionsuffix toolchain 3.0.6 -Python-2.7.14 foss/2017b 3.0.6 -Python-3.6.6 foss/2018b 4.2.2 -Python-3.6.6 foss/2018b 4.5.6 -Python-2.7.16 intel/2019b 4.5.6 -Python-3.7.4 foss/2019b 4.7.1 -Python-3.8.2 foss/2020a, intel/2020a 4.8.4 -Python-3.6.4 foss/2018a 4.9.0 foss/2021a 4.11.1 foss/2022a"},{"location":"version-specific/supported-software/#gmt","title":"GMT","text":"

            GMT is an open source collection of about 80 command-line tools for manipulating geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting, etc.) and producing PostScript illustrations ranging from simple x-y plots via contour maps to artificially illuminated surfaces and 3D perspective views; the GMT supplements add another 40 more specialized and discipline-specific tools.

            homepage: https://www.generic-mapping-tools.org/

            version toolchain 4.5.17 foss/2018a 5.4.1 intel/2017a 5.4.3 foss/2018a, intel/2017b 5.4.5 foss/2019a 6.2.0 foss/2019b, foss/2020b"},{"location":"version-specific/supported-software/#gmvapich2","title":"gmvapich2","text":"

            GNU Compiler Collection (GCC) based compiler toolchain, including MVAPICH2 for MPI support.

            homepage: <(none)>

            version toolchain 1.7.20 system 2016a system"},{"location":"version-specific/supported-software/#gmvolf","title":"gmvolf","text":"

            GNU Compiler Collection (GCC) based compiler toolchain, including MVAPICH2 for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

            homepage: <(none)>

            version toolchain 1.7.20 system 2016a system"},{"location":"version-specific/supported-software/#gnu","title":"GNU","text":"

            Compiler-only toolchain with GCC and binutils.

            homepage: http://www.gnu.org/software/

            version toolchain 4.9.2-2.25 system 4.9.3-2.25 system 5.1.0-2.25 system"},{"location":"version-specific/supported-software/#gnuplot","title":"gnuplot","text":"

            Portable interactive, function plotting utility

            homepage: http://gnuplot.sourceforge.net

            version toolchain 5.0.3 foss/2016a, intel/2016a 5.0.5 foss/2016b, intel/2016b 5.0.6 intel/2017a 5.2.2 foss/2017b, foss/2018a, intel/2017b, intel/2018a 5.2.5 foss/2018b 5.2.6 GCCcore/8.2.0, foss/2018b, fosscuda/2018b 5.2.8 GCCcore/8.3.0, GCCcore/9.3.0 5.4.1 GCCcore/10.2.0 5.4.2 GCCcore/10.3.0, GCCcore/11.2.0 5.4.4 GCCcore/11.3.0 5.4.6 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gnutls","title":"GnuTLS","text":"

            GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them. It provides a simple C language application programming interface (API) to access the secure communications protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and other required structures. It is aimed to be portable and efficient with focus on security and interoperability.

            homepage: https://www.gnutls.org

            version toolchain 3.3.21 intel/2016a 3.4.7 GNU/4.9.3-2.25 3.4.11 foss/2016a 3.7.2 GCCcore/10.3.0 3.7.3 GCCcore/11.2.0 3.7.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#go","title":"Go","text":"

            Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

            homepage: http://www.golang.org

            version toolchain 1.2.1 GCC/4.8.2 1.4.2 GCC/4.8.4 1.5 GCC/4.8.4 1.8.1 system 1.11.5 system 1.12 system 1.12.1 GCCcore/7.3.0 1.13.1 system 1.14 system 1.14.1 system 1.16.3 system 1.16.5 system 1.16.6 system 1.17.3 system 1.17.6 system 1.18.1 system 1.18.3 system 1.20.4 system"},{"location":"version-specific/supported-software/#goalign","title":"goalign","text":"

            Goalign is a set of command line tools to manipulate multiple alignments.

            homepage: https://github.com/evolbioinfo/goalign

            version toolchain 0.3.2 system"},{"location":"version-specific/supported-software/#goatools","title":"GOATOOLS","text":"

            A Python library for Gene Ontology analyses

            homepage: https://github.com/tanghaibao/goatools

            version toolchain 1.1.6 foss/2020b 1.3.1 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#gobff","title":"gobff","text":"

            GCC and GFortran based compiler toolchain with OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

            homepage: <(none)>

            version versionsuffix toolchain 2020.06 -amd system 2020.11 system 2020b system 2021a system"},{"location":"version-specific/supported-software/#gobject-introspection","title":"GObject-Introspection","text":"

            GObject introspection is a middleware layer between C libraries (using GObject) and language bindings. The C library can be scanned at compile time and generate a metadata file, in addition to the actual native C library. Then at runtime, language bindings can read this metadata and automatically provide bindings to call into the C library.

            homepage: https://gi.readthedocs.io/en/latest/

            version versionsuffix toolchain 1.47.1 foss/2016a, intel/2016a 1.48.0 foss/2016a, intel/2016a 1.49.1 foss/2016b, intel/2016b 1.52.0 intel/2017a 1.53.5 -Python-2.7.13 intel/2017a 1.53.5 -Python-2.7.14 foss/2017b, intel/2017b 1.53.5 -Python-3.6.1 intel/2017a 1.54.1 -Python-2.7.14 foss/2018a, intel/2018a 1.54.1 -Python-2.7.15 foss/2018b, fosscuda/2018b 1.54.1 -Python-3.6.6 fosscuda/2018b 1.58.3 -Python-2.7.16 GCCcore/8.3.0 1.60.1 -Python-3.7.2 GCCcore/8.2.0 1.63.1 -Python-3.7.4 GCCcore/8.3.0 1.64.0 -Python-3.8.2 GCCcore/9.3.0 1.66.1 GCCcore/10.2.0 1.68.0 GCCcore/10.3.0, GCCcore/11.2.0 1.72.0 GCCcore/11.3.0 1.74.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#goblf","title":"goblf","text":"

            GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support, BLIS (BLAS support), LAPACK, FFTW and ScaLAPACK.

            homepage: <(none)>

            version toolchain 2018b system 2020b system"},{"location":"version-specific/supported-software/#gobnilp","title":"GOBNILP","text":"

            GOBNILP (Globally Optimal Bayesian Network learning using Integer Linear Programming) is a C program which learns Bayesian networks from complete discrete data or from local scores.

            homepage: https://www.cs.york.ac.uk/aig/sw/gobnilp/

            version toolchain 1.6.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#godon","title":"Godon","text":"

            Godon is codon models software written in Go.

            homepage: https://bitbucket.org/Davydov/godon/

            version versionsuffix toolchain 20210913 -x86_64 system"},{"location":"version-specific/supported-software/#gofasta","title":"gofasta","text":"

            Some functions for dealing with alignments, developed to handle SARS-CoV-2 data as part of the COG-UK project.

            homepage: https://github.com/cov-ert/gofasta

            version toolchain 0.0.5 system"},{"location":"version-specific/supported-software/#golf","title":"golf","text":"

            GNU Compiler Collection (GCC) based compiler toolchain, including OpenBLAS (BLAS and LAPACK support) and FFTW.

            homepage: <(none)>

            version toolchain 2018a system 2020a system"},{"location":"version-specific/supported-software/#gomkl","title":"gomkl","text":"

            GNU Compiler Collection (GCC) based compiler toolchain with OpenMPI and MKL

            homepage: <(none)>

            version toolchain 2018b system 2019a system 2020a system 2020b system 2021a system 2021b system 2022a system"},{"location":"version-specific/supported-software/#gompi","title":"gompi","text":"

            GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support.

            homepage: <(none)>

            version versionsuffix toolchain 2016.04 system 2016.06 system 2016.07 system 2016.09 system 2016a system 2016b system 2017a system 2017b system 2018.08 system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system 2021a system 2021b system 2022.05 system 2022.10 system 2022a system 2022b system 2023a system system -2.29 system"},{"location":"version-specific/supported-software/#gompic","title":"gompic","text":"

            GNU Compiler Collection (GCC) based compiler toolchain along with CUDA toolkit, including OpenMPI for MPI support with CUDA features enabled.

            homepage: <(none)>

            version toolchain 2017b system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#google-java-format","title":"google-java-format","text":"

            Reformats Java source code to comply with Google Java Style.

            homepage: https://github.com/google/google-java-format

            version versionsuffix toolchain 1.7 -Java-1.8 system"},{"location":"version-specific/supported-software/#googletest","title":"googletest","text":"

            Google's framework for writing C++ tests on a variety of platforms

            homepage: https://github.com/google/googletest

            version toolchain 1.8.0 GCCcore/6.3.0, GCCcore/6.4.0, foss/2016b, intel/2016b 1.8.1 GCCcore/8.2.0 1.10.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.11.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 1.12.1 GCCcore/12.2.0 1.13.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#gotree","title":"gotree","text":"

            GoTree is a set of command line tools to manipulate phylogenetic trees.

            homepage: https://github.com/evolbioinfo/gotree

            version toolchain 0.4.0 system"},{"location":"version-specific/supported-software/#gp2c","title":"GP2C","text":"

            The gp2c compiler is a package for translating GP routines into the C programming language, so that they can be compiled and used with the PARI system or the GP calculator.

            homepage: http://pari.math.u-bordeaux.fr/pub/pari/manuals/gp2c/gp2c.html

            version toolchain 0.0.9pl5 foss/2016a"},{"location":"version-specific/supported-software/#gpaw","title":"GPAW","text":"

            GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) method and the atomic simulation environment (ASE). It uses real-space uniform grids and multigrid methods or atom-centered basis-functions.

            homepage: https://wiki.fysik.dtu.dk/gpaw/

            version versionsuffix toolchain 1.4.0 -Python-3.6.6 foss/2018b, intel/2018b 19.8.1 -ASE-3.18.0-Python-3.6.6 foss/2018b, intel/2018b 19.8.1 -Python-3.7.2 foss/2019a, intel/2019a 20.1.0 -Python-3.7.4 foss/2019b, intel/2019b 20.10.0 foss/2020b, intel/2020b 20.10.0 -ASE-3.20.1-Python-3.7.4 foss/2019b, intel/2019b 21.1.0 -ASE-3.21.1 foss/2020b, intel/2020b 21.6.0 foss/2021a 21.6.0 -ASE-3.22.0 foss/2020b, intel/2020b 22.8.0 foss/2021b, foss/2022a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#gpaw-setups","title":"GPAW-setups","text":"

            PAW setup for the GPAW Density Functional Theory package. Users can install setups manually using 'gpaw install-data' or use setups from this package. The versions of GPAW and GPAW-setups can be intermixed.

            homepage: https://wiki.fysik.dtu.dk/gpaw/

            version toolchain 0.8.7929 system 0.9.9672 system 0.9.11271 system 0.9.20000 system"},{"location":"version-specific/supported-software/#gperf","title":"gperf","text":"

            GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only.

            homepage: https://www.gnu.org/software/gperf/

            version toolchain 3.0.4 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016a, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a 3.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#gperftools","title":"gperftools","text":"

            gperftools is a collection of a high-performance multi-threaded malloc() implementation, plus some pretty nifty performance analysis tools. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.

            homepage: https://github.com/gperftools/gperftools

            version toolchain 2.5 foss/2016a, intel/2016b 2.6.3 GCCcore/6.4.0, GCCcore/7.3.0 2.7.90 GCCcore/8.3.0 2.8 GCCcore/9.3.0 2.9.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 2.10 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gpustat","title":"gpustat","text":"

            A simple command-line utility for querying and monitoring GPU status

            homepage: https://github.com/wookayin/gpustat

            version versionsuffix toolchain 0.5.0 -Python-2.7.15 fosscuda/2018b 0.6.0 GCCcore/10.3.0, gcccuda/2020b 0.6.0 -Python-3.7.4 fosscuda/2019b 1.0.0b1 GCCcore/11.2.0 1.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gpy","title":"GPy","text":"

            GPy is a Gaussian Process (GP) framework written in Python

            homepage: https://sheffieldml.github.io/GPy

            version toolchain 1.10.0 foss/2021b"},{"location":"version-specific/supported-software/#gpyopt","title":"GPyOpt","text":"

            GPyOpt is a Python open-source library for Bayesian Optimization

            homepage: https://sheffieldml.github.io/GPyOpt

            version toolchain 1.2.6 intel/2020b"},{"location":"version-specific/supported-software/#gpytorch","title":"GPyTorch","text":"

            GPyTorch is a Gaussian process library implemented using PyTorch.

            homepage: https://gpytorch.ai

            version versionsuffix toolchain 1.3.0 foss/2020b 1.9.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#grace","title":"Grace","text":"

            Grace is a WYSIWYG tool to make two-dimensional plots of numerical data.

            homepage: https://plasma-gate.weizmann.ac.il/Grace/

            version versionsuffix toolchain 5.1.25 foss/2016a, foss/2021a, foss/2021b, intel/2016a 5.1.25 -5build1 foss/2017b, foss/2018a, foss/2019a, foss/2019b, intel/2017b, intel/2019a, intel/2019b"},{"location":"version-specific/supported-software/#gradle","title":"Gradle","text":"

            Complete Gradle install. From mobile apps to microservices, from small startups to big enterprises, Gradle helps teams build, automate and deliver better software, faster.

            homepage: https://gradle.org

            version toolchain 4.5.1 system 6.1.1 system 6.9.1 system"},{"location":"version-specific/supported-software/#gradunwarp","title":"gradunwarp","text":"

            Gradient Unwarping. This is the Human Connectome Project fork of the no longer maintained original.

            homepage: https://github.com/Washington-University/gradunwarp

            version versionsuffix toolchain 1.1.0 -HCP-Python-2.7.15 foss/2019a 1.2.0 -HCP-Python-2.7.15 foss/2019a 1.2.0 -HCP-Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#graph-tool","title":"graph-tool","text":"

            Graph-tool is an efficient Python module for manipulation and statistical analysis of graphs (a.k.a. networks). Contrary to most other python modules with similar functionality, the core data structures and algorithms are implemented in C++, making extensive use of template metaprogramming, based heavily on the Boost Graph Library. This confers it a level of performance that is comparable (both in memory usage and computation time) to that of a pure C/C++ library.

            homepage: https://graph-tool.skewed.de/

            version versionsuffix toolchain 2.26 -Python-3.6.3 foss/2017b 2.27 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#graphdb","title":"GraphDB","text":"

            GraphDB is an enterprise ready Semantic Graph Database, compliant with W3C Standards. Semantic graph databases (also called RDF triplestores) provide the core infrastructure for solutions where modelling agility, data integration, relationship exploration and cross-enterprise data publishing and consumption are important.

            homepage: https://graphdb.ontotext.com/

            version toolchain 10.1.5 system"},{"location":"version-specific/supported-software/#graphene","title":"Graphene","text":"

            Graphene is a a thin layer of types for graphic libraries

            homepage: https://ebassi.github.io/graphene/

            version toolchain 1.6.0 intel/2017a 1.10.8 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#graphicsmagick","title":"GraphicsMagick","text":"

            GraphicsMagick is the swiss army knife of image processing.

            homepage: https://www.graphicsmagick.org/

            version toolchain 1.3.23 foss/2016a, intel/2016a 1.3.25 intel/2016b, intel/2017a 1.3.28 foss/2018a 1.3.31 foss/2018b 1.3.34 foss/2019a, foss/2019b 1.3.36 GCCcore/11.2.0, foss/2020b"},{"location":"version-specific/supported-software/#graphite2","title":"graphite2","text":"

            Graphite is a \"smart font\" system developed specifically to handle the complexities of lesser-known languages of the world.

            homepage: https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home

            version toolchain 1.3.14 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#graphlan","title":"GraPhlAn","text":"

            GraPhlAn is a software tool for producing high-quality circular representations of taxonomic and phylogenetic trees. It focuses on concise, integrative, informative, and publication-ready representations of phylogenetically- and taxonomically-driven investigation.

            homepage: https://segatalab.github.io/tools/graphlan

            version versionsuffix toolchain 1.1.3 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#graphmap","title":"GraphMap","text":"

            A highly sensitive and accurate mapper for long, error-prone reads

            homepage: https://github.com/isovic/graphmap

            version toolchain 0.5.2 foss/2019b"},{"location":"version-specific/supported-software/#graphmap2","title":"GraphMap2","text":"

            A highly sensitive and accurate mapper for long, error-prone reads

            homepage: https://github.com/lbcb-sci/graphmap2

            version toolchain 0.6.4 foss/2019b"},{"location":"version-specific/supported-software/#graphviz","title":"Graphviz","text":"

            Graphviz is open source graph visualization software. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.

            homepage: https://www.graphviz.org/

            version versionsuffix toolchain 2.38.0 foss/2016b, intel/2016b 2.40.1 foss/2018b, intel/2018a 2.40.1 -Python-2.7.15 foss/2018b 2.42.2 foss/2019b 2.42.2 -Java-11 GCCcore/8.3.0 2.42.2 -Python-3.7.4 foss/2019b 2.44.1 -Java-11 GCCcore/9.3.0 2.44.1 -Java-11-Python-3.8.2 GCCcore/9.3.0 2.47.0 -Java-11 GCCcore/10.2.0 2.47.2 GCCcore/10.3.0 2.50.0 GCCcore/11.2.0 5.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#graphviz-python","title":"graphviz-python","text":"

            Simple Python interface for Graphviz

            homepage: https://pypi.python.org/pypi/graphviz

            version versionsuffix toolchain 0.5.1 -Python-2.7.12 foss/2016b, intel/2016b 0.5.1 -Python-3.5.2 intel/2016b 0.8.2 -Python-3.6.4 intel/2018a 0.20.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#grasp","title":"GRASP","text":"

            The General Relativistic Atomic Structure Package (GRASP) is a set of Fortran 90 programs for performing fully-relativistic electron structure calculations of atoms.

            homepage: https://compas.github.io/grasp/

            version toolchain 2018 foss/2019b"},{"location":"version-specific/supported-software/#grass","title":"GRASS","text":"

            The Geographic Resources Analysis Support System - used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization

            homepage: https://grass.osgeo.org

            version versionsuffix toolchain 7.6.0 -Python-2.7.15 foss/2018b 7.8.3 -Python-3.7.4 fosscuda/2019b 8.2.0 foss/2021b"},{"location":"version-specific/supported-software/#greenlet","title":"Greenlet","text":"

            The greenlet package is a spin-off of Stackless, a version of CPython that supports micro-threads called \"tasklets\". Tasklets run pseudo-concurrently (typically in a single or a few OS-level threads) and are synchronized with data exchanges on \"channels\". A \"greenlet\", on the other hand, is a still more primitive notion of micro-thread with no implicit scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs.

            homepage: https://github.com/python-greenlet/greenlet

            version versionsuffix toolchain 0.4.9 -Python-2.7.11 intel/2016a 0.4.9 -Python-3.5.1 intel/2016a 0.4.11 -Python-2.7.12 intel/2016b 0.4.12 -Python-2.7.14 intel/2017b 2.0.2 foss/2022a"},{"location":"version-specific/supported-software/#grep","title":"Grep","text":"

            The grep command searches one or more input files for lines containing a match to a specified pattern. By default, grep prints the matching lines.

            homepage: http://www.gnu.org/software/grep/

            version toolchain 2.21 GCC/4.9.2"},{"location":"version-specific/supported-software/#gretl","title":"gretl","text":"

            A cross-platform software package for econometric analysis

            homepage: http://gretl.sourceforge.net

            version toolchain 2020a foss/2019a"},{"location":"version-specific/supported-software/#grib_api","title":"grib_api","text":"

            The ECMWF GRIB API is an application program interface accessible from C, FORTRAN and Python programs developed for encoding and decoding WMO FM-92 GRIB edition 1 and edition 2 messages. A useful set of command line tools is also provided to give quick access to GRIB messages.

            homepage: https://software.ecmwf.int/wiki/display/GRIB/Home

            version toolchain 1.16.0 intel/2016a 1.21.0 foss/2017a 1.24.0 foss/2017b, intel/2017a, intel/2017b"},{"location":"version-specific/supported-software/#grid","title":"grid","text":"

            Grid is a free and open-source Python library for numerical integration, interpolation and differentiation of interest for the quantum chemistry community.

            homepage: https://grid.qcdevs.org/

            version toolchain 20220610 intel/2022a"},{"location":"version-specific/supported-software/#gridss","title":"GRIDSS","text":"

            GRIDSS is a module software suite containing tools useful for the detection of genomic rearrangements. GRIDSS includes a genome-wide break-end assembler, as well as a structural variation caller for Illumina sequencing data. GRIDSS calls variants based on alignment-guided positional de Bruijn graph genome-wide break-end assembly, split read, and read pair evidence.

            homepage: https://github.com/PapenfussLab/gridss/wiki/GRIDSS-Documentation

            version versionsuffix toolchain 2.13.2 -Java-11 foss/2021b"},{"location":"version-specific/supported-software/#grit","title":"GRIT","text":"

            GRIT - A tool for the integrative analysis of RNA-seq type assays

            homepage: https://github.com/nboley/grit

            version versionsuffix toolchain 2.0.5 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#grnboost","title":"GRNBoost","text":"

            XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable.

            homepage: https://github.com/dmlc/xgboost

            version versionsuffix toolchain 20171009 -Java-1.8.0_152 intel/2017b"},{"location":"version-specific/supported-software/#groff","title":"groff","text":"

            Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands and produces formatted output.

            homepage: https://www.gnu.org/software/groff

            version toolchain 1.22.4 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#groimp","title":"GroIMP","text":"

            GroIMP (Growth Grammar-related Interactive Modelling Platform) is a 3D-modelling platform.

            homepage: http://www.grogra.de/software/groimp

            version toolchain 1.5 system"},{"location":"version-specific/supported-software/#gromacs","title":"GROMACS","text":"

            GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.

            homepage: http://www.gromacs.org

            version versionsuffix toolchain 5.1.2 -hybrid foss/2016a, intel/2016a 5.1.2 -hybrid-dp intel/2016a 5.1.2 -mt foss/2016a 5.1.4 -hybrid foss/2016b 5.1.4 -mt foss/2016b 2016 -hybrid foss/2016b 2016 -mt foss/2016b 2016.1 -PLUMED foss/2017a 2016.2 foss/2017a 2016.3 foss/2017a, intel/2017a 2016.3 -GPU-enabled foss/2016b 2016.4 foss/2017b, fosscuda/2017b, giolf/2017b, intel/2017a, intel/2017b, intelcuda/2017b 2016.5 intel/2018a 2018 foss/2018a 2018.1 -PLUMED foss/2018b 2018.2 foss/2017b, foss/2018b, fosscuda/2017b, fosscuda/2018b, intel/2017b, intelcuda/2017b 2018.3 foss/2018b, fosscuda/2018b 2018.4 -PLUMED-2.5.0 foss/2018b, fosscuda/2018b 2019 foss/2018b, fosscuda/2018b 2019.2 fosscuda/2019a 2019.3 foss/2019a, foss/2019b, fosscuda/2019a, fosscuda/2019b 2019.4 foss/2019b, fosscuda/2019b 2019.4 -PLUMED-2.5.4 foss/2019b, fosscuda/2019b 2019.6 fosscuda/2019b 2020 foss/2019b, fosscuda/2019b 2020.1 -Python-3.8.2 foss/2020a 2020.3 fosscuda/2019b 2020.4 -Python-3.8.2 foss/2020a 2020.5 -Python-3.8.2 fosscuda/2020a 2021 foss/2020b, fosscuda/2020b 2021.2 fosscuda/2020b 2021.3 foss/2021a 2021.3 -CUDA-11.3.1 foss/2021a 2021.3 -CUDA-11.3.1-PLUMED-2.7.2 foss/2021a 2021.3 -PLUMED-2.7.2 foss/2021a 2021.5 foss/2021b 2021.5 -CUDA-11.4.1 foss/2021b 2021.5 -CUDA-11.4.1-PLUMED-2.8.0 foss/2021b 2021.5 -PLUMED-2.8.0 foss/2021b 2023.1 foss/2022a 2023.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#gromacswrapper","title":"GromacsWrapper","text":"

            GromacsWrapper is a python package that wraps system calls to Gromacs tools into thin classes. This allows for fairly seamless integration of the gromacs tools into python scripts.

            homepage: https://gromacswrapper.readthedocs.org

            version versionsuffix toolchain 0.8.0 -Python-3.7.2 fosscuda/2019a"},{"location":"version-specific/supported-software/#groovy","title":"Groovy","text":"

            Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax.

            homepage: https://groovy-lang.org

            version versionsuffix toolchain 2.5.9 -Java-11 system 4.0.3 -Java-11 system"},{"location":"version-specific/supported-software/#grpc","title":"gRPC","text":"

            gRPC is a modern, open source, high-performance remote procedure call (RPC) framework that can run anywhere. gRPC enables client and server applications to communicate transparently, and simplifies the building of connected systems.

            homepage: https://grpc.io/

            version toolchain 1.44.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#gsea","title":"GSEA","text":"

            Gene Set Enrichment Analysis (GSEA) is a computational method that determines whether an a priori defined set of genes shows statistically significant, concordant differences between two biological states (e.g. phenotypes).

            homepage: https://www.gsea-msigdb.org/gsea/index.jsp

            version toolchain 4.0.3 system"},{"location":"version-specific/supported-software/#gsettings-desktop-schemas","title":"gsettings-desktop-schemas","text":"

            gsettings-desktop-schemas contains a collection of GSettings schemas for settings shared by various components of a desktop.

            homepage: https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas

            version toolchain 3.34.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gsl","title":"GSL","text":"

            The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.

            homepage: https://www.gnu.org/software/gsl/

            version toolchain 1.16 foss/2016a, intel/2016a 2.1 GCC/5.4.0-2.26, foss/2016a, foss/2016b, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b 2.2.1 intel/2016a, intel/2016b 2.3 foss/2016b, foss/2017a, intel/2016b, intel/2017a 2.4 GCCcore/6.4.0 2.5 GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, iccifort/2018.3.222-GCC-7.3.0-2.30, iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.6 GCC/10.2.0, GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281, iccifort/2020.1.217, iccifort/2020.4.304 2.7 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCCcore/12.2.0, GCCcore/12.3.0, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#gsoap","title":"gSOAP","text":"

            The gSOAP toolkit is a C and C++ software development toolkit for SOAP and REST XML Web services and generic C/C++ XML data bindings. The toolkit analyzes WSDLs and XML schemas (separately or as a combined set) and maps the XML schema types and the SOAP/REST XML messaging protocols to easy-to-use and efficient C and C++ code. It also supports exposing (legacy) C and C++ applications as XML Web services by auto-generating XML serialization code and WSDL specifications. Or you can simply use it to automatically convert XML to/from C and C++ data. The toolkit supports options to generate pure ANSI C or C++ with or without STL.

            homepage: http://www.cs.fsu.edu/~engelen/soap.html

            version toolchain 2.8.48 GCCcore/6.3.0 2.8.100 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#gsport","title":"gsport","text":"

            GSPORT command-line tool for accessing GenomeScan Customer Portal

            homepage: https://github.com/genomescan/gsport

            version versionsuffix toolchain 1.4.2 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#gst-plugins-bad","title":"GST-plugins-bad","text":"

            GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

            homepage: https://gstreamer.freedesktop.org/

            version toolchain 1.20.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#gst-plugins-base","title":"GST-plugins-base","text":"

            GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

            homepage: https://gstreamer.freedesktop.org/

            version toolchain 0.10.36 foss/2016a, foss/2017b, foss/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b 1.6.4 foss/2016a 1.8.3 foss/2016a 1.16.0 GCC/8.2.0-2.31.1 1.16.2 GCC/8.3.0 1.18.4 GCC/10.2.0, GCC/10.3.0 1.18.5 GCC/11.2.0 1.20.2 GCC/11.3.0 1.22.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gstreamer","title":"GStreamer","text":"

            GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

            homepage: https://gstreamer.freedesktop.org/

            version toolchain 0.10.36 foss/2016a, foss/2017b, foss/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b 1.6.4 foss/2016a 1.8.3 foss/2016a 1.15.1 fosscuda/2018b 1.16.0 GCC/8.2.0-2.31.1 1.16.2 GCC/8.3.0 1.18.4 GCC/10.2.0, GCC/10.3.0 1.18.5 GCC/11.2.0 1.20.2 GCC/11.3.0 1.22.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gsutil","title":"gsutil","text":"

            gsutil is a Python application that lets you access Cloud Storage from the command line.

            homepage: https://cloud.google.com/storage/docs/gsutil

            version toolchain 5.10 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#gsw","title":"gsw","text":"

            This Python implementation of the Thermodynamic Equation of Seawater 2010 (TEOS-10) is based primarily on numpy ufunc wrappers of the GSW-C implementation. This library replaces the original python-gsw pure-python implementation.. The primary reasons for this change are that by building on the C implementation we reduce code duplication and we gain an immediate update to the 75-term equation. Additional benefits include a major increase in speed, a reduction in memory usage, and the inclusion of more functions. The penalty is that a C (or MSVC C++ for Windows) compiler is required to build the package from source.

            homepage: https://github.com/TEOS-10/GSW-python

            version toolchain 3.6.16 foss/2022a"},{"location":"version-specific/supported-software/#gtdb-tk","title":"GTDB-Tk","text":"

            A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes.

            homepage: https://github.com/Ecogenomics/GTDBTk

            version versionsuffix toolchain 0.2.2 -Python-2.7.15 intel/2018b 0.3.2 -Python-2.7.15 foss/2019a, intel/2019a 1.0.2 -Python-3.7.4 intel/2019b 1.3.0 -Python-3.8.2 intel/2020a 1.5.0 intel/2020b 1.7.0 foss/2020b, foss/2021a, intel/2020b 2.0.0 foss/2021a, intel/2021b 2.1.1 foss/2021b"},{"location":"version-specific/supported-software/#gtk","title":"GTK+","text":"

            The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications.

            homepage: https://developer.gnome.org/gtk+/stable/

            version toolchain 2.24.28 intel/2016a 2.24.30 foss/2016a, intel/2016a 2.24.31 foss/2016b, intel/2016b, intel/2017a 2.24.32 foss/2017b, foss/2018a, foss/2018b, intel/2017b, intel/2018a 2.24.33 GCCcore/10.3.0 3.22.30 fosscuda/2018b 3.24.8 GCCcore/8.2.0 3.24.13 GCCcore/8.3.0 3.24.17 GCCcore/9.3.0 3.24.23 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gtk2","title":"GTK2","text":"

            The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications.

            homepage: https://www.gtk.org

            version toolchain 2.24.33 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gtk3","title":"GTK3","text":"

            GTK+ is the primary library used to construct user interfaces in GNOME. It provides all the user interface controls, or widgets, used in a common graphical application. Its object-oriented API allows you to construct user interfaces without dealing with the low-level details of drawing and device interaction.

            homepage: https://developer.gnome.org/gtk3/stable/

            version toolchain 3.24.29 GCCcore/10.3.0 3.24.31 GCCcore/11.2.0 3.24.33 GCCcore/11.3.0 3.24.35 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gtk4","title":"GTK4","text":"

            GTK+ is the primary library used to construct user interfaces in GNOME. It provides all the user interface controls, or widgets, used in a common graphical application. Its object-oriented API allows you to construct user interfaces without dealing with the low-level details of drawing and device interaction.

            homepage: https://docs.gtk.org/gtk4/

            version toolchain 4.7.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#gtksourceview","title":"GtkSourceView","text":"

            GtkSourceView is a GNOME library that extends GtkTextView, the standard GTK+ widget for multiline text editing. GtkSourceView adds support for syntax highlighting, undo/redo, file loading and saving, search and replace, a completion system, printing, displaying line numbers, and other features typical of a source code editor.

            homepage: https://wiki.gnome.org/Projects/GtkSourceView

            version toolchain 3.24.11 GCCcore/10.2.0, GCCcore/8.2.0 4.4.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gtool","title":"GTOOL","text":"

            GTOOL is a program for transforming sets of genotype data for use with the programs SNPTEST and IMPUTE.

            homepage: http://www.well.ox.ac.uk/~cfreeman/software/gwas/gtool.html

            version toolchain 0.7.5 system"},{"location":"version-specific/supported-software/#gts","title":"GTS","text":"

            GTS stands for the GNU Triangulated Surface Library. It is an Open Source Free Software Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles.

            homepage: http://gts.sourceforge.net/

            version toolchain 0.7.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2018b, foss/2019b, foss/2020a, intel/2016a, intel/2016b, intel/2018a 20121130 foss/2017b"},{"location":"version-specific/supported-software/#gubbins","title":"gubbins","text":"

            Gubbins (Genealogies Unbiased By recomBinations In Nucleotide Sequences) is an algorithm that iteratively identifies loci containing elevated densities of base substitutions while concurrently constructing a phylogeny based on the putative point mutations outside of these regions. Simulations demonstrate the algorithm generates highly accurate reconstructions under realistic models of short-term bacterial evolution, and can be run in only a few hours on alignments of hundreds of bacterial genome sequences.

            homepage: https://sanger-pathogens.github.io/gubbins

            version toolchain 2.4.0 system"},{"location":"version-specific/supported-software/#guenomu","title":"guenomu","text":"

            guenomu is a software written in C that estimates the species tree for a given set of gene families.

            homepage: https://bitbucket.org/leomrtns/guenomu

            version versionsuffix toolchain 2019.07.05 -mpi iimpi/2019a"},{"location":"version-specific/supported-software/#guile","title":"Guile","text":"

            Guile is a programming language, designed to help programmers create flexible applications that can be extended by users or other programmers with plug-ins, modules, or scripts.

            homepage: https://www.gnu.org/software/guile/

            version toolchain 1.8.8 GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, GNU/4.9.3-2.25, foss/2016a, foss/2016b, foss/2017a, intel/2016a, intel/2016b 2.0.11 GCC/4.9.3-2.25, foss/2016a 2.2.2 GCCcore/6.4.0 2.2.4 GCCcore/7.3.0, GCCcore/9.3.0 2.2.7 GCCcore/10.3.0 3.0.7 GCCcore/11.2.0 3.0.8 GCCcore/11.3.0 3.0.9 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gulp","title":"GULP","text":"

            GULP is a program for performing a variety of types of simulation on materials using boundary conditions of 0-D (molecules and clusters), 1-D (polymers), 2-D (surfaces, slabs and grain boundaries), or 3-D (periodic solids)Band Unfolding code for Plane-wave based calculations

            homepage: https://gulp.curtin.edu.au/gulp/

            version toolchain 5.1 intel/2019a 6.1 foss/2021b"},{"location":"version-specific/supported-software/#gurobi","title":"Gurobi","text":"

            The Gurobi Optimizer is a state-of-the-art solver for mathematical programming. The solvers in the Gurobi Optimizer were designed from the ground up to exploit modern architectures and multi-core processors, using the most advanced implementations of the latest algorithms.

            homepage: https://www.gurobi.com

            version versionsuffix toolchain 6.5.1 system 6.5.2 system 7.0.1 system 7.5.2 system 7.5.2 -Python-3.6.4 intel/2018a 8.1.1 system 9.0.0 system 9.0.0 -Python-3.6.6 foss/2018b, intel/2018b 9.0.0 -Python-3.7.4 GCCcore/8.3.0 9.0.1 system 9.0.1 -Python-3.8.2 GCCcore/9.3.0 9.0.3 GCCcore/10.2.0, system 9.1.0 system 9.1.1 GCCcore/10.2.0 9.1.2 GCCcore/10.2.0, GCCcore/10.3.0, system 9.5.0 GCCcore/10.3.0, GCCcore/11.2.0 9.5.2 GCCcore/11.3.0 10.0.1 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gushr","title":"GUSHR","text":"

            Assembly-free construction of UTRs from short read RNA-Seq data on the basis of coding sequence annotation.

            homepage: https://github.com/Gaius-Augustus/GUSHR

            version toolchain 2020-09-28 foss/2021b"},{"location":"version-specific/supported-software/#gzip","title":"gzip","text":"

            gzip (GNU zip) is a popular data compression program as a replacement for compress

            homepage: http://www.gnu.org/software/gzip/

            version toolchain 1.8 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0 1.9 GCCcore/7.3.0 1.10 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.12 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#h","title":"H","text":"

            h4toh5 - H5hut - h5netcdf - h5py - Hadoop - HAL - hanythingondemand - HAPGEN2 - HarfBuzz - Harminv - harmony - HBase - HD-BET - HDBSCAN - HDDM - HDF - HDF-EOS - HDF-EOS5 - HDF5 - hdf5storage - HDFView - HEALPix - Health-GPS - heaptrack - hector - HeFFTe - Hello - help2man - HepMC3 - HH-suite - HiC-Pro - HiCExplorer - HiCMatrix - hierfstat - hifiasm - HighFive - Highway - HIP - hipify-clang - HIPS - hipSYCL - hiredis - HISAT2 - histolab - hivtrace - hl7apy - HLAminer - HMMER - HMMER2 - hmmlearn - HOME - HOOMD-blue - Horovod - horton - how_are_we_stranded_here - HPCG - HPCX - HPDBSCAN - HPL - htop - HTSeq - HTSlib - HTSplotter - hub - humann - hunspell - hwloc - Hydra - Hyperopt - HyperQueue - hyperspy - HyPhy - HyPo - hypothesis - Hypre

            "},{"location":"version-specific/supported-software/#h4toh5","title":"h4toh5","text":"

            The h4toh5 software consists of the h4toh5 and h5toh4 command-line utilities, as well as a conversion library for converting between individual HDF4 and HDF5 objects.

            homepage: http://www.hdfgroup.org/h4toh5/

            version versionsuffix toolchain 2.2.2 -linux-x86_64-static system 2.2.3 foss/2018b, gompi/2019b, gompi/2020b"},{"location":"version-specific/supported-software/#h5hut","title":"H5hut","text":"

            HDF5 Utility Toolkit: High-Performance I/O Library for Particle-based Simulations

            homepage: https://amas.psi.ch/H5hut/

            version toolchain 1.99.13 intel/2016b"},{"location":"version-specific/supported-software/#h5netcdf","title":"h5netcdf","text":"

            A Python interface for the netCDF4 file-format that reads and writes local or remote HDF5 files directly via h5py or h5pyd, without relying on the Unidata netCDF library.

            homepage: https://h5netcdf.org/

            version toolchain 1.1.0 foss/2021b"},{"location":"version-specific/supported-software/#h5py","title":"h5py","text":"

            HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous amounts of data.

            homepage: https://www.h5py.org/

            version versionsuffix toolchain 2.5.0 -Python-2.7.11-HDF5-1.8.16 foss/2016a, intel/2016a 2.5.0 -Python-2.7.11-HDF5-1.8.16-serial foss/2016a, intel/2016a 2.5.0 -Python-3.5.1-HDF5-1.8.16 foss/2016a 2.6.0 -Python-2.7.11 intel/2016a 2.6.0 -Python-2.7.12-HDF5-1.10.0-patch1 foss/2016b, intel/2016b 2.6.0 -Python-2.7.12-HDF5-1.8.17 foss/2016b, intel/2016b 2.6.0 -Python-2.7.12-HDF5-1.8.18 foss/2016b, intel/2016b 2.6.0 -Python-3.5.2-HDF5-1.10.0-patch1 foss/2016b, intel/2016b 2.6.0 -Python-3.5.2-HDF5-1.8.17 intel/2016b 2.6.0 -Python-3.5.2-HDF5-1.8.18 foss/2016b, intel/2016b 2.7.0 -Python-2.7.12 intel/2016b 2.7.0 -Python-2.7.13 intel/2017a 2.7.0 -Python-2.7.13-HDF5-1.10.1 foss/2017a 2.7.0 -Python-2.7.13-HDF5-1.8.19 foss/2017a 2.7.0 -Python-3.6.1 intel/2017a 2.7.0 -Python-3.6.1-HDF5-1.10.0-patch1 intel/2017a 2.7.0 -Python-3.6.1-HDF5-1.10.1 foss/2017a 2.7.0 -Python-3.6.1-HDF5-1.8.19 foss/2017a 2.7.1 -Python-2.7.13 intel/2017a 2.7.1 -Python-2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, intel/2017b, intel/2018a 2.7.1 -Python-2.7.14-serial intel/2018a 2.7.1 -Python-3.6.1 intel/2017a 2.7.1 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b 2.7.1 -Python-3.6.4 foss/2018a, intel/2018a 2.8.0 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 2.8.0 -Python-2.7.15-serial intel/2018b 2.8.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 2.9.0 foss/2019a, fosscuda/2019a, intel/2019a, intelcuda/2019a 2.10.0 -Python-2.7.18 intel/2020a 2.10.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b, intelcuda/2019b 2.10.0 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a, intelcuda/2020a 2.10.0 -serial-Python-3.7.4 foss/2019b 3.1.0 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 3.2.1 foss/2021a, gomkl/2021a 3.6.0 foss/2021b, intel/2021b 3.7.0 foss/2022a, intel/2022a 3.8.0 foss/2022b"},{"location":"version-specific/supported-software/#hadoop","title":"Hadoop","text":"

            Hadoop MapReduce by Cloudera

            homepage: https://archive.cloudera.com/cdh5/cdh/5/

            version versionsuffix toolchain 2.4.0 -seagate-722af1-native system 2.5.0-cdh5.3.1 -native system 2.6.0-cdh5.4.5 -native system 2.6.0-cdh5.7.0 -native system 2.6.0-cdh5.8.0 -native system 2.6.0-cdh5.12.0 -native system 2.9.2 -native GCCcore/7.3.0 2.10.0 -native GCCcore/8.3.0 2.10.0 -native-Java-1.8 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#hal","title":"HAL","text":"

            HAL is a structure to efficiently store and index multiple genome alignments and ancestral reconstructions. HAL is a graph-based representation which provides several advantages over matrix/block-based formats such as MAF, such as improved scalability and the ability to perform queries with respect to an arbitrary reference or subtree. This package includes the HAL API and several analysis and conversion tools which are described below. HAL files are presently stored in either HDF5 or mmap format, but we note that the tools and most of the API are format-independent, so other databases could be implemented in the future.

            homepage: https://github.com/ComparativeGenomicsToolkit/hal

            version toolchain 2.1 foss/2020b"},{"location":"version-specific/supported-software/#hanythingondemand","title":"hanythingondemand","text":"

            HanythingOnDemand (HOD) is a system for provisioning virtual Hadoop clusters over a large physical cluster. It uses the Torque resource manager to do node allocation.

            homepage: https://github.com/hpcugent/hanythingondemand

            version versionsuffix toolchain 3.0.0 -cli system 3.0.1 -cli system 3.0.2 -cli system 3.0.3 -cli system 3.0.4 -cli system 3.1.0 -Python-2.7.11 intel/2016a 3.1.0 -cli system 3.1.1 -Python-2.7.11 intel/2016a 3.1.1 -cli system 3.1.2 -Python-2.7.11 intel/2016a 3.1.2 -cli system 3.1.3 -Python-2.7.12 intel/2016b 3.1.3 -cli system 3.1.4 -Python-2.7.12 intel/2016b 3.1.4 -cli system 3.2.0 -Python-2.7.12 intel/2016b 3.2.0 -cli system 3.2.2 -Python-2.7.12 intel/2016b 3.2.2 -cli system"},{"location":"version-specific/supported-software/#hapgen2","title":"HAPGEN2","text":"

            'HAPGEN2' simulates case control datasets at SNP markers.

            homepage: https://mathgen.stats.ox.ac.uk/genetics_software/hapgen/hapgen2.html

            version toolchain 2.2.0 system"},{"location":"version-specific/supported-software/#harfbuzz","title":"HarfBuzz","text":"

            HarfBuzz is an OpenType text shaping engine.

            homepage: https://www.freedesktop.org/wiki/Software/HarfBuzz

            version toolchain 1.1.3 foss/2016a, intel/2016a 1.2.7 foss/2016a, intel/2016a 1.3.1 foss/2016b, intel/2016b, intel/2017a 1.5.1 intel/2017a 1.7.1 foss/2017b, intel/2017b 1.7.5 foss/2018a, intel/2018a 1.9.0 fosscuda/2018b 2.2.0 foss/2018b, fosscuda/2018b 2.4.0 GCCcore/8.2.0 2.6.4 GCCcore/8.3.0, GCCcore/9.3.0 2.6.7 GCCcore/10.2.0 2.8.1 GCCcore/10.3.0 2.8.2 GCCcore/11.2.0 4.2.1 GCCcore/11.3.0 5.3.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#harminv","title":"Harminv","text":"

            Harminv is a free program (and accompanying library) to solve the problem of harmonic inversion - given a discrete-time, finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially decaying) in a given bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.

            homepage: https://github.com/stevengj/harminv

            version toolchain 1.4 foss/2016a 1.4.1 foss/2017b, foss/2018a, intel/2018a, intel/2020a 1.4.2 foss/2020b"},{"location":"version-specific/supported-software/#harmony","title":"harmony","text":"

            Harmony is a general-purpose R package with an efficient algorithm for integrating multiple data sets.

            homepage: https://portals.broadinstitute.org/harmony

            version versionsuffix toolchain 1.0.0-20200224 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#hbase","title":"HBase","text":"

            Apache HBase. is the Hadoop database, a distributed, scalable, big data store.

            homepage: http://hbase.apache.org/

            version toolchain 1.0.2 system"},{"location":"version-specific/supported-software/#hd-bet","title":"HD-BET","text":"

            Tool for brain extraction.

            homepage: https://github.com/MIC-DKFZ/HD-BET

            version versionsuffix toolchain 20220318 foss/2021a 20220318 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#hdbscan","title":"HDBSCAN","text":"

            The hdbscan library is a suite of tools to use unsupervised learning to find clusters, or dense regions, of a dataset. The primary algorithm is HDBSCAN* as proposed by Campello, Moulavi, and Sander. The library provides a high performance implementation of this algorithm, along with tools for analysing the resulting clustering.

            homepage: http://hdbscan.readthedocs.io/en/latest/

            version versionsuffix toolchain 0.8.24 -Python-3.7.4 foss/2019b 0.8.27 foss/2021a 0.8.29 foss/2022a"},{"location":"version-specific/supported-software/#hddm","title":"HDDM","text":"

            HDDM is a Python toolbox for hierarchical Bayesian parameter estimation of the Drift Diffusion Model (via PyMC).

            homepage: http://ski.clps.brown.edu/hddm_docs

            version versionsuffix toolchain 0.6.1 -Python-3.6.6 intel/2018b 0.7.5 -Python-2.7.16 intel/2019b 0.7.5 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#hdf","title":"HDF","text":"

            HDF (also known as HDF4) is a library and multi-object file format for storing and managing data between machines.

            homepage: https://www.hdfgroup.org/products/hdf4/

            version versionsuffix toolchain 4.2.11 intel/2016a 4.2.12 intel/2017a 4.2.13 GCCcore/6.4.0 4.2.13 -no-netcdf intel/2017a 4.2.14 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 4.2.15 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#hdf-eos","title":"HDF-EOS","text":"

            HDF-EOS libraries are software libraries built on HDF libraries. It supports three data structures for remote sensing data: Grid, Point and Swath.

            homepage: https://hdfeos.org/

            version toolchain 2.20 GCCcore/10.2.0, GCCcore/7.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#hdf-eos5","title":"HDF-EOS5","text":"

            HDF-EOS libraries are software libraries built on HDF libraries. It supports three data structures for remote sensing data: Grid, Point and Swath.

            homepage: https://hdfeos.org/

            version toolchain 1.16 foss/2018b, gompi/2019b, gompi/2020b"},{"location":"version-specific/supported-software/#hdf5","title":"HDF5","text":"

            HDF5 is a data model, library, and file format for storing and managing data. It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data.

            homepage: https://portal.hdfgroup.org/display/support

            version versionsuffix toolchain 1.8.10 -serial GCC/4.8.1 1.8.11 -serial GCC/4.8.1 1.8.12 foss/2018b, intel/2016b 1.8.13 foss/2018b 1.8.16 foss/2016a, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 1.8.16 -serial foss/2016a, gimkl/2.11.5, intel/2016a 1.8.17 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.8.17 -serial GCC/5.4.0-2.26, foss/2016a, intel/2016b 1.8.18 foss/2016b, foss/2017a, gimkl/2017a, intel/2016b, intel/2017.01, intel/2017a 1.8.18 -serial intel/2017a 1.8.19 foss/2017a, foss/2017b, intel/2017a, intel/2017b 1.8.20 foss/2018a, gmpolf/2017.10, intel/2017b, intel/2018a 1.10.0-patch1 foss/2016b, intel/2016b, intel/2017.01, intel/2017a 1.10.1 foss/2017a, foss/2017b, foss/2018a, fosscuda/2017b, intel/2017a, intel/2017b, intel/2018.00, intel/2018.01, intel/2018a, intelcuda/2017b, iomkl/2017b, iomkl/2018a 1.10.2 PGI/18.4-GCC-6.4.0-2.28, foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 1.10.5 gompi/2019a, gompi/2019b, gompic/2019a, gompic/2019b, iimpi/2019a, iimpi/2019b, iimpic/2019a, iimpic/2019b, iompi/2019b 1.10.5 -serial GCC/8.3.0 1.10.6 gompi/2020a, gompic/2020a, iimpi/2020a, iimpic/2020a, iompi/2020a 1.10.7 gompi/2020b, gompi/2021a, gompic/2020b, iimpi/2020b, iimpi/2021a, iimpic/2020b, iompi/2021a 1.10.8 gompi/2021b, gompi/2022a 1.12.0 gompi/2020a, iimpi/2020a 1.12.1 gompi/2021a, gompi/2021b, iimpi/2021b 1.12.2 gompi/2022a, iimpi/2022a, nvompi/2022.07 1.12.2 -serial GCC/11.3.0, NVHPC/22.7-CUDA-11.7.0 1.13.1 gompi/2022a, iimpi/2022a 1.13.1 -serial GCC/11.3.0 1.14.0 gompi/2022b, iimpi/2022b"},{"location":"version-specific/supported-software/#hdf5storage","title":"hdf5storage","text":"

            This Python package provides high level utilities to read/write a variety of Python types to/from HDF5 (Heirarchal Data Format) formatted files. This package also provides support for MATLAB MAT v7.3 formatted files, which are just HDF5 files with a different extension and some extra meta-data. All of this is done without pickling data. Pickling is bad for security because it allows arbitrary code to be executed in the interpreter. One wants to be able to read possibly HDF5 and MAT files from untrusted sources, so pickling is avoided in this package.

            homepage: https://pythonhosted.org/hdf5storage/

            version toolchain 0.1.15 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#hdfview","title":"HDFView","text":"

            HDFView is a visual tool for browsing and editing HDF4 and HDF5 files.

            homepage: https://support.hdfgroup.org/products/java/hdfview/

            version versionsuffix toolchain 2.14 -Java-1.8.0_152-centos6 system 2.14 -Java-1.8.0_152-centos7 system"},{"location":"version-specific/supported-software/#healpix","title":"HEALPix","text":"

            Hierarchical Equal Area isoLatitude Pixelation of a sphere.

            homepage: http://healpix.sourceforge.net/

            version toolchain 3.50 GCCcore/7.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#health-gps","title":"Health-GPS","text":"

            Health-GPS microsimulation is part of the STOP project, and supports researchers and policy makers in the analysis of the health and economic impacts of alternative measures to tackle chronic diseases and obesity in children. The model reproduces the characteristics of a population and simulates key individual event histories associated with key components of relevant behaviours, such as physical activity, and diseases such as diabetes or cancer. To run the test-jobs with HealthGPS.Tests the data-directory, found in your installation folder, must be in the current path.

            homepage: https://github.com/imperialCHEPI/healthgps

            version toolchain 1.1.3.0 GCCcore/11.3.0 1.2.2.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#heaptrack","title":"heaptrack","text":"

            A heap memory profiler for Linux.

            homepage: http://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux

            version toolchain 1.1.0 foss/2016b"},{"location":"version-specific/supported-software/#hector","title":"hector","text":"

            This is the repository for Hector, an open source, object-oriented, simple global climate carbon-cycle model. It runs essentially instantaneously while still representing the most critical global scale earth system processes, and is one of a class of models heavily used for for emulating complex climate models and uncertainty analyses.

            homepage: https://github.com/JGCRI/hector

            version toolchain 2.5.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#heffte","title":"HeFFTe","text":"

            Highly Efficient FFT for Exascale (HeFFTe) library

            homepage: https://icl.utk.edu/fft

            version toolchain 1.0 foss/2020a"},{"location":"version-specific/supported-software/#hello","title":"Hello","text":"

            The GNU Hello program produces a familiar, friendly greeting. Yes, this is another implementation of the classic program that prints \"Hello, world!\" when you run it. However, unlike the minimal version often seen, GNU Hello processes its argument list to modify its behavior, supports greetings in many languages, and so on.

            homepage: https://www.gnu.org/software/hello/

            version toolchain 2.10 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#help2man","title":"help2man","text":"

            help2man produces simple manual pages from the '--help' and '--version' output of other commands.

            homepage: https://www.gnu.org/software/help2man/

            version toolchain 1.47.4 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/system, gimkl/2017a, intel/2016b, system 1.47.5 GCCcore/5.5.0 1.47.6 GCCcore/8.1.0 1.47.7 GCCcore/8.2.0 1.47.8 GCCcore/7.4.0, GCCcore/8.3.0, GCCcore/8.4.0 1.47.10 GCCcore/9.1.0, GCCcore/9.2.0 1.47.12 GCCcore/9.3.0 1.47.15 GCCcore/10.1.0 1.47.16 GCCcore/10.2.0 1.48.3 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/11.2.0, GCCcore/9.4.0 1.49.2 GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/9.5.0 1.49.3 GCCcore/11.4.0, GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#hepmc3","title":"HepMC3","text":"

            HepMC is a standard for storing Monte Carlo event data.

            homepage: http://hepmc.web.cern.ch/hepmc/

            version toolchain 3.2.5 GCC/11.3.0"},{"location":"version-specific/supported-software/#hh-suite","title":"HH-suite","text":"

            The HH-suite is an open-source software package for sensitive protein sequence searching based on the pairwise alignment of hidden Markov models (HMMs).

            homepage: https://github.com/soedinglab/hh-suite

            version versionsuffix toolchain 3.0-beta.3 intel/2018a 3.2.0 foss/2019b, fosscuda/2019b 3.3.0 foss/2020a, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a, gompic/2020b 3.3.0 -Python-3.7.4 gompic/2019b"},{"location":"version-specific/supported-software/#hic-pro","title":"HiC-Pro","text":"

            HiC-Pro was designed to process Hi-C data, from raw fastq files (paired-end Illumina data) to the normalized contact maps.

            homepage: http://nservant.github.io/HiC-Pro

            version versionsuffix toolchain 2.9.0 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#hicexplorer","title":"HiCExplorer","text":"

            HiCexplorer addresses the common tasks of Hi-C analysis from processing to visualization.

            homepage: http://hicexplorer.readthedocs.org/

            version versionsuffix toolchain 2.1.1 -Python-3.6.4 foss/2018a 3.7.2 foss/2022a"},{"location":"version-specific/supported-software/#hicmatrix","title":"HiCMatrix","text":"

            This library implements the central class of HiCExplorer to manage Hi-C interaction matrices.

            homepage: https://github.com/deeptools/HiCMatrix

            version toolchain 17 foss/2022a"},{"location":"version-specific/supported-software/#hierfstat","title":"hierfstat","text":"

            Estimates hierarchical F-statistics from haploid or diploid genetic data with any numbers of levels in the hierarchy.

            homepage: https://cran.r-project.org/package=hierfstat

            version versionsuffix toolchain 0.5-7 -R-4.0.0-Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#hifiasm","title":"hifiasm","text":"

            Hifiasm: a haplotype-resolved assembler for accurate Hifi reads.

            homepage: https://github.com/chhylp123/hifiasm

            version toolchain 0.15.2 GCCcore/10.3.0, GCCcore/9.3.0 0.16.1 GCCcore/10.3.0 0.19.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#highfive","title":"HighFive","text":"

            HighFive is a modern header-only C++11 friendly interface for libhdf5.

            homepage: https://github.com/BlueBrain/HighFive

            version toolchain 2.6.2 gompi/2021a, gompi/2022a"},{"location":"version-specific/supported-software/#highway","title":"Highway","text":"

            Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same operation to 'lanes'.

            homepage: https://github.com/google/highway

            version toolchain 0.12.2 GCCcore/10.2.0, GCCcore/10.3.0 1.0.3 GCCcore/11.3.0, GCCcore/12.2.0 1.0.4 GCCcore/11.3.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#hip","title":"HIP","text":"

            HIP is a C++ Runtime API and Kernel Language that allows developers to create portable applications for AMD and NVIDIA GPUs from single source code.

            homepage: https://github.com/ROCm-Developer-Tools/HIP

            version versionsuffix toolchain 4.5.0 -amd GCCcore/11.2.0"},{"location":"version-specific/supported-software/#hipify-clang","title":"hipify-clang","text":"

            Hipify-clang is a clang-based tool for translating CUDA sources into HIP sources. It translates CUDA source into an abstract syntax tree, which is traversed by transformation matchers. After applying all the matchers, the output HIP source is produced.

            homepage: https://github.com/ROCm-Developer-Tools/HIPIFY

            version toolchain 4.2.0 gcccuda/2020b"},{"location":"version-specific/supported-software/#hips","title":"HIPS","text":"

            HIPS (Hierarchical Iterative Parallel Solver) is a scientific library that provides an efficient parallel iterative solver for very large sparse linear systems.

            homepage: http://hips.gforge.inria.fr/

            version toolchain 1.2b-rc5 foss/2017b"},{"location":"version-specific/supported-software/#hipsycl","title":"hipSYCL","text":"

            hipSYCL is a modern SYCL implementation targeting CPUs and GPUs, with a focus on leveraging existing toolchains such as CUDA or HIP

            homepage: https://github.com/illuhad/hipSYCL

            version toolchain 0.9.1 GCC/10.2.0, gcccuda/2020b"},{"location":"version-specific/supported-software/#hiredis","title":"hiredis","text":"

            Hiredis is a minimalistic C client library for the Redis database. It is minimalistic because it just adds minimal support for the protocol, but at the same time it uses a high level printf-alike API in order to make it much higher level than otherwise suggested by its minimal code base and the lack of explicit bindings for every Redis command.

            homepage: https://github.com/redis/hiredis

            version toolchain 1.0.2 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#hisat2","title":"HISAT2","text":"

            HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) against the general human population (as well as against a single reference genome).

            homepage: https://daehwankimlab.github.io/hisat2

            version toolchain 2.0.3-beta intel/2016a 2.0.4 foss/2016b 2.0.5 intel/2017a 2.1.0 foss/2017b, foss/2018b, intel/2017a, intel/2017b, intel/2018a 2.2.0 foss/2018b 2.2.1 foss/2019b, foss/2020a, gompi/2020b, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#histolab","title":"histolab","text":"

            Library for Digital Pathology Image Processing

            homepage: https://github.com/histolab/histolab

            version toolchain 0.4.1 foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#hivtrace","title":"hivtrace","text":"

            HIV-TRACE is an application that identifies potential transmission clusters within a supplied FASTA file with an option to find potential links against the Los Alamos HIV Sequence Database.

            homepage: https://github.com/veg/hivtrace

            version toolchain 0.6.2 foss/2021a"},{"location":"version-specific/supported-software/#hl7apy","title":"hl7apy","text":"

            Python library to parse, create and handle HL7 v2 messages.

            homepage: https://github.com/crs4/hl7apy

            version versionsuffix toolchain 1.3.3 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#hlaminer","title":"HLAminer","text":"

            HLAminer is a software for HLA predictions from next-generation shotgun (NGS) sequence read data and supports direct read alignment and targeted de novo assembly of sequence reads.

            homepage: http://www.bcgsc.ca/platform/bioinfo/software/hlaminer

            version versionsuffix toolchain 1.4 -Perl-5.28.0 foss/2018b"},{"location":"version-specific/supported-software/#hmmer","title":"HMMER","text":"

            HMMER is used for searching sequence databases for homologs of protein sequences, and for making protein sequence alignments. It implements methods using probabilistic models called profile hidden Markov models (profile HMMs). Compared to BLAST, FASTA, and other sequence alignment and database search tools based on older scoring methodology, HMMER aims to be significantly more accurate and more able to detect remote homologs because of the strength of its underlying mathematical models. In the past, this strength came at significant computational expense, but in the new HMMER3 project, HMMER is now essentially as fast as BLAST.

            homepage: http://hmmer.org/

            version toolchain 3.1b2 GCC/6.4.0-2.28, foss/2016a, foss/2016b, foss/2018a, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2017a, intel/2018a 3.2.1 GCC/8.2.0-2.31.1, foss/2018b, gompi/2019b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iimpi/2019b, intel/2018b 3.3.1 gompi/2020a, iimpi/2020a 3.3.2 gompi/2019b, gompi/2020a, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a, gompi/2022b, gompic/2020b, iimpi/2020b, iimpi/2021b"},{"location":"version-specific/supported-software/#hmmer2","title":"HMMER2","text":"

            HMMER is used for searching sequence databases for sequence homologs, and for making sequence alignments.

            homepage: http://hmmer.org

            version toolchain 2.3.2 GCC/10.2.0, GCC/10.3.0, GCC/8.3.0"},{"location":"version-specific/supported-software/#hmmlearn","title":"hmmlearn","text":"

            hmmlearn is a set of algorithms for unsupervised learning and inference of Hidden Markov Models

            homepage: https://github.com/hmmlearn/hmmlearn

            version versionsuffix toolchain 0.2.0 -Python-2.7.14 intel/2017b 0.2.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#home","title":"HOME","text":"

            HOME (histogram of methylation) is a python package for differential methylation region (DMR) identification. The method uses histogram of methylation features and the linear Support Vector Machine (SVM) to identify DMRs from whole genome bisulfite sequencing (WGBS) data.

            homepage: https://github.com/ListerLab/HOME

            version versionsuffix toolchain 0.9 -Python-2.7.13 foss/2017a"},{"location":"version-specific/supported-software/#hoomd-blue","title":"HOOMD-blue","text":"

            HOOMD-blue is a general-purpose particle simulation toolkit, implementing molecular dynamics and hard particle Monte Carlo optimized for fast execution on both GPUs and CPUs.

            homepage: https://bitbucket.org/glotzer/hoomd-blue

            version toolchain 4.0.1 foss/2022a"},{"location":"version-specific/supported-software/#horovod","title":"Horovod","text":"

            Horovod is a distributed training framework for TensorFlow.

            homepage: https://github.com/uber/horovod

            version versionsuffix toolchain 0.9.10 -Python-3.6.3 intel/2017b 0.18.1 -Python-3.7.2 foss/2019a 0.18.2 -TensorFlow-1.15.0-Python-3.7.4 fosscuda/2019b 0.18.2 -TensorFlow-1.15.2-Python-3.7.4 fosscuda/2019b 0.18.2 -TensorFlow-2.0.0-Python-3.7.4 fosscuda/2019b 0.19.1 -TensorFlow-2.1.0-Python-3.7.4 fosscuda/2019b 0.19.5 -TensorFlow-2.2.0-Python-3.7.4 fosscuda/2019b 0.20.3 -TensorFlow-2.3.1-Python-3.7.4 fosscuda/2019b 0.21.1 -PyTorch-1.7.1-Python-3.7.4 fosscuda/2019b 0.21.1 -TensorFlow-2.4.1 fosscuda/2020b 0.21.1 -TensorFlow-2.4.1-Python-3.7.4 fosscuda/2019b 0.21.3 -PyTorch-1.7.1 fosscuda/2020b 0.21.3 -TensorFlow-2.3.1-Python-3.8.2 foss/2020a, fosscuda/2020a 0.22.0 -PyTorch-1.8.1 fosscuda/2020b 0.22.1 -CUDA-11.3.1-TensorFlow-2.6.0 foss/2021a 0.22.1 -TensorFlow-2.5.0 fosscuda/2020b 0.22.1 -TensorFlow-2.5.0-Python-3.7.4 fosscuda/2019b 0.23.0 -CUDA-11.3.1-PyTorch-1.10.0 foss/2021a 0.23.0 -TensorFlow-2.5.0 fosscuda/2020b 0.25.0 -CUDA-11.3.1-PyTorch-1.10.0 foss/2021a"},{"location":"version-specific/supported-software/#horton","title":"horton","text":"

            HORTON is a Helpful Open-source Research TOol for N-fermion systems, written primarily in the Python programming language. (HORTON is named after the helpful pachyderm, not the Canadian caffeine supply store.) The ultimate goal of HORTON is to provide a platform for testing new ideas on the quantum many-body problem at a reasonable computational cost. Although HORTON is primarily designed to be a quantum-chemistry program, it can perform computations involving model Hamiltonians, and could be extended for computations in nuclear physics.

            homepage: https://theochem.github.io/horton

            version versionsuffix toolchain 2.1.1 -Python-2.7.15 foss/2018b, intel/2018b 2.1.1 -Python-2.7.18 intel/2020a"},{"location":"version-specific/supported-software/#how_are_we_stranded_here","title":"how_are_we_stranded_here","text":"

            Python package for testing strandedness of RNA-Seq fastq files

            homepage: https://github.com/signalbash/how_are_we_stranded_here

            version toolchain 1.0.1 foss/2021b"},{"location":"version-specific/supported-software/#hpcg","title":"HPCG","text":"

            The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.

            homepage: https://software.sandia.gov/hpcg

            version toolchain 3.0 foss/2016b, foss/2018b, intel/2018b 3.1 foss/2018b, foss/2021a, foss/2021b, intel/2018b, intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#hpcx","title":"HPCX","text":"

            The Mellanox HPC-X Toolkit is a comprehensive MPI and SHMEM/PGAS software suite for high performance computing environments

            homepage: http://www.mellanox.com/page/products_dyn?product_family=189&mtag=hpc-x

            version toolchain 2.3.0 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#hpdbscan","title":"HPDBSCAN","text":"

            Highly parallel density based spatial clustering for application with noise

            homepage: https://github.com/Markus-Goetz/hpdbscan

            version toolchain 20171110 foss/2017b 20210826 foss/2020b"},{"location":"version-specific/supported-software/#hpl","title":"HPL","text":"

            HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the High Performance Computing Linpack Benchmark.

            homepage: https://www.netlib.org/benchmark/hpl/

            version toolchain 2.1 foss/2016.04, foss/2016.06, foss/2016a, foss/2016b, gimkl/2.11.5, gmpolf/2016a, gmvolf/1.7.20, gmvolf/2016a, intel/2016.00, intel/2016.01, intel/2016.02-GCC-4.9, intel/2016.02-GCC-5.3, intel/2016.03-GCC-4.9, intel/2016.03-GCC-5.3, intel/2016.03-GCC-5.4, intel/2016a, intel/2016b, iomkl/2016.07, pomkl/2016.03, pomkl/2016.04, pomkl/2016.09 2.2 foss/2016.07, foss/2016.09, foss/2017a, foss/2017b, foss/2018.08, foss/2018a, foss/2018b, fosscuda/2017b, fosscuda/2018a, fosscuda/2018b, gimkl/2018b, giolf/2017b, giolf/2018a, giolfc/2017b, gmpolf/2017.10, goblf/2018b, gomkl/2018b, intel/2017.00, intel/2017.01, intel/2017.02, intel/2017.09, intel/2017a, intel/2017b, intel/2018.00, intel/2018.01, intel/2018.02, intel/2018.04, intel/2018a, intel/2018b, intel/2019.00, intel/2019.01, intelcuda/2016.10, intelcuda/2017b, iomkl/2016.09-GCC-4.9.3-2.25, iomkl/2016.09-GCC-5.4.0-2.26, iomkl/2017.01, iomkl/2017a, iomkl/2017b, iomkl/2018.02, iomkl/2018a, iomkl/2018b, pomkl/2016.09 2.3 CrayCCE/19.06, CrayGNU/19.06, CrayIntel/19.06, Fujitsu/21.05, foss/2019a, foss/2019b, foss/2020a, foss/2020b, foss/2021a, foss/2021b, foss/2022.05, foss/2022.10, foss/2022a, foss/2022b, foss/2023a, fosscuda/2019b, fosscuda/2020a, gobff/2020.06-amd, gobff/2020.11, gobff/2020b, gobff/2021a, goblf/2020b, gomkl/2019a, gomkl/2020b, gomkl/2021a, gomkl/2022a, iibff/2020b, intel/2019.02, intel/2019.03, intel/2019a, intel/2019b, intel/2020.00, intel/2020.06-impi-18.5, intel/2020.12, intel/2020a, intel/2020b, intel/2021a, intel/2021b, intel/2022.00, intel/2022.09, intel/2022.11, intel/2022.12, intel/2022b, intel/2023.03, intel/2023a, intelcuda/2019b, intelcuda/2020a, iomkl/2019.01, iomkl/2021a, iomkl/2021b"},{"location":"version-specific/supported-software/#htop","title":"htop","text":"

            An interactive process viewer for Unix

            homepage: https://htop.dev

            version toolchain 2.0.0 system 2.0.1 system 3.2.1 system"},{"location":"version-specific/supported-software/#htseq","title":"HTSeq","text":"

            HTSeq is a Python library to facilitate processing and analysis of data from high-throughput sequencing (HTS) experiments.

            homepage: https://github.com/simon-anders/htseq

            version versionsuffix toolchain 0.6.1p1 -Python-2.7.11 foss/2016a 0.6.1p1 -Python-2.7.12 foss/2016b, intel/2016b 0.9.1 -Python-2.7.12 foss/2016b 0.9.1 -Python-2.7.13 intel/2017a 0.9.1 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 0.9.1 -Python-3.6.3 foss/2017b, intel/2017b 0.10.0 -Python-2.7.14 foss/2018a 0.11.0 -Python-2.7.15 foss/2018b, intel/2018b 0.11.2 -Python-3.6.6 foss/2018b 0.11.2 -Python-3.7.2 foss/2019a 0.11.2 -Python-3.7.4 foss/2019b 0.11.3 foss/2020b, foss/2021b 2.0.2 foss/2022a"},{"location":"version-specific/supported-software/#htslib","title":"HTSlib","text":"

            PacBio fork of C library for reading/writing high-throughput sequencing data. This package includes the utilities bgzip and tabix

            homepage: https://github.com/PacificBiosciences/htslib

            version versionsuffix toolchain 1.2.1 foss/2016b 1.3 foss/2016a, intel/2016a 1.3.1 foss/2016a, foss/2016b, intel/2016b 1.3.2 intel/2016b 1.4 foss/2016b, intel/2016b 1.4.1 foss/2016a, intel/2017a 1.6 foss/2016b, foss/2017b, intel/2017b 1.7 intel/2018a 1.8 GCC/6.4.0-2.28, foss/2018a, intel/2018a 1.9 GCC/6.4.0-2.28, GCC/8.2.0-2.31.1, foss/2018b, iccifort/2017.4.196-GCC-6.4.0-2.28, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 1.10.2 GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281 1.11 GCC/10.2.0, iccifort/2020.4.304 1.12 GCC/10.2.0, GCC/10.3.0, GCC/9.3.0 1.14 GCC/11.2.0 1.15.1 GCC/11.3.0 1.17 GCC/12.2.0 20160107 -PacBio intel/2017a"},{"location":"version-specific/supported-software/#htsplotter","title":"HTSplotter","text":"

            HTSplotter allows an end-to-end data processing and analysis of chemical and genetic in vitro perturbation screens.

            homepage: https://github.com/CBIGR/HTSplotter

            version toolchain 0.15 foss/2022a 2.11 foss/2022b"},{"location":"version-specific/supported-software/#hub","title":"hub","text":"

            hub is a command-line wrapper for git that makes you better at GitHub.

            homepage: https://hub.github.com/

            version versionsuffix toolchain 2.2.2 -linux-amd64 system"},{"location":"version-specific/supported-software/#humann","title":"humann","text":"

            HUMAnN v3 is a pipeline for efficiently and accurately determining the coverage and abundance of microbial pathways in a community from metagenomic data. Sequencing a metagenome typically produces millions of short DNA/RNA reads. This process, referred to as functional profiling, aims to describe the metabolic potential of a microbial community and its members. More generally, functional profiling answers the question: What are the microbes in my community-of-interest doing (or capable of doing)?

            homepage: http://huttenhower.sph.harvard.edu/humann

            version toolchain 3.6 foss/2022a"},{"location":"version-specific/supported-software/#hunspell","title":"hunspell","text":"

            Hunspell is a spell checker and morphological analyzer library and program designed for languageswith rich morphology and complex word compounding or character encoding.

            homepage: https://hunspell.github.io/

            version toolchain 1.6.1 intel/2017a 1.7.0 GCCcore/8.2.0 1.7.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#hwloc","title":"hwloc","text":"

            The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily aims at helping applications with gathering information about modern computing hardware so as to exploit it accordingly and efficiently.

            homepage: https://www.open-mpi.org/projects/hwloc/

            version toolchain 1.7.2 GCC/4.8.2 1.8.1 GCC/4.8.2, GCC/4.8.3 1.9 GCC/4.8.3 1.10.0 GCC/4.9.2 1.10.1 GCC/4.8.4, GNU/4.9.2-2.25 1.11.0 GNU/4.9.3-2.25 1.11.1 GCC/4.9.3 1.11.2 GCC/4.9.3-2.25, GNU/4.9.3-2.25 1.11.3 GCC/5.2.0, GCC/5.3.0-2.26, GCC/5.4.0-2.26, GCC/6.1.0-2.27, PGI/16.3-GCC-4.9.3-2.25, PGI/16.4-GCC-5.3.0-2.26, iccifort/2016.3.210-GCC-4.9.3-2.25, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b 1.11.4 GCC/6.2.0-2.27, PGI/16.7-GCC-5.4.0-2.26, iccifort/2017.1.132-GCC-5.4.0-2.26 1.11.5 GCC/5.4.0-2.26, GCC/6.3.0-2.27, iccifort/2017.1.132-GCC-6.3.0-2.27 1.11.6 GCC/6.3.0-2.28 1.11.7 GCCcore/5.4.0, GCCcore/6.4.0 1.11.8 GCCcore/6.4.0, GCCcore/7.2.0, intel/2017a 1.11.10 GCCcore/7.3.0 1.11.11 GCCcore/8.2.0 1.11.12 GCCcore/8.3.0 2.0.2 GCCcore/8.2.0 2.0.3 GCCcore/8.3.0 2.1.0 GCCcore/9.2.0 2.2.0 GCCcore/10.2.0, GCCcore/9.3.0 2.4.1 GCCcore/10.3.0 2.5.0 GCCcore/11.2.0 2.7.1 GCCcore/11.3.0 2.8.0 GCCcore/12.2.0 2.9.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#hydra","title":"Hydra","text":"

            Hydra is an open-source Python framework that simplifies the development of research and other complex applications. The key feature is the ability to dynamically create a hierarchical configuration by composition and override it through config files and the command line. The name Hydra comes from its ability to run multiple similar jobs - much like a Hydra with multiple heads.

            homepage: https://hydra.cc/

            version toolchain 1.1.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#hyperopt","title":"Hyperopt","text":"

            hyperopt is a Python library for optimizing over awkward search spaces with real-valued, discrete, and conditional dimensions.

            homepage: http://hyperopt.github.io/hyperopt/

            version versionsuffix toolchain 0.1 -Python-2.7.14 intel/2017b 0.1.1 -Python-3.6.6 intel/2018b 0.2.4 -Python-3.7.4-Java-1.8 intel/2019b 0.2.5 fosscuda/2020b 0.2.7 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#hyperqueue","title":"HyperQueue","text":"

            HyperQueue lets you build a computation plan consisting of a large amount of tasks and then execute it transparently over a system like SLURM/PBS. It dynamically groups jobs into SLURM/PBS jobs and distributes them to fully utilize allocated nodes. You thus do not have to manually aggregate your tasks into SLURM/PBS jobs.

            homepage: https://it4innovations.github.io/hyperqueue/

            version toolchain 0.13.0 system"},{"location":"version-specific/supported-software/#hyperspy","title":"hyperspy","text":"

            HyperSpy is an open source Python library which provides tools to facilitate the interactive data analysis of multi-dimensional datasets that can be described as multi-dimensional arrays of a given signal (e.g. a 2D array of spectra a.k.a spectrum image)

            homepage: https://hyperspy.org/

            version versionsuffix toolchain 1.1.1 -Python-3.5.2 intel/2016b"},{"location":"version-specific/supported-software/#hyphy","title":"HyPhy","text":"

            HyPhy (Hypothesis Testing using Phylogenies) is an open-source software package for the analysis of genetic sequences (in particular the inference of natural selection) using techniques in phylogenetics, molecular evolution, and machine learning

            homepage: https://veg.github.io/hyphy-site/

            version toolchain 2.3.13 foss/2016b 2.5.1 gompi/2019a 2.5.33 gompi/2021a"},{"location":"version-specific/supported-software/#hypo","title":"HyPo","text":"

            HyPo: Super Fast & Accurate Polisher for Long Read Genome Assemblies

            homepage: https://github.com/kensung-lab/hypo

            version versionsuffix toolchain 1.0.3 -Python-3.7.4 GCC/8.3.0"},{"location":"version-specific/supported-software/#hypothesis","title":"hypothesis","text":"

            Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets you find more bugs in your code with less work.

            homepage: https://github.com/HypothesisWorks/hypothesis

            version versionsuffix toolchain 4.5.0 -Python-3.6.6 foss/2018b, fosscuda/2018b 4.23.4 GCCcore/8.2.0 4.39.3 -Python-3.6.4 intel/2018a 4.44.2 -Python-3.7.4 GCCcore/8.3.0 4.53.1 GCCcore/10.2.0 4.57.1 -Python-2.7.18 GCCcore/11.2.0 5.6.0 -Python-3.8.2 GCCcore/9.3.0 5.41.2 GCCcore/10.2.0 5.41.5 GCCcore/10.2.0 6.7.0 GCCcore/10.2.0 6.13.1 GCCcore/10.3.0 6.14.6 GCCcore/11.2.0 6.46.7 GCCcore/11.3.0 6.68.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#hypre","title":"Hypre","text":"

            Hypre is a library for solving large, sparse linear systems of equations on massively parallel computers. The problems of interest arise in the simulation codes being developed at LLNL and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.

            homepage: https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods

            version toolchain 2.11.1 foss/2016a, intel/2016a 2.14.0 foss/2018a, intel/2018a 2.15.1 foss/2019a, intel/2019a 2.18.2 foss/2019b, foss/2020a, intel/2019b, intel/2020a 2.20.0 foss/2020b, intel/2020b 2.21.0 foss/2021a, fosscuda/2020b, intel/2021a 2.24.0 intel/2021b 2.25.0 foss/2022a 2.27.0 foss/2022b"},{"location":"version-specific/supported-software/#i","title":"I","text":"

            i-cisTarget - i-PI - I-TASSER - i7z - ICA-AROMA - icc - iccifort - iccifortcuda - ichorCNA - icmake - iCount - ICU - IDBA-UD - idemux - ieeg-cli - ifort - IgBLAST - IGMPlot - igraph - IGV - igv-reports - IGVTools - iibff - iimkl - iimpi - iimpic - IJulia - ILAMB - IMa2 - IMa2p - imagecodecs - imageio - ImageJ - ImageMagick - imake - Imath - IMB - imbalanced-learn - imgaug - imkl - imkl-FFTW - Imlib2 - immunedeconv - IMOD - impi - IMPUTE2 - InChI - indicators - Inelastica - inferCNV - infercnvpy - Inferelator - Infernal - Infomap - inline - InParanoid - inputproto - Inspector - IntaRNA - INTEGRATE - INTEGRATE-Neo - intel - intel-compilers - IntelClusterChecker - intelcuda - IntelDAAL - IntelPython - InterProScan - InterProScan_data - intervaltree - intervaltree-python - intltool - io_lib - ioapi - iodata - iomkl - iompi - IOR - IOzone - IPM - Ipopt - ipp - IPy - ipympl - ipyparallel - ipyrad - IPython - IQ-TREE - Iris - IRkernel - irodsfs - IronPython - ISA-L - ISL - isoCirc - IsoNet - IsoSeq - ispc - itac - ITK - itpp - ITSTool - ITSx - iVar

            "},{"location":"version-specific/supported-software/#i-cistarget","title":"i-cisTarget","text":"

            An integrative genomics method for the prediction of regulatory features and cis-regulatory modules in Human, Mouse, and Fly

            homepage: https://gbiomed.kuleuven.be/apps/lcb/i-cisTarget

            version versionsuffix toolchain 20160602 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#i-pi","title":"i-PI","text":"

            A Python wrapper for (ab initio) (path integrals) molecular dynamics

            homepage: https://github.com/i-pi/i-pi

            version versionsuffix toolchain 1.0-20160213 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#i-tasser","title":"I-TASSER","text":"

            I-TASSER is a set of pre-compiled binaries and scripts for protein structure and function modelling and comparison.

            homepage: http://zhanglab.ccmb.med.umich.edu/I-TASSER/

            version toolchain 4.0 system 4.2 system 5.1 system"},{"location":"version-specific/supported-software/#i7z","title":"i7z","text":"

            A better i7 (and now i3, i5) reporting tool for Linux

            homepage: https://github.com/ajaiantilal/i7z

            version toolchain 20131012 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#ica-aroma","title":"ICA-AROMA","text":"

            ICA-AROMA (i.e. 'ICA-based Automatic Removal Of Motion Artifacts') concerns a data-driven method to identify and remove motion-related independent components from fMRI data.

            homepage: https://github.com/maartenmennes/ICA-AROMA

            version versionsuffix toolchain 0.4.4-beta -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#icc","title":"icc","text":"

            C and C++ compiler from Intel

            homepage: http://software.intel.com/en-us/intel-compilers/

            version versionsuffix toolchain 2016.0.109 system 2016.0.109 -GCC-4.9.3-2.25 system 2016.1.150 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-4.9.3-2.25 system 2016.3.210 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-5.4.0-2.26 system 2017.0.098 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-6.3.0-2.27 system 2017.2.174 -GCC-6.3.0-2.27 system 2017.4.196 -GCC-6.4.0-2.28 system 2017.5.239 -GCC-6.4.0-2.28 system 2017.6.256 -GCC-6.4.0-2.28 system 2017.7.259 -GCC-6.4.0-2.28 system 2018.0.128 -GCC-6.4.0-2.28 system 2018.1.163 -GCC-6.4.0-2.28 system 2018.2.199 -GCC-6.4.0-2.28 system 2018.3.222 -GCC-7.3.0-2.30 system 2018.5.274 -GCC-7.3.0-2.30 system 2019.0.117 -GCC-8.2.0-2.31.1 system 2019.1.144 -GCC-8.2.0-2.31.1 system 2019.2.187 -GCC-8.2.0-2.31.1 system 2019.3.199 -GCC-8.3.0-2.32 system system -GCC-system-2.29 system"},{"location":"version-specific/supported-software/#iccifort","title":"iccifort","text":"

            Intel C, C++ & Fortran compilers

            homepage: http://software.intel.com/en-us/intel-cluster-toolkit-compiler/

            version versionsuffix toolchain 2016.0.109 system 2016.0.109 -GCC-4.9.3-2.25 system 2016.1.150 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-4.9.3-2.25 system 2016.3.210 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-5.4.0-2.26 system 2017.0.098 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-6.3.0-2.27 system 2017.2.174 -GCC-6.3.0-2.27 system 2017.4.196 -GCC-6.4.0-2.28 system 2017.5.239 -GCC-6.4.0-2.28 system 2018.0.128 -GCC-6.4.0-2.28 system 2018.1.163 -GCC-6.4.0-2.28 system 2018.2.199 -GCC-6.4.0-2.28 system 2018.3.222 -GCC-7.3.0-2.30 system 2018.5.274 -GCC-7.3.0-2.30 system 2019.0.117 -GCC-8.2.0-2.31.1 system 2019.1.144 -GCC-8.2.0-2.31.1 system 2019.2.187 -GCC-8.2.0-2.31.1 system 2019.3.199 -GCC-8.3.0-2.32 system 2019.4.243 system 2019.5.281 system 2020.0.166 system 2020.0.166 -GCC-9.2.0 system 2020.1.217 system 2020.4.304 system system -GCC-system-2.29 system"},{"location":"version-specific/supported-software/#iccifortcuda","title":"iccifortcuda","text":"

            Intel C, C++ & Fortran compilers with CUDA toolkit

            homepage: <(none)>

            version versionsuffix toolchain 2016.10 system 2017.4.196 -GCC-6.4.0-2.28 system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#ichorcna","title":"ichorCNA","text":"

            ichorCNA is a tool for estimating the fraction of tumor in cell-free DNA from ultra-low-pass whole genome sequencing

            homepage: https://github.com/broadinstitute/ichorCNA/wiki

            version toolchain 0.2.0 foss/2019b 0.3.2-20191219 foss/2020a"},{"location":"version-specific/supported-software/#icmake","title":"icmake","text":"

            Icmake is a hybrid between a 'make' utility and a 'shell script' language. Originally, it was written to provide a useful tool for automatic program maintenance and system administrative tasks on old MS-DOS platforms.

            homepage: http://icmake.sourceforge.net/

            version toolchain 7.23.02 foss/2016a"},{"location":"version-specific/supported-software/#icount","title":"iCount","text":"

            iCount: protein-RNA interaction analysis is a Python module and associated command-line interface (CLI), which provides all the commands needed to process iCLIP data on protein-RNA interactions.

            homepage: https://github.com/tomazc/iCount

            version versionsuffix toolchain 20180820 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#icu","title":"ICU","text":"

            ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications.

            homepage: https://icu.unicode.org

            version toolchain 61.1 GCCcore/6.4.0, GCCcore/7.3.0 64.2 GCCcore/8.2.0, GCCcore/8.3.0 65.1 GCCcore/8.3.0 66.1 GCCcore/9.3.0 67.1 GCCcore/10.2.0 69.1 GCCcore/10.3.0, GCCcore/11.2.0 71.1 GCCcore/11.3.0 72.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#idba-ud","title":"IDBA-UD","text":"

            IDBA-UD is a iterative De Bruijn Graph De Novo Assembler for Short Reads Sequencing data with Highly Uneven Sequencing Depth. It is an extension of IDBA algorithm. IDBA-UD also iterates from small k to a large k. In each iteration, short and low-depth contigs are removed iteratively with cutoff threshold from low to high to reduce the errors in low-depth and high-depth regions. Paired-end reads are aligned to contigs and assembled locally to generate some missing k-mers in low-depth regions. With these technologies, IDBA-UD can iterate k value of de Bruijn graph to a very large value with less gaps and less branches to form long contigs in both low-depth and high-depth regions.

            homepage: http://i.cs.hku.hk/~alse/hkubrg/projects/idba_ud/

            version toolchain 1.1.3 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2018a, foss/2018b"},{"location":"version-specific/supported-software/#idemux","title":"idemux","text":"

            idemux - inline barcode demultiplexing Idemux is a command line tool designed to demultiplex paired-end FASTQ files from QuantSeq-Pool.

            homepage: https://github.com/Lexogen-Tools/idemux

            version toolchain 0.1.6 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#ieeg-cli","title":"ieeg-cli","text":"

            IEEG.ORG is a collaborative initiative funded by the National Institutes of Neurological Disorders and Stroke. This initiative seeks to advance research towards the understanding of epilepsy by providing a platform for sharing data, tools and expertise between researchers.

            homepage: https://www.ieeg.org/

            version toolchain 1.14.56 system"},{"location":"version-specific/supported-software/#ifort","title":"ifort","text":"

            Fortran compiler from Intel

            homepage: http://software.intel.com/en-us/intel-compilers/

            version versionsuffix toolchain 2016.0.109 system 2016.0.109 -GCC-4.9.3-2.25 system 2016.1.150 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-4.9.3-2.25 system 2016.3.210 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-5.4.0-2.26 system 2017.0.098 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-6.3.0-2.27 system 2017.2.174 -GCC-6.3.0-2.27 system 2017.4.196 -GCC-6.4.0-2.28 system 2017.5.239 -GCC-6.4.0-2.28 system 2017.6.256 -GCC-6.4.0-2.28 system 2017.7.259 -GCC-6.4.0-2.28 system 2018.0.128 -GCC-6.4.0-2.28 system 2018.1.163 -GCC-6.4.0-2.28 system 2018.2.199 -GCC-6.4.0-2.28 system 2018.3.222 -GCC-7.3.0-2.30 system 2018.5.274 -GCC-7.3.0-2.30 system 2019.0.117 -GCC-8.2.0-2.31.1 system 2019.1.144 -GCC-8.2.0-2.31.1 system 2019.2.187 -GCC-8.2.0-2.31.1 system 2019.3.199 -GCC-8.3.0-2.32 system system -GCC-system-2.29 system"},{"location":"version-specific/supported-software/#igblast","title":"IgBLAST","text":"

            IgBLAST faclilitates the analysis of immunoglobulin and T cell receptor variable domain sequences.

            homepage: https://ncbi.github.io/igblast

            version versionsuffix toolchain 1.15.0 -x64-linux system 1.18.0 -x64-linux system 1.21.0 -x64-linux system"},{"location":"version-specific/supported-software/#igmplot","title":"IGMPlot","text":"

            IGMPlot is a free open-source program developed to identify molecular interactions and prepare data to build 2D and 3D representations of them in the molecular environment.

            homepage: http://igmplot.univ-reims.fr

            version toolchain 2.4.2 GCC/8.3.0, iccifort/2019.5.281 2.6.9b GCC/11.2.0"},{"location":"version-specific/supported-software/#igraph","title":"igraph","text":"

            igraph is a collection of network analysis tools with the emphasis on efficiency, portability and ease of use. igraph is open source and free. igraph can be programmed in R, Python and C/C++.

            homepage: https://igraph.org

            version toolchain 0.7.1 foss/2018b, intel/2016b, intel/2017b 0.8.0 foss/2019b 0.8.2 foss/2020a 0.8.5 foss/2020b 0.9.1 foss/2020b, fosscuda/2020b 0.9.4 foss/2021a 0.9.5 foss/2021b 0.10.3 foss/2022a"},{"location":"version-specific/supported-software/#igv","title":"IGV","text":"

            This package contains command line utilities for preprocessing, computing feature count density (coverage), sorting, and indexing data files.

            homepage: https://www.broadinstitute.org/software/igv/

            version versionsuffix toolchain 2.3.68 -Java-1.7.0_80 system 2.3.80 -Java-1.7.0_80 system 2.5.0 -Java-11 system 2.8.0 -Java-11 system 2.9.4 -Java-11 system 2.12.3 -Java-11 system 2.16.0 -Java-11 system"},{"location":"version-specific/supported-software/#igv-reports","title":"igv-reports","text":"

            Python application to generate self-contained igv.js pages that can be opened within a browser with \"file\" protocol.

            homepage: https://github.com/igvteam/igv-reports

            version versionsuffix toolchain 0.9.8 -Python-3.7.4 GCC/8.3.0"},{"location":"version-specific/supported-software/#igvtools","title":"IGVTools","text":"

            This package contains command line utilities for preprocessing, computing feature count density (coverage), sorting, and indexing data files. See also http://www.broadinstitute.org/software/igv/igvtools_commandline.

            homepage: https://software.broadinstitute.org/software/igv/igvtools

            version versionsuffix toolchain 2.3.68 -Java-1.7.0_80 system 2.3.72 -Java-1.7.0_80 system 2.3.75 -Java-1.7.0_80 system 2.4.18 -Java-1.8 system"},{"location":"version-specific/supported-software/#iibff","title":"iibff","text":"

            GCC and GFortran based compiler toolchain with OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

            homepage: <(none)>

            version toolchain 2020b system"},{"location":"version-specific/supported-software/#iimkl","title":"iimkl","text":"

            Intel C/C++ and Fortran compilers, alongside Intel Math Kernel Library (MKL).

            homepage: https://software.intel.com/en-us/intel-cluster-toolkit-compiler/

            version toolchain 2018a system 2022b system"},{"location":"version-specific/supported-software/#iimpi","title":"iimpi","text":"

            Intel C/C++ and Fortran compilers, alongside Intel MPI.

            homepage: http://software.intel.com/en-us/intel-cluster-toolkit-compiler/

            version versionsuffix toolchain 8.1.5 -GCC-4.9.3-2.25 system 2016.00 -GCC-4.9.3-2.25 system 2016.01 -GCC-4.9.3-2.25 system 2016.02 -GCC-4.9.3-2.25 system 2016.02 -GCC-5.3.0-2.26 system 2016.03 -GCC-4.9.3-2.25 system 2016.03 -GCC-5.3.0-2.26 system 2016.03 -GCC-5.4.0-2.26 system 2016b system 2017.00 -GCC-5.4.0-2.26 system 2017.01 -GCC-5.4.0-2.26 system 2017.02 -GCC-6.3.0-2.27 system 2017.09 system 2017a system 2017b system 2018.00 system 2018.01 system 2018.02 system 2018.04 system 2018a system 2018b system 2019.00 system 2019.01 system 2019.02 system 2019.03 system 2019a system 2019b system 2020.00 system 2020.06-impi-18.5 system 2020.12 system 2020a system 2020b system 2021a system 2021b system 2022.00 system 2022.05 system 2022.09 system 2022.11 system 2022.12 system 2022a system 2022b system 2023.03 system 2023a system system -GCC-system-2.29 system"},{"location":"version-specific/supported-software/#iimpic","title":"iimpic","text":"

            Intel C/C++ and Fortran compilers, alongside Intel MPI and CUDA.

            homepage: <(none)>

            version toolchain 2016.10 system 2017b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#ijulia","title":"IJulia","text":"

            Julia kernel for Jupyter

            homepage: https://github.com/JuliaLang/IJulia.jl

            version versionsuffix toolchain 1.23.3 -Julia-1.6.7 system 1.24.0 -Julia-1.8.5 system"},{"location":"version-specific/supported-software/#ilamb","title":"ILAMB","text":"

            The International Land Model Benchmarking (ILAMB) project is a model-data intercomparison and integration project designed to improve the performance of land models and, in parallel, improve the design of new measurement campaigns to reduce uncertainties associated with key land surface processes.

            homepage: https://www.ilamb.org/

            version versionsuffix toolchain 2.5 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#ima2","title":"IMa2","text":"

            IMa2 is a progam for population genetic analysis that can handle two or more populations.

            homepage: https://bio.cst.temple.edu/~hey/software/software.htm#IMa2

            version toolchain 8.27.12 foss/2016a"},{"location":"version-specific/supported-software/#ima2p","title":"IMa2p","text":"

            IMa2p is a parallel implementation of IMa2, using OpenMPI-C++ - a Bayesian MCMC based method for inferring population demography under the IM (Isolation with Migration) model. http://dx.doi.org/10.1111/1755-0998.12437

            homepage: https://github.com/arunsethuraman/ima2p

            version toolchain 20151123 foss/2016a 20160804 intel/2016b"},{"location":"version-specific/supported-software/#imagecodecs","title":"imagecodecs","text":"

            Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, compression, and decompression functions for use in the tifffile, czifile, zarr, and other scientific image input/output modules.

            homepage: https://github.com/cgohlke/imagecodecs

            version toolchain 2021.8.26 foss/2020b 2022.9.26 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#imageio","title":"imageio","text":"

            Imageio is a Python library that provides an easy interface to read and write a wide range of image data, including animated images, video, volumetric data, and scientific formats.

            homepage: https://imageio.github.io

            version versionsuffix toolchain 2.3.0 -Python-3.6.4 intel/2018a 2.5.0 foss/2019a 2.9.0 foss/2020b, fosscuda/2020b 2.9.0 -Python-3.7.4 foss/2019b, intel/2019b 2.10.5 foss/2021a 2.13.5 foss/2021b 2.22.2 foss/2022a"},{"location":"version-specific/supported-software/#imagej","title":"ImageJ","text":"

            Image Processing and Analysis in Java

            homepage: https://imagej.nih.gov/ij

            version versionsuffix toolchain 1.51a system 1.51i system 1.51k system 1.52q -Java-1.8 system"},{"location":"version-specific/supported-software/#imagemagick","title":"ImageMagick","text":"

            ImageMagick is a software suite to create, edit, compose, or convert bitmap images

            homepage: https://www.imagemagick.org/

            version versionsuffix toolchain 6.9.4-8 intel/2016a 7.0.1-6 intel/2016a 7.0.1-9 intel/2016a 7.0.2-9 intel/2016a 7.0.3-1 intel/2016b 7.0.5-4 intel/2017a 7.0.5-10 foss/2016b 7.0.7-8 -JasPer-1.900.1 intel/2017a 7.0.7-14 foss/2017b, intel/2017b 7.0.7-15 GCCcore/6.4.0 7.0.7-26 foss/2018a 7.0.7-30 GCCcore/6.4.0 7.0.7-30 -Ghostscript-9.22-cairo-1.14.12 GCCcore/6.4.0 7.0.7-39 -Ghostscript-9.23-cairo-1.14.12 GCCcore/6.4.0 7.0.8-11 GCCcore/7.3.0 7.0.8-46 GCCcore/8.2.0 7.0.9-5 GCCcore/8.3.0 7.0.10-1 GCCcore/9.3.0 7.0.10-35 GCCcore/10.2.0 7.0.11-14 GCCcore/10.3.0 7.1.0-4 GCCcore/11.2.0 7.1.0-37 GCCcore/11.3.0 7.1.0-53 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#imake","title":"imake","text":"

            imake is a Makefile-generator that is intended to make it easier to develop software portably for multiple systems.

            homepage: https://www.x.org/

            version toolchain 1.0.7 intel/2016a 1.0.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#imath","title":"Imath","text":"

            Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics

            homepage: https://imath.readthedocs.io/en/latest/

            version toolchain 3.1.5 GCCcore/11.3.0 3.1.6 GCCcore/12.2.0 3.1.7 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#imb","title":"IMB","text":"

            The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and global communication operations for a range of message sizes

            homepage: https://software.intel.com/en-us/articles/intel-mpi-benchmarks

            version toolchain 4.1 foss/2016a, foss/2017a, intel/2017.02, intel/2017a 2018.1 intel/2017a 2019.3 gompi/2019a, iimpi/2019a 2021.3 gompi/2021b, gompi/2022a, gompi/2022b, iimpi/2022a, iimpi/2022b"},{"location":"version-specific/supported-software/#imbalanced-learn","title":"imbalanced-learn","text":"

            imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in datasets showing strong between-class imbalance.

            homepage: https://github.com/scikit-learn-contrib/imbalanced-learn

            version versionsuffix toolchain 0.2.1 -Python-2.7.12 intel/2016b 0.2.1 -Python-3.5.2 intel/2016b 0.3.3 -Python-3.6.4 foss/2018a 0.4.3 -Python-3.6.6 foss/2018b 0.7.0 foss/2020b 0.9.0 foss/2021b 0.10.1 foss/2022a"},{"location":"version-specific/supported-software/#imgaug","title":"imgaug","text":"

            This python library helps you with augmenting images for your machine learning projects. It converts a set of input images into a new, much larger set of slightly altered images.

            homepage: https://imgaug.readthedocs.io/en/latest/

            version versionsuffix toolchain 0.2.8 -Python-3.6.6 foss/2018b 0.4.0 foss/2021a, foss/2021b, foss/2022a 0.4.0 -CUDA-11.3.1 foss/2021a 0.4.0 -CUDA-11.4.1 foss/2021b 0.4.0 -CUDA-11.7.0 foss/2022a 0.4.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#imkl","title":"imkl","text":"

            Intel oneAPI Math Kernel Library

            homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html

            version versionsuffix toolchain 11.2.3.187 gimpi/2.11.5 11.3.0.109 iimpi/2016.00-GCC-4.9.3-2.25 11.3.1.150 iimpi/2016.01-GCC-4.9.3-2.25, iimpi/8.1.5-GCC-4.9.3-2.25 11.3.2.181 iimpi/2016.02-GCC-4.9.3-2.25, iimpi/2016.02-GCC-5.3.0-2.26, pompi/2016.03 11.3.3.210 iimpi/2016.03-GCC-4.9.3-2.25, iimpi/2016.03-GCC-5.3.0-2.26, iimpi/2016.03-GCC-5.4.0-2.26, iimpi/2016b, iimpic/2016.10, iompi/2016.07, iompi/2016.09-GCC-4.9.3-2.25, iompi/2016.09-GCC-5.4.0-2.26, pompi/2016.04, pompi/2016.09 2017.0.098 iimpi/2017.00-GCC-5.4.0-2.26 2017.1.132 gimpi/2017a, iimpi/2017.01-GCC-5.4.0-2.26, iimpi/2017a, iompi/2017.01, iompi/2017a 2017.2.174 iimpi/2017.02-GCC-6.3.0-2.27 2017.3.196 gompi/2017b, iimpi/2017b, iimpic/2017b, iompi/2017b 2017.4.239 iimpi/2017.09 2018.0.128 iimpi/2018.00 2018.1.163 iimpi/2018.01, iimpi/2018a, iompi/2018a 2018.1.163 -serial iccifort/2018.1.163-GCC-6.4.0-2.28 2018.2.199 iimpi/2018.02, iompi/2018.02 2018.3.222 gimpi/2018b, gompi/2018b, iimpi/2018b, iompi/2018b 2018.4.274 iimpi/2018.04 2019.0.117 iimpi/2019.00 2019.1.144 gompi/2019a, iimpi/2019.01, iimpi/2019a, iimpic/2019a, iompi/2019.01 2019.2.187 iimpi/2019.02 2019.3.199 iimpi/2019.03 2019.5.281 gompi/2019b, gompic/2019b, iimpi/2019b, iimpic/2019b, iompi/2019b 2020.0.166 iimpi/2020.00 2020.1.217 gompi/2020a, iimpi/2020.06-impi-18.5, iimpi/2020a, iimpic/2020a, iompi/2020a 2020.4.304 NVHPC/21.2, gompi/2020b, gompic/2020b, iimpi/2020b, iimpic/2020b, iompi/2020b 2021.1.1 iimpi/2020.12 2021.2.0 gompi/2021a, iimpi/2021a, iompi/2021a 2021.3.0 gompi/2021a 2021.4.0 iompi/2021b, system 2022.0.1 system 2022.1.0 gompi/2022a, system 2022.2.0 system 2022.2.1 system 2023.0.0 system 2023.1.0 system"},{"location":"version-specific/supported-software/#imkl-fftw","title":"imkl-FFTW","text":"

            FFTW interfaces using Intel oneAPI Math Kernel Library

            homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html

            version toolchain 2021.4.0 gompi/2021b, iimpi/2021b 2022.0.1 iimpi/2022.00 2022.1.0 iimpi/2022.05, iimpi/2022a 2022.2.0 iimpi/2022.09 2022.2.1 iimpi/2022.11, iimpi/2022b 2023.0.0 iimpi/2022.12 2023.1.0 iimpi/2023.03, iimpi/2023a"},{"location":"version-specific/supported-software/#imlib2","title":"Imlib2","text":"

            This is the Imlib 2 library - a library that does image file loading and saving as well as rendering, manipulation, arbitrary polygon support, etc. It does ALL of these operations FAST. Imlib2 also tries to be highly intelligent about doing them, so writing naive programs can be done easily, without sacrificing speed.

            homepage: https://docs.enlightenment.org/api/imlib2/html/

            version toolchain 1.5.1 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#immunedeconv","title":"immunedeconv","text":"

            immunedeconv is an R package for unified access to computational methods for estimating immune cell fractions from bulk RNA sequencing data.

            homepage: https://github.com/icbi-lab/immunedeconv

            version versionsuffix toolchain 2.0.2 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#imod","title":"IMOD","text":"

            IMOD is a set of image processing, modeling and display programs used for tomographic reconstruction and for 3D reconstruction of EM serial sections and optical sections. The package contains tools for assembling and aligning data within multiple types and sizes of image stacks, viewing 3-D data from any orientation, and modeling and display of the image files. IMOD was developed primarily by David Mastronarde, Rick Gaudette, Sue Held, Jim Kremer, Quanren Xiong, and John Heumann at the University of Colorado.

            homepage: http://bio3d.colorado.edu/imod/

            version versionsuffix toolchain 4.7.15 _RHEL6-64_CUDA6.0 system 4.11.5 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#impi","title":"impi","text":"

            The Intel(R) MPI Library for Linux* OS is a multi-fabric message passing library based on ANL MPICH2 and OSU MVAPICH2. The Intel MPI Library for Linux OS implements the Message Passing Interface, version 2 (MPI-2) specification.

            homepage: http://software.intel.com/en-us/intel-mpi-library/

            version versionsuffix toolchain 3.2.2.006 system 4.0.0.028 system 4.0.0.028 -32bit system 4.0.2.003 system 4.1.0.027 system 4.1.0.030 system 4.1.1.036 system 4.1.2.040 system 4.1.3.045 system 4.1.3.049 GCC/4.8.3, system 5.0.3.048 GCC/4.9.3 5.1.1.109 iccifort/2016.0.109-GCC-4.9.3-2.25 5.1.2.150 iccifort/2016.1.150-GCC-4.9.3-2.25 5.1.3.181 iccifort/2016.2.181-GCC-4.9.3-2.25, iccifort/2016.2.181-GCC-5.3.0-2.26, iccifort/2016.3.210-GCC-4.9.3-2.25, iccifort/2016.3.210-GCC-5.3.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26, iccifortcuda/2016.10 2017.0.098 iccifort/2017.0.098-GCC-5.4.0-2.26 2017.1.132 GCC/5.4.0-2.26, iccifort/2017.1.132-GCC-5.4.0-2.26, iccifort/2017.1.132-GCC-6.3.0-2.27 2017.2.174 iccifort/2017.2.174-GCC-6.3.0-2.27 2017.3.196 GCC/6.4.0-2.28, gcccuda/2017b, iccifort/2017.4.196-GCC-6.4.0-2.28, iccifortcuda/2017.4.196-GCC-6.4.0-2.28 2017.4.239 iccifort/2017.5.239-GCC-6.4.0-2.28 2018.0.128 iccifort/2018.0.128-GCC-6.4.0-2.28 2018.1.163 GCC/6.4.0-2.28, iccifort/2018.1.163-GCC-6.4.0-2.28 2018.2.199 iccifort/2018.2.199-GCC-6.4.0-2.28 2018.3.222 GCC/7.3.0-2.30, iccifort/2018.3.222-GCC-7.3.0-2.30 2018.4.274 iccifort/2018.5.274-GCC-7.3.0-2.30, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifortcuda/2019a 2018.5.288 iccifort/2019.5.281, iccifort/2020.1.217, iccifortcuda/2019b 2019.0.117 iccifort/2019.0.117-GCC-8.2.0-2.31.1 2019.1.144 iccifort/2019.1.144-GCC-8.2.0-2.31.1 2019.2.187 iccifort/2019.2.187-GCC-8.2.0-2.31.1 2019.3.199 iccifort/2019.3.199-GCC-8.3.0-2.32 2019.6.166 iccifort/2020.0.166-GCC-9.2.0 2019.7.217 iccifort/2020.1.217, iccifortcuda/2020a 2019.9.304 iccifort/2020.4.304, iccifortcuda/2020b 2019.12.320 iccifort/2020.4.304 2021.1.1 intel-compilers/2021.1.2 2021.2.0 intel-compilers/2021.2.0 2021.3.0 intel-compilers/2021.3.0 2021.4.0 intel-compilers/2021.4.0 2021.5.0 intel-compilers/2022.0.1 2021.6.0 intel-compilers/2022.1.0 2021.7.0 intel-compilers/2022.2.0 2021.7.1 intel-compilers/2022.2.1 2021.8.0 intel-compilers/2023.0.0 2021.9.0 intel-compilers/2023.1.0 system iccifort/system-GCC-system-2.29"},{"location":"version-specific/supported-software/#impute2","title":"IMPUTE2","text":"

            IMPUTE version 2 (also known as IMPUTE2) is a genotype imputation and haplotype phasing program based on ideas from Howie et al. 2009

            homepage: http://mathgen.stats.ox.ac.uk/impute/impute_v2.html

            version versionsuffix toolchain 2.3.0 _x86_64_dynamic system 2.3.0 _x86_64_static system 2.3.2 _x86_64_dynamic system 2.3.2 _x86_64_static system"},{"location":"version-specific/supported-software/#inchi","title":"InChI","text":"

            The IUPAC International Chemical Identifier (InChI TM) is a non-proprietary identifier for chemical substances that can be used in printed and electronic data sources thus enabling easier linking of diverse data compilations.

            homepage: https://www.inchi-trust.org/

            version toolchain 1.06 GCC/10.3.0"},{"location":"version-specific/supported-software/#indicators","title":"indicators","text":"
            • Thread-safe progress bars and spinners - Header-only library. Grab a copy of include/indicators. - Single-header version in single_include/indicators.

            homepage: https://github.com/p-ranav/indicators

            version toolchain 2.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#inelastica","title":"Inelastica","text":"

            Python package for eigenchannels, vibrations and inelastic electron transport based on SIESTA/TranSIESTA DFT.

            homepage: https://github.com/tfrederiksen/inelastica

            version versionsuffix toolchain 1.3.5 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#infercnv","title":"inferCNV","text":"

            InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence for somatic large-scale chromosomal copy number alterations, such as gains or deletions of entire chromosomes or large segments of chromosomes.

            homepage: https://github.com/broadinstitute/inferCNV/wiki

            version versionsuffix toolchain 1.0.4 -Python-3.7.2-R-3.6.0 foss/2019a 1.2.1 -Python-3.7.4 foss/2019b 1.3.3 foss/2020b, foss/2021a 1.3.3 -Python-3.8.2 foss/2020a 1.10.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#infercnvpy","title":"infercnvpy","text":"

            Infer copy number variation (CNV) from scRNA-seq data. Plays nicely with Scanpy.

            homepage: https://github.com/icbi-lab/infercnvpy

            version toolchain 0.4.0 foss/2021b 0.4.2 foss/2022a"},{"location":"version-specific/supported-software/#inferelator","title":"Inferelator","text":"

            Inferelator 3.0 is a package for gene regulatory network inference that is based on regularized regression.

            homepage: https://github.com/flatironinstitute/inferelator

            version toolchain 0.6.1 foss/2022a"},{"location":"version-specific/supported-software/#infernal","title":"Infernal","text":"

            Infernal (\"INFERence of RNA ALignment\") is for searching DNA sequence databases for RNA structure and sequence similarities.

            homepage: http://eddylab.org/infernal/

            version toolchain 1.1.2 foss/2016b, foss/2018b, intel/2017a, intel/2018b 1.1.4 foss/2020b, foss/2021a, foss/2021b, foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#infomap","title":"Infomap","text":"

            Multi-level network clustering based on the Map equation.

            homepage: https://www.mapequation.org/code.html#Linux

            version toolchain 20190308 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#inline","title":"inline","text":"

            Functionality to dynamically define R functions and S4 methods with 'inlined' C, C++ or Fortran code supporting the .C and .Call calling conventions.

            homepage: https://cran.r-project.org/web/packages/inline

            version versionsuffix toolchain 0.3.19 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#inparanoid","title":"InParanoid","text":"

            InParanoid: ortholog groups with inparalogs.

            homepage: https://inparanoid.sbc.su.se

            version toolchain 5.0-20220607 GCC/10.3.0"},{"location":"version-specific/supported-software/#inputproto","title":"inputproto","text":"

            X.org InputProto protocol headers.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 2.3.1 foss/2016a, gimkl/2.11.5, intel/2016a 2.3.2 intel/2016a"},{"location":"version-specific/supported-software/#inspector","title":"Inspector","text":"

            Intel Inspector is a dynamic memory and threading error checking tool for users developing serial and parallel applications

            homepage: https://software.intel.com/en-us/inspector

            version toolchain 2013_update6 system 2013_update7 system 2016_update3 system 2017_update1 system 2017_update2 system 2018_update1 system 2018_update2 system 2018_update3 system 2019_update2 system 2019_update5 system 2021.4.0 system 2022.0.0 system 2022.1.0 system"},{"location":"version-specific/supported-software/#intarna","title":"IntaRNA","text":"

            Efficient RNA-RNA interaction prediction incorporating accessibility and seeding of interaction sites

            homepage: https://github.com/BackofenLab/IntaRNA

            version versionsuffix toolchain 2.3.1 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#integrate","title":"INTEGRATE","text":"

            INTEGRATE is a tool calling gene fusions with exact fusion junctions and genomic breakpoints by combining RNA-Seq and WGS data. It is highly sensitive and accurate by applying a fast split-read mapping algorithm based on Burrow-Wheeler transform.

            homepage: https://sourceforge.net/p/integrate-fusion/wiki/Home/

            version toolchain 0.2.6 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#integrate-neo","title":"INTEGRATE-Neo","text":"

            INTEGRATE-Neo is a gene fusion neoantigen discovering tool using next-generation sequencing data. It is written in C++ and Python.

            homepage: <>

            version versionsuffix toolchain 1.2.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#intel","title":"intel","text":"

            Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL).

            homepage: https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain

            version versionsuffix toolchain 2016.00 system 2016.01 system 2016.02 -GCC-4.9 system 2016.02 -GCC-5.3 system 2016.03 -GCC-4.9 system 2016.03 -GCC-5.3 system 2016.03 -GCC-5.4 system 2016a system 2016b system 2017.00 system 2017.01 system 2017.02 system 2017.09 system 2017a system 2017b system 2018.00 system 2018.01 system 2018.02 system 2018.04 system 2018a system 2018b system 2019.00 system 2019.01 system 2019.02 system 2019.03 system 2019a system 2019b system 2020.00 system 2020.06-impi-18.5 system 2020.12 system 2020a system 2020b system 2021a system 2021b system 2022.00 system 2022.05 system 2022.09 system 2022.11 system 2022.12 system 2022a system 2022b system 2023.03 system 2023a system"},{"location":"version-specific/supported-software/#intel-compilers","title":"intel-compilers","text":"

            Intel C, C++ & Fortran compilers (classic and oneAPI)

            homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html

            version toolchain 2021.1.2 system 2021.2.0 system 2021.3.0 system 2021.4.0 system 2022.0.1 system 2022.0.2 system 2022.1.0 system 2022.2.0 system 2022.2.1 system 2023.0.0 system 2023.1.0 system"},{"location":"version-specific/supported-software/#intelclusterchecker","title":"IntelClusterChecker","text":"

            Intel Cluster Checker verifies the configuration and performance of Linux OS-based clusters. Anomalies and performance differences can be identified and practical resolutions provided.

            homepage: https://software.intel.com/en-us/cluster-checker

            version toolchain 2017.1.016 system 2021.5.0 system"},{"location":"version-specific/supported-software/#intelcuda","title":"intelcuda","text":"

            Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI & Intel MKL, with CUDA toolkit

            homepage: <(none)>

            version toolchain 2016.10 system 2017b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#inteldaal","title":"IntelDAAL","text":"

            Intel\u00ae Data Analytics Acceleration Library (Intel\u00ae DAAL) is the library of Intel\u00ae architecture optimized building blocks covering all stages of data analytics: data acquisition from a data source, preprocessing, transformation, data mining, modeling, validation, and decision making.

            homepage: https://software.intel.com/en-us/daal

            version toolchain 2019.4.007 system"},{"location":"version-specific/supported-software/#intelpython","title":"IntelPython","text":"

            Intel\u00ae Distribution for Python. Powered by Anaconda. Accelerating Python* performance on modern architectures from Intel.

            homepage: https://software.intel.com/en-us/intel-distribution-for-python

            version versionsuffix toolchain 2.7.15 -2019.2.066 system 3.6.8 -2019.2.066 system"},{"location":"version-specific/supported-software/#interproscan","title":"InterProScan","text":"

            InterProScan is a sequence analysis application (nucleotide and protein sequences) that combines different protein signature recognition methods into one resource [code only: libraries and external binaries but no data].

            homepage: https://www.ebi.ac.uk/interpro/

            version toolchain 5.26-65.0 intel/2017b 5.27-66.0 intel/2017b 5.28-67.0 intel/2018a 5.52-86.0 GCCcore/10.3.0 5.55-88.0 foss/2021a 5.62-94.0 foss/2022b"},{"location":"version-specific/supported-software/#interproscan_data","title":"InterProScan_data","text":"

            InterProScan is a sequence analysis application (nucleotide and protein sequences) that combines different protein signature recognition methods into one resource [data only].

            homepage: https://www.ebi.ac.uk/interpro/

            version toolchain 5.55-88.0 foss/2021a"},{"location":"version-specific/supported-software/#intervaltree","title":"intervaltree","text":"

            An interval tree can be used to efficiently find a set of numeric intervals overlapping or containing another interval. This library provides a basic implementation of an interval tree using C++ templates, allowing the insertion of arbitrary types into the tree.

            homepage: https://github.com/ekg/intervaltree

            version toolchain 0.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#intervaltree-python","title":"intervaltree-python","text":"

            A mutable, self-balancing interval tree. Queries may be by point, by range overlap, or by range containment.

            homepage: https://github.com/chaimleib/intervaltree

            version versionsuffix toolchain 3.0.2 -Python-3.6.6 foss/2018b 3.1.0 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#intltool","title":"intltool","text":"

            intltool is a set of tools to centralize translation of many different file formats using GNU gettext-compatible PO files.

            homepage: http://freedesktop.org/wiki/Software/intltool/

            version versionsuffix toolchain 0.51.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.51.0 -Perl-5.20.3 intel/2016a 0.51.0 -Perl-5.22.1 foss/2016a, intel/2016a 0.51.0 -Perl-5.24.0 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, gimkl/2017a, intel/2016b 0.51.0 -Perl-5.24.1 GCCcore/6.3.0, intel/2017a 0.51.0 -Perl-5.26.0 GCCcore/6.4.0 0.51.0 -Perl-5.26.1 GCCcore/6.4.0 0.51.0 -Perl-5.28.0 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#io_lib","title":"io_lib","text":"

            Io_lib is a library of file reading and writing code to provide a general purpose trace file (and Experiment File) reading interface. The programmer simply calls the (eg) read_reading to create a \"Read\" C structure with the data loaded into memory. It has been compiled and tested on a variety of unix systems, MacOS X and MS Windows.

            homepage: http://sourceforge.net/projects/staden/files/io_lib/

            version toolchain 1.14.8 foss/2016a"},{"location":"version-specific/supported-software/#ioapi","title":"ioapi","text":"

            The Models-3/EDSS Input/Output Applications Programming Interface (I/O API) provides the environmental model developer with an easy-to-learn, easy-to-use programming library for data storage and access, available from both Fortran and C. The same routines can be used for both file storage (using netCDF files) and model coupling (using PVM mailboxes). It is the standard data access library for both the NCSC/CMAS's EDSS project and EPA's Models-3, CMAQ, and SMOKE, as well as various other atmospheric and hydrological modeling systems.

            homepage: https://www.cmascenter.org/ioapi/

            version versionsuffix toolchain 3.2-2020111 -nocpl gompi/2019b"},{"location":"version-specific/supported-software/#iodata","title":"iodata","text":"

            Python library for reading, writing, and converting computational chemistry file formats and generating input files.

            homepage: https://github.com/theochem/iodata

            version toolchain 1.0.0a2 intel/2022a"},{"location":"version-specific/supported-software/#iomkl","title":"iomkl","text":"

            Compiler toolchain including Intel compilers, Open MPI and Intel Math Kernel Library (MKL).

            homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html

            version toolchain 2016.07 system 2016.09-GCC-4.9.3-2.25 system 2016.09-GCC-5.4.0-2.26 system 2017.01 system 2017a system 2017b system 2018.02 system 2018a system 2018b system 2019.01 system 2019b system 2020a system 2020b system 2021a system 2021b system"},{"location":"version-specific/supported-software/#iompi","title":"iompi","text":"

            Intel C/C++ and Fortran compilers, alongside Open MPI.

            homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html

            version toolchain 2016.07 system 2016.09-GCC-4.9.3-2.25 system 2016.09-GCC-5.4.0-2.26 system 2017.01 system 2017a system 2017b system 2018.02 system 2018a system 2018b system 2019.01 system 2019b system 2020a system 2020b system 2021a system 2021b system"},{"location":"version-specific/supported-software/#ior","title":"IOR","text":"

            The IOR software is used for benchmarking parallel file systems using POSIX, MPIIO, or HDF5 interfaces.

            homepage: https://github.com/hpc/ior

            version versionsuffix toolchain 3.0.1 -mpiio foss/2016a 3.2.1 gompi/2019b 3.3.0 gompi/2020b, gompi/2021a, gompi/2022a"},{"location":"version-specific/supported-software/#iozone","title":"IOzone","text":"

            IOzone is a filesystem benchmark tool. The benchmark generates and measures a variety of file operations. Iozone has been ported to many machines and runs under many operating systems.

            homepage: http://www.iozone.org/

            version toolchain 3.434 foss/2016a"},{"location":"version-specific/supported-software/#ipm","title":"IPM","text":"

            IPM is a portable profiling infrastructure for parallel codes. It provides a low-overhead profile of application performance and resource utilization in a parallel program. Communication, computation, and IO are the primary focus.

            homepage: https://github.com/nerscadmin/IPM

            version toolchain 2.0.6 gompi/2019b, gompi/2020a, iimpi/2019b, iimpi/2020a, iompi/2020a"},{"location":"version-specific/supported-software/#ipopt","title":"Ipopt","text":"

            IPOPT (Interior Point Optimizer, pronounced Eye-Pea-Opt) is an open source software package for large-scale nonlinear optimization.

            homepage: https://projects.coin-or.org/Ipopt

            version toolchain 3.12.9 foss/2017b 3.12.13 intel/2019a"},{"location":"version-specific/supported-software/#ipp","title":"ipp","text":"

            Intel Integrated Performance Primitives (Intel IPP) is an extensive library of multicore-ready, highly optimized software functions for multimedia, data processing, and communications applications. Intel IPP offers thousands of optimized functions covering frequently used fundamental algorithms.

            homepage: https://software.intel.com/en-us/articles/intel-ipp/

            version toolchain 7.0.5.233 system 8.1.0.144 system 9.0.1.150 system 2017.1.132 system"},{"location":"version-specific/supported-software/#ipy","title":"IPy","text":"

            Class and tools for handling of IPv4 and IPv6 addresses and networks

            homepage: https://pypi.python.org/pypi/IPy

            version toolchain 0.83 system"},{"location":"version-specific/supported-software/#ipympl","title":"ipympl","text":"

            Leveraging the Jupyter interactive widgets framework, ipympl enables the interactive features of matplotlib in the Jupyter notebook and in JupyterLab. Besides, the figure canvas element is a proper Jupyter interactive widget which can be positioned in interactive widget layouts.

            homepage: https://matplotlib.org/ipympl

            version toolchain 0.9.3 foss/2022a"},{"location":"version-specific/supported-software/#ipyparallel","title":"ipyparallel","text":"

            ipyparallel is a Python package and collection of CLI scripts for controlling clusters for Jupyter

            homepage: https://ipyparallel.readthedocs.io

            version versionsuffix toolchain 6.2.2 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#ipyrad","title":"ipyrad","text":"

            ipyrad is an interactive toolkit for assembly and analysis of restriction-site associated genomic data sets (e.g., RAD, ddRAD, GBS) for population genetic and phylogenetic studies.

            homepage: https://ipyrad.readthedocs.io

            version versionsuffix toolchain 0.6.15 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#ipython","title":"IPython","text":"

            IPython provides a rich architecture for interactive computing with: Powerful interactive shells (terminal and Qt-based). A browser-based notebook with support for code, text, mathematical expressions, inline plots and other rich media. Support for interactive data visualization and use of GUI toolkits. Flexible, embeddable interpreters to load into your own projects. Easy to use, high performance tools for parallel computing.

            homepage: https://ipython.org/index.html

            version versionsuffix toolchain 3.2.3 -Python-2.7.11 foss/2016a, intel/2016a 4.2.0 -Python-2.7.11 intel/2016a 5.0.0 -Python-2.7.11 foss/2016a 5.0.0 -Python-3.5.1 foss/2016a 5.1.0 -Python-2.7.12 foss/2016b, intel/2016b 5.1.0 -Python-3.5.2 intel/2016b 5.2.2 -Python-2.7.12 intel/2016b 5.3.0 -Python-2.7.13 intel/2017a 5.7.0 -Python-2.7.14 foss/2018a, intel/2018a 5.8.0 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 5.8.0 -Python-2.7.15 foss/2018b, foss/2019a, fosscuda/2018b, fosscuda/2019a, intel/2018b 5.8.0 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 5.10.0 -Python-2.7.18 foss/2021b 6.2.1 -Python-3.6.4 foss/2017a 6.3.1 -Python-3.6.4 intel/2018a 6.4.0 -Python-3.6.4 foss/2018a 7.2.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 7.7.0 -Python-3.7.2 foss/2019a, fosscuda/2019a, intel/2019a 7.9.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 7.13.0 -Python-3.8.2 foss/2020a, intel/2020a 7.15.0 -Python-3.8.2 foss/2020a, intel/2020a 7.18.1 GCCcore/10.2.0 7.25.0 GCCcore/10.3.0 7.26.0 GCCcore/11.2.0 8.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#iq-tree","title":"IQ-TREE","text":"

            Efficient phylogenomic software by maximum likelihood

            homepage: http://www.iqtree.org/

            version versionsuffix toolchain 1.5.5 -omp-mpi foss/2016a 1.6.6 intel/2018a 1.6.12 foss/2018b, foss/2020a, intel/2019b 2.1.2 foss/2020a, gompi/2020b 2.1.3 gompi/2021a 2.2.1 gompi/2021b 2.2.2.3 gompi/2022a 2.2.2.6 gompi/2022a, gompi/2022b"},{"location":"version-specific/supported-software/#iris","title":"Iris","text":"

            A module for improving the insertion sequences of structural variant calls

            homepage: https://github.com/mkirsche/Iris

            version versionsuffix toolchain 1.0.5 -Java-15 GCC/11.2.0"},{"location":"version-specific/supported-software/#irkernel","title":"IRkernel","text":"

            The R kernel for the 'Jupyter' environment executes R code which the front-end (Jupyter Notebook or other front-ends) submits to the kernel via the network.

            homepage: https://irkernel.github.io

            version versionsuffix toolchain 0.8.15 -R-3.4.3-Python-2.7.14 foss/2017b, intel/2017b 1.1 -R-3.6.2-Python-3.7.4 foss/2019b, fosscuda/2019b 1.1 -R-3.6.3-Python-3.8.2 foss/2020a 1.2 -R-4.0.0-Python-3.8.2 foss/2020a 1.2 -R-4.1.0 foss/2021a 1.3 -R-4.2.0 foss/2021b 1.3.2 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#irodsfs","title":"irodsfs","text":"

            FUSE implementation of iRODS Client written in Golang.

            homepage: https://github.com/cyverse/irodsfs

            version versionsuffix toolchain 0.8.9 -linux-amd64 system 0.8.11 -linux-amd64 system 0.8.12 -linux-amd64 system"},{"location":"version-specific/supported-software/#ironpython","title":"IronPython","text":"

            IronPython is an open-source implementation of the Python programming language which is tightly integrated with the .NET Framework. IronPython can use the .NET Framework and Python libraries, and other .NET languages can use Python code just as easily.

            homepage: http://ironpython.net/

            version toolchain 2.7 intel/2016b"},{"location":"version-specific/supported-software/#isa-l","title":"ISA-L","text":"

            Intelligent Storage Acceleration Library

            homepage: https://github.com/intel/isa-l

            version toolchain 2.30.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#isl","title":"ISL","text":"

            isl is a library for manipulating sets and relations of integer points bounded by linear constraints.

            homepage: http://isl.gforge.inria.fr/

            version toolchain 0.14 GCC/4.9.2 0.15 GCC/4.9.3-2.25, GNU/4.9.3-2.25, foss/2016a 0.16 GCC/4.9.3-2.25 0.17 foss/2016a 0.23 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 0.24 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#isocirc","title":"isoCirc","text":"

            isoCirc: computational pipeline to identify high-confidence BSJs and full-length circRNA isoforms from isoCirc long-read data

            homepage: https://github.com/Xinglab/isoCirc

            version toolchain 1.0.4 foss/2020b"},{"location":"version-specific/supported-software/#isonet","title":"IsoNet","text":"

            IsoNet stands for for ISOtropic reconstructioN of Electron Tomography. It trains deep convolutional neural networks to reconstruct meaningful contents in the mis sing wedge for electron tomography, and to increase signal-to-noise ratio, using the information learned from the original tomogram. The software requires tomograms as input. Observing at about 30A resolution, the IsoNet generated tomograms are largely isotropic.

            homepage: https://github.com/Heng-Z/IsoNet

            version toolchain 0.1_20210822_04_674f67f fosscuda/2020b"},{"location":"version-specific/supported-software/#isoseq","title":"IsoSeq","text":"

            IsoSeq v3 contains the newest tools to identify transcripts in PacBio single-molecule sequencing data. Starting in SMRT Link v6.0.0, those tools power the IsoSeq GUI-based analysis application. A composable workflow of existing tools and algorithms, combined with a new clustering technique, allows to process the ever-increasing yield of PacBio machines with similar performance to IsoSeq versions 1 and 2. Starting with version 3.4, support for UMI and cell barcode based deduplication has been added.

            homepage: https://github.com/PacificBiosciences/ioseq3

            version versionsuffix toolchain 3.8.2 -linux-x86_64 system"},{"location":"version-specific/supported-software/#ispc","title":"ispc","text":"

            Intel SPMD Program Compilers; An open-source compiler for high-performance SIMD programming on the CPU. ispc is a compiler for a variant of the C programming language, with extensions for 'single program, multiple data' (SPMD) programming. Under the SPMD model, the programmer writes a program that generally appears to be a regular serial program, though the execution model is actually that a number of program instances execute in parallel on the hardware.

            homepage: http://ispc.github.io/ , https://github.com/ispc/ispc/

            version toolchain 1.6.0 system 1.10.0 system 1.12.0 system 1.16.0 system"},{"location":"version-specific/supported-software/#itac","title":"itac","text":"

            The Intel Trace Collector is a low-overhead tracing library that performs event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application activities gathered by the Intel Trace Collector through graphical displays.

            homepage: https://software.intel.com/en-us/intel-trace-analyzer/

            version toolchain 8.0.0.011 system 8.1.4.045 system 9.0.3.051 system 2017.1.024 system 2018.1.017 system 2018.3.022 system 2019.2.026 system 2019.4.036 system 2021.2.0 system 2021.5.0 system 2021.6.0 system"},{"location":"version-specific/supported-software/#itk","title":"ITK","text":"

            Insight Segmentation and Registration Toolkit (ITK) provides an extensive suite of software tools for registering and segmenting multidimensional imaging data.

            homepage: https://itk.org

            version versionsuffix toolchain 4.12.2 -Python-2.7.12 foss/2016b 4.13.0 -Python-2.7.14 foss/2018a 4.13.0 -Python-3.6.4 foss/2018a 4.13.1 -Python-2.7.14 foss/2018a 4.13.1 -Python-2.7.15 foss/2018b 4.13.1 -Python-3.6.4 foss/2018a 4.13.1 -Python-3.6.6 foss/2018b 4.13.1 -Python-3.7.4 foss/2019b 5.0.1 -Python-3.7.2 foss/2019a 5.0.1 -Python-3.7.4 foss/2019b 5.0b01 -Python-3.6.6 foss/2018b 5.1.2 foss/2020a, fosscuda/2020a 5.1.2 -Python-3.8.2 foss/2020a, fosscuda/2020a 5.2.1 foss/2020b, foss/2021a, foss/2021b, foss/2022a, fosscuda/2020b"},{"location":"version-specific/supported-software/#itpp","title":"itpp","text":"

            IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simulation of communication systems and for performing research in the area of communications.

            homepage: https://sourceforge.net/projects/itpp/

            version toolchain 4.3.1 foss/2019b"},{"location":"version-specific/supported-software/#itstool","title":"ITSTool","text":"

            ITS Tool allows you to translate your XML documents with PO files

            homepage: http://itstool.org/

            version versionsuffix toolchain 2.0.5 -Python-2.7.14 intel/2018a 2.0.5 -Python-2.7.15 foss/2018b 2.0.6 -Python-3.7.2 GCCcore/8.2.0 2.0.7 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#itsx","title":"ITSx","text":"

            ITSx: Improved software detection and extraction of ITS1 and ITS2 from ribosomal ITS sequences of fungi and other eukaryotes for use in environmental sequencing.

            homepage: https://microbiology.se/software/itsx/

            version toolchain 1.1.2 GCCcore/9.3.0 1.1.3 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ivar","title":"iVar","text":"

            iVar is a computational package that contains functions broadly useful for viral amplicon-based sequencing.

            homepage: https://github.com/andersen-lab/ivar

            version toolchain 1.0.1 foss/2018b 1.3.1 GCC/10.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#j","title":"J","text":"

            JAGS - Jansson - Jasmine - JasPer - Java - JavaFX - jax - JAXFrontCE - jbigkit - Jellyfish - jemalloc - jhbuild - JiTCODE - jModelTest - Jorg - joypy - jq - json-c - json-fortran - JSON-GLib - JsonCpp - JUBE - Judy - Julia - JUnit - jupyter-contrib-nbextensions - jupyter-matlab-proxy - jupyter-resource-usage - jupyter-server - jupyter-server-proxy - JupyterHub - JupyterLab - jupyterlab-lmod - jupyterlmod - JWM - jxrlib

            "},{"location":"version-specific/supported-software/#jags","title":"JAGS","text":"

            JAGS is Just Another Gibbs Sampler. It is a program for analysis of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation

            homepage: http://mcmc-jags.sourceforge.net/

            version toolchain 4.2.0 foss/2016a, intel/2016a, intel/2017a 4.3.0 foss/2017b, foss/2018b, foss/2019a, foss/2019b, foss/2020a, foss/2020b, foss/2021a, foss/2021b, fosscuda/2020b, intel/2017b 4.3.1 foss/2022a 4.3.2 foss/2022b"},{"location":"version-specific/supported-software/#jansson","title":"Jansson","text":"

            Jansson is a C library for encoding, decoding and manipulating JSON data. Its main features and design principles are: * Simple and intuitive API and data model * Comprehensive documentation * No dependencies on other libraries * Full Unicode support (UTF-8) * Extensive test suite

            homepage: http://www.digip.org/jansson/

            version toolchain 2.6 GCC/4.8.3 2.13.1 GCC/10.2.0, GCC/11.2.0 2.14 GCC/11.3.0"},{"location":"version-specific/supported-software/#jasmine","title":"Jasmine","text":"

            SV Merging Across Samples

            homepage: https://github.com/mkirsche/Jasmine

            version versionsuffix toolchain 1.1.4 -Java-15 GCC/11.2.0"},{"location":"version-specific/supported-software/#jasper","title":"JasPer","text":"

            The JasPer Project is an open-source initiative to provide a free software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.

            homepage: https://www.ece.uvic.ca/~frodo/jasper/

            version toolchain 1.900.1 GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/8.2.0, foss/2016a, foss/2016b, foss/2017a, intel/2016a, intel/2016b, intel/2017a 2.0.10 intel/2016b 2.0.12 GCCcore/6.4.0, foss/2016b, intel/2017a 2.0.14 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.0.16 GCCcore/9.3.0 2.0.24 GCCcore/10.2.0 2.0.28 GCCcore/10.3.0 2.0.33 GCCcore/11.2.0, GCCcore/11.3.0 4.0.0 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#java","title":"Java","text":"

            Java Platform, Standard Edition (Java SE) lets you develop and deploy Java applications on desktops and servers.

            homepage: https://java.com/

            version versionsuffix toolchain 1.6.0_24 system 1.7.0_10 system 1.7.0_15 system 1.7.0_21 system 1.7.0_40 system 1.7.0_45 system 1.7.0_60 system 1.7.0_75 system 1.7.0_76 system 1.7.0_79 system 1.7.0_80 system 1.8 system 1.8.0_20 system 1.8.0_25 system 1.8.0_31 system 1.8.0_40 system 1.8.0_45 system 1.8.0_60 system 1.8.0_65 system 1.8.0_66 system 1.8.0_72 system 1.8.0_74 system 1.8.0_77 system 1.8.0_92 system 1.8.0_112 system 1.8.0_121 system 1.8.0_131 system 1.8.0_141 system 1.8.0_144 system 1.8.0_152 system 1.8.0_162 system 1.8.0_172 system 1.8.0_181 system 1.8.0_192 system 1.8.0_202 system 1.8.0_212 system 1.8.0_221 system 1.8.0_231 system 1.8.0_241 system 1.8.0_271 system 1.8.0_281 system 1.8.0_292 -OpenJDK system 1.8.0_311 system 1.8_191 -b26-OpenJDK system 1.8_265 -b01-OpenJDK-aarch64 system 1.9.0.4 system 8 system 8.345 system 8.362 system 11 system 11.0.2 system 11.0.6 -ppc64le system 11.0.8 -aarch64 system 11.0.16 system 11.0.18 system 13 system 13.0.2 system 15 system 15.0.1 system 16 system 16.0.1 system 17 system 17.0.1 system 17.0.2 system 17.0.4 system 17.0.6 system"},{"location":"version-specific/supported-software/#javafx","title":"JavaFX","text":"

            OpenJFX is an open source, next generation client application platform for desktop, mobile and embedded systems built on Java

            homepage: https://openjfx.io/

            version versionsuffix toolchain 11.0.2 _linux-x64_bin-sdk system"},{"location":"version-specific/supported-software/#jax","title":"jax","text":"

            Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more

            homepage: https://pypi.python.org/pypi/jax

            version versionsuffix toolchain 0.2.19 foss/2020b, fosscuda/2020b 0.2.20 foss/2021a 0.2.24 foss/2021a 0.2.24 -CUDA-11.3.1 foss/2021a 0.3.9 foss/2021a 0.3.9 -CUDA-11.3.1 foss/2021a 0.3.14 -CUDA-11.7.0 foss/2022a 0.3.23 foss/2022a 0.3.23 -CUDA-11.4.1 foss/2021b 0.3.25 foss/2022a 0.3.25 -CUDA-11.7.0 foss/2022a 0.4.4 foss/2022a 0.4.4 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#jaxfrontce","title":"JAXFrontCE","text":"

            JAXFront is a technology to generate graphical user interfaces on multiple channels (Java Swing, HTML, PDF) on the basis of an XML schema.

            homepage: http://www.jaxfront.org/pages/free_community_edition.html

            version toolchain 2.75 system"},{"location":"version-specific/supported-software/#jbigkit","title":"jbigkit","text":"

            JBIG-KIT is a software implementation of the JBIG1 data compression standard (ITU-T T.82), which was designed for bi-level image data, such as scanned documents.

            homepage: https://www.cl.cam.ac.uk/~mgk25/jbigkit/

            version toolchain 2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#jellyfish","title":"Jellyfish","text":"

            Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA.

            homepage: http://www.genome.umd.edu/jellyfish.html

            version toolchain 1.1.11 foss/2016a, foss/2016b 1.1.12 foss/2018b, intel/2018a 2.2.6 foss/2016b, intel/2017a 2.2.10 foss/2018b, intel/2018a 2.3.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/8.2.0-2.31.1, GCC/8.3.0"},{"location":"version-specific/supported-software/#jemalloc","title":"jemalloc","text":"

            jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support.

            homepage: http://jemalloc.net

            version toolchain 4.1.0 intel/2016a 4.2.0 foss/2016a, intel/2016a 4.2.1 intel/2016b 4.5.0 intel/2017a 5.0.1 GCCcore/6.4.0 5.1.0 GCCcore/7.3.0 5.2.0 GCCcore/8.2.0 5.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0 5.3.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#jhbuild","title":"jhbuild","text":"

            JHBuild allows you to automatically download and compile \u201cmodules\u201d (i.e. source code packages). Modules are listed in \u201cmodule set\u201d files, which also include dependency information so that JHBuild can discover what modules need to be built and in what order.

            homepage: https://wiki.gnome.org/action/show/Projects/Jhbuild

            version toolchain 3.15.92 GCCcore/4.9.3"},{"location":"version-specific/supported-software/#jitcode","title":"JiTCODE","text":"

            Just-in-time compilation for ordinary/delay/stochastic differential equations (DDEs)

            homepage: https://jitcde-common.readthedocs.io

            version versionsuffix toolchain 1.3.2 -Python-3.6.4 intel/2018a 1.4.0 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#jmodeltest","title":"jModelTest","text":"

            jModelTest is a tool to carry out statistical selection of best-fit models of nucleotide substitution.

            homepage: https://github.com/ddarriba/jmodeltest2

            version versionsuffix toolchain 2.1.10r20160303 -Java-1.8.0_92 system"},{"location":"version-specific/supported-software/#jorg","title":"Jorg","text":"

            A MAG Circularization Method By Lauren Lui, Torben Nielsen, and Adam Arkin

            homepage: https://github.com/lmlui/Jorg

            version toolchain 1.0.1 foss/2020b"},{"location":"version-specific/supported-software/#joypy","title":"joypy","text":"

            Joyplots in Python with matplotlib & pandas

            homepage: https://github.com/sbebo/joypy

            version versionsuffix toolchain 0.2.2 -Python-3.7.4 intel/2019b 0.2.4 intel/2020b"},{"location":"version-specific/supported-software/#jq","title":"jq","text":"

            jq is a lightweight and flexible command-line JSON processor.

            homepage: https://stedolan.github.io/jq/

            version toolchain 1.5 GCCcore/10.2.0, GCCcore/6.4.0 1.6 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#json-c","title":"json-c","text":"

            JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON objects.

            homepage: https://github.com/json-c/json-c

            version toolchain 0.15 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 0.16 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#json-fortran","title":"json-fortran","text":"

            JSON-Fortran: A Modern Fortran JSON API

            homepage: https://github.com/jacobwilliams/json-fortran

            version toolchain 8.3.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#json-glib","title":"JSON-GLib","text":"

            JSON-GLib implements a full JSON parser and generator using GLib and GObject, and integrates JSON with GLib data types.

            homepage: https://wiki.gnome.org/Projects/JsonGlib

            version toolchain 1.6.2 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#jsoncpp","title":"JsonCpp","text":"

            JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also preserve existing comment in unserialization/serialization steps, making it a convenient format to store user input files.

            homepage: https://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html

            version toolchain 0.10.7 GCCcore/8.2.0 1.9.3 GCCcore/8.3.0 1.9.4 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 1.9.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jube","title":"JUBE","text":"

            The JUBE benchmarking environment provides a script based framework to easily create benchmark sets, run those sets on different computer systems and evaluate the results.

            homepage: https://www.fz-juelich.de/jsc/jube

            version toolchain 2.0.3 system 2.0.4 system 2.0.5 system 2.4.0 system 2.4.1 system 2.4.2 system"},{"location":"version-specific/supported-software/#judy","title":"Judy","text":"

            A C library that implements a dynamic array.

            homepage: http://judy.sourceforge.net/

            version toolchain 1.0.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/8.2.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#julia","title":"Julia","text":"

            Julia is a high-level, high-performance dynamic programming language for numerical computing

            homepage: https://julialang.org

            version versionsuffix toolchain 1.1.1 -linux-x86_64 system 1.2.0 -linux-x86_64 system 1.3.1 -linux-x86_64 system 1.4.0 -linux-x86_64 system 1.4.1 -linux-x86_64 system 1.4.2 -linux-x86_64 system 1.5.1 -linux-x86_64 system 1.5.3 -linux-x86_64 system 1.6.1 -linux-x86_64 system 1.6.2 -linux-x86_64 system 1.6.4 -linux-x86_64 system 1.6.5 -linux-x86_64 system 1.6.6 -linux-x86_64 system 1.6.7 -linux-x86_64 system 1.7.0 -linux-x86_64 system 1.7.1 -linux-x86_64 system 1.7.2 -linux-x86_64 system 1.7.3 -linux-x86_64 system 1.8.0 -linux-x86_64 system 1.8.2 -linux-x86_64 system 1.8.5 -linux-x86_64 system 1.9.0 -linux-x86_64 system"},{"location":"version-specific/supported-software/#junit","title":"JUnit","text":"

            A programmer-oriented testing framework for Java.

            homepage: http://sourceforge.net/projects/junit

            version versionsuffix toolchain 4.10 -Java-1.7.0_10 system 4.10 -Java-1.7.0_21 system 4.11 -Java-1.7.0_15 system 4.11 -Java-1.7.0_21 system 4.11 -Java-1.7.0_60 system 4.11 -Java-1.7.0_75 system 4.11 -Java-1.7.0_79 system 4.12 -Java-1.7.0_80 system 4.12 -Java-1.8 system 4.12 -Java-1.8.0_112 system 4.12 -Java-1.8.0_121 system 4.12 -Java-1.8.0_144 system 4.12 -Java-1.8.0_152 system 4.12 -Java-1.8.0_162 system 4.12 -Java-1.8.0_66 system 4.12 -Java-1.8.0_72 system 4.12 -Java-1.8.0_77 system 4.12 -Java-1.8.0_92 system"},{"location":"version-specific/supported-software/#jupyter-contrib-nbextensions","title":"jupyter-contrib-nbextensions","text":"

            A collection of various notebook extensions for Jupyter

            homepage: https://github.com/ipython-contrib/jupyter_contrib_nbextensions

            version toolchain 0.7.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyter-matlab-proxy","title":"jupyter-matlab-proxy","text":"

            MATLAB Integration for Jupyter

            homepage: https://github.com/mathworks/jupyter-matlab-proxy

            version toolchain 0.3.4 GCCcore/10.3.0 0.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyter-resource-usage","title":"jupyter-resource-usage","text":"

            Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)

            homepage: https://github.com/jupyter-server/jupyter-resource-usage

            version toolchain 0.6.1 GCCcore/10.3.0 0.6.2 GCCcore/10.3.0 0.6.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyter-server","title":"jupyter-server","text":"

            The Jupyter Server provides the backend (i.e. the core services, APIs, and REST endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and Voila.

            homepage: https://jupyter.org/

            version toolchain 1.21.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyter-server-proxy","title":"jupyter-server-proxy","text":"

            Jupyter Server Proxy lets you run arbitrary external processes (such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) alongside your notebook server and provide authenticated web access to them using a path like /rstudio next to others like /lab. Alongside the python package that provides the main functionality, the JupyterLab extension (@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window to get to RStudio for example.

            homepage: https://github.com/jupyterhub/jupyter-server-proxy

            version toolchain 3.2.1 GCCcore/10.3.0 3.2.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyterhub","title":"JupyterHub","text":"

            JupyterHub is a multiuser version of the Jupyter (IPython) notebook designed for centralized deployments in companies, university classrooms and research labs.

            homepage: https://jupyter.org

            version versionsuffix toolchain 0.6.1 -Python-3.5.1 foss/2016a 0.8.1 -Python-3.6.4 foss/2017a 1.1.0 GCCcore/10.2.0 1.4.1 GCCcore/10.3.0 3.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyterlab","title":"JupyterLab","text":"

            JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter Notebook.

            homepage: https://jupyter.org/

            version versionsuffix toolchain 1.2.5 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.2.8 GCCcore/10.2.0 3.0.16 GCCcore/10.3.0 3.1.6 GCCcore/11.2.0 3.2.8 GCCcore/10.3.0 3.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyterlab-lmod","title":"jupyterlab-lmod","text":"

            JupyterLab extension that allows user to interact with environment modules before launching kernels. The extension use Lmod's Python interface to accomplish module related task like loading, unloading, saving collection, etc.

            homepage: https://github.com/cmd-ntrf/jupyter-lmod

            version toolchain 1.0.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyterlmod","title":"jupyterlmod","text":"

            Jupyter interactive notebook server extension that allows users to interact with environment modules before launching kernels. The extension uses Lmod's Python interface to accomplish module-related tasks like loading, unloading, saving collections, etc.

            homepage: https://github.com/cmd-ntrf/jupyter-lmod

            version toolchain 3.0.0 GCCcore/11.3.0 4.0.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jwm","title":"JWM","text":"

            JWM is a light-weight window manager for the X11 Window System.

            homepage: https://joewing.net/projects/jwm/

            version toolchain 2.3.5 intel/2016a"},{"location":"version-specific/supported-software/#jxrlib","title":"jxrlib","text":"

            Open source implementation of jpegxr

            homepage: https://github.com/4creators/jxrlib

            version toolchain 1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#k","title":"K","text":"

            KaHIP - Kaiju - Kaleido - Kalign - kallisto - KAT - kb-python - kbproto - kedro - Kent_tools - Keras - KerasTuner - khmer - kim-api - kineto - king - KITE - kma - KMC - KMCP - KmerGenie - KNIME - kpcalg - Kraken - Kraken2 - KrakenUniq - Kratos - krbalancing - KronaTools - kwant - KWIML - kWIP - KyotoCabinet

            "},{"location":"version-specific/supported-software/#kahip","title":"KaHIP","text":"

            The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning.

            homepage: https://kahip.github.io/

            version toolchain 3.14 gompi/2022a, gompi/2022b"},{"location":"version-specific/supported-software/#kaiju","title":"Kaiju","text":"

            Kaiju is a program for sensitive taxonomic classification of high-throughput sequencing reads from metagenomic whole genome sequencing experiments

            homepage: http://kaiju.binf.ku.dk/

            version versionsuffix toolchain 1.5.0 intel/2016b 1.7.2 -Python-3.7.2 iimpi/2019a 1.7.3 -Python-3.7.4 gompi/2019b"},{"location":"version-specific/supported-software/#kaleido","title":"Kaleido","text":"

            Fast static image export for web-based visualization libraries with zero dependencies

            homepage: https://github.com/plotly/Kaleido

            version toolchain 0.1.0 GCCcore/10.2.0 0.2.1 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kalign","title":"Kalign","text":"

            Kalign is a fast multiple sequence alignment program for biological sequences.

            homepage: https://github.com/TimoLassmann/kalign

            version toolchain 2.0.4 GCCcore/10.2.0 3.3.1 GCCcore/10.2.0, GCCcore/10.3.0 3.3.2 GCCcore/11.2.0 3.3.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kallisto","title":"kallisto","text":"

            kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads.

            homepage: https://pachterlab.github.io/kallisto/

            version toolchain 0.42.5 foss/2016a 0.43.0 intel/2016b 0.43.1 foss/2016b, intel/2017a, intel/2017b 0.44.0 foss/2016b, intel/2018a 0.45.0 foss/2018b 0.45.1 foss/2019a 0.46.0 intel/2019a 0.46.1 foss/2019b, iimpi/2020a, iimpi/2020b 0.46.2 foss/2020b 0.48.0 gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#kat","title":"KAT","text":"

            The K-mer Analysis Toolkit (KAT) contains a number of tools that analyse and compare K-mer spectra.

            homepage: https://www.earlham.ac.uk/kat-tools

            version versionsuffix toolchain 2.4.2 -Python-3.6.4 foss/2018a 2.4.2 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#kb-python","title":"kb-python","text":"

            kallisto | bustools is a workflow for pre-processing single-cell RNA-seq data. Pre-processing single-cell RNA-seq involves: (1) association of reads with their cells of origin, (2) collapsing of reads according to unique molecular identifiers (UMIs), and (3) generation of gene or feature counts from the reads to generate a cell x gene matrix.

            homepage: https://www.kallistobus.tools/

            version toolchain 0.27.3 foss/2021b"},{"location":"version-specific/supported-software/#kbproto","title":"kbproto","text":"

            X.org KBProto protocol headers.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.0.7 foss/2016a, gimkl/2.11.5, intel/2016a, intel/2017b"},{"location":"version-specific/supported-software/#kedro","title":"kedro","text":"

            Kedro is an open-source Python framework that applies software engineering best-practice to data and machine-learning pipelines.

            homepage: https://github.com/quantumblacklabs/kedro

            version versionsuffix toolchain 0.16.5 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#kent_tools","title":"Kent_tools","text":"

            Kent utilities: collection of tools used by the UCSC genome browser.

            homepage: https://genome.cse.ucsc.edu/

            version versionsuffix toolchain 401 gompi/2019b 411 GCC/10.2.0 418 GCC/10.3.0 422 GCC/11.2.0 442 GCC/11.3.0 20130806 -linux.x86_64 system 20171107 -linux.x86_64 system 20180716 -linux.x86_64 system 20190326 -linux.x86_64 system"},{"location":"version-specific/supported-software/#keras","title":"Keras","text":"

            Keras is a deep learning API written in Python, running on top of the machine learning platform TensorFlow.

            homepage: https://keras.io/

            version versionsuffix toolchain 1.0.8 -Python-3.5.2 intel/2016b 1.1.0 -Python-3.5.2 intel/2016b 2.0.4 -Python-2.7.13 intel/2017a 2.0.4 -Python-3.6.1 intel/2017a 2.0.5 -Python-3.6.1 intel/2017a 2.0.8 -Python-3.6.1 intel/2017a 2.1.1 -Python-2.7.14 intel/2017b 2.1.1 -Python-3.6.3 intel/2017b 2.1.2 -Python-2.7.14 intel/2017b 2.1.2 -Python-3.6.3 foss/2017b 2.1.3 -Python-3.6.3 foss/2017b, intel/2017b 2.2.0 -Python-2.7.14 fosscuda/2017b 2.2.0 -Python-3.6.3 fosscuda/2017b 2.2.0 -Python-3.6.4 foss/2018a 2.2.2 -Python-2.7.15 fosscuda/2018b 2.2.4 -Python-3.6.4 intel/2018a 2.2.4 -Python-3.6.6 foss/2018b, fosscuda/2018b 2.2.4 -Python-3.7.2 foss/2019a, fosscuda/2019a 2.3.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.3.1 -Python-3.8.2 foss/2020a 2.4.3 foss/2020b, fosscuda/2020b 2.4.3 -TensorFlow-2.5.0 fosscuda/2020b"},{"location":"version-specific/supported-software/#kerastuner","title":"KerasTuner","text":"

            KerasTuner is an easy-to-use, scalable hyperparameter optimization framework that solves the pain points of hyperparameter search.

            homepage: https://keras.io/keras_tuner

            version toolchain 1.3.5 foss/2022a"},{"location":"version-specific/supported-software/#khmer","title":"khmer","text":"

            In-memory nucleotide sequence k-mer counting, filtering, graph traversal and more

            homepage: https://github.com/ged-lab/khmer/

            version versionsuffix toolchain 1.4.1 -Python-2.7.12 foss/2016b 2.1.1 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#kim-api","title":"kim-api","text":"

            Open Knowledgebase of Interatomic Models. KIM is an API and OpenKIM is a collection of interatomic models (potentials) for atomistic simulations. This is a library that can be used by simulation programs to get access to the models in the OpenKIM database. This EasyBuild only installs the API, the models can be installed with the package openkim-models, or the user can install them manually by running kim-api-collections-management install user MODELNAME or kim-api-collections-management install user OpenKIM to install them all.

            homepage: https://openkim.org/

            version toolchain 2.1.2 foss/2019a, intel/2019a 2.1.3 foss/2019b, foss/2020a, intel/2019b, intel/2020a 2.2.1 GCCcore/10.2.0, GCCcore/10.3.0 2.3.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kineto","title":"kineto","text":"

            A CPU+GPU Profiling library that provides access to timeline traces and hardware performance counters

            homepage: https://github.com/pytorch/kineto

            version toolchain 0.4.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#king","title":"king","text":"

            KING is a toolset that makes use of high-throughput SNP data typically seen in a genome-wide association study (GWAS) or a sequencing project. Applications of KING include family relationship inference and pedigree error checking, quality control, population substructure identification, forensics, gene mapping, etc.

            homepage: https://kingrelatedness.com/

            version toolchain 2.2.4 system 2.2.7 system"},{"location":"version-specific/supported-software/#kite","title":"KITE","text":"

            KITE is an open-source Python/C++ software suite for efficient real-space tight-binding (TB) simulations of electronic structure and bulk quantum transport properties of disordered systems scalable to multi billions of atomic orbitals.

            homepage: https://github.com/quantum-kite/kite

            version toolchain 1.1 gompi/2022a"},{"location":"version-specific/supported-software/#kma","title":"kma","text":"

            KMA is a mapping method designed to map raw reads directly against redundant databases, in an ultra-fast manner using seed and extend.

            homepage: https://bitbucket.org/genomicepidemiology/kma

            version toolchain 1.2.22 intel/2019b"},{"location":"version-specific/supported-software/#kmc","title":"KMC","text":"

            KMC is a disk-based programm for counting k-mers from (possibly gzipped) FASTQ/FASTA files.

            homepage: http://sun.aei.polsl.pl/kmc

            version versionsuffix toolchain 3.1.0 foss/2018a, foss/2018b 3.1.1 -Python-3.7.2 GCC/8.2.0-2.31.1 3.1.2rc1 -Python-3.7.4 GCC/8.3.0 3.2.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#kmcp","title":"KMCP","text":"

            KMCP: accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping

            homepage: https://bioinf.shenwei.me/kmcp

            version toolchain 0.9.1 system"},{"location":"version-specific/supported-software/#kmergenie","title":"KmerGenie","text":"

            KmerGenie estimates the best k-mer length for genome de novo assembly.

            homepage: http://kmergenie.bx.psu.edu/

            version toolchain 1.7044 intel/2017a 1.7048 intel/2018a"},{"location":"version-specific/supported-software/#knime","title":"KNIME","text":"

            KNIME Analytics Platform is the open source software for creating data science applications and services. KNIME stands for KoNstanz Information MinEr.

            homepage: https://www.knime.com/

            version toolchain 3.6.2 system"},{"location":"version-specific/supported-software/#kpcalg","title":"kpcalg","text":"

            Kernel PC (kPC) algorithm for causal structure learning and causal inference using graphical models. kPC is a version of PC algorithm that uses kernel based independence criteria in order to be able to deal with non-linear relationships and non-Gaussian noise. Includes pcalg: Functions for causal structure learning and causal inference using graphical models.

            homepage: https://cran.r-project.org/package=kpcalg

            version versionsuffix toolchain 1.0.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#kraken","title":"Kraken","text":"

            Kraken is a system for assigning taxonomic labels to short DNA sequences, usually obtained through metagenomic studies. Previous attempts by other bioinformatics software to accomplish this task have often used sequence alignment or machine learning techniques that were quite slow, leading to the development of less sensitive but much faster abundance estimation programs. Kraken aims to achieve high sensitivity and high speed by utilizing exact alignments of k-mers and a novel classification algorithm.

            homepage: https://ccb.jhu.edu/software/kraken/

            version versionsuffix toolchain 0.10.5-beta -Perl-5.22.1 foss/2016a 0.10.5-beta -Perl-5.24.0 foss/2016b 1.0 -Perl-5.26.1 intel/2018a 1.1 -Perl-5.28.0 foss/2018b 1.1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/9.3.0 1.1.1 -Perl-5.28.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#kraken2","title":"Kraken2","text":"

            Kraken is a system for assigning taxonomic labels to short DNA sequences, usually obtained through metagenomic studies. Previous attempts by other bioinformatics software to accomplish this task have often used sequence alignment or machine learning techniques that were quite slow, leading to the development of less sensitive but much faster abundance estimation programs. Kraken aims to achieve high sensitivity and high speed by utilizing exact alignments of k-mers and a novel classification algorithm.

            homepage: https://github.com/DerrickWood/kraken2/wiki

            version versionsuffix toolchain 2.0.6-beta -Perl-5.26.1 foss/2018a 2.0.7-beta -Perl-5.28.0 foss/2018b 2.0.8-beta -Perl-5.30.0 gompi/2019b 2.0.9-beta -Perl-5.28.0 foss/2018b 2.0.9-beta -Perl-5.30.2 gompi/2020a 2.1.1 gompi/2020b 2.1.2 gompi/2021a, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#krakenuniq","title":"KrakenUniq","text":"

            KrakenUniq: confident and fast metagenomics classification using unique k-mer counts

            homepage: https://github.com/fbreitwieser/krakenuniq/

            version toolchain 1.0.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#kratos","title":"Kratos","text":"

            Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software.

            homepage: https://www.cimne.com/kratos

            version versionsuffix toolchain 6.0 -Python-3.6.4 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#krbalancing","title":"krbalancing","text":"

            A C++ extension for Python which computes K.R. balanced matrices.

            homepage: https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm

            version toolchain 0.5.0b0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kronatools","title":"KronaTools","text":"

            Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.

            homepage: https://github.com/marbl/Krona/wiki/KronaTools

            version toolchain 2.7 GCCcore/7.3.0 2.7.1 GCCcore/8.2.0 2.8 GCC/10.3.0, GCCcore/10.2.0 2.8.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kwant","title":"kwant","text":"

            Kwant is a free (open source), powerful, and easy to use Python package for numerical calculations on tight-binding models with a strong focus on quantum transport.

            homepage: https://kwant-project.org/

            version versionsuffix toolchain 1.4.1 -Python-3.7.2 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#kwiml","title":"KWIML","text":"

            The Kitware Information Macro Library

            homepage: https://gitlab.kitware.com/utils/kwiml

            version toolchain 20180201 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#kwip","title":"kWIP","text":"

            This software implements a de novo, alignment free measure of sample genetic dissimilarity which operates upon raw sequencing reads. It is able to calculate the genetic dissimilarity between samples without any reference genome, and without assembling one.

            homepage: https://github.com/kdmurray91/kWIP

            version toolchain 0.2.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#kyotocabinet","title":"KyotoCabinet","text":"

            Kyoto Cabinet is a library of routines for managing a database.

            homepage: https://fallabs.com/kyotocabinet

            version toolchain 1.2.77 GCCcore/7.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#l","title":"L","text":"

            L_RNA_scaffolder - Lace - LADR - lagrangian-filtering - LAME - LAMMPS - lancet - LAPACK - LASSO-Python - LAST - LASTZ - lavaan - LayoutParser - LBFGS++ - LCov - LDC - lDDT - LeadIT - leidenalg - LEMON - Leptonica - LERC - less - LevelDB - lftp - LHAPDF - LIANA - libaec - libaio - libarchive - libav - libavif - libBigWig - libbitmask - libcdms - libcerf - libcint - libcircle - libcmaes - libconfig - libcpuset - libcroco - libctl - libdap - libde265 - libdeflate - libdivsufsort - libdrm - libdrs - libdwarf - libedit - libelf - libemf - libepoxy - libev - libevent - libexif - libfabric - libfdf - libffcall - libffi - libFLAME - libfontenc - libgcrypt - libgd - libgdiplus - libGDSII - libgeotiff - libgit2 - libglade - libGLU - libglvnd - libgpg-error - libgpuarray - libGridXC - libgtextutils - libharu - libheif - libibmad - libibumad - libICE - libiconv - libidn - libidn2 - Libint - LiBis - libjpeg-turbo - libjxl - LibLZF - libmad - libmatheval - libmaus2 - libmbd - libMemcached - libmicrohttpd - libmo_unpack - libmypaint - libnsl - libobjcryst - libogg - libopus - libosmium - libpci - libpciaccess - libplinkio - libpng - libpsl - libPSML - libpsortb - libpspio - libpthread-stubs - libQGLViewer - libreadline - libRmath - librosa - librsb - librsvg - librttopo - libsamplerate - libSBML - libsigc++ - libsigsegv - libSM - libsndfile - libsodium - LibSoup - libspatialindex - libspatialite - libssh - libStatGen - LIBSVM - libtar - libtasn1 - libtecla - LibTIFF - libtirpc - libtool - libtree - libunistring - libunwind - libutempter - LibUUID - libuv - libvdwxc - libvorbis - libWallModelledLES - libwebp - libwpe - libX11 - libXau - libxc - libxcb - libXcursor - libXdamage - libXdmcp - libXext - libXfixes - libXfont - libXft - libXi - libXinerama - libxkbcommon - libxml++ - libxml2 - libxml2-python - libXmu - libXp - libXpm - libXrandr - libXrender - libxslt - libxsmm - libXt - libXxf86vm - libyaml - libzeep - libzip - lie_learn - lifelines - Lighter - liknorm - likwid - limix - LinBox - line_profiler - Lingeling - LISFLOOD-FP - LittleCMS - LLDB - LLVM - LMDB - LMfit - Lmod - LncLOOM - LocARNA - LoFreq - Log-Log4perl - logaddexp - LOHHLA - Loki - longestrunsubsequence - longread_umi - Longshot - loompy - loomR - LoRDEC - LPeg - LPJmL - lpsolve - lrslib - LS-PrePost - LSD2 - LSMS - LTR_retriever - LtrDetector - Lua - LuaJIT - LuaJIT2-OpenResty - LuaRocks - Lucene-Geo-Gazetteer - LUMPY - LUSCUS - lwgrp - lxml - lynx - lz4 - LZO

            "},{"location":"version-specific/supported-software/#l_rna_scaffolder","title":"L_RNA_scaffolder","text":"

            L_RNA_scaffolder is a genome scaffolding tool with long trancriptome reads

            homepage: https://github.com/CAFS-bioinformatics/L_RNA_scaffolder

            version versionsuffix toolchain 20141124 -Perl-5.24.0 intel/2016b 20190530 GCC/11.3.0"},{"location":"version-specific/supported-software/#lace","title":"Lace","text":"

            Building SuperTranscripts: A linear representation of transcriptome data

            homepage: https://github.com/Oshlack/Lace

            version toolchain 1.14.1 foss/2022a"},{"location":"version-specific/supported-software/#ladr","title":"LADR","text":"

            Prover9, Mace4, and several related programs come packaged in a system called LADR (Library for Automated Deduction Research).

            homepage: https://www.cs.unm.edu/~mccune/mace4/download

            version toolchain 2009-11A GCCcore/10.2.0"},{"location":"version-specific/supported-software/#lagrangian-filtering","title":"lagrangian-filtering","text":"

            Temporal filtering of data in a Lagrangian frame of reference.

            homepage: https://github.com/angus-g/lagrangian-filtering

            version toolchain 0.8.3 foss/2022a"},{"location":"version-specific/supported-software/#lame","title":"LAME","text":"

            LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.

            homepage: http://lame.sourceforge.net/

            version toolchain 3.99.5 foss/2016b, intel/2017a 3.100 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2017b"},{"location":"version-specific/supported-software/#lammps","title":"LAMMPS","text":"

            LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for solid-state materials (metals, semiconductors) and soft matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale. LAMMPS runs on single processors or in parallel using message-passing techniques and a spatial-decomposition of the simulation domain. The code is designed to be easy to modify or extend with new functionality.

            homepage: https://lammps.sandia.gov/

            version versionsuffix toolchain 3Mar2020 -Python-3.7.4-kokkos foss/2019b, intel/2019b 3Mar2020 -Python-3.8.2-kokkos foss/2020a, intel/2020a 7Aug2019 -Python-3.7.4-kokkos foss/2019b, intel/2019b 7Aug2019 -Python-3.7.4-kokkos-OCTP intel/2019b 23Jun2022 -kokkos foss/2021a, foss/2021b, foss/2022a 23Jun2022 -kokkos-CUDA-11.3.1 foss/2021a 23Jun2022 -kokkos-CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#lancet","title":"lancet","text":"

            Lancet is a somatic variant caller (SNVs and indels) for short read data.

            homepage: https://github.com/nygenome/lancet

            version toolchain 1.1.0 iccifort/2019.5.281"},{"location":"version-specific/supported-software/#lapack","title":"LAPACK","text":"

            LAPACK is written in Fortran90 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems.

            homepage: https://www.netlib.org/lapack/

            version toolchain 3.8.0 GCC/7.3.0-2.30 3.9.1 GCC/10.2.0 3.10.1 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#lasso-python","title":"LASSO-Python","text":"

            This python library is designed for general purpose usage in the field of Computer Aided Engineering (CAE). It's name originates from the original initiator and donator of the project Lasso GmbH. The library is now maintained by an open-source community.

            homepage: https://open-lasso-python.github.io/lasso-python/

            version toolchain 2.0.0 foss/2022b"},{"location":"version-specific/supported-software/#last","title":"LAST","text":"

            LAST finds similar regions between sequences.

            homepage: http://last.cbrc.jp/

            version toolchain 869 intel/2017a 914 intel/2017b 1045 intel/2019b 1179 GCC/10.2.0"},{"location":"version-specific/supported-software/#lastz","title":"LASTZ","text":"

            LASTZ is a program for aligning DNA sequences, a pairwise aligner. Originally designed to handle sequences the size of human chromosomes and from different species, it is also useful for sequences produced by NGS sequencing technologies such as Roche 454.

            homepage: https://www.bx.psu.edu/~rsharris/lastz/

            version toolchain 1.02.00 GCCcore/8.2.0, foss/2016a 1.04.03 foss/2019b"},{"location":"version-specific/supported-software/#lavaan","title":"lavaan","text":"

            Fit a variety of latent variable models, including confirmatory factor analysis, structural equation modeling and latent growth curve models.

            homepage: https://cran.r-project.org/web/packages/lavaan

            version versionsuffix toolchain 0.6-2 -R-3.4.4 intel/2018a 0.6-4.1433 -R-3.6.0 foss/2019a 0.6-9 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#layoutparser","title":"LayoutParser","text":"

            A Unified Toolkit for Deep Learning Based Document Image Analysis

            homepage: https://layout-parser.github.io/

            version versionsuffix toolchain 0.3.4 foss/2022a 0.3.4 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#lbfgs","title":"LBFGS++","text":"

            A header-only C++ library for L-BFGS and L-BFGS-B algorithms

            homepage: https://lbfgspp.statr.me

            version toolchain 0.1.0 system"},{"location":"version-specific/supported-software/#lcov","title":"LCov","text":"

            LCOV - the LTP GCOV extension

            homepage: http://ltp.sourceforge.net/coverage/lcov.php

            version toolchain 1.13 GCCcore/7.2.0"},{"location":"version-specific/supported-software/#ldc","title":"LDC","text":"

            The LLVM-based D Compiler

            homepage: https://wiki.dlang.org/LDC

            version versionsuffix toolchain 0.17.6 -x86_64 system 1.24.0 -x86_64 system 1.25.1 GCCcore/10.2.0 1.26.0 GCCcore/10.3.0 1.30.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#lddt","title":"lDDT","text":"

            The local Distance Difference Test (lDDT) is a superposition-free score which evaluates local distance differences in a model compared to a reference structure.

            homepage: https://openstructure.org

            version toolchain 1.2 system"},{"location":"version-specific/supported-software/#leadit","title":"LeadIT","text":"

            Visually Informed LeadOpt

            homepage: http://www.biosolveit.de/LeadIT/index.html

            version toolchain 2.1.9 system"},{"location":"version-specific/supported-software/#leidenalg","title":"leidenalg","text":"

            Implementation of the Leiden algorithm for various quality functions to be used with igraph in Python.

            homepage: https://github.com/vtraag/leidenalg

            version versionsuffix toolchain 0.8.2 -Python-3.8.2 foss/2020a 0.8.3 foss/2020b, fosscuda/2020b 0.8.7 foss/2021a 0.8.8 foss/2021b 0.9.1 foss/2022a"},{"location":"version-specific/supported-software/#lemon","title":"LEMON","text":"

            LEMON stands for Library for Efficient Modeling and Optimization in Networks. It is a C++ template library providing efficient implementations of common data structures and algorithms with focus on combinatorial optimization tasks connected mainly with graphs and networks.

            homepage: https://lemon.cs.elte.hu

            version toolchain 1.3.1 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#leptonica","title":"Leptonica","text":"

            Leptonica is a collection of pedagogically-oriented open source software that is broadly useful for image processing and image analysis applications.

            homepage: http://www.leptonica.org

            version toolchain 1.77.0 GCCcore/7.3.0 1.78.0 GCCcore/8.2.0 1.82.0 GCCcore/10.3.0 1.83.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#lerc","title":"LERC","text":"

            LERC is an open-source image or raster format which supports rapid encoding and decoding for any pixel type (not just RGB or Byte). Users set the maximum compression error per pixel while encoding, so the precision of the original input image is preserved (within user defined error bounds).

            homepage: https://github.com/Esri/lerc

            version toolchain 3.0 GCCcore/10.2.0, GCCcore/10.3.0 4.0.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#less","title":"less","text":"

            Less is a free, open-source file pager. It can be found on most versions of Linux, Unix and Mac OS, as well as on many other operating systems.

            homepage: http://www.greenwoodsoftware.com/less/

            version toolchain 458 GCC/4.8.2"},{"location":"version-specific/supported-software/#leveldb","title":"LevelDB","text":"

            LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

            homepage: https://github.com/google/leveldb

            version toolchain 1.18 foss/2016a, intel/2017a, intel/2017b 1.20 GCCcore/7.3.0 1.22 GCCcore/8.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#lftp","title":"lftp","text":"

            LFTP is a sophisticated ftp/http client, and a file transfer program supporting a number of network protocols. Like BASH, it has job control and uses the readline library for input. It has bookmarks, a built-in mirror command, and can transfer several files in parallel. It was designed with reliability in mind.

            homepage: https://lftp.yar.ru

            version toolchain 4.6.4 GNU/4.9.3-2.25 4.8.4 GCCcore/6.4.0 4.9.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#lhapdf","title":"LHAPDF","text":"

            Les Houches Parton Density Function LHAPDF is the standard tool for evaluating parton distribution functions (PDFs) in high-energy physics.

            homepage: http://lhapdf.hepforge.org/

            version toolchain 6.5.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#liana","title":"LIANA","text":"

            LIANA: a LIgand-receptor ANalysis frAmework. LIANA enables the use of any combination of ligand-receptor methods and resources, and their consensus.

            homepage: https://saezlab.github.io/liana/

            version versionsuffix toolchain 0.1.11 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#libaec","title":"libaec","text":"

            Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers (samples). The library achieves best results for low entropy data as often encountered in space imaging instrument data or numerical model output from weather or climate simulations. While floating point representations are not directly supported, they can also be efficiently coded by grouping exponents and mantissa.

            homepage: https://gitlab.dkrz.de/k202009/libaec

            version toolchain 1.0.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libaio","title":"libaio","text":"

            Asynchronous input/output library that uses the kernels native interface.

            homepage: https://pagure.io/libaio

            version toolchain 0.3.111 GCCcore/8.2.0, GCCcore/8.3.0 0.3.112 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 0.3.113 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libarchive","title":"libarchive","text":"

            Multi-format archive and compression library

            homepage: https://www.libarchive.org/

            version toolchain 3.4.0 GCCcore/8.2.0 3.4.2 GCCcore/9.3.0 3.4.3 GCCcore/10.2.0 3.5.1 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0 3.6.1 GCCcore/11.3.0, GCCcore/12.2.0 3.6.2 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#libav","title":"libav","text":"

            Libav is a friendly and community-driven effort to provide its users with a set of portable, functional and high-performance libraries for dealing with multimedia formats of all sorts.

            homepage: https://libav.org/

            version toolchain 11.10 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libavif","title":"libavif","text":"

            This library aims to be a friendly, portable C implementation of the AV1 Image File Format, as described here: https://aomediacodec.github.io/av1-avif/

            homepage: https://github.com/AOMediaCodec/libavif

            version toolchain 0.9.0 foss/2020b 0.11.1 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#libbigwig","title":"libBigWig","text":"

            A C library for handling bigWig files

            homepage: https://github.com/dpryan79/libBigWig

            version toolchain 0.4.4 GCCcore/8.3.0 0.4.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libbitmask","title":"libbitmask","text":"

            libbitmask provides a convenient, powerful bitmask data type

            homepage: http://oss.sgi.com/projects/cpusets/

            version toolchain 2.0 system"},{"location":"version-specific/supported-software/#libcdms","title":"libcdms","text":"

            Climate Data Management System Library.

            homepage: https://github.com/CDAT/libcdms/

            version versionsuffix toolchain 3.1.2 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#libcerf","title":"libcerf","text":"

            libcerf is a self-contained numeric library that provides an efficient and accurate implementation of complex error functions, along with Dawson, Faddeeva, and Voigt functions.

            homepage: https://jugit.fz-juelich.de/mlz/libcerf

            version toolchain 1.4 foss/2016a, foss/2016b, intel/2016a 1.5 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, foss/2016b, intel/2016b, intel/2017a 1.7 GCCcore/7.3.0 1.11 GCCcore/7.3.0, GCCcore/8.2.0 1.13 GCCcore/8.3.0, GCCcore/9.3.0 1.14 GCCcore/10.2.0 1.15 GCCcore/10.3.0 1.17 GCCcore/10.3.0, GCCcore/11.2.0 2.1 GCCcore/11.3.0 2.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libcint","title":"libcint","text":"

            libcint is an open source library for analytical Gaussian integrals.

            homepage: https://github.com/sunqm/libcint

            version toolchain 4.4.0 foss/2020b, foss/2021a, gomkl/2021a 5.1.6 foss/2022a"},{"location":"version-specific/supported-software/#libcircle","title":"libcircle","text":"

            An API to provide an efficient distributed queue on a cluster. libcircle is an API for distributing embarrassingly parallel workloads using self-stabilization.

            homepage: https://github.com/hpc/libcircle/

            version toolchain 0.2.1-rc.1 gompi/2019a, iimpi/2019a 0.3 gompi/2020a, gompi/2020b, gompi/2022a, iimpi/2020a"},{"location":"version-specific/supported-software/#libcmaes","title":"libcmaes","text":"

            libcmaes is a multithreaded C++11 library for high performance blackbox stochastic optimization using the CMA-ES algorithm for Covariance Matrix Adaptation Evolution Strategy.

            homepage: http://beniz.github.io/libcmaes/

            version toolchain 0.9.5 foss/2016a"},{"location":"version-specific/supported-software/#libconfig","title":"libconfig","text":"

            Libconfig is a simple library for processing structured configuration files

            homepage: https://hyperrealm.github.io/libconfig

            version toolchain 1.5 intel/2016b 1.7.1 GCCcore/6.4.0 1.7.2 GCCcore/7.3.0 1.7.3 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libcpuset","title":"libcpuset","text":"

            libcpuset provides full access to cpuset capabilities

            homepage: http://oss.sgi.com/projects/cpusets/

            version toolchain 1.0 system"},{"location":"version-specific/supported-software/#libcroco","title":"libcroco","text":"

            Libcroco is a standalone css2 parsing and manipulation library.

            homepage: https://github.com/GNOME/libcroco

            version toolchain 0.6.11 intel/2016a 0.6.13 GCC/10.2.0, foss/2019a"},{"location":"version-specific/supported-software/#libctl","title":"libctl","text":"

            libctl is a free Guile-based library implementing flexible control files for scientific simulations.

            homepage: https://libctl.readthedocs.io/en/latest/

            version toolchain 3.2.2 foss/2016a 4.0.0 intel/2020a 4.1.3 GCCcore/6.4.0 4.5.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libdap","title":"libdap","text":"

            A C++ SDK which contains an implementation of DAP 2.0 and DAP4.0. This includes both Client- and Server-side support classes.

            homepage: https://www.opendap.org/software/libdap

            version versionsuffix toolchain 3.18.1 intel/2017a 3.18.1 -Python-2.7.11 foss/2016a 3.19.1 GCCcore/6.4.0, foss/2017b, intel/2017b 3.20.3 GCCcore/7.3.0 3.20.4 GCCcore/8.2.0 3.20.6 GCCcore/8.3.0 3.20.7 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 3.20.8 GCCcore/11.2.0 3.20.11 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libde265","title":"libde265","text":"

            libde265 is an open source implementation of the h.265 video codec

            homepage: https://github.com/strukturag/libde265

            version toolchain 1.0.8 GCC/10.3.0, GCC/11.2.0 1.0.11 GCC/11.3.0"},{"location":"version-specific/supported-software/#libdeflate","title":"libdeflate","text":"

            Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.

            homepage: https://github.com/ebiggers/libdeflate

            version toolchain 1.5 GCCcore/7.3.0 1.7 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 1.8 GCCcore/10.3.0, GCCcore/11.2.0 1.10 GCCcore/11.3.0 1.15 GCCcore/12.2.0 1.18 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libdivsufsort","title":"libdivsufsort","text":"

            libdivsufsort is a software library that implements a lightweight suffix array construction algorithm.

            homepage: https://github.com/y-256/libdivsufsort

            version toolchain 2.0.1 foss/2018b"},{"location":"version-specific/supported-software/#libdrm","title":"libdrm","text":"

            Direct Rendering Manager runtime library.

            homepage: https://dri.freedesktop.org

            version toolchain 2.4.67 foss/2016a, gimkl/2.11.5, intel/2016a 2.4.68 foss/2016a, intel/2016a 2.4.70 GCCcore/5.4.0, foss/2016b, intel/2016b 2.4.76 GCCcore/6.3.0, intel/2017a 2.4.88 GCCcore/6.4.0 2.4.91 GCCcore/6.4.0 2.4.92 GCCcore/7.3.0 2.4.97 GCCcore/8.2.0 2.4.99 GCCcore/8.3.0 2.4.100 GCCcore/9.3.0 2.4.102 GCCcore/10.2.0 2.4.106 GCCcore/10.3.0 2.4.107 GCCcore/11.2.0 2.4.110 GCCcore/11.3.0 2.4.114 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libdrs","title":"libdrs","text":"

            PCMDI's old DRS format implementation

            homepage: https://github.com/CDAT/libdrs/

            version toolchain 3.1.2 foss/2020a"},{"location":"version-specific/supported-software/#libdwarf","title":"libdwarf","text":"

            The DWARF Debugging Information Format is of interest to programmers working on compilers and debuggers (and anyone interested in reading or writing DWARF information))

            homepage: https://www.prevanders.net/dwarf.html

            version toolchain 0.4.1 GCCcore/11.3.0 20140805 GCC/4.9.2 20150310 GCC/4.9.2, GCCcore/5.4.0, GCCcore/6.3.0 20190529 GCCcore/8.2.0 20201201 GCCcore/10.2.0 20210305 GCCcore/10.3.0 20210528 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libedit","title":"libedit","text":"

            This BSD-style licensed command line editor library provides generic line editing, history, and tokenization functions, similar to those found in GNU Readline.

            homepage: https://thrysoee.dk/editline/

            version toolchain 20150325 GNU/4.9.3-2.25 20180525 GCCcore/6.4.0 20191231 GCCcore/9.3.0 20210910 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libelf","title":"libelf","text":"

            libelf is a free ELF object file access library

            homepage: https://directory.fsf.org/wiki/Libelf

            version toolchain 0.8.13 GCC/4.8.3, GCC/4.9.2, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/8.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libemf","title":"libemf","text":"

            Library implementation of ECMA-234 API for the generation of enhanced metafiles.

            homepage: https://sourceforge.net/projects/libemf/

            version toolchain 1.0.13 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libepoxy","title":"libepoxy","text":"

            Epoxy is a library for handling OpenGL function pointer management for you

            homepage: https://github.com/anholt/libepoxy

            version toolchain 1.5.2 foss/2018a 1.5.3 GCCcore/8.2.0, fosscuda/2018b 1.5.4 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.5.8 GCCcore/10.3.0, GCCcore/11.2.0 1.5.10 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libev","title":"libev","text":"

            A full-featured and high-performance (see benchmark) event loop that is loosely modelled after libevent, but without its limitations and bugs. It is used in GNU Virtual Private Ethernet, rxvt-unicode, auditd, the Deliantra MORPG Server and Client, and many other programs.

            homepage: http://software.schmorp.de/pkg/libev.html

            version toolchain 4.33 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#libevent","title":"libevent","text":"

            The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Furthermore, libevent also support callbacks due to signals or regular timeouts.

            homepage: http://libevent.org/

            version toolchain 2.0.22 GCC/4.9.2, GCC/5.4.0-2.26, GCCcore/4.9.3, GNU/4.9.3-2.25 2.1.8 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, system 2.1.11 GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 2.1.12 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, system"},{"location":"version-specific/supported-software/#libexif","title":"libexif","text":"

            A library for parsing, editing, and saving EXIF data.

            homepage: https://libexif.github.io/

            version toolchain 0.6.24 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libfabric","title":"libfabric","text":"

            Libfabric is a core component of OFI. It is the library that defines and exports the user-space API of OFI, and is typically the only software that applications deal with directly. It works in conjunction with provider libraries, which are often integrated directly into libfabric.

            homepage: https://ofiwg.github.io/libfabric/

            version toolchain 1.9.1 GCCcore/9.3.0 1.10.1 GCCcore/9.3.0 1.11.0 GCCcore/10.2.0, GCCcore/9.3.0 1.12.1 GCCcore/10.3.0 1.13.0 GCCcore/11.2.0 1.13.1 GCCcore/11.2.0 1.13.2 GCCcore/11.2.0 1.15.1 GCCcore/11.3.0 1.16.1 GCCcore/12.2.0 1.18.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libfdf","title":"libfdf","text":"

            LibFDF provides a Fortran API to parse files in the Flexible Data Format (FDF).

            homepage: https://launchpad.net/libfdf

            version versionsuffix toolchain 0.2.2 -serial GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#libffcall","title":"libffcall","text":"

            GNU Libffcall is a collection of four libraries which can be used to build foreign function call interfaces in embedded interpreters

            homepage: https://www.gnu.org/software/libffcall/

            version toolchain 1.13 GCCcore/6.4.0 2.2 GCCcore/8.3.0, GCCcore/9.3.0 2.4 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libffi","title":"libffi","text":"

            The libffi library provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run-time.

            homepage: https://sourceware.org/libffi/

            version toolchain 3.2.1 GCC/4.9.2, GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b, system 3.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 3.4.2 GCCcore/11.2.0, GCCcore/11.3.0 3.4.4 GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#libflame","title":"libFLAME","text":"

            libFLAME is a portable library for dense matrix computations, providing much of the functionality present in LAPACK.

            homepage: https://developer.amd.com/amd-cpu-libraries/blas-library/#libflame

            version versionsuffix toolchain 1.0 -amd GCC/7.3.0-2.30 2.2 -amd GCCcore/9.3.0 5.2.0 GCC/10.3.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libfontenc","title":"libfontenc","text":"

            X11 font encoding library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs/

            version toolchain 1.1.3 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libgcrypt","title":"libgcrypt","text":"

            Libgcrypt is a general purpose cryptographic library originally based on code from GnuPG

            homepage: https://gnupg.org/related_software/libgcrypt/index.html

            version toolchain 1.6.5 intel/2016a 1.8.4 GCCcore/7.3.0, GCCcore/8.2.0 1.8.5 GCCcore/8.3.0 1.9.2 GCCcore/10.2.0, GCCcore/10.3.0 1.9.3 GCCcore/11.2.0 1.10.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libgd","title":"libgd","text":"

            GD is an open source code library for the dynamic creation of images by programmers.

            homepage: https://libgd.github.io

            version toolchain 2.1.1 foss/2016a, intel/2016a 2.2.3 foss/2016b, intel/2016b 2.2.4 GCCcore/6.4.0, foss/2016b, intel/2017a 2.2.5 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, intel/2017b, intel/2018a 2.3.0 GCCcore/10.2.0, GCCcore/9.3.0 2.3.1 GCCcore/10.3.0 2.3.3 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libgdiplus","title":"libgdiplus","text":"

            Libgdiplus is the Mono library that provides a GDI+-compatible API on non-Windows operating systems.

            homepage: https://www.mono-project.com/docs/gui/libgdiplus

            version toolchain 6.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libgdsii","title":"libGDSII","text":"

            libGDSII is a C++ library for working with GDSII binary data files, intended primarily for use with the computational electromagnetism codes scuff-em and meep but sufficiently general-purpose to allow other uses as well.

            homepage: https://github.com/HomerReid/libGDSII

            version toolchain 0.21 GCCcore/10.2.0, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libgeotiff","title":"libgeotiff","text":"

            Library for reading and writing coordinate system information from/to GeoTIFF files

            homepage: https://directory.fsf.org/wiki/Libgeotiff

            version toolchain 1.4.2 foss/2018a, foss/2018b, intel/2018b 1.5.1 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.6.0 GCCcore/10.2.0, GCCcore/10.3.0 1.7.0 GCCcore/11.2.0 1.7.1 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libgit2","title":"libgit2","text":"

            libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings.

            homepage: https://libgit2.org/

            version toolchain 1.0.0 GCCcore/8.3.0 1.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 1.1.1 GCCcore/11.2.0 1.4.3 GCCcore/11.3.0 1.5.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libglade","title":"libglade","text":"

            Libglade is a library for constructing user interfaces dynamically from XML descriptions.

            homepage: https://developer.gnome.org/libglade/

            version toolchain 2.6.4 foss/2018b, intel/2016a, intel/2017b, intel/2018a"},{"location":"version-specific/supported-software/#libglu","title":"libGLU","text":"

            The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL.

            homepage: https://mesa.freedesktop.org/archive/glu/

            version versionsuffix toolchain 9.0.0 GCCcore/8.2.0, foss/2016a, foss/2016b, foss/2017a, foss/2017b, foss/2018a, foss/2018b, fosscuda/2017b, fosscuda/2018a, fosscuda/2018b, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intelcuda/2017b, iomkl/2018a 9.0.0 -Mesa-11.2.1 foss/2016a, intel/2016a 9.0.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0, GCCcore/9.3.0 9.0.2 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libglvnd","title":"libglvnd","text":"

            libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors.

            homepage: https://gitlab.freedesktop.org/glvnd/libglvnd

            version toolchain 1.2.0 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.3.2 GCCcore/10.2.0 1.3.3 GCCcore/10.3.0, GCCcore/11.2.0 1.4.0 GCCcore/11.3.0 1.6.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libgpg-error","title":"libgpg-error","text":"

            Libgpg-error is a small library that defines common error values for all GnuPG components.

            homepage: https://gnupg.org/related_software/libgpg-error/index.html

            version toolchain 1.21 intel/2016a 1.35 GCCcore/7.3.0 1.36 GCCcore/8.2.0 1.38 GCCcore/8.3.0 1.41 GCCcore/10.2.0 1.42 GCCcore/10.3.0, GCCcore/11.2.0 1.46 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libgpuarray","title":"libgpuarray","text":"

            Library to manipulate tensors on the GPU.

            homepage: http://deeplearning.net/software/libgpuarray/

            version versionsuffix toolchain 0.7.5 -Python-2.7.14 fosscuda/2017b, intelcuda/2017b 0.7.5 -Python-3.6.3 fosscuda/2017b, intel/2017b, intelcuda/2017b 0.7.6 fosscuda/2019a, fosscuda/2020b 0.7.6 -Python-2.7.15 fosscuda/2018b 0.7.6 -Python-3.6.6 fosscuda/2018b 0.7.6 -Python-3.7.4 fosscuda/2019b"},{"location":"version-specific/supported-software/#libgridxc","title":"libGridXC","text":"

            A library to compute the exchange and correlation energy and potential in spherical (i.e. atoms) or periodic systems.

            homepage: https://gitlab.com/siesta-project/libraries/libgridxc

            version toolchain 0.8.5 iimpi/2019b 0.9.6 gompi/2020b, gompi/2021a, gompi/2021b, iimpi/2020b, iimpi/2021a, iimpi/2021b 1.1.0 gompi/2022a"},{"location":"version-specific/supported-software/#libgtextutils","title":"libgtextutils","text":"

            ligtextutils is a dependency of fastx-toolkit and is provided via the same upstream

            homepage: http://hannonlab.cshl.edu/fastx_toolkit/

            version toolchain 0.7 GCCcore/7.3.0, foss/2016a, foss/2016b, intel/2018a"},{"location":"version-specific/supported-software/#libharu","title":"libharu","text":"

            libHaru is a free, cross platform, open source library for generating PDF files.

            homepage: http://libharu.org/

            version toolchain 2.3.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016a, foss/2016b, foss/2021a, foss/2021b, intel/2017a, intel/2018b"},{"location":"version-specific/supported-software/#libheif","title":"libheif","text":"

            libheif is an HEIF and AVIF file format decoder and encoder

            homepage: https://github.com/strukturag/libheif

            version toolchain 1.12.0 GCC/10.3.0, GCC/11.2.0 1.16.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#libibmad","title":"libibmad","text":"

            libibmad is a convenience library to encode, decode, and dump IB MAD packets. It is implemented on top of and in conjunction with libibumad (the umad kernel interface library.)

            homepage: http://www.openfabrics.org

            version toolchain 1.3.12 GCC/4.9.3-2.25"},{"location":"version-specific/supported-software/#libibumad","title":"libibumad","text":"

            libibumad is the umad kernel interface library.

            homepage: http://www.openfabrics.org

            version toolchain 1.3.10.2 GCC/4.9.3-2.25"},{"location":"version-specific/supported-software/#libice","title":"libICE","text":"

            X Inter-Client Exchange library for freedesktop.org

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.0.9 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libiconv","title":"libiconv","text":"

            Libiconv converts from one character encoding to another through Unicode conversion

            homepage: https://www.gnu.org/software/libiconv

            version toolchain 1.15 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0 1.16 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.17 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libidn","title":"libidn","text":"

            GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. Libidn's purpose is to encode and decode internationalized domain names.

            homepage: http://www.gnu.org/software/libidn

            version toolchain 1.32 GCCcore/5.4.0, GNU/4.9.3-2.25, foss/2016a, foss/2016b, intel/2016a 1.34 GCCcore/6.4.0 1.35 GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.36 GCCcore/10.2.0, GCCcore/10.3.0 1.38 GCCcore/11.2.0 1.41 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libidn2","title":"libidn2","text":"

            Libidn2 implements the revised algorithm for internationalized domain names called IDNA2008/TR46.

            homepage: http://www.gnu.org/software/libidn2

            version toolchain 2.3.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 2.3.2 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libint","title":"Libint","text":"

            Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.

            homepage: https://github.com/evaleev/libint

            version versionsuffix toolchain 1.1.4 intel/2016a 1.1.6 GCC/8.2.0-2.31.1, foss/2016b, foss/2018a, foss/2020a, foss/2020b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2016b, intel/2017b, intel/2018a, intel/2018b, intel/2020a 2.0.3 foss/2018b, gompi/2019a, intel/2018b 2.1.0 intel/2016b 2.4.2 intel/2018a 2.5.0 gompi/2019a, iimpi/2019a 2.6.0 -lmax-6-cp2k GCC/10.2.0, GCC/10.3.0, gompi/2020a, iccifort/2020.4.304, iimpi/2020a, iimpi/2021a 2.7.2 -lmax-6-cp2k GCC/11.3.0"},{"location":"version-specific/supported-software/#libis","title":"LiBis","text":"

            An ultrasensitive alignment method for low input bisulfite sequencing

            homepage: https://github.com/Dangertrip/LiBis

            version versionsuffix toolchain 20200428 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#libjpeg-turbo","title":"libjpeg-turbo","text":"

            libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG compression and decompression. libjpeg is a library that implements JPEG image encoding, decoding and transcoding.

            homepage: https://sourceforge.net/projects/libjpeg-turbo/

            version versionsuffix toolchain 1.4.2 foss/2016a, foss/2016b, intel/2016a 1.4.2 -NASM-2.12.01 foss/2016a, intel/2016a 1.5.0 GCCcore/5.4.0, foss/2016a, foss/2016b, intel/2016b 1.5.1 foss/2016b, intel/2016b, intel/2017a 1.5.2 GCCcore/6.3.0, GCCcore/6.4.0 1.5.3 GCCcore/6.4.0 2.0.0 GCCcore/7.3.0 2.0.2 GCCcore/7.3.0, GCCcore/8.2.0 2.0.3 GCCcore/8.3.0 2.0.4 GCCcore/9.3.0 2.0.5 GCCcore/10.2.0 2.0.6 GCCcore/10.3.0, GCCcore/11.2.0 2.1.3 GCCcore/11.3.0 2.1.4 GCCcore/12.2.0 2.1.5.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libjxl","title":"libjxl","text":"

            JPEG XL image format reference implementation

            homepage: https://github.com/libjxl/libjxl

            version toolchain 0.5 GCCcore/10.3.0 0.6.1 GCCcore/10.2.0 0.8.1 foss/2022a"},{"location":"version-specific/supported-software/#liblzf","title":"LibLZF","text":"

            LibLZF is a very small data compression library. It consists of only two .c and two .h files and is very easy to incorporate into your own programs. The compression algorithm is very, very fast, yet still written in portable C.

            homepage: http://oldhome.schmorp.de/marc/liblzf.html

            version toolchain 3.4 GCCcore/10.2.0 3.6 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libmad","title":"libmad","text":"

            MAD is a high-quality MPEG audio decoder.

            homepage: https://www.underbit.com/products/mad/

            version toolchain 0.15.1b GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libmatheval","title":"libmatheval","text":"

            GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic expressions input as text.

            homepage: http://www.gnu.org/software/libmatheval/

            version toolchain 1.1.11 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016b, foss/2017a, intel/2016a, intel/2016b"},{"location":"version-specific/supported-software/#libmaus2","title":"libmaus2","text":"

            libmaus2 is a collection of data structures and algorithms.

            homepage: https://github.com/gt1/libmaus2

            version toolchain 2.0.453 intel/2018a 2.0.499 GCC/11.3.0"},{"location":"version-specific/supported-software/#libmbd","title":"libmbd","text":"

            Libmbd implements the many-body dispersion (MBD) method in several programming languages and frameworks: - The Fortran implementation is the reference, most advanced implementation, with support for analytical gradients and distributed parallelism, and additional functionality beyond the MBD method itself. It provides a low-level and a high-level Fortran API, as well as a C API. Furthermore, Python bindings to the C API are provided. - The Python/Numpy implementation is intended for prototyping, and as a high-level language reference. - The Python/Tensorflow implementation is an experiment that should enable rapid prototyping of machine learning applications with MBD. The Python-based implementations as well as Python bindings to the Libmbd C API are accessible from the Python package called Pymbd.

            homepage: https://libmbd.github.io/index.html

            version toolchain 0.10.4 foss/2020b, foss/2021a, intel/2020b, intel/2021a"},{"location":"version-specific/supported-software/#libmemcached","title":"libMemcached","text":"

            libMemcached is an open source C/C++ client library and tools for the memcached server (http://danga.com/memcached). It has been designed to be light on memory usage, thread safe, and provide full access to server side methods.

            homepage: https://memcached.org

            version toolchain 1.0.18 GCCcore/6.4.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libmicrohttpd","title":"libmicrohttpd","text":"

            GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application.

            homepage: https://www.gnu.org/software/libmicrohttpd/

            version toolchain 0.9.71 GCCcore/9.3.0 0.9.73 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#libmo_unpack","title":"libmo_unpack","text":"

            A library for handling the WGDOS and RLE compression schemes used in UM files.

            homepage: https://github.com/SciTools/libmo_unpack

            version toolchain 3.1.2 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libmypaint","title":"libmypaint","text":"

            libmypaint, a.k.a. \"brushlib\", is a library for making brushstrokes which is used by MyPaint and other projects

            homepage: https://github.com/mypaint/libmypaint

            version toolchain 1.6.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#libnsl","title":"libnsl","text":"

            The libnsl package contains the public client interface for NIS(YP).

            homepage: https://github.com/thkukuk/libnsl

            version toolchain 1.3.0 GCCcore/10.3.0 2.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libobjcryst","title":"libobjcryst","text":"

            ObjCryst++ is Object-Oriented Crystallographic Library for C++

            homepage: https://github.com/diffpy/libobjcryst

            version toolchain 2017.2.3 intel/2020a 2021.1.2 foss/2021b"},{"location":"version-specific/supported-software/#libogg","title":"libogg","text":"

            Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs.

            homepage: https://xiph.org/ogg/

            version toolchain 1.3.4 GCCcore/10.2.0, GCCcore/10.3.0 1.3.5 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libopus","title":"libopus","text":"

            Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype\u2019s SILK codec and Xiph.Org\u2019s CELT codec.

            homepage: https://www.opus-codec.org/

            version toolchain 1.3.1 GCCcore/11.3.0, GCCcore/12.2.0 1.4 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libosmium","title":"libosmium","text":"

            A fast and flexible C++ library for working with OpenStreetMap data. The Osmium Library has extensive support for all types of OSM entities: nodes, ways, relations, and changesets. It allows reading from and writing to OSM files in XML and PBF formats, including change files and full history files. Osmium can store OSM data in memory and on disk in various formats and using various indexes. Its easy to use handler interface allows you to quickly write data filtering and conversion functions. Osmium can create WKT, WKB, OGR, GEOS and GeoJSON geometries for easy conversion into many GIS formats and it can assemble multipolygons from ways and relations.

            homepage: https://osmcode.org/libosmium/

            version versionsuffix toolchain 2.15.4 -Python-3.6.6 foss/2018b 2.15.6 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#libpci","title":"libpci","text":"

            Library for portable access to PCI bus configuration registers from PCI Utils.

            homepage: https://github.com/pciutils/pciutils

            version toolchain 3.7.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libpciaccess","title":"libpciaccess","text":"

            Generic PCI access library.

            homepage: https://cgit.freedesktop.org/xorg/lib/libpciaccess/

            version toolchain 0.13.4 foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b 0.14 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 0.16 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.2.0, GCCcore/9.3.0 0.17 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libplinkio","title":"libplinkio","text":"

            A small C and Python library for reading PLINK genotype files.

            homepage: https://github.com/mfranberg/libplinkio

            version toolchain 0.9.8 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libpng","title":"libpng","text":"

            libpng is the official PNG reference library

            homepage: http://www.libpng.org/pub/png/libpng.html

            version toolchain 1.2.58 system 1.2.59 system 1.5.30 system 1.6.21 foss/2016a, gimkl/2.11.5, intel/2016a 1.6.23 foss/2016a, foss/2016b, intel/2016b 1.6.24 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, intel/2016b 1.6.26 foss/2016b, intel/2016b 1.6.27 intel/2016b 1.6.28 GCCcore/5.4.0, GCCcore/6.3.0, gimkl/2017a 1.6.29 GCCcore/6.3.0 1.6.32 GCCcore/6.4.0 1.6.34 GCCcore/6.4.0, GCCcore/7.3.0 1.6.36 GCCcore/8.2.0 1.6.37 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.6.38 GCCcore/12.2.0 1.6.39 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libpsl","title":"libpsl","text":"

            C library for the Public Suffix List

            homepage: https://rockdaboot.github.io/libpsl

            version toolchain 0.20.2 GCCcore/7.3.0 0.21.0 GCCcore/8.2.0, GCCcore/8.3.0 0.21.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libpsml","title":"libPSML","text":"

            A library to handle PSML, the pseudopotential markup language.

            homepage: https://launchpad.net/libpsml

            version toolchain 1.1.7 foss/2016b, foss/2017a 1.1.8 iccifort/2019.5.281 1.1.10 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0 1.1.12 GCC/11.3.0"},{"location":"version-specific/supported-software/#libpsortb","title":"libpsortb","text":"

            PSORT family of programs for subcellular localization prediction as well as other datasets and resources relevant to localization prediction.

            homepage: http://psort.org/

            version toolchain 1.0 foss/2016a"},{"location":"version-specific/supported-software/#libpspio","title":"libpspio","text":"

            libpspio is a library to read and write pseudopotentials in multiple formats.

            homepage: https://gitlab.com/ElectronicStructureLibrary/libpspio

            version toolchain 0.2.4 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#libpthread-stubs","title":"libpthread-stubs","text":"

            The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.

            homepage: http://xcb.freedesktop.org/

            version toolchain 0.3 GCCcore/6.4.0, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b 0.4 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libqglviewer","title":"libQGLViewer","text":"

            libQGLViewer is a C++ library based on Qt that eases the creation of OpenGL 3D viewers.

            homepage: http://libqglviewer.com/

            version versionsuffix toolchain 2.6.3 foss/2016a, foss/2016b, intel/2016b 2.6.3 -Mesa-11.2.1 foss/2016a, intel/2016a 2.6.4 intel/2016b 2.7.1 intel/2018a 2.8.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#libreadline","title":"libreadline","text":"

            The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.

            homepage: https://tiswww.case.edu/php/chet/readline/rltop.html

            version toolchain 6.3 GCC/4.8.2, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 7.0 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0 8.0 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, system 8.1 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 8.1.2 GCCcore/11.3.0, GCCcore/12.1.0 8.2 GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#librmath","title":"libRmath","text":"

            The routines supporting the distribution and special functions in R and a few others are declared in C header file Rmath.h. These can be compiled into a standalone library for linking to other applications.

            homepage: https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-standalone-Rmath-library

            version toolchain 3.6.0 foss/2018b 4.0.0 GCCcore/9.3.0 4.1.0 GCCcore/10.2.0 4.1.2 GCCcore/11.2.0 4.2.0 GCCcore/10.3.0 4.2.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#librosa","title":"librosa","text":"

            Python module for audio and music processing

            homepage: https://librosa.github.io

            version versionsuffix toolchain 0.7.2 -Python-3.7.4 foss/2019b, fosscuda/2019b"},{"location":"version-specific/supported-software/#librsb","title":"librsb","text":"

            A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format

            homepage: https://sourceforge.net/projects/librsb/

            version toolchain 1.2.0.9 GCC/10.2.0 1.2.0.10 GCC/10.2.0 1.2.0.11 GCC/10.2.0 1.3.0.0 GCC/10.2.0 1.3.0.1 GCC/10.2.0"},{"location":"version-specific/supported-software/#librsvg","title":"librsvg","text":"

            Librsvg is a library to render SVG files using cairo.

            homepage: https://wiki.gnome.org/Projects/LibRsvg

            version toolchain 2.40.15 intel/2016a 2.48.4 foss/2019a 2.51.2 GCCcore/10.3.0 2.52.8 GCCcore/11.2.0 2.55.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#librttopo","title":"librttopo","text":"

            The RT Topology Library exposes an API to create and manage standard (ISO 13249 aka SQL/MM) topologies using user-provided data stores.

            homepage: https://git.osgeo.org/gitea/rttopo/librttopo

            version toolchain 1.1.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#libsamplerate","title":"libsamplerate","text":"

            Secret Rabbit Code (aka libsamplerate) is a Sample Rate Converter for audio.

            homepage: http://www.mega-nerd.com/libsamplerate

            version toolchain 0.1.9 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#libsbml","title":"libSBML","text":"

            libSBML (Systems Biology Markup Language library) is a free, open-source programming library to help you read, write, manipulate, translate, and validate SBML files and data streams. It's not an application itself (though it does come with example programs), but rather a library you embed in your own applications.

            homepage: http://sbml.org/Software/libSBML

            version toolchain 5.19.0 GCC/10.2.0, GCC/10.3.0"},{"location":"version-specific/supported-software/#libsigc","title":"libsigc++","text":"

            The libsigc++ package implements a typesafe callback system for standard C++.

            homepage: https://libsigcplusplus.github.io/libsigcplusplus/

            version toolchain 2.10.0 GCCcore/6.4.0 2.10.1 GCCcore/7.3.0 2.10.2 GCCcore/8.2.0, GCCcore/8.3.0 2.10.8 GCCcore/10.3.0 3.4.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libsigsegv","title":"libsigsegv","text":"

            GNU libsigsegv is a library for handling page faults in user mode.

            homepage: https://www.gnu.org/software/libsigsegv/

            version toolchain 2.11 GCCcore/6.4.0 2.12 GCCcore/9.3.0 2.13 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libsm","title":"libSM","text":"

            X11 Session Management library, which allows for applications to both manage sessions, and make use of session managers to save and restore their state for later use.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.2.2 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libsndfile","title":"libsndfile","text":"

            Libsndfile is a C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.

            homepage: http://www.mega-nerd.com/libsndfile

            version toolchain 1.0.28 GCCcore/10.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2017a 1.0.31 GCCcore/10.3.0, GCCcore/11.2.0 1.1.0 GCCcore/11.3.0 1.2.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libsodium","title":"libsodium","text":"

            Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more.

            homepage: https://doc.libsodium.org/

            version toolchain 1.0.6 intel/2016a 1.0.8 foss/2016a 1.0.11 foss/2016b, intel/2016b 1.0.12 GCCcore/6.4.0, intel/2017a 1.0.13 GCCcore/6.4.0, foss/2017a 1.0.16 GCCcore/6.4.0, GCCcore/7.3.0 1.0.17 GCCcore/8.2.0 1.0.18 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libsoup","title":"LibSoup","text":"

            libsoup is an HTTP client/server library for GNOME. It uses GObjects and the glib main loop, to integrate well with GNOME applications, and also has a synchronous API, for use in threaded applications.

            homepage: https://wiki.gnome.org/Projects/libsoup

            version toolchain 2.66.1 GCCcore/8.2.0 2.70.0 GCCcore/8.3.0 2.72.0 GCCcore/10.2.0 2.74.0 GCCcore/10.3.0 3.0.7 GCC/11.2.0 3.0.8 GCC/11.3.0"},{"location":"version-specific/supported-software/#libspatialindex","title":"libspatialindex","text":"

            C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API

            homepage: https://libspatialindex.org

            version toolchain 1.8.5 GCCcore/6.4.0, GCCcore/8.2.0, foss/2016b, intel/2016b, intel/2018a 1.9.3 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libspatialite","title":"libspatialite","text":"

            SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.

            homepage: https://www.gaia-gis.it/fossil/libspatialite/home

            version versionsuffix toolchain 4.3.0a foss/2016b, foss/2018b, intel/2016b 4.3.0a -Python-3.7.2 foss/2019a 4.3.0a -Python-3.7.4 GCC/8.3.0 5.0.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#libssh","title":"libssh","text":"

            Multiplatform C library implementing the SSHv2 protocol on client and server side

            homepage: https://www.libssh.org

            version toolchain 0.9.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libstatgen","title":"libStatGen","text":"

            Useful set of classes for creating statistical genetic programs.

            homepage: https://genome.sph.umich.edu/wiki/C++_Library:_libStatGen

            version toolchain 1.0.15 GCCcore/10.2.0 20190330 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libsvm","title":"LIBSVM","text":"

            LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.

            homepage: https://www.csie.ntu.edu.tw/~cjlin/libsvm/

            version toolchain 3.22 intel/2016b, intel/2017b 3.23 foss/2018b, intel/2018b 3.24 GCCcore/9.3.0 3.25 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 3.30 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libtar","title":"libtar","text":"

            C library for manipulating POSIX tar files

            homepage: https://repo.or.cz/libtar.git

            version toolchain 1.2.20 GCCcore/7.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#libtasn1","title":"libtasn1","text":"

            Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and some other packages. It was written by Fabio Fiorina, and has been shipped as part of GnuTLS for some time but is now a proper GNU package.

            homepage: https://www.gnu.org/software/libtasn1/

            version toolchain 4.7 GNU/4.9.3-2.25, foss/2016a, intel/2016a 4.12 GCCcore/5.4.0 4.13 GCCcore/7.3.0, GCCcore/8.2.0 4.16.0 GCCcore/10.2.0, GCCcore/8.3.0 4.17.0 GCCcore/10.3.0 4.18.0 GCCcore/11.2.0 4.19.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libtecla","title":"libtecla","text":"

            The tecla library provides UNIX and LINUX programs with interactive command line editing facilities, similar to those of the UNIX tcsh shell. In addition to simple command-line editing, it supports recall of previously entered command lines, TAB completion of file names or other tokens, and in-line wild-card expansion of filenames. The internal functions which perform file-name completion and wild-card expansion are also available externally for optional use by programs.

            homepage: https://sites.astro.caltech.edu/~mcs/tecla/

            version toolchain 1.6.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libtiff","title":"LibTIFF","text":"

            tiff: Library and tools for reading and writing TIFF data files

            homepage: https://libtiff.gitlab.io/libtiff/

            version toolchain 4.0.6 GCCcore/5.4.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b 4.0.7 foss/2016b, intel/2017a 4.0.8 intel/2017a, intel/2017b 4.0.9 GCCcore/6.4.0, GCCcore/7.3.0, foss/2017b, intel/2017b, intel/2018.01, intel/2018b 4.0.10 GCCcore/8.2.0, GCCcore/8.3.0 4.1.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.2.0 GCCcore/10.3.0 4.3.0 GCCcore/11.2.0, GCCcore/11.3.0 4.4.0 GCCcore/12.2.0 4.5.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libtirpc","title":"libtirpc","text":"

            Libtirpc is a port of Suns Transport-Independent RPC library to Linux.

            homepage: https://sourceforge.net/projects/libtirpc/

            version toolchain 1.1.4 GCCcore/7.3.0, GCCcore/8.2.0 1.2.6 GCCcore/8.3.0, GCCcore/9.3.0 1.3.1 GCCcore/10.2.0 1.3.2 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 1.3.3 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libtool","title":"libtool","text":"

            GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.

            homepage: https://www.gnu.org/software/libtool

            version toolchain 2.4.2 GCC/4.8.2, GCC/4.9.2 2.4.5 GCC/4.8.4, GCC/4.9.2 2.4.6 FCC/4.5.0, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 2.4.7 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#libtree","title":"libtree","text":"

            libtree is a tool that turns ldd into a tree, explains why shared libraries are found and why not and optionally deploys executables and dependencies into a single directory

            homepage: https://github.com/haampie/libtree

            version toolchain 2.0.0 GCCcore/10.3.0 3.0.3 system"},{"location":"version-specific/supported-software/#libunistring","title":"libunistring","text":"

            This library provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard.

            homepage: https://www.gnu.org/software/libunistring/

            version toolchain 0.9.3 GCC/4.9.3-2.25, GNU/4.9.3-2.25, foss/2016a, intel/2016a 0.9.6 GCCcore/5.4.0, foss/2016b, foss/2017a, intel/2016b 0.9.7 GCCcore/6.4.0 0.9.10 GCCcore/10.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.0 GCCcore/11.2.0, GCCcore/11.3.0 1.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libunwind","title":"libunwind","text":"

            The primary goal of libunwind is to define a portable and efficient C programming interface (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain (non-local goto). The API supports both local (same-process) and remote (across-process) operation. As such, the API is useful in a number of applications

            homepage: https://www.nongnu.org/libunwind/

            version toolchain 1.1 GCC/4.9.2, foss/2016a, intel/2016b 1.2.1 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, foss/2016b 1.3.1 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.4.0 GCCcore/10.2.0, GCCcore/10.3.0 1.5.0 GCCcore/10.3.0, GCCcore/11.2.0 1.6.2 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libutempter","title":"libutempter","text":"

            libutempter is library that provides an interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files.

            homepage: http://git.altlinux.org/people/ldv/packages/?p=libutempter.git

            version toolchain 1.1.6.2 GCC/6.4.0-2.28"},{"location":"version-specific/supported-software/#libuuid","title":"LibUUID","text":"

            Portable uuid C library

            homepage: http://sourceforge.net/projects/libuuid/

            version toolchain 1.0.3 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016a, intel/2017a, intel/2017b"},{"location":"version-specific/supported-software/#libuv","title":"libuv","text":"

            libuv is a multi-platform support library with a focus on asynchronous I/O.

            homepage: https://libuv.org

            version toolchain 1.37.0 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#libvdwxc","title":"libvdwxc","text":"

            libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.

            homepage: https://libvdwxc.org

            version toolchain 0.3.2 foss/2018b 0.4.0 foss/2019a, foss/2019b, foss/2020a, foss/2020b, foss/2021a, foss/2021b, foss/2022a, intel/2020b, intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#libvorbis","title":"libvorbis","text":"

            Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format

            homepage: https://xiph.org/vorbis/

            version toolchain 1.3.7 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libwallmodelledles","title":"libWallModelledLES","text":"

            libWallModelledLES is a library based on OpenFOAM\u00ae technology, extending the capabilities of OpenFOAM in the area of wall-modelled LES (WMLES). This is a turbulence modelling methodology, which allows to make LES cheaper by not resolving the inner region of turbulent boundary layers.

            homepage: https://bitbucket.org/lesituu/libwallmodelledles/

            version toolchain 0.6.1 foss/2021b"},{"location":"version-specific/supported-software/#libwebp","title":"libwebp","text":"

            WebP is a modern image format that provides superior lossless and lossy compression for images on the web. Using WebP, webmasters and web developers can create smaller, richer images that make the web faster.

            homepage: https://developers.google.com/speed/webp/

            version toolchain 1.0.0 foss/2018b 1.0.2 GCCcore/7.3.0, GCCcore/8.2.0 1.1.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.2.0 GCCcore/10.3.0, GCCcore/11.2.0 1.2.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libwpe","title":"libwpe","text":"

            WPE is the reference WebKit port for embedded and low-consumption computer devices. It has been designed from the ground-up with performance, small footprint, accelerated content rendering, and simplicity of deployment in mind, bringing the excellence of the WebKit engine to countless platforms and target devices.

            homepage: https://webkit.org/wpe

            version toolchain 1.13.3 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libx11","title":"libX11","text":"

            X11 client-side library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.6.3 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxau","title":"libXau","text":"

            The libXau package contains a library implementing the X11 Authorization Protocol. This is useful for restricting client access to the display.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.0.8 GCCcore/6.4.0, foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxc","title":"libxc","text":"

            Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.

            homepage: https://www.tddft.org/programs/libxc

            version toolchain 2.2.2 GCC/8.2.0-2.31.1, foss/2018b, intel/2018b 2.2.3 foss/2016b, intel/2016a, intel/2016b, intel/2017b, intel/2018a 3.0.0 GCC/5.4.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b, intel/2017a, intel/2017b 3.0.1 GCC/8.2.0-2.31.1, foss/2016b, foss/2017a, foss/2018a, foss/2018b, foss/2020a, foss/2020b, gimkl/2017a, intel/2018a, intel/2018b, intel/2020a 4.0.1 foss/2017b, intel/2017b 4.0.3 foss/2016b, foss/2017a 4.2.3 foss/2017b, foss/2018a, foss/2018b, gimkl/2017a, intel/2018a, intel/2018b 4.3.4 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, iccifort/2020.1.217, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0 5.1.2 GCC/10.2.0 5.1.3 GCC/10.2.0 5.1.5 GCC/10.3.0, intel-compilers/2021.2.0 5.1.6 GCC/11.2.0, intel-compilers/2021.4.0 5.2.3 GCC/11.3.0, intel-compilers/2022.1.0 6.1.0 GCC/12.2.0, intel-compilers/2022.2.1"},{"location":"version-specific/supported-software/#libxcb","title":"libxcb","text":"

            The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.

            homepage: https://xcb.freedesktop.org/

            version toolchain 1.11.1 foss/2016a, gimkl/2.11.5, intel/2016a 1.13 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libxcursor","title":"libXcursor","text":"

            X Cursor management library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.1.14 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxdamage","title":"libXdamage","text":"

            X Damage extension library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.1.4 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxdmcp","title":"libXdmcp","text":"

            The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is useful for allowing clients to interact with the X Display Manager.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.1.2 GCCcore/6.4.0, foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxext","title":"libXext","text":"

            Common X Extensions library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.3.3 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxfixes","title":"libXfixes","text":"

            X Fixes extension library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 5.0.1 foss/2016a, gimkl/2.11.5, intel/2016a 5.0.2 intel/2016a"},{"location":"version-specific/supported-software/#libxfont","title":"libXfont","text":"

            X font libary

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version versionsuffix toolchain 1.5.1 foss/2016a, gimkl/2.11.5, intel/2016a 1.5.1 -freetype-2.6.3 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxft","title":"libXft","text":"

            X11 client-side library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version versionsuffix toolchain 2.3.2 foss/2016a, intel/2016a 2.3.2 -fontconfig-2.11.95 intel/2016a 2.3.2 -freetype-2.6.3 foss/2016a"},{"location":"version-specific/supported-software/#libxi","title":"libXi","text":"

            LibXi provides an X Window System client interface to the XINPUT extension to the X protocol.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.7.6 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxinerama","title":"libXinerama","text":"

            Xinerama multiple monitor library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.1.3 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxkbcommon","title":"libxkbcommon","text":"

            xkbcommon is a library to handle keyboard descriptions, including loading them from disk, parsing them and handling their state. It's mainly meant for client toolkits, window systems, and other system applications.

            homepage: http://xkbcommon.org/

            version toolchain 0.6.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxml","title":"libxml++","text":"

            libxml++ is a C++ wrapper for the libxml XML parser library.

            homepage: http://libxmlplusplus.sourceforge.net

            version toolchain 2.40.1 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 2.42.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#libxml2","title":"libxml2","text":"

            Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable outside of the Gnome platform).

            homepage: http://xmlsoft.org/

            version versionsuffix toolchain 2.9.2 GCC/4.8.3, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3-2.25, GNU/4.9.3-2.25 2.9.3 GCC/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016a 2.9.3 -Python-2.7.11 foss/2016a, intel/2016a 2.9.4 GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, foss/2016.04, foss/2016a, foss/2016b, gimkl/2017a, intel/2016b 2.9.4 -Python-2.7.12 foss/2016b, intel/2016b 2.9.4 -Python-2.7.13 intel/2017a 2.9.5 GCCcore/6.3.0 2.9.6 GCCcore/6.4.0 2.9.7 GCCcore/6.4.0 2.9.8 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0 2.9.9 GCCcore/8.3.0 2.9.10 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.2.0, GCCcore/9.3.0 2.9.13 GCCcore/11.3.0 2.10.3 GCCcore/12.2.0 2.11.4 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libxml2-python","title":"libxml2-python","text":"

            Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable outside of the Gnome platform). This is the Python binding.

            homepage: http://xmlsoft.org/

            version versionsuffix toolchain 2.9.7 -Python-2.7.14 intel/2018a 2.9.8 -Python-2.7.15 foss/2018b 2.9.8 -Python-3.7.2 GCCcore/8.2.0 2.9.13 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libxmu","title":"libXmu","text":"

            libXmu provides a set of miscellaneous utility convenience functions for X libraries to use. libXmuu is a lighter-weight version that does not depend on libXt or libXext

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.1.2 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxp","title":"libXp","text":"

            libXp provides the X print library.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.0.3 intel/2016a"},{"location":"version-specific/supported-software/#libxpm","title":"libXpm","text":"

            libXp provides the X print library.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 3.5.11 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxrandr","title":"libXrandr","text":"

            X Resize, Rotate and Reflection extension library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.5.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxrender","title":"libXrender","text":"

            X11 client-side library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 0.9.9 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxslt","title":"libxslt","text":"

            Libxslt is the XSLT C library developed for the GNOME project (but usable outside of the Gnome platform).

            homepage: http://xmlsoft.org/

            version versionsuffix toolchain 1.1.28 foss/2016a, intel/2016a 1.1.28 -Python-2.7.11 intel/2016a 1.1.29 foss/2016b, intel/2016a, intel/2016b, intel/2017a 1.1.30 GCCcore/6.3.0 1.1.32 GCCcore/6.4.0, GCCcore/7.3.0 1.1.33 GCCcore/8.2.0 1.1.34 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.1.37 GCCcore/12.2.0 1.1.38 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libxsmm","title":"libxsmm","text":"

            LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications targeting Intel Architecture (x86).

            homepage: https://github.com/hfp/libxsmm

            version toolchain 1.4 intel/2016a 1.4.4 foss/2016b, intel/2016b 1.6.4 foss/2016b, intel/2016b 1.8.2 intel/2017b 1.8.3 foss/2018a, intel/2018a 1.10 GCC/8.2.0-2.31.1, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 1.16.1 GCC/10.2.0, GCC/9.3.0, iccifort/2020.1.217, iccifort/2020.4.304 1.16.2 GCC/10.3.0, intel-compilers/2021.2.0 1.17 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#libxt","title":"libXt","text":"

            libXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.1.5 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxxf86vm","title":"libXxf86vm","text":"

            X11 XFree86 video mode extension library

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.1.4 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libyaml","title":"libyaml","text":"

            LibYAML is a YAML parser and emitter written in C.

            homepage: https://pyyaml.org/wiki/LibYAML

            version toolchain 0.1.6 GCCcore/6.4.0, foss/2016b, intel/2016a, intel/2016b 0.1.7 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, system 0.2.1 GCCcore/7.3.0, system 0.2.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.2.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libzeep","title":"libzeep","text":"

            Libzeep was originally developed to make it easy to create SOAP servers.

            homepage: https://github.com/mhekkel/libzeep

            version toolchain 5.0.1 gompi/2019b"},{"location":"version-specific/supported-software/#libzip","title":"libzip","text":"

            libzip is a C library for reading, creating, and modifying zip archives.

            homepage: https://libzip.org/

            version toolchain 1.5.2 GCCcore/8.2.0 1.7.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.9.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#lie_learn","title":"lie_learn","text":"

            lie_learn is a python package that knows how to do various tricky computations related to Lie groups and manifolds (mainly the sphere S2 and rotation group SO3).

            homepage: https://github.com/AMLab-Amsterdam/lie_learn

            version versionsuffix toolchain 0.0.1.post1 -Python-3.7.4 fosscuda/2019b"},{"location":"version-specific/supported-software/#lifelines","title":"lifelines","text":"

            lifelines is a complete survival analysis library, written in pure Python.

            homepage: https://lifelines.readthedocs.io/en/latest/

            version versionsuffix toolchain 0.22.8 -Python-3.7.2 fosscuda/2019a 0.26.3 fosscuda/2020b 0.27.4 foss/2022a"},{"location":"version-specific/supported-software/#lighter","title":"Lighter","text":"

            Fast and memory-efficient sequencing error corrector

            homepage: https://github.com/mourisl/Lighter

            version toolchain 1.1.1 foss/2018a 1.1.2 GCC/11.2.0, foss/2018b"},{"location":"version-specific/supported-software/#liknorm","title":"liknorm","text":"

            Moments of the product of an exponential-family likelihood with a Normal distribution.

            homepage: https://github.com/limix/liknorm

            version toolchain 1.5.2 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#likwid","title":"likwid","text":"

            Likwid stands for Like I knew what I am doing. This project contributes easy to use command line tools for Linux to support programmers in developing high performance multi threaded programs.

            homepage: https://github.com/RRZE-HPC/likwid

            version toolchain 4.0.1 GNU/4.9.3-2.25 4.1.0 GCCcore/4.9.3 4.2.0 GCCcore/6.3.0, GCCcore/6.4.0, foss/2017a, intel/2017a 4.3.2 GCCcore/6.4.0, GCCcore/7.3.0 5.0.1 GCCcore/8.3.0 5.1.0 GCCcore/9.3.0 5.2.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0 5.2.1 GCC/11.2.0 5.2.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#limix","title":"limix","text":"

            Limix is a flexible and efficient linear mixed model library with interfaces to Python. Genomic analyses require flexible models that can be adapted to the needs of the user. Limix is smart about how particular models are fitted to save computational cost.

            homepage: https://github.com/limix/limix

            version versionsuffix toolchain 2.0.4 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#linbox","title":"LinBox","text":"

            C++ library for exact, high-performance linear algebra

            homepage: http://linalg.org/

            version toolchain 1.4.0 foss/2016a"},{"location":"version-specific/supported-software/#line_profiler","title":"line_profiler","text":"

            line_profiler is a module for doing line-by-line profiling of functions. kernprof is a convenient script for running either line_profiler or the Python standard library's cProfile or profile modules, depending on what is available.

            homepage: https://github.com/pyutils/line_profiler

            version versionsuffix toolchain 3.1.0 -Python-3.8.2 foss/2020a 3.5.1 foss/2021b 4.0.0 foss/2022a"},{"location":"version-specific/supported-software/#lingeling","title":"Lingeling","text":"

            One of the design principles of the state-of-the-art SAT solver Lingeling is to use as compact data structures as possible. These reduce memory usage, increase cache efficiency and thus improve runtime, particularly, when using multiple solver instances on multi-core machines, as in our parallel portfolio solver Plingeling and our cube and conquer solver Treengeling.

            homepage: http://fmv.jku.at/lingeling/

            version toolchain bcp GCC/9.3.0"},{"location":"version-specific/supported-software/#lisflood-fp","title":"LISFLOOD-FP","text":"

            The LISFLOOD-FP is a raster-based hydrodynamic model originally developed by the University of Bristol. It has undergone extensive development since conception and includes a collection of numerical schemes implemented to solve a variety of mathematical approximations of the 2D shallow water equations of different complexity. The local inertia solver, known as the ACC solver, is widely used to simulate floods with gradually-varying, subcritical flow over sufficiently rough surfaces with Manning\u2019s coefficient of at least 0.03. It has a version with CPU-specific optimisations and enhanced with a subgrid channel model. LISFLOOD-FP also includes second-order discontinuous Galerkin (DG2) and first-order finite volume (FV1) solvers of the full shallow water equations for modelling a wide range of flows, including rapidly-propagating, supercritical flows, shock waves, or flows over very smooth surfaces. The DG2/FV1 solvers are parallelised for the multi-core CPU architecture, but do not integrate with the subgrid channel model nor with the CPU-specific optimisations.

            homepage: https://www.seamlesswave.com/LISFLOOD8.0.html

            version versionsuffix toolchain 8.1 gompi/2022a 8.1 -CUDA-11.7.0 gompi/2022a"},{"location":"version-specific/supported-software/#littlecms","title":"LittleCMS","text":"

            Little CMS intends to be an OPEN SOURCE small-footprint color management engine, with special focus on accuracy and performance.

            homepage: http://www.littlecms.com/

            version toolchain 2.7 intel/2016a 2.8 GCCcore/6.4.0, foss/2016b, intel/2016b, intel/2017a 2.9 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2017b, foss/2018a, intel/2017b 2.11 GCCcore/10.2.0 2.12 GCCcore/10.3.0, GCCcore/11.2.0 2.13.1 GCCcore/11.3.0 2.14 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#lldb","title":"LLDB","text":"

            The debugger component of the LLVM project

            homepage: https://lldb.llvm.org/

            version versionsuffix toolchain 11.0.0 -Python-3.8.2 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#llvm","title":"LLVM","text":"

            The LLVM Core libraries provide a modern source- and target-independent optimizer, along with code generation support for many popular CPUs (as well as some less common ones!) These libraries are built around a well specified code representation known as the LLVM intermediate representation (\"LLVM IR\"). The LLVM Core libraries are well documented, and it is particularly easy to invent your own language (or port an existing compiler) to use LLVM as an optimizer and code generator.

            homepage: https://llvm.org/

            version toolchain 3.7.1 foss/2016a, gimkl/2.11.5, intel/2016a 3.8.0 foss/2016a, intel/2016a 3.8.1 GCCcore/4.9.3, foss/2016b, intel/2016b 3.9.0 foss/2016b, intel/2016b 3.9.1 foss/2017a 4.0.0 foss/2017a, intel/2017a 4.0.1 intel/2017a, intel/2017b 5.0.0 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 5.0.1 GCCcore/6.4.0 6.0.0 GCCcore/6.4.0, GCCcore/7.3.0 7.0.0 GCCcore/7.2.0, GCCcore/7.3.0 7.0.1 GCCcore/8.2.0 8.0.1 GCCcore/8.3.0 9.0.0 GCCcore/8.3.0 9.0.1 GCCcore/8.3.0, GCCcore/9.3.0 10.0.0 GCCcore/8.3.0 10.0.1 GCCcore/10.2.0 11.0.0 GCCcore/10.2.0 11.1.0 GCCcore/10.3.0 12.0.1 GCCcore/10.3.0, GCCcore/11.2.0 14.0.3 GCCcore/11.3.0 15.0.5 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#lmdb","title":"LMDB","text":"

            LMDB is a fast, memory-efficient database. With memory-mapped files, it has the read performance of a pure in-memory database while retaining the persistence of standard disk-based databases.

            homepage: https://symas.com/lmdb

            version toolchain 0.9.18 foss/2016a 0.9.21 GCCcore/6.4.0, intel/2017a 0.9.22 GCCcore/7.3.0 0.9.23 GCCcore/8.2.0 0.9.24 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.9.28 GCCcore/10.3.0 0.9.29 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#lmfit","title":"LMfit","text":"

            Lmfit provides a high-level interface to non-linear optimization and curve fitting problems for Python

            homepage: https://lmfit.github.io/lmfit-py

            version versionsuffix toolchain 0.9.9 -Python-3.6.4 intel/2018a 0.9.14 -Python-2.7.15 intel/2018b 1.0.0 -Python-3.7.4 foss/2019b, intel/2019b 1.0.1 -Python-3.8.2 foss/2020a 1.0.2 foss/2020b, intel/2020b 1.0.3 foss/2021a, foss/2022a, intel/2022a 1.2.1 foss/2021b"},{"location":"version-specific/supported-software/#lmod","title":"Lmod","text":"

            Lmod is a Lua based module system. Modules allow for dynamic modification of a user's environment under Unix systems. See www.tacc.utexas.edu/tacc-projects/lmod for a complete description. Lmod is a new implementation that easily handles the MODULEPATH Hierarchical problem. It is drop-in replacement for TCL/C modules and reads TCL modulefiles directly.

            homepage: http://sourceforge.net/projects/lmod/

            version toolchain 5.2 GCC/4.8.2 5.2.5 GCC/4.8.2 5.3 GCC/4.8.2 5.4 GCC/4.8.2 5.4.2 GCC/4.8.2 5.5 GCC/4.8.2 5.5.1 GCC/4.8.2 5.6 GCC/4.8.2 5.7 GCC/4.8.2 5.8 GCC/4.8.2 5.8.5 GCC/4.8.2 5.9 GCC/4.8.2, GCC/4.8.4 6.4.2 system 7.3 system"},{"location":"version-specific/supported-software/#lncloom","title":"LncLOOM","text":"

            LncLOOM is a graph-based framework that uses integer programming to identify combinations of short motifs that are deeply conserved in rapidly evolving sequences.

            homepage: https://github.com/lncLOOM/lncLOOMv2/

            version toolchain 2.0 foss/2020b"},{"location":"version-specific/supported-software/#locarna","title":"LocARNA","text":"

            LocARNA is a collection of alignment tools for the structural analysis of RNA. Given a set of RNA sequences, LocARNA simultaneously aligns and predicts common structures for your RNAs. In this way, LocARNA performs Sankoff-like alignment and is in particular suited for analyzing sets of related RNAs without known common structure.

            homepage: http://www.bioinf.uni-freiburg.de/Software/LocARNA/

            version versionsuffix toolchain 1.9.2 foss/2016b 1.9.2.2 -Python-3.6.6 foss/2018b 1.9.2.3 foss/2021b"},{"location":"version-specific/supported-software/#lofreq","title":"LoFreq","text":"

            Fast and sensitive variant calling from next-gen sequencing data

            homepage: http://csb5.github.io/lofreq

            version versionsuffix toolchain 2.1.2 -Python-2.7.12 intel/2016b 2.1.3.1 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a"},{"location":"version-specific/supported-software/#log-log4perl","title":"Log-Log4perl","text":"

            Log4perl

            homepage: https://metacpan.org/pod/Log::Log4perl

            version toolchain 1.47 foss/2016a"},{"location":"version-specific/supported-software/#logaddexp","title":"logaddexp","text":"

            C library that implements the logarithm of the sum of exponentiations. Inspired by NumPy's logaddexp function.

            homepage: https://github.com/horta/logaddexp

            version toolchain 1.0.3 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#lohhla","title":"LOHHLA","text":"

            LOHHLA, Loss Of Heterozygosity in Human Leukocyte Antigen, a computational tool to evaluate HLA loss using next-generation sequencing data.

            homepage: https://bitbucket.org/mcgranahanlab/lohhla

            version versionsuffix toolchain 2018.11.05 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#loki","title":"Loki","text":"

            Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms.

            homepage: http://loki-lib.sourceforge.net/

            version toolchain 0.1.7 foss/2016a, foss/2016b, intel/2016a, intel/2016b, intel/2018a"},{"location":"version-specific/supported-software/#longestrunsubsequence","title":"longestrunsubsequence","text":"

            Implementation of a solver for the Longest Run Subsequence Problem. Given a sequence as input, compute a longest subsequence such that there is at most one run for every character.

            homepage: https://pypi.org/project/longestrunsubsequence/

            version toolchain 1.0.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#longread_umi","title":"longread_umi","text":"

            A collection of scripts for processing longread UMI data.

            homepage: https://github.com/SorenKarst/longread_umi

            version toolchain 0.3.2 foss/2020b"},{"location":"version-specific/supported-software/#longshot","title":"Longshot","text":"

            Longshot is a variant calling tool for diploid genomes using long error prone reads such as Pacific Biosciences (PacBio) SMRT and Oxford Nanopore Technologies (ONT). It takes as input an aligned BAM file and outputs a phased VCF file with variants and haplotype information. It can also output haplotype-separated BAM files that can be used for downstream analysis. Currently, it only calls single nucleotide variants (SNVs).

            homepage: https://github.com/pjedge/longshot

            version toolchain 0.3.4 GCCcore/8.2.0 0.4.1 GCC/7.3.0-2.30, GCCcore/8.3.0 0.4.3 GCCcore/10.2.0 0.4.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#loompy","title":"loompy","text":"

            Python implementation of the Loom file format, an efficient file format for large omics datasets

            homepage: https://loompy.org/

            version toolchain 3.0.6 intel/2020b 3.0.7 foss/2021a, foss/2021b, foss/2022a, intel/2021b"},{"location":"version-specific/supported-software/#loomr","title":"loomR","text":"

            An R interface for loom files

            homepage: https://github.com/mojaveazure/loomR

            version versionsuffix toolchain 0.2.0-20180425 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#lordec","title":"LoRDEC","text":"

            Program for correcting sequencing errors in long reads (e.g., PacBio, Oxford Nanopore) using highly accurate short reads (e.g., Illumina).

            homepage: https://www.lirmm.fr/~rivals/lordec

            version toolchain 0.9 gompi/2022a"},{"location":"version-specific/supported-software/#lpeg","title":"LPeg","text":"

            LPeg is a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs).

            homepage: http://www.inf.puc-rio.br/~roberto/lpeg/

            version toolchain 1.0.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#lpjml","title":"LPJmL","text":"

            Dynamic global vegetation model with managed land and river routing

            homepage: https://github.com/PIK-LPJmL/LPJmL

            version toolchain 4.0.003 iimpi/2020b"},{"location":"version-specific/supported-software/#lpsolve","title":"lpsolve","text":"

            Mixed Integer Linear Programming (MILP) solver

            homepage: https://sourceforge.net/projects/lpsolve/

            version toolchain 5.5.2.5 GCC/6.4.0-2.28, GCC/8.3.0, foss/2018a, iccifort/2017.4.196-GCC-6.4.0-2.28, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, intel/2017a, intel/2018b 5.5.2.11 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#lrslib","title":"lrslib","text":"

            lrslib is a self-contained ANSI C implementation of the reverse search algorithm for vertex enumeration/convex hull problems

            homepage: http://cgm.cs.mcgill.ca/~avis/C/lrs.html

            version toolchain 6.2 intel/2018b 7.0a gompi/2019a"},{"location":"version-specific/supported-software/#ls-prepost","title":"LS-PrePost","text":"

            LS-PrePost is an advanced pre and post-processor that is delivered free with LS-DYNA.

            homepage: http://lstc.com/products/ls-prepost

            version versionsuffix toolchain 4.6 -centos6 system 4.6 -centos7 system 4.6.24 system 4.7.8 system 4.7.15 system"},{"location":"version-specific/supported-software/#lsd2","title":"LSD2","text":"

            Least-squares methods to estimate rates and dates from phylogenies

            homepage: https://github.com/tothuhien/lsd2

            version toolchain 1.9.7 GCCcore/9.3.0 2.2 GCCcore/10.2.0 2.3 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 2.4.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#lsms","title":"LSMS","text":"

            LSMS benchmark, part of CORAL suite

            homepage: https://asc.llnl.gov/CORAL-benchmarks/#lsms

            version toolchain 3_rev237 foss/2016a"},{"location":"version-specific/supported-software/#ltr_retriever","title":"LTR_retriever","text":"

            LTR_retriever is a highly accurate and sensitive program for identification of LTR retrotransposons; The LTR Assembly Index (LAI) is also included in this package.

            homepage: https://github.com/oushujun/LTR_retriever

            version toolchain 2.9.0 foss/2020b, foss/2022a"},{"location":"version-specific/supported-software/#ltrdetector","title":"LtrDetector","text":"

            A modern tool-suite for detectinglong terminal repeat retrotransposons de-novo onthe genomic scale

            homepage: https://github.com/TulsaBioinformaticsToolsmith/LtrDetector

            version versionsuffix toolchain 1.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#lua","title":"Lua","text":"

            Lua is a powerful, fast, lightweight, embeddable scripting language. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.

            homepage: https://www.lua.org/

            version toolchain 5.1.4-5 GCC/4.8.2 5.1.4-8 GCC/4.8.2, GCC/4.8.4, system 5.1.5 GCCcore/7.3.0, GCCcore/8.3.0 5.2.4 GCCcore/6.4.0, GCCcore/7.3.0 5.3.4 GCCcore/7.2.0, system 5.3.5 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, system 5.4.2 GCCcore/10.2.0 5.4.3 GCCcore/10.3.0, GCCcore/11.2.0 5.4.4 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#luajit","title":"LuaJIT","text":"

            LuaJIT is a Just-In-Time Compiler (JIT) for the Lua programming language. Lua is a powerful, dynamic and light-weight programming language. It may be embedded or used as a general-purpose, stand-alone language.

            homepage: https://luajit.org/

            version toolchain 2.0.2 GCC/4.9.2 2.1.0-beta3_20230602 GCC/11.3.0"},{"location":"version-specific/supported-software/#luajit2-openresty","title":"LuaJIT2-OpenResty","text":"

            openresty/luajit2 - OpenResty's maintained branch of LuaJIT. LuaJIT is a Just-In-Time Compiler (JIT) for the Lua programming language. Lua is a powerful, dynamic and light-weight programming language. It may be embedded or used as a general-purpose, stand-alone language.

            homepage: https://github.com/openresty/luajit2

            version toolchain 2.1-20220411 GCC/9.3.0"},{"location":"version-specific/supported-software/#luarocks","title":"LuaRocks","text":"

            LuaRocks is the package manager for Lua modules. It allows you to create and install Lua modules as self-contained packages called rocks.

            homepage: https://luarocks.org

            version toolchain 3.9.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#lucene-geo-gazetteer","title":"Lucene-Geo-Gazetteer","text":"

            A command line gazetteer built around the Geonames.org dataset, that uses the Apache Lucene library to create a searchable gazetteer.

            homepage: https://github.com/chrismattmann/lucene-geo-gazetteer

            version toolchain 20170718 system"},{"location":"version-specific/supported-software/#lumpy","title":"LUMPY","text":"

            A probabilistic framework for structural variant discovery.

            homepage: https://github.com/arq5x/lumpy-sv

            version toolchain 0.2.13 foss/2016b 0.3.1 foss/2020b"},{"location":"version-specific/supported-software/#luscus","title":"LUSCUS","text":"

            Luscus is the program for graphical display and editing of molecular systems.

            homepage: https://sourceforge.net/projects/luscus/

            version toolchain 0.8.6 foss/2018b, intel/2018a"},{"location":"version-specific/supported-software/#lwgrp","title":"lwgrp","text":"

            The light-weight group library defines data structures and collective operations to group MPI processes as an ordered set. Such groups are useful as substitutes for MPI communicators when the overhead of communicator creation is too costly. For example, certain sorting algorithms recursively divide processes into subgroups as the sort algorithm progresses. These groups may be different with each invocation, so that it is inefficient to create and destroy communicators during the sort routine.

            homepage: https://github.com/LLNL/lwgrp

            version toolchain 1.0.2 gompi/2019a, gompi/2020a, iimpi/2019a, iimpi/2020a 1.0.3 gompi/2020b 1.0.5 gompi/2022a"},{"location":"version-specific/supported-software/#lxml","title":"lxml","text":"

            The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.

            homepage: https://lxml.de/

            version versionsuffix toolchain 3.5.0 -Python-2.7.11 intel/2016a 3.6.0 -Python-2.7.11 intel/2016a 3.6.4 -Python-2.7.12 intel/2016b 4.0.0 -Python-2.7.13 intel/2017a 4.1.1 -Python-2.7.14 intel/2017b 4.2.0 -Python-2.7.14 foss/2018a, intel/2018a 4.2.0 -Python-3.6.4 intel/2018a 4.2.5 -Python-2.7.15 foss/2018b, intel/2018b 4.2.5 -Python-3.6.6 foss/2018b 4.3.3 GCCcore/8.2.0 4.4.2 GCCcore/8.3.0 4.5.2 GCCcore/9.3.0 4.6.2 GCCcore/10.2.0 4.6.3 GCCcore/10.3.0, GCCcore/11.2.0 4.9.1 GCCcore/11.3.0 4.9.2 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#lynx","title":"lynx","text":"

            lynx is an alphanumeric display oriented World-Wide Web Client

            homepage: http://lynx.browser.org/

            version versionsuffix toolchain 2.8.9 -develop foss/2016b"},{"location":"version-specific/supported-software/#lz4","title":"lz4","text":"

            LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. It features an extremely fast decoder, with speed in multiple GB/s per core.

            homepage: https://lz4.github.io/lz4/

            version toolchain 1.8.2 GCCcore/5.4.0, GCCcore/6.4.0 1.9.0 GCCcore/7.3.0 1.9.1 GCCcore/8.2.0 1.9.2 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.9.3 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 1.9.4 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#lzo","title":"LZO","text":"

            Portable lossless data compression library

            homepage: http://www.oberhumer.com/opensource/lzo/

            version toolchain 2.09 intel/2016b, intel/2017b 2.10 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2017a, foss/2018a, foss/2018b, fosscuda/2018b, intel/2017a"},{"location":"version-specific/supported-software/#m","title":"M","text":"

            M1QN3 - M3GNet - M4 - MACH - MACS2 - MACSE - maeparser - MAFFT - MAGeCK - magick - Magics - magma - MAGMA-gene-analysis - MagresPython - mahotas - MAJIQ - make - makedepend - makedepf90 - makeinfo - MAKER - Mako - Mamba - mandrake - mannkendall - manta - mapDamage - Maple - MapSplice - Maq - MariaDB - MariaDB-connector-c - MARS - Mash - MaSuRCA - Mathematica - MathGL - MATIO - MATLAB - MATLAB-Engine - matlab-proxy - matplotlib - matplotlib-inline - MATSim - Maude - mauveAligner - Maven - mawk - MaxBin - MaxQuant - mayavi - maze - MbedTLS - MBROLA - mbuffer - mc - MCL - MCR - mctc-lib - mcu - MDAnalysis - MDBM - MDSplus - MDSplus-Java - MDSplus-Python - mdtest - MDTraj - medaka - medImgProc - MedPy - Meep - MEGA - MEGACC - MEGAHIT - Megalodon - MEGAN - Meld - MEM - MEME - memkind - memory-profiler - MEMOTE - memtester - meRanTK - MERCKX - Mercurial - Mesa - Mesa-demos - meshalyzer - meshio - meshtool - Meson - meson-python - Mesquite - MESS - MetaBAT - MetaboAnalystR - metaerg - MetaEuk - MetaGeneAnnotator - Metagenome-Atlas - Metal - MetaMorpheus - MetaPhlAn - MetaPhlAn2 - metaWRAP - Metaxa2 - methylartist - MethylDackel - methylpy - METIS - mgltools - mhcflurry - mhcnuggets - MicrobeAnnotator - microctools - MiGEC - MIGRATE-N - Miller - mimalloc - MINC - MinCED - Mini-XML - miniasm - minibar - MiniCARD - Miniconda2 - Miniconda3 - minieigen - Minimac4 - minimap2 - Minipolish - MiniSat - minizip - MINPACK - MinPath - MIRA - miRDeep2 - Mish-Cuda - misha - MITgcmutils - MITObim - MitoZ - MiXCR - MixMHC2pred - mkl-dnn - mkl-service - mkl_fft - MLC - MLxtend - mm-common - Mmg - MMSEQ - MMseqs2 - mmtf-cpp - MNE-Python - MOABB - MOABS - MOB-suite - ModelTest-NG - modred - Molcas - mold - Molden - molecularGSM - Molekel - molmod - Molpro - MONA - MONAI - MONAI-Label - mongolite - Mono - Monocle3 - moonjit - MOOSE - mordecai - MoreRONN - mosdepth - Mothur - motif - MotionCor2 - motionSegmentation - MoviePy - MPB - MPC - MPFR - mpi4py - MPICH - MPICH2 - mpifileutils - mpiP - MPJ-Express - mpmath - MrBayes - mrcfile - MRChem - MRCPP - MRIcron - MRPRESSO - MRtrix - msgpack-c - MSM - MSPC - msprime - mstore - MTL4 - MuJoCo - mujoco-py - multichoose - MultilevelEstimators - MultiNest - MultiQC - Multiwfn - muMerge - MUMmer - MUMPS - muParser - muparserx - MuPeXI - MUSCLE - MuSiC - MUST - MuTect - mutil - MVAPICH2 - MView - mxml - mxmlplus - MXNet - MyCC - mygene - MyMediaLite - mympingpong - Myokit - mypy - MySQL - MySQL-python - mysqlclient

            "},{"location":"version-specific/supported-software/#m1qn3","title":"M1QN3","text":"

            A solver of large-scale unconstrained minimization problems

            homepage: https://who.rocq.inria.fr/Jean-Charles.Gilbert/modulopt/optimization-routines/m1qn3/m1qn3.html

            version toolchain 3.3 GCC/10.3.0"},{"location":"version-specific/supported-software/#m3gnet","title":"M3GNet","text":"

            \" M3GNet is a new materials graph neural network architecture that incorporates 3-body interactions. A key difference with prior materials graph implementations such as MEGNet is the addition of the coordinates for atoms and the 3\u00d73 lattice matrix in crystals, which are necessary for obtaining tensorial quantities such as forces and stresses via auto-differentiation.

            homepage: https://materialsvirtuallab.github.io/m3gnet/

            version toolchain 0.2.4 foss/2022a"},{"location":"version-specific/supported-software/#m4","title":"M4","text":"

            GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.

            homepage: https://www.gnu.org/software/m4/m4.html

            version toolchain 1.4.16 GCC/4.8.1, GCC/4.8.2, system 1.4.17 GCC/4.8.2, GCC/4.8.4, GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-2.25, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 1.4.18 FCC/4.5.0, GCCcore/10.1.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/5.5.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/7.4.0, GCCcore/8.1.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/8.4.0, GCCcore/9.1.0, GCCcore/9.2.0, GCCcore/9.3.0, GCCcore/system, system 1.4.19 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/11.4.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/9.4.0, GCCcore/9.5.0, system"},{"location":"version-specific/supported-software/#mach","title":"MACH","text":"

            MACH 1.0 is a Markov Chain based haplotyper that can resolve long haplotypes or infer missing genotypes in samples of unrelated individuals.

            homepage: http://csg.sph.umich.edu/abecasis/MACH/

            version toolchain 1.0.18 system"},{"location":"version-specific/supported-software/#macs2","title":"MACS2","text":"

            Model Based Analysis for ChIP-Seq data

            homepage: https://github.com/taoliu/MACS

            version versionsuffix toolchain 2.1.1.20160309 -Python-2.7.14 intel/2017b 2.1.2.1 -Python-2.7.14 foss/2017b, intel/2017b 2.1.2.1 -Python-2.7.15 intel/2019a 2.2.5 -Python-3.6.6 foss/2018b 2.2.7.1 foss/2021b"},{"location":"version-specific/supported-software/#macse","title":"MACSE","text":"

            MACSE aligns coding NT sequences with respect to their AA translation while allowing NT sequences to contain multiple frameshifts and/or stop codons. MACSE is hence the first automatic solution to align protein-coding gene datasets containing non-functional sequences (pseudogenes) without disrupting the underlying codon structure.

            homepage: https://bioweb.supagro.inra.fr/macse/index.php

            version versionsuffix toolchain 2.06 -Java-15 system"},{"location":"version-specific/supported-software/#maeparser","title":"maeparser","text":"

            maeparser is a parser for Schrodinger Maestro files.

            homepage: https://github.com/schrodinger/maeparser

            version toolchain 1.2.2 gompi/2019a, iimpi/2019a 1.3.0 gompi/2019b, gompi/2021a, gompi/2022a, iimpi/2020a"},{"location":"version-specific/supported-software/#mafft","title":"MAFFT","text":"

            MAFFT is a multiple sequence alignment program for unix-like operating systems. It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment of <\u223c200 sequences), FFT-NS-2 (fast; for alignment of <\u223c30,000 sequences), etc.

            homepage: https://mafft.cbrc.jp/alignment/software/source.html

            version versionsuffix toolchain 7.305 -with-extensions foss/2016b 7.397 -with-extensions intel/2018a 7.427 -with-extensions foss/2018b, intel/2018b 7.429 -with-extensions GCC/8.2.0-2.31.1 7.453 -with-extensions GCC/8.3.0, GCC/9.3.0, gompi/2020a, iccifort/2019.5.281, iimpi/2020a 7.470 -with-extensions GCC/9.3.0, gompi/2020a 7.471 -with-extensions iimpi/2020a 7.475 -with-extensions GCC/10.2.0, gompi/2020b 7.487 -with-extensions gompi/2021a 7.490 -with-extensions GCC/10.3.0, GCC/11.2.0, gompi/2021b 7.505 -with-extensions GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#mageck","title":"MAGeCK","text":"

            Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout (MAGeCK) is a computational tool to identify important genes from the recent genome-scale CRISPR-Cas9 knockout screens (or GeCKO) technology. MAGeCK is developed by Wei Li and Han Xu from Dr. Xiaole Shirley Liu's lab at Dana-Farber Cancer Institute, and is being actively updated by Wei Li lab from Children's National Medical Center.

            homepage: https://sourceforge.net/p/mageck/wiki/Home/

            version toolchain 0.5.9.4 foss/2021a, foss/2022a 0.5.9.5 gfbf/2022b"},{"location":"version-specific/supported-software/#magick","title":"magick","text":"

            R bindings to the open-source image processing library ImageMagick

            homepage: https://cran.r-project.org/web/packages/magick/

            version versionsuffix toolchain 2.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#magics","title":"Magics","text":"

            Magics\u00a0is ECMWF's meteorological plotting software and can be either accessed directly through its Python or\u00a0Fortran interfaces or by using Metview.

            homepage: https://confluence.ecmwf.int/display/MAGP/

            version toolchain 4.13.0 gompi/2022a"},{"location":"version-specific/supported-software/#magma","title":"magma","text":"

            The MAGMA project aims to develop a dense linear algebra library similar to LAPACK but for heterogeneous/hybrid architectures, starting with current Multicore+GPU systems.

            homepage: https://icl.cs.utk.edu/magma/

            version versionsuffix toolchain 2.3.0 fosscuda/2017b, intelcuda/2017b 2.3.0 -CUDA-9.1.85 foss/2018a 2.4.0 fosscuda/2018b 2.5.0 fosscuda/2018b 2.5.1 fosscuda/2019a, fosscuda/2019b 2.5.4 fosscuda/2019a, fosscuda/2019b, fosscuda/2020a, fosscuda/2020b, intelcuda/2019b, intelcuda/2020b 2.6.1 -CUDA-11.3.1 foss/2021a 2.6.2 -CUDA-11.4.1 foss/2021b 2.6.2 -CUDA-11.5.2 foss/2021b 2.6.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#magma-gene-analysis","title":"MAGMA-gene-analysis","text":"

            MAGMA is a tool for gene analysis and generalized gene-set analysis of GWAS data. It can be used to analyse both raw genotype data as well as summary SNP p-values from a previous GWAS or meta-analysis.

            homepage: https://ctg.cncr.nl/software/magma

            version toolchain 1.07b foss/2018b 1.07bb GCC/8.3.0 1.09b GCC/11.2.0"},{"location":"version-specific/supported-software/#magrespython","title":"MagresPython","text":"

            MagresPython is a Python library for parsing the CCP-NC ab-initio magnetic resonance file format. This is used in the latest version of the CASTEP and Quantum ESPRESSO (PWSCF) codes.

            homepage: http://tfgg.me/magres-python

            version versionsuffix toolchain 20160329 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#mahotas","title":"mahotas","text":"

            Mahotas is a computer vision and image processing library for Python

            homepage: https://mahotas.readthedocs.io/

            version versionsuffix toolchain 1.4.3 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#majiq","title":"MAJIQ","text":"

            MAJIQ and Voila are two software packages that together detect, quantify, and visualize local splicing variations (LSV) from RNA-Seq data.

            homepage: https://majiq.biociphers.org

            version versionsuffix toolchain 1.1.1 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#make","title":"make","text":"

            GNU version of make utility

            homepage: https://www.gnu.org/software/make/make.html

            version toolchain 3.82 GCC/4.8.2 4.1 GCC/4.9.2 4.2.1 GCC/7.3.0-2.30, GCCcore/8.3.0 4.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/9.3.0 4.4.1 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#makedepend","title":"makedepend","text":"

            The makedepend package contains a C-preprocessor like utility to determine build-time dependencies.

            homepage: https://linux.die.net/man/1/makedepend

            version toolchain 1.0.5 GCCcore/6.3.0, GCCcore/6.4.0, foss/2016a, gimkl/2.11.5, intel/2016a 1.0.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.0.7 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#makedepf90","title":"makedepf90","text":"

            Makedepf90 is a program for automatic creation of Makefile-style dependency lists for Fortran source code.

            homepage: https://linux.die.net/man/1/makedepf90

            version toolchain 2.8.8 foss/2017a"},{"location":"version-specific/supported-software/#makeinfo","title":"makeinfo","text":"

            makeinfo is part of the Texinfo project, the official documentation format of the GNU project.

            homepage: https://www.gnu.org/software/texinfo/

            version versionsuffix toolchain 6.7 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0, GCCcore/9.3.0 6.7 -minimal GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0, GCCcore/9.3.0 6.8 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#maker","title":"MAKER","text":"

            MAKER is a portable and easily configurable genome annotation pipeline. Its purpose is to allow smaller eukaryotic and prokaryotic genome projects to independently annotate their genomes and to create genome databases.

            homepage: https://yandell-lab.org/software/maker.html

            version toolchain 3.01.04 foss/2022a"},{"location":"version-specific/supported-software/#mako","title":"Mako","text":"

            A super-fast templating language that borrows the best ideas from the existing templating languages

            homepage: https://www.makotemplates.org

            version versionsuffix toolchain 1.0.4 -Python-2.7.12 foss/2016b, intel/2016b 1.0.6 -Python-2.7.13 foss/2017a, intel/2017a 1.0.7 -Python-2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, fosscuda/2018a, intel/2017b, intel/2018.01, intel/2018a, intelcuda/2017b, iomkl/2018a 1.0.7 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 1.0.7 -Python-3.6.4 intel/2018a 1.0.7 -Python-3.6.6 fosscuda/2018b 1.0.8 GCCcore/8.2.0 1.1.0 GCCcore/8.3.0 1.1.2 GCCcore/9.3.0 1.1.3 GCCcore/10.2.0 1.1.4 GCCcore/10.3.0, GCCcore/11.2.0 1.2.0 GCCcore/11.3.0 1.2.4 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#mamba","title":"Mamba","text":"

            Mamba is a fast, robust, and cross-platform package manager. It runs on Windows, OS X and Linux (ARM64 and PPC64LE included) and is fully compatible with conda packages and supports most of conda's commands.

            homepage: https://mamba.readthedocs.io/

            version toolchain 4.14.0-0 system"},{"location":"version-specific/supported-software/#mandrake","title":"mandrake","text":"

            Fast visualisation of the population structure of pathogens using Stochastic Cluster Embedding.

            homepage: https://mandrake.readthedocs.io

            version toolchain 1.2.2 foss/2022a"},{"location":"version-specific/supported-software/#mannkendall","title":"mannkendall","text":"

            A python package for non parametric Mann Kendall family of trend tests.

            homepage: https://github.com/mmhs013/pymannkendall

            version toolchain 1.1.1 foss/2022a"},{"location":"version-specific/supported-software/#manta","title":"manta","text":"

            Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. It is optimized for analysis of germline variation in small sets of individuals and somatic variation in tumor/normal sample pairs. Manta discovers, assembles and scores large-scale SVs, medium-sized indels and large insertions within a single efficient workflow.

            homepage: https://github.com/Illumina/manta

            version versionsuffix toolchain 1.1.1 system 1.6.0 system 1.6.0 -Python-2.7.16 gompi/2019b 1.6.0 -Python-2.7.18 GCC/10.2.0, gompi/2020a"},{"location":"version-specific/supported-software/#mapdamage","title":"mapDamage","text":"

            mapDamage2 is a computational framework written in Python and R, which tracks and quantifies DNA damage patterns among ancient DNA sequencing reads generated by Next-Generation Sequencing platforms.

            homepage: https://ginolhac.github.io/mapDamage/

            version versionsuffix toolchain 2.2.1 foss/2021b, foss/2022a 2.2.1 -R-4.0.4 foss/2020b 2.2.1 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#maple","title":"Maple","text":"

            Maple combines the world's most powerful mathematical computation engine with an intuitive, 'clickable' user interface.

            homepage: http://www.maplesoft.com/products/maple/

            version toolchain 15 system 2017.2 system 2022.1 system"},{"location":"version-specific/supported-software/#mapsplice","title":"MapSplice","text":"

            MapSplice is a software for mapping RNA-seq data to reference genome for splice junction discovery that depends only on reference genome, and not on any further annotations.

            homepage: http://www.netlab.uky.edu/p/bioinfo/MapSplice2

            version versionsuffix toolchain 2.2.1 -Python-2.7.12 foss/2016b 2.2.1 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#maq","title":"Maq","text":"

            Maq is a software that builds mapping assemblies from short reads generated by the next-generation sequencing machines.

            homepage: http://maq.sourceforge.net/maq-man.shtml

            version toolchain 0.7.0 system"},{"location":"version-specific/supported-software/#mariadb","title":"MariaDB","text":"

            MariaDB is an enhanced, drop-in replacement for MySQL. Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.

            homepage: https://mariadb.org/

            version toolchain 10.0.21 GNU/4.9.3-2.25 10.1.13 intel/2016a 10.1.14 foss/2016a, intel/2016a 10.1.17 intel/2016b 10.1.24 intel/2017a 10.2.11 foss/2017b, intel/2017b 10.3.7 intel/2018a 10.3.10 foss/2018b 10.3.14 foss/2019a 10.4.13 gompi/2019b 10.5.8 GCC/10.2.0 10.6.4 GCC/10.3.0, GCC/11.2.0 10.9.3 GCC/11.3.0 10.11.2 GCC/12.2.0"},{"location":"version-specific/supported-software/#mariadb-connector-c","title":"MariaDB-connector-c","text":"

            MariaDB Connector/C is used to connect applications developed in C/C++ to MariaDB and MySQL databases.

            homepage: https://downloads.mariadb.org/connector-c/

            version toolchain 2.3.4 foss/2017b, intel/2017b 2.3.5 intel/2018a, iomkl/2018a 2.3.7 GCCcore/8.2.0, GCCcore/8.3.0, foss/2018b 3.1.7 GCCcore/9.3.0 3.1.11 GCCcore/10.2.0 3.2.2 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#mars","title":"MARS","text":"

            improving Multiple circular sequence Alignment using Refined Sequences

            homepage: https://github.com/lorrainea/MARS

            version toolchain 20191101 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#mash","title":"Mash","text":"

            Fast genome and metagenome distance estimation using MinHash

            homepage: http://mash.readthedocs.org

            version toolchain 2.0 foss/2018a 2.1 foss/2018b 2.2 GCC/9.3.0 2.3 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#masurca","title":"MaSuRCA","text":"

            MaSuRCA is whole genome assembly software. It combines the efficiency of the de Bruijn graph and Overlap-Layout-Consensus (OLC) approaches. MaSuRCA can assemble data sets containing only short reads from Illumina sequencing or a mixture of short reads and long reads (Sanger, 454, Pacbio and Nanopore).

            homepage: https://www.genome.umd.edu/masurca.html

            version versionsuffix toolchain 3.2.2 foss/2016a 3.2.2 -Perl-5.26.0 foss/2017b 3.2.4 foss/2018a 3.2.5 -Perl-5.26.0 foss/2017b 3.3.1 -Perl-5.28.0 foss/2018b 4.0.1 -Perl-5.30.2 foss/2020a 4.0.9 -Perl-5.32.1 foss/2021a 4.1.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#mathematica","title":"Mathematica","text":"

            Mathematica is a computational software program used in many scientific, engineering, mathematical and computing fields.

            homepage: http://www.wolfram.com/mathematica

            version toolchain 9.0.1 system 10.0.2 system 10.1.0 system 10.4.1 system 11.0.1 system 11.1.1 system 11.3.0 system 12.0.0 system 12.1.1 system 13.0.0 system 13.1.0 system"},{"location":"version-specific/supported-software/#mathgl","title":"MathGL","text":"

            MathGL is ... a library for making high-quality scientific graphics under Linux and Windows; a library for the fast data plotting and data processing of large data arrays; a library for working in window and console modes and for easy embedding into other programs; a library with large and growing set of graphics.

            homepage: http://mathgl.sourceforge.net/doc_en/Main.html

            version toolchain 2.4.1 foss/2018a"},{"location":"version-specific/supported-software/#matio","title":"MATIO","text":"

            matio is an C library for reading and writing Matlab MAT files.

            homepage: http://sourceforge.net/projects/matio/

            version toolchain 1.5.9 GCCcore/5.4.0 1.5.11 foss/2017b 1.5.12 GCCcore/6.4.0 1.5.17 GCCcore/8.3.0 1.5.19 GCCcore/9.3.0 1.5.21 GCCcore/10.2.0 1.5.23 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#matlab","title":"MATLAB","text":"

            MATLAB is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran.

            homepage: https://www.mathworks.com/products/matlab

            version versionsuffix toolchain 2012b system 2013b system 2015a system 2016a system 2017a system 2018b system 2019b system 2020a system 2020b system 2021a system 2021b system 2022a system 2022a -r3 system 2022b system 2022b -r5 system 2023a system"},{"location":"version-specific/supported-software/#matlab-engine","title":"MATLAB-Engine","text":"

            The MATLAB Engine API for Python provides a package for Python to call MATLAB as a computational engine.

            homepage: https://www.mathworks.com/help/matlab/matlab-engine-for-python.html

            version versionsuffix toolchain 2018b -Python-2.7.14 foss/2017b, intel/2017b 2018b -Python-3.6.3 foss/2017b, intel/2017b 2019b GCCcore/8.3.0 2021a-9.10.1 GCCcore/10.2.0 2021b-9.11.19 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#matlab-proxy","title":"matlab-proxy","text":"

            A Python package which enables you to launch MATLAB and access it from a web browser.

            homepage: https://github.com/mathworks/matlab-proxy

            version toolchain 0.5.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#matplotlib","title":"matplotlib","text":"

            matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python and ipython shell, web application servers, and six graphical user interface toolkits.

            homepage: https://matplotlib.org

            version versionsuffix toolchain 1.4.3 -Python-2.7.12 intel/2016b 1.5.1 -Python-2.7.11 foss/2016a, intel/2016a 1.5.1 -Python-2.7.11-freetype-2.6.3 foss/2016a, intel/2016a 1.5.1 -Python-2.7.12 intel/2016b 1.5.1 -Python-3.5.1 foss/2016a, intel/2016a 1.5.1 -Python-3.5.2 intel/2016b 1.5.2 -Python-2.7.12 foss/2016b, intel/2016b 1.5.2 -Python-3.5.2 intel/2016b 1.5.3 -Python-2.7.12 foss/2016b, intel/2016b 1.5.3 -Python-3.5.2 foss/2016b, intel/2016b 2.0.0 -Python-2.7.12 foss/2016b, intel/2016b 2.0.0 -Python-2.7.13 intel/2017a 2.0.1 -Python-3.6.1 intel/2017a 2.0.2 -Python-2.7.13 foss/2017a, intel/2017a 2.0.2 -Python-2.7.13-Qt-4.8.7 intel/2017a 2.0.2 -Python-2.7.13-libpng-1.6.29 intel/2017a 2.0.2 -Python-3.6.1 foss/2017a 2.0.2 -Python-3.6.1-libpng-1.6.29 intel/2017a 2.1.0 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 2.1.0 -Python-3.6.2 foss/2017b 2.1.0 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 2.1.1 -Python-2.7.14 intel/2017b 2.1.1 -Python-3.6.3 foss/2017b, intel/2017b 2.1.2 -Python-2.7.14 foss/2018a, intel/2018a 2.1.2 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018.02, iomkl/2018a 2.2.3 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 2.2.3 -Python-3.6.6 intel/2018b 2.2.4 -Python-2.7.15 foss/2019a, fosscuda/2019a, intel/2019a, intelcuda/2019a 2.2.4 -Python-2.7.16 foss/2019b, fosscuda/2019b, intel/2019b 2.2.5 -Python-2.7.16 foss/2019b 2.2.5 -Python-2.7.18 foss/2020a, foss/2020b, foss/2021b, fosscuda/2020a, intel/2020a 3.0.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 3.0.2 -Python-3.6.6 foss/2018b 3.0.3 -Python-3.7.2 foss/2019a, fosscuda/2019a, intel/2019a, intelcuda/2019a 3.1.1 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b, intelcuda/2019b 3.2.1 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a, intelcuda/2020a 3.3.3 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 3.4.2 foss/2021a, gomkl/2021a, intel/2021a 3.4.3 foss/2021b, intel/2021b 3.5.1 foss/2020b, intel/2020b 3.5.2 foss/2021b, foss/2022a, intel/2022a 3.7.0 gfbf/2022b"},{"location":"version-specific/supported-software/#matplotlib-inline","title":"matplotlib-inline","text":"

            Matplotlib Inline Back-end for IPython and Jupyter.

            homepage: https://github.com/ipython/matplotlib-inline

            version toolchain 0.1.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#matsim","title":"MATSim","text":"

            MATSim is an open-source framework to implement large-scale agent-based transport simulations.

            homepage: https://www.matsim.org/

            version versionsuffix toolchain 0.8.1 -Java-1.8.0_112 intel/2016b 14.0 -Java-11 GCCcore/11.2.0, system"},{"location":"version-specific/supported-software/#maude","title":"Maude","text":"

            Maude is a high-performance reflective language and system supporting both equational and rewriting logic specification and programming for a wide range of applications. Maude has been influenced in important ways by the OBJ3 language, which can be regarded as an equational logic sublanguage. Besides supporting equational specification and programming, Maude also supports rewriting logic computation.

            homepage: https://maude.cs.illinois.edu/w/index.php/The_Maude_System

            version toolchain 3.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#mauvealigner","title":"mauveAligner","text":"

            Mauve is a system for constructing multiple genome alignments in the presence of large-scale evolutionary events such as rearrangement and inversion. Multiple genome alignments provide a basis for research into comparative genomics and the study of genome-wide evolutionary dynamics. This version was built without Graphical User Interface.

            homepage: https://darlinglab.org/mauve/mauve.html

            version toolchain 4736 gompi/2020a"},{"location":"version-specific/supported-software/#maven","title":"Maven","text":"

            Binary maven install, Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

            homepage: https://maven.apache.org/index.html

            version toolchain 3.2.3 system 3.3.3 system 3.3.9 system 3.5.0 system 3.5.2 system 3.6.0 system 3.6.3 system"},{"location":"version-specific/supported-software/#mawk","title":"mawk","text":"

            mawk is an interpreter for the AWK Programming Language.

            homepage: https://invisible-island.net/mawk/

            version toolchain 1.3.4-20141206 GCC/4.9.2 1.3.4-20171017 foss/2018a, foss/2018b, foss/2019a, intel/2018a, intel/2018b, intel/2019a"},{"location":"version-specific/supported-software/#maxbin","title":"MaxBin","text":"

            MaxBin is software for binning assembled metagenomic sequences based on an Expectation-Maximization algorithm.

            homepage: https://sourceforge.net/projects/maxbin/

            version versionsuffix toolchain 2.2.6 -Perl-5.28.0 foss/2018b 2.2.7 gompi/2020b, gompi/2021a, gompi/2021b 2.2.7 -Perl-5.28.1 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#maxquant","title":"MaxQuant","text":"

            MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets. It is specifically aimed at high-resolution MS data. Several labeling techniques as well as label-free quantification are supported.

            homepage: https://maxquant.org/maxquant

            version toolchain 1.6.10.43 foss/2018b 2.0.3.0 GCCcore/11.2.0 2.2.0.0 GCCcore/11.2.0 2.4.2.0 system"},{"location":"version-specific/supported-software/#mayavi","title":"mayavi","text":"

            The Mayavi scientific data 3-dimensional visualizer

            homepage: http://code.enthought.com/projects/mayavi/

            version versionsuffix toolchain 4.4.4 -Python-2.7.11 intel/2016a 4.6.2 -Python-3.6.6 foss/2018b 4.7.1 -Python-2.7.15 foss/2019a 4.7.1 -Python-3.7.2 foss/2019a 4.7.4 foss/2021b"},{"location":"version-specific/supported-software/#maze","title":"maze","text":"

            In a similar manner to dot plots, maze highlights local sequence similarity between two DNA sequences. In particular, maximal exact substring matches are computed with MUMmer3 and visualised.

            homepage: https://github.com/dellytools/maze

            version toolchain 20170124 foss/2020b"},{"location":"version-specific/supported-software/#mbedtls","title":"MbedTLS","text":"

            An open source, portable, easy to use, readable and flexible SSL library.

            homepage: https://tls.mbed.org/

            version toolchain 2.26.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#mbrola","title":"MBROLA","text":"

            MBROLA is a speech synthesizer based on the concatenation of diphones. It takes a list of phonemes as input, together with prosodic information (duration of phonemes and a piecewise linear description of pitch), and produces speech samples on 16 bits (linear), at the sampling frequency of the diphone database. MBROLA voices project provides list of MBROLA speech synthesizer voices. It is intended to provide easier collaboration and automatic updates for individual users and packagers.

            homepage: <['https://github.com/numediart/MBROLA', 'https://github.com/numediart/MBROLA-voices']>

            version versionsuffix toolchain 3.3 -voices-20200330 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mbuffer","title":"mbuffer","text":"

            mbuffer is a tool for buffering data streams with a large set of unique features.

            homepage: https://www.maier-komor.de/mbuffer.html

            version toolchain 20191016 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mc","title":"mc","text":"

            mc-4.6.1: User-friendly file manager and visual shell

            homepage: https://www.midnight-commander.org/

            version toolchain 4.8.13 GCC/4.9.2"},{"location":"version-specific/supported-software/#mcl","title":"MCL","text":"

            The MCL algorithm is short for the Markov Cluster Algorithm, a fast and scalable unsupervised cluster algorithm for graphs (also known as networks) based on simulation of (stochastic) flow in graphs.

            homepage: https://micans.org/mcl/

            version versionsuffix toolchain 02.063 intel/2016b 14.137 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, intel/2016b 14.137 -Perl-5.26.1 GCCcore/6.4.0 14.137 -Perl-5.28.0 GCCcore/7.3.0 22.282 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mcr","title":"MCR","text":"

            The MATLAB Runtime is a standalone set of shared libraries that enables the execution of compiled MATLAB applications or components on computers that do not have MATLAB installed.

            homepage: https://www.mathworks.com/products/compiler/mcr/

            version versionsuffix toolchain R2013a system R2013b system R2014a system R2014b system R2015a system R2015b system R2016a system R2016b system R2018a system R2018b system R2019a system R2019b .8 system R2020a .6 system R2020b .5 system R2021a .0 system R2021a .3 system R2021b system R2021b .1 system R2021b .2 system R2022a system R2022a .1 system R2022a .5 system"},{"location":"version-specific/supported-software/#mctc-lib","title":"mctc-lib","text":"

            Common tool chain for working with molecular structure data in various applications. This library provides a unified way to perform operations on molecular structure data, like reading and writing to common geometry file formats.

            homepage: https://grimme-lab.github.io/mctc-lib

            version toolchain 0.3.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mcu","title":"mcu","text":"

            A package for periodic wavefunction and crystallography analysis. mcu is designed to support large scale analysis and topological descriptions for periodic wavefunction.

            homepage: https://hungqpham.com/mcu/

            version toolchain 2021-04-06 gomkl/2021a"},{"location":"version-specific/supported-software/#mdanalysis","title":"MDAnalysis","text":"

            MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD) simulations in many popular formats.

            homepage: https://www.mdanalysis.org/

            version versionsuffix toolchain 0.20.1 -Python-3.7.4 foss/2019b, intel/2019b 1.1.1 foss/2020b 2.0.0 foss/2021a, foss/2021b, intel/2021b 2.2.0 foss/2022a 2.4.2 foss/2021a, foss/2022b"},{"location":"version-specific/supported-software/#mdbm","title":"MDBM","text":"

            MDBM is a super-fast memory-mapped key/value store

            homepage: https://github.com/yahoo/mdbm

            version toolchain 4.13.0 GCCcore/6.4.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mdsplus","title":"MDSplus","text":"

            MDSplus is a set of software tools for data acquisition and storage and a methodology for management of complex scientific data.

            homepage: https://mdsplus.org/

            version versionsuffix toolchain 7.0.67 -Java-1.7.0_79-Python-2.7.11 foss/2016a 7.46.1 foss/2018a 7.96.8 GCCcore/9.3.0 7.96.12 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mdsplus-java","title":"MDSplus-Java","text":"

            MDSplus is a set of software tools for data acquisition and storage and a methodology for management of complex scientific data.

            homepage: https://mdsplus.org

            version versionsuffix toolchain 7.96.12 -Java-13 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mdsplus-python","title":"MDSplus-Python","text":"

            MDSplus is a set of software tools for data acquisition and storage and a methodology for management of complex scientific data.

            homepage: https://mdsplus.org

            version versionsuffix toolchain 7.96.12 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#mdtest","title":"mdtest","text":"

            mdtest is an MPI-coordinated metadata benchmark test that performs open/stat/close operations on files and directories and then reports the performance.

            homepage: http://sourceforge.net/projects/mdtest/

            version toolchain 1.9.3 intel/2017a"},{"location":"version-specific/supported-software/#mdtraj","title":"MDTraj","text":"

            Read, write and analyze MD trajectories with only a few lines of Python code.

            homepage: https://mdtraj.org

            version versionsuffix toolchain 1.9.1 -Python-3.6.3 intel/2017b 1.9.2 -Python-3.6.6 intel/2018b 1.9.3 -Python-3.7.4 foss/2019b, intel/2019b 1.9.4 -Python-3.8.2 foss/2020a, intel/2020a 1.9.5 foss/2020b, fosscuda/2020b, intel/2020b 1.9.7 foss/2021a, foss/2022a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#medaka","title":"medaka","text":"

            medaka is a tool to create a consensus sequence from nanopore sequencing data.

            homepage: https://github.com/nanoporetech/medaka

            version versionsuffix toolchain 0.4.3 -Python-3.6.6 foss/2018b 0.11.4 -Python-3.6.6 foss/2018b 0.12.0 -Python-3.6.6 foss/2018b 1.1.1 -Python-3.7.4 foss/2019b 1.1.3 -Python-3.7.4 foss/2019b 1.2.0 -Python-3.7.4 foss/2019b 1.4.3 foss/2020b 1.4.3 -Python-3.7.4 foss/2019b 1.5.0 foss/2021a 1.6.0 foss/2021b"},{"location":"version-specific/supported-software/#medimgproc","title":"medImgProc","text":"

            Motion correction, explicit spatio-temporal regularization of motion tracking, random speckles enhancement, and segmentation.

            homepage: https://github.com/WeiXuanChan/motionSegmentation

            version versionsuffix toolchain 2.5.7 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#medpy","title":"MedPy","text":"

            MedPy is a library and script collection for medical image processing in Python, providing basic functionalities for reading, writing and manipulating large images of arbitrary dimensionality. Its main contributions are n-dimensional versions of popular image filters, a collection of image feature extractors, ready to be used with scikit-learn, and an exhaustive n-dimensional graph-cut package.

            homepage: https://pypi.org/project/MedPy/

            version versionsuffix toolchain 0.4.0 foss/2020b, fosscuda/2020b 0.4.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#meep","title":"Meep","text":"

            Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems.

            homepage: https://meep.readthedocs.io/en/latest/

            version versionsuffix toolchain 1.3 foss/2016a 1.4.3 intel/2020a 1.6.0 -Python-2.7.14 foss/2017b, foss/2018a, intel/2018a 1.26.0 foss/2020b"},{"location":"version-specific/supported-software/#mega","title":"MEGA","text":"

            MEGA-CC (Molecular Evolutionary Genetics Analysis Computational Core) is an integrated suite of tools for statistics-based comparative analysis of molecular sequence data based on evolutionary principles.

            homepage: http://www.megasoftware.net/

            version toolchain 7.0.20-1 system 10.0.5 system 11.0.10 system"},{"location":"version-specific/supported-software/#megacc","title":"MEGACC","text":"

            MEGA-Computing Core - Sophisticated and user-friendly software suite for analyzing DNA and protein sequence data from species and populations.

            homepage: http://www.megasoftware.net

            version toolchain 7.0.18-1 system"},{"location":"version-specific/supported-software/#megahit","title":"MEGAHIT","text":"

            An ultra-fast single-node solution for large and complex metagenomics assembly via succinct de Bruijn graph

            homepage: https://github.com/voutcn/megahit

            version versionsuffix toolchain 1.1.2 -Python-2.7.14 foss/2018a 1.1.3 -Python-2.7.14 foss/2017b, foss/2018a 1.1.3 -Python-3.6.3 foss/2017b 1.1.4 -Python-2.7.15 foss/2018b 1.1.4 -Python-3.6.6 foss/2018b 1.2.8 GCCcore/8.2.0 1.2.9 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0, foss/2018b 1.2.9 -Python-2.7.18 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#megalodon","title":"Megalodon","text":"

            Megalodon is a research command line tool to extract high accuracy modified base and sequence variant calls from raw nanopore reads by anchoring the information rich basecalling neural network output to a reference genome/transriptome.

            homepage: https://github.com/nanoporetech/megalodon

            version versionsuffix toolchain 2.3.5 foss/2020b, fosscuda/2020b 2.5.0 foss/2021a 2.5.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#megan","title":"MEGAN","text":"

            MEGAN is a comprehensive toolbox for interactively analyzing microbiome data

            homepage: http://megan.informatik.uni-tuebingen.de/

            version versionsuffix toolchain 6.22.0 -Java-17 system"},{"location":"version-specific/supported-software/#meld","title":"Meld","text":"

            Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and has support for many popular version control systems.

            homepage: https://meldmerge.org/

            version versionsuffix toolchain 3.20.1 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#mem","title":"MEM","text":"

            Marker Enrichment Modeling (MEM) is a tool designed to calculate enrichment scores.

            homepage: https://github.com/cytolab/mem

            version versionsuffix toolchain 20191023 foss/2019b 20191023 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#meme","title":"MEME","text":"

            The MEME Suite allows you to: * discover motifs using MEME, DREME (DNA only) or GLAM2 on groups of related DNA or protein sequences, * search sequence databases with motifs using MAST, FIMO, MCAST or GLAM2SCAN, * compare a motif to all motifs in a database of motifs, * associate motifs with Gene Ontology terms via their putative target genes, and * analyse motif enrichment using SpaMo or CentriMo.

            homepage: https://meme-suite.org/meme/index.html

            version versionsuffix toolchain 5.0.4 -Perl-5.26.0-Python-2.7.14 foss/2017b, intel/2017b 5.0.4 -Perl-5.26.0-Python-3.6.3 foss/2017b, intel/2017b 5.1.1 -Python-3.6.6 foss/2018b 5.1.1 -Python-3.7.4 foss/2019b, intel/2019b 5.4.1 GCC/10.3.0, gompi/2021b 5.4.1 -Python-2.7.18 gompi/2021b"},{"location":"version-specific/supported-software/#memkind","title":"memkind","text":"

            User Extensible Heap Manager built on top of jemalloc which enables control of memory characteristics and a partitioning of the heap between kinds of memory.

            homepage: http://memkind.github.io

            version toolchain 1.5.0 GCCcore/5.4.0"},{"location":"version-specific/supported-software/#memory-profiler","title":"memory-profiler","text":"

            memory-profiler is a Python module for monitoring memory consumption of a process as well as line-by-line analysis of memory consumption for python programs.

            homepage: https://pypi.org/project/memory-profiler

            version toolchain 0.55.0 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#memote","title":"MEMOTE","text":"

            The genome-scale metabolic model test suite

            homepage: https://github.com/opencobra/memote

            version toolchain 0.13.0 foss/2021a"},{"location":"version-specific/supported-software/#memtester","title":"memtester","text":"

            A userspace utility for testing the memory subsystem for faults

            homepage: https://pyropus.ca./software/memtester/

            version toolchain 4.5.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#merantk","title":"meRanTK","text":"

            meRanTK is a versatile high performance toolkit for complete analysis of methylated RNA data.

            homepage: http://www.icbi.at/index.html

            version toolchain 1.1.1b system"},{"location":"version-specific/supported-software/#merckx","title":"MERCKX","text":"

            Multilingual Entity/Resource Combiner & Knowledge eXtractor

            homepage: https://github.com/madewild/MERCKX

            version versionsuffix toolchain 20170330 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#mercurial","title":"Mercurial","text":"

            Mercurial is a free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface.

            homepage: https://www.mercurial-scm.org

            version versionsuffix toolchain 3.8.3 -Python-2.7.11 foss/2016a 5.7.1 GCCcore/10.2.0 5.7.1 -Python-3.8.2 GCCcore/9.3.0 5.8 GCCcore/10.3.0 6.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mesa","title":"Mesa","text":"

            Mesa is an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics.

            homepage: https://www.mesa3d.org/

            version toolchain 11.1.2 foss/2016a, gimkl/2.11.5, intel/2016a 11.2.1 foss/2016a, intel/2016a 12.0.2 foss/2016b, intel/2016b 17.0.2 foss/2017a, intel/2017a 17.2.4 intel/2017b, intelcuda/2017b 17.2.5 foss/2017b, fosscuda/2017b 17.3.6 foss/2018a, fosscuda/2018a, intel/2018a, iomkl/2018a 18.1.1 foss/2018b, fosscuda/2018b, intel/2018b 19.0.1 GCCcore/8.2.0 19.1.7 GCCcore/8.3.0 19.2.1 GCCcore/8.3.0 20.0.2 GCCcore/9.3.0 20.2.1 GCCcore/10.2.0 21.1.1 GCCcore/10.3.0 21.1.7 GCCcore/11.2.0 22.0.3 GCCcore/11.3.0 22.2.4 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#mesa-demos","title":"Mesa-demos","text":"

            Mesa utility and demo programs, including glxinfo and eglinfo.

            homepage: https://www.mesa3d.org/

            version toolchain 8.4.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#meshalyzer","title":"meshalyzer","text":"

            Graphical program for display time dependent data on 3D finite element meshes

            homepage: https://git.opencarp.org/openCARP/meshalyzer

            version versionsuffix toolchain 2.0 -Python-3.8.2 foss/2020a 2.2 foss/2020b 20200308 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#meshio","title":"meshio","text":"

            meshio is a tool for reading/writing various mesh formats representing unstructured meshes

            homepage: https://github.com/nschloe/meshio

            version versionsuffix toolchain 1.7.1 -Python-2.7.12 intel/2016b 2.0.2 -Python-2.7.14 intel/2018a 2.0.2 -Python-3.6.4 intel/2018a 5.3.4 foss/2022b"},{"location":"version-specific/supported-software/#meshtool","title":"meshtool","text":"

            Meshtool is a comand-line tool written in C++. It is designed to apply various manipulations to volumetric meshes.

            homepage: https://bitbucket.org/aneic/meshtool

            version toolchain 16 GCC/10.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#meson","title":"Meson","text":"

            Meson is a cross-platform build system designed to be both as fast and as user friendly as possible.

            homepage: https://mesonbuild.com

            version versionsuffix toolchain 0.43.0 -Python-3.6.3 intel/2017b 0.46.1 -Python-3.6.4 foss/2018a 0.48.1 -Python-3.6.4 foss/2018a, intel/2018a 0.48.1 -Python-3.6.6 foss/2018b, fosscuda/2018b 0.50.0 -Python-3.7.2 GCCcore/8.2.0 0.51.2 -Python-3.7.4 GCCcore/8.3.0 0.53.1 -Python-3.6.3 intel/2017b 0.53.2 -Python-3.8.2 GCCcore/9.3.0 0.55.1 -Python-3.8.2 GCCcore/9.3.0 0.55.3 GCCcore/10.2.0 0.58.0 GCCcore/10.3.0 0.58.2 GCCcore/11.2.0 0.59.1 -Python-3.7.4 GCCcore/8.3.0 0.62.1 GCCcore/11.3.0 0.64.0 GCCcore/12.2.0 1.1.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#meson-python","title":"meson-python","text":"

            Python build backend (PEP 517) for Meson projects

            homepage: https://github.com/mesonbuild/meson-python

            version toolchain 0.11.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#mesquite","title":"Mesquite","text":"

            Mesh-Quality Improvement Library

            homepage: https://software.sandia.gov/mesquite/

            version toolchain 2.3.0 GCCcore/10.2.0, GCCcore/6.4.0, GCCcore/8.3.0, gimkl/2.11.5, intel/2016a, intel/2017a"},{"location":"version-specific/supported-software/#mess","title":"MESS","text":"

            Master Equation System Solver (MESS)

            homepage: https://github.com/PACChem/MESS

            version toolchain 0.1.6 foss/2019b"},{"location":"version-specific/supported-software/#metabat","title":"MetaBAT","text":"

            An efficient tool for accurately reconstructing single genomes from complex microbial communities

            homepage: https://bitbucket.org/berkeleylab/metabat

            version versionsuffix toolchain 2.12.1 -Python-2.7.15 foss/2018b 2.14 gompi/2019a 2.15 GCC/11.2.0, gompi/2021a, gompi/2021b 2.15 -Python-2.7.18 gompi/2020b"},{"location":"version-specific/supported-software/#metaboanalystr","title":"MetaboAnalystR","text":"

            MetaboAnalystR contains the R functions and libraries underlying the popular MetaboAnalyst web server, including > 500 functions for metabolomic data analysis, visualization, and functional interpretation.

            homepage: https://www.metaboanalyst.ca

            version versionsuffix toolchain 2.0.1-20190827 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#metaerg","title":"metaerg","text":"

            MetaErg is a stand-alone and fully automated metagenomic and metaproteomic data annotation pipeline.

            homepage: https://github.com/xiaoli-dong/metaerg

            version versionsuffix toolchain 1.2.3 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#metaeuk","title":"MetaEuk","text":"

            MetaEuk is a modular toolkit designed for large-scale gene discovery and annotation in eukaryotic metagenomic contigs.

            homepage: https://metaeuk.soedinglab.org

            version toolchain 4 GCC/10.2.0 5 GCC/10.3.0 6 GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#metageneannotator","title":"MetaGeneAnnotator","text":"

            MetaGeneAnnotator is a gene-finding program for prokaryote and phage.

            homepage: http://metagene.nig.ac.jp/

            version versionsuffix toolchain 20080819 -x86-64 system"},{"location":"version-specific/supported-software/#metagenome-atlas","title":"Metagenome-Atlas","text":"

            Metagenome-atlas is a easy-to-use metagenomic pipeline based on snakemake. It handles all steps from QC, Assembly, Binning, to Annotation.

            homepage: https://github.com/metagenome-atlas/atlas

            version versionsuffix toolchain 2.4.3 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#metal","title":"Metal","text":"

            Metal - Meta Analysis Helper. The METAL software is designed to facilitate meta-analysis of large datasets (such as several whole genome scans) in a convenient, rapid and memory efficient manner.

            homepage: http://csg.sph.umich.edu/abecasis/Metal/

            version toolchain 2011-03-25 foss/2016a 2020-05-05 GCC/10.2.0"},{"location":"version-specific/supported-software/#metamorpheus","title":"MetaMorpheus","text":"

            MetaMorpheus is a bottom-up proteomics database search software with integrated post-translational modification (PTM) discovery capability. This program combines features of Morpheus and G-PTM-D in a single tool.

            homepage: https://github.com/smith-chem-wisc/MetaMorpheus

            version toolchain 0.0.320 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#metaphlan","title":"MetaPhlAn","text":"

            MetaPhlAn is a computational tool for profiling the composition of microbial communities from metagenomic shotgun sequencing data

            homepage: https://github.com/biobakery/MetaPhlAn

            version versionsuffix toolchain 3.0.9 -Python-3.8.2 foss/2020a 4.0.6 foss/2022a"},{"location":"version-specific/supported-software/#metaphlan2","title":"MetaPhlAn2","text":"

            MetaPhlAn is a computational tool for profiling the composition of microbial communities (Bacteria, Archaea, Eukaryotes and Viruses) from metagenomic shotgun sequencing data (i.e. not 16S) with species-level. With the newly added StrainPhlAn module, it is now possible to perform accurate strain-level microbial profiling.

            homepage: https://bitbucket.org/biobakery/metaphlan2/

            version versionsuffix toolchain 2.7.8 -Python-2.7.12 foss/2016b 2.7.8 -Python-3.6.6 foss/2018b 2.7.8 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#metawrap","title":"metaWRAP","text":"

            MetaWRAP aims to be an easy-to-use metagenomic wrapper suite that accomplishes the core tasks of metagenomic analysis from start to finish: read quality control, assembly, visualization, taxonomic profiling, extracting draft genomes (binning), and functional annotation.

            homepage: https://github.com/bxlab/metaWRAP

            version versionsuffix toolchain 1.2 -Python-2.7.15 foss/2018b 1.2.2 -Python-2.7.15 foss/2019a 1.3 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#metaxa2","title":"Metaxa2","text":"

            Metaxa2 -- Identifies Small Subunit (SSU) rRNAs and classifies them taxonomically

            homepage: https://microbiology.se/software/metaxa2/

            version toolchain 2.2 gompi/2019a"},{"location":"version-specific/supported-software/#methylartist","title":"methylartist","text":"

            Tools for plotting methylation data in various ways

            homepage: https://github.com/adamewing/methylartist

            version toolchain 1.2.6 foss/2021b"},{"location":"version-specific/supported-software/#methyldackel","title":"MethylDackel","text":"

            A (mostly) universal methylation extractor for BS-seq experiments.

            homepage: https://github.com/dpryan79/MethylDackel

            version toolchain 0.4.0 iccifort/2019.1.144-GCC-8.2.0-2.31.1 0.5.0 iccifort/2019.5.281 0.6.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#methylpy","title":"methylpy","text":"

            Bisulfite sequencing data processing and differential methylation analysis.

            homepage: https://pypi.python.org/pypi/methylpy

            version versionsuffix toolchain 1.1.9 -Python-2.7.13 foss/2017a 1.2.9 foss/2021b"},{"location":"version-specific/supported-software/#metis","title":"METIS","text":"

            METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes.

            homepage: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview

            version versionsuffix toolchain 5.0.2 gimkl/2.11.5 5.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2017a, foss/2018b, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a 5.1.0 -32bitIDX foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#mgltools","title":"mgltools","text":"

            The MGLTools software suite can be used for visualization and analysis of molecular structures and comprises the Python Molecular Viewer (PMV, a general purpose molecular viewer), AutoDockTools (ADT, a set of PMV commands specifically developed to support AutoDock users) and Vision (a visual programming environment).

            homepage: https://ccsb.scripps.edu/mgltools/

            version toolchain 1.5.7 system"},{"location":"version-specific/supported-software/#mhcflurry","title":"mhcflurry","text":"

            MHCflurry implements class I peptide/MHC binding affinity prediction. By default it supports 112 MHC alleles using ensembles of allele-specific models. Pan-allele predictors supporting virtually any MHC allele of known sequence are available for testing (see below). MHCflurry runs on Python 2.7 and 3.4+ using the keras neural network library. It exposes command-line and Python library interfaces.

            homepage: https://github.com/openvax/mhcflurry

            version versionsuffix toolchain 1.2.4 -Python-3.7.2 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#mhcnuggets","title":"mhcnuggets","text":"

            MHCnuggets: Neoantigen peptide MHC binding prediction for class I and II.

            homepage: https://github.com/KarchinLab/mhcnuggets

            version versionsuffix toolchain 2.3 foss/2020b, fosscuda/2020b 2.3 -Python-3.7.2 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#microbeannotator","title":"MicrobeAnnotator","text":"

            Easy-to-use pipeline for the comprehensive metabolic annotation of microbial genomes.

            homepage: https://github.com/cruizperez/MicrobeAnnotator

            version toolchain 2.0.5 foss/2021a"},{"location":"version-specific/supported-software/#microctools","title":"microctools","text":"

            Various worker functions for microclimc package

            homepage: https://github.com/ilyamaclean/microctools

            version versionsuffix toolchain 0.1.0-20201209 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#migec","title":"MiGEC","text":"

            MIGEC is a software pipeline that facilitates processing and analysis of immune repertoire sequencing data generated using molecular barcoding technique

            homepage: https://milaboratory.com/software/migec/

            version versionsuffix toolchain 1.2.8 -Java-1.8.0_162 system 1.2.9 -Java-1.8 system"},{"location":"version-specific/supported-software/#migrate-n","title":"MIGRATE-N","text":"

            Migrate estimates population parameters, effective population sizes and migration rates of n populations, using genetic data. It uses a coalescent theory approach taking into account history of mutations and uncertainty of the genealogy.

            homepage: https://peterbeerli.com/migrate-html5/index.html

            version toolchain 4.2.8 foss/2016a 4.2.14 foss/2018a 5.0.4 foss/2021b"},{"location":"version-specific/supported-software/#miller","title":"Miller","text":"

            Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

            homepage: https://miller.readthedocs.io/

            version toolchain 6.4.0 system"},{"location":"version-specific/supported-software/#mimalloc","title":"mimalloc","text":"

            mimalloc is a general purpose allocator with excellent performance characteristics.

            homepage: https://microsoft.github.io/mimalloc/

            version toolchain 1.7.2 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#minc","title":"MINC","text":"

            Medical Image NetCDF or MINC isn't netCDF.

            homepage: https://github.com/BIC-MNI/libminc

            version toolchain 2.4.03 foss/2017b, foss/2018a, intel/2017b"},{"location":"version-specific/supported-software/#minced","title":"MinCED","text":"

            Mining CRISPRs in Environmental Datasets

            homepage: https://github.com/ctSkennerton/minced

            version versionsuffix toolchain 0.4.2 -Java-11 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#mini-xml","title":"Mini-XML","text":"

            Mini-XML is a small XML parsing library that you can use to read XML data files or strings in your application without requiring large non-standard libraries

            homepage: https://www.msweet.org/mxml

            version toolchain 2.9 GCCcore/8.2.0 2.12 GCCcore/9.3.0 3.2 GCCcore/10.3.0 3.3.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#miniasm","title":"miniasm","text":"

            Miniasm is a very fast OLC-based de novo assembler for noisy long reads. It takes all-vs-all read self-mappings (typically by minimap) as input and outputs an assembly graph in the GFA format. Different from mainstream assemblers, miniasm does not have a consensus step. It simply concatenates pieces of read sequences to generate the final unitig sequences. Thus the per-base error rate is similar to the raw input reads.

            homepage: https://github.com/lh3/minimap2

            version toolchain 0.3-20191007 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#minibar","title":"minibar","text":"

            Dual barcode and primer demultiplexing for MinION sequenced reads

            homepage: https://github.com/calacademy-research/minibar

            version versionsuffix toolchain 20200326 -Python-3.7.4 iccifort/2019.5.281 20200326 -Python-3.8.2 iccifort/2020.1.217"},{"location":"version-specific/supported-software/#minicard","title":"MiniCARD","text":"

            MiniCARD is a cardinality solver based on MiniSAT [www.minisat.se]. MiniCARD handles cardinality constraints natively, using the same efficient data structures and techniques MiniSAT uses for clauses, giving it much better performance on cardinality constraints than CNF encodings of those constraints passed to a typical SAT solver. It can read the standard DIMACS CNF format, the OPB pseudo-boolean format (with linear cardinality constraints only), and CNF+, a format that extends CNF to include cardinality constraints.

            homepage: https://github.com/liffiton/minicard

            version toolchain 1.2 GCC/9.3.0"},{"location":"version-specific/supported-software/#miniconda2","title":"Miniconda2","text":"

            Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages.

            homepage: https://docs.conda.io/en/latest/miniconda.html

            version toolchain 4.3.21 system 4.6.14 system 4.7.10 system"},{"location":"version-specific/supported-software/#miniconda3","title":"Miniconda3","text":"

            Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages.

            homepage: https://docs.conda.io/en/latest/miniconda.html

            version toolchain 4.4.10 system 4.5.12 system 4.6.14 system 4.7.10 system 4.8.3 system 4.9.2 system 4.12.0 system 22.11.1-1 system"},{"location":"version-specific/supported-software/#minieigen","title":"minieigen","text":"

            A small wrapper for core parts of EIgen, c++ library for linear algebra.

            homepage: https://launchpad.net/minieigen/

            version versionsuffix toolchain 0.5.3 -Python-2.7.11 foss/2016a, intel/2016a 0.5.3 -Python-2.7.12 foss/2016b, intel/2016b 0.5.3 -Python-2.7.12-Boost-1.63.0 intel/2016b 0.5.4 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#minimac4","title":"Minimac4","text":"

            Minimac4 is a latest version in the series of genotype imputation software - preceded by Minimac3 (2015), Minimac2 (2014), minimac (2012) and MaCH (2010). Minimac4 is a lower memory and more computationally efficient implementation of the original algorithms with comparable imputation quality.

            homepage: https://genome.sph.umich.edu/wiki/Minimac4

            version toolchain 1.0.0 foss/2018a"},{"location":"version-specific/supported-software/#minimap2","title":"minimap2","text":"

            Minimap2 is a fast sequence mapping and alignment program that can find overlaps between long noisy reads, or map long reads or their assemblies to a reference genome optionally with detailed alignment (i.e. CIGAR). At present, it works efficiently with query sequences from a few kilobases to ~100 megabases in length at an error rate ~15%. Minimap2 outputs in the PAF or the SAM format. On limited test data sets, minimap2 is over 20 times faster than most other long-read aligners. It will replace BWA-MEM for long reads and contig alignment.

            homepage: https://github.com/lh3/minimap2

            version toolchain 2.0rc1 foss/2016b 2.10 foss/2018a 2.11 intel/2018a 2.12 foss/2018a 2.13 foss/2018b 2.17 GCC/8.2.0-2.31.1, GCC/8.3.0, GCCcore/9.3.0 2.18 GCCcore/10.2.0 2.20 GCCcore/10.2.0, GCCcore/10.3.0 2.22 GCCcore/11.2.0 2.24 GCCcore/11.2.0, GCCcore/11.3.0 2.26 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#minipolish","title":"Minipolish","text":"

            A tool for Racon polishing of miniasm assemblies

            homepage: https://github.com/rrwick/Minipolish

            version toolchain 0.1.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#minisat","title":"MiniSat","text":"

            MiniSat is a minimalistic, open-source SAT solver, developed to help researchers and developers alike to get started on SAT.

            homepage: http://minisat.se/

            version toolchain 2.2.0 GCC/9.3.0 20130925 GCC/9.3.0"},{"location":"version-specific/supported-software/#minizip","title":"minizip","text":"

            Mini zip and unzip based on zlib

            homepage: https://www.winimage.com/zLibDll/minizip.html

            version toolchain 1.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#minpack","title":"MINPACK","text":"

            Minpack includes software for solving nonlinear equations and nonlinear least squares problems. Five algorithmic paths each include a core subroutine and an easy-to-use driver. The algorithms proceed either from an analytic specification of the Jacobian matrix or directly from the problem functions. The paths include facilities for systems of equations with a banded Jacobian matrix, for least squares problems with a large amount of data, and for checking the consistency of the Jacobian matrix with the functions.

            homepage: https://www.netlib.org/minpack/

            version toolchain 19961126 GCC/10.3.0"},{"location":"version-specific/supported-software/#minpath","title":"MinPath","text":"

            MinPath (Minimal set of Pathways) is a parsimony approach for biological pathway reconstructions using protein family predictions, achieving a more conservative, yet more faithful, estimation of the biological pathways for a query dataset.

            homepage: https://omics.informatics.indiana.edu/MinPath

            version versionsuffix toolchain 1.4 -Python-2.7.15 foss/2018b, intel/2018b 1.4 -Python-2.7.16 intel/2019b 1.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#mira","title":"MIRA","text":"

            MIRA is a whole genome shotgun and EST sequence assembler for Sanger, 454, Solexa (Illumina), IonTorrent data and PacBio (the latter at the moment only CCS and error-corrected CLR reads).

            homepage: https://sourceforge.net/p/mira-assembler/wiki/Home/

            version versionsuffix toolchain 4.0.2 foss/2018b, gompi/2019b, intel/2017b 4.0.2 -Python-2.7.11 foss/2016a 4.9.6 intel/2017b 5.0rc2 foss/2020b"},{"location":"version-specific/supported-software/#mirdeep2","title":"miRDeep2","text":"

            miRDeep2 is a completely overhauled tool which discovers microRNA genes by analyzing sequenced RNAs

            homepage: https://www.mdc-berlin.de/8551903/en/

            version versionsuffix toolchain 0.1.1 -Python-3.6.6 foss/2018b 2.0.0.8 intel/2016b"},{"location":"version-specific/supported-software/#mish-cuda","title":"Mish-Cuda","text":"

            Mish-Cuda: Self Regularized Non-Monotonic Activation Function

            homepage: https://github.com/JunnYu/mish-cuda

            version versionsuffix toolchain 20210309 -PyTorch-1.9.0 fosscuda/2020b"},{"location":"version-specific/supported-software/#misha","title":"misha","text":"

            The misha package is intended to help users to efficiently analyze genomic data achieved from various experiments.

            homepage: https://github.com/tanaylab/misha

            version versionsuffix toolchain 4.0.10 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#mitgcmutils","title":"MITgcmutils","text":"

            A numerical model designed for study of the atmosphere, ocean, and climate, MITgcm\u2019s flexible non-hydrostatic formulation enables it to efficiently simulate fluid phenomena over a wide range of scales; its adjoint capabilities enable it to be applied to sensitivity questions and to parameter and state estimation problems. By employing fluid equation isomorphisms, a single dynamical kernel can be used to simulate flow of both the atmosphere and ocean. The model is developed to perform efficiently on a wide variety of computational platforms.

            homepage: https://mitgcm.org/

            version toolchain 0.1.2 foss/2022a"},{"location":"version-specific/supported-software/#mitobim","title":"MITObim","text":"

            The MITObim procedure (mitochondrial baiting and iterative mapping) represents a highly efficient approach to assembling novel mitochondrial genomes of non-model organisms directly from total genomic DNA derived NGS reads.

            homepage: https://github.com/chrishah/MITObim

            version toolchain 1.9.1 foss/2018b, foss/2020b, gompi/2019b"},{"location":"version-specific/supported-software/#mitoz","title":"MitoZ","text":"

            MitoZ is a Python3-based toolkit which aims to automatically filter pair-end raw data (fastq files), assemble genome, search for mitogenome sequences from the genome assembly result, annotate mitogenome (genbank file as result), and mitogenome visualization.

            homepage: https://github.com/linzhi2013/MitoZ

            version versionsuffix toolchain 2.3 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#mixcr","title":"MiXCR","text":"

            MiXCR processes big immunome data from raw sequences to quantitated clonotypes

            homepage: https://milaboratory.com/software/mixcr/

            version versionsuffix toolchain 2.1.9 -Java-1.8.0_162 system 3.0.3 -Java-1.8 system 3.0.13 -Java-1.8 system 3.0.13 -Java-11 system"},{"location":"version-specific/supported-software/#mixmhc2pred","title":"MixMHC2pred","text":"

            MixMHC2pred is a predictor of HLA class II ligands and epitopes. It is described in publication Racle, J., et al. Robust prediction of HLA class II epitopes by deep motif deconvolution of immunopeptidomes

            homepage: https://github.com/GfellerLab/MixMHC2pred

            version toolchain 1.2 system"},{"location":"version-specific/supported-software/#mkl-dnn","title":"mkl-dnn","text":"

            Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)

            homepage: https://01.org/mkl-dnn

            version toolchain 0.11 intel/2017b 0.13 intel/2018a 0.16 foss/2018b, intel/2018b 0.17.2 foss/2018a"},{"location":"version-specific/supported-software/#mkl-service","title":"mkl-service","text":"

            Python hooks for Intel(R) Math Kernel Library runtime control settings.

            homepage: https://github.com/IntelPython/mkl-service

            version versionsuffix toolchain 2.0.2 intel/2019a 2.3.0 intel/2020b, intel/2021b 2.3.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#mkl_fft","title":"mkl_fft","text":"

            NumPy-based Python interface to Intel(R) MKL FFT functionality

            homepage: https://github.com/IntelPython/mkl_fft

            version versionsuffix toolchain 1.0.14 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#mlc","title":"MLC","text":"

            Intel Memory Latency Checker (Intel MLC) is a tool used to measure memory latencies and b/w, and how they change with increasing load on the system.

            homepage: https://software.intel.com/en-us/articles/intelr-memory-latency-checker

            version toolchain 3.0 system"},{"location":"version-specific/supported-software/#mlxtend","title":"MLxtend","text":"

            Mlxtend (machine learning extensions) is a Python library of useful tools for the day-to-day data science tasks.

            homepage: https://rasbt.github.io/mlxtend/

            version versionsuffix toolchain 0.17.3 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#mm-common","title":"mm-common","text":"

            The mm-common module provides the build infrastructure and utilities shared among the GNOME C++ binding libraries.

            homepage: https://gitlab.gnome.org/GNOME/mm-common

            version toolchain 1.0.4 GCCcore/10.3.0 1.0.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mmg","title":"Mmg","text":"

            Mmg is an open source software for simplicial remeshing. It provides 3 applications and 4 libraries: the mmg2d application and the libmmg2d library: adaptation and optimization of a two-dimensional triangulation and generation of a triangulation from a set of points or from given boundary edges the mmgs application and the libmmgs library: adaptation and optimization of a surface triangulation and isovalue discretization the mmg3d application and the libmmg3d library: adaptation and optimization of a tetrahedral mesh and implicit domain meshing the libmmg library gathering the libmmg2d, libmmgs and libmmg3d libraries.

            homepage: https://www.mmgtools.org/

            version toolchain 5.3.9 foss/2017b 5.6.0 gompi/2021a, gompi/2021b"},{"location":"version-specific/supported-software/#mmseq","title":"MMSEQ","text":"

            The MMSEQ package contains a collection of statistical tools for analysing RNA-seq expression data.

            homepage: https://github.com/eturro/mmseq

            version versionsuffix toolchain 1.0.8 -linux64-static system"},{"location":"version-specific/supported-software/#mmseqs2","title":"MMseqs2","text":"

            MMseqs2: ultra fast and sensitive search and clustering suite

            homepage: https://mmseqs.com

            version toolchain 1-c7a89 foss/2016b 5-9375b intel/2018a 8-fac81 intel/2018b 10-6d92c gompi/2019b, iimpi/2019b 11-e1a1c iimpi/2019b 13-45111 gompi/2020b, gompi/2021a, gompi/2021b 13-45111-20211006 gompi/2020b 13-45111-20211019 gompi/2020b 14-7e284 gompi/2022a"},{"location":"version-specific/supported-software/#mmtf-cpp","title":"mmtf-cpp","text":"

            The Macromolecular Transmission Format (MMTF) is a new compact binary format to transmit and store biomolecular structures for fast 3D visualization and analysis.

            homepage: https://mmtf.rcsb.org/

            version toolchain 1.0.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#mne-python","title":"MNE-Python","text":"

            MNE-Python software is an open-source Python package for exploring, visualizing, and analyzing human neurophysiological data such as MEG, EEG, sEEG, ECoG, and more. It includes modules for data input/output, preprocessing, visualization, source estimation, time-frequency analysis, connectivity analysis, machine learning, and statistics.

            homepage: https://mne.tools/stable/index.html

            version toolchain 0.24.1 foss/2021a"},{"location":"version-specific/supported-software/#moabb","title":"MOABB","text":"

            Build a comprehensive benchmark of popular Brain-Computer Interface (BCI) algorithms applied on an extensive list of freely available EEG datasets.

            homepage: https://neurotechx.github.io/moabb/

            version toolchain 0.4.6 foss/2021a"},{"location":"version-specific/supported-software/#moabs","title":"MOABS","text":"

            MOABS: MOdel based Analysis of Bisulfite Sequencing data

            homepage: https://github.com/sunnyisgalaxy/moabs

            version toolchain 1.3.9.6 gompi/2019b"},{"location":"version-specific/supported-software/#mob-suite","title":"MOB-suite","text":"

            Software tools for clustering, reconstruction and typing of plasmids from draft assemblies

            homepage: https://github.com/phac-nml/mob-suite

            version versionsuffix toolchain 3.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#modeltest-ng","title":"ModelTest-NG","text":"

            ModelTest-NG is a tool for selecting the best-fit model of evolution for DNA and protein alignments. ModelTest-NG supersedes jModelTest and ProtTest in one single tool, with graphical and command console interfaces.

            homepage: https://github.com/ddarriba/modeltest

            version toolchain 0.1.7 gompi/2021b"},{"location":"version-specific/supported-software/#modred","title":"modred","text":"

            Compute modal decompositions and reduced-order models, easily, efficiently, and in parallel.

            homepage: https://pypi.python.org/pypi/modred/

            version versionsuffix toolchain 2.0.2 -Python-3.5.2 foss/2016b"},{"location":"version-specific/supported-software/#molcas","title":"Molcas","text":"

            Molcas is an ab initio quantum chemistry software package developed by scientists to be used by scientists. The basic philosophy is is to be able to treat general electronic structures for molecules consisting of atoms from most of the periodic table. As such, the primary focus of the package is on multiconfigurational methods with applications typically connected to the treatment of highly degenerate states.

            homepage: http://www.molcas.org

            version versionsuffix toolchain 8.0-15.06.18 _CentOS_6.6_x86_64 system 8.2 -centos-mkl-par system 8.2 -centos-par system"},{"location":"version-specific/supported-software/#mold","title":"mold","text":"

            mold is a high-performance drop-in replacement for existing Unix linkers.

            homepage: https://github.com/rui314/mold

            version toolchain 0.9.6 GCCcore/11.2.0 1.0.0 GCCcore/11.2.0 1.2.1 GCCcore/11.3.0 1.3.0 GCCcore/11.3.0 1.7.1 GCCcore/12.2.0 1.11.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#molden","title":"Molden","text":"

            Molden is a package for displaying Molecular Density from the Ab Initio packages GAMESS-UK, GAMESS-US and GAUSSIAN and the Semi-Empirical packages Mopac/Ampac

            homepage: https://www.theochem.ru.nl/molden/

            version toolchain 5.6 foss/2016a 5.7 intel/2016b 5.8 foss/2018a 6.1 GCCcore/8.2.0 6.8 GCCcore/10.2.0, GCCcore/9.3.0 7.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#moleculargsm","title":"molecularGSM","text":"

            Code for single-ended and double-ended molecular GSM. The growing string method is a reaction path and transition state finding method developed in c++.

            homepage: https://github.com/ZimmermanGroup/molecularGSM

            version toolchain 20190826 intel/2020b"},{"location":"version-specific/supported-software/#molekel","title":"Molekel","text":"

            Molekel is an open-source multi-platform molecular visualization program.

            homepage: http://ugovaretto.github.io/molekel/wiki/pmwiki.php/Main/HomePage.html

            version versionsuffix toolchain 5.4.0 -Linux_x86_64 system"},{"location":"version-specific/supported-software/#molmod","title":"molmod","text":"

            MolMod is a Python library with many compoments that are useful to write molecular modeling programs.

            homepage: https://molmod.github.io/molmod/

            version versionsuffix toolchain 1.1 -Python-2.7.11 intel/2016a 1.1 -Python-2.7.12 intel/2016b 1.1 -Python-2.7.13 intel/2017a 1.4.3 -Python-2.7.14 intel/2017b 1.4.3 -Python-3.6.3 intel/2017b 1.4.4 -Python-2.7.14 foss/2018a, intel/2018a 1.4.4 -Python-2.7.15 intel/2018b 1.4.4 -Python-3.7.2 intel/2019a 1.4.5 -Python-3.7.4 foss/2019b, intel/2019b 1.4.5 -Python-3.8.2 foss/2020a, intel/2020a 1.4.8 foss/2020b, foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#molpro","title":"Molpro","text":"

            Molpro is a complete system of ab initio programs for molecular electronic structure calculations.

            homepage: https://www.molpro.net

            version versionsuffix toolchain 2010.1.23 .Linux_x86_64 system 2015.1.0 .linux_x86_64_intel system 2015.1.3 .linux_x86_64_openmp system 2015.1.10 .linux_x86_64_openmp system"},{"location":"version-specific/supported-software/#mona","title":"MONA","text":"

            MONA is a tool that translates formulas to finite-state automata. The formulas may express search patterns, temporal properties of reactive systems, parse tree constraints, etc. MONA analyses the automaton resulting from the compilation and prints out \"valid\" or a counter-example.

            homepage: https://www.brics.dk/mona/index.html

            version toolchain 1.4-18 GCC/11.2.0"},{"location":"version-specific/supported-software/#monai","title":"MONAI","text":"

            MONAI is a PyTorch-based, open-source framework for deep learning in healthcare imaging, part of PyTorch Ecosystem.

            homepage: https://monai.io/

            version versionsuffix toolchain 0.8.0 foss/2021a 0.8.0 -CUDA-11.3.1 foss/2021a 1.0.1 foss/2022a 1.0.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#monai-label","title":"MONAI-Label","text":"

            MONAI Label is an intelligent open source image labeling and learning tool that enables users to create annotated datasets and build AI annotation models for clinical evaluation. MONAI Label enables application developers to build labeling apps in a serverless way, where custom labeling apps are exposed as a service through the MONAI Label Server.

            homepage: https://docs.monai.io/projects/label/en/latest/

            version versionsuffix toolchain 0.5.2 -PyTorch-1.12.0 foss/2022a 0.5.2 -PyTorch-1.12.0-CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#mongolite","title":"mongolite","text":"

            High-performance MongoDB client based on 'mongo-c-driver' and 'jsonlite'. Includes support for aggregation, indexing, map-reduce, streaming, encryption, enterprise authentication, and GridFS. The online user manual provides an overview of the available methods in the package: https://jeroen.github.io/mongolite/.

            homepage: https://cran.r-project.org/web/packages/mongolite

            version versionsuffix toolchain 2.3.0 -R-4.0.0 foss/2020a 2.3.0 -R-4.0.3 foss/2020b 2.3.0 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#mono","title":"Mono","text":"

            An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET.

            homepage: https://www.mono-project.com/

            version toolchain 2.10.6 intel/2016b 4.6.2.7 intel/2016b, system 4.8.0.495 intel/2017a 5.4.1.6 foss/2017b, intel/2017b 5.10.0.160 foss/2018a 5.18.1.0 foss/2018a 6.4.0.198 foss/2018b 6.8.0.105 GCCcore/8.3.0 6.12.0.122 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#monocle3","title":"Monocle3","text":"

            An analysis toolkit for single-cell RNA-seq.

            homepage: https://cole-trapnell-lab.github.io/monocle3/

            version versionsuffix toolchain 0.2.0 -Python-3.7.2-R-3.6.0 foss/2019a 0.2.3 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#moonjit","title":"moonjit","text":"

            Moonjit is a Just-In-Time Compiler (JIT) for the Lua programming language. Lua is a powerful, dynamic and light-weight programming language. It may be embedded or used as a general-purpose, stand-alone language.

            homepage: https://github.com/moonjit/moonjit

            version toolchain 2.2.0 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#moose","title":"MOOSE","text":"

            The Multiphysics Object-Oriented Simulation Environment (MOOSE) is a finite-element, multiphysics framework primarily developed by Idaho National Laboratory

            homepage: https://mooseframework.inl.gov

            version versionsuffix toolchain 2021-05-18 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#mordecai","title":"mordecai","text":"

            mordecai is a full text geoparsing as a Python library. Extract the place names from a piece of text, resolve them to the correct place, and return their coordinates and structured geographic information.

            homepage: https://github.com/openeventdata/mordecai

            version versionsuffix toolchain 2.0.1 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#moreronn","title":"MoreRONN","text":"

            MoreRONN is the spiritual successor of RONN and is useful for surveying disorder in proteins as well as designing expressible constructs for X-ray crystallography.

            homepage: https://github.com/varun-ramraj/MoreRONN

            version toolchain 4.9 GCC/8.3.0"},{"location":"version-specific/supported-software/#mosdepth","title":"mosdepth","text":"

            Fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing

            homepage: https://github.com/brentp/mosdepth

            version toolchain 0.2.2 intel/2018a 0.2.3 intel/2018a 0.2.4 foss/2018b 0.3.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#mothur","title":"Mothur","text":"

            Mothur is a single piece of open-source, expandable software to fill the bioinformatics needs of the microbial ecology community.

            homepage: https://www.mothur.org/

            version versionsuffix toolchain 1.39.5 -Python-2.7.13 intel/2017a 1.41.0 -Python-2.7.15 foss/2018b 1.43.0 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#motif","title":"motif","text":"

            Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It was the standard toolkit for the Common Desktop Environment and thus for Unix.

            homepage: https://motif.ics.com/

            version toolchain 2.3.5 foss/2016a, intel/2016a 2.3.7 intel/2017a 2.3.8 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2017b, foss/2018a, foss/2018b, foss/2019a, intel/2017b, intel/2018a, intel/2019a"},{"location":"version-specific/supported-software/#motioncor2","title":"MotionCor2","text":"

            MotionCor2 correct anisotropic image motion at the single pixel level across the whole frame, suitable for both single particle and tomographic images. Iterative, patch-based motion detection is combined with spatial and temporal constraints and dose weighting. Cite publication: Shawn Q. Zheng, Eugene Palovcak, Jean-Paul Armache, Yifan Cheng and David A. Agard (2016) Anisotropic Correction of Beam-induced Motion for Improved Single-particle Electron Cryo-microscopy, Nature Methods, submitted. BioArxiv: https://biorxiv.org/content/early/2016/07/04/061960

            homepage: https://msg.ucsf.edu/

            version toolchain 1.2.6 GCCcore/8.2.0 1.3.1 GCCcore/8.3.0 1.3.2 GCCcore/8.3.0 1.4.2 GCCcore/10.2.0 1.4.4 GCCcore/10.2.0, GCCcore/10.3.0 1.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#motionsegmentation","title":"motionSegmentation","text":"

            Motion correction, explicit spatio-temporal regularization of motion tracking, random speckles enhancement, and segmentation.

            homepage: https://github.com/WeiXuanChan/motionSegmentation

            version versionsuffix toolchain 2.7.9 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#moviepy","title":"MoviePy","text":"

            MoviePy (full documentation) is a Python library for video editing: cutting, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects.

            homepage: https://zulko.github.io/moviepy/

            version versionsuffix toolchain 1.0.1 -Python-3.7.2 foss/2019a 1.0.3 foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#mpb","title":"MPB","text":"

            MPB is a free and open-source software package for computing the band structures, or dispersion relations, and electromagnetic modes of periodic dielectric structures, on both serial and parallel computers. MPB is an acronym for MIT Photonic Bands.

            homepage: https://mpb.readthedocs.io/en/latest/

            version versionsuffix toolchain 1.6.2 -Python-2.7.14 foss/2017b, foss/2018a, intel/2018a 1.11.1 foss/2020b"},{"location":"version-specific/supported-software/#mpc","title":"MPC","text":"

            Gnu Mpc is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. It extends the principles of the IEEE-754 standard for fixed precision real floating point numbers to complex numbers, providing well-defined semantics for every operation. At the same time, speed of operation at high precision is a major design goal.

            homepage: http://www.multiprecision.org/

            version versionsuffix toolchain 1.0.3 intel/2017a 1.0.3 -MPFR-3.1.6 foss/2017b, intel/2017b 1.1.0 GCC/8.3.0, GCC/9.3.0, GCCcore/9.3.0 1.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mpfr","title":"MPFR","text":"

            The MPFR library is a C library for multiple-precision floating-point computations with correct rounding.

            homepage: https://www.mpfr.org

            version toolchain 2.4.2 system 3.1.4 foss/2016a, foss/2016b, intel/2016a, intel/2016b 3.1.5 GCCcore/6.4.0, intel/2017a 3.1.6 GCCcore/6.4.0 4.0.1 GCCcore/6.4.0, GCCcore/7.3.0 4.0.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 4.2.0 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#mpi4py","title":"mpi4py","text":"

            MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for the Python programming language, allowing any Python program to exploit multiple processors.

            homepage: https://github.com/mpi4py/mpi4py

            version versionsuffix toolchain 1.3.1 -Python-2.7.11-timed-pingpong intel/2016a 1.3.1 -Python-2.7.12-timed-pingpong intel/2016b 2.0.0 -Python-2.7.12 intel/2016b 2.0.0 -Python-2.7.13-timed-pingpong intel/2017a 3.0.0 -Python-2.7.14-timed-pingpong intel/2018a 3.0.0 -Python-3.6.3 intel/2017b 3.0.1 -Python-3.6.6 intel/2018b 3.0.2 -timed-pingpong gompi/2019a, iimpi/2019a 3.1.4 gompi/2022b"},{"location":"version-specific/supported-software/#mpich","title":"MPICH","text":"

            MPICH is a high-performance and widely portable implementation of the Message Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3).

            homepage: https://www.mpich.org/

            version toolchain 3.0.4 GCC/4.8.1 3.2 GCC/4.9.3-2.25, GCC/7.2.0-2.29 3.2.1 GCC/7.2.0-2.29 3.3.2 GCC/10.2.0, GCC/9.3.0 3.4.2 GCC/10.3.0"},{"location":"version-specific/supported-software/#mpich2","title":"MPICH2","text":"

            MPICH v3.x is an open source high-performance MPI 3.0 implementation. It does not support InfiniBand (use MVAPICH2 with InfiniBand devices).

            homepage: http://www.mpich.org/

            version toolchain 1.1 GCC/4.8.1"},{"location":"version-specific/supported-software/#mpifileutils","title":"mpifileutils","text":"

            MPI-Based File Utilities For Distributed Systems

            homepage: https://hpc.github.io/mpifileutils/

            version toolchain 0.9.1 gompi/2019a, iimpi/2019a 0.10 gompi/2020a, iimpi/2020a 0.10.1 gompi/2020a 0.11.1 gompi/2022a"},{"location":"version-specific/supported-software/#mpip","title":"mpiP","text":"

            mpiP is a lightweight profiling library for MPI applications. Because it only collects statistical information about MPI functions, mpiP generates considerably less overhead and much less data than tracing tools. All the information captured by mpiP is task-local. It only uses communication during report generation, typically at the end of the experiment, to merge results from all of the tasks into one output file.

            homepage: http://mpip.sourceforge.net/

            version toolchain 3.4.1 gompi/2019a, iimpi/2019a, iompi/2019.01"},{"location":"version-specific/supported-software/#mpj-express","title":"MPJ-Express","text":"

            MPJ Express is an open source Java message passing library that allows application developers to write and execute parallel applications for multicore processors and compute clusters/clouds.

            homepage: http://mpj-express.org/

            version versionsuffix toolchain 0.44 -Java-1.8.0_92 foss/2016a"},{"location":"version-specific/supported-software/#mpmath","title":"mpmath","text":"

            mpmath can be used as an arbitrary-precision substitute for Python's float/complex types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation can be performed just as well at 10-digit or 1000-digit precision, with either real or complex numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely high precision work.

            homepage: https://mpmath.org/

            version versionsuffix toolchain 0.19 -Python-2.7.11 foss/2016a, intel/2016a 1.0.0 -Python-2.7.14 intel/2018a 1.0.0 -Python-2.7.15 foss/2018b 1.1.0 -Python-3.8.2 GCCcore/9.3.0 1.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mrbayes","title":"MrBayes","text":"

            MrBayes is a program for Bayesian inference and model choice across a wide range of phylogenetic and evolutionary models.

            homepage: https://nbisweden.github.io/MrBayes/

            version toolchain 3.2.6 foss/2016a, foss/2017a, gompi/2020b 3.2.7 gompi/2020b, gompi/2022a, gompic/2019b 3.2.7a foss/2020a, iimpi/2019a"},{"location":"version-specific/supported-software/#mrcfile","title":"mrcfile","text":"

            mrcfile is a Python implementation of the MRC2014 file format, which is used in structural biology to store image and volume data. It allows MRC files to be created and opened easily using a very simple API, which exposes the file\u2019s header and data as numpy arrays. The code runs in Python 2 and 3 and is fully unit-tested. This library aims to allow users and developers to read and write standard- compliant MRC files in Python as easily as possible, and with no dependencies on any compiled libraries except numpy. You can use it interactively to inspect files, correct headers and so on, or in scripts and larger software packages to provide basic MRC file I/O functions.

            homepage: https://github.com/ccpem/mrcfile

            version toolchain 1.3.0 foss/2020b, foss/2021a, fosscuda/2020b"},{"location":"version-specific/supported-software/#mrchem","title":"MRChem","text":"

            MRChem is a numerical real-space code for molecular electronic structure calculations within the self-consistent field (SCF) approximations of quantum chemistry: Hartree-Fock and Density Functional Theory.

            homepage: https://mrchem.readthedocs.io

            version versionsuffix toolchain 1.0.0 -Python-3.8.2 foss/2020a 1.1.1 foss/2022a"},{"location":"version-specific/supported-software/#mrcpp","title":"MRCPP","text":"

            MultiResolution Computation Program Package

            homepage: https://mrcpp.readthedocs.io

            version toolchain 1.3.6 foss/2020a 1.4.1 foss/2022a"},{"location":"version-specific/supported-software/#mricron","title":"MRIcron","text":"

            MRIcron allows viewing of medical images. It includes tools to complement SPM and FSL. Native format is NIFTI but includes a conversion program (see dcm2nii) for converting DICOM images. Features layers, ROIs, and volume rendering.

            homepage: http://www.mccauslandcenter.sc.edu/mricro/mricron/

            version toolchain 1.0.20180614 system 20150601 system"},{"location":"version-specific/supported-software/#mrpresso","title":"MRPRESSO","text":"

            Performs the Mendelian Randomization Pleiotropy RESidual Sum and Outlier (MR-PRESSO) method..

            homepage: https://github.com/rondolab/MR-PRESSO

            version toolchain 1.0-20230502 foss/2022a"},{"location":"version-specific/supported-software/#mrtrix","title":"MRtrix","text":"

            MRtrix provides a set of tools to perform diffusion-weighted MR white-matter tractography in a manner robust to crossing fibres, using constrained spherical deconvolution (CSD) and probabilistic streamlines.

            homepage: http://www.brain.org.au/software/index.html#mrtrix

            version versionsuffix toolchain 0.3.14 -Python-2.7.11 intel/2016a 0.3.15 -Python-2.7.12 intel/2016b 3.0-rc-20191217 -Python-2.7.16 foss/2019b 3.0-rc-20191217 -Python-3.7.4 foss/2019b 3.0.0 -Python-3.8.2 foss/2020a 3.0.3 foss/2021a 3.0_RC2 -Python-2.7.13 foss/2017a 3.0_RC3 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#msgpack-c","title":"msgpack-c","text":"

            MessagePack is an efficient binary serialization format, which lets you exchange data among multiple languages like JSON, except that it's faster and smaller. Small integers are encoded into a single byte while typical short strings require only one extra byte in addition to the strings themselves.

            homepage: http://msgpack.org/

            version toolchain 3.3.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#msm","title":"MSM","text":"

            Multimodal Surface Matching with Higher order Clique Reduction

            homepage: https://github.com/ecr05/MSM_HOCR

            version toolchain 1.0 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#mspc","title":"MSPC","text":"

            Using combined evidence from replicates to evaluate ChIP-seq peaks

            homepage: https://genometric.github.io/MSPC/

            version toolchain 3.3.1 system"},{"location":"version-specific/supported-software/#msprime","title":"msprime","text":"

            msprime is a coalescent simulator and library for processing tree-based genetic data.

            homepage: https://msprime.readthedocs.io

            version versionsuffix toolchain 0.7.0 -Python-3.7.2 intel/2019a 1.2.0 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#mstore","title":"mstore","text":"

            Molecular structure store for testing

            homepage: https://github.com/grimme-lab/mstore

            version toolchain 0.2.0 GCC/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mtl4","title":"MTL4","text":"

            The Matrix Template Library 4 incorporates the most modern programming techniques to provide an easy and intuitive interface to users while enabling optimal performance. The natural mathematical notation in MTL4 empowers all engineers and scientists to implement their algorithms and models in minimal time. All technical aspects are encapsulated in the library.

            homepage: http://www.simunova.com/mtl4

            version toolchain 4.0.8878 system 4.0.9555 system"},{"location":"version-specific/supported-software/#mujoco","title":"MuJoCo","text":"

            MuJoCo stands for Multi-Joint dynamics with Contact. It is a general purpose physics engine that aims to facilitate research and development in robotics, biomechanics, graphics and animation, machine learning, and other areas which demand fast and accurate simulation of articulated structures interacting with their environment.

            homepage: https://mujoco.org/

            version toolchain 2.1.1 GCCcore/11.2.0 2.2.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mujoco-py","title":"mujoco-py","text":"

            MuJoCo is a physics engine for detailed, efficient rigid body simulations with contacts. mujoco-py allows using MuJoCo from Python 3.

            homepage: https://github.com/openai/mujoco-py

            version toolchain 2.1.2.14 foss/2021b"},{"location":"version-specific/supported-software/#multichoose","title":"multichoose","text":"

            generate multiset combinations (n multichoose k).

            homepage: https://github.com/ekg/multichoose

            version toolchain 1.0.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#multilevelestimators","title":"MultilevelEstimators","text":"

            The Julia module for Multilevel Monte Carlo methods

            homepage: https://github.com/PieterjanRobbe/MultilevelEstimators.jl

            version versionsuffix toolchain 0.1.0 -Julia-1.7.2 GCC/11.2.0"},{"location":"version-specific/supported-software/#multinest","title":"MultiNest","text":"

            MultiNest is a Bayesian inference tool which calculates the evidence and explores the parameter space which may contain multiple posterior modes and pronounced (curving) degeneracies in moderately high dimensions.

            homepage: https://ccpforge.cse.rl.ac.uk/gf/project/multinest/

            version toolchain 3.10 intel/2016a"},{"location":"version-specific/supported-software/#multiqc","title":"MultiQC","text":"

            Aggregate results from bioinformatics analyses across many samples into a single report. MultiQC searches a given directory for analysis logs and compiles a HTML report. It's a general use tool, perfect for summarising the output from numerous bioinformatics tools.

            homepage: https://multiqc.info

            version versionsuffix toolchain 0.9 -Python-2.7.12 foss/2016b 1.2 -Python-2.7.14 foss/2017b, intel/2017b 1.2 -Python-3.6.3 foss/2017b, intel/2017b 1.6 -Python-2.7.14 foss/2017b, intel/2017b 1.6 -Python-3.6.3 foss/2017b, intel/2017b 1.7 -Python-2.7.15 intel/2018b 1.7 -Python-3.6.6 foss/2018b, intel/2018b 1.8 -Python-2.7.16 intel/2019b 1.8 -Python-3.7.4 foss/2019b, intel/2019b 1.9 -Python-3.7.4 foss/2019b 1.9 -Python-3.8.2 foss/2020a, intel/2020a 1.10.1 foss/2020b 1.11 foss/2021a 1.12 foss/2021b 1.14 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#multiwfn","title":"Multiwfn","text":"

            Multiwfn is an extremely powerful program for realizingi electronic wavefunction analysis, which is a key ingredient of quantum chemistry. Multiwfn is free, open-source, high-efficient, very user-friendly and flexible, it supports almost all of the most important wavefunction analysis methods.

            homepage: http://sobereva.com/multiwfn/

            version toolchain 3.4.1 intel/2017b 3.6 intel/2019a, intel/2019b"},{"location":"version-specific/supported-software/#mumerge","title":"muMerge","text":"

            muMerge is a tool for combining bed regions from multiple bed files that overlap.

            homepage: https://github.com/Dowell-Lab/mumerge

            version toolchain 1.1.0 foss/2022a"},{"location":"version-specific/supported-software/#mummer","title":"MUMmer","text":"

            MUMmer is a system for rapidly aligning entire genomes, whether in complete or draft form. AMOS makes use of it.

            homepage: https://mummer.sourceforge.net/

            version toolchain 3.23 GCCcore/10.3.0, GCCcore/9.3.0, foss/2016b 4.0.0beta2 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/9.3.0, foss/2018b 4.0.0rc1 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#mumps","title":"MUMPS","text":"

            A parallel sparse direct solver

            homepage: https://graal.ens-lyon.fr/MUMPS/

            version versionsuffix toolchain 5.1.2 -metis foss/2017b 5.2.1 -metis foss/2018b, foss/2019a, foss/2019b, foss/2020a, intel/2019a, intel/2019b, intel/2020a 5.2.1 -metis-seq foss/2019a, intel/2019a 5.3.5 -metis foss/2020b, intel/2020b 5.4.0 -metis foss/2021a, intel/2021a 5.4.1 -metis foss/2021b, intel/2021b 5.5.0 -metis foss/2021a 5.5.1 -metis foss/2022a"},{"location":"version-specific/supported-software/#muparser","title":"muParser","text":"

            muParser is an extensible high performance math expression parser library written in C++. It works by transforming a mathematical expression into bytecode and precalculating constant parts of the expression.

            homepage: https://beltoforion.de/article.php?a=muparser

            version toolchain 2.2.5 GCCcore/6.4.0 2.3.2 GCCcore/10.2.0, GCCcore/9.3.0 2.3.3 GCCcore/10.3.0 2.3.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#muparserx","title":"muparserx","text":"

            A C++ Library for Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more.

            homepage: https://beltoforion.de/en/muparserx/

            version toolchain 4.0.8 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#mupexi","title":"MuPeXI","text":"

            MuPeXI: Mutant Peptide eXtractor and Informer. Given a list of somatic mutations (VCF file) as input, MuPeXI returns a table containing all mutated peptides (neo-peptides) of user-defined lengths, along with several pieces of information relevant for identifying which of these neo-peptides are likely to serve as neo-epitopes.

            homepage: https://github.com/ambj/MuPeXI

            version versionsuffix toolchain 1.2.0 -Perl-5.28.0-Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#muscle","title":"MUSCLE","text":"

            MUSCLE is one of the best-performing multiple alignment programs according to published benchmark tests, with accuracy and speed that are consistently better than CLUSTALW. MUSCLE can align hundreds of sequences in seconds. Most users learn everything they need to know about MUSCLE in a few minutes-only a handful of command-line options are needed to perform common alignment tasks.

            homepage: https://drive5.com/muscle/

            version versionsuffix toolchain 3.8.31 GCC/7.3.0-2.30, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0, foss/2016a, foss/2017b, foss/2018a, intel/2016a, intel/2017b, intel/2018a, intel/2018b 3.8.31 -i86linux64 system 3.8.1551 GCC/10.2.0, GCC/8.2.0-2.31.1, GCC/8.3.0 5.0.1428 GCCcore/10.3.0 5.1 GCCcore/11.2.0 5.1.0 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#music","title":"MuSiC","text":"

            Multi-subject Single Cell deconvolution (MuSiC) is a deconvolution method that utilizes cross-subject scRNA-seq to estimate cell type proportions in bulk RNA-seq data.

            homepage: https://github.com/xuranw/MuSiC

            version versionsuffix toolchain 1.6.2 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#must","title":"MUST","text":"

            MUST detects usage errors of the Message Passing Interface (MPI) and reports them to the user. As MPI calls are complex and usage errors common, this functionality is extremely helpful for application developers that want to develop correct MPI applications. This includes errors that already manifest \u2013 segmentation faults or incorrect results \u2013 as well as many errors that are not visible to the application developer or do not manifest on a certain system or MPI implementation.

            homepage: https://hpc.rwth-aachen.de/must/

            version versionsuffix toolchain 1.6 -Python-3.6.6 foss/2018b 1.6 -Python-3.7.4 foss/2019b 1.7.1 foss/2020b 1.7.2 foss/2021a"},{"location":"version-specific/supported-software/#mutect","title":"MuTect","text":"

            MuTect is a method developed at the Broad Institute for the reliable and accurate identification of somatic point mutations in next generation sequencing data of cancer genomes.

            homepage: http://www.broadinstitute.org/cancer/cga/mutect

            version versionsuffix toolchain 1.1.4 -Java-1.7.0_76 system 1.1.4 -Java-1.7.0_80 system 1.1.7 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#mutil","title":"mutil","text":"

            Mutil is a set of standard utilities that have been parallelized to maximize performance on modern file systems. These currently include multi-threaded drop-in replacements for cp and md5sum from GNU coreutils, which have achieved 10/30x rates on one/many nodes.

            homepage: http://people.nas.nasa.gov/~kolano/projects/mutil.html

            version toolchain 1.822.3 intel/2016a"},{"location":"version-specific/supported-software/#mvapich2","title":"MVAPICH2","text":"

            This is an MPI 3.0 implementation. It is based on MPICH2 and MVICH.

            homepage: http://mvapich.cse.ohio-state.edu/overview/mvapich2/

            version toolchain 2.0.1 GCC/4.8.4 2.1 GCC/4.9.3-2.25 2.2b GCC/4.9.3-2.25"},{"location":"version-specific/supported-software/#mview","title":"MView","text":"

            MView reformats the results of a sequence database search or a multiple alignment, optionally adding HTML markup.

            homepage: https://desmid.github.io/mview/

            version toolchain 1.67 GCC/11.3.0"},{"location":"version-specific/supported-software/#mxml","title":"mxml","text":"

            Mini-XML is a tiny XML library that you can use to read and write XML and XML-like data files in your application without requiring large non-standard libraries.

            homepage: https://github.com/michaelrsweet/mxml

            version toolchain 3.2 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#mxmlplus","title":"mxmlplus","text":"

            Mxml is a pure C library (yet having an object oriented layout) that is meant to help developers implementing XML file interpretation in their projects.

            homepage: http://mxml.sourceforge.net

            version toolchain 0.9.2 GCC/9.3.0"},{"location":"version-specific/supported-software/#mxnet","title":"MXNet","text":"

            Flexible and Efficient Library for Deep Learning

            homepage: https://mxnet.io/

            version versionsuffix toolchain 0.9.3 -Python-2.7.12-R-3.3.3 foss/2016b"},{"location":"version-specific/supported-software/#mycc","title":"MyCC","text":"

            MyCC is built and delivered as a tailored solution for metagenomics sequencesclassfication.

            homepage: https://sourceforge.net/projects/sb2nhri/files/MyCC/

            version versionsuffix toolchain 2017-03-01 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#mygene","title":"mygene","text":"

            Python Client for MyGene.Info services.

            homepage: https://github.com/biothings/mygene.py

            version toolchain 3.1.0 intel/2019a 3.2.2 foss/2022a"},{"location":"version-specific/supported-software/#mymedialite","title":"MyMediaLite","text":"

            MyMediaLite is a lightweight, multi-purpose library of recommender system algorithms.

            homepage: http://www.ismll.uni-hildesheim.de/mymedialite/

            version toolchain 3.10 intel/2016b 3.11 intel/2016b 3.12 intel/2017a"},{"location":"version-specific/supported-software/#mympingpong","title":"mympingpong","text":"

            A mpi4py based random pair pingpong network stress test.

            homepage: https://github.com/hpcugent/mympingpong

            version versionsuffix toolchain 0.7.0 -Python-2.7.11 intel/2016a 0.7.1 -Python-2.7.12 intel/2016b 0.8.0 -Python-2.7.13 intel/2017a 0.8.0 -Python-2.7.14 intel/2018a 0.8.0 -Python-2.7.15 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#myokit","title":"Myokit","text":"

            Myokit is an open-source Python-based toolkit that facilitates modeling and simulation of cardiac cellular electrophysiology.

            homepage: http://myokit.org

            version toolchain 1.32.0 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#mypy","title":"mypy","text":"

            Optional static typing for Python

            homepage: http://www.mypy-lang.org/

            version toolchain 0.4.5 intel/2016b"},{"location":"version-specific/supported-software/#mysql","title":"MySQL","text":"

            MySQL is one of the world's most widely used open-source relational database management system (RDBMS).

            homepage: http://www.mysql.com/

            version versionsuffix toolchain 5.6.26 -clientonly GNU/4.9.3-2.25 5.7.21 -clientonly GCCcore/6.4.0"},{"location":"version-specific/supported-software/#mysql-python","title":"MySQL-python","text":"

            MySQL database connector for Python

            homepage: https://github.com/farcepest/MySQLdb1

            version versionsuffix toolchain 1.2.5 -Python-2.7.11 intel/2016a 1.2.5 -Python-2.7.11-MariaDB-10.1.14 intel/2016a"},{"location":"version-specific/supported-software/#mysqlclient","title":"mysqlclient","text":"

            Python interface to MySQL

            homepage: https://github.com/PyMySQL/mysqlclient-python

            version versionsuffix toolchain 1.3.7 -Python-2.7.11 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#n","title":"N","text":"

            n2v - NAG - NAGfor - NAMD - namedlist - nano - NanoComp - nanocompore - NanoFilt - nanoflann - nanoget - NanoLyse - nanomath - nanomax-analysis-utils - nanonet - NanoPlot - nanopolish - NanopolishComp - NanoStat - napari - NASM - nauty - NBO - NCBI-Toolkit - ncbi-vdb - NCCL - NCCL-tests - ncdf4 - ncdu - NCIPLOT - NCL - NCO - ncompress - ncurses - ncview - nd2reader - ne - NECI - NEdit - Nek5000 - Nektar++ - neon - neptune-client - Net-core - netCDF - netCDF-C++ - netCDF-C++4 - netCDF-Fortran - netcdf4-python - netloc - NetLogo - netMHC - netMHCII - netMHCIIpan - netMHCpan - NetPIPE - NetPyNE - nettle - networkTools - networkx - NeuroKit - NEURON - NewHybrids - Nextflow - NextGenMap - NEXUS-CL - nf-core-mag - NFFT - nghttp2 - nghttp3 - NGLess - nglview - NGS - NGS-Python - NGSadmix - NGSpeciesID - ngspice - ngtcp2 - NiBabel - nichenetr - NIfTI - nifti2dicom - Nilearn - Nim - NIMBLE - Ninja - Nipype - NLMpy - nlohmann_json - NLopt - NLTK - nnU-Net - Node-RED - nodejs - Normaliz - nose-parameterized - novoalign - NOVOPlasty - npstat - NRGLjubljana - Nsight-Compute - Nsight-Systems - NSPR - NSS - nsync - ntCard - ntEdit - ntHits - NTL - NTPoly - num2words - numactl - numba - numdiff - numexpr - numpy - NVHPC - nvofbf - nvompi - NVSHMEM - nvtop - NWChem - NxTrim

            "},{"location":"version-specific/supported-software/#n2v","title":"n2v","text":"

            Noise2Void - Learning Denoising from Single Noisy Images The field of image denoising is currently dominated by discriminative deep learning methods that are trained on pairs of noisy input and clean target images. Recently it has been shown that such methods can also be trained without clean targets. Instead, independent pairs of noisy images can be used, in an approach known as NOISE2NOISE (N2N). Here, we introduce NOISE2VOID (N2V), a training scheme that takes this idea one step further. It does not require noisy image pairs, nor clean target images. Consequently, N2V allows us to train directly on the body of data to be denoised and can therefore be applied when other methods cannot. Especially interesting is the application to biomedical image data, where the acquisition of training targets, clean or noisy, is frequently not possible. We compare the performance of N2V to approaches that have either clean target images and/or noisy image pairs available. Intuitively, N2V cannot be expected to outperform methods that have more information available during training. Still, we observe that the denoising performance of NOISE2VOID drops in moderation and compares favorably to training-free denoising methods.

            homepage: https://github.com/juglab/n2v

            version versionsuffix toolchain 0.3.2 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#nag","title":"NAG","text":"

            The worlds largest collection of robust, documented, tested and maintained numerical algorithms.

            homepage: http://www.nag.co.uk

            version toolchain 7.1 gompi/2022b 24 PGI/17.4-GCC-6.4.0-2.28 26 GCCcore/6.4.0, intel/2018a"},{"location":"version-specific/supported-software/#nagfor","title":"NAGfor","text":"

            The checking compiler for improved code portability and detailed error reporting.

            homepage: http://www.nag.co.uk

            version toolchain 6.2.14 system 7.1 system"},{"location":"version-specific/supported-software/#namd","title":"NAMD","text":"

            NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems.

            homepage: https://www.ks.uiuc.edu/Research/namd/

            version versionsuffix toolchain 2.11 -mpi intel/2016a 2.12 -CUDA-8.0.61 foss/2016b 2.12 -mpi foss/2017a, foss/2017b, intel/2017a, intel/2017b 2.13 fosscuda/2018b 2.13 -mpi foss/2018b, foss/2019b, intel/2018b 2.14 fosscuda/2019b, fosscuda/2020b 2.14 -CUDA-11.3.1 foss/2021a 2.14 -mpi foss/2019b, foss/2020a, foss/2020b, foss/2022a, intel/2020a"},{"location":"version-specific/supported-software/#namedlist","title":"namedlist","text":"

            A Python object, similar to namedtuple, but for lists.

            homepage: https://gitlab.com/ericvsmith/namedlist

            version toolchain 1.8 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#nano","title":"nano","text":"

            a simple editor, inspired by Pico

            homepage: https://www.nano-editor.org/

            version toolchain 6.4 GCCcore/11.3.0 7.0 GCCcore/11.3.0 7.1 GCCcore/12.2.0 7.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#nanocomp","title":"NanoComp","text":"

            Comparing runs of Oxford Nanopore sequencing data and alignments

            homepage: https://github.com/wdecoster/NanoComp

            version versionsuffix toolchain 1.10.1 -Python-3.7.4 intel/2019b 1.13.1 intel/2020b"},{"location":"version-specific/supported-software/#nanocompore","title":"nanocompore","text":"

            Nanocompore identifies differences in ONT nanopore sequencing raw signal corresponding to RNA modifications by comparing 2 samples

            homepage: https://nanocompore.rna.rocks/

            version versionsuffix toolchain 1.0.0rc3-2 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#nanofilt","title":"NanoFilt","text":"

            Filtering and trimming of long read sequencing data.

            homepage: https://github.com/wdecoster/nanofilt

            version versionsuffix toolchain 2.5.0 -Python-3.6.6 foss/2018b 2.6.0 -Python-3.7.4 foss/2019b, intel/2019b 2.6.0 -Python-3.8.2 intel/2020a 2.8.0 foss/2021b"},{"location":"version-specific/supported-software/#nanoflann","title":"nanoflann","text":"

            nanoflann is a C++11 header-only library for building KD-Trees of datasets with different topologies.

            homepage: https://github.com/jlblancoc/nanoflann

            version toolchain 1.4.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#nanoget","title":"nanoget","text":"

            Functions to extract information from Oxford Nanopore sequencing data and alignments

            homepage: https://github.com/wdecoster/nanoget

            version versionsuffix toolchain 1.12.1 -Python-3.7.4 intel/2019b 1.15.0 intel/2020b 1.18.1 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#nanolyse","title":"NanoLyse","text":"

            Remove reads mapping to the lambda phage genome from a fastq file.

            homepage: https://github.com/wdecoster/nanolyse

            version toolchain 1.2.1 foss/2021a"},{"location":"version-specific/supported-software/#nanomath","title":"nanomath","text":"

            A few simple math function for other Oxford Nanopore processing scripts

            homepage: https://github.com/wdecoster/nanomath

            version versionsuffix toolchain 0.23.1 -Python-3.7.4 intel/2019b 1.2.0 intel/2020b 1.2.1 foss/2021a 1.3.0 foss/2022a"},{"location":"version-specific/supported-software/#nanomax-analysis-utils","title":"nanomax-analysis-utils","text":"

            A set of tools for handling and analysing data at the NanoMAX beamline.

            homepage: https://github.com/maxiv-science/nanomax-analysis-utils

            version versionsuffix toolchain 0.4 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.4.3 foss/2020b, fosscuda/2020b 0.4.4 foss/2021b"},{"location":"version-specific/supported-software/#nanonet","title":"nanonet","text":"

            Nanonet provides recurrent neural network basecalling for Oxford Nanopore MinION data.

            homepage: https://github.com/nanoporetech/nanonet

            version versionsuffix toolchain 2.0.0 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#nanoplot","title":"NanoPlot","text":"

            Plotting suite for long read sequencing data and alignments

            homepage: https://github.com/wdecoster/NanoPlot

            version versionsuffix toolchain 1.28.4 -Python-3.7.4 intel/2019b 1.33.0 foss/2021a, intel/2020b"},{"location":"version-specific/supported-software/#nanopolish","title":"nanopolish","text":"

            Software package for signal-level analysis of Oxford Nanopore sequencing data.

            homepage: https://github.com/jts/nanopolish

            version versionsuffix toolchain 0.9.2 intel/2018a 0.10.2 -Python-2.7.15 foss/2018b, intel/2018b 0.13.1 -Python-3.6.6 foss/2018b 0.13.2 -Python-3.8.2 foss/2020a 0.13.3 foss/2020b"},{"location":"version-specific/supported-software/#nanopolishcomp","title":"NanopolishComp","text":"

            NanopolishComp is a Python3 package for downstream analyses of Nanopolish output files

            homepage: https://adrienleger.com/NanopolishComp/

            version versionsuffix toolchain 0.6.11 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#nanostat","title":"NanoStat","text":"

            Calculate various statistics from a long read sequencing dataset in fastq, bam or albacore sequencing summary format.

            homepage: https://github.com/wdecoster/nanostat

            version toolchain 1.6.0 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#napari","title":"napari","text":"

            napari is a fast, interactive, multi-dimensional image viewer for Python. It's designed for browsing, annotating, and analyzing large multi-dimensional images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based rendering), and the scientific Python stack (numpy, scipy).

            homepage: https://napari.org/

            version toolchain 0.4.15 foss/2021b"},{"location":"version-specific/supported-software/#nasm","title":"NASM","text":"

            NASM: General-purpose x86 assembler

            homepage: https://www.nasm.us/

            version toolchain 2.11.08 GCCcore/5.4.0, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a 2.12.01 foss/2016a, intel/2016a 2.12.02 foss/2016a, foss/2016b, intel/2016b, intel/2017a, system 2.13.01 GCCcore/6.3.0, GCCcore/6.4.0 2.13.03 GCCcore/6.4.0, GCCcore/7.3.0 2.14.02 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.15.05 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 2.16.01 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nauty","title":"nauty","text":"

            nauty and Traces are programs for computing automorphism groups of graphs and digraphs. They can also produce a canonical label.

            homepage: https://pallini.di.uniroma1.it/

            version toolchain 2.6r12 GCC/8.2.0-2.31.1 2.7rc2 GCC/8.2.0-2.31.1 2.7rc5 GCC/8.3.0"},{"location":"version-specific/supported-software/#nbo","title":"NBO","text":"

            The Natural Bond Orbital (NBO) program is a discovery tool for chemical insights from complex wavefunctions.

            homepage: http://nbo.chem.wisc.edu/

            version toolchain 1.1 intel/2016a 7.0 intel/2017b"},{"location":"version-specific/supported-software/#ncbi-toolkit","title":"NCBI-Toolkit","text":"

            The NCBI Toolkit is a collection of utilities developed for the production and distribution of GenBank, Entrez, BLAST, and related services by the National Center for Biotechnology Information.

            homepage: http://ncbi.github.io/cxx-toolkit/

            version toolchain 18.0.0 intel/2017a"},{"location":"version-specific/supported-software/#ncbi-vdb","title":"ncbi-vdb","text":"

            The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for using data in the INSDC Sequence Read Archives.

            homepage: https://github.com/ncbi/ncbi-vdb

            version toolchain 2.5.8-1 foss/2016b, intel/2016a 2.7.0 foss/2016b 2.8.2 foss/2017b, intel/2017a, intel/2017b 2.9.1-1 foss/2018a, intel/2018a 2.9.3 foss/2018b 2.10.4 gompi/2019b 2.10.7 gompi/2020a 2.10.9 gompi/2020b, gompi/2021a 2.11.2 gompi/2021b 3.0.0 gompi/2021b, gompi/2022a 3.0.2 gompi/2022a 3.0.5 gompi/2021a, gompi/2022b"},{"location":"version-specific/supported-software/#nccl","title":"NCCL","text":"

            The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective communication primitives that are performance optimized for NVIDIA GPUs.

            homepage: https://developer.nvidia.com/nccl

            version versionsuffix toolchain 2.1.4 -CUDA-9.0.176 system 2.2.13 -CUDA-9.2.148.1 system 2.3.7 fosscuda/2018b 2.4.2 gcccuda/2019a 2.4.8 gcccuda/2019b 2.8.3 -CUDA-11.0.2 GCCcore/9.3.0, system 2.8.3 -CUDA-11.1.1 GCCcore/10.2.0, system 2.9.9 -CUDA-11.3.1 system 2.10.3 -CUDA-11.3.1 GCCcore/10.3.0 2.10.3 -CUDA-11.4.1 GCCcore/11.2.0 2.10.3 -CUDA-11.5.2 GCCcore/11.2.0 2.11.4 gcccuda/2019b 2.12.12 -CUDA-11.7.0 GCCcore/11.3.0 2.16.2 -CUDA-12.0.0 GCCcore/12.2.0 2.18.3 -CUDA-12.1.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nccl-tests","title":"NCCL-tests","text":"

            Tests check both the performance and the correctness of NCCL operations.

            homepage: https://github.com/NVIDIA/nccl-tests

            version versionsuffix toolchain 2.0.0 gompic/2019b 2.13.6 -CUDA-11.7.0 gompi/2022a"},{"location":"version-specific/supported-software/#ncdf4","title":"ncdf4","text":"

            ncdf4: Interface to Unidata netCDF (version 4 or earlier) format data files

            homepage: https://cran.r-project.org/web/packages/ncdf4

            version versionsuffix toolchain 1.16 -R-3.4.0 intel/2017a 1.16 -R-3.4.3 intel/2017b 1.16 -R-3.4.4 intel/2018a 1.16.1 -R-3.5.1 foss/2018b, intel/2018b 1.16.1 -R-3.6.0 foss/2019a 1.17 foss/2019b 1.17 -R-4.0.0 foss/2020a 1.17 -R-4.0.3 foss/2020b 1.17 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#ncdu","title":"ncdu","text":"

            Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a remote server where you don't have an entire graphical setup available, but it is a useful tool even on regular desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like environment with ncurses installed.

            homepage: https://dev.yorhel.nl/ncdu

            version toolchain 1.13 GCCcore/7.3.0 1.14 GCCcore/7.3.0 1.15.1 GCCcore/9.3.0 1.16 GCC/10.3.0, GCC/11.2.0 1.17 GCC/11.3.0"},{"location":"version-specific/supported-software/#nciplot","title":"NCIPLOT","text":"

            NCIPLOT is a program for revealing non covalent interactions based on the reduced density gradient.

            homepage: https://www.lct.jussieu.fr/pagesperso/contrera/index-nci.html

            version toolchain 4.0-20190718 iccifort/2019.5.281 4.0-20200106 iccifort/2019.5.281 4.0-20200624 GCC/11.2.0"},{"location":"version-specific/supported-software/#ncl","title":"NCL","text":"

            NCL is an interpreted language designed specifically for scientific data analysis and visualization.

            homepage: https://www.ncl.ucar.edu

            version toolchain 6.4.0 intel/2017a, intel/2017b, intel/2018a 6.5.0 intel/2018a 6.6.2 foss/2018b, foss/2020a, foss/2020b, foss/2021a, intel/2018b, intel/2019b, intel/2020a"},{"location":"version-specific/supported-software/#nco","title":"NCO","text":"

            The NCO toolkit manipulates and analyzes data stored in netCDF-accessible formats, including DAP, HDF4, and HDF5.

            homepage: https://github.com/nco/nco

            version toolchain 4.6.0 foss/2016a 4.6.6 intel/2017a 4.7.0 intel/2017b 4.7.1 intel/2017b 4.7.4 foss/2017b 4.7.6 intel/2018a 4.7.9 foss/2018b, intel/2018b 4.8.1 foss/2019a 4.9.3 foss/2019b 4.9.7 foss/2020a, foss/2020b 5.0.1 foss/2021a 5.0.3 foss/2021b, intel/2021b 5.0.6 intel/2019b 5.1.0 foss/2022a 5.1.3 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#ncompress","title":"ncompress","text":"

            Compress is a fast, simple LZW file compressor. Compress does not have the highest compression rate, but it is one of the fastest programs to compress data. Compress is the defacto standard in the UNIX community for compressing files.

            homepage: http://ncompress.sourceforge.net/

            version toolchain 4.2.4.4 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#ncurses","title":"ncurses","text":"

            The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.

            homepage: https://www.gnu.org/software/ncurses/

            version toolchain 5.9 GCC/4.8.1, GCC/4.8.2, GCC/4.8.3, GCC/4.8.4, GCC/4.9.2, GNU/4.9.3-2.25, gimkl/2.11.5, system 6.0 GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 6.1 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, system 6.2 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0, system 6.3 GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, system 6.4 GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#ncview","title":"ncview","text":"

            Ncview is a visual browser for netCDF format files. Typically you would use ncview to get a quick and easy, push-button look at your netCDF files. You can view simple movies of the data, view along various dimensions, take a look at the actual data values, change color maps, invert the data, etc.

            homepage: http://meteora.ucsd.edu/~pierce/ncview_home_page.html

            version toolchain 2.1.7 foss/2017b, foss/2018b, foss/2019b, gompi/2019a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intel/2019b, iomkl/2018b 2.1.8 gompi/2020a, gompi/2021a, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#nd2reader","title":"nd2reader","text":"

            nd2reader is a pure-Python package that reads images produced by NIS Elements 4.0+.

            homepage: https://www.lighthacking.nl/nd2reader/

            version versionsuffix toolchain 3.0.6 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#ne","title":"ne","text":"

            ne is a free (GPL'd) text editor based on the POSIX standard that runs (we hope) on almost any UN*X machine. ne is easy to use for the beginner, but powerful and fully configurable for the wizard, and most sparing in its resource usage.

            homepage: http://ne.di.unimi.it/

            version toolchain 3.0.1 gimkl/2017a"},{"location":"version-specific/supported-software/#neci","title":"NECI","text":"

            Standalone NECI codebase designed for FCIQMC and other stochastic quantum chemistry methods.

            homepage: https://github.com/ghb24/NECI_STABLE

            version toolchain 20220711 foss/2022a"},{"location":"version-specific/supported-software/#nedit","title":"NEdit","text":"

            NEdit is a multi-purpose text editor for the X Window System, which combines a standard, easy to use, graphical user interface with the thorough functionality and stability required by users who edit text eight hours a day.

            homepage: http://www.nedit.org

            version versionsuffix toolchain 5.5 -Linux-x86 system"},{"location":"version-specific/supported-software/#nek5000","title":"Nek5000","text":"

            a fast and scalable high-order solver for computational fluid dynamics

            homepage: https://nek5000.mcs.anl.gov/

            version toolchain 17.0 intel/2018a"},{"location":"version-specific/supported-software/#nektar","title":"Nektar++","text":"

            Nektar++ is a tensor product based finite element package designed to allow one to construct efficient classical low polynomial order h-type solvers (where h is the size of the finite element) as well as higher p-order piecewise polynomial order solvers.

            homepage: https://www.nektar.info

            version toolchain 5.0.1 foss/2020b"},{"location":"version-specific/supported-software/#neon","title":"neon","text":"

            neon is an HTTP/1.1 and WebDAV client library, with a C interface.

            homepage: https://github.com/notroj/neon

            version toolchain 0.31.2 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#neptune-client","title":"neptune-client","text":"

            Neptune is an experiment tracking hub that brings organization and collaboration to your data science team.

            homepage: https://docs.neptune.ai

            version versionsuffix toolchain 0.4.129 -Python-3.8.2 foss/2020a 0.10.5 foss/2020b 0.16.2 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#net-core","title":"Net-core","text":"

            .NET Core is a free and open-source managed computer software framework for the Windows, Linux, and macOS operating systems .NET Core fully supports C# and F# and partially supports Visual Basic

            homepage: https://dotnet.microsoft.com/

            version toolchain 2.1.8 system 2.2.5 system 3.0.0 system"},{"location":"version-specific/supported-software/#netcdf","title":"netCDF","text":"

            NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.

            homepage: https://www.unidata.ucar.edu/software/netcdf/

            version versionsuffix toolchain 4.3.3.1 foss/2016a, intel/2016.02-GCC-4.9, intel/2016a 4.4.0 foss/2016a, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 4.4.1 foss/2016a, foss/2016b, intel/2016a, intel/2016b 4.4.1.1 foss/2016b, foss/2017b, fosscuda/2017b, intel/2016b, intel/2017a, intel/2017b, intelcuda/2017b 4.4.1.1 -HDF5-1.10.1 foss/2017a, intel/2017a 4.4.1.1 -HDF5-1.8.18 intel/2017a 4.4.1.1 -HDF5-1.8.19 foss/2017a, foss/2017b, intel/2017b 4.5.0 foss/2017b, intel/2017b, intel/2018.00, intel/2018.01 4.6.0 foss/2018a, intel/2018a, iomkl/2018a 4.6.1 PGI/18.4-GCC-6.4.0-2.28, foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 4.6.2 gompi/2019a, iimpi/2019a 4.7.1 gompi/2019b, gompic/2019b, iimpi/2019b, iimpic/2019b 4.7.4 gompi/2020a, gompi/2020b, gompic/2020a, gompic/2020b, iimpi/2020a, iimpi/2020b, iimpic/2020b, iompi/2020a 4.8.0 gompi/2021a, iimpi/2021a 4.8.1 gompi/2021b, iimpi/2021b 4.9.0 gompi/2022a, gompi/2022b, iimpi/2022a, iimpi/2022b"},{"location":"version-specific/supported-software/#netcdf-c","title":"netCDF-C++","text":"

            NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.

            homepage: http://www.unidata.ucar.edu/software/netcdf/

            version toolchain 4.2 foss/2016a"},{"location":"version-specific/supported-software/#netcdf-c4","title":"netCDF-C++4","text":"

            NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.

            homepage: https://www.unidata.ucar.edu/software/netcdf/

            version versionsuffix toolchain 4.3.0 foss/2018b, gompi/2019a, iimpi/2019a, intel/2016a, intel/2016b, intel/2017a, intel/2018a, intel/2018b, iomkl/2018b 4.3.0 -HDF5-1.8.18 intel/2017a 4.3.0 -HDF5-1.8.19 intel/2017b 4.3.1 gompi/2019b, gompi/2020a, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a, iimpi/2019b, iimpi/2020a, iimpi/2020b, iimpi/2021a, iimpi/2021b, iimpi/2022a"},{"location":"version-specific/supported-software/#netcdf-fortran","title":"netCDF-Fortran","text":"

            NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.

            homepage: https://www.unidata.ucar.edu/software/netcdf/

            version versionsuffix toolchain 4.4.1 foss/2016b, intel/2016b 4.4.2 intel/2016.02-GCC-4.9 4.4.3 foss/2016a, intel/2016a 4.4.4 PGI/18.4-GCC-6.4.0-2.28, foss/2016b, foss/2017b, foss/2018a, foss/2018b, fosscuda/2017b, fosscuda/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intelcuda/2017b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, iomkl/2018b 4.4.4 -HDF5-1.8.18 intel/2017a 4.4.4 -HDF5-1.8.19 foss/2017b, intel/2017b 4.4.5 gompi/2019a, iimpi/2019a 4.5.2 gompi/2019b, gompi/2020a, gompic/2019b, gompic/2020a, iimpi/2019b, iimpi/2020a, iimpic/2019b 4.5.3 gompi/2020b, gompi/2021a, gompi/2021b, gompic/2020b, iimpi/2020b, iimpi/2021a, iimpi/2021b 4.6.0 gompi/2022a, gompi/2022b, iimpi/2022a"},{"location":"version-specific/supported-software/#netcdf4-python","title":"netcdf4-python","text":"

            Python/numpy interface to netCDF.

            homepage: https://unidata.github.io/netcdf4-python/

            version versionsuffix toolchain 1.2.9 -Python-2.7.13 intel/2017a 1.3.1 -Python-3.6.3 intel/2017b 1.3.1 -Python-3.6.3-HDF5-1.8.19 intel/2017b 1.4.0 -Python-3.6.2-HDF5-1.8.19 foss/2017b 1.4.0 -Python-3.6.4 intel/2018a 1.4.1 -Python-2.7.15 intel/2018b 1.4.1 -Python-3.6.6 foss/2018b, intel/2018b 1.4.2 -Python-3.6.4 foss/2018a 1.4.3 -Python-3.6.6 foss/2018b 1.5.2 intel/2019a 1.5.3 -Python-2.7.16 foss/2019b 1.5.3 -Python-3.7.4 foss/2019b, intel/2019b 1.5.3 -Python-3.8.2 foss/2020a, intel/2020a 1.5.5.1 foss/2020b, fosscuda/2020b, intel/2020b 1.5.7 foss/2021a, foss/2021b, intel/2021b 1.6.1 foss/2022a, intel/2022a 1.6.3 foss/2022b"},{"location":"version-specific/supported-software/#netloc","title":"netloc","text":"

            The Portable Network Locality (netloc) software package provides network topology discovery tools, and an abstract representation of those networks topologies for a range of network types and configurations. It is provided as a companion to the Portable Hardware Locality (hwloc) package.

            homepage: http://www.open-mpi.org/software/netloc

            version toolchain 0.5 GCC/4.8.3"},{"location":"version-specific/supported-software/#netlogo","title":"NetLogo","text":"

            NetLogo is a multi-agent programmable modeling environment. It is used by tens of thousands of students, teachers and researchers worldwide. It also powers HubNet participatory simulations. It is authored by Uri Wilensky and developed at the CCL.

            homepage: https://ccl.northwestern.edu/netlogo/

            version versionsuffix toolchain 5.3.1 -64 system 6.0.4 -64 system 6.2.0 -64 system 6.2.2 -64 system 6.3.0 -64 system"},{"location":"version-specific/supported-software/#netmhc","title":"netMHC","text":"

            NetMHC 4.0 predicts binding of peptides to a number of different HLA alleles using artificial neural networks (ANN).

            homepage: https://www.cbs.dtu.dk/services/NetMHC/

            version toolchain 4.0a system"},{"location":"version-specific/supported-software/#netmhcii","title":"netMHCII","text":"

            NetMHCII 2.3 server predicts binding of peptides to HLA-DR, HLA-DQ, HLA-DP and mouse MHC class II alleles using articial neuron networks. Predictions can be obtained for 25 HLA-DR alleles, 20 HLA-DQ, 9 HLA-DP, and 7 mouse H2 class II alleles.

            homepage: https://www.cbs.dtu.dk/services/NetMHCII/

            version toolchain 2.3 system"},{"location":"version-specific/supported-software/#netmhciipan","title":"netMHCIIpan","text":"

            NetMHCIIpan 3.2 server predicts binding of peptides to MHC class II molecules. The predictions are available for the three human MHC class II isotypes HLA-DR, HLA-DP and HLA-DQ, as well as mouse molecules (H-2).

            homepage: https://www.cbs.dtu.dk/services/NetMHCIIpan/

            version toolchain 3.2 GCCcore/7.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#netmhcpan","title":"netMHCpan","text":"

            The NetMHCpan software predicts binding of peptides to any known MHC molecule using artificial neural networks (ANNs).

            homepage: https://www.cbs.dtu.dk/services/NetMHCpan/

            version toolchain 4.0a system"},{"location":"version-specific/supported-software/#netpipe","title":"NetPIPE","text":"

            NetPIPE is a protocol independent communication performance benchmark that visually represents the network performance under a variety of conditions.

            homepage: https://netpipe.cs.ksu.edu/

            version toolchain 5.1 intel/2018a 5.1.4 gompi/2020b, iimpi/2020b"},{"location":"version-specific/supported-software/#netpyne","title":"NetPyNE","text":"

            NetPyNE is an open-source Python package to facilitate the development, parallel simulation, analysis, and optimization of biological neuronal networks using the NEURON simulator.

            homepage: http://www.netpyne.org

            version toolchain 1.0.2.1 foss/2021b"},{"location":"version-specific/supported-software/#nettle","title":"nettle","text":"

            Nettle is a cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.

            homepage: https://www.lysator.liu.se/~nisse/nettle/

            version toolchain 3.1.1 GNU/4.9.3-2.25, foss/2016a, intel/2016a 3.2 GCCcore/5.4.0, foss/2016b, intel/2016b 3.3 GCCcore/6.3.0, GCCcore/6.4.0, intel/2017a 3.4 GCCcore/6.4.0, GCCcore/7.3.0, foss/2018a, foss/2018b, fosscuda/2018b, intel/2018a, intel/2018b, iomkl/2018a 3.4.1 GCCcore/8.2.0 3.5.1 GCCcore/8.3.0 3.6 GCCcore/10.2.0, GCCcore/9.3.0 3.7.2 GCCcore/10.3.0 3.7.3 GCCcore/11.2.0 3.8 GCCcore/11.3.0 3.8.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#networktools","title":"networkTools","text":"

            Dynamical Network Analysis is a method of characterizing allosteric signalling through biomolecular complexes.

            homepage: http://faculty.scs.illinois.edu/schulten/software/networkTools/

            version toolchain 2 GCC/9.3.0"},{"location":"version-specific/supported-software/#networkx","title":"networkx","text":"

            NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.

            homepage: https://pypi.python.org/pypi/networkx

            version versionsuffix toolchain 1.1 -Python-2.7.12 intel/2016b 1.11 -Python-2.7.11 foss/2016a 1.11 -Python-2.7.14 intel/2017b 1.11 -Python-3.5.1 foss/2016a 2.0 -Python-2.7.14 intel/2017b 2.1 -Python-2.7.14 intel/2017b 2.2 -Python-2.7.15 foss/2018b, foss/2019a, intel/2018b 2.2 -Python-2.7.16 foss/2019b 2.2 -Python-3.6.6 foss/2018b, intel/2018b 2.3 -Python-3.7.2 foss/2019a, intel/2019a 2.4 -Python-3.7.2 foss/2019a, intel/2019a 2.4 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b, intelcuda/2019b 2.4 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a 2.5 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 2.5.1 foss/2021a 2.6.2 foss/2020b 2.6.3 foss/2021a, foss/2021b, intel/2021b 2.8.4 foss/2022a, intel/2022a 2.8.8 gfbf/2022b 3.0 gfbf/2022b"},{"location":"version-specific/supported-software/#neurokit","title":"NeuroKit","text":"

            NeuroKit is a Python module that provides high-level integrative functions with good and flexible defaults, allowing users to focus on what\u2019s important.

            homepage: https://neurokit.readthedocs.io

            version versionsuffix toolchain 0.2.7 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#neuron","title":"NEURON","text":"

            Empirically-based simulations of neurons and networks of neurons.

            homepage: https://www.neuron.yale.edu/neuron

            version versionsuffix toolchain 7.4 intel/2016b 7.6.5 -Python-2.7.15 intel/2018b 7.8.2 foss/2021b"},{"location":"version-specific/supported-software/#newhybrids","title":"NewHybrids","text":"

            This implements a Gibbs sampler to estimate the posterior probability that genetically sampled individuals fall into each of a set of user-defined hybrid categories.

            homepage: https://ib.berkeley.edu/labs/slatkin/eriq/software/software.htm#NewHybs

            version toolchain 1.1_Beta3 GCC/10.2.0"},{"location":"version-specific/supported-software/#nextflow","title":"Nextflow","text":"

            Nextflow is a reactive workflow framework and a programming DSL that eases writing computational pipelines with complex data

            homepage: https://www.nextflow.io/

            version toolchain 19.04.0 system 19.07.0 system 19.12.0 system 20.01.0 system 20.04.1 system 20.10.0 system 21.03.0 system 21.08.0 system 21.10.6 system 22.04.0 system 22.10.0 system 22.10.1 system 22.10.5 system 22.10.6 system 23.04.2 system"},{"location":"version-specific/supported-software/#nextgenmap","title":"NextGenMap","text":"

            NextGenMap is a flexible highly sensitive short read mapping tool that handles much higher mismatch rates than comparable algorithms while still outperforming them in terms of runtime.

            homepage: http://cibiv.github.io/NextGenMap/

            version toolchain 0.5.5 GCC/11.2.0, foss/2016b"},{"location":"version-specific/supported-software/#nexus-cl","title":"NEXUS-CL","text":"

            The NEXUS Class Library is a C++ library for parsing NEXUS files.

            homepage: https://ncl.sourceforge.net/

            version toolchain 2.1.18 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#nf-core-mag","title":"nf-core-mag","text":"

            The Nextflow pipeline 'mag' ported to EasyBuild/EESSI.

            homepage: https://nf-co.re/mag

            version toolchain 20221110 foss/2021a"},{"location":"version-specific/supported-software/#nfft","title":"NFFT","text":"

            The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more dimensions, of arbitrary input size, and of complex data.

            homepage: https://www-user.tu-chemnitz.de/~potts/nfft/

            version toolchain 3.1.3 foss/2020b, fosscuda/2020b 3.5.1 foss/2018b, foss/2019a 3.5.2 foss/2020a, foss/2021a, foss/2021b 3.5.3 foss/2022a"},{"location":"version-specific/supported-software/#nghttp2","title":"nghttp2","text":"

            This is an implementation of the Hypertext Transfer Protocol version 2 in C. The framing layer of HTTP/2 is implemented as a reusable C library. On top of that, we have implemented an HTTP/2 client, server and proxy. We have also developed load test and benchmarking tools for HTTP/2. An HPACK encoder and decoder are available as a public API.

            homepage: https://github.com/nghttp2/nghttp2

            version toolchain 1.48.0 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#nghttp3","title":"nghttp3","text":"

            nghttp3 is an implementation of RFC 9114 HTTP/3 mapping over QUIC and RFC 9204 QPACK in C. It does not depend on any particular QUIC transport implementation.

            homepage: https://github.com/ngtcp2/nghttp3

            version toolchain 0.6.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ngless","title":"NGLess","text":"

            NGLess is a domain-specific language for NGS (next-generation sequencing data) processing.

            homepage: https://ngless.embl.de/

            version versionsuffix toolchain 1.1.1 -static-Linux64 system"},{"location":"version-specific/supported-software/#nglview","title":"nglview","text":"

            IPython widget to interactively view molecular structures and trajectories.

            homepage: https://github.com/arose/nglview

            version versionsuffix toolchain 2.7.0 -Python-3.7.2 intel/2019a 2.7.7 -Python-3.8.2 intel/2020a 3.0.3 foss/2021a"},{"location":"version-specific/supported-software/#ngs","title":"NGS","text":"

            NGS is a new, domain-specific API for accessing reads, alignments and pileups produced from Next Generation Sequencing.

            homepage: https://github.com/ncbi/ngs

            version versionsuffix toolchain 1.2.3 foss/2016b, intel/2016a 1.2.5 foss/2016b 1.3.0 GCCcore/6.4.0, intel/2017a 2.9.1 -Java-1.8.0_162 foss/2018a, intel/2018a 2.9.3 -Java-1.8 foss/2018b 2.10.0 -Java-1.8 GCCcore/8.2.0 2.10.0 -Java-11 GCCcore/8.2.0 2.10.4 -Java-11 GCCcore/8.3.0 2.10.5 GCCcore/9.3.0 2.10.9 GCCcore/10.2.0, GCCcore/10.3.0 2.11.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#ngs-python","title":"NGS-Python","text":"

            NGS is a new, domain-specific API for accessing reads, alignments and pileups produced from Next Generation Sequencing.

            homepage: https://github.com/ncbi/ngs

            version versionsuffix toolchain 1.2.3 -Python-2.7.11 intel/2016a 2.9.3 -Python-3.6.6 intel/2018b 2.10.4 -Python-2.7.16 gompi/2019b"},{"location":"version-specific/supported-software/#ngsadmix","title":"NGSadmix","text":"

            NGSadmix is a tool for finding admixture proportions from NGS data, based on genotype likelihoods.

            homepage: http://www.popgen.dk/software/index.php/NgsAdmix

            version toolchain 32 GCC/7.3.0-2.30"},{"location":"version-specific/supported-software/#ngspeciesid","title":"NGSpeciesID","text":"

            NGSpeciesID is a tool for clustering and consensus forming of targeted ONT reads.

            homepage: https://github.com/ksahlin/NGSpeciesID

            version versionsuffix toolchain 0.1.1.1 -Python-3.7.4 foss/2019b 0.1.2.1 foss/2021b"},{"location":"version-specific/supported-software/#ngspice","title":"ngspice","text":"

            Ngspice is a mixed-level/mixed-signal circuit simulator. Its code is based on three open source software packages: Spice3f5, Cider1b1 and Xspice.

            homepage: https://ngspice.sourceforge.net

            version toolchain 31 foss/2019b 39 foss/2022a"},{"location":"version-specific/supported-software/#ngtcp2","title":"ngtcp2","text":"

            'Call it TCP/2. One More Time.' ngtcp2 project is an effort to implement RFC9000 QUIC protocol.

            homepage: https://github.com/ngtcp2/ngtcp2

            version toolchain 0.7.0 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#nibabel","title":"NiBabel","text":"

            NiBabel provides read/write access to some common medical and neuroimaging file formats, including: ANALYZE (plain, SPM99, SPM2 and later), GIFTI, NIfTI1, NIfTI2, MINC1, MINC2, MGH and ECAT as well as Philips PAR/REC. We can read and write Freesurfer geometry, and read Freesurfer morphometry and annotation files. There is some very limited support for DICOM. NiBabel is the successor of PyNIfTI.

            homepage: https://nipy.github.io/nibabel

            version versionsuffix toolchain 2.0.2 -Python-2.7.11 intel/2016a 2.0.2 -Python-2.7.11-freetype-2.6.3 intel/2016a 2.1.0 -Python-2.7.13 intel/2017a 2.2.1 -Python-3.6.4 intel/2018a 2.3.0 -Python-2.7.14 foss/2017b, intel/2017b 2.3.0 -Python-3.6.3 foss/2017b, intel/2017b 2.3.0 -Python-3.6.6 foss/2018b 2.4.0 foss/2019a, intel/2019a 2.5.1 -Python-3.6.6 foss/2018b 3.1.0 -Python-3.7.4 foss/2019b, intel/2019b 3.2.0 -Python-3.8.2 foss/2020a 3.2.1 foss/2020b, foss/2021a, fosscuda/2020b 3.2.2 foss/2021b 4.0.2 foss/2022a"},{"location":"version-specific/supported-software/#nichenetr","title":"nichenetr","text":"

            R implementation of the NicheNet method, to predict active ligand-target links between interacting cells

            homepage: https://github.com/saeyslab/nichenetr

            version versionsuffix toolchain 1.1.1-20230223 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#nifti","title":"NIfTI","text":"

            Niftilib is a set of i/o libraries for reading and writing files in the nifti-1 data format.

            homepage: http://niftilib.sourceforge.net/

            version toolchain 2.0.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#nifti2dicom","title":"nifti2dicom","text":"

            Nifti2Dicom is a conversion tool that converts 3D NIfTI files (and other formats supported by ITK, including Analyze, MetaImage Nrrd and VTK) to DICOM. Unlike other conversion tools, it can import a DICOM file that is used to import the patient and study DICOM tags, and allows you to edit the accession number and other DICOM tags, in order to create a valid DICOM that can be imported in a PACS.

            homepage: https://github.com/biolab-unige/nifti2dicom

            version toolchain 0.4.11 foss/2019b"},{"location":"version-specific/supported-software/#nilearn","title":"Nilearn","text":"

            Nilearn is a Python module for fast and easy statistical learning on NeuroImaging data.

            homepage: https://nilearn.github.io/

            version versionsuffix toolchain 0.5.2 foss/2019a, intel/2019a 0.5.2 -Python-2.7.14 foss/2017b, intel/2017b 0.5.2 -Python-3.6.3 foss/2017b, intel/2017b 0.7.0 -Python-3.8.2 foss/2020a 0.7.1 foss/2020b"},{"location":"version-specific/supported-software/#nim","title":"Nim","text":"

            Nim is a systems and applications programming language.

            homepage: https://nim-lang.org/

            version toolchain 0.18.0 GCCcore/6.4.0 0.19.2 GCCcore/7.3.0 1.0.0 GCCcore/8.3.0 1.4.6 GCCcore/10.2.0 1.4.8 GCCcore/10.3.0 1.6.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#nimble","title":"NIMBLE","text":"

            NIMBLE is a system for building and sharing analysis methods for statistical models, especially for hierarchical models and computationally-intensive methods.

            homepage: https://r-nimble.org

            version versionsuffix toolchain 0.7.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#ninja","title":"Ninja","text":"

            Ninja is a small build system with a focus on speed.

            homepage: https://ninja-build.org/

            version toolchain 1.8.2 foss/2018a, foss/2018b, fosscuda/2018b, intel/2017b, intel/2018a 1.9.0 GCCcore/8.2.0, GCCcore/8.3.0, foss/2018b 1.10.0 GCCcore/9.3.0 1.10.1 GCCcore/10.2.0 1.10.2 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 1.11.1 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nipype","title":"Nipype","text":"

            Nipype is a Python project that provides a uniform interface to existing neuroimaging software and facilitates interaction between these packages within a single workflow.

            homepage: https://nipype.readthedocs.io

            version versionsuffix toolchain 1.0.2 -Python-3.6.4 intel/2018a 1.1.3 -Python-3.6.6 foss/2018b 1.4.2 -Python-3.7.4 intel/2019b 1.8.5 foss/2021a"},{"location":"version-specific/supported-software/#nlmpy","title":"NLMpy","text":"

            NLMpy is a Python package for the creation of neutral landscape models that are widely used in the modelling of ecological patterns and processes across landscapes.

            homepage: https://pypi.org/project/nlmpy

            version versionsuffix toolchain 0.1.5 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#nlohmann_json","title":"nlohmann_json","text":"

            JSON for Modern C++

            homepage: https://github.com/nlohmann/json

            version toolchain 3.10.0 GCCcore/10.3.0 3.10.4 GCCcore/11.2.0 3.10.5 GCCcore/11.3.0 3.11.2 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nlopt","title":"NLopt","text":"

            NLopt is a free/open-source library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms.

            homepage: http://ab-initio.mit.edu/wiki/index.php/NLopt

            version toolchain 2.4.2 GCC/5.4.0-2.26, GCCcore/7.3.0, foss/2016a, foss/2016b, foss/2017b, foss/2018a, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, iomkl/2018a 2.6.1 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.6.2 GCCcore/10.2.0 2.7.0 GCCcore/10.3.0, GCCcore/11.2.0 2.7.1 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#nltk","title":"NLTK","text":"

            NLTK is a leading platform for building Python programs to work with human language data.

            homepage: https://www.nltk.org/

            version versionsuffix toolchain 3.2.2 -Python-2.7.13 intel/2017a 3.2.4 -Python-2.7.13 intel/2017a 3.5 -Python-3.7.4 foss/2019b 3.5 -Python-3.8.2 foss/2020a, fosscuda/2020a 3.6.7 foss/2021a 3.7 foss/2021b"},{"location":"version-specific/supported-software/#nnu-net","title":"nnU-Net","text":"

            nnU-Net is the first segmentation method that is designed to deal with the dataset diversity found in the domain It condenses and automates the keys decisions for designing a successful segmentation pipeline for any given dataset.

            homepage: https://github.com/MIC-DKFZ/nnUNet

            version toolchain 1.7.0 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#node-red","title":"Node-RED","text":"

            Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

            homepage: http://nodered.org

            version toolchain 0.16.2 foss/2017a"},{"location":"version-specific/supported-software/#nodejs","title":"nodejs","text":"

            Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

            homepage: http://nodejs.org

            version toolchain 4.4.7 foss/2016a 6.10.3 foss/2017a 8.9.4 foss/2017a 10.15.1 foss/2018b 10.15.3 GCCcore/8.2.0 12.16.1 GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 12.19.0 GCCcore/10.2.0 14.17.0 GCCcore/10.3.0 14.17.2 GCCcore/10.3.0 14.17.6 GCCcore/11.2.0 16.15.1 GCCcore/11.3.0 18.12.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#normaliz","title":"Normaliz","text":"

            Normaliz is a open source tool for computations in affine monoids, vector configurations, rational polyhedra and rational cones. Normaliz now computes rational and algebraic polyhedra, i.e., polyhedra defined over real algebraic extensions of QQ.

            homepage: https://www.normaliz.uni-osnabrueck.de/

            version toolchain 3.6.3 intel/2018b 3.7.4 gompi/2019a 3.8.4 GCC/8.3.0"},{"location":"version-specific/supported-software/#nose-parameterized","title":"nose-parameterized","text":"

            Parameterized testing with any Python test framework.

            homepage: version versionsuffix toolchain 0.5.0 -Python-2.7.11 foss/2016a 0.5.0 -Python-3.5.1 foss/2016a 0.5.0 -Python-3.5.2 intel/2016b 0.6.0 -Python-3.6.1 intel/2017a"},{"location":"version-specific/supported-software/#novoalign","title":"novoalign","text":"

            NovoCraft is a software bundle. NovoAlign: Market\u2019s leading aligner with fully packed features designed for mapping of short reads onto a reference genome from Illumina, Ion Torrent, 454, and Color Spance NGS platforms. NovoAlignCS: Leading aligner packed with features designed to fully support reads from ABI SOLiD Color Space. NovoSort: Custom designed multi-threaded sort/merge tools for BAM files. NovoMethyl: It can analyse a set of alignments to identify methylated cytosine\u2019s. WARNING! You can only use the sofware without a license (with some features disabled) if you are a non-profit organisation and use is for your own research or for use by students as part of their course. A license is required for use where these programs are part of a service where a third party is billed.

            homepage: http://www.novocraft.com/

            version versionsuffix toolchain 3.09.00 system 3.09.01 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#novoplasty","title":"NOVOPlasty","text":"

            NOVOPlasty is a de novo assembler and heteroplasmy/variance caller for short circular genomes.

            homepage: https://github.com/ndierckx/NOVOPlasty

            version toolchain 3.7 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#npstat","title":"npstat","text":"

            npstat implements some population genetics tests and estimators that can be applied to pooled sequences from Next Generation Sequencing experiments.

            homepage: https://code.google.com/archive/p/npstat/

            version toolchain 0.99 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#nrgljubljana","title":"NRGLjubljana","text":"

            NRG Ljubljana is an efficient implementation of the numerical renormalization group (NRG) technique for solving quantum impurity problems that arise as simplified models of magnetic impurities and as effective models in the dynamical mean field theory (DMFT) approach to bulk correlated materials.

            homepage: http://nrgljubljana.ijs.si/

            version toolchain 2.4.3.23 foss/2016b"},{"location":"version-specific/supported-software/#nsight-compute","title":"Nsight-Compute","text":"

            NVIDIA\u00ae Nsight\u2122 Compute is an interactive kernel profiler for CUDA applications. It provides detailed performance metrics and API debugging via a user interface and a command line tool. In addition, its baseline feature allows users to compare results within the tool. Nsight Compute provides a customizable and data-driven user interface and fast metric collection, which can be extended with rules-based analysis scripts for post-processing results. The rules-based guided analysis helps isolate and fix memory throughput, compute, and occupancy inefficiencies in the target application.

            homepage: https://developer.nvidia.com/nsight-compute

            version toolchain 2020.3.0 system 2021.2.0 system"},{"location":"version-specific/supported-software/#nsight-systems","title":"Nsight-Systems","text":"

            NVIDIA\u00ae Nsight\u2122 Systems is a system-wide performance analysis tool designed to visualize an application\u2019s algorithm, help you select the largest opportunities to optimize, and tune to scale efficiently across any quantity of CPUs and GPUs in your computer; from laptops to DGX servers.

            homepage: https://developer.nvidia.com/nsight-compute

            version toolchain 2020.5.1 system"},{"location":"version-specific/supported-software/#nspr","title":"NSPR","text":"

            Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level and libc-like functions.

            homepage: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR

            version toolchain 4.20 GCCcore/6.4.0, GCCcore/7.3.0 4.21 GCCcore/8.2.0, GCCcore/8.3.0 4.25 GCCcore/9.3.0 4.29 GCCcore/10.2.0 4.30 GCCcore/10.3.0 4.32 GCCcore/11.2.0 4.34 GCCcore/11.3.0 4.35 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nss","title":"NSS","text":"

            Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications.

            homepage: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS

            version toolchain 3.39 GCCcore/6.4.0, GCCcore/7.3.0 3.42.1 GCCcore/8.2.0 3.45 GCCcore/8.3.0 3.51 GCCcore/9.3.0 3.57 GCCcore/10.2.0 3.65 GCCcore/10.3.0 3.69 GCCcore/11.2.0 3.79 GCCcore/11.3.0 3.85 GCCcore/12.2.0 3.89.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nsync","title":"nsync","text":"

            nsync is a C library that exports various synchronization primitives, such as mutexes

            homepage: https://github.com/google/nsync

            version toolchain 1.24.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.25.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ntcard","title":"ntCard","text":"

            ntCard is a streaming algorithm for estimating the frequencies of k-mers in genomics datasets.

            homepage: https://www.bcgsc.ca/resources/software/ntcard

            version toolchain 1.2.1 GCC/11.2.0, GCC/8.3.0"},{"location":"version-specific/supported-software/#ntedit","title":"ntEdit","text":"

            ntEdit is a fast and scalable genomics application for polishing genome assembly drafts.

            homepage: https://github.com/bcgsc/ntEdit

            version toolchain 1.3.1 iccifort/2018.3.222-GCC-7.3.0-2.30"},{"location":"version-specific/supported-software/#nthits","title":"ntHits","text":"

            ntHits is a method for identifying repeats in high-throughput DNA sequencing data.

            homepage: https://github.com/bcgsc/ntHits

            version toolchain 0.0.1 iccifort/2018.3.222-GCC-7.3.0-2.30"},{"location":"version-specific/supported-software/#ntl","title":"NTL","text":"

            NTL is a high-performance, portable C++ library providing data structures and algorithms for manipulating signed, arbitrary length integers, and for vectors, matrices, and polynomials over the integers and over finite fields.

            homepage: https://shoup.net/ntl/

            version toolchain 11.3.4 GCC/8.2.0-2.31.1 11.5.1 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#ntpoly","title":"NTPoly","text":"

            is a massively parallel library for computing the functions of sparse, symmetric matrices based on polynomial expansions. For sufficiently sparse matrices, most of the matrix functions in NTPoly can be computed in linear time.

            homepage: https://github.com/william-dawson/NTPoly

            version toolchain 2.5.1 foss/2020b, intel/2020b 2.7.0 foss/2021a, intel/2021a 2.7.1 intel/2020b"},{"location":"version-specific/supported-software/#num2words","title":"num2words","text":"

            Modules to convert numbers to words. 42 --> forty-two

            homepage: https://github.com/savoirfairelinux/num2words

            version toolchain 0.5.10 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#numactl","title":"numactl","text":"

            The numactl program allows you to run your application program on specific cpu's and memory nodes. It does this by supplying a NUMA memory policy to the operating system before running your program. The libnuma library provides convenient ways for you to add NUMA memory policies into your own program.

            homepage: http://oss.sgi.com/projects/libnuma/

            version toolchain 2.0.9 GCC/4.8.3 2.0.10 GCC/4.8.4, GCC/4.9.2, GNU/4.9.2-2.25, GNU/4.9.3-2.25 2.0.11 GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.3.0-2.26, GCC/5.4.0-2.26, GCC/6.1.0-2.27, GCC/6.2.0-2.27, GCC/6.3.0-2.27, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, foss/2016a, iccifort/2016.3.210-GCC-4.9.3-2.25, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b 2.0.12 GCCcore/8.2.0, GCCcore/8.3.0 2.0.13 GCCcore/10.2.0, GCCcore/9.2.0, GCCcore/9.3.0 2.0.14 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 2.0.16 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#numba","title":"numba","text":"

            Numba is an Open Source NumPy-aware optimizing compiler for Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM compiler infrastructure to compile Python syntax to machine code.

            homepage: https://numba.pydata.org/

            version versionsuffix toolchain 0.24.0 -Python-2.7.11 intel/2016a 0.24.0 -Python-3.5.1 intel/2016a 0.26.0 -Python-2.7.11 intel/2016a 0.32.0 -Python-2.7.13 intel/2017a 0.37.0 -Python-2.7.14 foss/2018a, intel/2017b 0.37.0 -Python-3.6.4 foss/2018a, intel/2018a 0.39.0 -Python-3.6.6 foss/2018b 0.43.1 intel/2019a 0.46.0 foss/2019a 0.47.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.50.0 -Python-3.8.2 foss/2020a, intel/2020a 0.50.1 -Python-3.8.2 foss/2020a 0.52.0 foss/2020b, fosscuda/2020b, intel/2020b 0.52.0 -Python-3.8.2 foss/2020a 0.53.1 foss/2020b, foss/2021a, fosscuda/2020b 0.54.1 foss/2021b, intel/2021b 0.54.1 -CUDA-11.4.1 foss/2021b 0.56.4 foss/2022a 0.56.4 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#numdiff","title":"numdiff","text":"

            Numdiff (which I will also write numdiff) is a little program that can be used to compare putatively similar files line by line and field by field, ignoring small numeric differences or/and different numeric formats. Equivalently, Numdiff is a program with the capability to appropriately compare files containing numerical fields (and not only).

            homepage: https://www.nongnu.org/numdiff/

            version toolchain 5.9.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#numexpr","title":"numexpr","text":"

            The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a compiler at runtime.

            homepage: https://numexpr.readthedocs.io/en/latest/

            version versionsuffix toolchain 2.5.2 -Python-2.7.11 intel/2016a 2.6.1 -Python-2.7.12 foss/2016b, intel/2016b 2.6.1 -Python-3.5.2 intel/2016b 2.6.4 -Python-2.7.13 foss/2017a 2.6.4 -Python-2.7.14 intel/2018a 2.6.4 -Python-3.5.1 foss/2016a 2.6.4 -Python-3.6.1 intel/2017a 2.6.4 -Python-3.6.3 intel/2017b 2.6.4 -Python-3.6.4 foss/2018a, intel/2018a 2.6.5 -Python-2.7.15 foss/2018b, intel/2018b 2.6.5 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 2.7.0 intel/2019a 2.7.1 -Python-2.7.16 intel/2019b 2.7.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.7.1 -Python-3.8.2 foss/2020a, intel/2020a 2.8.1 foss/2021a, intel/2021a 2.8.4 foss/2022a"},{"location":"version-specific/supported-software/#numpy","title":"numpy","text":"

            NumPy is the fundamental package for scientific computing with Python. It contains among other things: a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.

            homepage: http://www.numpy.org

            version versionsuffix toolchain 1.8.2 -Python-2.7.11 foss/2016a, intel/2016a 1.9.2 -Python-2.7.12 intel/2016b 1.10.4 -Python-2.7.11 intel/2016a 1.11.0 -Python-2.7.11 intel/2016a 1.12.1 -Python-3.5.2 intel/2016b 1.13.0 -Python-2.7.13 intel/2017a 1.13.1 -Python-3.6.1 intel/2017a"},{"location":"version-specific/supported-software/#nvhpc","title":"NVHPC","text":"

            C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)

            homepage: https://developer.nvidia.com/hpc-sdk/

            version versionsuffix toolchain 20.7 system 20.9 system 20.11 system 21.2 system 21.3 system 21.5 system 21.7 system 21.9 system 21.11 system 22.7 -CUDA-11.7.0 system 22.9 -CUDA-11.7.0 system 22.11 -CUDA-11.7.0 system 23.1 -CUDA-12.0.0 system"},{"location":"version-specific/supported-software/#nvofbf","title":"nvofbf","text":"

            NVHPC based toolchain, including OpenMPI for MPI support, OpenBLAS (via FlexiBLAS for BLAS and LAPACK support), FFTW and ScaLAPACK.

            homepage: <(none)>

            version toolchain 2022.07 system"},{"location":"version-specific/supported-software/#nvompi","title":"nvompi","text":"

            NVHPC based compiler toolchain, including OpenMPI for MPI support.

            homepage: <(none)>

            version toolchain 2022.07 system"},{"location":"version-specific/supported-software/#nvshmem","title":"NVSHMEM","text":"

            NVSHMEM is a parallel programming interface based on OpenSHMEM that provides efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a global address space for data that spans the memory of multiple GPUs and can be accessed with fine-grained GPU-initiated operations, CPU-initiated operations, and operations on CUDA streams.

            homepage: https://developer.nvidia.com/nvshmem

            version versionsuffix toolchain 2.4.1 -CUDA-11.4.1 gompi/2021b 2.5.0 -CUDA-11.7.0 gompi/2022a 2.7.0 -CUDA-11.7.0 gompi/2022a 2.8.0 -CUDA-11.7.0 gompi/2022a"},{"location":"version-specific/supported-software/#nvtop","title":"nvtop","text":"

            htop-like GPU usage monitor

            homepage: https://github.com/Syllo/nvtop

            version toolchain 1.0.0 fosscuda/2018b 1.1.0 fosscuda/2019b 1.2.1 GCCcore/10.2.0, GCCcore/10.3.0 1.2.2 GCCcore/10.2.0, GCCcore/10.3.0 2.0.2 GCCcore/11.3.0 3.0.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#nwchem","title":"NWChem","text":"

            NWChem aims to provide its users with computational chemistry tools that are scalable both in their ability to treat large scientific computational chemistry problems efficiently, and in their use of available parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties and relativity.

            homepage: https://nwchemgit.github.io/

            version versionsuffix toolchain 6.6.revision27746 -2015-10-20-Python-2.7.12 iomkl/2017a 6.6.revision27746 -2015-10-20-patches-20170814-Python-2.7.13 intel/2017a 6.8.revision47 -2017-12-14-Python-2.7.14 intel/2017b, intel/2018a 7.0.0 -Python-3.7.4 intel/2019b 7.0.2 intel/2021a, intel/2022a 7.0.2 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#nxtrim","title":"NxTrim","text":"

            NxTrim is a software to remove Nextera Mate Pair junction adapters and categorise reads according to the orientation implied by the adapter location.

            homepage: https://github.com/sequencing/NxTrim

            version toolchain 0.4.3 foss/2018a"},{"location":"version-specific/supported-software/#o","title":"O","text":"

            Oases - OBITools - OBITools3 - OCaml - occt - oceanspy - OCNet - Octave - Octopus-vcf - OGDF - olaFlow - olego - OMA - OmegaFold - onedrive - ONNX - ONNX-Runtime - ont-fast5-api - ont-guppy - ont-remora - OOMPA - OPARI2 - Open-Data-Cube-Core - OpenAI-Gym - OpenBabel - OpenBLAS - openCARP - OpenCensus-python - OpenCoarrays - OpenColorIO - OpenCV - OpenEXR - OpenFace - OpenFAST - OpenFOAM - OpenFOAM-Extend - OpenFold - OpenForceField - OpenImageIO - OpenJPEG - OpenKIM-API - openkim-models - OpenMM - OpenMM-PLUMED - OpenMMTools - OpenMolcas - OpenMPI - OpenMS - OpenNLP - OpenPGM - OpenPIV - openpyxl - OpenRefine - OpenSceneGraph - OpenSees - OpenSlide - openslide-python - OpenSSL - OpenStackClient - OPERA - OPERA-MS - OptaDOS - OptiType - OptiX - Optuna - OR-Tools - ORCA - ORFfinder - OrfM - OrthoFinder - OrthoMCL - Osi - OSPRay - OSU-Micro-Benchmarks - OTF2 - OVITO - ownCloud - oxDNA - oxford_asl

            "},{"location":"version-specific/supported-software/#oases","title":"Oases","text":"

            Oases is a de novo transcriptome assembler designed to produce transcripts from short read sequencing technologies, such as Illumina, SOLiD, or 454 in the absence of any genomic assembly.

            homepage: http://www.ebi.ac.uk/~zerbino/oases/

            version versionsuffix toolchain 0.2.08 foss/2016b 0.2.08 -kmer_101 intel/2017b"},{"location":"version-specific/supported-software/#obitools","title":"OBITools","text":"

            The OBITools programs aims to help you to manipulate various data and sequence files in a convenient way using the Unix command line interface. They follow the standard Unix interface for command line program, allowing to chain a set of commands using the pipe mecanism.

            homepage: http://www.grenoble.prabi.fr/trac/OBITools

            version versionsuffix toolchain 1.2.9 -Python-2.7.11 foss/2016a 1.2.13 -Python-2.7.15 foss/2019a"},{"location":"version-specific/supported-software/#obitools3","title":"OBITools3","text":"

            A package for the management of analyses and data in DNA metabarcoding.

            homepage: https://metabarcoding.org/obitools3

            version toolchain 3.0.1b8 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#ocaml","title":"OCaml","text":"

            OCaml is a general purpose industrial-strength programming language with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria it benefits from one of the most advanced type systems and supports functional, imperative and object-oriented styles of programming.

            homepage: http://ocaml.org/

            version toolchain 4.02.3 foss/2016a 4.07.1 foss/2018b"},{"location":"version-specific/supported-software/#occt","title":"occt","text":"

            Open CASCADE Technology (OCCT) is an object-oriented C++ class library designed for rapid production of sophisticated domain-specific CAD/CAM/CAE applications.

            homepage: https://www.opencascade.com/

            version toolchain 7.3.0p4 foss/2019b 7.5.0p1 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#oceanspy","title":"oceanspy","text":"

            OceanSpy - A Python package to facilitate ocean model data analysis and visualization.

            homepage: https://github.com/hainegroup/oceanspy

            version toolchain 0.2.0 foss/2022a"},{"location":"version-specific/supported-software/#ocnet","title":"OCNet","text":"

            Generate and analyze Optimal Channel Networks (OCNs): oriented spanning trees reproducing all scaling features characteristic of real, natural river networks. As such, they can be used in a variety of numerical experiments in the fields of hydrology, ecology and epidemiology.

            homepage: https://cran.r-project.org/web/packages/OCNet

            version versionsuffix toolchain 0.2.0 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#octave","title":"Octave","text":"

            GNU Octave is a high-level interpreted language, primarily intended for numerical computations.

            homepage: https://www.gnu.org/software/octave/

            version versionsuffix toolchain 4.0.0 foss/2016a 4.0.3 intel/2016b 4.2.1 foss/2018a, intel/2016b, intel/2017a 4.2.1 -mt intel/2017a 4.2.2 foss/2018a 4.4.1 foss/2018b 5.1.0 foss/2019a, foss/2019b 6.2.0 foss/2020b 7.1.0 foss/2021b"},{"location":"version-specific/supported-software/#octopus-vcf","title":"Octopus-vcf","text":"

            Octopus is a mapping-based variant caller that implements several calling models within a unified haplotype-aware framework. Octopus takes inspiration from particle filtering by constructing a tree of haplotypes and dynamically pruning and extending the tree based on haplotype posterior probabilities in a sequential manner. This allows octopus to implicitly consider all possible haplotypes at a given loci in reasonable time.

            homepage: https://github.com/luntergroup/octopus

            version toolchain 0.7.1 foss/2020b 0.7.2 foss/2020b"},{"location":"version-specific/supported-software/#ogdf","title":"OGDF","text":"

            OGDF is a self-contained C++ library for graph algorithms, in particular for (but not restricted to) automatic graph drawing. It offers sophisticated algorithms and data structures to use within your own applications or scientific projects.

            homepage: https://ogdf.uos.de/

            version toolchain dogwood-202202 GCC/11.2.0"},{"location":"version-specific/supported-software/#olaflow","title":"olaFlow","text":"

            olaFlow CFD Suite is a free and open source project committed to bringing the latest advances for the simulation of wave dynamics to the OpenFOAM\u00ae and FOAM-extend communities.

            homepage: https://olaflow.github.io/

            version toolchain 20210820 foss/2021b"},{"location":"version-specific/supported-software/#olego","title":"olego","text":"

            OLego is a program specifically designed for de novo spliced mapping of mRNA-seq reads. OLego adopts a seed-and-extend scheme, and does not rely on a separate external mapper.

            homepage: https://github.com/chaolinzhanglab/olego

            version toolchain 1.1.9 GCC/11.2.0"},{"location":"version-specific/supported-software/#oma","title":"OMA","text":"

            The OMA ('Orthologous MAtrix') project is a method and database for the inference of orthologs among complete genomes

            homepage: https://omabrowser.org/standalone/

            version toolchain 2.1.1 system"},{"location":"version-specific/supported-software/#omegafold","title":"OmegaFold","text":"

            OmegaFold: High-resolution de novo Structure Prediction from Primary Sequence

            homepage: https://github.com/HeliXonProtein/OmegaFold

            version versionsuffix toolchain 1.1.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#onedrive","title":"onedrive","text":"

            A free Microsoft OneDrive Client which supports OneDrive Personal, OneDrive for Business, OneDrive for Office365 and SharePoint.

            homepage: https://abraunegg.github.io/

            version toolchain 2.4.11 GCCcore/10.2.0 2.4.21 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#onnx","title":"ONNX","text":"

            Open Neural Network Exchange (ONNX) is an open ecosystem that empowers AI developers to choose the right tools as their project evolves. ONNX provides an open source format for AI models, both deep learning and traditional ML. It defines an extensible computation graph model, as well as definitions of built-in operators and standard data types. Currently we focus on the capabilities needed for inferencing (scoring).

            homepage: https://onnx.ai/

            version toolchain 1.11.0 foss/2021a"},{"location":"version-specific/supported-software/#onnx-runtime","title":"ONNX-Runtime","text":"

            ONNX Runtime inference can enable faster customer experiences and lower costs, supporting models from deep learning frameworks such as PyTorch and TensorFlow/Keras as well as classical machine learning libraries such as scikit-learn, LightGBM, XGBoost, etc. ONNX Runtime is compatible with different hardware, drivers, and operating systems, and provides optimal performance by leveraging hardware accelerators where applicable alongside graph optimizations and transforms.

            homepage: https://onnxruntime.ai/

            version versionsuffix toolchain 1.10.0 foss/2021a 1.10.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#ont-fast5-api","title":"ont-fast5-api","text":"

            ont_fast5_api is a simple interface to HDF5 files of the Oxford Nanopore .fast5 file format.

            homepage: https://github.com/nanoporetech/ont_fast5_api

            version versionsuffix toolchain 3.3.0 foss/2020b, fosscuda/2020b 3.3.0 -Python-3.7.4 foss/2019b 4.0.0 foss/2021a 4.0.2 foss/2021a, foss/2021b 4.1.1 foss/2022b"},{"location":"version-specific/supported-software/#ont-guppy","title":"ont-guppy","text":"

            Guppy is a bioinformatics toolkit that enables real-time basecalling and several post-processing features that works on Oxford Nanopore Technologies\u2122 sequencing platforms. For Research Use Only

            homepage: https://community.nanoporetech.com/protocols/Guppy-protocol

            version versionsuffix toolchain 6.4.6 system 6.4.6 -CUDA-11.7.0 system 6.4.8 -CUDA-11.7.0 system"},{"location":"version-specific/supported-software/#ont-remora","title":"ont-remora","text":"

            Methylation/modified base calling separated from basecalling. Remora primarily provides an API to call modified bases for basecaller programs such as Bonito. Remora also provides the tools to prepare datasets, train modified base models and run simple inference.

            homepage: https://github.com/nanoporetech/remora

            version versionsuffix toolchain 0.1.2 foss/2021a 0.1.2 -CUDA-11.3.1 foss/2021a 1.0.0 foss/2021a 1.0.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#oompa","title":"OOMPA","text":"

            OOMPA is a suite of R packages for the analysis of gene expression (RNA), proteomics profiling, and other high throughput molecular biology data.

            homepage: https://r-forge.r-project.org/projects/oompa

            version versionsuffix toolchain 3.1.2 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#opari2","title":"OPARI2","text":"

            OPARI2, the successor of Forschungszentrum Juelich's OPARI, is a source-to-source instrumentation tool for OpenMP and hybrid codes. It surrounds OpenMP directives and runtime library calls with calls to the POMP2 measurement interface.

            homepage: https://www.score-p.org

            version toolchain 2.0 foss/2016a 2.0.5 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.0.6 GCCcore/10.2.0, GCCcore/10.3.0 2.0.7 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#open-data-cube-core","title":"Open-Data-Cube-Core","text":"

            The Open Data Cube Core provides an integrated gridded data analysis environment for decades of analysis ready earth observation satellite and related data from multiple satellite and other acquisition systems.

            homepage: https://github.com/opendatacube/datacube-core

            version versionsuffix toolchain 1.8.3 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#openai-gym","title":"OpenAI-Gym","text":"

            A toolkit for developing and comparing reinforcement learning algorithms.

            homepage: https://gym.openai.com

            version versionsuffix toolchain 0.17.1 -Python-3.7.4 foss/2019b 0.21.0 foss/2021b"},{"location":"version-specific/supported-software/#openbabel","title":"OpenBabel","text":"

            Open Babel is a chemical toolbox designed to speak the many languages of chemical data. It's an open, collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.

            homepage: https://openbabel.org

            version versionsuffix toolchain 2.3.2 -Python-2.7.11 foss/2016a 2.4.1 -Python-2.7.14 intel/2017b 2.4.1 -Python-2.7.15 intel/2018b 2.4.1 -Python-3.6.6 intel/2018b 2.4.1 -Python-3.7.2 intel/2019a 3.0.0 -Python-3.7.4 gompi/2019b 3.1.1 gompi/2021a, gompi/2022a 3.1.1 -Python-3.7.4 gompi/2019b 3.1.1 -Python-3.8.2 iimpi/2020a"},{"location":"version-specific/supported-software/#openblas","title":"OpenBLAS","text":"

            OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

            homepage: https://xianyi.github.com/OpenBLAS/

            version versionsuffix toolchain 0.2.9 -LAPACK-3.5.0 GCC/4.8.3 0.2.12 -LAPACK-3.5.0 GCC/4.9.2 0.2.13 -LAPACK-3.5.0 GCC/4.8.4, GCC/4.9.2 0.2.14 -LAPACK-3.5.0 GNU/4.9.2-2.25, GNU/4.9.3-2.25 0.2.15 -LAPACK-3.6.0 GCC/4.9.3-2.25 0.2.18 -LAPACK-3.6.0 GCC/4.9.4-2.25, GCC/5.3.0-2.26, GCC/5.4.0-2.26 0.2.18 -LAPACK-3.6.1 GCC/5.4.0-2.26, gompi/2016.07 0.2.19 -LAPACK-3.6.1 gompi/2016.09 0.2.19 -LAPACK-3.7.0 GCC/5.4.0-2.26, GCC/6.3.0-2.27 0.2.20 GCC/5.4.0-2.26, GCC/6.4.0-2.28, GCC/7.2.0-2.29 0.3.0 GCC/6.4.0-2.28, GCC/7.3.0-2.30 0.3.1 GCC/7.3.0-2.30 0.3.3 GCC/8.2.0-2.31.1 0.3.4 GCC/8.2.0-2.31.1 0.3.5 GCC/8.2.0-2.31.1 0.3.6 GCC/8.3.0-2.32 0.3.7 GCC/8.3.0 0.3.8 GCC/9.2.0 0.3.9 GCC/9.3.0 0.3.12 GCC/10.2.0 0.3.15 GCC/10.3.0 0.3.17 GCC/10.3.0, GCC/11.2.0 0.3.18 GCC/11.2.0 0.3.20 GCC/11.2.0, GCC/11.3.0, NVHPC/22.7-CUDA-11.7.0 0.3.21 GCC/12.2.0 0.3.23 GCC/12.3.0"},{"location":"version-specific/supported-software/#opencarp","title":"openCARP","text":"

            openCARP is an open cardiac electrophysiology simulator for in-silico experiments.

            homepage: https://opencarp.org

            version versionsuffix toolchain 3.2 -Python-3.8.2 foss/2020a 6.0 foss/2020b 8.2 foss/2021a"},{"location":"version-specific/supported-software/#opencensus-python","title":"OpenCensus-python","text":"

            OpenCensus for Python. OpenCensus provides a framework to measure a server's resource usage and collect performance stats. This repository contains Python related utilities and supporting software needed by OpenCensus.

            homepage: https://opencensus.io/

            version toolchain 0.8.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#opencoarrays","title":"OpenCoarrays","text":"

            OpenCoarrays is an open-source software project that supports the coarray Fortran (CAF) parallel programming features of the Fortran 2008 standard and several features proposed for Fortran 2015 in the draft Technical Specification TS 18508 Additional Parallel Features in Fortran.

            homepage: https://github.com/sourceryinstitute/opencoarrays

            version toolchain 1.9.0 gompi/2017a 2.2.0 gompi/2018b 2.8.0 gompi/2019b 2.9.2 gompi/2020a"},{"location":"version-specific/supported-software/#opencolorio","title":"OpenColorIO","text":"

            OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation.

            homepage: http://opencolorio.org/

            version toolchain 1.1.0 foss/2018b"},{"location":"version-specific/supported-software/#opencv","title":"OpenCV","text":"

            OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Includes extra modules for OpenCV from the contrib repository.

            homepage: https://opencv.org/

            version versionsuffix toolchain 2.4.12 intel/2016a 3.1.0 foss/2016a, foss/2016b, intel/2016a, intel/2016b 3.3.0 -Python-2.7.13 intel/2017a 3.3.0 -Python-2.7.14 foss/2017b, intel/2017b 3.3.0 -Python-3.6.1 intel/2017a 3.3.0 -Python-3.6.3 foss/2017b, intel/2017b 3.4.1 -Python-2.7.14 foss/2018a, intel/2018a 3.4.1 -Python-3.6.4 foss/2018a, intel/2018a 3.4.1 -Python-3.6.4-contrib foss/2018a 3.4.5 -Python-2.7.15 foss/2018b 3.4.7 -Python-2.7.15 foss/2019a, fosscuda/2019a 3.4.7 -Python-3.7.2 foss/2019a, fosscuda/2019a 4.0.1 -Python-2.7.15 foss/2018b 4.0.1 -Python-3.6.6 foss/2018b 4.2.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 4.2.0 -Python-3.8.2 foss/2020a 4.2.0 -Python-3.8.2-contrib foss/2020a 4.5.1 -contrib foss/2020b, fosscuda/2020b 4.5.3 -CUDA-11.3.1-contrib foss/2021a 4.5.3 -contrib foss/2021a 4.5.5 -CUDA-11.4.1-contrib foss/2021b 4.5.5 -contrib foss/2021b 4.6.0 -CUDA-11.7.0-contrib foss/2022a 4.6.0 -contrib foss/2022a"},{"location":"version-specific/supported-software/#openexr","title":"OpenEXR","text":"

            OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications

            homepage: https://www.openexr.com/

            version toolchain 2.2.0 intel/2016b, intel/2017a 2.3.0 foss/2018b, intel/2018b 2.4.0 GCCcore/8.3.0 2.4.1 GCCcore/9.3.0 2.5.5 GCCcore/10.2.0 3.0.1 GCCcore/10.3.0 3.1.1 GCCcore/11.2.0 3.1.5 GCCcore/11.3.0, GCCcore/12.2.0 3.1.7 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#openface","title":"OpenFace","text":"

            OpenFace \u2013 a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation.

            homepage: https://github.com/TadasBaltrusaitis/OpenFace

            version versionsuffix toolchain 2.2.0 foss/2021a 2.2.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#openfast","title":"OpenFAST","text":"

            OpenFAST is a wind turbine simulation tool which builds on FAST v8. FAST.Farm extends the capability of OpenFAST to simulate multi-turbine wind farms

            homepage: http://openfast.readthedocs.io/

            version toolchain 3.0.0 foss/2021b"},{"location":"version-specific/supported-software/#openfoam","title":"OpenFOAM","text":"

            OpenFOAM is a free, open source CFD software package. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.

            homepage: https://www.openfoam.com/

            version versionsuffix toolchain 2.2.2 intel/2016a, intel/2017a, intel/2018a 2.2.x intel/2019a 2.3.1 intel/2017a, intel/2019b 2.4.0 intel/2017a, intel/2019a 3.0.0 foss/2016a 3.0.1 intel/2016b, intel/2018a 4.0 foss/2016b, intel/2016b 4.1 foss/2016b, intel/2017a 4.x-20170904 intel/2016b 5.0 foss/2017b, intel/2017a, intel/2017b 5.0-20180108 foss/2018a, intel/2017b, intel/2018a 6 foss/2018b, foss/2019b, intel/2018a 7 foss/2019b 7 -20200508 foss/2019b 8 foss/2020a, foss/2020b 8 -20210316 foss/2020b 9 foss/2021a, intel/2021a 10 foss/2022a 10 -20230119 foss/2022a v1606+ foss/2018b v1612+ foss/2018b v1712 foss/2017b, intel/2017b v1806 foss/2018b v1812 foss/2018b v1906 foss/2019b v1912 foss/2019b, intel/2019b v2006 foss/2020a, intel/2020a v2012 foss/2020a v2106 foss/2021a v2112 foss/2020b, foss/2021b v2206 foss/2022a"},{"location":"version-specific/supported-software/#openfoam-extend","title":"OpenFOAM-Extend","text":"

            OpenFOAM is a free, open source CFD software package. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.

            homepage: http://www.extend-project.de/

            version versionsuffix toolchain 3.1 gimkl/2.11.5 3.2 gimkl/2.11.5, intel/2016a 4.0 intel/2017a 4.0 -Python-2.7.16 intel/2019b 4.1-20191120 -Python-2.7.16 intel/2019b 4.1-20200408 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#openfold","title":"OpenFold","text":"

            A faithful PyTorch reproduction of DeepMind's AlphaFold 2

            homepage: https://github.com/aqlaboratory/openfold

            version versionsuffix toolchain 1.0.0 -CUDA-11.3.1 foss/2021a 1.0.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#openforcefield","title":"OpenForceField","text":"

            Simulation and Parameter Estimation in Geophysics - A python package for simulation and gradient based parameter estimation in the context of geophysical applications.

            homepage: https://github.com/openforcefield/openforcefield/releases

            version versionsuffix toolchain 0.7.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#openimageio","title":"OpenImageIO","text":"

            OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities, and applications.

            homepage: https://openimageio.org/

            version toolchain 1.6.17 intel/2016b 1.7.17 intel/2017a 1.8.16 foss/2018b, intel/2018b 2.0.12 gompi/2019b, iimpi/2019b 2.1.12.0 gompi/2020a, iimpi/2020a 2.3.17.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#openjpeg","title":"OpenJPEG","text":"

            OpenJPEG is an open-source JPEG 2000 codec written in C language. It has been developed in order to promote the use of JPEG 2000, a still-image compression standard from the Joint Photographic Experts Group (JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.

            homepage: https://www.openjpeg.org/

            version toolchain 2.1 GCCcore/6.4.0 2.3.0 GCCcore/6.4.0, GCCcore/7.3.0 2.3.1 GCCcore/8.2.0, GCCcore/8.3.0 2.4.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 2.5.0 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#openkim-api","title":"OpenKIM-API","text":"

            Open Knowledgebase of Interatomic Models. OpenKIM is an API and a collection of interatomic models (potentials) for atomistic simulations. It is a library that can be used by simulation programs to get access to the models in the OpenKIM database. This EasyBuild only installs the API, the models have to be installed by the user by running kim-api-collections-management install user MODELNAME or kim-api-collections-management install user OpenKIM to install them all.

            homepage: https://openkim.org/

            version toolchain 1.9.2 foss/2016b, foss/2017b 1.9.7 foss/2018b, intel/2018b, iomkl/2018b"},{"location":"version-specific/supported-software/#openkim-models","title":"openkim-models","text":"

            Open Knowledgebase of Interatomic Models. OpenKIM is an API and a collection of interatomic models (potentials) for atomistic simulations. It is a library that can be used by simulation programs to get access to the models in the OpenKIM database. This EasyBuild installs the models. The API itself is in the kim-api package.

            homepage: https://openkim.org/

            version toolchain 20190725 GCCcore/10.2.0, foss/2019a, foss/2019b, intel/2019a, intel/2019b 20210128 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#openmm","title":"OpenMM","text":"

            OpenMM is a toolkit for molecular simulation.

            homepage: https://openmm.org

            version versionsuffix toolchain 7.1.1 -Python-3.6.3 intel/2017b 7.4.1 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 7.4.2 -Python-3.8.2 intel/2020a 7.5.0 foss/2020b, fosscuda/2020b, intel/2020b 7.5.0 -Python-3.8.2 fosscuda/2020a, intel/2020a 7.5.1 foss/2020b, fosscuda/2020b 7.5.1 -CUDA-11.3.1-DeepMind-patch foss/2021a 7.5.1 -CUDA-11.4.1-DeepMind-patch foss/2021b 7.5.1 -DeepMind-patch foss/2021a, foss/2021b 7.7.0 foss/2021a, foss/2022a 7.7.0 -CUDA-11.3.1 foss/2021a 8.0.0 foss/2022a 8.0.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#openmm-plumed","title":"OpenMM-PLUMED","text":"

            This project provides a connection between OpenMM and PLUMED. It allows you to bias or analyze an OpenMM simulation based on collective variables.

            homepage: https://github.com/openmm/openmm-plumed/

            version versionsuffix toolchain 1.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#openmmtools","title":"OpenMMTools","text":"

            A batteries-included toolkit for the GPU-accelerated OpenMM molecular simulation engine. openmmtools is a Python library layer that sits on top of OpenMM to provide access to a variety of useful tools for building full-featured molecular simulation packages.

            homepage: https://github.com/choderalab/openmmtools

            version versionsuffix toolchain 0.20.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#openmolcas","title":"OpenMolcas","text":"

            OpenMolcas is a quantum chemistry software package.

            homepage: https://gitlab.com/Molcas/OpenMolcas

            version versionsuffix toolchain 18.09 -Python-3.6.6 intel/2018b 20.10 -Python-3.8.2 intel/2020a 20.10 -Python-3.8.2-noGA intel/2020a 21.06 intel/2021a, iomkl/2021a 22.06 intel/2022a 22.10 intel/2022a 22.10 -noGA intel/2022a"},{"location":"version-specific/supported-software/#openmpi","title":"OpenMPI","text":"

            The Open MPI Project is an open source MPI implementation.

            homepage: http://www.open-mpi.org/

            version versionsuffix toolchain 1.6.5 GCC/4.8.1, GCC/4.8.2, GCC/4.8.3 1.6.5 -no-OFED GCC/4.8.1, GCC/4.8.2 1.7.3 GCC/4.8.2 1.8.1 GCC/4.8.3 1.8.3 GCC/4.9.2 1.8.4 GCC/4.8.4, GCC/4.9.2 1.8.5 GNU/4.9.2-2.25 1.8.6 GNU/4.9.3-2.25 1.8.8 GNU/4.9.3-2.25 1.10.1 GCC/4.9.3-2.25 1.10.2 GCC/4.9.3-2.25, GCC/5.3.0-2.26, GCC/6.1.0-2.27, PGI/16.3-GCC-4.9.3-2.25, PGI/16.4-GCC-5.3.0-2.26 1.10.3 GCC/5.4.0-2.26, GCC/6.1.0-2.27, iccifort/2016.3.210-GCC-5.4.0-2.26 1.10.4 PGI/16.7-GCC-5.4.0-2.26, iccifort/2016.3.210-GCC-4.9.3-2.25 2.0.0 GCC/5.2.0 2.0.1 GCC/6.2.0-2.27, iccifort/2017.1.132-GCC-5.4.0-2.26 2.0.2 GCC/6.3.0-2.27, iccifort/2017.1.132-GCC-6.3.0-2.27 2.0.2 -opa GCC/6.3.0-2.27 2.1.0 GCC/6.3.0-2.28 2.1.1 GCC/6.4.0-2.28, gcccuda/2017b, iccifort/2017.4.196-GCC-6.4.0-2.28 2.1.2 GCC/6.4.0-2.28, gcccuda/2018a, iccifort/2018.1.163-GCC-6.4.0-2.28 2.1.3 iccifort/2018.2.199-GCC-6.4.0-2.28 3.0.0 GCC/7.2.0-2.29 3.1.0 GCC/7.3.0-2.30 3.1.1 GCC/7.3.0-2.30, gcccuda/2018b, iccifort/2018.3.222-GCC-7.3.0-2.30 3.1.2 GCC/8.2.0-2.31.1 3.1.3 GCC/8.2.0-2.31.1, gcccuda/2019a, iccifort/2019.1.144-GCC-8.2.0-2.31.1 3.1.4 GCC/8.3.0, GCC/8.3.0-2.32, gcccuda/2019b, iccifort/2019.5.281 4.0.0 GCC/8.2.0-2.31.1 4.0.0 -hpcx GCC/8.2.0-2.31.1 4.0.1 GCC/8.3.0-2.32 4.0.2 GCC/9.2.0-2.32 4.0.3 GCC/9.3.0, gcccuda/2020a, iccifort/2020.1.217, iccifortcuda/2020a 4.0.5 GCC/10.2.0, GCC/9.3.0, gcccuda/2020b, iccifort/2020.4.304 4.0.5 -CUDA-11.2.1 NVHPC/21.2 4.0.6 GCC/10.3.0 4.0.7 GCC/10.3.0 4.1.0 GCC/10.2.0 4.1.1 GCC/10.3.0, GCC/11.2.0, intel-compilers/2021.2.0, intel-compilers/2021.4.0 4.1.2 GCC/10.2.0, GCC/11.2.0 4.1.4 GCC/11.3.0, GCC/12.2.0, NVHPC/22.7-CUDA-11.7.0 4.1.5 GCC/12.2.0, GCC/12.3.0 system GCC/system-2.29"},{"location":"version-specific/supported-software/#openms","title":"OpenMS","text":"

            As part of the deNBI Center for integrative Bioinformatics, OpenMS offers an open-source software C++ library (+ python bindings) for LC/MS data management and analyses. It provides an infrastructure for the rapid development of mass spectrometry related software as well as a rich toolset built on top of it.

            homepage: https://www.openms.de/

            version toolchain 2.4.0 foss/2018b"},{"location":"version-specific/supported-software/#opennlp","title":"OpenNLP","text":"

            The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.

            homepage: https://opennlp.apache.org/

            version toolchain 1.8.1 system"},{"location":"version-specific/supported-software/#openpgm","title":"OpenPGM","text":"

            OpenPGM is an open source implementation of the Pragmatic General Multicast (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable and scalable multicast protocol that enables receivers to detect loss, request retransmission of lost data, or notify an application of unrecoverable loss. PGM is a receiver-reliable protocol, which means the receiver is responsible for ensuring all data is received, absolving the sender of reception responsibility.

            homepage: http://code.google.com/p/openpgm/

            version toolchain 5.2.122 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2017a, intel/2016a, intel/2016b, intel/2017a"},{"location":"version-specific/supported-software/#openpiv","title":"OpenPIV","text":"

            OpenPIV is an open source Particle Image Velocimetry analysis software

            homepage: http://www.openpiv.net

            version versionsuffix toolchain 0.21.8 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#openpyxl","title":"openpyxl","text":"

            A Python library to read/write Excel 2010 xlsx/xlsm files

            homepage: https://openpyxl.readthedocs.io

            version versionsuffix toolchain 2.6.2 GCCcore/8.2.0 2.6.4 -Python-2.7.16 GCCcore/8.3.0 3.0.3 -Python-3.7.4 GCCcore/8.3.0 3.0.7 GCCcore/10.2.0, GCCcore/10.3.0 3.0.9 GCCcore/11.2.0 3.0.10 GCCcore/11.3.0 3.1.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#openrefine","title":"OpenRefine","text":"

            OpenRefine is a power tool that allows you to load data, understand it, clean it up, reconcile it, and augment it with data coming from the web.

            homepage: https://github.com/OpenRefine/OpenRefine

            version versionsuffix toolchain 2.7 -Java-1.8.0_144 system 3.4.1 -Java-11 system"},{"location":"version-specific/supported-software/#openscenegraph","title":"OpenSceneGraph","text":"

            The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems. The OpenSceneGraph is now well established as the world leading scene graph technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual reality industries.

            homepage: http://www.openscenegraph.org/

            version toolchain 3.6.5 foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#opensees","title":"OpenSees","text":"

            Open System for Earthquake Engineering Simulation

            homepage: https://opensees.berkeley.edu/index.php

            version versionsuffix toolchain 3.2.0 -Python-3.8.2 intel/2020a 3.2.0 -Python-3.8.2-parallel intel/2020a"},{"location":"version-specific/supported-software/#openslide","title":"OpenSlide","text":"

            OpenSlide is a C library that provides a simple interface to read whole-slide images (also known as virtual slides).

            homepage: https://openslide.org/

            version versionsuffix toolchain 3.4.1 GCCcore/11.2.0, GCCcore/8.2.0 3.4.1 -largefiles GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#openslide-python","title":"openslide-python","text":"

            OpenSlide Python is a Python interface to the OpenSlide library.

            homepage: https://github.com/openslide/openslide-python

            version toolchain 1.1.1 GCCcore/8.2.0 1.1.2 GCCcore/10.3.0, GCCcore/11.2.0 1.2.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#openssl","title":"OpenSSL","text":"

            The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library.

            homepage: https://www.openssl.org/

            version toolchain 1.0 system 1.0.1f GCC/4.8.2 1.0.1k GCC/4.9.2 1.0.1s foss/2016a, intel/2016a 1.0.2g GCCcore/4.9.3 1.0.2h foss/2016.04, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 1.1 system 1.1.0c GCC/5.4.0-2.26 1.1.0e intel/2016b 1.1.0h GCCcore/7.3.0 1.1.1b GCCcore/8.2.0 1.1.1d GCCcore/8.3.0 1.1.1e GCCcore/9.3.0 1.1.1h GCCcore/10.2.0 1.1.1k GCCcore/10.3.0, GCCcore/11.2.0 1.1.1n GCCcore/11.3.0 1.1.1q GCCcore/10.3.0"},{"location":"version-specific/supported-software/#openstackclient","title":"OpenStackClient","text":"

            OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the command set for Compute, Identity, Image, Network, Object Store and Block Storage APIs together in a single shell with a uniform command structure.

            homepage: https://docs.openstack.org/python-openstackclient/latest/

            version toolchain 5.5.0 GCCcore/10.2.0 5.8.0 GCCcore/11.2.0 6.0.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#opera","title":"OPERA","text":"

            An optimal genome scaffolding program

            homepage: https://sourceforge.net/projects/operasf

            version versionsuffix toolchain 2.0.6 -Perl-5.28.0 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#opera-ms","title":"OPERA-MS","text":"

            OPERA-MS is a hybrid metagenomic assembler which combines the advantages of short and long-read technologies to provide high quality assemblies, addressing issues of low contiguity for short-read only assemblies, and low base-pair quality for long-read only assemblies.

            homepage: https://github.com/CSB5/OPERA-MS

            version versionsuffix toolchain 0.9.0-20200802 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#optados","title":"OptaDOS","text":"

            OptaDOS is a program for calculating core-electron and low-loss electron energy loss spectra (EELS) and optical spectra along with total-, projected- and joint-density of electronic states (DOS) from single-particle eigenenergies and dipole transition coefficients.

            homepage: http://www.optados.org/

            version toolchain 1.2.380 GCC/11.3.0"},{"location":"version-specific/supported-software/#optitype","title":"OptiType","text":"

            OptiType is a novel HLA genotyping algorithm based on integer linear programming, capable of producing accurate 4-digit HLA genotyping predictions from NGS data by simultaneously selecting all major and minor HLA Class I alleles.

            homepage: https://github.com/FRED-2/OptiType

            version versionsuffix toolchain 1.3.2 -Python-2.7.15 foss/2018b 1.3.2 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#optix","title":"OptiX","text":"

            OptiX is NVIDIA SDK for easy ray tracing performance. It provides a simple framework for accessing the GPU\u2019s massive ray tracing power using state-of-the-art GPU algorithms.

            homepage: https://developer.nvidia.com/optix

            version toolchain 3.8.0 GNU/4.9.3-2.25 3.9.0 GNU/4.9.3-2.25 6.5.0 system 7.2.0 system"},{"location":"version-specific/supported-software/#optuna","title":"Optuna","text":"

            Optuna is an automatic hyperparameter optimization software framework, particularly designed for machine learning. It features an imperative, define-by-run style user API. Thanks to our define-by-run API, the code written with Optuna enjoys high modularity, and the user of Optuna can dynamically construct the search spaces for the hyperparameters.

            homepage: https://optuna.org/

            version toolchain 2.9.1 foss/2021a 2.10.0 foss/2021b 3.1.0 foss/2022a"},{"location":"version-specific/supported-software/#or-tools","title":"OR-Tools","text":"

            Google Optimization Tools (a.k.a., OR-Tools) is an open-source, fast and portable software suite for solving combinatorial optimization problems.

            homepage: https://developers.google.com/optimization/

            version versionsuffix toolchain 7.1 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#orca","title":"ORCA","text":"

            ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. It features a wide variety of standard quantum chemical methods ranging from semiempirical methods to DFT to single- and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.

            homepage: https://orcaforum.kofo.mpg.de

            version versionsuffix toolchain 3_0_2-linux_x86-64 -OpenMPI-1.8.1 system 4.0.0.2 -OpenMPI-2.0.2 system 4.0.1 -OpenMPI-2.0.2 system 4.1.0 -OpenMPI-3.1.3 system 4.2.0 gompi/2019b 4.2.1 gompi/2019b 5.0.0 gompi/2021a 5.0.0 -static gompi/2021a 5.0.1 gompi/2021a 5.0.1 -static gompi/2021a 5.0.2 gompi/2021a, gompi/2021b 5.0.2 -static gompi/2021a, gompi/2021b 5.0.3 gompi/2021b 5.0.4 gompi/2022a"},{"location":"version-specific/supported-software/#orffinder","title":"ORFfinder","text":"

            ORF finder searches for open reading frames (ORFs) in the DNA sequence you enter. The program returns the range of each ORF, along with its protein translation. Use ORF finder to search newly sequenced DNA for potential protein encoding segments, verify predicted protein using newly developed SMART BLAST or regular BLASTP.

            homepage: https://www.ncbi.nlm.nih.gov/orffinder/

            version toolchain 0.4.3 system"},{"location":"version-specific/supported-software/#orfm","title":"OrfM","text":"

            A simple and not slow open reading frame (ORF) caller.

            homepage: https://github.com/wwood/OrfM

            version toolchain 0.6.1 foss/2016b 0.7.1 iccifort/2019.1.144-GCC-8.2.0-2.31.1"},{"location":"version-specific/supported-software/#orthofinder","title":"OrthoFinder","text":"

            OrthoFinder is a fast, accurate and comprehensive platform for comparative genomics

            homepage: https://github.com/davidemms/OrthoFinder

            version versionsuffix toolchain 2.2.7 -Python-2.7.14 intel/2018a 2.3.3 -Python-2.7.15 intel/2018b 2.3.8 -Python-2.7.16 foss/2019b 2.3.11 -Python-3.7.4 intel/2019b 2.5.2 foss/2020b 2.5.4 foss/2020b"},{"location":"version-specific/supported-software/#orthomcl","title":"OrthoMCL","text":"

            OrthoMCL is a genome-scale algorithm for grouping orthologous protein sequences.

            homepage: http://orthomcl.org/

            version versionsuffix toolchain 1.4 -Perl-5.24.0 intel/2016b 2.0.9 -Perl-5.24.0 intel/2016b"},{"location":"version-specific/supported-software/#osi","title":"Osi","text":"

            Osi (Open Solver Interface) provides an abstract base class to a generic linear programming (LP) solver, along with derived classes for specific solvers. Many applications may be able to use the Osi to insulate themselves from a specific LP solver. That is, programs written to the OSI standard may be linked to any solver with an OSI interface and should produce correct results. The OSI has been significantly extended compared to its first incarnation. Currently, the OSI supports linear programming solvers and has rudimentary support for integer programming.

            homepage: https://github.com/coin-or/Osi

            version toolchain 0.108.5 GCCcore/7.3.0, foss/2018b 0.108.6 GCC/10.3.0, GCCcore/10.2.0 0.108.7 GCC/11.2.0"},{"location":"version-specific/supported-software/#ospray","title":"OSPRay","text":"

            Open, Scalable, and Portable Ray Tracing Engine

            homepage: https://www.ospray.org

            version toolchain 2.5.0 system"},{"location":"version-specific/supported-software/#osu-micro-benchmarks","title":"OSU-Micro-Benchmarks","text":"

            OSU Micro-Benchmarks

            homepage: https://mvapich.cse.ohio-state.edu/benchmarks/

            version versionsuffix toolchain 5.3.2 foss/2016a, foss/2017a 5.6.2 gompi/2019a 5.6.3 gompi/2019b, gompi/2020a, gompi/2020b, gompic/2019b, gompic/2020a, iimpi/2019a, iimpi/2019b, iimpi/2020a, iimpi/2020b, iimpic/2019b, iimpic/2020a 5.7 gompi/2020b, gompic/2020b, iimpi/2020b 5.7.1 ffmpi/4.5.0, gompi/2021a, gompi/2021b, iimpi/2021a, iompi/2021a 5.7.1 -CUDA-11.3.1 gompi/2021a 5.8 iimpi/2021b 5.9 gompi/2022.05, gompi/2022a, iimpi/2022a 5.9 -CUDA-11.3.1 gompi/2021a 5.9 -CUDA-11.4.1 gompi/2021b 5.9 -CUDA-11.7.0 gompi/2022a 5.9 -ROCm-4.5.0 gompi/2021b 6.2 gompi/2022.10, gompi/2022b 7.1-1 gompi/2023a"},{"location":"version-specific/supported-software/#otf2","title":"OTF2","text":"

            The Open Trace Format 2 is a highly scalable, memory efficient event trace data format plus support library. It is the new standard trace format for Scalasca, Vampir, and TAU and is open for other tools.

            homepage: https://www.score-p.org

            version toolchain 2.0 foss/2016a, foss/2017a 2.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.3 GCCcore/10.2.0, GCCcore/10.3.0 3.0 GCCcore/11.3.0 3.0.2 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ovito","title":"OVITO","text":"

            OVITO is a scientific visualization and data analysis solution for atomistic and other particle-based models. It helps scientists gain meaningful and quick insights from numerical simulation results.

            homepage: https://www.ovito.org

            version versionsuffix toolchain 3.7.11 -basic gompi/2022a"},{"location":"version-specific/supported-software/#owncloud","title":"ownCloud","text":"

            The ownCloud Desktop Client is a tool to synchronize files from ownCloud Server with your computer.

            homepage: https://github.com/owncloud/client

            version toolchain 2.4.3 foss/2018b 2.5.4 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#oxdna","title":"oxDNA","text":"

            oxDNA is a simulation code that was initially conceived as an implementation of the coarse-grained DNA model introduced by T. E. Ouldridge, J. P. K. Doye and A. A. Louis. It has been since reworked and it is now an extensible simulation+analysis framework. It natively supports DNA, RNA, Lennard-Jones and patchy particle simulations of different kinds on both single CPU cores and NVIDIA GPUs.

            homepage: https://github.com/lorenzo-rovigatti/oxDNA

            version versionsuffix toolchain 3.5.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#oxford_asl","title":"oxford_asl","text":"

            A command line tool for quantification of perfusion from ASL data

            homepage: https://github.com/ibme-qubic/oxford_asl

            version versionsuffix toolchain 3.9.6 -centos7-Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#p","title":"P","text":"

            p11-kit - p4-phylogenetics - p4est - p4vasp - p7zip - packmol - pagmo - pairsnp - PAL2NAL - paladin - PALEOMIX - PAML - panaroo - pandapower - pandas - pandas-datareader - PANDAseq - Pandoc - Panedr - Pango - pangolin - panito - PAPI - parallel - parallel-fastq-dump - Parallel-Hashmap - ParallelIO - parameterized - parasail - Paraver - ParaView - Parcels - PARI-GP - ParmEd - ParMETIS - ParMGridGen - PartitionFinder - pasta - PaStiX - pastml - patch - patchelf - path.py - PAUP - pauvre - pbbam - pbcopper - pbdagcon - pbipa - pbmm2 - pbs_python - PBSuite - PCAngsd - PCC - PCL - PCMSolver - PCRaster - PCRE - PCRE2 - pdsh - PDT - PEAR - PennCNV - PEPT - Percolator - Perl - perl-app-cpanminus - Perl-bundle-CPAN - Perl4-CoreLibs - Perseus - PEST++ - PETSc - petsc4py - PfamScan - pfind - pftoolsV3 - pFUnit - PGDSpider - PGI - PGPLOT - PHANOTATE - Phantompeakqualtools - PHASE - PHAST - Phenoflow - PheWAS - PheWeb - PhiPack - PHLAT - phonemizer - phono3py - phonopy - photontorch - phototonic - PHYLIP - PhyloBayes-MPI - phylokit - phylonaut - PhyloPhlAn - PhyML - phyx - picard - PICI-LIGGGHTS - pigz - PIL - PileOMeth - Pillow - Pillow-SIMD - Pilon - PIMS - Pindel - Pingouin - Pint - pip - PIPITS - PIRATE - pIRS - Pisces - piSvM - piSvM-JSC - pixman - pizzly - pkg-config - pkgconf - pkgconfig - PLAMS - plantcv - PlaScope - PlasmaPy - PLAST - Platanus - Platypus - plc - PLINK - plinkliftover - plinkQC - PLINKSEQ - plot1cell - Ploticus - plotly - plotly-orca - plotly.py - PLplot - PLUMED - PLY - PMIx - pmt - pmx - PnetCDF - pocl - pod5-file-format - poetry - polars - polymake - pomkl - pompi - poppler - popscle - popt - Porechop - porefoam - poretools - Portcullis - Postgres-XL - PostgreSQL - POT - POV-Ray - powerlaw - pp-sketchlib - PPanGGOLiN - PPfold - ppl - pplacer - pplpy - PRANK - PRC - preCICE - PREQUAL - preseq - presto - pretty-yaml - Primer3 - PRINSEQ - printproto - PRISMS-PF - ProbABEL - prodigal - ProFit - PROJ - ProjectQ - prokka - prompt-toolkit - proovread - propy - Proteinortho - ProtHint - protobuf - protobuf-python - protozero - PRSice - pscom - PSI - PSI4 - PsiCLASS - PSIPRED - psmc - psmpi - psmpi2 - PSolver - PSORTb - psrecord - pstoedit - psutil - psycopg2 - ptemcee - PTESFinder - pubtcrs - pugixml - pullseq - PuLP - purge_dups - py - py-aiger - py-aiger-bdd - py-cpuinfo - py3Dmol - pyABC - PyAMG - PyAPS3 - pybedtools - PyBerny - pyBigWig - pybind11 - pybinding - PyBioLib - PyCairo - PyCalib - pyccel - PyCharm - PyCheMPS2 - Pychopper - PyCifRW - PyClone - pycma - pycocotools - pycodestyle - PyCogent - pycoQC - PyCUDA - PycURL - PyDamage - pydantic - PyDatastream - pydicom - pydicom-seg - pydlpoly - pydot - pyEGA3 - pyenchant - PyEVTK - pyFAI - pyfaidx - pyfasta - PyFFmpeg - pyFFTW - pyfits - PyFMI - PyFoam - PyFR - PyFrag - pygccxml - pyGenomeTracks - PyGEOS - pyGIMLi - Pygments - pygmo - PyGObject - pygraphviz - pygrib - PyGTK - PyGTS - PyGWAS - pyhdf - PyImageJ - pyiron - Pyke3 - pylift - Pylint - pyMannKendall - pymatgen - pymatgen-db - pymbar - PyMC3 - pymca - pymemcache - PyMOL - PyNAST - pyobjcryst - PyOD - Pyomo - PyOpenCL - PyOpenGL - pyparsing - pyperf - pyplusplus - pypmt - PYPOWER - pyproj - PyPSA - pyqstem - PyQt - PyQt5 - PyQtGraph - pyradiomics - PyRe - PyRETIS - pyringe - pyro-api - pyro-ppl - Pyro4 - PyRosetta - Pysam - pysamstats - PySAT - pyScaf - pySCENIC - PySCF - pysheds - pyshp - PySide2 - pyslim - pysndfx - Pysolar - pyspoa - pysqlite - PyStan - pysteps - pystran - PyTables - pytesseract - pytest - pytest-benchmark - pytest-cpp - pytest-flakefinder - pytest-rerunfailures - pytest-shard - pytest-xdist - PYTHIA - Python - Python-bundle - python-docx - python-hl7 - python-igraph - python-irodsclient - python-isal - python-Levenshtein - python-libsbml - python-louvain - python-mujoco - python-parasail - python-telegram-bot - python-weka-wrapper3 - python-xxhash - pythran - PyTorch - PyTorch-bundle - pytorch-CycleGAN-pix2pix - PyTorch-Geometric - PyTorch-Ignite - PyTorch-Image-Models - PyTorch-Lightning - PyTorch3D - PyVCF - PyVCF3 - pyWannier90 - PyWavelets - PyWBGT - PyYAML - PyZMQ

            "},{"location":"version-specific/supported-software/#p11-kit","title":"p11-kit","text":"

            Provides a way to load and enumerate PKCS#11 modules. Provides a standard configuration setup for installing PKCS#11 modules in such a way that they're discoverable. Also solves problems with coordinating the use of PKCS#11 by different components or libraries living in the same process.

            homepage: https://p11-glue.freedesktop.org/p11-kit.html

            version toolchain 0.23.2 GCCcore/5.4.0, GNU/4.9.3-2.25, foss/2016a, intel/2016a 0.24.0 GCCcore/10.3.0 0.24.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#p4-phylogenetics","title":"p4-phylogenetics","text":"

            A Python phyloinformatic toolkit, and an implementation of tree-heterogeneous models of evolution.

            homepage: http://p4.nhm.ac.uk/

            version versionsuffix toolchain 1.4-20210322 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#p4est","title":"p4est","text":"

            p4est is a C library to manage a collection (a forest) of multiple connected adaptive quadtrees or octrees in parallel.

            homepage: https://www.p4est.org

            version toolchain 2.2 foss/2019a, intel/2019a 2.8 foss/2021a"},{"location":"version-specific/supported-software/#p4vasp","title":"p4vasp","text":"

            Visualization suite for VASP

            homepage: http://www.p4vasp.at/

            version versionsuffix toolchain 0.3.29 -Python-2.7.11 intel/2016a 0.3.30 -Python-2.7.14 intel/2017b, intel/2018a 0.3.30 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#p7zip","title":"p7zip","text":"

            p7zip is a quick port of 7z.exe and 7za.exe (command line version of 7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.

            homepage: http://p7zip.sourceforge.net/

            version toolchain 9.38.1 GCC/4.9.2, system 16.02 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2018a 17.03 GCCcore/10.2.0 17.04 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#packmol","title":"packmol","text":"

            Packing Optimization for Molecular Dynamics Simulations

            homepage: http://m3g.iqm.unicamp.br/packmol

            version toolchain 16.103 intel/2016a 18.013 foss/2018a, intel/2018a 20.2.2 GCC/10.2.0 v20.2.2 iccifort/2020.1.217"},{"location":"version-specific/supported-software/#pagmo","title":"pagmo","text":"

            pagmo is a C++ scientific library for massively parallel optimization.

            homepage: https://esa.github.io/pagmo2

            version toolchain 2.17.0 foss/2020b 2.18.0 foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pairsnp","title":"pairsnp","text":"

            A set of scripts for very quickly obtaining pairwise SNP distance matrices from multiple sequence alignments using sparse matrix libraries to improve performance.

            homepage: https://github.com/gtonkinhill/pairsnp

            version toolchain 0.0.7 foss/2021a"},{"location":"version-specific/supported-software/#pal2nal","title":"PAL2NAL","text":"

            PAL2NAL is a program that converts a multiple sequence alignment of proteins and the corresponding DNA (or mRNA) sequences into a codon alignment. The program automatically assigns the corresponding codon sequence even if the input DNA sequence has mismatches with the input protein sequence, or contains UTRs, polyA tails. It can also deal with frame shifts in the input alignment, which is suitable for the analysis of pseudogenes. The resulting codon alignment can further be subjected to the calculation of synonymous (d_S) and non-synonymous (d_N) subs- titution rates.

            homepage: http://www.bork.embl.de/pal2nal/

            version toolchain 14 GCCcore/10.2.0, GCCcore/10.3.0"},{"location":"version-specific/supported-software/#paladin","title":"paladin","text":"

            Protein ALignment And Detection INterface PALADIN is a protein sequence alignment tool designed for the accurate functional characterization of metagenomes.

            homepage: https://github.com/ToniWestbrook/paladin

            version toolchain 1.4.6 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#paleomix","title":"PALEOMIX","text":"

            The PALEOMIX pipelines are a set of pipelines and tools designed to aid the rapid processing of High-Throughput Sequencing (HTS) data.

            homepage: https://github.com/MikkelSchubert/paleomix

            version toolchain 1.3.7 foss/2022a"},{"location":"version-specific/supported-software/#paml","title":"PAML","text":"

            PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood.

            homepage: http://abacus.gene.ucl.ac.uk/software/paml.html

            version toolchain 4.9i GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28 4.9j GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 4.10.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#panaroo","title":"panaroo","text":"

            A pangenome analysis pipeline.

            homepage: https://gtonkinhill.github.io/panaroo/

            version toolchain 1.2.8 foss/2020b 1.2.9 foss/2021a 1.3.2 foss/2021b"},{"location":"version-specific/supported-software/#pandapower","title":"pandapower","text":"

            An easy to use open source tool for power system modeling, analysis and optimization with a high degree of automation

            homepage: http://www.pandapower.org/

            version toolchain 2.7.0 foss/2020b"},{"location":"version-specific/supported-software/#pandas","title":"pandas","text":"

            pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

            homepage: https://pypi.python.org/pypi/pandas/

            version versionsuffix toolchain 0.18.0 -Python-2.7.11 foss/2016a, intel/2016a 0.18.0 -Python-3.5.1 foss/2016a, intel/2016a 0.18.1 -Python-2.7.12 intel/2016b 0.18.1 -Python-3.5.2 intel/2016b 0.19.0 -Python-2.7.12 foss/2016b, intel/2016b 0.19.0 -Python-3.5.2 foss/2016b, intel/2016b 0.19.1 -Python-2.7.12 intel/2016b 0.19.1 -Python-3.5.2 intel/2016b 0.20.1 -Python-3.6.1 intel/2017a 0.21.0 -Python-2.7.13 intel/2017a 0.21.0 -Python-3.6.3 intel/2017b 1.1.2 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#pandas-datareader","title":"pandas-datareader","text":"

            Up to date remote data access for pandas, works for multiple versions of pandas.

            homepage: https://pypi.org/project/pandas-datareader

            version versionsuffix toolchain 0.7.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#pandaseq","title":"PANDAseq","text":"

            PANDASEQ is a program to align Illumina reads, optionally with PCR primers embedded in the sequence, and reconstruct an overlapping sequence.

            homepage: https://github.com/neufeld/pandaseq

            version toolchain 2.10 GCC/5.4.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26 2.11 foss/2017b, intel/2017b, intel/2018a"},{"location":"version-specific/supported-software/#pandoc","title":"Pandoc","text":"

            If you need to convert files from one markup format into another, pandoc is your swiss-army knife

            homepage: https://pandoc.org

            version toolchain 2.1.3 system 2.5 system 2.10 system 2.13 system 3.1.2 system"},{"location":"version-specific/supported-software/#panedr","title":"Panedr","text":"

            Panedr uses the Pyedr library to read a Gromacs EDR binary energy XDR file and returns its contents as a pandas dataframe.

            homepage: https://github.com/MDAnalysis/panedr

            version toolchain 0.7.0 foss/2021a"},{"location":"version-specific/supported-software/#pango","title":"Pango","text":"

            Pango is a library for laying out and rendering of text, with an emphasis on internationalization. Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.

            homepage: https://www.pango.org/

            version toolchain 1.39.0 foss/2016a, intel/2016a 1.40.1 foss/2016a, intel/2016a 1.40.3 foss/2016b, intel/2016b 1.40.5 intel/2017a 1.40.12 intel/2017a 1.40.14 foss/2017b, intel/2017b 1.41.0 foss/2017b, intel/2017b 1.41.1 foss/2018a, intel/2018a 1.42.4 foss/2018b, fosscuda/2018b 1.43.0 GCCcore/8.2.0 1.44.7 GCCcore/8.3.0, GCCcore/9.3.0 1.47.0 GCCcore/10.2.0 1.48.5 GCCcore/10.3.0 1.48.8 GCCcore/11.2.0 1.50.7 GCCcore/11.3.0 1.50.12 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pangolin","title":"pangolin","text":"

            Software package for assigning SARS-CoV-2 genome sequences to global lineages. This module also contains the faToVcf tool

            homepage: https://cov-lineages.org/pangolin.html

            version versionsuffix toolchain 3.1.11 foss/2020b 3.1.16 -pangoLEARN-2021-10-18 foss/2021b 3.1.16 -pangoLEARN-2021-11-25 foss/2021b"},{"location":"version-specific/supported-software/#panito","title":"panito","text":"

            Calculate genome wide average nucleotide identity (gwANI) for a multiFASTA alignment.

            homepage: https://github.com/sanger-pathogens/panito

            version toolchain 0.0.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#papi","title":"PAPI","text":"

            PAPI provides the tool designer and application engineer with a consistent interface and methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables software engineers to see, in near real time, the relation between software performance and processor events. In addition Component PAPI provides access to a collection of components that expose performance measurement opportunites across the hardware and software stack.

            homepage: https://icl.cs.utk.edu/projects/papi/

            version toolchain 5.4.3 foss/2016a 5.5.1 GCCcore/6.3.0, GCCcore/6.4.0 5.6.0 GCCcore/6.4.0 5.7.0 GCCcore/7.3.0, GCCcore/8.2.0 6.0.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 6.0.0.1 GCCcore/10.3.0, GCCcore/11.2.0 7.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#parallel","title":"parallel","text":"

            parallel: Build and execute shell commands in parallel

            homepage: https://savannah.gnu.org/projects/parallel/

            version toolchain 20141122 GCC/4.9.2 20150322 GCC/4.9.2 20150822 GCC/4.9.2 20160622 foss/2016a 20170822 intel/2017a 20171022 intel/2017b 20171122 foss/2017b, intel/2017b 20180422 intel/2018a 20180822 foss/2018b 20181222 intel/2018b 20190222 GCCcore/7.3.0 20190622 GCCcore/8.2.0 20190922 GCCcore/8.3.0 20200422 GCCcore/9.3.0 20200522 GCCcore/9.3.0 20210322 GCCcore/10.2.0 20210622 GCCcore/10.3.0 20210722 GCCcore/11.2.0 20220722 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#parallel-fastq-dump","title":"parallel-fastq-dump","text":"

            parallel fastq-dump wrapper

            homepage: https://github.com/rvalieris/parallel-fastq-dump

            version versionsuffix toolchain 0.6.5 -Python-3.7.2 GCCcore/8.2.0 0.6.6 -Python-3.8.2 GCCcore/9.3.0 0.6.7 gompi/2020b, gompi/2022a"},{"location":"version-specific/supported-software/#parallel-hashmap","title":"Parallel-Hashmap","text":"

            Parallel Hashmap is built on a modified version of Abseil's flat_hash_map. Parallel Hashmap has lower space requirements, is nearly as fast as the underlying flat_hash_map, and can be used from multiple threads with high levels of concurrency.

            homepage: https://github.com/greg7mdp/parallel-hashmap

            version toolchain 1.33 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#parallelio","title":"ParallelIO","text":"

            A high-level Parallel I/O Library for structured grid applications

            homepage: https://github.com/NCAR/ParallelIO

            version toolchain 2.2.2a intel/2017a 2.5.10 gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#parameterized","title":"parameterized","text":"

            Parameterized testing with any Python test framework

            homepage: https://github.com/wolever/parameterized

            version toolchain 0.8.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#parasail","title":"parasail","text":"

            parasail is a SIMD C (C99) library containing implementations of the Smith-Waterman (local), Needleman-Wunsch (global), and semi-global pairwise sequence alignment algorithms.

            homepage: https://github.com/jeffdaily/parasail

            version toolchain 2.2 intel/2018a 2.4 foss/2018b 2.4.1 GCC/8.3.0, intel/2019b 2.4.2 GCC/9.3.0, iccifort/2020.1.217 2.4.3 GCC/10.2.0, GCC/10.3.0 2.5 GCC/11.2.0 2.6 GCC/11.3.0 2.6.2 GCC/12.2.0"},{"location":"version-specific/supported-software/#paraver","title":"Paraver","text":"

            A very powerful performance visualization and analysis tool based on traces that can be used to analyse any information that is expressed on its input trace format. Traces for parallel MPI, OpenMP and other programs can be genereated with Extrae.

            homepage: https://tools.bsc.es/paraver

            version toolchain 4.8.1 foss/2019a 4.9.2 foss/2021a 4.11.1 foss/2022a"},{"location":"version-specific/supported-software/#paraview","title":"ParaView","text":"

            ParaView is a scientific parallel visualizer.

            homepage: https://www.paraview.org

            version versionsuffix toolchain 4.4.0 foss/2016a, intel/2016a 4.4.0 -mpi gimkl/2.11.5 5.1.2 -mpi foss/2016b, intel/2016b 5.2.0 -mpi foss/2016b, intel/2017a 5.3.0 -mpi foss/2016b 5.4.1 -mpi foss/2017b, foss/2018a, foss/2018b, intel/2017a, intel/2017b, intel/2018a 5.5.2 -Python-2.7.15-mpi foss/2018b 5.6.2 -Python-3.7.4-mpi foss/2019b, intel/2019b 5.8.0 -Python-3.8.2-mpi foss/2020a, intel/2020a 5.8.1 -mpi foss/2020b 5.9.1 -mpi foss/2021a, foss/2021b, intel/2021a 5.10.1 -mpi foss/2022a 5.11.0 -mpi foss/2022b 5.11.1 -mpi foss/2022a"},{"location":"version-specific/supported-software/#parcels","title":"Parcels","text":"

            Parcels (Probably A Really Computationally Efficient Lagrangian Simulator) is a set of Python classes and methods to create customisable particle tracking simulations using output from Ocean Circulation models. Parcels can be used to track passive and active particulates such as water, plankton, plastic and fish.

            homepage: http://www.oceanparcels.org/

            version toolchain 2.4.0 foss/2022a"},{"location":"version-specific/supported-software/#pari-gp","title":"PARI-GP","text":"

            PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.

            homepage: http://pari.math.u-bordeaux.fr

            version toolchain 2.7.6 foss/2016a"},{"location":"version-specific/supported-software/#parmed","title":"ParmEd","text":"

            ParmEd is a general tool for aiding in investigations of biomolecular systems using popular molecular simulation packages, like Amber, CHARMM, and OpenMM written in Python.

            homepage: https://parmed.github.io/ParmEd

            version versionsuffix toolchain 2.7.3 -Python-3.6.3 intel/2017b 3.2.0 -Python-3.7.4 intel/2019b 3.2.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#parmetis","title":"ParMETIS","text":"

            ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes.

            homepage: http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview

            version toolchain 4.0.3 foss/2016a, foss/2016b, foss/2017a, foss/2017b, foss/2018a, foss/2018b, gimkl/2.11.5, gompi/2019a, gompi/2019b, gompi/2020a, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a, gompi/2022b, iimpi/2019a, iimpi/2019b, iimpi/2020a, iimpi/2020b, iimpi/2021a, iimpi/2021b, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#parmgridgen","title":"ParMGridGen","text":"

            ParMGridGen is an MPI-based parallel library that is based on the serial package MGridGen, that implements (serial) algorithms for obtaining a sequence of successive coarse grids that are well-suited for geometric multigrid methods.

            homepage: http://www-users.cs.umn.edu/~moulitsa/software.html

            version toolchain 1.0 gimkl/2.11.5, gompi/2019b, gompi/2020a, iimpi/2019b, iimpi/2020a, intel/2016a, intel/2017a"},{"location":"version-specific/supported-software/#partitionfinder","title":"PartitionFinder","text":"

            PartitionFinder 2 is a Python program for simultaneously choosing partitioning schemes and models of molecular evolution for phylogenetic analyses of DNA, protein, and morphological data. You can PartitionFinder 2 before running a phylogenetic analysis, in order to decide how to divide up your sequence data into separate blocks before analysis, and to simultaneously perform model selection on each of those blocks.

            homepage: https://www.robertlanfear.com/partitionfinder

            version versionsuffix toolchain 2.1.1 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#pasta","title":"pasta","text":"

            PASTA (Practical Alignment using SATe and Transitivity)

            homepage: https://github.com/smirarab/pasta

            version versionsuffix toolchain 1.8.5 -Python-3.7.2 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#pastix","title":"PaStiX","text":"

            PaStiX (Parallel Sparse matriX package) is a scientific library that provides a high performance parallel solver for very large sparse linear systems based on direct methods.

            homepage: http://pastix.gforge.inria.fr/

            version toolchain 5.2.3 foss/2017b"},{"location":"version-specific/supported-software/#pastml","title":"pastml","text":"

            Ancestor character reconstruction and visualisation for rooted phylogenetic trees

            homepage: https://pastml.pasteur.fr/

            version toolchain 1.9.34 foss/2021a"},{"location":"version-specific/supported-software/#patch","title":"patch","text":"

            Patch takes a patch file containing a difference listing produced by the diff program and applies those differences to one or more original files, producing patched versions.

            homepage: https://savannah.gnu.org/projects/patch

            version toolchain 2.7.6 system"},{"location":"version-specific/supported-software/#patchelf","title":"patchelf","text":"

            PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.

            homepage: http://nixos.org/patchelf.html

            version toolchain 0.8 GNU/4.9.3-2.25 0.9 GCCcore/6.4.0, foss/2016a 0.10 GCCcore/7.2.0, GCCcore/8.3.0 0.12 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 0.13 GCCcore/11.2.0 0.15.0 GCCcore/11.3.0 0.18.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pathpy","title":"path.py","text":"

            path.py is a Python library implementing path objects as first-class entities, allowing common operations on files to be invoked on those path objects directly.

            homepage: https://github.com/jaraco/path.py

            version versionsuffix toolchain 8.2.1 -Python-2.7.11 foss/2016a 8.2.1 -Python-2.7.12 foss/2016b, intel/2016b 8.2.1 -Python-3.5.1 foss/2016a 8.2.1 -Python-3.5.2 intel/2016b 10.1 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#paup","title":"PAUP","text":"

            PAUP (Phylogenetic Analysis Using Parsimony and other methods) is a computational phylogenetics program for inferring evolutionary trees.

            homepage: https://paup.phylosolutions.com/

            version versionsuffix toolchain 4.0a166 -centos64 system 4.0a168 -centos64 system"},{"location":"version-specific/supported-software/#pauvre","title":"pauvre","text":"

            Tools for plotting Oxford Nanopore and other long-read data

            homepage: https://github.com/conchoecia/pauvre

            version versionsuffix toolchain 0.2.3 foss/2021a 0.1923 -Python-3.7.4 intel/2019b 0.1924 intel/2020b"},{"location":"version-specific/supported-software/#pbbam","title":"pbbam","text":"

            The pbbam software package provides components to create, query, & edit PacBio BAM files and associated indices.

            homepage: http://pbbam.readthedocs.io/

            version toolchain 1.0.6 gompi/2019a 20170508 intel/2017a"},{"location":"version-specific/supported-software/#pbcopper","title":"pbcopper","text":"

            The pbcopper library provides a suite of data structures, algorithms, and utilities for C++ applications.

            homepage: https://github.com/PacificBiosciences/pbcopper

            version toolchain 1.3.0 gompi/2019a"},{"location":"version-specific/supported-software/#pbdagcon","title":"pbdagcon","text":"

            pbdagcon is a tool that implements DAGCon (Directed Acyclic Graph Consensus) which is a sequence consensus algorithm based on using directed acyclic graphs to encode multiple sequence alignment.

            homepage: https://github.com/PacificBiosciences/pbdagcon

            version toolchain 20170330 intel/2017a"},{"location":"version-specific/supported-software/#pbipa","title":"pbipa","text":"

            Improved Phased Assembler (IPA) is the official PacBio software for HiFi genome assembly. IPA was designed to utilize the accuracy of PacBio HiFi reads to produce high-quality phased genome assemblies. IPA is an end-to-end solution, starting with input reads and resulting in a polished assembly. IPA is fast, providing an easy to use local run mode or a distributed pipeline for a cluster.

            homepage: https://github.com/PacificBiosciences/pbipa

            version toolchain 1.8.0 foss/2021b"},{"location":"version-specific/supported-software/#pbmm2","title":"pbmm2","text":"

            A minimap2 frontend for PacBio native data formats

            homepage: https://github.com/PacificBiosciences/pbmm2

            version toolchain 1.1.0 gompi/2019a"},{"location":"version-specific/supported-software/#pbs_python","title":"pbs_python","text":"

            The pbs_python package is a wrapper class for the Torque C library. With this package you now can write utilities/extensions in Python instead of C. We developed this package because we want to replace xpbsmon by an ascii version named pbsmon. PBSQuery is also included in this package. This is a python module build on top of the pbs python module to simplify querying the batch server, eg: how many jobs, how many nodes, ...

            homepage: https://oss.trac.surfsara.nl/pbs_python

            version versionsuffix toolchain 4.6.0 system 4.6.0 -Python-2.7.11 intel/2016a 4.6.0 -Python-2.7.12 intel/2016b 4.6.0 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#pbsuite","title":"PBSuite","text":"

            PBJelly is a highly automated pipeline that aligns long sequencing reads (such as PacBio RS reads or long 454 reads in fasta format) to high-confidence draft assembles.

            homepage: https://sourceforge.net/p/pb-jelly/wiki/Home/

            version versionsuffix toolchain 15.8.24 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#pcangsd","title":"PCAngsd","text":"

            PCAngsd, which estimates the covariance matrix for low depth NGS data in an iterative procedure based on genotype likelihoods and is able to perform multiple population genetic analyses in heterogeneous populations.

            homepage: http://www.popgen.dk/software/index.php/PCAngsd

            version versionsuffix toolchain 0.97 -Python-2.7.14 foss/2018a"},{"location":"version-specific/supported-software/#pcc","title":"PCC","text":"

            The compiler is based on the original Portable C Compiler by S. C. Johnson, written in the late 70's. About 50% of the frontend code and 80% of the backend code has been modified.

            homepage: http://pcc.ludd.ltu.se/

            version toolchain 20131024 system"},{"location":"version-specific/supported-software/#pcl","title":"PCL","text":"

            The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing.

            homepage: http://pointclouds.org/

            version versionsuffix toolchain 1.7.2 -Python-2.7.11 intel/2016a 1.8.1 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pcmsolver","title":"PCMSolver","text":"

            An API for the Polarizable Continuum Model.

            homepage: https://pcmsolver.readthedocs.org

            version versionsuffix toolchain 1.1.4 -Python-2.7.11 intel/2016a 1.2.3 -Python-3.6.6 foss/2018b 1.2.3 -Python-3.7.2 gompi/2019a 1.2.3 -Python-3.7.4 iimpi/2019b 20160205 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#pcraster","title":"PCRaster","text":"

            PCRaster Is a collection of software targeted at the development and deployment of spatio-temporal environmental models.

            homepage: http://pcraster.geo.uu.nl/

            version versionsuffix toolchain 4.1.0 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pcre","title":"PCRE","text":"

            The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.

            homepage: https://www.pcre.org/

            version toolchain 8.38 foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b 8.39 GCCcore/5.4.0, foss/2016b, intel/2016b 8.40 GCCcore/6.3.0, gimkl/2017a, intel/2016b, intel/2017a 8.41 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0 8.42 GCCcore/6.4.0 8.43 GCCcore/8.2.0, GCCcore/8.3.0 8.44 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 8.45 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pcre2","title":"PCRE2","text":"

            The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.

            homepage: https://www.pcre.org/

            version toolchain 10.21 foss/2016a 10.31 foss/2018b 10.33 GCCcore/8.2.0, GCCcore/8.3.0 10.34 GCCcore/9.3.0 10.35 GCCcore/10.2.0 10.36 GCCcore/10.3.0 10.37 GCCcore/11.2.0 10.40 GCCcore/11.3.0, GCCcore/12.2.0 10.42 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pdsh","title":"pdsh","text":"

            A high performance, parallel remote shell utility

            homepage: https://github.com/chaos/pdsh

            version toolchain 2.34 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pdt","title":"PDT","text":"

            Program Database Toolkit (PDT) is a framework for analyzing source code written in several programming languages and for making rich program knowledge accessible to developers of static and dynamic analysis tools. PDT implements a standard program representation, the program database (PDB), that can be accessed in a uniform way through a class library supporting common PDB operations.

            homepage: https://www.cs.uoregon.edu/research/pdt/

            version toolchain 3.22 foss/2016a 3.25 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0 3.25.1 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#pear","title":"PEAR","text":"

            PEAR is an ultrafast, memory-efficient and highly accurate pair-end read merger. It is fully parallelized and can run with as low as just a few kilobytes of memory.

            homepage: http://sco.h-its.org/exelixis/web/software/pear/

            version toolchain 0.9.8 foss/2016b, intel/2016b 0.9.10 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28 0.9.11 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCCcore/7.3.0, GCCcore/9.3.0, foss/2018a"},{"location":"version-specific/supported-software/#penncnv","title":"PennCNV","text":"

            A free software tool for Copy Number Variation (CNV) detection from SNP genotyping arrays. Currently it can handle signal intensity data from Illumina and Affymetrix arrays. With appropriate preparation of file format, it can also handle other types of SNP arrays and oligonucleotide arrays.

            homepage: https://penncnv.openbioinformatics.org/

            version toolchain 1.0.5 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#pept","title":"PEPT","text":"

            A Python library that integrates all the tools necessary to perform research using Positron Emission Particle Tracking (PEPT). The library includes algorithms for the location, identification and tracking of particles, in addition to tools for visualisation and analysis, and utilities allowing the realistic simulation of PEPT data.

            homepage: https://pept.readthedocs.io/en/latest/

            version toolchain 0.4.1 foss/2021a"},{"location":"version-specific/supported-software/#percolator","title":"Percolator","text":"

            Semi-supervised learning for peptide identification from shotgun proteomics datasets

            homepage: https://github.com/percolator/percolator

            version toolchain 3.4 gompi/2019a"},{"location":"version-specific/supported-software/#perl","title":"Perl","text":"

            Larry Wall's Practical Extraction and Report Language Includes a small selection of extra CPAN packages for core functionality.

            homepage: https://www.perl.org/

            version versionsuffix toolchain 5.20.1 -bare GCC/4.8.2, GCC/4.9.2 5.20.2 -bare GCC/4.9.2 5.20.3 foss/2016a, intel/2016a 5.22.0 -bare GCC/4.9.2 5.22.1 foss/2016a, foss/2016b, intel/2016a 5.22.1 -bare foss/2016a, intel/2016a 5.22.2 intel/2016a 5.24.0 GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, intel/2016b 5.24.0 -bare foss/2016b 5.24.1 GCCcore/6.3.0, foss/2017a, intel/2017a 5.26.0 GCCcore/6.4.0, foss/2017b, intel/2017b, intel/2018.00, intel/2018.01 5.26.1 GCCcore/6.4.0, foss/2018a 5.26.1 -bare foss/2018a 5.28.0 GCCcore/7.3.0 5.28.1 GCCcore/8.2.0 5.30.0 GCCcore/8.3.0 5.30.0 -minimal GCCcore/8.3.0 5.30.2 GCCcore/9.3.0 5.30.2 -minimal GCCcore/9.3.0 5.32.0 GCCcore/10.2.0 5.32.0 -minimal GCCcore/10.2.0 5.32.1 FCC/4.5.0, GCCcore/10.3.0 5.32.1 -minimal GCCcore/10.3.0 5.34.0 GCCcore/11.2.0 5.34.0 -minimal GCCcore/11.2.0 5.34.1 GCCcore/11.3.0 5.34.1 -minimal GCCcore/11.3.0 5.36.0 GCCcore/12.1.0, GCCcore/12.2.0 5.36.0 -minimal GCCcore/12.2.0 5.36.1 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#perl-app-cpanminus","title":"perl-app-cpanminus","text":"

            cpanm - get, unpack build and install modules from CPAN

            homepage: https://github.com/miyagawa/cpanminus

            version toolchain 1.7039 system"},{"location":"version-specific/supported-software/#perl-bundle-cpan","title":"Perl-bundle-CPAN","text":"

            A set of common packages from CPAN

            homepage: https://www.perl.org/

            version toolchain 5.36.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#perl4-corelibs","title":"Perl4-CoreLibs","text":"

            Libraries historically supplied with Perl 4

            homepage: https://metacpan.org/pod/Perl4::CoreLibs

            version versionsuffix toolchain 0.003 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#perseus","title":"Perseus","text":"

            The Perseus software platform supports biological and biomedical researchers in interpreting protein quantification, interaction and post-translational modification data.

            homepage: https://maxquant.org/perseus

            version toolchain 2.0.7.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#pest","title":"PEST++","text":"

            PEST++ is a software suite aimed at supporting complex numerical models in the decision-support context. Much focus has been devoted to supporting environmental models (groundwater, surface water, etc) but these tools are readily applicable to any computer model.

            homepage: https://github.com/usgs/pestpp

            version toolchain 5.0.5 foss/2020a"},{"location":"version-specific/supported-software/#petsc","title":"PETSc","text":"

            PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.

            homepage: http://www.mcs.anl.gov/petsc

            version versionsuffix toolchain 3.7.2 -Python-2.7.11 intel/2016a 3.7.3 -Python-2.7.11 foss/2016a 3.7.5 -downloaded-deps intel/2016b 3.8.3 -downloaded-deps foss/2017b 3.9.1 -downloaded-deps foss/2018a 3.9.3 foss/2018a, intel/2018a 3.11.0 -downloaded-deps foss/2018b 3.11.1 -Python-3.7.2 foss/2019a, intel/2019a 3.12.4 -Python-2.7.16 intel/2019b 3.12.4 -Python-3.7.4 foss/2019b, intel/2019b 3.12.4 -Python-3.8.2 foss/2020a, intel/2020a 3.14.4 foss/2020b, intel/2020b 3.15.1 foss/2021a, intel/2021a 3.17.4 foss/2022a 3.18.4 intel/2021b"},{"location":"version-specific/supported-software/#petsc4py","title":"petsc4py","text":"

            petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation.

            homepage: https://bitbucket.org/petsc/petsc4py

            version versionsuffix toolchain 3.9.1 -Python-3.6.4 foss/2018a 3.12.0 -Python-3.7.4 foss/2019b 3.15.0 foss/2021a"},{"location":"version-specific/supported-software/#pfamscan","title":"PfamScan","text":"

            PfamScan is used to search a FASTA sequence against a library of Pfam HMM.

            homepage: https://www.ebi.ac.uk/seqdb/confluence/display/THD/PfamScan

            version toolchain 1.6 gompi/2022a"},{"location":"version-specific/supported-software/#pfind","title":"pfind","text":"

            Drop-in replacement for find, implemented for using parallel access and MPI.

            homepage: https://github.com/VI4IO/pfind

            version toolchain 20220613 gompi/2021b"},{"location":"version-specific/supported-software/#pftoolsv3","title":"pftoolsV3","text":"

            A suite of tools to build and search generalized profiles (protein and DNA).

            homepage: https://github.com/sib-swiss/pftools3

            version toolchain 3.2.11 GCCcore/10.3.0, foss/2021a 3.2.12 GCCcore/11.2.0, GCCcore/11.3.0 20160324 foss/2016a"},{"location":"version-specific/supported-software/#pfunit","title":"pFUnit","text":"

            pFUnit is a unit testing framework enabling JUnit-like testing of serial and MPI-parallel software written in Fortran.

            homepage: https://github.com/Goddard-Fortran-Ecosystem/pFUnit

            version toolchain 3.2.9 gompi/2018b 4.2.0 gompi/2020b"},{"location":"version-specific/supported-software/#pgdspider","title":"PGDSpider","text":"

            An automated data conversion tool for connecting population genetics and genomics programs

            homepage: http://cmpg.unibe.ch/software/PGDSpider/

            version versionsuffix toolchain 2.1.0.3 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#pgi","title":"PGI","text":"

            C, C++ and Fortran compilers from The Portland Group - PGI

            homepage: https://www.pgroup.com/

            version versionsuffix toolchain 15.7 -GNU-4.9.2-2.25 system 15.7 -GNU-4.9.3-2.25 system 15.10 -GCC-4.9.3-2.25 system 16.1 -CDK-GCC-4.9.2-2.25 system 16.3 -GCC-4.9.3-2.25 system 16.4 -GCC-5.3.0-2.26 system 16.7 -GCC-5.4.0-2.26 system 16.10 -GCC-5.4.0-2.26 system 17.1 -GCC-6.3.0-2.27 system 17.3 -GCC-6.3.0-2.28 system 17.4 -GCC-6.4.0-2.28 system 17.10 -GCC-6.4.0-2.28 system 18.1 -GCC-7.2.0-2.29 system 18.4 -GCC-6.4.0-2.28 system 18.7 -GCC-7.3.0-2.30 system 18.10 -GCC-6.4.0-2.28 system 19.1 -GCC-8.2.0-2.31.1 system 19.4 -GCC-8.2.0-2.31.1 system 19.7 -GCC-8.3.0-2.32 system 19.10 -GCC-8.3.0-2.32 system"},{"location":"version-specific/supported-software/#pgplot","title":"PGPLOT","text":"

            The PGPLOT Graphics Subroutine Library is a Fortran- or C-callable, device-independent graphics package for making simple scientific graphs. It is intended for making graphical images of publication quality with minimum effort on the part of the user. For most applications, the program can be device-independent, and the output can be directed to the appropriate device at run time.

            homepage: https://sites.astro.caltech.edu/~tjp/pgplot/

            version toolchain 5.2.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#phanotate","title":"PHANOTATE","text":"

            PHANOTATE: a tool to annotate phage genomes

            homepage: https://github.com/deprekate/PHANOTATE

            version toolchain 20190724 foss/2018b"},{"location":"version-specific/supported-software/#phantompeakqualtools","title":"Phantompeakqualtools","text":"

            It computes informative enrichment and quality measures for ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data.

            homepage: https://github.com/kundajelab/phantompeakqualtools

            version toolchain 1.2.2 foss/2021b"},{"location":"version-specific/supported-software/#phase","title":"PHASE","text":"

            The program PHASE implements a Bayesian statistical method for reconstructing haplotypes from population genotype data. Documentation: http://stephenslab.uchicago.edu/assets/software/phase/instruct2.1.pdf

            homepage: http://stephenslab.uchicago.edu/phase/download.html

            version toolchain 2.1.1 system"},{"location":"version-specific/supported-software/#phast","title":"PHAST","text":"

            PHAST is a freely available software package for comparative and evolutionary genomics.

            homepage: http://compgen.cshl.edu/phast/

            version toolchain 1.4 intel/2017a 1.5 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#phenoflow","title":"Phenoflow","text":"

            R package offering functionality for the advanced analysis of microbial flow cytometry data

            homepage: https://github.com/rprops/Phenoflow_package

            version versionsuffix toolchain 1.1.2-20200917 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#phewas","title":"PheWAS","text":"

            Provides an accessible R interface to the phenome wide association study.

            homepage: https://www.vumc.org/cpm/center-precision-medicine-blog/phewas-r-package

            version versionsuffix toolchain 0.12 -R-3.3.3 foss/2016b, intel/2016b 0.99.5-2 -R-3.6.0 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#pheweb","title":"PheWeb","text":"

            A tool for building PheWAS websites from association files

            homepage: https://github.com/statgen/pheweb

            version versionsuffix toolchain 1.1.20 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#phipack","title":"PhiPack","text":"

            The PhiPack software package implements (in C) a few tests for recombination and can produce refined incompatibility matrices as well.

            homepage: http://www.maths.otago.ac.nz/~dbryant/software.html

            version toolchain 2016.06.14 iccifort/2019.1.144-GCC-8.2.0-2.31.1"},{"location":"version-specific/supported-software/#phlat","title":"PHLAT","text":"

            PHLAT is a bioinformatics algorithm that offers HLA typing at four-digit resolution (or higher) using genome-wide transcriptome and exome sequencing data over a wide range of read lengths and sequencing depths.

            homepage: https://sites.google.com/site/phlatfortype/

            version versionsuffix toolchain 1.1 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#phonemizer","title":"phonemizer","text":"

            The phonemizer allows simple phonemization of words and texts in many languages. Provides both the phonemize command-line tool and the Python function phonemizer.phonemize. It is using four backends: espeak, espeak-mbrola, festival and segments.

            homepage: https://github.com/bootphon/phonemizer

            version versionsuffix toolchain 2.2.1 -Python-3.8.2 gompi/2020a"},{"location":"version-specific/supported-software/#phono3py","title":"phono3py","text":"

            phono3py calculates phonon-phonon interaction and related properties using the supercell approach.

            homepage: https://atztogo.github.io/phono3py/

            version versionsuffix toolchain 1.12.5.35 -Python-2.7.14 intel/2017b 1.12.7.55 -Python-2.7.14 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#phonopy","title":"phonopy","text":"

            Phonopy is an open source package of phonon calculations based on the supercell approach.

            homepage: https://atztogo.github.io/phonopy/

            version versionsuffix toolchain 1.10.1 -Python-2.7.11 intel/2016a 1.12.2.20 -Python-2.7.14 intel/2017b 1.12.6.66 -Python-2.7.14 foss/2018a, intel/2018a 1.13.0.64 -Python-2.7.14 intel/2018a 1.14.2 -Python-2.7.15 intel/2018b 2.0.0 -Python-2.7.14 intel/2018a 2.2.0 -Python-3.7.2 intel/2019a 2.7.1 -Python-3.7.4 intel/2019b 2.7.1 -Python-3.8.2 intel/2020a 2.12.0 foss/2020b 2.16.3 foss/2022a"},{"location":"version-specific/supported-software/#photontorch","title":"photontorch","text":"

            Photontorch is a photonic simulator for highly parallel simulation and optimization of photonic circuits in time and frequency domain. Photontorch features CUDA enabled simulation and optimization of photonic circuits. It leverages the deep learning framework PyTorch to view the photonic circuit as essentially a recurrent neural network. This enables the use of native PyTorch optimizers to optimize the (physical) parameters of the circuit.

            homepage: https://docs.photontorch.com/

            version toolchain 0.4.1 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#phototonic","title":"phototonic","text":"

            Phototonic is an image viewer and organizer

            homepage: https://github.com/oferkv/phototonic

            version toolchain 2.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#phylip","title":"PHYLIP","text":"

            PHYLIP is a free package of programs for inferring phylogenies.

            homepage: http://evolution.genetics.washington.edu/phylip

            version toolchain 3.696 foss/2016a, intel/2016a 3.697 GCC/6.4.0-2.28, GCC/9.3.0, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#phylobayes-mpi","title":"PhyloBayes-MPI","text":"

            A Bayesian software for phylogenetic reconstruction using mixture models

            homepage: https://github.com/bayesiancook/pbmpi

            version toolchain 20161021 intel/2016b"},{"location":"version-specific/supported-software/#phylokit","title":"phylokit","text":"

            C++ library for high performance phylogenetics

            homepage: https://github.com/pranjalv123/phylokit

            version toolchain 1.0 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#phylonaut","title":"phylonaut","text":"

            Dynamic programming for phylogenetics applications

            homepage: https://github.com/pranjalv123/phylonaut

            version toolchain 20190626 gompi/2019a"},{"location":"version-specific/supported-software/#phylophlan","title":"PhyloPhlAn","text":"

            PhyloPhlAn is an integrated pipeline for large-scale phylogenetic profiling of genomes and metagenomes. PhyloPhlAn is an accurate, rapid, and easy-to-use method for large-scale microbial genome characterization and phylogenetic analysis at multiple levels of resolution.

            homepage: https://github.com/biobakery/phylophlan

            version versionsuffix toolchain 3.0 -Python-3.8.2 foss/2020a 3.0.2 foss/2021a 3.0.3 foss/2022a"},{"location":"version-specific/supported-software/#phyml","title":"PhyML","text":"

            Phylogenetic estimation using (Maximum) Likelihood

            homepage: https://github.com/stephaneguindon/phyml

            version toolchain 3.3.20190321 foss/2018b 3.3.20200621 foss/2020b"},{"location":"version-specific/supported-software/#phyx","title":"phyx","text":"

            phyx performs phylogenetics analyses on trees and sequences.

            homepage: https://github.com/FePhyFoFum/phyx

            version toolchain 1.01 foss/2019a 1.3 foss/2022a"},{"location":"version-specific/supported-software/#picard","title":"picard","text":"

            A set of tools (in Java) for working with next generation sequencing data in the BAM format.

            homepage: https://broadinstitute.github.io/picard/

            version versionsuffix toolchain 1.39 system 1.100 system 1.109 system 1.119 system 1.119 -Java-1.7.0_80 system 1.120 -Java-1.8.0_66 system 1.141 -Java-1.8.0_74 system 2.0.1 -Java-1.8.0_66 system 2.1.0 system 2.1.0 -Java-1.8.0_74 system 2.1.1 -Java-1.8.0_112 system 2.1.1 -Java-1.8.0_74 system 2.2.4 -Java-1.8.0_92 system 2.6.0 -Java-1.8.0_131 system 2.10.1 -Java-1.8.0_131 system 2.18.5 -Java-1.8.0_162 system 2.18.11 -Java-1.8.0_162 system 2.18.14 -Java-1.8 system 2.18.17 -Java-1.8 system 2.18.27 -Java-1.8 system 2.20.6 -Java-1.8 system 2.21.1 -Java-11 system 2.21.6 -Java-11 system 2.22.1 -Java-11 system 2.25.0 -Java-11 system 2.25.1 -Java-11 system 2.25.5 -Java-13 system 2.26.10 -Java-15 system 3.0.0 -Java-17 system"},{"location":"version-specific/supported-software/#pici-liggghts","title":"PICI-LIGGGHTS","text":"

            UoB Positron Imaging Centre's Improved LIGGGHTS distribution with an emphasis on the Python interface.

            homepage: https://github.com/uob-positron-imaging-centre/PICI-LIGGGHTS

            version toolchain 3.8.1 foss/2022a"},{"location":"version-specific/supported-software/#pigz","title":"pigz","text":"

            pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler, and uses the zlib and pthread libraries.

            homepage: https://zlib.net/pigz/

            version toolchain 2.3.3 foss/2016b 2.3.4 GCCcore/6.4.0 2.4 GCCcore/10.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2018a 2.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 2.7 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pil","title":"PIL","text":"

            The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities.

            homepage: http://www.pythonware.com/products/pil

            version versionsuffix toolchain 1.1.7 -Python-2.7.11 intel/2016a 1.1.7 -Python-2.7.11-freetype-2.6.3 intel/2016a 1.1.7 -Python-2.7.12 foss/2016b, intel/2016b 1.1.7 -Python-2.7.13 intel/2017a 1.1.7 -Python-2.7.15 foss/2019a"},{"location":"version-specific/supported-software/#pileometh","title":"PileOMeth","text":"

            PileOMeth processes a coordinate-sorted and indexed BAM or CRAM file containing some form of BS-seq alignments. PileOMeth extracts per-base methylation metrics from them. PileOMeth requires an indexed fasta file containing the reference genome as well.

            homepage: https://github.com/dpryan79/PileOMeth

            version toolchain 0.1.11 foss/2016b"},{"location":"version-specific/supported-software/#pillow","title":"Pillow","text":"

            Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors.

            homepage: https://pillow.readthedocs.org/

            version versionsuffix toolchain 3.2.0 -Python-2.7.11 intel/2016a 3.2.0 -Python-2.7.11-freetype-2.6.3 foss/2016a, intel/2016a 3.4.2 -Python-2.7.12 intel/2016b 3.4.2 -Python-3.5.2 foss/2016b, intel/2016b 3.4.2 -Python-3.5.2-freetype-2.6.5 intel/2016b 4.1.0 -Python-2.7.13 intel/2017a 4.1.1 -Python-3.6.1 intel/2017a 4.2.1 -Python-3.6.1 intel/2017a 4.3.0 -Python-2.7.13 intel/2017a 4.3.0 -Python-2.7.14 intel/2017b 4.3.0 -Python-3.6.3 foss/2017b 5.0.0 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 5.0.0 -Python-3.6.3 foss/2017b, intel/2017b 5.0.0 -Python-3.6.4 foss/2018a, intel/2018a 5.3.0 -Python-2.7.15 foss/2018b 5.3.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 6.0.0 GCCcore/8.2.0 6.2.1 GCCcore/8.3.0 6.2.2 -Python-2.7.18 foss/2020b 7.0.0 -Python-3.8.2 GCCcore/9.3.0 8.0.1 GCCcore/10.2.0 8.2.0 GCCcore/10.3.0 8.3.1 GCCcore/11.2.0 8.3.2 GCCcore/11.2.0 9.1.0 GCCcore/10.3.0 9.1.1 GCCcore/11.2.0, GCCcore/11.3.0 9.2.0 GCCcore/10.2.0 9.4.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pillow-simd","title":"Pillow-SIMD","text":"

            Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors.

            homepage: https://github.com/uploadcare/pillow-simd

            version versionsuffix toolchain 5.0.0 -Python-3.6.4 foss/2018a, intel/2018a 5.3.0.post0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 6.0.x.post0 GCCcore/8.2.0, GCCcore/8.3.0 7.1.2 GCCcore/10.2.0 7.1.2 -Python-3.8.2 GCCcore/9.3.0 8.2.0 GCCcore/10.3.0 8.3.1 GCCcore/11.2.0 8.3.2 GCCcore/11.2.0 9.2.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pilon","title":"Pilon","text":"

            Pilon is an automated genome assembly improvement and variant detection tool

            homepage: https://github.com/broadinstitute/pilon

            version versionsuffix toolchain 1.22 -Java-1.8 system 1.22 -Java-1.8.0_162 system 1.23 -Java-1.8 system 1.23 -Java-11 system"},{"location":"version-specific/supported-software/#pims","title":"PIMS","text":"

            PIMS is a lazy-loading interface to sequential data with numpy-like slicing.

            homepage: https://soft-matter.github.io/pims

            version versionsuffix toolchain 0.4.1 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pindel","title":"Pindel","text":"

            Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data. It uses a pattern growth approach to identify the breakpoints of these variants from paired-end short reads.

            homepage: http://gmt.genome.wustl.edu/packages/pindel/

            version toolchain 0.2.5b8 foss/2016b 0.2.5b9-20170508 GCC/11.2.0, GCC/11.3.0, GCC/6.4.0-2.28"},{"location":"version-specific/supported-software/#pingouin","title":"Pingouin","text":"

            Pingouin is an open-source statistical package written in Python 3 and based mostly on Pandas and NumPy.

            homepage: https://pingouin-stats.org/

            version versionsuffix toolchain 0.3.8 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pint","title":"Pint","text":"

            Pint is a Python package to define, operate and manipulate physical quantities: the product of a numerical value and a unit of measurement. It allows arithmetic operations between them and conversions from and to different units.

            homepage: https://github.com/hgrecco/pint

            version versionsuffix toolchain 0.14 -Python-3.7.4 GCCcore/8.3.0 0.19.2 GCCcore/11.2.0 0.20.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#pip","title":"pip","text":"

            The PyPA recommended tool for installing Python packages.

            homepage: https://pip.pypa.io

            version versionsuffix toolchain 8.0.2 -Python-2.7.11 intel/2016a 8.1.2 -Python-2.7.11 foss/2016a 8.1.2 -Python-2.7.12 foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#pipits","title":"PIPITS","text":"

            An automated pipeline for analyses of fungal internal transcribed spacer (ITS) sequences from the Illumina sequencing platform.

            homepage: https://github.com/hsgweon/pipits

            version versionsuffix toolchain 2.7 -Python-3.8.2 foss/2020a 2.8 foss/2021a 3.0 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#pirate","title":"PIRATE","text":"

            A toolbox for pangenome analysis and threshold evaluation.

            homepage: https://github.com/SionBayliss/PIRATE

            version versionsuffix toolchain 1.0.5 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#pirs","title":"pIRS","text":"

            pIRS (profile based Illumina pair-end Reads Simulator) is a program for simulating paired-end reads from a reference genome. It is optimized for simulating reads similar to those generated from the Illumina platform.

            homepage: https://github.com/galaxy001/pirs

            version toolchain 2.0.2 gompi/2019b"},{"location":"version-specific/supported-software/#pisces","title":"Pisces","text":"

            Somatic and germline variant caller for amplicon data. Recommended caller for tumor-only workflows.

            homepage: https://github.com/Illumina/Pisces

            version toolchain 5.2.7.47 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#pisvm","title":"piSvM","text":"

            piSvM is a parallel implementation of the Support Vector Machine (SVM) algorithm that allows efficient training and testing on a multiprocessor system.

            homepage: http://pisvm.sourceforge.net/

            version toolchain 1.3 intel/2017b"},{"location":"version-specific/supported-software/#pisvm-jsc","title":"piSvM-JSC","text":"

            piSvM is a parallel implementation of the Support Vector Machine (SVM) algorithm that allows efficient training and testing on a multiprocessor system. This version is a fork of the original PiSvM to increase scalability.

            homepage: https://github.com/mricherzhagen/pisvm

            version toolchain 1.2-20150622 intel/2017b"},{"location":"version-specific/supported-software/#pixman","title":"pixman","text":"

            Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. Important users of pixman are the cairo graphics library and the X server.

            homepage: http://www.pixman.org/

            version toolchain 0.34.0 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b 0.38.0 GCCcore/8.2.0 0.38.4 GCCcore/8.3.0, GCCcore/9.3.0 0.40.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 0.42.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pizzly","title":"pizzly","text":"

            Pizzly is a program for detecting gene fusions from RNA-Seq data of cancer samples.

            homepage: https://github.com/pmelsted/pizzly

            version toolchain 0.37.3 foss/2018b"},{"location":"version-specific/supported-software/#pkg-config","title":"pkg-config","text":"

            pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the correct compiler options on the command line so an application can use gcc -o test test.c pkg-config --libs --cflags glib-2.0 for instance, rather than hard-coding values on where to find glib (or other libraries).

            homepage: http://www.freedesktop.org/wiki/Software/pkg-config/

            version toolchain 0.28 GCC/4.8.2, GCC/4.9.2, GNU/4.9.3-2.25 0.29 foss/2016a, gimkl/2.11.5, intel/2016a 0.29.1 GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, foss/2016a, foss/2016b, foss/2017a, gimkl/2017a, intel/2016a, intel/2016b, intel/2017a 0.29.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2017a, system"},{"location":"version-specific/supported-software/#pkgconf","title":"pkgconf","text":"

            pkgconf is a program which helps to configure compiler and linker flags for development libraries. It is similar to pkg-config from freedesktop.org.

            homepage: https://github.com/pkgconf/pkgconf

            version toolchain 1.8.0 GCCcore/11.2.0, GCCcore/11.3.0, system 1.9.3 GCCcore/12.2.0 1.9.4 GCCcore/13.1.0 1.9.5 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pkgconfig","title":"pkgconfig","text":"

            pkgconfig is a Python module to interface with the pkg-config command line tool

            homepage: https://github.com/matze/pkgconfig

            version versionsuffix toolchain 1.1.0 -Python-2.7.11 foss/2016a, intel/2016a 1.1.0 -Python-2.7.12 foss/2016b, intel/2016b 1.1.0 -Python-3.5.1 foss/2016a 1.1.0 -Python-3.5.2 foss/2016b, intel/2016b 1.2.2 -Python-2.7.13 foss/2017a, intel/2017a 1.2.2 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b 1.2.2 -Python-3.6.1 foss/2017a, intel/2017a 1.2.2 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b 1.3.1 -Python-2.7.14 foss/2018a, intel/2018a 1.3.1 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 1.3.1 -Python-3.6.4 foss/2018a, intel/2018a 1.3.1 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 1.5.1 -Python-3.7.4 GCCcore/8.3.0 1.5.1 -Python-3.8.2 GCCcore/9.3.0 1.5.1 -python GCCcore/10.2.0, GCCcore/8.2.0 1.5.4 -python GCCcore/10.3.0 1.5.5 -python GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#plams","title":"PLAMS","text":"

            The Python Library for Automating Molecular Simulation (PLAMS) is powerful and flexible Python tool interfaced to the Amsterdam Modeling Suite engines ADF, BAND, DFTB, MOPAC, ReaxFF, and UFF.

            homepage: https://www.scm.com/product/plams

            version toolchain 1.5.1 intel/2022a"},{"location":"version-specific/supported-software/#plantcv","title":"plantcv","text":"

            PlantCV: Plant phenotyping using computer vision.

            homepage: https://pypi.org/project/plantcv/

            version versionsuffix toolchain 3.8.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#plascope","title":"PlaScope","text":"

            Plasmid exploration of bacterial genomes

            homepage: https://github.com/GuilhemRoyer/PlaScope

            version toolchain 1.3.1 foss/2018b"},{"location":"version-specific/supported-software/#plasmapy","title":"PlasmaPy","text":"

            Open source Python ecosystem for plasma research and education

            homepage: https://www.plasmapy.org

            version versionsuffix toolchain 0.3.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#plast","title":"PLAST","text":"

            PLAST is a parallel alignment search tool for comparing large protein banks

            homepage: http://www.irisa.fr/symbiose/projects/plast/

            version versionsuffix toolchain 2.3.1 -Java-1.8.0_92 foss/2016a"},{"location":"version-specific/supported-software/#platanus","title":"Platanus","text":"

            PLATform for Assembling NUcleotide Sequences

            homepage: http://platanus.bio.titech.ac.jp/

            version versionsuffix toolchain 1.2.1 -linux-x86_64 system 1.2.4 foss/2017a"},{"location":"version-specific/supported-software/#platypus","title":"Platypus","text":"

            Platypus is a tool designed for efficient and accurate variant-detection in high-throughput sequencing data.

            homepage: http://www.well.ox.ac.uk/platypus

            version versionsuffix toolchain 0.8.1 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#plc","title":"plc","text":"

            plc is the public Planck Likelihood Code. It provides C and Fortran libraries that allow users to compute the log likelihoods of the temperature, polarization, and lensing maps. Optionally, it also provides a python version of this library, as well as tools to modify the predetermined options for some likelihoods (e.g. changing the high-ell and low-ell lmin and lmax values of the temperature).

            homepage: http://pla.esac.esa.int/pla/#home

            version versionsuffix toolchain 3.0.1 -Python-2.7.15 foss/2019a, intel/2018b 3.0.1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#plink","title":"PLINK","text":"

            PLINK is a free, open-source whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.

            homepage: https://www.cog-genomics.org/plink/2.0/

            version toolchain 1.07 foss/2016a, foss/2016b 1.07-x86_64 system 1.9b5 golf/2020a 1.9b_4.1-x86_64 system 1.9b_6.17-x86_64 system 1.9b_6.21-x86_64 system 2.00-alpha1-x86_64 system 2.00-alpha2-x86_64 system 2.00-alpha2-x86_64_avx2 system 2.00a2.3 GCC/10.3.0, GCC/11.2.0 2.00a2.3_x86_64 system 2.00a3.1 GCC/11.2.0 2.00a3.6 GCC/11.3.0 2.00a3.7 foss/2022a"},{"location":"version-specific/supported-software/#plinkliftover","title":"plinkliftover","text":"

            PLINKLiftOver is a utility enabling liftOver to work on genomics files from PLINK, allowing one to update the coordinates from one genome reference version to another.

            homepage: https://github.com/milescsmith/plinkliftover

            version toolchain 0.3.0 foss/2022b"},{"location":"version-specific/supported-software/#plinkqc","title":"plinkQC","text":"

            plinkQC is a R/CRAN package for genotype quality control in genetic association studies. It makes PLINK basic statistics (e.g.missing genotyping rates per individual, allele frequencies per genetic marker) and relationship functions easily accessible from within R and allows for automatic evaluation of the results.

            homepage: https://meyer-lab-cshl.github.io/plinkQC/

            version versionsuffix toolchain 0.3.3 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#plinkseq","title":"PLINKSEQ","text":"

            PLINK/SEQ is an open-source C/C++ library for working with human genetic variation data. The specific focus is to provide a platform for analytic tool development for variation data from large-scale resequencing and genotyping projects, particularly whole-exome and whole-genome studies. It is independent of (but designed to be complementary to) the existing PLINK package.

            homepage: https://atgu.mgh.harvard.edu/plinkseq/

            version toolchain 0.10 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#plot1cell","title":"plot1cell","text":"

            plot1cell: a package for advanced single cell data visualization

            homepage: https://github.com/HaojiaWu/plot1cell

            version versionsuffix toolchain 0.0.1 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#ploticus","title":"Ploticus","text":"

            Ploticus is a free GPL software utility that can produce various types of plots and graphs

            homepage: http://ploticus.sourceforge.net/doc/welcome.html

            version toolchain 2.42 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#plotly","title":"plotly","text":"

            Easily translate 'ggplot2' graphs to an interactive web-based version and/or create custom web-based visualizations directly from R.

            homepage: https://cran.r-project.org/web/packages/plotly

            version versionsuffix toolchain 4.7.1 -R-3.4.0 intel/2017a 4.8.0 -R-3.4.4 intel/2018a"},{"location":"version-specific/supported-software/#plotly-orca","title":"plotly-orca","text":"

            Orca is an Electron app that generates images and reports of Plotly things like plotly.js graphs, dash apps, dashboards from the command line.

            homepage: https://github.com/plotly/orca

            version toolchain 1.3.0 GCCcore/8.3.0 1.3.1 GCCcore/10.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#plotlypy","title":"plotly.py","text":"

            An open-source, interactive graphing library for Python

            homepage: https://plot.ly/python

            version toolchain 4.1.0 intel/2019a 4.4.1 intel/2019b 4.8.1 GCCcore/9.3.0 4.14.3 GCCcore/10.2.0, GCCcore/10.3.0 5.1.0 GCCcore/10.3.0 5.4.0 GCCcore/11.2.0 5.12.0 GCCcore/11.3.0 5.13.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#plplot","title":"PLplot","text":"

            PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer.

            homepage: http://plplot.sourceforge.net

            version versionsuffix toolchain 5.11.1 -Java-1.7.0_80-Python-2.7.11 foss/2016a 5.11.1 -Java-1.7.0_80-Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#plumed","title":"PLUMED","text":"

            PLUMED is an open source library for free energy calculations in molecular systems which works together with some of the most popular molecular dynamics engines. Free energy calculations can be performed as a function of many order parameters with a particular focus on biological problems, using state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. The software, written in C++, can be easily interfaced with both fortran and C/C++ codes.

            homepage: https://www.plumed.org

            version versionsuffix toolchain 2.2.2 intel/2016a 2.2.3 foss/2016b, intel/2016b 2.3.0 foss/2016b, foss/2017a, intel/2016b 2.3.4 intel/2017b 2.4.0 foss/2018a, intel/2017b, intel/2018a 2.4.0 -PathCV intel/2018a 2.4.1 iomkl/2018a 2.4.2 foss/2018b, intel/2018b 2.5.0 intel/2018b 2.5.0 -Python-2.7.15 foss/2018b, fosscuda/2018b 2.5.1 foss/2019a, intel/2018b 2.5.1 -PathCV intel/2018b 2.5.2 -Python-3.7.2 intel/2019a 2.5.3 -Python-3.7.4 foss/2019b, intel/2019b 2.5.4 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.5b -Python-2.7.14 intel/2018a 2.6.0 -Python-3.8.2 foss/2020a, intel/2020a 2.6.2 foss/2020b, intel/2020b 2.7.0 foss/2020b 2.7.2 foss/2021a, intel/2021a 2.7.3 foss/2021b 2.8.0 foss/2021b 2.8.1 foss/2022a"},{"location":"version-specific/supported-software/#ply","title":"PLY","text":"

            PLY is yet another implementation of lex and yacc for Python.

            homepage: http://www.dabeaz.com/ply/

            version versionsuffix toolchain 3.11 -Python-3.6.4 foss/2018a 3.11 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#pmix","title":"PMIx","text":"

            Process Management for Exascale Environments PMI Exascale (PMIx) represents an attempt to provide an extended version of the PMI standard specifically designed to support clusters up to and including exascale sizes. The overall objective of the project is not to branch the existing pseudo-standard definitions - in fact, PMIx fully supports both of the existing PMI-1 and PMI-2 APIs - but rather to (a) augment and extend those APIs to eliminate some current restrictions that impact scalability, and (b) provide a reference implementation of the PMI-server that demonstrates the desired level of scalability.

            homepage: https://pmix.org/

            version toolchain 1.2.5 GCCcore/6.4.0 2.1.3 GCCcore/7.2.0, GCCcore/7.3.0 2.2.1 GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0 2.2.3 GCCcore/7.2.0, GCCcore/7.3.0 3.0.1 GCCcore/6.4.0, GCCcore/7.3.0 3.0.2 GCCcore/8.2.0, GCCcore/8.3.0 3.1.1 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0 3.1.4 GCCcore/8.3.0 3.1.5 GCCcore/10.2.0, GCCcore/9.3.0 3.2.3 GCCcore/10.3.0 4.1.0 GCCcore/11.2.0 4.1.2 GCCcore/11.3.0 4.2.2 GCCcore/12.2.0 4.2.4 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pmt","title":"pmt","text":"

            PMT is a high-level software library capable of collecting power consumption measurements on various hardware.

            homepage: https://git.astron.nl/RD/pmt

            version toolchain 1.1.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pmx","title":"pmx","text":"

            pmx (formerly pymacs) is a small bunch of classes to read structure files such as pdb or gro and trajectory data in gromacs xtc format. Over the years it has been extended towards a versatile (bio-) molecular structure manipulation package with some additional functionalities, e.g. gromacs file parsers and scripts for setup and analysis of free energy calculations.

            homepage: https://github.com/deGrootLab/pmx

            version versionsuffix toolchain 2.0 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#pnetcdf","title":"PnetCDF","text":"

            Parallel netCDF: A Parallel I/O Library for NetCDF File Access

            homepage: https://trac.mcs.anl.gov/projects/parallel-netcdf

            version toolchain 1.8.1 intel/2017a 1.9.0 intel/2018a 1.10.0 foss/2018b, intel/2018b 1.12.1 gompi/2019b, gompi/2020a, gompic/2019b, gompic/2020a, iimpi/2020a 1.12.2 gompi/2020b, gompi/2021a, gompic/2020b, iimpi/2021a 1.12.3 gompi/2021b, gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#pocl","title":"pocl","text":"

            Pocl is a portable open source (MIT-licensed) implementation of the OpenCL standard

            homepage: http://portablecl.org

            version toolchain 1.2 GCC/7.3.0-2.30 1.3 GCC/8.2.0-2.31.1, gcccuda/2019a 1.4 GCC/8.3.0, gcccuda/2019b 1.5 GCC/9.3.0 1.6 GCC/10.2.0, gcccuda/2020b, iccifort/2020.4.304 1.8 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#pod5-file-format","title":"pod5-file-format","text":"

            POD5 is a file format for storing nanopore dna data in an easily accessible way. The format is able to be written in a streaming manner which allows a sequencing instrument to directly write the format.

            homepage: https://github.com/nanoporetech/pod5-file-format

            version toolchain 0.1.8 foss/2022a"},{"location":"version-specific/supported-software/#poetry","title":"poetry","text":"

            Python packaging and dependency management made easy. Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere.

            homepage: https://python-poetry.org

            version versionsuffix toolchain 1.0.9 -Python-3.8.2 GCCcore/9.3.0 1.2.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#polars","title":"polars","text":"

            Lightning-fast DataFrame library for Rust and Python.

            homepage: https://pola.rs/

            version toolchain 0.15.6 foss/2022a"},{"location":"version-specific/supported-software/#polymake","title":"polymake","text":"

            polymake is open source software for research in polyhedral geometry. It deals with polytopes, polyhedra and fans as well as simplicial complexes, matroids, graphs, tropical hypersurfaces, and other objects.

            homepage: https://polymake.org

            version toolchain 4.0r1 foss/2019b 4.8 foss/2021b, gfbf/2022a"},{"location":"version-specific/supported-software/#pomkl","title":"pomkl","text":"

            Toolchain with PGI C, C++ and Fortran compilers, alongside Intel MKL & OpenMPI.

            homepage: http://www.pgroup.com/index.htm

            version toolchain 2016.03 system 2016.04 system 2016.09 system"},{"location":"version-specific/supported-software/#pompi","title":"pompi","text":"

            Toolchain with PGI C, C++ and Fortran compilers, alongside OpenMPI.

            homepage: http://www.pgroup.com/index.htm

            version toolchain 2016.03 system 2016.04 system 2016.09 system"},{"location":"version-specific/supported-software/#poppler","title":"poppler","text":"

            Poppler is a PDF rendering library

            homepage: https://poppler.freedesktop.org

            version toolchain 0.70.1 foss/2018b 0.90.1 GCCcore/8.3.0 21.06.1 GCC/10.2.0, GCC/10.3.0 22.01.0 GCC/11.2.0 22.12.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#popscle","title":"popscle","text":"

            A suite of population scale analysis tools for single-cell genomics data including implementation of Demuxlet / Freemuxlet methods and auxilary tools

            homepage: https://github.com/statgen/popscle

            version toolchain 0.1-beta foss/2019b 0.1-beta-20210505 GCC/11.3.0"},{"location":"version-specific/supported-software/#popt","title":"popt","text":"

            Popt is a C library for parsing command line parameters.

            homepage: http://freecode.com/projects/popt

            version toolchain 1.14 GCC/4.8.2 1.16 GCC/10.2.0, GCC/4.9.2, system"},{"location":"version-specific/supported-software/#porechop","title":"Porechop","text":"

            Porechop is a tool for finding and removing adapters from Oxford Nanopore reads. Adapters on the ends of reads are trimmed off, and when a read has an adapter in its middle, it is treated as chimeric and chopped into separate reads. Porechop performs thorough alignments to effectively find adapters, even at low sequence identity

            homepage: https://github.com/rrwick/Porechop

            version versionsuffix toolchain 0.2.3 -Python-3.5.2 foss/2016b 0.2.4 GCCcore/10.3.0, GCCcore/11.2.0 0.2.4 -Python-3.6.6 foss/2018b 0.2.4 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#porefoam","title":"porefoam","text":"

            Direct pore-scale simulation of single- and two-phase flow through confined media

            homepage: https://github.com/ImperialCollegeLondon/porefoam

            version toolchain 2021-09-21 foss/2020a"},{"location":"version-specific/supported-software/#poretools","title":"poretools","text":"

            A toolkit for working with nanopore sequencing data from Oxford Nanopore.

            homepage: https://poretools.readthedocs.io/en/latest/

            version versionsuffix toolchain 0.6.0 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#portcullis","title":"Portcullis","text":"

            Portcullis stands for PORTable CULLing of Invalid Splice junctions from pre-aligned RNA-seq data. It is known that RNAseq mapping tools generate many invalid junction predictions, particularly in deep datasets with high coverage over splice sites. In order to address this, instead for creating a new RNAseq mapper, with a focus on SJ accuracy we created a tool that takes in a BAM file generated by an RNAseq mapper of the user's own choice (e.g. Tophat2, Gsnap, STAR2 or HISAT2) as input (i.e. it's portable). It then, analyses and quantifies all splice junctions in the file before, filtering (culling) those which are unlikely to be genuine. Portcullis output's junctions in a variety of formats making it suitable for downstream analysis (such as differential splicing analysis and gene modelling) without additional work. Portcullis can also filter the original BAM file removing alignments associated with bad junctions.

            homepage: https://github.com/maplesond/portcullis

            version versionsuffix toolchain 1.2.2 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#postgres-xl","title":"Postgres-XL","text":"

            Postgres-XL is a horizontally scalable open source SQL database cluster, flexible enough to handle varying database workloads:

            homepage: http://www.postgres-xl.org

            version versionsuffix toolchain 9.5r1 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#postgresql","title":"PostgreSQL","text":"

            PostgreSQL is a powerful, open source object-relational database system. It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL:2008 data types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. It also supports storage of binary large objects, including pictures, sounds, or video. It has native programming interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.

            homepage: https://www.postgresql.org/

            version versionsuffix toolchain 9.4.7 -Python-2.7.11 intel/2016a 9.5.2 -Python-2.7.11 intel/2016a 9.6.0 -Python-2.7.12 intel/2016b 9.6.2 -Python-2.7.12 foss/2016b, intel/2016b 10.2 -Python-2.7.14 intel/2018a 10.3 foss/2018b 10.3 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 11.3 -Python-2.7.15 GCCcore/8.2.0 11.3 -Python-3.7.2 GCCcore/8.2.0 12.4 GCCcore/9.3.0 13.2 GCCcore/10.2.0 13.3 GCCcore/10.3.0 13.4 GCCcore/11.2.0 14.4 GCCcore/11.3.0 15.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pot","title":"POT","text":"

            POT (Python Optimal Transport) is a Python library provide several solvers for optimization problems related to Optimal Transport for signal, image processing and machine learning.

            homepage: https://github.com/rflamary/POT

            version versionsuffix toolchain 0.5.1 -Python-3.6.6 intel/2018b 0.9.0 foss/2022a"},{"location":"version-specific/supported-software/#pov-ray","title":"POV-Ray","text":"

            The Persistence of Vision Raytracer, or POV-Ray, is a ray tracing program which generates images from a text-based scene description, and is available for a variety of computer platforms. POV-Ray is a high-quality, Free Software tool for creating stunning three-dimensional graphics. The source code is available for those wanting to do their own ports.

            homepage: https://www.povray.org/

            version toolchain 3.7.0.0 intel/2016b 3.7.0.7 foss/2017b, foss/2018b, intel/2017b, intel/2018a, intel/2018b 3.7.0.8 GCC/10.2.0, iccifort/2020.4.304 3.7.0.10 GCC/11.3.0"},{"location":"version-specific/supported-software/#powerlaw","title":"powerlaw","text":"

            powerlaw: A Python Package for Analysis of Heavy-Tailed Distributions

            homepage: http://www.github.com/jeffalstott/powerlaw

            version toolchain 1.5 foss/2022a"},{"location":"version-specific/supported-software/#pp-sketchlib","title":"pp-sketchlib","text":"

            Library of sketching functions used by PopPUNK

            homepage: https://github.com/bacpop/pp-sketchlib

            version toolchain 2.1.1 foss/2022a"},{"location":"version-specific/supported-software/#ppanggolin","title":"PPanGGOLiN","text":"

            PPanGGOLiN is a software suite used to create and manipulate prokaryotic pangenomes from a set of either genomic DNA sequences or provided genome annotations. It is designed to scale up to tens of thousands of genomes. It has the specificity to partition the pangenome using a statistical approach rather than using fixed thresholds which gives it the ability to work with low-quality data such as Metagenomic Assembled Genomes (MAGs) or Single-cell Amplified Genomes (SAGs) thus taking advantage of large scale environmental studies and letting users study the pangenome of uncultivable species.

            homepage: https://github.com/labgem/PPanGGOLiN

            version toolchain 1.1.136 foss/2021b"},{"location":"version-specific/supported-software/#ppfold","title":"PPfold","text":"

            PPfold is a new implementation of pfold, written in Java 6.0. It can predict the consensus secondary structure of RNA alignments through a stochastic context-free grammar coupled to an evolutionary model. It can also use data from chemical probing experiments to predict RNA secondary structure. PPfold is multithreaded, and can solve the structure of much longer alignments than pfold.

            homepage: version versionsuffix toolchain 3.1.1 -Java-1.8.0_66 system"},{"location":"version-specific/supported-software/#ppl","title":"ppl","text":"

            The Parma Polyhedra Library (PPL) provides numerical abstractions especially targeted at applications in the field of analysis and verification of complex systems.

            homepage: https://www.bugseng.com/parma-polyhedra-library

            version toolchain 1.2 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#pplacer","title":"pplacer","text":"

            Pplacer places query sequences on a fixed reference phylogenetic tree to maximize phylogenetic likelihood or posterior probability according to a reference alignment. Pplacer is designed to be fast, to give useful information about uncertainty, and to offer advanced visualization and downstream analysis.

            homepage: http://matsen.fhcrc.org/pplacer/

            version toolchain 1.1.alpha19 system"},{"location":"version-specific/supported-software/#pplpy","title":"pplpy","text":"

            This Python package provides a wrapper to the C++ Parma Polyhedra Library (PPL).

            homepage: https://pypi.org/project/pplpy/

            version versionsuffix toolchain 0.8.4 -Python-2.7.14 foss/2017b, intel/2017b 0.8.4 -Python-3.6.3 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#prank","title":"PRANK","text":"

            PRANK is a probabilistic multiple alignment program for DNA, codon and amino-acid sequences. PRANK is based on a novel algorithm that treats insertions correctly and avoids over-estimation of the number of deletion events.

            homepage: http://wasabiapp.org/software/prank/

            version toolchain 170427 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/9.3.0, intel/2018a"},{"location":"version-specific/supported-software/#prc","title":"PRC","text":"

            PRC is a stand-alone program for aligning and scoring two profile hidden Markov models. This can be used to detect remote relationships between profiles more effectively than by doing simple profile-sequence comparisons. PRC takes into account all transition and emission probabilities in both hidden Markov models.

            homepage:

            version toolchain 1.5.6 intel/2018a"},{"location":"version-specific/supported-software/#precice","title":"preCICE","text":"

            preCICE (Precise Code Interaction Coupling Environment) is a coupling library for partitioned multi-physics simulations, including, but not restricted to fluid-structure interaction and conjugate heat transfer simulations. Partitioned means that preCICE couples existing programs (solvers) capable of simulating a subpart of the complete physics involved in a simulation. This allows for the high flexibility that is needed to keep a decent time-to-solution for complex multi-physics scenarios.

            homepage: https://www.precice.org/

            version versionsuffix toolchain 2.1.1 -Python-3.8.2 foss/2020a 2.2.0 -Python-3.8.2 foss/2020a, intel/2020a"},{"location":"version-specific/supported-software/#prequal","title":"PREQUAL","text":"

            A program to identify and mask regions with non-homologous adjacent characters in FASTA files.

            homepage: https://github.com/simonwhelan/prequal

            version toolchain 1.02 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#preseq","title":"preseq","text":"

            Software for predicting library complexity and genome coverage in high-throughput sequencing.

            homepage: https://smithlabresearch.org/software/preseq

            version toolchain 2.0.2 foss/2016b 2.0.3 foss/2018b, intel/2018a 3.1.2 GCC/10.3.0, GCC/11.2.0 3.2.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#presto","title":"presto","text":"

            Presto performs a fast Wilcoxon rank sum test and auROC analysis.

            homepage: https://github.com/immunogenomics/presto

            version versionsuffix toolchain 1.0.0-20200718 -R-4.1.2 foss/2021b 1.0.0-20230113 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#pretty-yaml","title":"pretty-yaml","text":"

            PyYAML-based python module to produce pretty and readable YAML-serialized data. This module is for serialization only, see ruamel.yaml module for literate YAML parsing (keeping track of comments, spacing, line/column numbers of values, etc).

            homepage: https://github.com/mk-fg/pretty-yaml

            version toolchain 19.12.0 GCCcore/8.3.0 20.4.0 GCCcore/9.3.0 21.10.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#primer3","title":"Primer3","text":"

            Primer3 is a widely used program for designing PCR primers (PCR = 'Polymerase Chain Reaction'). PCR is an essential and ubiquitous tool in genetics and molecular biology. Primer3 can also design hybridization probes and sequencing primers.

            homepage: https://primer3.org/

            version toolchain 2.3.7 intel/2017b 2.4.0 iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 2.5.0 GCC/9.3.0"},{"location":"version-specific/supported-software/#prinseq","title":"PRINSEQ","text":"

            A bioinformatics tool to PRe-process and show INformation of SEQuence data.

            homepage: http://prinseq.sourceforge.net

            version versionsuffix toolchain 0.20.4 -Perl-5.28.0 foss/2018b 0.20.4 -Perl-5.32.0 foss/2020b 0.20.4 -Perl-5.34.0 foss/2021b"},{"location":"version-specific/supported-software/#printproto","title":"printproto","text":"

            X.org PrintProto protocol headers.

            homepage: http://xorg.freedesktop.org/

            version toolchain 1.0.5 intel/2016a"},{"location":"version-specific/supported-software/#prisms-pf","title":"PRISMS-PF","text":"

            PRISMS-PF is a powerful, massively parallel finite element code for conducting phase field and other related simulations of microstructural evolution.

            homepage: https://prisms-center.github.io/phaseField

            version toolchain 2.1.1 foss/2019a, intel/2019a 2.2 foss/2021a"},{"location":"version-specific/supported-software/#probabel","title":"ProbABEL","text":"

            Tool for genome-wide association analysis of imputed genetic data.

            homepage: http://www.genabel.org/packages/ProbABEL

            version toolchain 0.5.0 GCCcore/9.3.0, system"},{"location":"version-specific/supported-software/#prodigal","title":"prodigal","text":"

            Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) is a microbial (bacterial and archaeal) gene finding program developed at Oak Ridge National Laboratory and the University of Tennessee.

            homepage: https://github.com/hyattpd/Prodigal/

            version toolchain 2.6.2 GCC/4.9.3-binutils-2.25 2.6.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#profit","title":"ProFit","text":"

            ProFit (pronounced Pro-Fit, not profit!) is designed to be the ultimate program for performing least squares fits of two or more protein structures. It performs a very simple and basic function, but allows as much flexibility as possible in performing this procedure. Thus one can specify subsets of atoms to be considered, specify zones to be fitted by number, sequence, or by sequence alignment.

            homepage: http://www.bioinf.org.uk/software/profit

            version toolchain 3.3 GCC/10.3.0"},{"location":"version-specific/supported-software/#proj","title":"PROJ","text":"

            Program proj is a standard Unix filter function which converts geographic longitude and latitude coordinates into cartesian coordinates

            homepage: https://proj.org

            version toolchain 4.9.2 foss/2016a, foss/2016b, intel/2016a, intel/2016b 4.9.3 foss/2016b, foss/2017b, intel/2016b, intel/2017a, intel/2017b 5.0.0 foss/2018a, foss/2018b, intel/2018a, intel/2018b, iomkl/2018a 6.0.0 GCCcore/8.2.0 6.2.1 GCCcore/8.3.0 7.0.0 GCCcore/9.3.0 7.2.1 GCCcore/10.2.0 8.0.1 GCCcore/10.3.0 8.1.0 GCCcore/11.2.0 9.0.0 GCCcore/11.3.0 9.1.1 GCCcore/12.2.0 9.2.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#projectq","title":"ProjectQ","text":"

            An open source software framework for quantum computing

            homepage: https://projectq.ch

            version versionsuffix toolchain 0.4.2 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#prokka","title":"prokka","text":"

            Prokka is a software tool for the rapid annotation of prokaryotic genomes.

            homepage: https://www.vicbioinformatics.com/software.prokka.shtml

            version versionsuffix toolchain 1.11 -BioPerl-1.7.0 foss/2016b 1.13 -BioPerl-1.7.2 intel/2018a 1.13.4 foss/2018b 1.13.7 gompi/2019a 1.14.5 gompi/2019a, gompi/2019b, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#prompt-toolkit","title":"prompt-toolkit","text":"

            prompt_toolkit is a Python library for building powerful interactive command lines and terminal applications.

            homepage: https://github.com/jonathanslenders/python-prompt-toolkit

            version versionsuffix toolchain 1.0.3 -Python-2.7.11 foss/2016a 1.0.3 -Python-3.5.1 foss/2016a 1.0.6 -Python-2.7.12 foss/2016b, intel/2016b 1.0.6 -Python-3.5.2 intel/2016b 1.0.13 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#proovread","title":"proovread","text":"

            PacBio hybrid error correction through iterative short read consensus

            homepage: https://github.com/BioInf-Wuerzburg/proovread

            version toolchain 2.14.1 intel/2017b"},{"location":"version-specific/supported-software/#propy","title":"propy","text":"

            Propy is a protein description software. It allows analyzing sequence-derived structural and physicochemical features, which are very useful in representing and distinguishing proteins or peptides of different structural, functional and interaction properties. These have been widely used in developing methods and software for predicting protein structural and functional classes, protein-protein interactions, drug-target interactions, protein substrates, among others.

            homepage: https://code.google.com/archive/p/protpy

            version versionsuffix toolchain 1.0 -Python-2.7.13 foss/2017a"},{"location":"version-specific/supported-software/#proteinortho","title":"Proteinortho","text":"

            Proteinortho is a tool to detect orthologous genes within different species.

            homepage: https://www.bioinf.uni-leipzig.de/Software/proteinortho

            version versionsuffix toolchain 5.16b -Python-3.6.4-Perl-5.26.1 foss/2018a 6.2.3 gompi/2021b"},{"location":"version-specific/supported-software/#prothint","title":"ProtHint","text":"

            ProtHint is a pipeline for predicting and scoring hints (in the form of introns, start and stop codons) in the genome of interest by mapping and spliced aligning predicted genes to a database of reference protein sequences.

            homepage: https://github.com/gatech-genemark/ProtHint

            version versionsuffix toolchain 2.4.0 -Python-3.7.2 iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.4.0 -Python-3.7.4 iccifort/2019.5.281"},{"location":"version-specific/supported-software/#protobuf","title":"protobuf","text":"

            Google Protocol Buffers

            homepage: https://github.com/google/protobuf/

            version toolchain 2.5.0 GCCcore/10.2.0, GCCcore/7.3.0, GCCcore/8.3.0, system 2.6.1 system 3.0.2 foss/2016a 3.2.0 foss/2016b, intel/2016b 3.3.0 foss/2016b, intel/2017a 3.4.0 GCCcore/6.4.0, intel/2017a, intel/2017b 3.5.1 intel/2017b 3.6.0 GCCcore/7.3.0 3.6.1 GCCcore/7.3.0 3.6.1.2 GCCcore/8.2.0 3.7.1 GCCcore/8.2.0, GCCcore/8.3.0 3.10.0 GCCcore/8.3.0, GCCcore/9.3.0 3.13.0 GCCcore/9.3.0 3.14.0 GCCcore/10.2.0 3.17.3 GCCcore/10.3.0, GCCcore/11.2.0 3.19.4 GCCcore/11.3.0 3.21.9 GCCcore/10.3.0 23.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#protobuf-python","title":"protobuf-python","text":"

            Python Protocol Buffers runtime library.

            homepage: https://github.com/google/protobuf/

            version versionsuffix toolchain 3.0.2 -Python-2.7.11 foss/2016a 3.0.2 -Python-3.5.1 foss/2016a 3.2.0 -Python-2.7.12 foss/2016b, intel/2016b 3.2.0 -Python-3.5.2 foss/2016b, intel/2016b 3.3.0 -Python-2.7.13 intel/2017a 3.3.0 -Python-3.5.2 foss/2016b 3.3.0 -Python-3.6.1 intel/2017a 3.4.0 -Python-2.7.13 intel/2017a 3.4.0 -Python-2.7.14 intel/2017b 3.4.0 -Python-3.6.1 intel/2017a 3.4.0 -Python-3.6.3 intel/2017b 3.6.0 -Python-2.7.15 fosscuda/2018b 3.6.0 -Python-3.6.6 foss/2018b, fosscuda/2018b 3.10.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 3.13.0 -Python-3.8.2 foss/2020a, fosscuda/2020a 3.14.0 GCCcore/10.2.0 3.17.3 GCCcore/10.3.0, GCCcore/11.2.0 3.19.4 GCCcore/11.3.0 4.23.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#protozero","title":"protozero","text":"

            Minimalistic protocol buffer decoder and encoder in C++.

            homepage: https://github.com/mapbox/protozero

            version toolchain 1.6.8 GCCcore/7.3.0 1.7.0 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#prsice","title":"PRSice","text":"

            PRSice (pronounced 'precise') is a Polygenic Risk Score software for calculating, applying, evaluating and plotting the results of polygenic risk scores (PRS) analyses.

            homepage: https://www.prsice.info/

            version toolchain 2.2.12 GCCcore/8.3.0 2.3.1 GCCcore/9.3.0 2.3.3 GCCcore/10.3.0, GCCcore/9.3.0 2.3.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pscom","title":"pscom","text":"

            ParaStation is a robust and efficient cluster middleware, consisting of a high-performance communication layer (MPI) and a sophisticated management layer.

            homepage: http://www.par-tec.com

            version toolchain 5.0.43 GCC/4.8.2 5.0.44-1 GCC/4.9.2 5.0.48-1 system"},{"location":"version-specific/supported-software/#psi","title":"PSI","text":"

            PSI4 is an open-source suite of ab initio quantum chemistry programs designed for efficient, high-accuracy simulations of a variety of molecular properties. We can routinely perform computations with more than 2500 basis functions running serially or in parallel.

            homepage: http://www.psicode.org/

            version versionsuffix toolchain 4.0b6-20160201 -mt-Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#psi4","title":"PSI4","text":"

            PSI4 is an open-source suite of ab initio quantum chemistry programs designed for efficient, high-accuracy simulations of a variety of molecular properties. We can routinely perform computations with more than 2500 basis functions running serially or in parallel.

            homepage: https://www.psicode.org/

            version versionsuffix toolchain 1.0 -Python-2.7.11 intel/2016a 1.0 -mt-Python-2.7.11 intel/2016a 1.2.1 -Python-2.7.15 intel/2018b 1.2.1 -Python-2.7.15-maxam8 intel/2018b 1.3.1 -Python-3.7.2 foss/2019a 1.3.2 -Python-3.7.4 intel/2019b 1.7 foss/2021b"},{"location":"version-specific/supported-software/#psiclass","title":"PsiCLASS","text":"

            PsiCLASS is a reference-based transcriptome assembler for single or multiple RNA-seq samples.

            homepage: https://github.com/splicebox/PsiCLASS

            version toolchain 1.0.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#psipred","title":"PSIPRED","text":"

            Accurate protein secondary structure prediction

            homepage: http://bioinf.cs.ucl.ac.uk

            version toolchain 4.02 GCC/8.3.0"},{"location":"version-specific/supported-software/#psmc","title":"psmc","text":"

            This software package infers population size history from a diploid sequence using the Pairwise Sequentially Markovian Coalescent (PSMC) model.

            homepage: https://github.com/lh3/psmc

            version toolchain 0.6.5 foss/2016a, foss/2018a"},{"location":"version-specific/supported-software/#psmpi","title":"psmpi","text":"

            ParaStation MPI is an open source high-performance MPI 3.0 implementation, based on MPICH v3. It provides extra low level communication libraries and integration with various batch systems for tighter process control.

            homepage: https://github.com/ParaStation/psmpi2

            version versionsuffix toolchain 5.1.0-1 GCC/4.9.2 5.1.5-1 GCC/4.9.3 5.1.5-1 -mt GCC/4.9.3"},{"location":"version-specific/supported-software/#psmpi2","title":"psmpi2","text":"

            ParaStation is a robust and efficient cluster middleware, consisting of a high-performance communication layer (MPI) and a sophisticated management layer.

            homepage: http://www.par-tec.com

            version versionsuffix toolchain 5.0.29 GCC/4.8.2 5.0.29 -mt GCC/4.8.2"},{"location":"version-specific/supported-software/#psolver","title":"PSolver","text":"

            Interpolating scaling function Poisson Solver Library

            homepage: http://bigdft.org/devel-doc/d1/d81/group__PSOLVER.html

            version toolchain 1.7.6 foss/2017b, foss/2018a, foss/2018b, intel/2017b, intel/2018a, intel/2018b 1.8.3 foss/2020b, foss/2021a, foss/2021b, intel/2020b, intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#psortb","title":"PSORTb","text":"

            PSORTb v3.0.4 is the most precise bacterial localization prediction tool available.

            homepage: http://psort.org/psortb/index.html

            version versionsuffix toolchain 3.0.4 -Perl-5.22.1 foss/2016a"},{"location":"version-specific/supported-software/#psrecord","title":"psrecord","text":"

            psrecord is a small utility that uses the psutil library to record the CPU and memory activity of a process.

            homepage: https://github.com/astrofrog/psrecord

            version versionsuffix toolchain 1.1 -Python-2.7.14 intel/2018a 1.1 -Python-2.7.15 intel/2018b 1.1 -Python-3.6.4 intel/2018a 1.1 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#pstoedit","title":"pstoedit","text":"

            pstoedit translates PostScript and PDF graphics into other vector formats

            homepage: http://pstoedit.net/

            version toolchain 3.70 GCCcore/6.3.0, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#psutil","title":"psutil","text":"

            A cross-platform process and system utilities module for Python

            homepage: https://github.com/giampaolo/psutil

            version versionsuffix toolchain 4.2.0 -Python-2.7.11 intel/2016a 4.3.0 -Python-2.7.11 foss/2016a, intel/2016a 5.4.3 -Python-2.7.14 intel/2017b 5.4.7 -Python-2.7.15 foss/2018b 5.4.7 -Python-3.6.6 foss/2018b 5.6.1 -Python-2.7.15 fosscuda/2018b 5.6.3 GCCcore/8.2.0 5.9.3 GCCcore/10.2.0, GCCcore/11.3.0 5.9.4 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#psycopg2","title":"psycopg2","text":"

            Psycopg is the most popular PostgreSQL adapter for the Python programming language.

            homepage: https://psycopg.org/

            version versionsuffix toolchain 2.7 -Python-2.7.12 foss/2016b, intel/2016b 2.8.3 -Python-3.7.2 foss/2019a 2.8.6 -Python-3.8.2 GCCcore/9.3.0 2.9.5 GCCcore/11.2.0 2.9.6 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ptemcee","title":"ptemcee","text":"

            ptemcee, pronounced \"tem-cee\", is fork of Daniel Foreman-Mackey's wonderful emcee to implement parallel tempering more robustly. If you're trying to characterise awkward, multi-model probability distributions, then ptemcee is your friend.

            homepage: https://github.com/willvousden/ptemcee

            version toolchain 1.0.0 foss/2019a"},{"location":"version-specific/supported-software/#ptesfinder","title":"PTESFinder","text":"

            Post-Transcriptional Exon Shuffling (PTES) Identification Pipeline

            homepage: https://sourceforge.net/projects/ptesfinder-v1/

            version toolchain 1 intel/2017b"},{"location":"version-specific/supported-software/#pubtcrs","title":"pubtcrs","text":"

            This repository contains C++ source code for the TCR clustering and correlation analyses described in the manuscript \"Human T cell receptor occurrence patterns encode immune history, genetic background, and receptor specificity\" by William S DeWitt III, Anajane Smith, Gary Schoch, John A Hansen, Frederick A Matsen IV and Philip Bradley, available on bioRxiv.

            homepage: https://github.com/phbradley/pubtcrs

            version toolchain 20180622 intel/2019a"},{"location":"version-specific/supported-software/#pugixml","title":"pugixml","text":"

            pugixml is a light-weight C++ XML processing library

            homepage: https://pugixml.org/

            version toolchain 1.11.4 GCCcore/10.3.0 1.12.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pullseq","title":"pullseq","text":"

            Utility program for extracting sequences from a fasta/fastq file

            homepage: https://github.com/bcthomas/pullseq

            version toolchain 1.0.2 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/7.3.0"},{"location":"version-specific/supported-software/#pulp","title":"PuLP","text":"

            PuLP is an LP modeler written in Python. PuLP can generate MPS or LP files and call GLPK, COIN-OR CLP/CBC, CPLEX, GUROBI, MOSEK, XPRESS, CHOCO, MIPCL, SCIP to solve linear problems.

            homepage: https://github.com/coin-or/pulp

            version toolchain 2.5.1 foss/2021a"},{"location":"version-specific/supported-software/#purge_dups","title":"purge_dups","text":"

            purge haplotigs and overlaps in an assembly based on read depth

            homepage: https://github.com/dfguan/purge_dups

            version toolchain 1.2.5 foss/2021b"},{"location":"version-specific/supported-software/#py","title":"py","text":"

            library with cross-python path, ini-parsing, io, code, log facilities

            homepage: < https://pylib.readthedocs.org/>

            version versionsuffix toolchain 1.4.31 -Python-2.7.11 foss/2016a 1.4.31 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#py-aiger","title":"py-aiger","text":"

            A python library for manipulating sequential and combinatorial circuits. This module provides the py-aiger extensions: aiger_bv, aiger_cnf, aiger_ptltl, aiger_coins, aiger_gridworld, aiger_dfa

            homepage: https://github.com/mvcisback/py-aiger

            version versionsuffix toolchain 6.1.1 -Python-3.8.2 GCCcore/9.3.0 6.1.14 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#py-aiger-bdd","title":"py-aiger-bdd","text":"

            Aiger to BDD bridge.

            homepage: https://github.com/mvcisback/py-aiger-bdd

            version versionsuffix toolchain 3.0.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#py-cpuinfo","title":"py-cpuinfo","text":"

            py-cpuinfo gets CPU info with pure Python.

            homepage: https://github.com/workhorsy/py-cpuinfo

            version toolchain 5.0.0 system 8.0.0 GCCcore/11.2.0 9.0.0 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#py3dmol","title":"py3Dmol","text":"

            A simple IPython/Jupyter widget to embed an interactive 3Dmol.js viewer in a notebook.

            homepage: https://github.com/3dmol/3Dmol.js/tree/master/py3Dmol

            version toolchain 2.0.1.post1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyabc","title":"pyABC","text":"

            Massively parallel, distributed and scalable ABC-SMC (Approximate Bayesian Computation - Sequential Monte Carlo) for parameter estimation of complex stochastic models. Implemented in Python with support of the R language.

            homepage: https://github.com/icb-dcm/pyabc

            version versionsuffix toolchain 0.10.4 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pyamg","title":"PyAMG","text":"

            PyAMG is a library of Algebraic Multigrid (AMG) solvers with a convenient Python interface.

            homepage: https://pyamg.github.io

            version versionsuffix toolchain 3.0.1 -Python-2.7.11 intel/2016a 4.0.0 foss/2020b, intel/2020b 4.2.3 foss/2021a"},{"location":"version-specific/supported-software/#pyaps3","title":"PyAPS3","text":"

            Python 3 Atmospheric Phase Screen

            homepage: https://github.com/AngeliqueBenoit/pyaps3

            version versionsuffix toolchain 20190407 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#pybedtools","title":"pybedtools","text":"

            pybedtools wraps and extends BEDTools and offers feature-level manipulations from within Python.

            homepage: https://daler.github.io/pybedtools

            version versionsuffix toolchain 0.7.10 -Python-2.7.14 intel/2017b, intel/2018a 0.7.10 -Python-3.6.6 foss/2018b 0.8.0 foss/2019a, intel/2019a 0.8.1 foss/2019b 0.8.2 GCC/10.2.0, GCC/11.2.0, iccifort/2020.4.304 0.8.2 -Python-2.7.18 GCC/10.2.0 0.9.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#pyberny","title":"PyBerny","text":"

            PyBerny is an optimizer of molecular geometries with respect to the total energy, using nuclear gradient information.

            homepage: https://github.com/jhrmnn/pyberny

            version versionsuffix toolchain 0.6.2 -Python-3.8.2 intel/2020a 0.6.3 foss/2022a"},{"location":"version-specific/supported-software/#pybigwig","title":"pyBigWig","text":"

            A python extension, written in C, for quick access to bigBed files and access to and creation of bigWig files.

            homepage: https://github.com/deeptools/pyBigWig

            version versionsuffix toolchain 0.3.13 -Python-3.6.6 foss/2018b 0.3.17 GCCcore/8.2.0, GCCcore/9.3.0 0.3.18 GCCcore/10.2.0, foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pybind11","title":"pybind11","text":"

            pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code.

            homepage: https://pybind11.readthedocs.io

            version versionsuffix toolchain 2.2.4 -Python-3.6.4 foss/2018a 2.2.4 -Python-3.6.6 intel/2018b 2.4.3 -Python-3.7.4 GCCcore/8.3.0 2.4.3 -Python-3.8.2 GCCcore/9.3.0 2.6.0 GCCcore/10.2.0 2.6.2 GCCcore/10.3.0 2.7.1 GCCcore/11.2.0 2.7.1 -Python-2.7.18 GCCcore/11.2.0 2.9.2 GCCcore/11.3.0 2.10.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pybinding","title":"pybinding","text":"

            Pybinding is a Python package for numerical tight-binding calculations in solid state physics.

            homepage: https://github.com/dean0x7d/pybinding

            version toolchain 0.9.5 foss/2022a"},{"location":"version-specific/supported-software/#pybiolib","title":"PyBioLib","text":"

            PyBioLib is a Python package for running BioLib applications from Python scripts and the command line. BioLib is a library of biological data science applications. Applications on BioLib range from small bioinformatics utilities to state-of-the-art machine learning algorithms for predicting characteristics of biological molecules.

            homepage: https://biolib.com/

            version toolchain 1.1.988 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pycairo","title":"PyCairo","text":"

            Python bindings for the cairo library

            homepage: https://pycairo.readthedocs.io/

            version versionsuffix toolchain 1.10.0 -Python-2.7.11 intel/2016a 1.16.1 -Python-3.6.3 foss/2017b 1.16.2 -Python-2.7.14 intel/2017b 1.18.0 -Python-2.7.14 intel/2018a 1.18.0 -Python-2.7.15 foss/2018b 1.18.0 -Python-3.6.6 foss/2018b 1.18.0 -Python-3.7.2 GCCcore/8.2.0 1.18.2 GCCcore/8.3.0, GCCcore/9.3.0 1.20.0 GCCcore/10.2.0 1.20.1 GCCcore/10.3.0, GCCcore/11.2.0 1.21.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pycalib","title":"PyCalib","text":"

            Python library for classifier calibration

            homepage: https://github.com/classifier-calibration/PyCalib

            version toolchain 0.1.0.dev0 foss/2021b 20230531 gfbf/2022b"},{"location":"version-specific/supported-software/#pyccel","title":"pyccel","text":"

            Python extension language using accelerators

            homepage: https://github.com/pyccel/pyccel

            version toolchain 1.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pycharm","title":"PyCharm","text":"

            PyCharm Community Edition: Python IDE for Professional Developers

            homepage: https://www.jetbrains.com/pycharm/

            version toolchain 2017.2.3 system 2019.3.1 system 2021.1.1 system 2022.2.2 system 2022.3.2 system"},{"location":"version-specific/supported-software/#pychemps2","title":"PyCheMPS2","text":"

            PyCheMPS2 is a python interface to CheMPS2, for compilation without MPI. CheMPS2 is a scientific library which contains a spin-adapted implementation of the density matrix renormalization group (DMRG) for ab initio quantum chemistry.

            homepage: https://sebwouters.github.io/CheMPS2

            version toolchain 1.8.12 foss/2022a"},{"location":"version-specific/supported-software/#pychopper","title":"Pychopper","text":"

            A tool to identify, orient, trim and rescue full length cDNA reads.

            homepage: https://github.com/nanoporetech/pychopper

            version versionsuffix toolchain 2.3.1 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#pycifrw","title":"PyCifRW","text":"

            PyCIFRW provides support for reading and writing CIF (Crystallographic Information Format) files using Python.

            homepage: https://bitbucket.org/jamesrhester/pycifrw/src/development

            version toolchain 4.4.2 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#pyclone","title":"PyClone","text":"

            PyClone is a Python package that wraps rclone and provides a threaded interface for an installation at the host or container level.

            homepage: https://gitlab.com/ltgiv/pyclone

            version toolchain 2020.9b2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pycma","title":"pycma","text":"

            A stochastic numerical optimization algorithm for difficult (non-convex, ill-conditioned, multi-modal, rugged, noisy) optimization problems in continuous search spaces, implemented in Python.

            homepage: https://github.com/CMA-ES/pycma

            version toolchain 2.7.0 intel/2019a"},{"location":"version-specific/supported-software/#pycocotools","title":"pycocotools","text":"

            Official APIs for the MS-COCO dataset

            homepage: https://pypi.org/project/pycocotools

            version versionsuffix toolchain 2.0.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.0.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.0.2 -Python-3.8.2 foss/2020a, fosscuda/2020a 2.0.4 foss/2021a 2.0.6 foss/2022a"},{"location":"version-specific/supported-software/#pycodestyle","title":"pycodestyle","text":"

            pycodestyle is a tool to check your Python code against some of the style conventions in PEP 8.

            homepage: https://pycodestyle.readthedocs.io

            version versionsuffix toolchain 2.5.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#pycogent","title":"PyCogent","text":"

            PyCogent is a software library for genomic biology. It is a fully integrated and thoroughly tested framework for: controlling third-party applications; devising workflows; querying databases; conducting novel probabilistic analyses of biological sequence evolution; and generating publication quality graphics.

            homepage: http://pycogent.org

            version versionsuffix toolchain 1.5.3 -Python-2.7.12 intel/2016b 1.9 -Python-2.7.12 foss/2016b, intel/2016b 1.9 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#pycoqc","title":"pycoQC","text":"

            PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data.

            homepage: https://tleonardi.github.io/pycoQC

            version toolchain 2.5.2 foss/2021a"},{"location":"version-specific/supported-software/#pycuda","title":"PyCUDA","text":"

            PyCUDA lets you access Nvidia\u2019s CUDA parallel computation API from Python.

            homepage: https://mathema.tician.de/software/pycuda

            version versionsuffix toolchain 2016.1.2 -Python-2.7.12 intel/2016b 2017.1.1 -CUDA-9.0.176-Python-2.7.14 foss/2017b 2017.1.1 -Python-2.7.14 intel/2018a 2018.1 -Python-3.6.4-CUDA-9.1.85 intel/2018a 2019.1.2 -Python-3.7.4 fosscuda/2019b, intelcuda/2019b 2020.1 fosscuda/2020b"},{"location":"version-specific/supported-software/#pycurl","title":"PycURL","text":"

            PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features.

            homepage: http://pycurl.io/

            version versionsuffix toolchain 7.43.0.5 -Python-3.7.4 GCCcore/8.3.0 7.45.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pydamage","title":"PyDamage","text":"

            Pydamage, is a Python software to automate the process of contig damage identification and estimation. After modelling the ancient DNA damage using the C to T transitions, Pydamage uses a likelihood ratio test to discriminate between truly ancient, and modern contigs originating from sample contamination.

            homepage: https://github.com/maxibor/pydamage

            version toolchain 0.70 foss/2021a"},{"location":"version-specific/supported-software/#pydantic","title":"pydantic","text":"

            Data validation and settings management using Python type hinting.

            homepage: https://github.com/samuelcolvin/pydantic

            version versionsuffix toolchain 1.6.1 -Python-3.7.4 GCCcore/8.3.0 1.10.2 GCCcore/11.2.0 1.10.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pydatastream","title":"PyDatastream","text":"

            Lightweight SOAP client

            homepage: https://pypi.python.org/pypi/suds-py3

            version versionsuffix toolchain 0.5.1 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#pydicom","title":"pydicom","text":"

            Pure python package for DICOM medical file reading and writing.

            homepage: https://pydicom.github.io/

            version versionsuffix toolchain 0.9.9 -Python-2.7.11 intel/2016a 1.2.2 GCCcore/8.2.0 1.4.2 GCCcore/8.3.0 2.1.2 GCCcore/10.2.0 2.1.2 -Python-3.8.2 GCCcore/9.3.0 2.2.2 GCCcore/10.3.0, GCCcore/11.2.0 2.3.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pydicom-seg","title":"pydicom-seg","text":"

            Reading and writing of DICOM-SEG medical image segmentation storage files using pydicom as DICOM serialization/deserialization library.

            homepage: https://github.com/razorx89/pydicom-seg

            version toolchain 0.4.1 foss/2022a"},{"location":"version-specific/supported-software/#pydlpoly","title":"pydlpoly","text":"

            Pydlpoly is a molecular dynamics simulation package which is a modified version of DL-POLY with a Python language interface.

            homepage: http://cmc.aci.ruhr-uni-bochum.de/cmc/

            version versionsuffix toolchain 20150225 -Python-2.7.12 intel/2016b 20150225 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#pydot","title":"pydot","text":"

            Python interface to Graphviz's Dot language.

            homepage: https://github.com/pydot/pydot

            version toolchain 1.4.1 GCCcore/9.3.0, foss/2019b 1.4.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyega3","title":"pyEGA3","text":"

            A basic Python-based EGA download client

            homepage: https://github.com/EGA-archive/ega-download-client

            version versionsuffix toolchain 3.0.33 -Python-3.7.2 GCCcore/8.2.0 3.4.0 -Python-3.7.4 GCCcore/8.3.0 3.4.0 -Python-3.8.2 GCCcore/9.3.0 4.0.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#pyenchant","title":"pyenchant","text":"

            PyEnchant is a spellchecking library for Python, based on the excellent Enchant library.

            homepage: https://pythonhosted.org/pyenchant/

            version versionsuffix toolchain 1.6.8 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#pyevtk","title":"PyEVTK","text":"

            EVTK (Export VTK) package allows exporting data to binary VTK files for visualization and data analysis with any of the visualization packages that support VTK files

            homepage: https://github.com/paulo-herrera/PyEVTK

            version toolchain 1.4.1 foss/2021b 2.0.0 foss/2021b"},{"location":"version-specific/supported-software/#pyfai","title":"pyFAI","text":"

            Python implementation of fast azimuthal integration.

            homepage: https://github.com/silx-kit/pyFAI

            version versionsuffix toolchain 0.19.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.20.0 foss/2020b, fosscuda/2020b 0.21.3 foss/2021b"},{"location":"version-specific/supported-software/#pyfaidx","title":"pyfaidx","text":"

            pyfaidx: efficient pythonic random access to fasta subsequences

            homepage: https://pypi.python.org/pypi/pyfaidx

            version versionsuffix toolchain 0.5.9.5 GCCcore/10.2.0 0.5.9.5 -Python-3.7.4 GCCcore/8.3.0 0.6.3.1 GCCcore/10.3.0 0.7.0 GCCcore/11.2.0 0.7.1 GCCcore/11.3.0 0.7.2.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pyfasta","title":"pyfasta","text":"

            fast, memory-efficient, pythonic (and command-line) access to fasta sequence files

            homepage: https://pypi.org/project/pyfasta/

            version toolchain 0.5.2 foss/2020b"},{"location":"version-specific/supported-software/#pyffmpeg","title":"PyFFmpeg","text":"

            Python FFmpeg wrapper

            homepage: https://github.com/mhaller/pyffmpeg

            version versionsuffix toolchain 2.1beta -Python-2.7.10 gimkl/2.11.5 2.1beta -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#pyfftw","title":"pyFFTW","text":"

            A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms.

            homepage: https://github.com/pyFFTW/pyFFTW

            version versionsuffix toolchain 0.11.1 intel/2019a 0.11.1 -Python-3.6.6 foss/2018b 0.12.0 foss/2020b, fosscuda/2020b 0.13.1 foss/2022a"},{"location":"version-specific/supported-software/#pyfits","title":"pyfits","text":"

            The PyFITS module is a Python library providing access to FITS (Flexible Image Transport System)

            homepage: https://pythonhosted.org/pyfits/

            version versionsuffix toolchain 3.5 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#pyfmi","title":"PyFMI","text":"

            PyFMI is a package for loading and interacting with Functional Mock-Up Units (FMUs), which are compiled dynamic models compliant with the Functional Mock-Up Interface (FMI)

            homepage: https://pypi.org/project/PyFMI/

            version versionsuffix toolchain 2.4.0 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#pyfoam","title":"PyFoam","text":"

            A Python library to control OpenFOAM-runs and manipulate OpenFOAM-data.

            homepage: http://openfoamwiki.net/index.php/Contrib/PyFoam

            version toolchain 2020.5 foss/2020b"},{"location":"version-specific/supported-software/#pyfr","title":"PyFR","text":"

            PyFR is an open-source Python based framework for solving advection-diffusion type problems on streaming architectures using the Flux Reconstruction approach of Huynh. The framework is designed to solve a range of governing systems on mixed unstructured grids containing various element types. It is also designed to target a range of hardware platforms via use of an in-built domain specific language derived from the Mako templating engine.

            homepage: http://www.pyfr.org

            version versionsuffix toolchain 1.7.6 -Python-3.6.4-CUDA-9.1.85 intel/2018a 1.9.0 -Python-3.7.4 intelcuda/2019b"},{"location":"version-specific/supported-software/#pyfrag","title":"PyFrag","text":"

            PyFrag 2019 resolves three main challenges associated with the automatized computational exploration of reaction mechanisms: 1) the management of multiple parallel calculations to automatically find a reaction path; 2) the monitoring of the entire computational process along with the extraction and plotting of relevant information from large amounts of data; and 3) the analysis and presentation of these data in a clear and informative way. This module provides the Activation Strain Analysis (ASA) Module of PyFrag 2019

            homepage: https://pyfragdocument.readthedocs.io/en/latest/includeme.html

            version versionsuffix toolchain 2019-20220216 -ASA intel/2020b"},{"location":"version-specific/supported-software/#pygccxml","title":"pygccxml","text":"

            Python package for easy C++ declarations navigation.

            homepage: https://pypi.python.org/pypi/pygccxml

            version versionsuffix toolchain 20160706 -Python-2.7.11 foss/2016a 20160706 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#pygenometracks","title":"pyGenomeTracks","text":"

            pyGenomeTracks aims to produce high-quality genome browser tracks that are highly customizable.

            homepage: https://pygenometracks.readthedocs.io

            version toolchain 3.7 foss/2021b 3.8 foss/2022a"},{"location":"version-specific/supported-software/#pygeos","title":"PyGEOS","text":"

            PyGEOS is a C/Python library with vectorized geometry functions. The geometry operations are done in the open-source geometry library GEOS. PyGEOS wraps these operations in NumPy ufuncs providing a performance improvement when operating on arrays of geometries.

            homepage: https://pygeos.readthedocs.io

            version versionsuffix toolchain 0.7.1 -Python-3.7.4 foss/2019b 0.8 -Python-3.8.2 foss/2020a 0.10.2 intel/2020b 0.14 gfbf/2022b"},{"location":"version-specific/supported-software/#pygimli","title":"pyGIMLi","text":"

            pyGIMLi is an open-source multi-method library for solving inverse and forward tasks related to geophysical problems. Written in C++ and Python, it offers both efficiency and flexibility allowing you to quickly build your own robust inversion applications for the geophysical problem at hand.

            homepage: http://www.pygimli.org/

            version versionsuffix toolchain 20160803 -Python-2.7.11 foss/2016a 20160803 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#pygments","title":"Pygments","text":"

            Generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code.

            homepage: https://pygments.org/

            version versionsuffix toolchain 2.1.3 -Python-2.7.11 foss/2016a 2.1.3 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#pygmo","title":"pygmo","text":"

            pygmo is a scientific Python library for massively parallel optimization.

            homepage: https://esa.github.io/pygmo2

            version toolchain 2.16.1 foss/2020b 2.18.0 foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pygobject","title":"PyGObject","text":"

            PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more.

            homepage: https://pygobject.readthedocs.io/

            version versionsuffix toolchain 2.28.6 -Python-2.7.11 intel/2016a 2.28.6 -Python-2.7.14 intel/2017b 2.28.7 -Python-2.7.14 intel/2018a 2.28.7 -Python-2.7.15 foss/2018b 3.34.0 -Python-2.7.16 GCCcore/8.3.0 3.34.0 -Python-3.7.2 GCCcore/8.2.0 3.34.0 -Python-3.7.4 GCCcore/8.3.0 3.42.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pygraphviz","title":"pygraphviz","text":"

            PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz graph data structure and layout algorithms.

            homepage: https://pygraphviz.github.io/

            version toolchain 1.5 foss/2019b 1.7 foss/2020b, foss/2021a 1.10 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pygrib","title":"pygrib","text":"

            Python interface for reading and writing GRIB data

            homepage: https://jswhit.github.io/pygrib

            version toolchain 2.0.4 foss/2019a"},{"location":"version-specific/supported-software/#pygtk","title":"PyGTK","text":"

            PyGTK lets you to easily create programs with a graphical user interface using the Python programming language.

            homepage: http://www.pygtk.org/

            version versionsuffix toolchain 2.24.0 -Python-2.7.11 intel/2016a 2.24.0 -Python-2.7.14 intel/2017b, intel/2018a 2.24.0 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#pygts","title":"PyGTS","text":"

            PyGTS is a python package used to construct, manipulate, and perform computations on triangulated surfaces. It is a hand-crafted and pythonic binding for the GNU Triangulated Surface (GTS) Library.

            homepage: https://sourceforge.net/projects/pygts/

            version versionsuffix toolchain 0.3.1 -Python-2.7.11 foss/2016a, intel/2016a 0.3.1 -Python-2.7.12 foss/2016b, intel/2016b 0.3.1 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#pygwas","title":"PyGWAS","text":"

            PyGWAS is a library for running Genome Wide Association studies.

            homepage: https://github.com/timeu/pygwas

            version versionsuffix toolchain 1.2.0 -Python-2.7.11 foss/2016a 1.3.1 -Python-2.7.11 foss/2016a 1.4.0 -Python-2.7.11 foss/2016a 1.5.0 -Python-2.7.11 foss/2016a 1.6.1 -Python-2.7.11 foss/2016a, intel/2016a 1.7.1 -Python-2.7.13 foss/2017a"},{"location":"version-specific/supported-software/#pyhdf","title":"pyhdf","text":"

            Python wrapper around the NCSA HDF version 4 library

            homepage: https://github.com/fhs/pyhdf

            version toolchain 0.10.1 foss/2019a"},{"location":"version-specific/supported-software/#pyimagej","title":"PyImageJ","text":"

            PyImageJ provides a set of wrapper functions for integration between ImageJ2 and Python. It also supports the original ImageJ API and data structures. A major advantage of this approach is the ability to combine ImageJ and ImageJ2 with other tools available from the Python software ecosystem, including NumPy, SciPy, scikit-image, CellProfiler, OpenCV, ITK and many more.

            homepage: https://pyimagej.readthedocs.io/

            version toolchain 1.3.1 foss/2021a"},{"location":"version-specific/supported-software/#pyiron","title":"pyiron","text":"

            An integrated development environment (IDE) for computational materials science.

            homepage: https://github.com/pyiron/pyiron

            version versionsuffix toolchain 0.2.5 -Python-3.7.2 intel/2019a 0.3.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#pyke3","title":"Pyke3","text":"

            Pyke introduces a form of Logic Programming (inspired by Prolog) to the Python community by providing a knowledge-based inference engine (expert system) written in 100% Python.

            homepage: http://sourceforge.net/projects/pyke/

            version versionsuffix toolchain 1.1.1 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#pylift","title":"pylift","text":"

            pylift is an uplift library that provides, primarily: (1) Fast uplift modeling implementations and (2) Evaluation tools (UpliftEval class).

            homepage: https://github.com/df-foundation/pylift

            version versionsuffix toolchain 0.1.5 -Python-3.7.4 foss/2019b 0.1.5 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#pylint","title":"Pylint","text":"

            Pylint is a tool that checks for errors in Python code, tries to enforce a coding standard and looks for code smells. It can also look for certain type errors, it can recommend suggestions about how particular blocks can be refactored and can offer you details about the code's complexity.

            homepage: https://www.pylint.org/

            version versionsuffix toolchain 1.9.3 -Python-2.7.15 foss/2018b, intel/2018b, iomkl/2018b 1.9.5 -Python-2.7.15 GCCcore/8.2.0 1.9.5 -Python-2.7.16 GCCcore/8.3.0 2.7.4 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pymannkendall","title":"pyMannKendall","text":"

            A python package for non parametric Mann Kendall family of trend tests.

            homepage: https://github.com/mmhs013/pymannkendall

            version toolchain 1.4.3 foss/2022a"},{"location":"version-specific/supported-software/#pymatgen","title":"pymatgen","text":"

            Python Materials Genomics is a robust materials analysis code that defines core object representations for structures and molecules with support for many electronic structure codes.

            homepage: https://pypi.python.org/pypi/pymatgen

            version versionsuffix toolchain 3.5.0 -Python-2.7.11 intel/2016.02-GCC-4.9 4.1.1 -Python-2.7.12 intel/2016b 4.3.2 -Python-2.7.12 intel/2016b 4.7.3 -Python-2.7.13 intel/2017a 2017.10.16 -Python-2.7.14 intel/2017b 2017.10.16 -Python-3.6.3 intel/2017b 2022.0.4 foss/2020b 2023.3.10 foss/2022a"},{"location":"version-specific/supported-software/#pymatgen-db","title":"pymatgen-db","text":"

            Pymatgen-db is a database add-on for the Python Materials Genomics (pymatgen) materials analysis library.

            homepage: https://pypi.python.org/pypi/pymatgen-db

            version versionsuffix toolchain 0.6.5 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#pymbar","title":"pymbar","text":"

            The pymbar package contains the pymbar suite of tools for the analysis of simulated and experimental data with the multistate Bennett acceptance ratio (MBAR) estimator.

            homepage: http://pymbar.readthedocs.io/en/master/

            version versionsuffix toolchain 3.0.3 -Python-3.6.3 intel/2017b 3.0.3 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#pymc3","title":"PyMC3","text":"

            Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Theano

            homepage: https://docs.pymc.io/

            version versionsuffix toolchain 3.8 -Python-3.7.4 foss/2019b, intel/2019b 3.11.1 foss/2021b, fosscuda/2020b, intel/2020b, intel/2021b"},{"location":"version-specific/supported-software/#pymca","title":"pymca","text":"

            The PyMca X-Ray Fluorescence Toolkit, including PyMca5 and fisx.

            homepage: https://github.com/vasole/pymca

            version versionsuffix toolchain 5.6.3 foss/2020b, fosscuda/2020b 5.6.3 -Python-3.7.4 foss/2019b, fosscuda/2019b 5.7.6 foss/2021b"},{"location":"version-specific/supported-software/#pymemcache","title":"pymemcache","text":"

            A comprehensive, fast, pure-Python memcached client.

            homepage: https://github.com/pinterest/pymemcache

            version versionsuffix toolchain 2.1.1 -Python-3.6.4 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#pymol","title":"PyMOL","text":"

            PyMOL is a Python-enhanced molecular graphics tool. It excels at 3D visualization of proteins, small molecules, density, surfaces, and trajectories. It also includes molecular editing, ray tracing, and movies. Open Source PyMOL is free to everyone!

            homepage: https://github.com/schrodinger/pymol-open-source

            version toolchain 2.5.0 foss/2020b"},{"location":"version-specific/supported-software/#pynast","title":"PyNAST","text":"

            PyNAST is a reimplementation of the NAST sequence aligner, which has become a popular tool for adding new 16s rRNA sequences to existing 16s rRNA alignments. This reimplementation is more flexible, faster, and easier to install and maintain than the original NAST implementation.

            homepage: https://biocore.github.io/pynast

            version versionsuffix toolchain 1.2.2 -Python-2.7.12 foss/2016b, intel/2016b 1.2.2 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#pyobjcryst","title":"pyobjcryst","text":"

            Python bindings to ObjCryst++, the Object-Oriented Crystallographic Library.

            homepage: https://github.com/diffpy/pyobjcryst

            version versionsuffix toolchain 2.1.0.post2 -Python-3.8.2 intel/2020a 2.2.1 foss/2021b"},{"location":"version-specific/supported-software/#pyod","title":"PyOD","text":"

            PyOD is a comprehensive and scalable Python toolkit for detecting outlying objects in multivariate data.

            homepage: https://pyod.readthedocs.io

            version toolchain 0.8.7 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#pyomo","title":"Pyomo","text":"

            Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models.

            homepage: https://www.pyomo.org/

            version versionsuffix toolchain 5.5.0 -Python-2.7.15 foss/2018b 5.5.0 -Python-3.6.6 foss/2018b 6.0.1 foss/2020b, foss/2021a 6.4.2 foss/2022a 6.5.0 foss/2022b"},{"location":"version-specific/supported-software/#pyopencl","title":"PyOpenCL","text":"

            PyOpenCL lets you access GPUs and other massively parallel compute devices from Python.

            homepage: https://mathema.tician.de/software/pyopencl/

            version versionsuffix toolchain 2020.2.2 -Python-3.7.4 fosscuda/2019b 2021.1.2 foss/2020b, fosscuda/2020b, intel/2020b 2021.2.13 foss/2021b 2021.2.13 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#pyopengl","title":"PyOpenGL","text":"

            PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.

            homepage: http://pyopengl.sourceforge.net

            version versionsuffix toolchain 3.1.1a1 GCCcore/8.2.0 3.1.1a1 -Python-2.7.11 intel/2016a 3.1.1a1 -Python-2.7.12 foss/2016b 3.1.1a1 -Python-2.7.14 foss/2018a, intel/2017b 3.1.3b2 -Python-2.7.14 intel/2018a 3.1.3b2 -Python-2.7.15 foss/2018b 3.1.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0 3.1.6 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyparsing","title":"pyparsing","text":"

            The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. The pyparsing module provides a library of classes that client code uses to construct the grammar directly in Python code.

            homepage: https://github.com/pyparsing/pyparsing

            version versionsuffix toolchain 2.4.6 -Python-2.7.16 GCCcore/8.3.0 3.0.9 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyperf","title":"pyperf","text":"

            The Python pyperf module is a toolkit to write, run and analyze benchmarks

            homepage: https://github.com/psf/pyperf

            version toolchain 2.5.0 GCCcore/11.3.0 2.6.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pyplusplus","title":"pyplusplus","text":"

            Py++ is a code generator for Boost.Python that simplifies writing Python bindings of a C/C++ library The tool is implemented as a Python module which is controlled by a user script.

            homepage: https://bitbucket.org/ompl/pyplusplus

            version versionsuffix toolchain 20160707 -Python-2.7.11 foss/2016a 20160707 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#pypmt","title":"pypmt","text":"

            PMT is a high-level software library capable of collecting power consumption measurements on various hardware.

            homepage: https://git.astron.nl/RD/pmt

            version toolchain 1.1.0 foss/2022a"},{"location":"version-specific/supported-software/#pypower","title":"PYPOWER","text":"

            PYPOWER is a power flow and Optimal Power Flow (OPF) solver. It is a port of MATPOWER to the Python programming language.

            homepage: https://github.com/rwl/PYPOWER

            version toolchain 5.1.15 foss/2020b"},{"location":"version-specific/supported-software/#pyproj","title":"pyproj","text":"

            Python interface to PROJ4 library for cartographic transformations

            homepage: https://pyproj4.github.io/pyproj

            version versionsuffix toolchain 2.1.3 GCCcore/8.2.0 2.4.2 -Python-3.7.4 GCCcore/8.3.0 2.6.1.post1 -Python-3.8.2 GCCcore/9.3.0 3.0.1 GCCcore/10.2.0 3.1.0 GCCcore/10.3.0 3.3.1 GCCcore/11.2.0, GCCcore/11.3.0 3.4.0 GCCcore/11.3.0 3.5.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pypsa","title":"PyPSA","text":"

            PyPSA is an open source toolbox for simulating and optimising modern power systems that include features such as conventional generators with unit commitment, variable wind and solar generation, storage units, coupling to other energy sectors, and mixed alternating and direct current networks. PyPSA is designed to scale well with large networks and long time series.

            homepage: https://pypsa.readthedocs.io/

            version toolchain 0.17.1 foss/2020b"},{"location":"version-specific/supported-software/#pyqstem","title":"pyqstem","text":"

            QSTEM is a program for quantitative image simulation in electron microscopy, including TEM, STEM and CBED image simulation. This project interfaces the QSTEM code with Python and the Atomic Simulation Environment (ASE) to provide a single environment for building models, simulating and analysing images.

            homepage: https://github.com/jacobjma/PyQSTEM

            version versionsuffix toolchain 1.0.3 -ASE-3.22.0 foss/2020b, fosscuda/2020b 1.0.3 -Python-3.6.6 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#pyqt","title":"PyQt","text":"

            PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework.

            homepage: http://www.riverbankcomputing.co.uk/software/pyqt

            version versionsuffix toolchain 4.11.4 -Python-2.7.11 intel/2016a 4.11.4 -Python-2.7.12 intel/2016b 4.12 -Python-2.7.12 foss/2016b, intel/2016b 4.12 -Python-2.7.13 intel/2017a 4.12.1 -Python-2.7.14 foss/2018a 4.12.3 -Python-2.7.15 fosscuda/2018b"},{"location":"version-specific/supported-software/#pyqt5","title":"PyQt5","text":"

            PyQt5 is a set of Python bindings for v5 of the Qt application framework from The Qt Company.

            homepage: http://www.riverbankcomputing.co.uk/software/pyqt

            version versionsuffix toolchain 5.7 -Python-2.7.11 foss/2016a 5.7.1 -Python-2.7.12 intel/2016b 5.8.2 -Python-2.7.13 intel/2017a 5.9.2 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 5.9.2 -Python-3.6.4 foss/2018a, intel/2018a 5.11.3 -Python-3.6.6 foss/2018b, intel/2018b 5.12.1 -Python-2.7.15 GCCcore/8.2.0 5.12.1 -Python-3.7.2 GCCcore/8.2.0 5.13.2 -Python-3.7.4 GCCcore/8.3.0 5.15.1 GCCcore/10.2.0 5.15.1 -Python-3.8.2 GCCcore/9.3.0 5.15.4 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 5.15.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyqtgraph","title":"PyQtGraph","text":"

            PyQtGraph is a pure-python graphics and GUI library built on PyQt5/PySide2 and numpy.

            homepage: http://www.pyqtgraph.org/

            version versionsuffix toolchain 0.10.0 -Python-3.6.4 intel/2018a 0.10.0 -Python-3.6.6 foss/2018b, intel/2018b 0.10.0 -Python-3.7.2 intel/2019a 0.11.0 -Python-3.7.4 foss/2019b 0.11.1 foss/2020b, fosscuda/2020b 0.12.3 foss/2021a 0.13.3 foss/2022a"},{"location":"version-specific/supported-software/#pyradiomics","title":"pyradiomics","text":"

            Open-source python package for the extraction of Radiomics features from 2D and 3D images and binary masks.

            homepage: https://pyradiomics.readthedocs.io/

            version versionsuffix toolchain 3.0.1 foss/2021a 3.0.1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pyre","title":"PyRe","text":"

            PyRe (Python Reliability) is a Python module for structural reliability analysis.

            homepage: https://hackl.science/pyre

            version versionsuffix toolchain 5.0.3-20190221 -Python-3.7.4 foss/2019b, intel/2019b"},{"location":"version-specific/supported-software/#pyretis","title":"PyRETIS","text":"

            PyRETIS is a Python library for rare event molecular simulations with emphasis on methods based on transition interface sampling and replica exchange transition interface sampling.

            homepage: http://www.pyretis.org

            version versionsuffix toolchain 2.1.0 -Python-3.6.6 intel/2018b 2.5.0 foss/2020b, intel/2020b 2.5.0 -Python-3.8.2 foss/2020a, intel/2020a"},{"location":"version-specific/supported-software/#pyringe","title":"pyringe","text":"

            Debugger capable of attaching to and injecting code into python processes.

            homepage: https://github.com/google/pyringe

            version versionsuffix toolchain 1.0.2 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#pyro-api","title":"pyro-api","text":"

            Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch.

            homepage: https://github.com/pyro-ppl/pyro-api

            version toolchain 0.1.2 fosscuda/2020b"},{"location":"version-specific/supported-software/#pyro-ppl","title":"pyro-ppl","text":"

            Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch.

            homepage: https://github.com/pyro-ppl/pyro

            version toolchain 1.5.2 fosscuda/2020b"},{"location":"version-specific/supported-software/#pyro4","title":"Pyro4","text":"

            Pyro means PYthon Remote Objects. It is a library that enables you to build applications in which objects can talk to eachother over the network, with minimal programming effort.

            homepage: https://pypi.python.org/pypi/Pyro4

            version versionsuffix toolchain 4.47 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#pyrosetta","title":"PyRosetta","text":"

            PyRosetta is an interactive Python-based interface to the powerful Rosetta molecular modeling suite. It enables users to design their own custom molecular modeling algorithms using Rosetta sampling methods and energy functions.

            homepage: https://www.pyrosetta.org/

            version versionsuffix toolchain 4.release-292 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#pysam","title":"Pysam","text":"

            Pysam is a python module for reading and manipulating Samfiles. It's a lightweight wrapper of the samtools C-API. Pysam also includes an interface for tabix.

            homepage: https://github.com/pysam-developers/pysam

            version versionsuffix toolchain 0.8.4 -Python-2.7.12 intel/2016b 0.9.1.4 -Python-2.7.12 foss/2016b 0.10.0 -Python-2.7.12 foss/2016b, intel/2016b 0.12.0.1 -Python-2.7.13 intel/2017a 0.12.0.1 -Python-2.7.14 intel/2017b 0.12.0.1 -Python-3.6.3 intel/2017b 0.13 -Python-2.7.14 intel/2017b 0.13.0 -Python-3.6.3 intel/2017b 0.14 -Python-2.7.14 foss/2017b, intel/2017b 0.14 -Python-3.6.3 foss/2017b, intel/2017b 0.14 -Python-3.6.4 intel/2018a 0.14.1 -Python-2.7.14 foss/2018a, intel/2018a 0.14.1 -Python-3.6.4 foss/2018a, intel/2018a 0.15.1 -Python-2.7.15 foss/2018b, intel/2018b 0.15.1 -Python-3.6.6 foss/2018b, intel/2018b 0.15.2 GCC/8.2.0-2.31.1, iccifort/2019.1.144-GCC-8.2.0-2.31.1 0.15.3 GCC/8.3.0, iccifort/2019.5.281 0.16.0.1 GCC/10.2.0, GCC/10.3.0, GCC/8.3.0, GCC/9.3.0, iccifort/2020.1.217, iccifort/2020.4.304 0.16.0.1 -Python-2.7.18 GCC/10.2.0 0.17.0 GCC/11.2.0 0.18.0 GCC/11.2.0 0.19.1 GCC/11.3.0 0.20.0 GCC/11.3.0 0.21.0 GCC/12.2.0"},{"location":"version-specific/supported-software/#pysamstats","title":"pysamstats","text":"

            A Python utility for calculating statistics against genome positions based on sequence alignments from a SAM or BAM file.

            homepage: https://github.com/alimanfoo/pysamstats

            version toolchain 1.1.2 foss/2020b"},{"location":"version-specific/supported-software/#pysat","title":"PySAT","text":"

            PySAT is a Python toolkit, which aims at providing a simple and unified interface to a number of state-of-art Boolean satisfiability (SAT) solvers as well as to a variety of cardinality and pseudo-Boolean encodings.

            homepage: https://pysathq.github.io/

            version versionsuffix toolchain 0.1.6.dev11 -Python-3.8.2 GCC/9.3.0 0.1.7.dev1 GCC/10.2.0"},{"location":"version-specific/supported-software/#pyscaf","title":"pyScaf","text":"

            pyScaf orders contigs from genome assemblies utilising several types of information

            homepage: https://github.com/lpryszcz/pyScaf

            version versionsuffix toolchain 0.12a4 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pyscenic","title":"pySCENIC","text":"

            pySCENIC is a lightning-fast python implementation of the SCENIC pipeline (Single-Cell rEgulatory Network Inference and Clustering) which enables biologists to infer transcription factors, gene regulatory networks and cell types from single-cell RNA-seq data.

            homepage: https://github.com/aertslab/pySCENIC

            version versionsuffix toolchain 0.10.3 -Python-3.8.2 foss/2020a, intel/2020a 0.12.1 foss/2022a"},{"location":"version-specific/supported-software/#pyscf","title":"PySCF","text":"

            PySCF is an open-source collection of electronic structure modules powered by Python.

            homepage: http://www.pyscf.org

            version versionsuffix toolchain 1.6.3 -Python-3.7.2 foss/2019a 1.7.6 foss/2020b, foss/2021a, gomkl/2021a 2.1.1 foss/2022a"},{"location":"version-specific/supported-software/#pysheds","title":"pysheds","text":"

            Simple and fast watershed delineation in python.

            homepage: https://mattbartos.com/pysheds/

            version toolchain 0.2.7.1 foss/2020b"},{"location":"version-specific/supported-software/#pyshp","title":"pyshp","text":"

            Pure Python read/write support for ESRI Shapefile format

            homepage: https://github.com/GeospatialPython/pyshp

            version versionsuffix toolchain 1.2.12 -Python-3.6.2 foss/2017b 2.1.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pyside2","title":"PySide2","text":"

            PySide2 is the official Python module from the Qt for Python project, which provides access to the complete Qt 5.12+ framework.

            homepage: https://pypi.python.org/pypi/PySide2

            version toolchain 5.14.2.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pyslim","title":"pyslim","text":"

            A Python API for reading and modifying tskit tree sequence files produced by SLiM, or modifying files produced by other programs (e.g., msprime, fwdpy11, and tsinfer) for use in SLiM.

            homepage: https://tskit.dev/pyslim/docs/stable/introduction.html

            version toolchain 1.0.1 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pysndfx","title":"pysndfx","text":"

            A lightweight Python wrapper for SoX - Sound eXchange. Supported effects range from EQ and compression to phasers, reverb and pitch shifters.

            homepage: https://github.com/carlthome/python-audio-effects

            version versionsuffix toolchain 0.3.6 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pysolar","title":"Pysolar","text":"

            Pysolar is a collection of Python libraries for simulating the irradiation of any point on earth by the sun.

            homepage: https://pysolar.org/

            version versionsuffix toolchain 0.7 -Python-3.6.3 intel/2017b 0.7 -Python-3.6.4 intel/2018a 0.8 -Python-3.6.6 intel/2018b 0.8 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#pyspoa","title":"pyspoa","text":"

            Python bindings to spoa.

            homepage: https://github.com/nanoporetech/pyspoa

            version versionsuffix toolchain 0.0.4 -Python-3.7.4 GCC/8.3.0 0.0.8 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0 0.0.9 GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#pysqlite","title":"pysqlite","text":"

            pysqlite is an interface to the SQLite 3.x embedded relational database engine. It is almost fully compliant with the Python database API version 2.0 also exposes the unique features of SQLite.

            homepage: https://pypi.python.org/pypi/pysqlite

            version versionsuffix toolchain 2.8.2 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#pystan","title":"PyStan","text":"

            Python interface to Stan, a package for Bayesian inference using the No-U-Turn sampler, a variant of Hamiltonian Monte Carlo.

            homepage: https://github.com/stan-dev/pystan

            version versionsuffix toolchain 2.19.0.0 -Python-3.6.4 intel/2018a 2.19.1.1 foss/2020b, intel/2020b 3.5.0 foss/2021b"},{"location":"version-specific/supported-software/#pysteps","title":"pysteps","text":"

            Pysteps is an open-source and community-driven Python library for probabilistic precipitation nowcasting, i.e. short-term ensemble prediction systems.

            homepage: https://pysteps.github.io/

            version toolchain 1.7.1 foss/2022a"},{"location":"version-specific/supported-software/#pystran","title":"pystran","text":"

            Toolset of dynamical model STRucture ANalysis algorithms

            homepage: https://stijnvanhoey.github.io/pystran/

            version versionsuffix toolchain 2017.04.20 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pytables","title":"PyTables","text":"

            PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. PyTables is built on top of the HDF5 library, using the Python language and the NumPy package. It features an object-oriented interface that, combined with C extensions for the performance-critical parts of the code (generated using Cython), makes it a fast, yet extremely easy to use tool for interactively browsing, processing and searching very large amounts of data. One important feature of PyTables is that it optimizes memory and disk resources so that data takes much less space (specially if on-flight compression is used) than other solutions such as relational or object oriented databases.

            homepage: https://www.pytables.org

            version versionsuffix toolchain 3.2.2 -Python-2.7.12 foss/2016b 3.2.3.1 -Python-2.7.12 intel/2016b 3.3.0 -Python-2.7.12 foss/2016b, intel/2016b 3.3.0 -Python-3.5.2 intel/2016b 3.4.2 -Python-2.7.13 foss/2017a 3.4.2 -Python-3.6.1 intel/2017a 3.4.2 -Python-3.6.3 intel/2017b 3.4.2 -Python-3.6.4 foss/2018a, intel/2018a 3.4.4 -Python-2.7.15 foss/2018b 3.4.4 -Python-3.5.1 foss/2016a 3.4.4 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 3.5.2 intel/2019a 3.5.2 -Python-2.7.14 intel/2018a 3.5.2 -Python-2.7.16 intel/2019b 3.5.2 -Python-2.7.18 foss/2020b 3.6.1 foss/2020b, foss/2021a, foss/2021b, fosscuda/2020b, intel/2020b 3.6.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 3.6.1 -Python-3.8.2 foss/2020a, intel/2020a 3.8.0 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#pytesseract","title":"pytesseract","text":"

            Python-tesseract is an optical character recognition (OCR) tool for python. That is, it will recognize and \"read\" the text embedded in images. Python-tesseract is a wrapper for Google's Tesseract-OCR Engine. It is also useful as a stand-alone invocation script to tesseract, as it can read all image types supported by the Pillow and Leptonica imaging libraries, including jpeg, png, gif, bmp, tiff, and others. Additionally, if used as a script, Python-tesseract will print the recognized text instead of writing it to a file.

            homepage: https://github.com/madmaze/pytesseract

            version toolchain 0.3.10 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest","title":"pytest","text":"

            The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.

            homepage: https://docs.pytest.org/en/latest/

            version versionsuffix toolchain 3.0.1 -Python-2.7.11 foss/2016a 3.0.1 -Python-3.5.1 foss/2016a 3.8.0 -Python-3.6.4 foss/2018a, intel/2018a 3.8.2 -Python-2.7.14 foss/2017b, intel/2017b 3.8.2 -Python-2.7.15 intel/2018b 3.8.2 -Python-3.6.3 foss/2017b, intel/2017b 3.8.2 -Python-3.6.6 foss/2018b, intel/2018b 4.3.0 -Python-3.6.6 foss/2018b, intel/2018b 4.4.0 -Python-2.7.15 foss/2018b, intel/2018b 4.4.0 -Python-3.6.6 foss/2018b, intel/2018b 6.0.1 -Python-3.7.4 GCCcore/8.3.0 7.1.3 GCCcore/11.2.0 7.2.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#pytest-benchmark","title":"pytest-benchmark","text":"

            A pytest fixture for benchmarking code.

            homepage: https://github.com/ionelmc/pytest-benchmark

            version toolchain 3.4.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pytest-cpp","title":"pytest-cpp","text":"

            Use pytest runner to discover and execute C++ tests.

            homepage: http://github.com/pytest-dev/pytest-cpp

            version toolchain 2.3.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest-flakefinder","title":"pytest-flakefinder","text":"

            Runs tests multiple times to expose flakiness.

            homepage: https://github.com/dropbox/pytest-flakefinder

            version toolchain 1.1.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest-rerunfailures","title":"pytest-rerunfailures","text":"

            pytest plugin to re-run tests to eliminate flaky failures.

            homepage: https://github.com/pytest-dev/pytest-rerunfailures

            version toolchain 11.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest-shard","title":"pytest-shard","text":"

            pytest plugin to support parallelism across multiple machines. Shards tests based on a hash of their test name enabling easy parallelism across machines, suitable for a wide variety of continuous integration services. Tests are split at the finest level of granularity, individual test cases, enabling parallelism even if all of your tests are in a single file (or even single parameterized test method).

            homepage: https://github.com/AdamGleave/pytest-shard

            version toolchain 0.1.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest-xdist","title":"pytest-xdist","text":"

            xdist: pytest distributed testing plugin The pytest-xdist plugin extends pytest with some unique test execution modes: * test run parallelization: if you have multiple CPUs or hosts you can use those for a combined test run. This allows to speed up development or to use special resources of remote machines. * --looponfail: run your tests repeatedly in a subprocess. After each run pytest waits until a file in your project changes and then re-runs the previously failing tests. This is repeated until all tests pass after which again a full run is performed. * Multi-Platform coverage: you can specify different Python interpreters or different platforms and run tests in parallel on all of them. Before running tests remotely, pytest efficiently \u201crsyncs\u201d your program source code to the remote place. All test results are reported back and displayed to your local terminal. You may specify different Python versions and interpreters.

            homepage: https://github.com/pytest-dev/pytest-xdist

            version toolchain 2.1.0 GCCcore/10.2.0 2.3.0 GCCcore/10.2.0, GCCcore/10.3.0 2.5.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pythia","title":"PYTHIA","text":"

            PYTHIA is a program for the generation of high-energy physics collision events, i.e. for the description of collisions at high energies between electrons, protons, photons and heavy nuclei. It contains theory and models for a number of physics aspects, including hard and soft interactions, parton distributions, initial- and final-state parton showers, multiparton interactions, fragmentation and decay. It is largely based on original research, but also borrows many formulae and other knowledge from the literature. As such it is categorized as a general purpose Monte Carlo event generator.

            homepage: https://www.pythia.org

            version versionsuffix toolchain 8.226 -Python-2.7.13 intel/2017a 8.309 foss/2022b"},{"location":"version-specific/supported-software/#python","title":"Python","text":"

            Python is a programming language that lets you work more quickly and integrate your systems more effectively.

            homepage: https://python.org/

            version versionsuffix toolchain 2.7.9 -bare GCC/4.8.4, GCC/4.9.2 2.7.10 gimkl/2.11.5 2.7.10 -bare GCC/4.9.3-2.25, GNU/4.9.3-2.25 2.7.11 foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 2.7.11 -bare GCC/4.9.3-2.25 2.7.11 -libX11-1.6.3 intel/2016a 2.7.12 foss/2016b, intel/2016b, iomkl/2017a 2.7.12 -bare GCC/5.4.0-2.26, GCCcore/4.9.3, iccifort/2016.3.210-GCC-5.4.0-2.26 2.7.13 foss/2017a, intel/2017a 2.7.13 -bare GCCcore/6.3.0 2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, fosscuda/2018a, intel/2017b, intel/2018.01, intel/2018a, intelcuda/2017b, iomkl/2018a 2.7.14 -bare GCCcore/6.4.0 2.7.15 GCCcore/8.2.0, foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 2.7.15 -bare GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0 2.7.16 GCCcore/8.3.0 2.7.16 -bare GCCcore/8.3.0 2.7.18 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/9.3.0 2.7.18 -bare GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/9.3.0 3.5.1 foss/2016a, intel/2016a 3.5.2 foss/2016.04, foss/2016b, intel/2016b 3.5.2 -bare GCC/5.4.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26 3.6.1 foss/2017a, intel/2017a 3.6.2 foss/2017b, intel/2017b, intel/2018.00 3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intel/2018.01, intelcuda/2017b 3.6.4 foss/2017a, foss/2018a, fosscuda/2018a, golf/2018a, iimkl/2018a, intel/2018a, iomkl/2018.02, iomkl/2018a 3.6.6 foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 3.7.0 foss/2018b, intel/2018b, iomkl/2018b 3.7.2 GCCcore/8.2.0 3.7.4 GCCcore/8.3.0 3.8.2 GCCcore/9.3.0 3.8.6 GCCcore/10.2.0 3.9.5 GCCcore/10.3.0 3.9.5 -bare GCCcore/10.3.0 3.9.6 GCCcore/11.2.0 3.9.6 -bare GCCcore/11.2.0 3.10.4 GCCcore/11.3.0 3.10.4 -bare GCCcore/11.3.0 3.10.8 GCCcore/12.2.0 3.10.8 -bare GCCcore/12.2.0 3.11.2 -bare GCCcore/12.2.0 3.11.3 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#python-bundle","title":"Python-bundle","text":"

            Python distribution with a number of widely used extensions incl. NumPy, SciPy, Matplotlib, JupyterLab, MPI4PY, ...

            homepage: https://easybuild.io/

            version toolchain 3.10.4 foss/2022a"},{"location":"version-specific/supported-software/#python-docx","title":"python-docx","text":"

            python-docx is a Python library for creating and updating Microsoft Word (.docx) files

            homepage: https://python-docx.readthedocs.io/en/latest/

            version toolchain 0.8.11 GCCcore/10.2.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#python-hl7","title":"python-hl7","text":"

            A simple library for parsing messages of Health Level 7 (HL7) version 2.x into Python objects.

            homepage: https://github.com/johnpaulett/python-hl7

            version versionsuffix toolchain 0.3.4 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#python-igraph","title":"python-igraph","text":"

            Python interface to the igraph high performance graph library, primarily aimed at complex network research and analysis.

            homepage: https://igraph.org/python

            version versionsuffix toolchain 0.7.1.post6 -Python-2.7.14 intel/2017b 0.7.1.post6 -Python-3.6.6 foss/2018b 0.8.0 foss/2019b, foss/2020a 0.9.0 foss/2020b, fosscuda/2020b 0.9.6 foss/2021a 0.9.8 foss/2021b 0.10.3 foss/2022a"},{"location":"version-specific/supported-software/#python-irodsclient","title":"python-irodsclient","text":"

            A python API for iRODS

            homepage: https://github.com/irods/python-irodsclient

            version toolchain 1.1.4 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#python-isal","title":"python-isal","text":"

            Faster zlib and gzip compatible compression and decompression by providing python bindings for the isa-l library.

            homepage: https://github.com/pycompression/python-isal

            version toolchain 0.11.0 GCCcore/10.3.0 0.11.1 GCCcore/10.2.0, GCCcore/11.2.0 1.1.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#python-levenshtein","title":"python-Levenshtein","text":"

            Python extension for computing string edit distances and similarities.

            homepage: https://pypi.org/project/python-Levenshtein/

            version versionsuffix toolchain 0.12.0 -Python-3.6.6 foss/2018b 0.12.0 -Python-3.7.4 foss/2019b 0.12.1 foss/2020b"},{"location":"version-specific/supported-software/#python-libsbml","title":"python-libsbml","text":"

            LibSBML Python API.

            homepage: https://sbml.org/

            version toolchain 5.19.7 foss/2021a"},{"location":"version-specific/supported-software/#python-louvain","title":"python-louvain","text":"

            Louvain algorithm for community detection

            homepage: https://pypi.org/project/python-louvain

            version toolchain 0.16 foss/2022a"},{"location":"version-specific/supported-software/#python-mujoco","title":"python-mujoco","text":"

            This package is the canonical Python bindings for the MuJoCo physics engine. The mujoco package provides direct access to raw MuJoCo C API functions, structs, constants, and enumerations. Structs are provided as Python classes, with Pythonic initialization and deletion semantics.

            homepage: https://www.mujoco.org

            version toolchain 2.2.2 foss/2022a"},{"location":"version-specific/supported-software/#python-parasail","title":"python-parasail","text":"

            Python Bindings for the Parasail C Library

            homepage: https://github.com/jeffdaily/parasail-python

            version versionsuffix toolchain 1.1.12 -Python-2.7.14 intel/2018a 1.1.16 -Python-3.6.6 foss/2018b 1.2 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 1.2.2 -Python-3.8.2 intel/2020a 1.2.3 -Python-3.8.2 foss/2020a 1.2.4 foss/2020b, foss/2021a, foss/2021b, fosscuda/2020b 1.3.3 foss/2022a 1.3.4 foss/2022b"},{"location":"version-specific/supported-software/#python-telegram-bot","title":"python-telegram-bot","text":"

            This library provides a pure Python, asynchronous interface for the Telegram Bot API. It's compatible with Python versions 3.7+.

            homepage: https://python-telegram-bot.org/

            version toolchain 20.0a0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#python-weka-wrapper3","title":"python-weka-wrapper3","text":"

            Python3 wrapper for the Weka Machine Learning Workbench

            homepage: https://github.com/fracpete/python-weka-wrapper3

            version versionsuffix toolchain 0.1.11 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#python-xxhash","title":"python-xxhash","text":"

            xxhash is a Python binding for the xxHash library by Yann Collet.

            homepage: https://github.com/ifduyue/python-xxhash

            version toolchain 3.2.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pythran","title":"pythran","text":"

            Pythran is an ahead of time compiler for a subset of the Python language, with a focus on scientific computing. It takes a Python module annotated with a few interface description and turns it into a native Python module with the same interface, but (hopefully) faster.

            homepage: https://pythran.readthedocs.io

            version versionsuffix toolchain 0.9.4.post1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pytorch","title":"PyTorch","text":"

            Tensors and Dynamic neural networks in Python with strong GPU acceleration. PyTorch is a deep learning framework that puts Python first.

            homepage: https://pytorch.org/

            version versionsuffix toolchain 0.3.1 -Python-2.7.14 fosscuda/2017b 0.3.1 -Python-3.6.3 fosscuda/2017b 0.3.1 -Python-3.6.4 intel/2018a 0.3.1 -Python-3.6.4-CUDA-9.1.85 foss/2018a 0.4.1 -Python-3.6.4 intel/2018a 1.0.1 -Python-3.6.6 foss/2018b, fosscuda/2018b 1.1.0 -Python-3.7.2 foss/2019a 1.2.0 -Python-3.7.2 foss/2019a, fosscuda/2019a 1.3.1 fosscuda/2020b 1.3.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.4.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.6.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.6.0 -Python-3.7.4-imkl fosscuda/2019b 1.7.1 foss/2020b, fosscuda/2020b 1.7.1 -Python-3.7.4 fosscuda/2019b 1.7.1 -Python-3.8.2 fosscuda/2020a 1.8.1 foss/2020b, fosscuda/2020b 1.8.1 -Python-3.7.4 fosscuda/2019b 1.9.0 foss/2020b, fosscuda/2020b 1.9.0 -imkl fosscuda/2020b 1.10.0 foss/2021a, fosscuda/2020b 1.10.0 -CUDA-11.3.1 foss/2021a 1.11.0 -CUDA-11.3.1 foss/2021a 1.12.0 foss/2022a 1.12.0 -CUDA-11.7.0 foss/2022a 1.12.1 foss/2021a, foss/2021b, foss/2022a 1.12.1 -CUDA-11.3.1 foss/2021a 1.12.1 -CUDA-11.5.2 foss/2021b 1.12.1 -CUDA-11.7.0 foss/2022a 1.13.1 foss/2022a"},{"location":"version-specific/supported-software/#pytorch-bundle","title":"PyTorch-bundle","text":"

            PyTorch with compatible versions of official Torch extensions.

            homepage: https://pytorch.org/

            version versionsuffix toolchain 1.12.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pytorch-cyclegan-pix2pix","title":"pytorch-CycleGAN-pix2pix","text":"

            PyTorch implementations for both unpaired and paired image-to-image translation.

            homepage: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

            version versionsuffix toolchain 20230314 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pytorch-geometric","title":"PyTorch-Geometric","text":"

            PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch.

            homepage: https://github.com/rusty1s/pytorch_geometric

            version versionsuffix toolchain 1.3.2 -Python-3.7.4 foss/2019b 1.4.2 -Python-3.7.4-PyTorch-1.4.0 foss/2019b 1.6.3 foss/2020b, fosscuda/2020b 1.6.3 -Python-3.7.4-PyTorch-1.8.1 fosscuda/2019b 2.0.1 -PyTorch-1.9.0 fosscuda/2020b 2.1.0 -PyTorch-1.12.0-CUDA-11.7.0 foss/2022a 2.1.0 -PyTorch-1.12.1-CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#pytorch-ignite","title":"PyTorch-Ignite","text":"

            Ignite is a high-level library to help with training and evaluating neural networks in PyTorch flexibly and transparently.

            homepage: https://pytorch-ignite.ai/

            version versionsuffix toolchain 0.4.9 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#pytorch-image-models","title":"PyTorch-Image-Models","text":"

            PyTorch Image Models (timm) is a collection of image models, layers, utilities, optimizers, schedulers, data-loaders / augmentations, and reference training / validation scripts that aim to pull together a wide variety of SOTA models with ability to reproduce ImageNet training results.

            homepage: https://huggingface.co/docs/timm

            version versionsuffix toolchain 0.9.2 foss/2022a 0.9.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pytorch-lightning","title":"PyTorch-Lightning","text":"

            PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers.

            homepage: https://pytorchlightning.ai

            version versionsuffix toolchain 1.5.9 foss/2021a 1.5.9 -CUDA-11.3.1 foss/2021a 1.7.7 foss/2022a 1.7.7 -CUDA-11.7.0 foss/2022a 1.8.4 foss/2022a 1.8.4 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pytorch3d","title":"PyTorch3D","text":"

            PyTorch3D is FAIR's library of reusable components for deep learning with 3D data.

            homepage: https://pytorch3d.org/

            version versionsuffix toolchain 0.4.0 -PyTorch-1.7.1 fosscuda/2020b"},{"location":"version-specific/supported-software/#pyvcf","title":"PyVCF","text":"

            A Variant Call Format reader for Python.

            homepage: https://github.com/jamescasbon/PyVCF

            version versionsuffix toolchain 0.6.8 -Python-2.7.16 GCC/8.3.0"},{"location":"version-specific/supported-software/#pyvcf3","title":"PyVCF3","text":"

            A VCFv4.0 and 4.1 parser for Python. The intent of this module is to mimic the csv module in the Python stdlib, as opposed to more flexible serialization formats like JSON or YAML. vcf will attempt to parse the content of each record based on the data types specified in the meta-information lines -- specifically the ##INFO and ##FORMAT lines. If these lines are missing or incomplete, it will check against the reserved types mentioned in the spec. Failing that, it will just return strings. PyVCF3 has been created because the Official PyVCF repository is no longer maintained and do not accept any pull requests. This fork is for python 3 only and has been published on pyPI as PyVCF3.

            homepage: https://github.com/dridk/PyVCF3

            version toolchain 1.0.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pywannier90","title":"pyWannier90","text":"

            A Wannier90 Python interface for VASP and PySCF

            homepage: https://github.com/hungpham2017/pyWannier90

            version toolchain 2021-12-07 foss/2021a, gomkl/2021a"},{"location":"version-specific/supported-software/#pywavelets","title":"PyWavelets","text":"

            PyWavelets is open source wavelet transform software for Python.

            homepage: https://pywavelets.readthedocs.io

            version versionsuffix toolchain 1.1.1 intelcuda/2020b 1.1.1 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#pywbgt","title":"PyWBGT","text":"

            Cython source code for estimating wet bulb globe temperature (WBGT) from datasets of standard meterological measurements using models developed by Liljegren et al (2008)

            homepage: https://github.com/QINQINKONG/PyWBGT

            version toolchain 1.0.0 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pyyaml","title":"PyYAML","text":"

            PyYAML is a YAML parser and emitter for the Python programming language.

            homepage: https://github.com/yaml/pyyaml

            version versionsuffix toolchain 3.11 -Python-2.7.11 intel/2016a 3.12 system 3.12 -Python-2.7.12 foss/2016b, intel/2016b 3.12 -Python-2.7.13 intel/2017a 3.12 -Python-2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, intel/2017b, intel/2018a 3.12 -Python-3.5.2 intel/2016b 3.12 -Python-3.6.1 intel/2017a 3.12 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b 3.12 -Python-3.6.4 foss/2018a, intel/2018a 3.13 system 3.13 -Python-2.7.15 fosscuda/2018b, intel/2018b 3.13 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 5.1 GCCcore/8.2.0 5.1.2 GCCcore/8.3.0 5.3 GCCcore/9.3.0 5.3.1 GCCcore/10.2.0 5.4.1 GCCcore/10.3.0, GCCcore/11.2.0 6.0 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pyzmq","title":"PyZMQ","text":"

            Python bindings for ZeroMQ

            homepage: https://www.zeromq.org/bindings:python

            version versionsuffix toolchain 15.2.0 -Python-2.7.11-zmq4 foss/2016a, intel/2016a 15.2.0 -Python-3.5.1-zmq4 intel/2016a 15.3.0 -Python-2.7.11-zmq4 foss/2016a 15.3.0 -Python-3.5.1-zmq4 foss/2016a 15.4.0 -Python-2.7.12-zmq4 intel/2016b 15.4.0 -Python-3.5.2-zmq4 intel/2016b 16.0.2 -Python-2.7.12-zmq4 foss/2016b, intel/2016b 16.0.2 -Python-2.7.13-zmq4 foss/2017a, intel/2017a 16.0.2 -Python-3.5.2-zmq4 foss/2016b, intel/2016b 16.0.3 -Python-2.7.14-zmq4 intel/2017b 17.0.0 -Python-2.7.14-zmq4 foss/2018a 17.0.0 -Python-3.6.4-zmq4 foss/2018a 18.1.1 -Python-3.7.4 GCCcore/8.3.0 22.3.0 GCCcore/10.3.0 24.0.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#q","title":"Q","text":"

            Q6 - QCA - qcat - QCG-PilotJob - qcint - QCxMS - QD - QDD - QEMU - QGIS - Qhull - QIIME - QIIME2 - Qiskit - QJson - QML - qnorm - qpth - qrupdate - QScintilla - Qt - Qt5 - Qt5Webkit - Qtconsole - QtKeychain - QTLtools - qtop - QtPy - Qualimap - Quandl - QuantumESPRESSO - QUAST - QuaZIP - QuickFF - QuickPIC - Quip - Quorum - QuTiP - Qwt - QwtPolar

            "},{"location":"version-specific/supported-software/#q6","title":"Q6","text":"

            EVB, FEP and LIE simulator.

            homepage: https://github.com/qusers/Q6

            version toolchain 20180205 gompi/2019a"},{"location":"version-specific/supported-software/#qca","title":"QCA","text":"

            Taking a hint from the similarly-named Java Cryptography Architecture, QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions. QCA separates the API from the implementation, using plugins known as Providers. The advantage of this model is to allow applications to avoid linking to or explicitly depending on any particular cryptographic library. This allows one to easily change or upgrade crypto implementations without even needing to recompile the application! QCA should work everywhere Qt does, including Windows/Unix/MacOSX.

            homepage: https://userbase.kde.org/QCA

            version toolchain 2.1.0 foss/2016a, intel/2016b 2.1.3 GCCcore/8.2.0, foss/2016b, intel/2016b 2.3.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#qcat","title":"qcat","text":"

            qcat is a Python command-line tool for demultiplexing Oxford Nanopore reads from FASTQ files

            homepage: https://github.com/nanoporetech/qcat/releases

            version versionsuffix toolchain 1.1.0 foss/2022b 1.1.0 -Python-3.7.4 foss/2019b, intel/2019b 1.1.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#qcg-pilotjob","title":"QCG-PilotJob","text":"

            A python service for easy execution of many tasks inside a single allocation.

            homepage: https://qcg-pilotjob.readthedocs.org

            version toolchain 0.12.3 foss/2021a 0.13.1 foss/2022a"},{"location":"version-specific/supported-software/#qcint","title":"qcint","text":"

            libcint is an open source library for analytical Gaussian integrals. qcint is an optimized libcint branch for the x86-64 platform.

            homepage: http://wiki.sunqm.net/libcint

            version toolchain 3.0.18 foss/2019a"},{"location":"version-specific/supported-software/#qcxms","title":"QCxMS","text":"

            QCxMS is a quantum chemical based program to calculate electron ionization (EI) and collision induced dissociation (CID) mass spectra using Born-Oppenheimer Molecular Dynamics (BO-MD). It is the successor of the QCEIMS program, in which the EI part is exchanged to x to account for the greater general applicibility of the program.

            homepage: https://xtb-docs.readthedocs.io/en/latest/qcxms_doc/qcxms.html

            version toolchain 5.0.3 system"},{"location":"version-specific/supported-software/#qd","title":"QD","text":"

            Quad Double computation package

            homepage: https://github.com/scibuilder/QD

            version versionsuffix toolchain 0.8.9 foss/2021a 2.3.17 -20160110 NVHPC/21.2"},{"location":"version-specific/supported-software/#qdd","title":"QDD","text":"

            A user-friendly program to select microsatellite markers and design primers from large sequencing projects.

            homepage: http://net.imbe.fr/~emeglecz/qdd.html

            version versionsuffix toolchain 3.1.2 -Perl-5.28.0 intel/2018b"},{"location":"version-specific/supported-software/#qemu","title":"QEMU","text":"

            QEMU is a generic and open source machine emulator and virtualizer.

            homepage: https://www.qemu.org/

            version toolchain 2.10.1 intel/2017b"},{"location":"version-specific/supported-software/#qgis","title":"QGIS","text":"

            QGIS is a user friendly Open Source Geographic Information System (GIS)

            homepage: http://www.qgis.org/

            version versionsuffix toolchain 2.14.12 -Python-2.7.12 intel/2016b 2.18.4 -Python-2.7.12 foss/2016b 3.4.12 -Python-3.7.2 foss/2019a 3.28.1 foss/2021b"},{"location":"version-specific/supported-software/#qhull","title":"Qhull","text":"

            Qhull computes the convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, furthest-site Delaunay triangulation, and furthest-site Voronoi diagram. The source code runs in 2-d, 3-d, 4-d, and higher dimensions. Qhull implements the Quickhull algorithm for computing the convex hull.

            homepage: http://www.qhull.org

            version toolchain 2015.2 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, foss/2016a, foss/2016b, foss/2017b, intel/2016a, intel/2016b, intel/2017a 2019.1 GCCcore/8.2.0, GCCcore/8.3.0 2020.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#qiime","title":"QIIME","text":"

            QIIME is an open-source bioinformatics pipeline for performing microbiome analysis from raw DNA sequencing data.

            homepage: http://qiime.org/

            version toolchain 1.9.1 system"},{"location":"version-specific/supported-software/#qiime2","title":"QIIME2","text":"

            QIIME is an open-source bioinformatics pipeline for performing microbiome analysis from raw DNA sequencing data.

            homepage: http://qiime2.org/

            version toolchain 2017.10 system 2018.2 system 2019.4 system 2019.7 system 2020.8 system 2020.11 system 2021.8 system 2022.8 system 2022.11 system"},{"location":"version-specific/supported-software/#qiskit","title":"Qiskit","text":"

            Qiskit is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms.

            homepage: https://qiskit.org

            version versionsuffix toolchain 0.11.1 -Python-3.7.2 foss/2019a 0.12.0 -Python-3.7.2 foss/2019a 0.31.0 foss/2021a"},{"location":"version-specific/supported-software/#qjson","title":"QJson","text":"

            QJson is a Qt-based library that maps JSON data to QVariant objects and vice versa.

            homepage: http://qjson.sourceforge.net/

            version toolchain 0.9.0 GCCcore/10.2.0, GCCcore/8.2.0, foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#qml","title":"QML","text":"

            QML is a Python2/3-compatible toolkit for representation learning of properties of molecules and solids.

            homepage: https://www.qmlcode.org

            version versionsuffix toolchain 0.2.10 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#qnorm","title":"qnorm","text":"

            Fast-ish (and correct!) quantile normalization in Python

            homepage: https://github.com/Maarten-vd-Sande/qnorm

            version toolchain 0.8.1 foss/2022a"},{"location":"version-specific/supported-software/#qpth","title":"qpth","text":"

            A fast and differentiable QP solver for PyTorch.

            homepage: https://locuslab.github.io/qpth/

            version versionsuffix toolchain 0.0.13-20190626 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#qrupdate","title":"qrupdate","text":"

            qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.

            homepage: https://sourceforge.net/projects/qrupdate/

            version toolchain 1.1.2 GCC/5.4.0-2.26, GCC/8.2.0-2.31.1, GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.4.0, GCCcore/8.3.0, foss/2016a, foss/2018a, foss/2018b, intel/2016a, intel/2016b, intel/2017a"},{"location":"version-specific/supported-software/#qscintilla","title":"QScintilla","text":"

            QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control

            homepage: https://www.riverbankcomputing.com/software/qscintilla

            version versionsuffix toolchain 2.9.4 -Python-2.7.12 foss/2016b, intel/2016b 2.10 -Python-2.7.12 foss/2016b, intel/2016b 2.11.2 -Python-3.7.2 GCCcore/8.2.0 2.11.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#qt","title":"Qt","text":"

            Qt is a comprehensive cross-platform C++ application framework.

            homepage: http://qt.io/

            version versionsuffix toolchain 3.3.8 intel/2016a 4.8.6 system 4.8.7 GCCcore/8.2.0, foss/2016a, foss/2016b, foss/2017a, foss/2017b, foss/2018a, foss/2018b, fosscuda/2018b, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a 4.8.7 -GLib-2.48.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#qt5","title":"Qt5","text":"

            Qt is a comprehensive cross-platform C++ application framework.

            homepage: https://qt.io/

            version toolchain 5.6.0 foss/2016a, intel/2016a 5.7.0 foss/2016a, foss/2016b, intel/2016a, intel/2016b 5.7.1 intel/2016b 5.8.0 foss/2017a, foss/2017b, intel/2016b, intel/2017a, intel/2017b 5.9.3 foss/2017b 5.9.8 fosscuda/2018b 5.10.1 foss/2018a, foss/2018b, fosscuda/2018b, intel/2018a, intel/2018b 5.11.2 foss/2018b 5.12.3 GCCcore/8.2.0 5.13.1 GCCcore/8.3.0 5.14.1 GCCcore/9.3.0 5.14.2 GCCcore/10.2.0 5.15.2 GCCcore/10.3.0, GCCcore/11.2.0 5.15.5 GCCcore/11.3.0 5.15.7 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#qt5webkit","title":"Qt5Webkit","text":"

            Qt Port of WebKit. WebKit is an open source web browser engine.

            homepage: https://github.com/qt/qtwebkit

            version toolchain 5.212.0-alpha3 GCCcore/8.2.0 5.212.0-alpha4 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#qtconsole","title":"Qtconsole","text":"

            A rich Qt-based console for working with Jupyter kernels, supporting rich media output, session export, and more. The Qtconsole is a very lightweight application that largely feels like a terminal, but provides a number of enhancements only possible in a GUI, such as inline figures, proper multiline editing with syntax highlighting, graphical calltips, and more.

            homepage: https://jupyter.org/

            version versionsuffix toolchain 4.7.7 -Python-3.7.4 foss/2019b, fosscuda/2019b 5.0.2 GCCcore/10.2.0 5.3.2 GCCcore/11.2.0 5.4.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#qtkeychain","title":"QtKeychain","text":"

            Platform-independent Qt API for storing passwords securely.

            homepage: https://github.com/frankosterfeld/qtkeychain

            version toolchain 0.9.1 GCCcore/8.2.0, foss/2018b 0.13.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#qtltools","title":"QTLtools","text":"

            QTLtools is a tool set for molecular QTL discovery and analysis. It allows to go from the raw sequence data to collection of molecular Quantitative Trait Loci (QTLs) in few easy-to-perform steps.

            homepage: https://qtltools.github.io/qtltools/

            version toolchain 1.1 intel/2016b 1.3.1 foss/2020b"},{"location":"version-specific/supported-software/#qtop","title":"qtop","text":"

            qtop is a nifty command-line tool for monitoring queueing systems, esp. PBS/torque. It tries to fit as much information as possible in your screen's real estate, by stitching together the output of commands like pbsnodes -a, qstat & qstat -q. It is possible to write wrappers for other platforms -people have done so for SGE, OAR etc- or, even examine traces offline and present the sampled information.

            homepage: http://cern.ch/fotis/QTOP/

            version versionsuffix toolchain 53 -1 system"},{"location":"version-specific/supported-software/#qtpy","title":"QtPy","text":"

            QtPy is a small abstraction layer that lets you write applications using a single API call to either PyQt or PySide. It provides support for PyQt5, PyQt4, PySide2 and PySide.

            homepage: https://github.com/spyder-ide/qtpy

            version versionsuffix toolchain 1.9.0 GCCcore/10.2.0 1.9.0 -Python-3.7.4 GCCcore/8.3.0 2.2.1 GCCcore/11.2.0 2.3.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#qualimap","title":"Qualimap","text":"

            Qualimap 2 is a platform-independent application written in Java and R that provides both a Graphical User Inteface (GUI) and a command-line interface to facilitate the quality control of alignment sequencing data and its derivatives like feature counts.

            homepage: http://qualimap.bioinfo.cipf.es/

            version versionsuffix toolchain 2.2.1 -R-3.6.0 foss/2019a 2.2.1 -R-4.0.3 foss/2020b 2.2.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#quandl","title":"Quandl","text":"

            A Python library for Quandl\u2019s RESTful API.

            homepage: https://pypi.python.org/pypi/Quandl

            version versionsuffix toolchain 3.4.2 -Python-3.6.4 intel/2018a 3.4.8 foss/2019a 3.6.1 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#quantumespresso","title":"QuantumESPRESSO","text":"

            Quantum ESPRESSO is an integrated suite of computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials (both norm-conserving and ultrasoft).

            homepage: https://www.quantum-espresso.org

            version versionsuffix toolchain 5.3.0 intel/2016.02-GCC-4.9 5.4.0 intel/2016.02-GCC-4.9 5.4.0 -hybrid foss/2016b 6.0 intel/2016b 6.1 intel/2017a 6.2 intel/2017b 6.2.1 iomkl/2017b 6.3 foss/2018b, intel/2018b 6.4.1 intel/2019a 6.5 intel/2019a, intel/2019b 6.6 foss/2019b, foss/2020a, foss/2020b, intel/2019b, intel/2020a 6.7 foss/2019b, foss/2020b, foss/2021a, intel/2019b, intel/2021a, iomkl/2019b 6.8 foss/2021a, foss/2021b, intel/2021a 7.0 foss/2021b, intel/2021b 7.1 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#quast","title":"QUAST","text":"

            QUAST evaluates genome assemblies by computing various metrics. It works both with and without reference genomes. The tool accepts multiple assemblies, thus is suitable for comparison.

            homepage: https://github.com/ablab/quast

            version versionsuffix toolchain 4.6.0 -Python-3.5.2 foss/2016b 4.6.3 -Python-3.6.4 foss/2018a 5.0.2 foss/2020b, foss/2021a, foss/2021b 5.0.2 -Python-2.7.15 foss/2018b, foss/2019a 5.0.2 -Python-2.7.18 foss/2020b 5.0.2 -Python-3.7.2 foss/2019a 5.0.2 -Python-3.8.2 foss/2020a 5.2.0 foss/2022a"},{"location":"version-specific/supported-software/#quazip","title":"QuaZIP","text":"

            QuaZIP is the C++ wrapper for Gilles Vollant's ZIP/UNZIP package (AKA Minizip) using Trolltech's Qt library.

            homepage: https://stachenov.github.io/quazip

            version toolchain 0.8.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#quickff","title":"QuickFF","text":"

            QuickFF is a Python package developed at the Center for Molecular Modeling (CMM) to quickly derive accurate force fields from ab initio calculations.

            homepage: https://molmod.github.io/QuickFF/

            version versionsuffix toolchain 2.1.4 -Python-2.7.12 intel/2016b 2.2.0 -Python-2.7.14 intel/2017b 2.2.4 -Python-3.7.2 intel/2019a 2.2.4 -Python-3.8.2 intel/2020a 2.2.7 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#quickpic","title":"QuickPIC","text":"

            QuickPIC is a 3D parallel (MPI & OpenMP Hybrid) Quasi-Static PIC code, which is developed based on the framework UPIC. QuickPIC can efficiently simulate plasma based accelerator problems. This is the UCLA Plasma Simulation Group's official open-source repository for QuickPIC.

            homepage: https://github.com/UCLA-Plasma-Simulation-Group/QuickPIC-OpenSource

            version toolchain 20210224 gompi/2021b"},{"location":"version-specific/supported-software/#quip","title":"Quip","text":"

            Quip compresses next-generation sequencing data with extreme prejudice. It supports input and output in the FASTQ and SAM/BAM formats, compressing large datasets to as little as 15% of their original size.

            homepage: http://homes.cs.washington.edu/~dcjones/quip

            version toolchain 1.1.8 GCC/4.8.2"},{"location":"version-specific/supported-software/#quorum","title":"Quorum","text":"

            QuorUM is an error corrector for Illumina reads

            homepage: http://www.genome.umd.edu/quorum.html

            version toolchain 1.1.1 intel/2017a"},{"location":"version-specific/supported-software/#qutip","title":"QuTiP","text":"

            QuTiP is open-source software for simulating the dynamics of open quantum systems.

            homepage: http://qutip.org

            version versionsuffix toolchain 4.1.0 -Python-2.7.12 intel/2016b 4.3.1 -Python-3.6.6 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#qwt","title":"Qwt","text":"

            The Qwt library contains GUI Components and utility classes which are primarily useful for programs with a technical background.

            homepage: https://qwt.sourceforge.io/

            version toolchain 6.1.2 intel/2016a 6.1.3 foss/2016b, intel/2016b 6.1.4 GCCcore/8.2.0, GCCcore/8.3.0, foss/2018b 6.1.5 GCCcore/10.2.0, GCCcore/9.3.0 6.2.0 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#qwtpolar","title":"QwtPolar","text":"

            The QwtPolar library contains classes for displaying values on a polar coordinate system.

            homepage: http://qwtpolar.sourceforge.net/

            version toolchain 1.1.1 GCCcore/10.2.0, GCCcore/8.2.0, foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#r","title":"R","text":"

            R - R-bundle-Bioconductor - R-INLA - R-keras - R-MXM - R-opencv - R-tesseract - R-transport - R2jags - Racon - radeontop - RaGOO - Ragout - RagTag - rampart - randfold - randrproto - rapidcsv - RapidJSON - rapidNJ - rapidtide - RAPSearch2 - Rascaf - RASPA2 - rasterio - rasterstats - Ratatosk - Raven - RAxML - RAxML-NG - Ray-assembler - Ray-project - Raysect - RBFOpt - rclone - Rcorrector - RcppGSL - rCUDA - RDFlib - RDKit - RDP-Classifier - RE2 - re2c - Reads2snp - Reapr - ReaxFF - RECON - Red - Redis - redis-py - Redundans - ReFrame - regionmask - RegTools - Relate - RELION - ReMatCh - REMORA - renderproto - RepastHPC - RepeatMasker - RepeatModeler - RepeatScout - request - requests - RERconverge - resolos - retworkx - RevBayes - rgdal - rgeos - Rgurobi - rhdf5 - RheoTool - rickflow - RInChI - rioxarray - ripunzip - rising - Rivet - rjags - RLCard - rmarkdown - Rmath - rMATS-turbo - RMBlast - RNA-Bloom - RNA-SeQC - RNAclust - RNAcode - RNAIndel - RNAmmer - rnaQUAST - RNAz - RnBeads - Roary - ROCm - rocm-cmake - ROCm-CompilerSupport - rocm-smi - rocminfo - ROCR-Runtime - ROCT-Thunk-Interface - ROI_PAC - ROME - ROOT - root_numpy - rootpy - Rosetta - rpmrebuild - RPostgreSQL - rpy2 - RQGIS3 - RSEM - RSeQC - RStan - rstanarm - RStudio-Server - RTG-Tools - Rtree - ruamel.yaml - Ruby - Ruby-Tk - ruffus - Rust - rustworkx

            "},{"location":"version-specific/supported-software/#r_1","title":"R","text":"

            R is a free software environment for statistical computing and graphics.

            homepage: https://www.r-project.org/

            version versionsuffix toolchain 3.2.3 foss/2016a, foss/2016b, intel/2016a 3.2.3 -bare foss/2016a, intel/2016a 3.2.3 -libX11-1.6.3 intel/2016a 3.3.1 foss/2016a, foss/2016b, intel/2016b 3.3.3 -X11-20160819 foss/2016b, intel/2016b 3.3.3 -X11-20170314 intel/2017a 3.4.0 -X11-20170314 intel/2017a 3.4.1 -X11-20160819 foss/2016b 3.4.3 -X11-20171023 foss/2017b, intel/2017b 3.4.3 -X11-20171023-HDF5-1.8.19 intel/2017b 3.4.4 -X11-20180131 foss/2018a, intel/2018a, iomkl/2018a 3.5.0 -X11-20180131 iomkl/2018a 3.5.1 foss/2018b, intel/2018b 3.5.1 -Python-2.7.15 foss/2018b 3.5.1 -bare foss/2018b 3.6.0 foss/2019a, fosscuda/2019a, intel/2019a 3.6.2 foss/2019b, fosscuda/2019b, intel/2019b 3.6.3 foss/2020a 4.0.0 foss/2020a, fosscuda/2020a 4.0.3 foss/2020b, fosscuda/2020b 4.0.4 foss/2020b, fosscuda/2020b 4.0.5 foss/2020b, fosscuda/2020b 4.1.0 foss/2021a 4.1.2 foss/2021b 4.2.0 foss/2021b 4.2.1 foss/2022a 4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#r-bundle-bioconductor","title":"R-bundle-Bioconductor","text":"

            Bioconductor provides tools for the analysis and coprehension of high-throughput genomic data.

            homepage: https://bioconductor.org

            version versionsuffix toolchain 3.2 -R-3.2.3 foss/2016a, intel/2016a 3.3 -R-3.3.1 intel/2016b 3.5 -R-3.4.0 intel/2017a 3.6 -R-3.4.3 foss/2017b, intel/2017b 3.6 -R-3.4.4 intel/2018a 3.7 -R-3.5.0 iomkl/2018a 3.7 -R-3.5.1 foss/2018b 3.8 -R-3.5.1 foss/2018b 3.9 -R-3.6.0 foss/2019a 3.10 foss/2019b 3.11 -R-4.0.0 foss/2020a 3.12 -R-4.0.3 foss/2020b 3.13 -R-4.1.0 foss/2021a 3.14 -R-4.1.2 foss/2021b 3.15 -R-4.2.0 foss/2021b 3.15 -R-4.2.1 foss/2022a 3.16 -R-4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#r-inla","title":"R-INLA","text":"

            R-INLA is a package in R that do approximate Bayesian inference for Latent Gaussian Models.

            homepage: https://www.r-inla.org

            version versionsuffix toolchain 21.05.02 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#r-keras","title":"R-keras","text":"

            Interface to 'Keras' https://keras.io, a high-level neural networks 'API'.

            homepage: https://cran.r-project.org/web/packages/keras

            version versionsuffix toolchain 2.1.6 -R-3.4.4 foss/2018a 2.2.5.0 -Python-3.7.2-R-3.6.0 foss/2019a, fosscuda/2019a 2.2.5.0 -Python-3.7.4-R-3.6.2 foss/2019b, fosscuda/2019b 2.4.0 -R-4.0.4 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#r-mxm","title":"R-MXM","text":"

            MXM: Feature Selection (Including Multiple Solutions) and Bayesian Networks

            homepage: https://cran.r-project.org/package=MXM

            version toolchain 1.5.5 foss/2021b"},{"location":"version-specific/supported-software/#r-opencv","title":"R-opencv","text":"

            Experimenting with computer vision and machine learning in R. This package exposes some of the available OpenCV algorithms, such as edge, body or face detection. These can either be applied to analyze static images, or to filter live video footage from a camera device.

            homepage: https://cran.r-project.org/web/packages/opencv/

            version versionsuffix toolchain 0.2.0 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#r-tesseract","title":"R-tesseract","text":"

            The R extension for using tesseract

            homepage: https://cran.r-project.org/package=tesseract

            version versionsuffix toolchain 4.0 -R-3.5.1 foss/2018b 5.1.0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#r-transport","title":"R-transport","text":"

            transport: Computation of Optimal Transport Plans and Wasserstein Distances

            homepage: https://cran.r-project.org/package=transport

            version toolchain 0.13-0 foss/2021b"},{"location":"version-specific/supported-software/#r2jags","title":"R2jags","text":"

            Providing wrapper functions to implement Bayesian analysis in JAGS.

            homepage: https://cran.r-project.org/web/packages/R2jags

            version versionsuffix toolchain 0.7-1 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#racon","title":"Racon","text":"

            Ultrafast consensus module for raw de novo genome assembly of long uncorrected reads.

            homepage: https://github.com/lbcb-sci/racon

            version toolchain 1.3.2 GCCcore/8.2.0 1.4.7 GCCcore/8.2.0, gcccuda/2019b 1.4.10 GCC/7.3.0-2.30 1.4.13 GCCcore/8.3.0, GCCcore/9.3.0 1.4.21 GCCcore/10.2.0, GCCcore/10.3.0 1.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#radeontop","title":"radeontop","text":"

            View your GPU utilization, both for the total activity percent and individual blocks.

            homepage: https://github.com/clbr/radeontop

            version toolchain 1.3 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#ragoo","title":"RaGOO","text":"

            A tool to order and orient genome assembly contigs via Minimap2 alignments to a reference genome

            homepage: https://github.com/malonge/RaGOO

            version versionsuffix toolchain 1.11 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#ragout","title":"Ragout","text":"

            Ragout (Reference-Assisted Genome Ordering UTility) is a tool for chromosome-level scaffolding using multiple references. Given initial assembly fragments (contigs/scaffolds) and one or multiple related references (complete or draft), it produces a chromosome-scale assembly (as a set of scaffolds).

            homepage: https://github.com/fenderglass/Ragout

            version versionsuffix toolchain 2.0 -Python-2.7.12 foss/2016b 2.3 foss/2020b"},{"location":"version-specific/supported-software/#ragtag","title":"RagTag","text":"

            RagTag is a collection of software tools for scaffolding and improving modern genome assemblies. Tasks include: homology-based misassembly correction, homology-based assembly scaffolding and patching, and scaffold merging. RagTag also provides command line utilities for working with common genome assembly file formats.

            homepage: https://github.com/malonge/RagTag

            version toolchain 2.0.1 foss/2020b"},{"location":"version-specific/supported-software/#rampart","title":"rampart","text":"

            Read Assignment, Mapping, and Phylogenetic Analysis in Real Time.

            homepage: https://github.com/artic-network/rampart/

            version versionsuffix toolchain 1.2.0 foss/2020b 1.2.0rc3 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#randfold","title":"randfold","text":"

            Minimum free energy of folding randomization test software

            homepage: http://bioinformatics.psb.ugent.be/software/details/Randfold

            version toolchain 2.0.1 foss/2018b, intel/2016b"},{"location":"version-specific/supported-software/#randrproto","title":"randrproto","text":"

            Xrandr protocol and ancillary headers

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.5.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#rapidcsv","title":"rapidcsv","text":"

            Rapidcsv is a C++ header-only library for CSV parsing. While the name admittedly was inspired by the rapidjson project, the objectives are not the same. The goal of rapidcsv is to be an easy-to-use CSV library enabling rapid development. For optimal performance (be it CPU or memory usage) a CSV parser implemented for the specific use-case is likely to be more performant.

            homepage: https://github.com/d99kris/rapidcsv

            version toolchain 8.64 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#rapidjson","title":"RapidJSON","text":"

            A fast JSON parser/generator for C++ with both SAX/DOM style API

            homepage: https://rapidjson.org

            version toolchain 1.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#rapidnj","title":"rapidNJ","text":"

            RapidNJ is an algorithmic engineered implementation of canonical neighbour-joining. It uses an efficient search heuristic to speed-up the core computations of the neighbour-joining method that enables RapidNJ to outperform other state-of-the-art neighbour-joining implementations.

            homepage: https://github.com/somme89/rapidNJ

            version toolchain 2.3.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#rapidtide","title":"rapidtide","text":"

            Rapidtide is a suite of python programs used to perform time delay analysis on functional imaging data to find time lagged correlations between the voxelwise time series and other time series.

            homepage: https://rapidtide.readthedocs.io

            version versionsuffix toolchain 1.8.0 -Python-3.7.2 intel/2019a"},{"location":"version-specific/supported-software/#rapsearch2","title":"RAPSearch2","text":"

            RAPSearch stands for Reduced Alphabet based Protein similarity Search

            homepage: https://omics.informatics.indiana.edu/mg/RAPSearch2

            version toolchain 2.24 GCC/9.3.0"},{"location":"version-specific/supported-software/#rascaf","title":"Rascaf","text":"

            Rascaf (RnA-seq SCAFfolder) uses continuity and order information from paired-end RNA-seq reads to improve a draft assembly, particularly in the gene regions.

            homepage: https://github.com/mourisl/Rascaf

            version toolchain 1.0.2 intel/2017a"},{"location":"version-specific/supported-software/#raspa2","title":"RASPA2","text":"

            RASPA is a software package for simulating adsorption and diffusion of molecules in flexible nanoporous materials.

            homepage: https://iraspa.org/raspa/

            version versionsuffix toolchain 2.0.3 -Python-2.7.12 intel/2016b 2.0.41 foss/2020b"},{"location":"version-specific/supported-software/#rasterio","title":"rasterio","text":"

            Rasterio reads and writes geospatial raster data.

            homepage: https://github.com/mapbox/rasterio

            version versionsuffix toolchain 1.1.7 -Python-3.8.2 foss/2020a 1.2.3 foss/2020b 1.2.10 foss/2021b 1.3.4 foss/2022a 1.3.8 foss/2022b"},{"location":"version-specific/supported-software/#rasterstats","title":"rasterstats","text":"

            rasterstats is a Python module for summarizing geospatial raster datasets based on vector geometries.

            homepage: https://github.com/perrygeo/python-rasterstats

            version versionsuffix toolchain 0.15.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#ratatosk","title":"Ratatosk","text":"

            Phased hybrid error correction of long reads using colored de Bruijn graphs

            homepage: https://github.com/DecodeGenetics/Ratatosk

            version toolchain 0.4 GCC/10.2.0"},{"location":"version-specific/supported-software/#raven","title":"Raven","text":"

            Raven is a de novo genome assembler for long uncorrected reads.

            homepage: https://github.com/lbcb-sci/raven

            version toolchain 1.8.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#raxml","title":"RAxML","text":"

            RAxML search algorithm for maximum likelihood based inference of phylogenetic trees.

            homepage: https://github.com/stamatak/standard-RAxML

            version versionsuffix toolchain 8.2.4 -hybrid-avx2 foss/2016a 8.2.9 -hybrid-avx2 foss/2016a 8.2.10 -hybrid-avx2 intel/2017a 8.2.11 -hybrid-avx foss/2017b, intel/2017b 8.2.11 -hybrid-avx2 foss/2017b, intel/2017b, intel/2018a 8.2.11 -hybrid-sse3 foss/2017b, intel/2017b 8.2.12 -hybrid-avx2 gompi/2020a, gompi/2020b, gompi/2021a, gompi/2021b, iimpi/2019b, intel/2018b, intel/2019a 8.2.12 -pthreads-avx2 GCC/10.2.0"},{"location":"version-specific/supported-software/#raxml-ng","title":"RAxML-NG","text":"

            RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) optimality criterion. Its search heuristic is based on iteratively performing a series of Subtree Pruning and Regrafting (SPR) moves, which allows to quickly navigate to the best-known ML tree.

            homepage: https://github.com/amkozlov/raxml-ng

            version toolchain 0.9.0 GCC/8.3.0, gompi/2019b 1.0.1 gompi/2019b 1.0.2 gompi/2020b 1.0.3 GCC/10.2.0 1.1.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#ray-assembler","title":"Ray-assembler","text":"

            Parallel genome assemblies for parallel DNA sequencing

            homepage: http://denovoassembler.sourceforge.net/

            version toolchain 2.3.1 iimpi/2019a"},{"location":"version-specific/supported-software/#ray-project","title":"Ray-project","text":"

            Ray is a fast and simple framework for building and running distributed applications.

            homepage: https://docs.ray.io/en/latest/

            version versionsuffix toolchain 0.8.4 -Python-3.7.4 foss/2019b 1.0.1 -Python-3.7.4 fosscuda/2019b 1.9.2 foss/2021b 1.13.0 foss/2021a, foss/2021b 2.2.0 foss/2022a"},{"location":"version-specific/supported-software/#raysect","title":"Raysect","text":"

            Raysect is an OOP ray-tracing framework for Python

            homepage: https://raysect.org

            version versionsuffix toolchain 0.6.0 -Python-3.6.6 intel/2018b 0.7.1 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#rbfopt","title":"RBFOpt","text":"

            RBFOpt is a Python library for black-box optimization (also known as derivative-free optimization).

            homepage: https://github.com/coin-or/rbfopt

            version versionsuffix toolchain 4.1.1 intel/2019a 4.1.1 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#rclone","title":"rclone","text":"

            Rclone is a command line program to sync files and directories to and from a variety of online storage services

            homepage: https://rclone.org

            version versionsuffix toolchain 1.42 -amd64 system 1.54.1 -amd64 system 1.56.0 -amd64 system 1.57.0 system"},{"location":"version-specific/supported-software/#rcorrector","title":"Rcorrector","text":"

            Rcorrector(RNA-seq error CORRECTOR) is a kmer-based error correction method for RNA-seq data.

            homepage: https://github.com/mourisl/Rcorrector

            version toolchain 1.0.2 intel/2017a"},{"location":"version-specific/supported-software/#rcppgsl","title":"RcppGSL","text":"

            The 'RcppGSL' package provides an easy-to-use interface between 'GSL' data structures and R using concepts from 'Rcpp' which is itself a package that eases the interfaces between R and C++.

            homepage: https://cran.r-project.org/web/packages/RcppGSL

            version versionsuffix toolchain 0.3.8 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#rcuda","title":"rCUDA","text":"

            The rCUDA Framework enables the concurrent usage of CUDA-compatible devices remotely.

            homepage: http://www.rcuda.net/

            version versionsuffix toolchain 4.0.1 _linux_64_Ubuntu10.04 system 5.0 _linux_64_scientificLinux6 system"},{"location":"version-specific/supported-software/#rdflib","title":"RDFlib","text":"

            RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.

            homepage: https://github.com/RDFLib/rdflib

            version toolchain 4.2.2 GCCcore/8.3.0, foss/2019a 5.0.0 GCCcore/10.2.0 6.2.0 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#rdkit","title":"RDKit","text":"

            RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python.

            homepage: https://www.rdkit.org

            version versionsuffix toolchain 2018.09.3 -Python-3.6.6 intel/2018b 2019.09.3 -Python-3.7.4 foss/2019b 2020.03.3 -Python-3.8.2 foss/2020a, intel/2020a 2020.09.3 -Python-3.7.4 foss/2019b 2021.03.4 foss/2021a 2022.03.5 foss/2021b 2022.09.4 foss/2022a"},{"location":"version-specific/supported-software/#rdp-classifier","title":"RDP-Classifier","text":"

            The RDP Classifier is a naive Bayesian classifier that can rapidly and accurately provides taxonomic assignments from domain to genus, with confidence estimates for each assignment.

            homepage: http://sourceforge.net/projects/rdp-classifier

            version versionsuffix toolchain 2.7 -Java-1.7.0_60 system 2.12 -Java-1.8 system 2.13 -Java-11 system 2.13 -Java-17 system"},{"location":"version-specific/supported-software/#re2","title":"RE2","text":"

            RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.

            homepage: https://github.com/google/re2

            version toolchain 2020-07-01 GCCcore/8.3.0 2021-06-01 GCCcore/10.2.0 2022-02-01 GCCcore/10.3.0, GCCcore/11.2.0 2022-06-01 GCCcore/11.3.0 2023-03-01 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#re2c","title":"re2c","text":"

            re2c is a free and open-source lexer generator for C and C++. Its main goal is generating fast lexers: at least as fast as their reasonably optimized hand-coded counterparts. Instead of using traditional table-driven approach, re2c encodes the generated finite state automata directly in the form of conditional jumps and comparisons.

            homepage: https://re2c.org

            version toolchain 1.1.1 GCCcore/8.2.0 1.2.1 GCCcore/8.3.0 1.3 GCCcore/9.3.0 2.0.3 GCCcore/10.2.0 2.1.1 GCCcore/10.3.0 2.2 GCCcore/11.2.0, GCCcore/11.3.0 3.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#reads2snp","title":"Reads2snp","text":"

            reads2snp is a SNP and genotype caller: it predicts the genotype of distinct individuals at distinct positions of a set of sequences based on read mapping / read counts. Its typical input is a bam file. Its typical output is a vcf file. It is written in C++, based on the bio++ libraries, multi-threaded with openMP, available under Linux and MacOS

            homepage: http://kimura.univ-montp2.fr/PopPhyl/index.php?section=tools

            version toolchain 2.0 system"},{"location":"version-specific/supported-software/#reapr","title":"Reapr","text":"

            A tool that evaluates the accuracy of a genome assembly using mapped paired end reads, without the use of a reference genome for comparison.

            homepage: https://www.sanger.ac.uk/science/tools/reapr

            version toolchain 1.0.18 foss/2019a"},{"location":"version-specific/supported-software/#reaxff","title":"ReaxFF","text":"

            REAXFF Reactive force field program

            homepage: https://www.engr.psu.edu/adri/ReaxffManual.aspx

            version toolchain 2.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#recon","title":"RECON","text":"

            Patched version of RECON to be used with RepeatModeler.

            homepage: https://www.repeatmasker.org/RepeatModeler/

            version toolchain 1.08 GCC/10.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#red","title":"Red","text":"

            Red (REpeat Detector)

            homepage: http://toolsmith.ens.utulsa.edu/

            version toolchain 2015-05-22 iccifort/2019.1.144-GCC-8.2.0-2.31.1"},{"location":"version-specific/supported-software/#redis","title":"Redis","text":"

            Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

            homepage: https://redis.io

            version toolchain 6.2.6 GCC/10.3.0, GCC/11.2.0 7.0.8 GCC/11.3.0"},{"location":"version-specific/supported-software/#redis-py","title":"redis-py","text":"

            The Python interface to the Redis key-value store.

            homepage: https://github.com/redis/redis-py

            version toolchain 4.3.1 foss/2021a 4.3.3 foss/2021b 4.5.1 foss/2022a"},{"location":"version-specific/supported-software/#redundans","title":"Redundans","text":"

            Redundans is a pipeline that assists an assembly of heterozygous/polymorphic genomes.

            homepage: https://github.com/lpryszcz/redundans

            version toolchain 0.13c intel/2017b"},{"location":"version-specific/supported-software/#reframe","title":"ReFrame","text":"

            ReFrame is a framework for writing regression tests for HPC systems.

            homepage: https://github.com/reframe-hpc/reframe

            version toolchain 2.18 system 2.19 system 2.20 system 2.21 system 3.0 system 3.2 system 3.3 system 3.4.1 system 3.5.0 system 3.5.1 system 3.5.2 system 3.6.2 system 3.6.3 system 3.7.3 system 3.8.0 system 3.9.0 system 3.9.1 system 3.10.1 system 3.11.0 system 3.11.1 system 3.11.2 system 3.12.0 system 4.0.1 system 4.0.5 system 4.2.0 system"},{"location":"version-specific/supported-software/#regionmask","title":"regionmask","text":"

            regionmask creates masks of geographical regions. It determines to which geographic region each grid point belongs.

            homepage: https://regionmask.readthedocs.io

            version versionsuffix toolchain 0.9.0 foss/2021b, foss/2022a 0.9.0 -Python-3.8.2 foss/2020a 0.10.0 foss/2022b"},{"location":"version-specific/supported-software/#regtools","title":"RegTools","text":"

            RegTools is a set of tools that integrate DNA-seq and RNA-seq data to help interpret mutations in a regulatory and splicing context.

            homepage: https://regtools.readthedocs.org

            version toolchain 0.4.2 foss/2020b 0.5.2 foss/2020b, foss/2021b"},{"location":"version-specific/supported-software/#relate","title":"Relate","text":"

            Software for estimating genome-wide genealogies for thousands of samples

            homepage: https://myersgroup.github.io/relate/

            version versionsuffix toolchain 20211123 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#relion","title":"RELION","text":"

            RELION (for REgularised LIkelihood OptimisatioN, pronounce rely-on) is a stand-alone computer program that employs an empirical Bayesian approach to refinement of (multiple) 3D reconstructions or 2D class averages in electron cryo-microscopy (cryo-EM).

            homepage: http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page

            version versionsuffix toolchain 1.4 intel/2016b 1.4 -single intel/2016b 2.0.1 intel/2016b 2.1 foss/2017b, foss/2018a, fosscuda/2017b, fosscuda/2018a, intel/2017b, intelcuda/2017b 2.1 -CUDA-9.1.85 foss/2018a 3.0.4 foss/2017b, intel/2017b 3.0_beta.2018.08.02 fosscuda/2018a, intel/2018a"},{"location":"version-specific/supported-software/#rematch","title":"ReMatCh","text":"

            Reads mapping against target sequences, checking mapping and consensus sequences production

            homepage: https://github.com/B-UMMI/ReMatCh

            version versionsuffix toolchain 3.2 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#remora","title":"REMORA","text":"

            REsource MOnitoring for Remote Applications

            homepage: https://github.com/TACC/remora

            version toolchain 1.8.2 foss/2017a, foss/2018a, intel/2017a, intel/2018a 1.8.3 gompi/2019a"},{"location":"version-specific/supported-software/#renderproto","title":"renderproto","text":"

            Xrender protocol and ancillary headers

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 0.11 foss/2016a, gimkl/2.11.5, intel/2016a, intel/2017b"},{"location":"version-specific/supported-software/#repasthpc","title":"RepastHPC","text":"

            The Repast Suite is a family of advanced, free, and open source agent-based modeling and simulation platforms that have collectively been under continuous development for over 15 years: Repast for High Performance Computing 2.2.0, released on 30 September 2016, is a lean and expert-focused C++-based modeling system that is designed for use on large computing clusters and supercomputers.

            homepage: https://repast.github.io/

            version toolchain 2.2.0 foss/2016a"},{"location":"version-specific/supported-software/#repeatmasker","title":"RepeatMasker","text":"

            RepeatMasker is a program that screens DNA sequences for interspersed repeats and low complexity DNA sequences.

            homepage: https://www.repeatmasker.org/

            version versionsuffix toolchain 4.0.8 -Perl-5.26.0-HMMER GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28 4.0.8 -Perl-5.28.0-HMMER intel/2018b 4.0.9-p2 -HMMER gompi/2019b 4.1.2-p1 foss/2020b 4.1.4 foss/2022a 4.1.5 foss/2022a"},{"location":"version-specific/supported-software/#repeatmodeler","title":"RepeatModeler","text":"

            RepeatModeler is a de novo transposable element (TE) family identification and modeling package.

            homepage: https://www.repeatmasker.org/

            version toolchain 2.0.2a foss/2020b 2.0.4 foss/2022a"},{"location":"version-specific/supported-software/#repeatscout","title":"RepeatScout","text":"

            De Novo Repeat Finder, Price A.L., Jones N.C. and Pevzner P.A. Developed and tested with our multiple sequence version of RepeatScout ( 1.0.6 )

            homepage: https://www.repeatmasker.org/

            version toolchain 1.0.6 GCC/10.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#request","title":"request","text":"

            Request is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.

            homepage: https://github.com/request/request/

            version versionsuffix toolchain 2.88.1 -nodejs-12.19.0 fosscuda/2020b"},{"location":"version-specific/supported-software/#requests","title":"requests","text":"

            Python http for humans

            homepage: https://pypi.python.org/pypi/requests

            version versionsuffix toolchain 2.10.0 -Python-2.7.11 foss/2016a 2.10.0 -Python-3.5.1 foss/2016a 2.11.1 -Python-2.7.12 intel/2016b 2.11.1 -Python-3.5.2 intel/2016b 2.13.0 -Python-2.7.12 foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#rerconverge","title":"RERconverge","text":"

            RERconverge is a set of software written in R that estimates the correlation between relative evolutionary rates of genes and the evolution of a convergent binary or continuous trait across a phylogeny.

            homepage: https://github.com/nclark-lab/RERconverge

            version versionsuffix toolchain 0.1.0 -R-3.4.3 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#resolos","title":"resolos","text":"

            Resolos is a toolkit written in Python for maintaining reproducible environments for scientific computations. It's main goal is to enable researchers to easily replicate environments through space (running code on HPC environment) and time (environment preservation for long term archival). For installation and detailed usage, check out the documentation.

            homepage: https://gitlab.unige.ch/resolos/resolos

            version toolchain 0.3.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#retworkx","title":"retworkx","text":"

            retworkx is a general purpose graph library for python3 written in Rust to take advantage of the performance and safety that Rust provides. It was built as a replacement for qiskit's previous (and current) networkx usage (hence the name) but is designed to provide a high performance general purpose graph library for any python application. The project was originally started to build a faster directed graph to use as the underlying data structure for the DAG at the center of qiskit-terra's transpiler, but it has since grown to cover all the graph usage in Qiskit and other applications.

            homepage: https://github.com/Qiskit/retworkx

            version toolchain 0.9.0 foss/2021a"},{"location":"version-specific/supported-software/#revbayes","title":"RevBayes","text":"

            RevBayes provides an interactive environment for statistical computation in phylogenetics. It is primarily intended for modeling, simulation, and Bayesian inference in evolutionary biology, particularly phylogenetics.

            homepage: https://revbayes.github.io

            version toolchain 1.1.1 GCC/10.2.0, GCC/11.2.0 1.2.1 gompi/2022a"},{"location":"version-specific/supported-software/#rgdal","title":"rgdal","text":"

            Provides bindings to the 'Geospatial' Data Abstraction Library ('GDAL') (>= 1.11.4 and <= 2.5.0) and access to projection/transformation operations from the 'PROJ.4' library.

            homepage: https://rgdal.r-forge.r-project.org/

            version versionsuffix toolchain 1.4-4 -R-3.6.0 foss/2019a 1.4-8 -R-3.6.2 foss/2019b 1.4-8 -R-4.0.0 foss/2020a 1.5-16 -R-4.0.0 foss/2020a 1.5-23 -R-4.0.4 foss/2020b 1.5-23 -R-4.1.0 foss/2021a 1.6-6 foss/2022a"},{"location":"version-specific/supported-software/#rgeos","title":"rgeos","text":"

            R interface to Geometry Engine - Open Source (GEOS) using the C API for topology operations on geometries

            homepage: https://cran.r-project.org/web/packages/rgeos/

            version versionsuffix toolchain 0.3-17 -R-3.2.3 intel/2016a 0.5-1 -R-3.6.0 foss/2019a 0.5-2 -R-3.6.2 foss/2019b 0.5-5 -R-4.0.0 foss/2020a 0.5-5 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#rgurobi","title":"Rgurobi","text":"

            Gurobi Optimizer 9.5 interface

            homepage: https://www.gurobi.com

            version versionsuffix toolchain 9.1.2 -R-4.1.0 foss/2021a 9.5.0 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#rhdf5","title":"rhdf5","text":"

            This R/Bioconductor package provides an interface between HDF5 and R.

            homepage: https://bioconductor.org/packages/release/bioc/html/rhdf5.html

            version versionsuffix toolchain 2.16.0 -R-3.2.3 intel/2016a 2.18.0 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#rheotool","title":"RheoTool","text":"

            RheoTool is an open-source toolbox based on OpenFOAM to simulate Generalized Newtonian Fluids (GNF) and viscoelastic fluids under pressure-driven and/or electrically-driven flows.

            homepage: https://github.com/fppimenta/rheoTool

            version toolchain 5.0 foss/2019b"},{"location":"version-specific/supported-software/#rickflow","title":"rickflow","text":"

            Running and Analyzing OpenMM Jobs

            homepage: https://gitlab.com/Olllom/rickflow

            version versionsuffix toolchain 0.7.0 -Python-3.7.4 intel/2019b 0.7.0-20200529 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#rinchi","title":"RInChI","text":"

            The reaction IUPAC International Chemical Identifier (RInChI TM) is a non-proprietary identifier for chemical reactions that can be used in printed and electronic data sources thus enabling easier linking of diverse data compilations.

            homepage: https://www.inchi-trust.org/

            version versionsuffix toolchain 1.00 -x86_64 system"},{"location":"version-specific/supported-software/#rioxarray","title":"rioxarray","text":"

            geospatial xarray extension powered by rasterio

            homepage: https://github.com/corteva/rioxarray

            version versionsuffix toolchain 0.0.12 -Python-3.7.2 intel/2019a 0.0.24 -Python-3.7.4 foss/2019b 0.1.1 -Python-3.8.2 foss/2020a 0.11.1 foss/2021b 0.14.0 foss/2022a"},{"location":"version-specific/supported-software/#ripunzip","title":"ripunzip","text":"

            A tool to unzip files in parallel.

            homepage: https://github.com/google/ripunzip

            version toolchain 0.4.0 system"},{"location":"version-specific/supported-software/#rising","title":"rising","text":"

            Provides everything needed for high performance data loading and augmentation in PyTorch.

            homepage: https://rising.rtfd.io/

            version versionsuffix toolchain 0.2.2 foss/2021a, foss/2022a 0.2.2 -CUDA-11.3.1 foss/2021a 0.2.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#rivet","title":"Rivet","text":"

            Rivet toolkit (Robust Independent Validation of Experiment and Theory) To use your own analysis you must append the path to RIVET_ANALYSIS_PATH.

            homepage: https://gitlab.com/hepcedar/rivet

            version versionsuffix toolchain 3.1.7 -HepMC3-3.2.5 gompi/2022a"},{"location":"version-specific/supported-software/#rjags","title":"rjags","text":"

            The rjags package is an interface to the JAGS library.

            homepage: https://cran.r-project.org/web/packages/rjags

            version versionsuffix toolchain 4-6 -R-3.4.0 intel/2017a 4-6 -R-3.4.3 intel/2017b 4-8 -R-3.5.1 foss/2018b 4-9 -R-3.6.0 foss/2019a 4-10 foss/2019b 4-10 -R-4.0.0 foss/2020a 4-10 -R-4.0.3 foss/2020b, fosscuda/2020b 4-10 -R-4.0.4 foss/2020b, fosscuda/2020b 4-10 -R-4.0.5 foss/2020b, fosscuda/2020b 4-10 -R-4.1.0 foss/2021a 4-12 -R-4.1.2 foss/2021b 4-13 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#rlcard","title":"RLCard","text":"

            RLCard is a toolkit for Reinforcement Learning (RL) in card games.

            homepage: https://www.rlcard.org

            version toolchain 1.0.9 foss/2022a"},{"location":"version-specific/supported-software/#rmarkdown","title":"rmarkdown","text":"

            Convert R Markdown documents into a variety of formats.

            homepage: https://cran.r-project.org/web/packages/rmarkdown

            version versionsuffix toolchain 2.20 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#rmath","title":"Rmath","text":"

            Rmath is the standalone version of the R math library. Rmath can be used in your own C/C++ routines.

            homepage: https://www.r-project.org/

            version toolchain 3.3.1 intel/2016b 4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#rmats-turbo","title":"rMATS-turbo","text":"

            rMATS turbo is the C/Cython version of rMATS (refer to http://rnaseq-mats.sourceforge.net).

            homepage: https://github.com/Xinglab/rmats-turbo

            version toolchain 4.1.1 foss/2020b"},{"location":"version-specific/supported-software/#rmblast","title":"RMBlast","text":"

            RMBlast is a RepeatMasker compatible version of the standard NCBI BLAST suite. The primary difference between this distribution and the NCBI distribution is the addition of a new program 'rmblastn' for use with RepeatMasker and RepeatModeler.

            homepage: http://www.repeatmasker.org/RMBlast.html

            version versionsuffix toolchain 2.2.28 -Python-2.7.11 foss/2016a 2.9.0 gompi/2019b 2.10.0 gompi/2019b 2.11.0 gompi/2020b 2.13.0 gompi/2022a"},{"location":"version-specific/supported-software/#rna-bloom","title":"RNA-Bloom","text":"

            RNA-Bloom is a fast and memory-efficient de novo transcript sequence assembler.

            homepage: https://github.com/bcgsc/RNA-Bloom

            version toolchain 1.2.3 GCC/8.3.0 1.4.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#rna-seqc","title":"RNA-SeQC","text":"

            Fast, efficient RNA-Seq metrics for quality control and process optimization

            homepage: https://github.com/getzlab/rnaseqc

            version versionsuffix toolchain 1.1.8 -Java-1.8 foss/2018b 1.1.8 -Java-1.8.0_121 foss/2016b 1.1.8 -Java-11 GCCcore/11.2.0 2.4.2 foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#rnaclust","title":"RNAclust","text":"

            RNAclust is a perl script summarizing all the single steps required for clustering of structured RNA motifs, i.e. identifying groups of RNA sequences sharing a secondary structure motif. It requires as input a multiple FASTA file.

            homepage: http://www.bioinf.uni-leipzig.de/~kristin/Software/RNAclust/

            version versionsuffix toolchain 1.3 -Perl-5.24.0 foss/2016b 1.3 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#rnacode","title":"RNAcode","text":"

            RNAcode - Analyze the protein coding potential in multiple sequence alignments

            homepage: https://wash.github.io/rnacode/

            version toolchain 0.3 foss/2017a"},{"location":"version-specific/supported-software/#rnaindel","title":"RNAIndel","text":"

            RNAIndel calls coding indels and classifies them into somatic, germline, and artifact from tumor RNA-Seq data.

            homepage: https://github.com/stjude/RNAIndel

            version versionsuffix toolchain 0.3.0 -Python-3.6.6 intel/2018b 1.0.0 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#rnammer","title":"RNAmmer","text":"

            This is an example description.

            homepage: https://www.cbs.dtu.dk/services/RNAmmer

            version versionsuffix toolchain 1.2 -Perl-5.28.0 intel/2018b"},{"location":"version-specific/supported-software/#rnaquast","title":"rnaQUAST","text":"

            rnaQUAST is a tool for evaluating RNA-Seq assemblies using reference genome and gene database. In addition, rnaQUAST is also capable of estimating gene database coverage by raw reads and de novo quality assessment using third-party software.

            homepage: https://cab.spbu.ru/software/rnaquast/

            version versionsuffix toolchain 1.5.2 -Python-2.7.15 foss/2018b 2.2.0 -Python-3.8.2 foss/2020a 2.2.2 foss/2021b"},{"location":"version-specific/supported-software/#rnaz","title":"RNAz","text":"

            RNAz is a program for predicting structurally conserved and thermodynamically stable RNA secondary structures in multiple sequence alignments.

            homepage: http://www.tbi.univie.ac.at/~wash/RNAz/

            version toolchain 2.1 foss/2016b, foss/2018b"},{"location":"version-specific/supported-software/#rnbeads","title":"RnBeads","text":"

            RnBeads is an R package for comprehensive analysis of DNA methylation data obtained with any experimental protocol that provides single-CpG resolution.

            homepage: https://rnbeads.org

            version versionsuffix toolchain 2.6.0 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#roary","title":"Roary","text":"

            Rapid large-scale prokaryote pan genome analysis

            homepage: https://github.com/sanger-pathogens/Roary

            version versionsuffix toolchain 3.12.0 system 3.12.0 -Perl-5.26.1 intel/2018a 3.13.0 foss/2020a, foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#rocm","title":"ROCm","text":"

            AMD ROCm is the first open-source software development platform for HPC/Hyperscale-class GPU computing. AMD ROCm brings the UNIX philosophy of choice, minimalism and modular software development to GPU computing.

            homepage: https://rocmdocs.amd.com/en/latest/

            version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#rocm-cmake","title":"rocm-cmake","text":"

            ROCM cmake modules provides cmake modules for common build tasks needed for the ROCM software stack

            homepage: https://github.com/RadeonOpenCompute/rocm-cmake

            version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#rocm-compilersupport","title":"ROCm-CompilerSupport","text":"

            The compiler support repository provides various Lightning Compiler related services

            homepage: https://github.com/RadeonOpenCompute/ROCm-CompilerSupport

            version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#rocm-smi","title":"rocm-smi","text":"

            The ROCm System Management Interface Library, or ROCm SMI library, is part of the Radeon Open Compute ROCm software stack. It is a C library for Linux that provides a user space interface for applications to monitor and control GPU applications.

            homepage: https://github.com/RadeonOpenCompute/rocm_smi_lib

            version toolchain 4.5.0 GCCcore/11.2.0 5.4.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#rocminfo","title":"rocminfo","text":"

            ROCm Application for Reporting System Info

            homepage: https://github.com/RadeonOpenCompute/rocminfo

            version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#rocr-runtime","title":"ROCR-Runtime","text":"

            The user-mode API interfaces and libraries necessary for host applications to launch compute kernels to available HSA ROCm kernel agents

            homepage: https://github.com/RadeonOpenCompute/ROCR-Runtime

            version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#roct-thunk-interface","title":"ROCT-Thunk-Interface","text":"

            The user-mode API interfaces used to interact with the ROCk driver

            homepage: https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface

            version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#roi_pac","title":"ROI_PAC","text":"

            Repeat Orbit Interferometry PACkage (ROI_PAC), software for processing synthetic aperture radar data to produce differential interferograms

            homepage: http://roipac.org/

            version versionsuffix toolchain 3.0.1 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#rome","title":"ROME","text":"

            The ROME (Refinement and Optimization via Machine Learning for cryo-EM) Software package is one of the major research products at the Intel\u00ae PCCSB.

            homepage: https://ipccsb.dfci.harvard.edu/rome

            version toolchain 1.1.2 intel/2019.02"},{"location":"version-specific/supported-software/#root","title":"ROOT","text":"

            The ROOT system provides a set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way.

            homepage: http://root.cern.ch/drupal/

            version versionsuffix toolchain 6.10.02 -Python-2.7.12 foss/2016b, intel/2016b 6.10.04 -Python-2.7.13 intel/2017a 6.10.08 -Python-2.7.14 foss/2017b, intel/2017b 6.14.06 -Python-2.7.15 foss/2018b 6.14.06 -Python-3.6.6 foss/2018b 6.20.04 -Python-3.7.4 foss/2019b 6.22.08 foss/2020b 6.24.06 foss/2021b 6.26.06 foss/2022a 6.26.10 foss/2022b v5.34.34 -Python-2.7.11 intel/2016a v5.34.36 -Python-2.7.11 intel/2016a v6.06.02 -Python-2.7.12 intel/2016b v6.08.02 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#root_numpy","title":"root_numpy","text":"

            root_numpy is a Python extension module that provides an efficient interface between ROOT and NumPy. root_numpy\u2019s internals are compiled C++ and can therefore handle large amounts of data much faster than equivalent pure Python implementations.

            homepage: https://scikit-hep.org/root_numpy/

            version versionsuffix toolchain 4.8.0 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#rootpy","title":"rootpy","text":"

            The rootpy project is a community-driven initiative aiming to provide a more pythonic interface with ROOT on top of the existing PyROOT bindings. Given Python\u2019s reflective and dynamic nature, rootpy also aims to improve ROOT design flaws and supplement existing ROOT functionality. The scientific Python community also offers a multitude of powerful packages such as SciPy, NumPy, matplotlib, scikit-learn, and PyTables, but a suitable interface between them and ROOT has been lacking. rootpy provides the interfaces and conversion mechanisms required to liberate your data and to take advantage of these alternatives if needed.

            homepage: http://www.rootpy.org/

            version versionsuffix toolchain 0.8.0 -Python-2.7.11 foss/2016a 1.0.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#rosetta","title":"Rosetta","text":"

            Rosetta is the premier software suite for modeling macromolecular structures. As a flexible, multi-purpose application, it includes tools for structure prediction, design, and remodeling of proteins and nucleic acids.

            homepage: https://www.rosettacommons.org

            version toolchain 3.7 foss/2016b 2016.13.58602 foss/2016a 2016.46.59086 foss/2016b"},{"location":"version-specific/supported-software/#rpmrebuild","title":"rpmrebuild","text":"

            rpmrebuild is a tool to build an RPM file from a package that has already been installed in a basic use

            homepage: http://rpmrebuild.sourceforge.net/

            version toolchain 2.11 system"},{"location":"version-specific/supported-software/#rpostgresql","title":"RPostgreSQL","text":"

            Database interface and 'PostgreSQL' driver for 'R'. This package provides a Database Interface 'DBI' compliant driver for 'R' to access 'PostgreSQL' database systems.

            homepage: https://cran.r-project.org/package=tesseract

            version toolchain 0.7-5 foss/2022a"},{"location":"version-specific/supported-software/#rpy2","title":"rpy2","text":"

            rpy2 is an interface to R running embedded in a Python process.

            homepage: https://rpy2.bitbucket.io/

            version versionsuffix toolchain 2.7.9 -Python-2.7.12 foss/2016b 2.8.2 -Python-2.7.13 intel/2017a 3.2.6 -Python-3.7.4 foss/2019b 3.4.5 foss/2021b"},{"location":"version-specific/supported-software/#rqgis3","title":"RQGIS3","text":"

            RQGIS3 establishes an interface between R and QGIS3, i.e., it allows the user to access QGIS3 functionalities from within R.

            homepage: https://github.com/r-spatial/RQGIS3

            version versionsuffix toolchain 20190903 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#rsem","title":"RSEM","text":"

            RNA-Seq by Expectation-Maximization

            homepage: https://deweylab.github.io/RSEM/

            version toolchain 1.2.26 GNU/4.9.3-2.25 1.2.30 foss/2016a, intel/2016b 1.3.0 foss/2016b, intel/2017a 1.3.1 foss/2017b, intel/2017b, intel/2018a 1.3.2 foss/2018b 1.3.3 foss/2019b, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#rseqc","title":"RSeQC","text":"

            RSeQC provides a number of useful modules that can comprehensively evaluate high throughput sequence data especially RNA-seq data. Some basic modules quickly inspect sequence quality, nucleotide composition bias, PCR bias and GC bias, while RNA-seq specific modules evaluate sequencing saturation, mapped reads distribution, coverage uniformity, strand specificity, transcript level RNA integrity etc.

            homepage: http://rseqc.sourceforge.net/

            version versionsuffix toolchain 2.6.4 -Python-2.7.12-R-3.3.1 foss/2016b 2.6.4 -Python-2.7.14 intel/2018a 3.0.0 -Python-3.6.6 foss/2018b 4.0.0 foss/2021a, foss/2021b 4.0.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#rstan","title":"RStan","text":"

            RStan is the R interface to Stan. Stan is a state-of-the-art platform for statistical modeling and high-performance statistical computation.

            homepage: https://github.com/stan-dev/rstan

            version versionsuffix toolchain 2.18.2 -R-3.4.3 foss/2017b, intel/2017b 2.18.2 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#rstanarm","title":"rstanarm","text":"

            Estimates previously compiled regression models using the 'rstan' package, which provides the R interface to the Stan C++ library for Bayesian estimation.

            homepage: https://r-forge.r-project.org/projects/rstanarm

            version versionsuffix toolchain 2.19.3 -R-3.6.2 foss/2019b"},{"location":"version-specific/supported-software/#rstudio-server","title":"RStudio-Server","text":"

            This is the RStudio Server version. RStudio is a set of integrated tools designed to help you be more productive with R. The server can be started with: rserver --server-daemonize=0 --www-port=8787 If you need a database config one can be created with: MYTMP=mktemp -d && echo -e \"provider=sqlite\\ndirectory=${MYTMP}/sqlite\" > \"${MYTMP}/db.conf\" and then used with: rserver ... --database-config-file=\"${MYTMP}/db.conf\"

            homepage: https://www.rstudio.com/

            version versionsuffix toolchain 1.2.5033 -Java-11 fosscuda/2019b 1.2.5042 -Java-11 foss/2019b 1.3.959 -Java-11-R-4.0.0 foss/2020a 1.3.1093 -Java-11-R-4.0.0 foss/2020a 1.4.1717 -Java-11-R-4.1.0 foss/2021a 2022.07.2+576 -Java-11-R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#rtg-tools","title":"RTG-Tools","text":"

            RTG Tools contains utilities to easily manipulate and accurately compare multiple VCF files, as well as utilities for processing other common NGS data formats.

            homepage: https://www.realtimegenomics.com/products/rtg-tools

            version versionsuffix toolchain 3.9.1 -Java-1.8 system"},{"location":"version-specific/supported-software/#rtree","title":"Rtree","text":"

            Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial indexing features for the spatially curious Python user.

            homepage: https://toblerity.org/rtree/

            version versionsuffix toolchain 0.8.3 -Python-2.7.14 intel/2018a 1.0.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#ruamelyaml","title":"ruamel.yaml","text":"

            ruamel.yaml is a YAML 1.2 loader/dumper package for Python.

            homepage: https://sourceforge.net/projects/ruamel-yaml

            version toolchain 0.17.21 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#ruby","title":"Ruby","text":"

            Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.

            homepage: https://www.ruby-lang.org

            version toolchain 2.1.6 system 2.3.1 intel/2016b, system 2.3.3 system 2.3.4 system 2.4.2 foss/2017b 2.5.0 foss/2018a, intel/2017a, intel/2017b 2.5.1 foss/2018a, intel/2018a 2.6.1 GCCcore/7.3.0 2.6.3 GCCcore/8.2.0 2.7.1 GCCcore/8.3.0 2.7.2 GCCcore/10.2.0, GCCcore/9.3.0 3.0.1 GCCcore/10.3.0, GCCcore/11.2.0 3.0.3 GCCcore/11.3.0 3.0.5 GCCcore/11.3.0 3.2.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#ruby-tk","title":"Ruby-Tk","text":"

            Ruby Tk interface module using tcltklib

            homepage: https://github.com/ruby/tk

            version versionsuffix toolchain 0.2.0 -Ruby-2.5.1 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#ruffus","title":"ruffus","text":"

            Ruffus is a Computation Pipeline library for python. It is open-sourced, powerful and user-friendly, and widely used in science and bioinformatics.

            homepage: http://www.ruffus.org.uk/

            version toolchain 2.8.4 GCCcore/11.3.0, foss/2021b"},{"location":"version-specific/supported-software/#rust","title":"Rust","text":"

            Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.

            homepage: https://www.rust-lang.org

            version toolchain 1.8.0 foss/2016a 1.12.0 foss/2016b 1.12.1 foss/2016b 1.18.0 foss/2017a 1.21.0 foss/2017b 1.22.1 GCCcore/6.4.0 1.29.2 GCCcore/7.3.0 1.30.1 GCCcore/6.4.0 1.35.0 GCCcore/8.2.0 1.37.0 GCCcore/8.3.0 1.42.0 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.52.1 GCCcore/10.2.0, GCCcore/10.3.0 1.54.0 GCCcore/11.2.0 1.56.0 GCCcore/11.2.0 1.60.0 GCCcore/10.3.0, GCCcore/11.3.0 1.65.0 GCCcore/11.3.0, GCCcore/12.2.0 1.70.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#rustworkx","title":"rustworkx","text":"

            rustworkx (previously retworkx) is a general purpose graph library for Python written in Rust to take advantage of the performance and safety that Rust provides. It is designed to provide a high performance general purpose graph library for any Python application.

            homepage: https://github.com/Qiskit/rustworkx

            version toolchain 0.12.1 foss/2022a"},{"location":"version-specific/supported-software/#s","title":"S","text":"

            S-Lang - S4 - Safetensors - SAGE - Sailfish - SALib - Salmon - SALMON-TDDFT - Sambamba - samblaster - Samcef - samclip - samplot - SAMtools - sansa - SAP - SAS - Satsuma2 - savvy - Saxon-HE - SBCL - sbt - ScaFaCoS - ScaLAPACK - Scalasca - SCALCE - Scalene - scanpy - scArches - sceasy - SCENIC - scGeneFit - SCGid - scHiCExplorer - Schrodinger - scib - sciClone - ScientificPython - scikit-allel - scikit-bio - scikit-build - scikit-cuda - scikit-image - scikit-learn - scikit-misc - scikit-multilearn - scikit-optimize - scikit-uplift - SCIP - SCIPhI - scipy - SciPy-bundle - SCnorm - Scoary - SCons - SCOOP - SCopeLoomR - Score-P - SCOTCH - scp - scPred - Scrappie - scVelo - scvi-tools - Scythe - SDCC - SDL - SDL2 - SDL2_image - SDL_image - SDSL - Seaborn - SearchGUI - SeaView - SECAPR - Seeder - segemehl - segmentation-models - SeisSol - SelEstim - SELFIES - SentencePiece - sep - SEPP - Seq-Gen - seq2HLA - SeqAn - SeqAn3 - SeqKit - SeqLib - Seqmagick - SeqPrep - seqtk - Serf - setuptools - Seurat - SeuratData - SeuratDisk - SeuratWrappers - sf - sfftk - Shannon - SHAP - shapAAR - SHAPEIT - SHAPEIT4 - Shapely - sharutils - Shasta - ShengBTE - shift - SHORE - Short-Pair - shovill - shrinkwrap - SHTns - Sibelia - SICER2 - sickle - Siesta - SignalP - silhouetteRank - silx - simint - SimNIBS - SimPEG - SIMPLE - Simple-DFTD3 - SimpleElastix - SimpleITK - simpy - SimVascular - SingleM - Singular - SiNVICT - SIONlib - SIP - siscone - SISSO - SISSO++ - SKESA - sketchmap - skewer - sklearn-pandas - sklearn-som - skorch - SlamDunk - SLATEC - SLEPc - slepc4py - sleuth - slidingwindow - SLiM - slow5tools - smafa - smallgenomeutilities - SMAP - SMARTdenovo - SMC++ - smfishHmrf - smithwaterman - Smoldyn - smooth-topk - SMRT-Link - SMV - snakemake - SNAP - SNAP-HMM - SNAPE-pooled - snaphu - snappy - Sniffles - snippy - snp-sites - snpEff - SNPhylo - SNPomatic - SOAPaligner - SOAPdenovo-Trans - SOAPdenovo2 - SOAPfuse - socat - SOCI - SolexaQA++ - sonic - SoPlex - SoQt - SortMeRNA - SoupX - SoX - SoXt - SpaceRanger - Spack - spaCy - SPAdes - spaln - Spark - sparse-neighbors-search - sparsehash - SpatialDE - spatialreg - spdlog - SpectrA - spectral.methods - speech_tools - spektral - spglib - spglib-python - Sphinx - Sphinx-RTD-Theme - SpiceyPy - SpiecEasi - SplAdder - SPLASH - SpliceMap - split-seq - splitRef - SPM - spoa - SPOOLES - SPOTPY - SPRNG - Spyder - SQLite - SqueezeMeta - Squidpy - SRA-Toolkit - sradownloader - SRPRISM - SRST2 - SSAHA2 - SSN - SSPACE_Basic - SSW - STACEY - Stack - Stacks - STAMP - StaMPS - Stampy - STAR - STAR-CCM+ - STAR-Fusion - stardist - stars - Stata - Statistics-R - statsmodels - STEAK - STIR - stpipeline - strace - Strainberry - STREAM - strelka - StringTie - stripy - STRique - Structure - Structure_threader - STRUMPACK - suave - Subread - subset-bam - Subversion - suds - SuiteSparse - SUMACLUST - SUMATRA - SUMO - SUNDIALS - SunPy - SuperLU - SuperLU_DIST - supermagic - supernova - SURVIVOR - SVclone - SVDetect - SVDquest - SVG - SVIM - svist4get - swarm - SWASH - SWAT+ - swifter - SWIG - SWIPE - swissknife - SymEngine - SymEngine-python - SYMPHONY - sympy - synthcity - SyRI - sysbench - Szip

            "},{"location":"version-specific/supported-software/#s-lang","title":"S-Lang","text":"

            S-Lang is a multi-platform programmer's library designed to allow a developer to create robust multi-platform software. It provides facilities required by interactive applications such as display/screen management, keyboard input, keymaps, and so on.

            homepage: http://www.jedsoft.org/slang/

            version toolchain 2.3.0 GCC/4.9.2"},{"location":"version-specific/supported-software/#s4","title":"S4","text":"

            S4 stands for Stanford Stratified Structure Solver, a frequency domain code to solve the linear Maxwell\u2019s equations in layered periodic structures. Internally, it uses Rigorous Coupled Wave Analysis (RCWA, also called the Fourier Modal Method (FMM)) and the S-matrix algorithm.

            homepage: https://web.stanford.edu/group/fan/S4

            version toolchain 1.1.1-20180610 foss/2017b"},{"location":"version-specific/supported-software/#safetensors","title":"Safetensors","text":"

            Safetensors is a new simple format for storing tensors safely (as opposed to pickle) and that is still fast (zero-copy). Safetensors is really fast.

            homepage: https://huggingface.co/docs/safetensors

            version versionsuffix toolchain 0.3.1 foss/2022a 0.3.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#sage","title":"SAGE","text":"

            S.A.G.E. (Statistical Analysis for Genetic Epidemiology) is free software package containing programs for use in the genetic analysis of family, pedigree and individual data.

            homepage: http://darwin.cwru.edu/sage/

            version toolchain 6.3 system 6.4 system"},{"location":"version-specific/supported-software/#sailfish","title":"Sailfish","text":"

            Sailfish is a software tool that implements a novel, alignment-free algorithm for the estimation of isoform abundances directly from a set of reference sequences and RNA-seq reads.

            homepage: http://www.cs.cmu.edu/~ckingsf/software/sailfish/

            version versionsuffix toolchain 0.10.1 gompi/2019b 0.10.1 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#salib","title":"SALib","text":"

            Sensitivity Analysis Library in Python (Numpy). Contains Sobol, Morris, Fractional Factorial and FAST methods.

            homepage: https://SALib.github.io/SALib/

            version versionsuffix toolchain 1.1.3 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#salmon","title":"Salmon","text":"

            Salmon is a wicked-fast program to produce a highly-accurate, transcript-level quantification estimates from RNA-seq data.

            homepage: https://github.com/COMBINE-lab/salmon

            version versionsuffix toolchain 0.8.2 system 0.8.2 -Python-2.7.12 foss/2016b 0.11.2 intel/2018a 0.12.0 foss/2018b 0.14.1 foss/2018b 0.14.2 gompi/2019a 1.0.0 gompi/2019a, gompi/2019b 1.1.0 gompi/2019b 1.2.0 gompi/2019b 1.3.0 gompi/2020a 1.4.0 GCC/11.2.0, gompi/2020b 1.9.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#salmon-tddft","title":"SALMON-TDDFT","text":"

            SALMON is an open-source computer program for ab-initio quantum-mechanical calculations of electron dynamics at the nanoscale that takes place in various situations of light-matter interactions. It is based on time-dependent density functional theory, solving time-dependent Kohn-Sham equation in real time and real space with norm-conserving pseudopotentials.

            homepage: https://salmon-tddft.jp

            version toolchain 1.2.1 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#sambamba","title":"Sambamba","text":"

            Sambamba is a high performance modern robust and fast tool (and library), written in the D programming language, for working with SAM and BAM files. Current functionality is an important subset of samtools functionality, including view, index, sort, markdup, and depth.

            homepage: https://lomereiter.github.io/sambamba/

            version toolchain 0.6.6 system 0.7.1 system 0.8.0 GCC/10.2.0 0.8.2 GCC/10.3.0"},{"location":"version-specific/supported-software/#samblaster","title":"samblaster","text":"

            samblaster is a fast and flexible program for marking duplicates in read-id grouped1 paired-end SAM files.

            homepage: https://github.com/GregoryFaust/samblaster

            version toolchain 0.1.24 foss/2018b 0.1.26 GCC/10.2.0, GCC/10.3.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#samcef","title":"Samcef","text":"

            FEM solver solution suite for basic linear structures to advanced, flexible nonlinear mechanisms and thermal applications.

            homepage: http://www.plm.automation.siemens.com/en_us/products/lms/samtech/samcef-solver-suite/

            version toolchain 17.0-03 system"},{"location":"version-specific/supported-software/#samclip","title":"samclip","text":"

            Filter SAM file for soft and hard clipped alignments.

            homepage: https://github.com/tseemann/samclip

            version versionsuffix toolchain 0.2 -Perl-5.28.0 GCCcore/7.3.0 0.4.0 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#samplot","title":"samplot","text":"

            Plot structural variant signals from many BAMs and CRAMs.

            homepage: https://github.com/ryanlayer/samplot

            version toolchain 1.3.0 foss/2021b"},{"location":"version-specific/supported-software/#samtools","title":"SAMtools","text":"

            SAM Tools provide various utilities for manipulating alignments in the SAM format, including sorting, merging, indexing and generating alignments in a per-position format.

            homepage: http://www.htslib.org/

            version versionsuffix toolchain 0.1.17 intel/2017a 0.1.19 GCC/10.3.0, foss/2016a, foss/2016b 0.1.20 GCC/8.3.0, foss/2018b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intel/2019b 1.2 foss/2016b 1.3 foss/2016a, intel/2016a 1.3.1 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.3.1 -HTSlib-1.3.2 intel/2016b 1.4 foss/2016b, intel/2016b, intel/2017a 1.4.1 intel/2017a 1.5 foss/2016b, intel/2017a 1.6 GCC/6.4.0-2.28, foss/2017a, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2017b 1.7 foss/2018a, intel/2018a 1.8 intel/2018a 1.9 GCC/6.4.0-2.28, GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 1.10 GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281 1.11 GCC/10.2.0, GCC/9.3.0, iccifort/2020.4.304 1.12 GCC/10.2.0, GCC/10.3.0, GCC/9.3.0 1.13 GCC/10.3.0, GCC/11.3.0 1.14 GCC/11.2.0 1.15 GCC/11.2.0 1.15.1 GCC/11.2.0, GCC/11.3.0 1.16.1 GCC/11.2.0, GCC/11.3.0 1.17 GCC/12.2.0"},{"location":"version-specific/supported-software/#sansa","title":"sansa","text":"

            Structural variant (SV) annotation, a companion to the 'dolly' tool.

            homepage: https://github.com/dellytools/sansa/

            version toolchain 0.0.7 gompi/2020b"},{"location":"version-specific/supported-software/#sap","title":"SAP","text":"

            SAP is a pairwise structure alignment via double dynamic programming

            homepage: https://github.com/mathbio-nimr-mrc-ac-uk/SAP

            version toolchain 1.1.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#sas","title":"SAS","text":"

            SAS is a software suite for advanced analytics, multivariate analyses, business intelligence, data management, and predictive analytics.

            homepage: https://www.sas.com

            version toolchain 9.4 system"},{"location":"version-specific/supported-software/#satsuma2","title":"Satsuma2","text":"

            Satsuma2 is an optimised version of Satsuma, a tool to reliably align large and complex DNA sequences providing maximum sensitivity (to find all there is to find), specificity (to only find real homology) and speed (to accommodate the billions of base pairs in vertebrate genomes).

            homepage: https://github.com/bioinfologics/satsuma2

            version toolchain 20220304 GCC/11.3.0"},{"location":"version-specific/supported-software/#savvy","title":"savvy","text":"

            Interface to various variant calling formats.

            homepage: https://github.com/statgen/savvy

            version toolchain 1.3.0 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#saxon-he","title":"Saxon-HE","text":"

            Open Source SAXON XSLT processor developed by Saxonica Limited.

            homepage: http://saxon.sourceforge.net

            version versionsuffix toolchain 9.7.0.4 -Java-1.7.0_79 system 9.7.0.21 -Java-1.8.0_162 system 9.9.1.7 -Java-13 system"},{"location":"version-specific/supported-software/#sbcl","title":"SBCL","text":"

            Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler. It is open source / free software, with a permissive license. In addition to the compiler and runtime system for ANSI Common Lisp, it provides an interactive environment including a debugger, a statistical profiler, a code coverage tool, and many other extensions.

            homepage: http://sbcl.sourceforge.net/

            version toolchain 2.0.9 GCCcore/9.3.0 2.2.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#sbt","title":"sbt","text":"

            sbt is a build tool for Scala, Java, and more.

            homepage: http://www.scala-sbt.org/

            version versionsuffix toolchain 1.0.2 -Java-1.8.0_152 system 1.3.13 -Java-1.8 system"},{"location":"version-specific/supported-software/#scafacos","title":"ScaFaCoS","text":"

            ScaFaCoS is a library of scalable fast coulomb solvers.

            homepage: http://www.scafacos.de/

            version toolchain 1.0.1 foss/2020a, foss/2020b, foss/2021a, foss/2021b, intel/2020a 1.0.4 foss/2022a"},{"location":"version-specific/supported-software/#scalapack","title":"ScaLAPACK","text":"

            The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines redesigned for distributed memory MIMD parallel computers.

            homepage: https://www.netlib.org/scalapack/

            version versionsuffix toolchain 2.0.2 gompi/2019b, gompic/2019b 2.0.2 -BLIS-0.3.2 gompi/2018b 2.0.2 -OpenBLAS-0.2.13-LAPACK-3.5.0 gmvapich2/1.7.20 2.0.2 -OpenBLAS-0.2.15-LAPACK-3.6.0 gmpich/2016a, gmvapich2/2016a, gompi/2016a 2.0.2 -OpenBLAS-0.2.18-LAPACK-3.6.0 gompi/2016.04, gompi/2016.06 2.0.2 -OpenBLAS-0.2.18-LAPACK-3.6.1 gompi/2016.07, gompi/2016b 2.0.2 -OpenBLAS-0.2.19-LAPACK-3.6.1 gompi/2016.09 2.0.2 -OpenBLAS-0.2.19-LAPACK-3.7.0 gompi/2017a 2.0.2 -OpenBLAS-0.2.20 gimpi/2017b, gimpi/2018a, gimpic/2017b, gmpich/2017.08, gompi/2017b, gompi/2018a, gompic/2017b, gompic/2018a 2.0.2 -OpenBLAS-0.3.1 gompi/2018b, gompic/2018b 2.0.2 -OpenBLAS-0.3.3 gompi/2018.08 2.0.2 -OpenBLAS-0.3.5 gompi/2019a, gompic/2019a 2.1.0 gompi/2020a, gompi/2020b, gompic/2020a, gompic/2020b 2.1.0 -bf gompi/2020a, gompi/2020b, gompi/2021a, iimpi/2020b 2.1.0 -bl gompi/2020b 2.1.0 -fb gompi/2021a, gompi/2021b 2.2 -amd gompi/2020a 2.2.0 -fb gompi/2022.05, gompi/2022.10, gompi/2022a, gompi/2022b, gompi/2023a, nvompi/2022.07"},{"location":"version-specific/supported-software/#scalasca","title":"Scalasca","text":"

            Scalasca is a software tool that supports the performance optimization of parallel programs by measuring and analyzing their runtime behavior. The analysis identifies potential performance bottlenecks -- in particular those concerning communication and synchronization -- and offers guidance in exploring their causes.

            homepage: https://www.scalasca.org/

            version toolchain 2.3 foss/2016a 2.5 gompi/2019a, gompi/2020a 2.6 gompi/2021a, gompic/2020b 2.6.1 gompi/2022a"},{"location":"version-specific/supported-software/#scalce","title":"SCALCE","text":"

            SCALCE [ske\u026alz] is a FASTQ compression tool that uses locally consistet parsing to obtain better compression rate. SCALCE has been specifically designed for Illumina reads but it can handle other technologies (that generate base pair reads) if the read length is the same throughout the file.

            homepage: http://scalce.sourceforge.net/Home

            version toolchain 2.7 GCC/4.8.2"},{"location":"version-specific/supported-software/#scalene","title":"Scalene","text":"

            Scalene is a high-performance CPU, GPU and memory profiler for Python that does a number of things that other Python profilers do not and cannot do. It runs orders of magnitude faster than other profilers while delivering far more detailed information.

            homepage: https://github.com/plasma-umass/scalene

            version toolchain 1.5.13 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#scanpy","title":"scanpy","text":"

            Scanpy is a scalable toolkit for analyzing single-cell gene expression data built jointly with anndata. It includes preprocessing, visualization, clustering, trajectory inference and differential expression testing. The Python-based implementation efficiently deals with datasets of more than one million cells.

            homepage: https://scanpy.readthedocs.io/en/stable/

            version toolchain 1.7.2 foss/2020b 1.8.1 foss/2020b, foss/2021a 1.8.2 foss/2021b 1.9.1 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#scarches","title":"scArches","text":"

            Single-cell architecture surgery (scArches) is a package for reference-based analysis of single-cell data.

            homepage: https://github.com/theislab/scarches

            version versionsuffix toolchain 0.5.6 foss/2021a 0.5.6 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#sceasy","title":"sceasy","text":"

            sceasy is a package that helps easy conversion of different single-cell data formats to each other

            homepage: https://github.com/cellgeni/sceasy

            version versionsuffix toolchain 0.0.7 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#scenic","title":"SCENIC","text":"

            SCENIC Suite is a set of tools to study and decipher gene regulation.

            homepage: https://scenic.aertslab.org

            version versionsuffix toolchain 1.2.4 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#scgenefit","title":"scGeneFit","text":"

            Python code for genetic marker selection using linear programming.

            homepage: https://github.com/solevillar/scGeneFit-python

            version toolchain 1.0.2 foss/2021a"},{"location":"version-specific/supported-software/#scgid","title":"SCGid","text":"

            A consensus approach to contig filtering and genome prediction from single-cell sequencing libraries

            homepage: https://github.com/amsesk/SCGid

            version toolchain 0.9b0 foss/2021b"},{"location":"version-specific/supported-software/#schicexplorer","title":"scHiCExplorer","text":"

            The scHiCExplorer is a software to demultiplex, process, correct, normalize, manipulate, analyse and visualize single-cell Hi-C data.

            homepage: https://schicexplorer.readthedocs.io

            version toolchain 7 foss/2022a"},{"location":"version-specific/supported-software/#schrodinger","title":"Schrodinger","text":"

            Schrodinger aims to provide integrated software solutions and services that truly meet its customers needs. We want to empower researchers around the world to achieve their goals of improving human health and quality of life through advanced computational techniques that transform the way chemists design compounds and materials.

            homepage: https://www.schrodinger.com/

            version toolchain 2020-4 system 2021-4 system 2022-1 system 2022-2 system 2022-3 system"},{"location":"version-specific/supported-software/#scib","title":"scib","text":"

            Benchmarking atlas-level data integration in single-cell genomics.

            homepage: https://github.com/theislab/scib

            version toolchain 1.1.1 foss/2022a 1.1.3 foss/2021a"},{"location":"version-specific/supported-software/#sciclone","title":"sciClone","text":"

            An R package for inferring the subclonal architecture of tumors

            homepage: https://github.com/genome/sciclone

            version versionsuffix toolchain 1.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#scientificpython","title":"ScientificPython","text":"

            ScientificPython is a collection of Python modules for scientific computing. It contains support for geometry, mathematical functions, statistics, physical units, IO, visualization, and parallelization.

            homepage: http://dirac.cnrs-orleans.fr/ScientificPython

            version versionsuffix toolchain 2.9.4 -Python-2.7.11 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#scikit-allel","title":"scikit-allel","text":"

            This package provides utilities for exploratory analysis of large scale genetic variation data. It is based on numpy, scipy and other general-purpose Python scientific libraries.

            homepage: https://scikit-allel.readthedocs.io/en/latest/

            version versionsuffix toolchain 1.1.8 -Python-2.7.13 foss/2017a 1.2.1 -Python-3.8.2 foss/2020a 1.3.2 foss/2020b 1.3.3 foss/2021a"},{"location":"version-specific/supported-software/#scikit-bio","title":"scikit-bio","text":"

            scikit-bio is an open-source, BSD-licensed Python 3 package providing data structures, algorithms and educational resources for bioinformatics.

            homepage: http://scikit-bio.org

            version versionsuffix toolchain 0.5.6 -Python-3.8.2 foss/2020a 0.5.7 foss/2020b, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#scikit-build","title":"scikit-build","text":"

            Scikit-Build, or skbuild, is an improved build system generator for CPython C/C++/Fortran/Cython extensions.

            homepage: https://scikit-build.readthedocs.io/en/latest

            version versionsuffix toolchain 0.10.0 -Python-3.6.6 foss/2018b, intel/2018b 0.10.0 -Python-3.8.2 foss/2020a, fosscuda/2020a 0.11.1 GCCcore/10.3.0, GCCcore/11.2.0, foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 0.15.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 0.17.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#scikit-cuda","title":"scikit-cuda","text":"

            SciKit-cuda, a.k.a. skcuda, provides Python interfaces to many of the functions in the CUDA device/runtime, CUBLAS, CUFFT, and CUSOLVER libraries distributed as part of NVIDIA's CUDA Programming Toolkit.

            homepage: https://github.com/lebedov/scikit-cuda

            version versionsuffix toolchain 0.5.3 -Python-3.7.4 fosscuda/2019b"},{"location":"version-specific/supported-software/#scikit-image","title":"scikit-image","text":"

            scikit-image is a collection of algorithms for image processing.

            homepage: https://scikit-image.org/

            version versionsuffix toolchain 0.12.3 -Python-2.7.11 foss/2016a 0.12.3 -Python-2.7.12 intel/2016b 0.12.3 -Python-3.5.2 foss/2016b, intel/2016b 0.13.0 -Python-2.7.13 intel/2017a 0.13.0 -Python-3.6.1 intel/2017a 0.13.0 -Python-3.6.3 foss/2017b 0.13.1 -Python-2.7.14 intel/2017b 0.13.1 -Python-3.6.3 foss/2017b 0.13.1 -Python-3.6.4 foss/2018a 0.14.0 -Python-3.6.4 intel/2018a 0.14.1 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 0.15.0 -Python-3.7.2 foss/2019a 0.16.2 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 0.17.1 -Python-3.8.2 foss/2020a 0.18.1 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 0.18.3 foss/2021a 0.19.1 foss/2021b 0.19.3 foss/2022a"},{"location":"version-specific/supported-software/#scikit-learn","title":"scikit-learn","text":"

            Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, building upon numpy, scipy, and matplotlib. As a machine-learning module, it provides versatile tools for data mining and analysis in any field of science and engineering. It strives to be simple and efficient, accessible to everybody, and reusable in various contexts.

            homepage: https://scikit-learn.org/stable/index.html

            version versionsuffix toolchain 0.16.1 -Python-2.7.13 foss/2017a 0.17.1 -Python-2.7.11 foss/2016a, intel/2016a 0.17.1 -Python-2.7.11-freetype-2.6.3 intel/2016a 0.17.1 -Python-2.7.12 intel/2016b 0.17.1 -Python-3.5.1 foss/2016a, intel/2016a 0.18 -Python-2.7.12 intel/2016b 0.18 -Python-3.5.2 intel/2016b 0.18.1 -Python-2.7.12 foss/2016b, intel/2016b 0.18.1 -Python-2.7.13 intel/2017a 0.18.1 -Python-3.5.2 foss/2016b, intel/2016b 0.18.1 -Python-3.6.1 intel/2017a 0.18.2 -Python-3.6.1 intel/2017a 0.19.0 -Python-3.6.1 intel/2017a 0.19.1 -Python-2.7.13 foss/2017a 0.19.1 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.19.1 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.19.1 -Python-3.6.4 foss/2018a, intel/2018a 0.20.0 -Python-2.7.15 foss/2018b, intel/2018b 0.20.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 0.20.2 -Python-2.7.15 foss/2018b 0.20.2 -Python-3.6.6 foss/2018b 0.20.3 foss/2019a, fosscuda/2019a, intel/2019a 0.20.4 -Python-2.7.16 intel/2019b 0.20.4 -Python-2.7.18 foss/2020b 0.21.3 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 0.23.1 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a, intelcuda/2020a 0.23.2 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 0.24.2 foss/2021a, intel/2021a 1.0.1 foss/2021b, intel/2021b 1.0.2 foss/2021b 1.1.2 foss/2022a, intel/2022a 1.2.1 gfbf/2022b"},{"location":"version-specific/supported-software/#scikit-misc","title":"scikit-misc","text":"

            Miscellaneous tools for data analysis and scientific computing

            homepage: https://github.com/has2k1/scikit-misc

            version toolchain 0.1.4 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#scikit-multilearn","title":"scikit-multilearn","text":"

            Scikit-multilearn is a BSD-licensed library for multi-label classification that is built on top of the well-known scikit-learn ecosystem.

            homepage: http://scikit.ml

            version versionsuffix toolchain 0.2.0 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#scikit-optimize","title":"scikit-optimize","text":"

            Scikit-Optimize, or skopt, is a simple and efficient library to minimize (very) expensive and noisy black-box functions.

            homepage: https://scikit-optimize.github.io

            version versionsuffix toolchain 0.5.2 -Python-3.6.6 intel/2018b 0.7.4 -Python-3.7.4 foss/2019b 0.8.1 -Python-3.8.2 foss/2020a 0.9.0 foss/2021a"},{"location":"version-specific/supported-software/#scikit-uplift","title":"scikit-uplift","text":"

            scikit-uplift is a Python module for classic approaches for uplift modeling built on top of scikit-learn. Uplift prediction aims to estimate the causal impact of a treatment at the individual level.

            homepage: https://github.com/maks-sh/scikit-uplift

            version versionsuffix toolchain 0.2.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#scip","title":"SCIP","text":"

            SCIP is currently one of the fastest non-commercial solvers for mixed integer programming (MIP) and mixed integer nonlinear programming (MINLP). It is also a framework for constraint integer programming and branch-cut-and-price. It allows for total control of the solution process and the access of detailed information down to the guts of the solver.

            homepage: https://www.scipopt.org/

            version toolchain 3.2.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#sciphi","title":"SCIPhI","text":"

            Single-cell mutation identification via phylogenetic inference (SCIPhI) is a new approach to mutation detection in individual tumor cells by leveraging the evolutionary relationship among cells.

            homepage: https://github.com/cbg-ethz/SCIPhI

            version toolchain 0.1.3 intel/2018b"},{"location":"version-specific/supported-software/#scipy","title":"scipy","text":"

            SciPy is a collection of mathematical algorithms and convenience functions built on the Numpy extension for Python.

            homepage: https://www.scipy.org

            version versionsuffix toolchain 0.16.0 -Python-2.7.12 intel/2016b 0.17.0 -Python-2.7.11 intel/2016a 0.19.0 -Python-3.5.2 intel/2016b 1.4.1 -Python-3.7.4 foss/2019b, fosscuda/2019b"},{"location":"version-specific/supported-software/#scipy-bundle","title":"SciPy-bundle","text":"

            Bundle of Python packages for scientific software

            homepage: https://python.org/

            version versionsuffix toolchain 2019.03 foss/2019a, fosscuda/2019a, intel/2019a, intelcuda/2019a 2019.10 -Python-2.7.16 foss/2019b, fosscuda/2019b, intel/2019b 2019.10 -Python-3.7.2 intel/2019a 2019.10 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b, intelcuda/2019b 2020.03 -Python-2.7.18 foss/2020a, fosscuda/2020a, intel/2020a 2020.03 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a, intelcuda/2020a 2020.11 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 2020.11 -Python-2.7.18 foss/2020b 2021.05 foss/2021a, gomkl/2021a, intel/2021a 2021.10 foss/2021b, intel/2021b 2021.10 -Python-2.7.18 foss/2021b 2022.05 foss/2022.05, foss/2022a, intel/2022.05, intel/2022a 2023.02 gfbf/2022b"},{"location":"version-specific/supported-software/#scnorm","title":"SCnorm","text":"

            This package implements SCnorm \u2014 a method to normalize single-cell RNA-seq data.

            homepage: https://bioconductor.org/packages/SCnorm

            version versionsuffix toolchain 0.99.7 -R-3.4.0 intel/2017a"},{"location":"version-specific/supported-software/#scoary","title":"Scoary","text":"

            Microbial pan-GWAS using the output from Roary

            homepage: https://github.com/AdmiralenOla/Scoary

            version versionsuffix toolchain 1.6.16 foss/2021a 1.6.16 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#scons","title":"SCons","text":"

            SCons is a software construction tool.

            homepage: https://www.scons.org/

            version versionsuffix toolchain 2.4.1 -Python-2.7.11 foss/2016a 2.5.0 -Python-2.7.12 foss/2016b, intel/2016b 2.5.1 intel/2017a 2.5.1 -Python-2.7.12 foss/2016b, intel/2016b 2.5.1 -Python-2.7.13 intel/2017a 3.0.1 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a, iomkl/2018a 3.0.1 -Python-2.7.15 foss/2018b, fosscuda/2018b 3.0.1 -Python-2.7.15-bare GCCcore/7.3.0 3.0.1 -Python-3.6.3 foss/2017b, intel/2017b 3.0.1 -Python-3.6.4 foss/2018a, intel/2018a 3.0.4 -Python-2.7.15 foss/2018b 3.0.5 GCCcore/8.2.0 3.0.5 -Python-2.7.15 GCCcore/8.2.0 3.0.5 -Python-3.7.2 GCCcore/8.2.0 3.1.1 GCCcore/8.3.0 3.1.2 GCCcore/9.3.0 4.0.1 GCCcore/10.2.0 4.1.0.post1 GCCcore/10.2.0, GCCcore/10.3.0 4.2.0 GCCcore/11.2.0 4.4.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#scoop","title":"SCOOP","text":"

            SCOOP (Scalable COncurrent Operations in Python) is a distributed task module allowing concurrent parallel programming on various environments, from heterogeneous grids to supercomputers.

            homepage: http://code.google.com/p/scoop/

            version versionsuffix toolchain 0.6.2 -Python-2.7.12 intel/2016b 0.7.1.1 GCCcore/8.2.0 0.7.1.1 -Python-2.7.11 intel/2016a 0.7.1.1 -Python-2.7.14 intel/2017b 0.7.1.1 -Python-3.5.1 intel/2016a"},{"location":"version-specific/supported-software/#scopeloomr","title":"SCopeLoomR","text":"

            An R package (compatible with SCope) to create generic .loom files and extend them with other data e.g.: SCENIC regulons, Seurat clusters and markers, ...

            homepage: https://github.com/aertslab/SCopeLoomR

            version versionsuffix toolchain 0.13.0 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#score-p","title":"Score-P","text":"

            The Score-P measurement infrastructure is a highly scalable and easy-to-use tool suite for profiling, event tracing, and online analysis of HPC applications.

            homepage: https://www.score-p.org

            version versionsuffix toolchain 2.0.1 foss/2016a 6.0 gompi/2019a, gompi/2019b, gompi/2020a, gompic/2019a, gompic/2019b, gompic/2020a 7.0 gompi/2020b, gompi/2021a, gompic/2020b 7.1 -CUDA-11.3.1 gompi/2021a 8.0 gompi/2021b, gompi/2022a 8.0 -CUDA-11.4.1 gompi/2021b 8.0 -CUDA-11.7.0 gompi/2022a"},{"location":"version-specific/supported-software/#scotch","title":"SCOTCH","text":"

            Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.

            homepage: https://www.labri.fr/perso/pelegrin/scotch/

            version versionsuffix toolchain 5.1.12b_esmumps foss/2017b 6.0.4 foss/2016a, foss/2016b, foss/2017b, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a 6.0.4 -64bitint foss/2017b 6.0.6 foss/2018a, foss/2018b, gompi/2019a, iimpi/2019a, intel/2018a 6.0.9 gompi/2019b, gompi/2020a, iimpi/2019b, iimpi/2020a, iimpic/2019b 6.1.0 gompi/2020b, gompi/2021a, iimpi/2020b, iimpi/2021a 6.1.2 gompi/2021b, iimpi/2021b 7.0.1 gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#scp","title":"scp","text":"

            The scp.py module uses a paramiko transport to send and recieve files via the scp1 protocol.

            homepage: https://github.com/jbardin/scp.py

            version versionsuffix toolchain 0.10.2 -Python-2.7.12 intel/2016b 0.13.1 -Python-2.7.15 intel/2018b 0.13.2 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#scpred","title":"scPred","text":"

            scPred package for cell type prediction from scRNA-seq data

            homepage: https://github.com/powellgenomicslab/scPred

            version versionsuffix toolchain 1.9.2 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#scrappie","title":"Scrappie","text":"

            Scrappie is a technology demonstrator for the Oxford Nanopore Research Algorithms group.

            homepage: https://github.com/nanoporetech/scrappie

            version toolchain 1.3.2 intel/2018a"},{"location":"version-specific/supported-software/#scvelo","title":"scVelo","text":"

            scVelo is a scalable toolkit for estimating and analyzing RNA velocities in single cells using dynamical modeling.

            homepage: https://scvelo.org

            version versionsuffix toolchain 0.1.24 -Python-3.7.4 foss/2019b 0.2.3 foss/2021a"},{"location":"version-specific/supported-software/#scvi-tools","title":"scvi-tools","text":"

            scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and analysis of single-cell omics data, built on top of PyTorch and AnnData.

            homepage: https://github.com/scverse/scvi-tools

            version versionsuffix toolchain 0.16.4 foss/2021a 0.16.4 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#scythe","title":"Scythe","text":"

            Scythe uses a Naive Bayesian approach to classify contaminant substrings in sequence reads. It considers quality information, which can make it robust in picking out 3'-end adapters, which often include poor quality bases.

            homepage: https://github.com/ucdavis-bioinformatics/scythe

            version toolchain 0.994 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#sdcc","title":"SDCC","text":"

            SDCC is a retargettable, optimizing ANSI - C compiler suite that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based (hc08, s08) and Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit 2000/3000, Rabbit 3000A). Work is in progress on supporting the Microchip PIC16 and PIC18 targets. It can be retargeted for other microprocessors.

            homepage: http://sdcc.sourceforge.net/

            version toolchain 3.3.0 system"},{"location":"version-specific/supported-software/#sdl","title":"SDL","text":"

            SDL: Simple DirectMedia Layer, a cross-platform multimedia library

            homepage: https://www.libsdl.org/

            version toolchain 1.2.15 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#sdl2","title":"SDL2","text":"

            SDL: Simple DirectMedia Layer, a cross-platform multimedia library

            homepage: https://www.libsdl.org/

            version toolchain 2.0.4 intel/2016b 2.0.8 GCCcore/6.4.0, foss/2017b, intel/2017b, intel/2018a 2.0.9 GCCcore/8.2.0, foss/2018b, fosscuda/2018b, intel/2018b 2.0.10 GCCcore/8.3.0 2.0.14 GCCcore/10.2.0, GCCcore/10.3.0 2.0.20 GCCcore/11.2.0 2.0.22 GCCcore/11.3.0 2.26.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#sdl2_image","title":"SDL2_image","text":"

            SDL_image is an image file loading library.

            homepage: https://www.libsdl.org/projects/SDL_image/

            version toolchain 2.0.3 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#sdl_image","title":"SDL_image","text":"

            SDL_image is an image file loading library.

            homepage: https://www.libsdl.org/projects/SDL_image/release-1.2.html

            version toolchain 1.2.12 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#sdsl","title":"SDSL","text":"

            The Succinct Data Structure Library (SDSL) is a powerful and flexible C++11 library implementing succinct data structures.

            homepage: https://github.com/simongog/sdsl-lite

            version toolchain 2.1.1-20191211 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#seaborn","title":"Seaborn","text":"

            Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing attractive statistical graphics.

            homepage: https://seaborn.pydata.org/

            version versionsuffix toolchain 0.7.1 -Python-2.7.12 intel/2016b 0.8.1 -Python-2.7.13 foss/2017a 0.8.1 -Python-2.7.14 intel/2018a 0.9.0 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intel/2018a, intelcuda/2017b 0.9.0 -Python-2.7.15 foss/2018b, foss/2019a, intel/2018b, intel/2019a 0.9.0 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.9.0 -Python-3.6.4 intel/2018a 0.9.0 -Python-3.6.6 foss/2018b, intel/2018b 0.9.0 -Python-3.7.2 foss/2019a, intel/2019a 0.9.1 -Python-2.7.16 foss/2019b 0.9.1 -Python-2.7.18 foss/2020b 0.10.0 -Python-3.7.4 foss/2019b, intel/2019b 0.10.1 intel/2020b 0.10.1 -Python-3.8.2 foss/2020a, intel/2020a 0.11.1 foss/2020b, fosscuda/2020b, intel/2020b 0.11.2 foss/2021a, foss/2021b 0.12.1 foss/2022a 0.12.2 foss/2022b"},{"location":"version-specific/supported-software/#searchgui","title":"SearchGUI","text":"

            SearchGUI is a user-friendly open-source graphical user interface for configuring and running proteomics identification search engines and de novo sequencing algorithms, currently supporting X! Tandem, MS-GF+, MS Amanda, MyriMatch, Comet, Tide, Andromeda, OMSSA, Novor and DirecTag.

            homepage: https://github.com/compomics/searchgui

            version versionsuffix toolchain 3.3.3 -Java-1.8.0_152 system"},{"location":"version-specific/supported-software/#seaview","title":"SeaView","text":"

            SeaView is a multiplatform, graphical user interface for multiple sequence alignment and molecular phylogeny.

            homepage: https://doua.prabi.fr/software/seaview

            version toolchain 5.0.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#secapr","title":"SECAPR","text":"

            SECAPR is a bioinformatics pipeline for the rapid and user-friendly processing of targeted enriched Illumina sequences, from raw reads to alignments

            homepage: https://github.com/AntonelliLab/seqcap_processor

            version versionsuffix toolchain 1.1.15 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#seeder","title":"Seeder","text":"

            Seeder is a framework for DNA motif discovery.

            homepage: https://metacpan.org/pod/Seeder

            version versionsuffix toolchain 0.01 -Perl-5.28.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#segemehl","title":"segemehl","text":"

            segemehl is a software to map short sequencer reads to reference genomes. Unlike other methods, segemehl is able to detect not only mismatches but also insertions and deletions. Furthermore, segemehl is not limited to a specific read length and is able to map primer- or polyadenylation contaminated reads correctly. segemehl implements a matching strategy based on enhanced suffix arrays (ESA). Segemehl now supports the SAM format, reads gziped queries to save both disk and memory space and allows bisulfite sequencing mapping and split read mapping.

            homepage: https://www.bioinf.uni-leipzig.de/Software/segemehl/

            version toolchain 0.2.0 foss/2016b, intel/2017b, intel/2018a 0.3.4 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/8.3.0, foss/2018b, iccifort/2020.4.304"},{"location":"version-specific/supported-software/#segmentation-models","title":"segmentation-models","text":"

            Python library with Neural Networks for Image Segmentation based on Keras and TensorFlow.

            homepage: https://github.com/qubvel/segmentation_models

            version versionsuffix toolchain 1.0.1 -Python-3.7.4 foss/2019b, fosscuda/2019b"},{"location":"version-specific/supported-software/#seissol","title":"SeisSol","text":"

            SeisSol is a software package for simulating wave propagation and dynamic rupture based on the arbitrary high-order accurate derivative discontinuous Galerkin method (ADER-DG).

            homepage: http://www.seissol.org

            version versionsuffix toolchain 201703 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#selestim","title":"SelEstim","text":"

            SelEstim is aimed at distinguishing neutral from selected polymorphisms and estimate the intensity of selection at the latter. The SelEstim model accounts explicitly for positive selection, and it is assumed that all marker loci in the dataset are responding to selection, to some extent

            homepage: http://www1.montpellier.inra.fr/CBGP/software/selestim/index.html

            version versionsuffix toolchain 1.1.4 -Linux-64bits system"},{"location":"version-specific/supported-software/#selfies","title":"SELFIES","text":"

            Robust representation of semantically constrained graphs, in particular for molecules in chemistry

            homepage: https://github.com/aspuru-guzik-group/selfies

            version toolchain 2.1.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#sentencepiece","title":"SentencePiece","text":"

            Unsupervised text tokenizer for Neural Network-based text generation.

            homepage: https://github.com/google/sentencepiece

            version versionsuffix toolchain 0.1.85 -Python-3.7.4 GCC/8.3.0 0.1.94 -Python-3.8.2 GCC/9.3.0 0.1.96 GCC/10.2.0, GCC/10.3.0 0.1.97 GCC/11.3.0"},{"location":"version-specific/supported-software/#sep","title":"sep","text":"

            Python and C library for Source Extraction and Photometry. (this easyconfig provides python library only)

            homepage: https://sep.readthedocs.io

            version versionsuffix toolchain 1.0.3 -Python-2.7.15 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#sepp","title":"SEPP","text":"

            SATe-enabled Phylogenetic Placement - addresses the problem of phylogenetic placement of short reads into reference alignments and trees.

            homepage: https://github.com/smirarab/sepp

            version versionsuffix toolchain 4.3.10 -Python-3.7.4 foss/2019b 4.3.10 -Python-3.8.2 foss/2020a 4.4.0 foss/2020b 4.5.0 foss/2021a 4.5.1 foss/2021b, foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#seq-gen","title":"Seq-Gen","text":"

            Seq-Gen is a program that will simulate the evolution of nucleotide or amino acid sequences along a phylogeny, using common models of the substitution process.

            homepage: http://tree.bio.ed.ac.uk/software/Seq-Gen

            version toolchain 1.3.4 intel/2017b"},{"location":"version-specific/supported-software/#seq2hla","title":"seq2HLA","text":"

            In-silico method written in Python and R to determine HLA genotypes of a sample. seq2HLA takes standard RNA-Seq sequence reads in fastq format as input, uses a bowtie index comprising all HLA alleles and outputs the most likely HLA class I and class II genotypes (in 4 digit resolution), a p-value for each call, and the expression of each class.

            homepage: https://github.com/TRON-Bioinformatics/seq2HLA

            version versionsuffix toolchain 2.3 -Python-2.7.14 intel/2018a 2.3 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#seqan","title":"SeqAn","text":"

            SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data

            homepage: https://www.seqan.de/

            version versionsuffix toolchain 1.4.2 -library system 2.3.2 foss/2016b 2.4.0 GCC/8.2.0-2.31.1, GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#seqan3","title":"SeqAn3","text":"

            SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data. Our library applies a unique generic design that guarantees high performance, generality, extensibility, and integration with other libraries. SeqAn is easy to use and simplifies the development of new software tools with a minimal loss of performance.

            homepage: https://github.com/seqan/seqan3

            version toolchain 3.0.0 system"},{"location":"version-specific/supported-software/#seqkit","title":"SeqKit","text":"

            SeqKit - a cross-platform and ultrafast toolkit for FASTA/Q file manipulation

            homepage: https://bioinf.shenwei.me/seqkit/

            version toolchain 0.8.1 system 0.13.2 system 2.1.0 system 2.2.0 system 2.3.1 system"},{"location":"version-specific/supported-software/#seqlib","title":"SeqLib","text":"

            C++ interface to HTSlib, BWA-MEM and Fermi.

            homepage: https://github.com/walaj/SeqLib

            version toolchain 1.2.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#seqmagick","title":"Seqmagick","text":"

            We often have to convert between sequence formats and do little tasks on them, and it's not worth writing scripts for that. Seqmagick is a kickass little utility built in the spirit of imagemagick to expose the file format conversion in Biopython in a convenient way. Instead of having a big mess of scripts, there is one that takes arguments.

            homepage: https://fhcrc.github.io/seqmagick/

            version versionsuffix toolchain 0.6.1 -Python-2.7.11 foss/2016a 0.6.2 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#seqprep","title":"SeqPrep","text":"

            Tool for stripping adaptors and/or merging paired reads with overlap into single reads.

            homepage: https://github.com/jstjohn/SeqPrep

            version toolchain 1.3.2 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#seqtk","title":"seqtk","text":"

            Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. It seamlessly parses both FASTA and FASTQ files which can also be optionally compressed by gzip.

            homepage: https://github.com/lh3/seqtk/

            version toolchain 1.2 foss/2016b, intel/2017a 1.3 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2018a, foss/2018b 1.4 GCC/12.2.0"},{"location":"version-specific/supported-software/#serf","title":"Serf","text":"

            The serf library is a high performance C-based HTTP client library built upon the Apache Portable Runtime (APR) library

            homepage: http://serf.apache.org/

            version toolchain 1.3.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/9.3.0, foss/2017b, intel/2017b, iomkl/2018a"},{"location":"version-specific/supported-software/#setuptools","title":"setuptools","text":"

            Easily download, build, install, upgrade, and uninstall Python packages

            homepage: https://pypi.org/project/setuptools

            version versionsuffix toolchain 1.4.2 system 41.0.1 -py3 system"},{"location":"version-specific/supported-software/#seurat","title":"Seurat","text":"

            Seurat is an R package designed for QC, analysis, and exploration of single cell RNA-seq data.

            homepage: https://satijalab.org/seurat

            version versionsuffix toolchain 1.4.0.16 -R-3.4.0 intel/2017a 2.3.4 -R-3.4.4 intel/2018a 2.3.4 -R-3.5.1 foss/2018b 3.1.2 -R-3.6.0 foss/2019a 3.1.5 -R-4.0.0 foss/2020a 4.0.1 -R-4.0.3 foss/2020b 4.0.3 -R-4.0.3 foss/2020b 4.2.0 -R-4.2.1 foss/2022a 4.3.0 -R-4.1.2 foss/2021b 4.3.0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#seuratdata","title":"SeuratData","text":"

            SeuratData is a mechanism for distributing datasets in the form of Seurat objects using R's internal package and data management systems.

            homepage: https://github.com/satijalab/seurat-data

            version versionsuffix toolchain 20210514 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#seuratdisk","title":"SeuratDisk","text":"

            Interfaces for HDF5-based Single Cell File Formats

            homepage: https://github.com/mojaveazure/seurat-disk

            version versionsuffix toolchain 0.0.0.9020 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#seuratwrappers","title":"SeuratWrappers","text":"

            SeuratWrappers is a collection of community-provided methods and extensions for Seurat

            homepage: https://github.com/satijalab/seurat-wrappers

            version versionsuffix toolchain 20210528 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#sf","title":"sf","text":"

            Support for simple features, a standardized way to encode spatial vector data. Binds to GDAL for reading and writing data, to GEOS for geometrical operations, and to PROJ for projection conversions and datum transformations.

            homepage: https://cran.r-project.org/package=sf

            version versionsuffix toolchain 0.9-5 -R-4.0.0-Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#sfftk","title":"sfftk","text":"

            sfftk is a set of utilities that facilitate creation, conversion and modification of Electron Microscopy Data Bank - Segmentation File Format (EMDB-SFF) files. EMDB-SFF is an open, community-driven file format to handle annotated segmentations and subtomogram averages that facilitates segmentation file interchange. It is written in Python and provides both a command-line suite of commands and a Python API.

            homepage: https://emdb-empiar.github.io/EMDB-SFF/

            version toolchain 0.7.4 foss/2021a"},{"location":"version-specific/supported-software/#shannon","title":"Shannon","text":"

            Shannon is a program for assembling transcripts from RNA-Seq data

            homepage: https://sreeramkannan.github.io/Shannon/

            version versionsuffix toolchain 20170511 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#shap","title":"SHAP","text":"

            SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley values from game theory and their related extensions.

            homepage: https://github.com/slundberg/shap

            version versionsuffix toolchain 0.35.0 -Python-3.7.4 foss/2019b 0.41.0 foss/2022a"},{"location":"version-specific/supported-software/#shapaar","title":"shapAAR","text":"

            An R package for the extraction, analysis and classification of (not only) archaeological objects from scanned images.

            homepage: https://github.com/ISAAKiel/shapAAR

            version versionsuffix toolchain 0.1.0-20180425 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#shapeit","title":"SHAPEIT","text":"

            SHAPEIT is a fast and accurate method for estimation of haplotypes (aka phasing) from genotype or sequencing data.

            homepage: https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.html

            version versionsuffix toolchain 2.r837 .GLIBCv2.12 system 2.r904 .glibcv2.17 system"},{"location":"version-specific/supported-software/#shapeit4","title":"SHAPEIT4","text":"

            SHAPEIT4 is a fast and accurate method for estimation of haplotypes (aka phasing) for SNP array and high coverage sequencing data.

            homepage: https://odelaneau.github.io/shapeit4/

            version toolchain 4.1.3 foss/2019b 4.2.0 foss/2019b, foss/2020a, foss/2020b 4.2.2 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#shapely","title":"Shapely","text":"

            Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.

            homepage: https://github.com/Toblerity/Shapely

            version versionsuffix toolchain 1.7.0 -Python-3.7.2 foss/2019a 1.7.0 -Python-3.7.4 GCC/8.3.0, iccifort/2019.5.281 1.7.1 -Python-3.8.2 GCC/9.3.0 1.8.1.post1 GCC/11.2.0 1.8.2 foss/2021b, foss/2022a 1.8a1 GCC/10.2.0, GCC/10.3.0, iccifort/2020.4.304 2.0.1 foss/2022b"},{"location":"version-specific/supported-software/#sharutils","title":"sharutils","text":"

            GNU shar makes so-called shell archives out of many files, preparing them for transmission by electronic mail services, while unshar helps unpacking shell archives after reception.

            homepage: https://www.gnu.org/software/sharutils/

            version toolchain 4.15 GCCcore/6.3.0"},{"location":"version-specific/supported-software/#shasta","title":"Shasta","text":"

            The goal of the Shasta long read assembler is to rapidly produce accurate assembled sequence using DNA reads generated by Oxford Nanopore flow cells as input. Computational methods used by the Shasta assembler include: Using a run-length representation of the read sequence. This makes the assembly process more resilient to errors in homopolymer repeat counts, which are the most common type of errors in Oxford Nanopore reads. Using in some phases of the computation a representation of the read sequence based on markers, a fixed subset of short k-mers (k \u2248 10).

            homepage: https://github.com/chanzuckerberg/shasta

            version toolchain 0.8.0 foss/2020b"},{"location":"version-specific/supported-software/#shengbte","title":"ShengBTE","text":"

            A solver for the Boltzmann transport equation for phonons.

            homepage: https://bitbucket.org/sousaw/shengbte

            version toolchain 1.1.1 foss/2021a 1.5.0 foss/2022a"},{"location":"version-specific/supported-software/#shift","title":"shift","text":"

            Shift is a framework for Self-Healing Independent File Transfer that provides high performance and resilience for local and remote transfers through a variety of techniques.

            homepage: http://people.nas.nasa.gov/~kolano/projects/shift.html

            version toolchain 4.0 intel/2016a"},{"location":"version-specific/supported-software/#shore","title":"SHORE","text":"

            SHORE, for Short Read, is a mapping and analysis pipeline for short read data produced on the Illumina platform.

            homepage: http://1001genomes.org/software/shore.html

            version toolchain 0.9.3 foss/2016a"},{"location":"version-specific/supported-software/#short-pair","title":"Short-Pair","text":"

            Sensitive Short Read Homology Search for Paired-End Reads

            homepage: https://sourceforge.net/projects/short-pair

            version versionsuffix toolchain 20170125 foss/2021b 20170125 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#shovill","title":"shovill","text":"

            Faster SPAdes assembly of Illumina reads

            homepage: https://github.com/tseemann/shovill

            version versionsuffix toolchain 0.9.0 -Python-2.7.14 foss/2018a 1.0.4 -Python-2.7.15 foss/2018b 1.1.0 gompi/2021b"},{"location":"version-specific/supported-software/#shrinkwrap","title":"shrinkwrap","text":"

            A std::streambuf wrapper for compression formats.

            homepage: https://github.com/jonathonl/shrinkwrap

            version toolchain 1.0.0-beta GCCcore/8.2.0 1.1.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#shtns","title":"SHTns","text":"

            Spherical Harmonic Transform library aimed at high performance numerical simulations in spherical geometries.

            homepage: https://bitbucket.org/nschaeff/shtns

            version toolchain 2.7 foss/2021b 3.5.1 foss/2021b"},{"location":"version-specific/supported-software/#sibelia","title":"Sibelia","text":"

            Sibelia: A comparative genomics tool: It assists biologists in analysing the genomic variations that correlate with pathogens, or the genomic changes that help microorganisms adapt in different environments. Sibelia will also be helpful for the evolutionary and genome rearrangement studies for multiple strains of microorganisms.

            homepage: http://bioinf.spbau.ru/en/sibelia

            version toolchain 3.0.6 foss/2016b 3.0.7 foss/2018b, foss/2020b"},{"location":"version-specific/supported-software/#sicer2","title":"SICER2","text":"

            Redesigned and improved ChIP-seq broad peak calling tool SICER

            homepage: https://zanglab.github.io/SICER2/

            version versionsuffix toolchain 1.0.3 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#sickle","title":"sickle","text":"

            Windowed Adaptive Trimming for fastq files using quality

            homepage: https://github.com/najoshi/sickle

            version toolchain 1.33 foss/2017a, intel/2018a"},{"location":"version-specific/supported-software/#siesta","title":"Siesta","text":"

            SIESTA is both a method and its computer program implementation, to perform efficient electronic structure calculations and ab initio molecular dynamics simulations of molecules and solids.

            homepage: http://departments.icmab.es/leem/siesta

            version versionsuffix toolchain 4.0 foss/2017b, intel/2017a 4.0.1 intel/2017a 4.1-b2 intel/2017a 4.1-b3 intel/2017a 4.1-b4 foss/2018b, intel/2018b 4.1-MaX-1.0 intel/2019b 4.1-MaX-1.0 -PEXSI intel/2019b 4.1.5 foss/2020a, foss/2021a, foss/2021b, foss/2022a, intel/2020a, intel/2022a"},{"location":"version-specific/supported-software/#signalp","title":"SignalP","text":"

            SignalP predicts the presence and location of signal peptide cleavage sites in amino acid sequences from different organisms

            homepage: https://services.healthtech.dtu.dk/software.php

            version versionsuffix toolchain 5.0b -Linux system 6.0g -fast foss/2021b, foss/2022a 6.0g -fast-CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#silhouetterank","title":"silhouetteRank","text":"

            silhouetteRank is a tool for finding spatially variable genes based on computing silhouette coefficient from binarized spatial gene expression data

            homepage: https://pypi.org/project/silhouetteRank

            version toolchain 1.0.5.13 foss/2022a"},{"location":"version-specific/supported-software/#silx","title":"silx","text":"

            The silx project provides a collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities.

            homepage: http://www.silx.org/

            version versionsuffix toolchain 0.13.2 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.14.0 foss/2020b, fosscuda/2020b 1.0.0 foss/2021b"},{"location":"version-specific/supported-software/#simint","title":"simint","text":"

            Simint is a vectorized implementation of the Obara-Saika (OS) method of calculating electron repulsion integrals. Speedup is gained by vectorizing the primitive loop of the OS algorithm, with additional vectorization and optimizations left to the compiler.

            homepage: https://www.bennyp.org/research/simint/

            version versionsuffix toolchain 0.7 -lmax-5-vec-avx-psi4 GCC/11.2.0"},{"location":"version-specific/supported-software/#simnibs","title":"SimNIBS","text":"

            SimNIBS is a free and open source software package for the Simulation of Non-invasive Brain Stimulation.

            homepage: https://simnibs.github.io/simnibs

            version toolchain 3.2.4 foss/2020b"},{"location":"version-specific/supported-software/#simpeg","title":"SimPEG","text":"

            Simulation and Parameter Estimation in Geophysics: a python package for simulation and gradient based parameter estimation in the context of geophysical applications.

            homepage: https://simpeg.xyz

            version versionsuffix toolchain 0.3.1 -Python-2.7.12 intel/2016b 0.14.1 -Python-3.8.2 intel/2020a 0.18.1 foss/2021b, intel/2021b"},{"location":"version-specific/supported-software/#simple","title":"SIMPLE","text":"

            Single-particle IMage Processing Linux Engine SIMPLE is an open-source software package for analysis of cryogenic transmission electron microscopy (cryo-EM) movies of single-particles (Single-Particle Analysis, SPA).

            homepage: https://simplecryoem.com/

            version toolchain 2.5 foss/2018a 3.0.0 foss/2020b"},{"location":"version-specific/supported-software/#simple-dftd3","title":"Simple-DFTD3","text":"

            Reimplementation of the D3 dispersion correction. The s-dftd3 project aims to provide a user-friendly and uniform interface to the D3 dispersion model and for the calculation of DFT-D3 dispersion corrections.

            homepage: https://dftd3.readthedocs.io

            version toolchain 0.7.0 foss/2022a"},{"location":"version-specific/supported-software/#simpleelastix","title":"SimpleElastix","text":"

            Multi-lingual medical image registration library.

            homepage: https://simpleelastix.github.io

            version versionsuffix toolchain 0.10.0 -Python-3.6.3 foss/2017b 0.10.0 -Python-3.6.4 foss/2018a 1.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#simpleitk","title":"SimpleITK","text":"

            SimpleITK is a simplified programming interface to the algorithms and data structures of the Insight Toolkit (ITK).

            homepage: https://www.simpleitk.org

            version versionsuffix toolchain 1.1.0 -Python-2.7.15 foss/2018b 1.1.0 -Python-3.6.4 foss/2018a 1.1.0 -Python-3.6.6 foss/2018b 1.2.4 -Python-3.7.4 foss/2019b 2.1.0 foss/2020b, fosscuda/2020b 2.1.1 foss/2021a 2.1.1.2 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#simpy","title":"simpy","text":"

            SimPy is a process-based discrete-event simulation framework based on standard Python.

            homepage: https://simpy.readthedocs.io

            version versionsuffix toolchain 3.0.11 intel/2019a 3.0.11 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#simvascular","title":"SimVascular","text":"

            SimVascular is an open source software suite for cardiovascular simulation, providing a complete pipeline from medical image data to 3D model construction, meshing, and blood flow simulation.

            homepage: http://simvascular.github.io/

            version toolchain 2.16.0406 intel/2016b"},{"location":"version-specific/supported-software/#singlem","title":"SingleM","text":"

            SingleM is a tool to find the abundances of discrete operational taxonomic units (OTUs) directly from shotgun metagenome data, without heavy reliance on reference sequence databases.

            homepage: https://github.com/wwood/singlem

            version versionsuffix toolchain 0.12.1 -Python-2.7.15 intel/2019a"},{"location":"version-specific/supported-software/#singular","title":"Singular","text":"

            Singular is a computer algebra system for polynomial computations, with special emphasis on commutative and non-commutative algebra, algebraic geometry, and singularity theory.

            homepage: https://www.singular.uni-kl.de/

            version toolchain 4.1.2 GCC/8.2.0-2.31.1, system"},{"location":"version-specific/supported-software/#sinvict","title":"SiNVICT","text":"

            SiNVICT is a tool for the detection of SNVs and indels from cfDNA/ctDNA samples obtained by ultra-deep sequencing.

            homepage: https://github.com/sfu-compbio/sinvict

            version toolchain 1.0-20180817 GCC/9.3.0"},{"location":"version-specific/supported-software/#sionlib","title":"SIONlib","text":"

            SIONlib is a scalable I/O library for parallel access to task-local files. The library not only supports writing and reading binary data to or from several thousands of processors into a single or a small number of physical files, but also provides global open and close functions to access SIONlib files in parallel. This package provides a stripped-down installation of SIONlib for use with performance tools (e.g., Score-P), with renamed symbols to avoid conflicts when an application using SIONlib itself is linked against a tool requiring a different SIONlib version.

            homepage: https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html

            version versionsuffix toolchain 1.6.1 foss/2016a 1.6.1 -tools foss/2016a 1.7.1 foss/2017a 1.7.1 -tools foss/2017a 1.7.4 -tools GCCcore/8.2.0 1.7.6 -tools GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.7.7 -tools GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#sip","title":"SIP","text":"

            SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries.

            homepage: http://www.riverbankcomputing.com/software/sip/

            version versionsuffix toolchain 4.18 -Python-2.7.11 foss/2016a, intel/2016a 4.18.1 -Python-2.7.11 foss/2016a 4.18.1 -Python-2.7.12 intel/2016b 4.19 -Python-2.7.12 foss/2016b, intel/2016b 4.19.2 -Python-2.7.13 intel/2017a 4.19.8 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 4.19.8 -Python-3.6.4 foss/2018a, intel/2018a 4.19.13 -Python-2.7.15 fosscuda/2018b"},{"location":"version-specific/supported-software/#siscone","title":"siscone","text":"

            Hadron Seedless Infrared-Safe Cone jet algorithm

            homepage: https://siscone.hepforge.org/

            version toolchain 3.0.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#sisso","title":"SISSO","text":"

            A data-driven method combining symbolic regression and compressed sensing toward accurate & interpretable models.

            homepage: https://github.com/rouyang2017/SISSO

            version toolchain 3.0.2 iimpi/2021b 3.1-20220324 iimpi/2021b"},{"location":"version-specific/supported-software/#sisso_1","title":"SISSO++","text":"

            C++ implementation of SISSO with built in Python bindings for an efficient python interface

            homepage: https://gitlab.com/sissopp_developers/sissopp

            version toolchain 1.1 foss/2021b"},{"location":"version-specific/supported-software/#skesa","title":"SKESA","text":"

            SKESA is a de-novo sequence read assembler for cultured single isolate genomes based on DeBruijn graphs.

            homepage: https://github.com/ncbi/SKESA

            version versionsuffix toolchain 2.2 foss/2018a 2.3.0 foss/2018b 2.4.0 _saute.1.3.0_1 gompi/2021b"},{"location":"version-specific/supported-software/#sketchmap","title":"sketchmap","text":"

            Sketch-map is a dimensionality reduction algorithm that is particularly well suited to examining the high-dimensionality data that is routinely produced in atomistic simulations.

            homepage: http://sketchmap.org/

            version toolchain 20170130 intel/2016b"},{"location":"version-specific/supported-software/#skewer","title":"skewer","text":"

            skewer implements the bit-masked k-difference matching algorithm dedicated to the task of adapter trimming and it is specially designed for processing next-generation sequencing (NGS) paired-end sequences.

            homepage: https://github.com/relipmoc/skewer

            version toolchain 0.2.2 intel/2016b"},{"location":"version-specific/supported-software/#sklearn-pandas","title":"sklearn-pandas","text":"

            This module provides a bridge between Scikit-Learn's machine learning methods and pandas-style Data Frames. In particular, it provides a way to map DataFrame columns to transformations, which are later recombined into features.

            homepage: https://github.com/scikit-learn-contrib/sklearn-pandas

            version toolchain 2.2.0 foss/2021b"},{"location":"version-specific/supported-software/#sklearn-som","title":"sklearn-som","text":"

            A simple, planar self-organizing map with methods similar to clustering methods in Scikit Learn.

            homepage: https://github.com/rileypsmith/sklearn-som

            version toolchain 1.1.0 foss/2020b"},{"location":"version-specific/supported-software/#skorch","title":"skorch","text":"

            A scikit-learn compatible neural network library that wraps PyTorch.

            homepage: https://skorch.readthedocs.io/

            version versionsuffix toolchain 0.11.0 -PyTorch-1.10.0 foss/2021a 0.11.0 -PyTorch-1.10.0-CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#slamdunk","title":"SlamDunk","text":"

            SlamDunk is a novel, fully automated software tool for automated, robust, scalable and reproducible SLAMseq data analysis.

            homepage: https://t-neumann.github.io/slamdunk

            version toolchain 0.4.3 foss/2021b"},{"location":"version-specific/supported-software/#slatec","title":"SLATEC","text":"

            SLATEC Common Mathematical Library, a comprehensive software library containing over 1400 general purpose mathematical and statistical routines written in Fortran 77.

            homepage: https://www.netlib.org/slatec/

            version toolchain 4.1 GCC/6.4.0-2.28, GCC/8.3.0, iccifort/2018.1.163-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#slepc","title":"SLEPc","text":"

            SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems.

            homepage: https://www.grycap.upv.es/slepc/

            version versionsuffix toolchain 3.8.3 foss/2017b 3.9.2 foss/2018a 3.11.0 foss/2018b 3.12.2 -Python-2.7.16 intel/2019b 3.12.2 -Python-3.7.4 foss/2019b, intel/2019b 3.12.2 -Python-3.8.2 foss/2020a, intel/2020a 3.14.2 foss/2020b 3.15.1 foss/2021a 3.17.2 foss/2022a 3.18.2 intel/2021b"},{"location":"version-specific/supported-software/#slepc4py","title":"slepc4py","text":"

            Python bindings for SLEPc, the Scalable Library for Eigenvalue Problem Computations.

            homepage: https://bitbucket.org/slepc/slepc4py

            version versionsuffix toolchain 3.9.0 -Python-3.6.4 foss/2018a 3.12.0 -Python-3.7.4 foss/2019b 3.15.1 foss/2021a"},{"location":"version-specific/supported-software/#sleuth","title":"sleuth","text":"

            Investigate RNA-Seq transcript abundance from kallisto and perform differential expression analysis.

            homepage: http://pachterlab.github.io/sleuth

            version versionsuffix toolchain 0.29.0 -R-3.4.0 intel/2017a 0.30.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#slidingwindow","title":"slidingwindow","text":"

            slidingwindow is a simple little Python library for computing a set of windows into a larger dataset, designed for use with image-processing algorithms that utilise a sliding window to break the processing up into a series of smaller chunks.

            homepage: https://github.com/adamrehn/slidingwindow

            version versionsuffix toolchain 0.0.13 -Python-2.7.15 intel/2018b 0.0.13 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#slim","title":"SLiM","text":"

            SLiM is an evolutionary simulation framework that combines a powerful engine for population genetic simulations with the capability of modeling arbitrarily complex evolutionary scenarios.

            homepage: https://messerlab.org/slim

            version toolchain 3.4 GCC/9.3.0 4.0 GCC/11.2.0 4.0.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#slow5tools","title":"slow5tools","text":"

            slow5tools is a toolkit for converting (FAST5 <-> SLOW5), compressing, viewing, indexing and manipulating data in SLOW5 format.

            homepage: https://hasindu2008.github.io/slow5tools

            version toolchain 0.4.0 gompi/2021b"},{"location":"version-specific/supported-software/#smafa","title":"smafa","text":"

            Smafa attempts to align or cluster pre-aligned biological sequences, handling sequences which are all the same length.

            homepage: https://github.com/wwood/smafa

            version toolchain 0.4.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#smallgenomeutilities","title":"smallgenomeutilities","text":"

            The smallgenomeutilities are a collection of scripts that is useful for dealing and manipulating NGS data of small viral genomes. They are written in Python 3 with a small number of dependencies.

            homepage: https://github.com/cbg-ethz/smallgenomeutilities

            version versionsuffix toolchain 0.2.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#smap","title":"SMAP","text":"

            SMAP is an analysis tool for stack-based NGS read mapping

            homepage: https://ngs-smap.readthedocs.io

            version toolchain 4.6.5 foss/2022a"},{"location":"version-specific/supported-software/#smartdenovo","title":"SMARTdenovo","text":"

            SMARTdenovo is a de novo assembler for PacBio and Oxford Nanopore (ONT) data. It produces an assembly from all-vs-all raw read alignments without an error correction stage. It also provides tools to generate accurate consensus sequences, though a platform dependent consensus polish tools (e.g. Quiver for PacBio or Nanopolish for ONT) are still required for higher accuracy.

            homepage: https://github.com/ruanjue/smartdenovo

            version toolchain 20180219 foss/2018b"},{"location":"version-specific/supported-software/#smc","title":"SMC++","text":"

            SMC++ is a program for estimating the size history of populations from whole genome sequence data.

            homepage: https://github.com/popgenmethods/smcpp

            version toolchain 1.15.4 foss/2022a"},{"location":"version-specific/supported-software/#smfishhmrf","title":"smfishHmrf","text":"

            smFish spatial pattern mining and cell type prediction

            homepage: https://pypi.org/project/smfishHmrf

            version toolchain 1.3.3 foss/2022a"},{"location":"version-specific/supported-software/#smithwaterman","title":"smithwaterman","text":"

            smith-waterman-gotoh alignment algorithm.

            homepage: https://github.com/ekg/smithwaterman

            version toolchain 20160702 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#smoldyn","title":"Smoldyn","text":"

            Smoldyn is a computer program for cell-scale biochemical simulations. It simulates each molecule of interest individually to capture natural stochasticity and to yield nanometer-scale spatial resolution. It treats other molecules implicitly, enabling it to simulate hundreds of thousands of molecules over several minutes of real time. Simulated molecules diffuse, react, are confined by surfaces, and bind to membranes much as they would in a real biological system.

            homepage: http://www.smoldyn.org/

            version toolchain 2.48 foss/2016a"},{"location":"version-specific/supported-software/#smooth-topk","title":"smooth-topk","text":"

            Smooth Loss Functions for Deep Top-k Classification

            homepage: https://github.com/oval-group/smooth-topk

            version versionsuffix toolchain 1.0-20210817 foss/2021a 1.0-20210817 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#smrt-link","title":"SMRT-Link","text":"

            PacBio\u2019s open-source SMRT Analysis software suite is designed for use with Single Molecule, Real-Time (SMRT) Sequencing data. You can analyze, visualize, and manage your data through an intuitive GUI or command-line interface. You can also integrate SMRT Analysis in your existing data workflow through the extensive set of APIs provided

            homepage: https://www.pacb.com/support/software-downloads/

            version versionsuffix toolchain 5.1.0.26412 -cli-tools-only system 6.0.0.47841 -cli-tools-only system"},{"location":"version-specific/supported-software/#smv","title":"SMV","text":"

            Smokeview is a visualization program that displays output of FDS and CFAST simulations.

            homepage: https://github.com/firemodels/smv

            version toolchain 6.7.17 iccifort/2020.4.304"},{"location":"version-specific/supported-software/#snakemake","title":"snakemake","text":"

            The Snakemake workflow management system is a tool to create reproducible and scalable data analyses.

            homepage: https://snakemake.readthedocs.io

            version versionsuffix toolchain 5.2.2 -Python-3.6.4 intel/2018a 5.2.4 -Python-3.6.6 foss/2018b, intel/2018b 5.7.1 -Python-3.7.2 foss/2019a 5.26.1 -Python-3.8.2 intel/2020a 6.1.0 foss/2020b 6.6.1 foss/2021a 6.10.0 foss/2021b 7.18.2 foss/2021b 7.22.0 foss/2022a"},{"location":"version-specific/supported-software/#snap","title":"SNAP","text":"

            Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for high-throughput sequencing data

            homepage: https://www.microsoft.com/en-us/research/project/snap

            version toolchain 1.0beta.23 intel/2017b 2.0.1 GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#snap-hmm","title":"SNAP-HMM","text":"

            SNAP is a general purpose gene finding program suitable for both eukaryotic and prokaryotic genomes. SNAP is an acroynm for Semi-HMM-based Nucleic Acid Parser.

            homepage: https://korflab.github.io/

            version toolchain 2013-11-29 GCC/6.4.0-2.28, GCC/8.3.0, iccifort/2017.4.196-GCC-6.4.0-2.28 20190603 GCC/10.2.0 20221022 GCC/11.3.0"},{"location":"version-specific/supported-software/#snape-pooled","title":"SNAPE-pooled","text":"

            SNAPE-pooled computes the probability distribution for the frequency of the minor allele in a certain population, at a certain position in the genome.

            homepage: https://code.google.com/archive/p/snape-pooled/

            version toolchain r32 foss/2016a"},{"location":"version-specific/supported-software/#snaphu","title":"snaphu","text":"

            SNAPHU is an implementation of the Statistical-cost, Network-flow Algorithm for Phase Unwrapping proposed by Chen and Zebker

            homepage: https://web.stanford.edu/group/radar/softwareandlinks/sw/snaphu/

            version toolchain 1.4.2 GCCcore/6.3.0, intel/2016b, intel/2017a"},{"location":"version-specific/supported-software/#snappy","title":"snappy","text":"

            Snappy is a compression/decompression library. It does not aim for maximum compression, or compatibility with any other compression library; instead, it aims for very high speeds and reasonable compression.

            homepage: https://github.com/google/snappy

            version toolchain 1.1.2 GCC/4.9.2 1.1.3 GCC/4.9.3, GCC/4.9.3-2.25 1.1.6 system 1.1.7 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, intel/2017a, intel/2017b 1.1.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 1.1.9 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 1.1.10 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#sniffles","title":"Sniffles","text":"

            A fast structural variant caller for long-read sequencing, Sniffles2 accurately detect SVs on germline, somatic and population-level for PacBio and Oxford Nanopore read data.

            homepage: https://github.com/fritzsedlazeck/Sniffles

            version toolchain 2.0.7 GCC/11.3.0"},{"location":"version-specific/supported-software/#snippy","title":"snippy","text":"

            Rapid haploid variant calling and core genome alignment

            homepage: https://github.com/tseemann/snippy

            version versionsuffix toolchain 4.4.1 -Perl-5.28.0 foss/2018b 4.6.0 GCC/10.2.0 4.6.0 -Java-13-Python-3.8.2 GCC/9.3.0 4.6.0 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#snp-sites","title":"snp-sites","text":"

            Finds SNP sites from a multi-FASTA alignment file.

            homepage: https://sanger-pathogens.github.io/snp-sites/

            version toolchain 2.5.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#snpeff","title":"snpEff","text":"

            SnpEff is a variant annotation and effect prediction tool. It annotates and predicts the effects of genetic variants (such as amino acid changes).

            homepage: https://pcingola.github.io/SnpEff/

            version versionsuffix toolchain 3.6 -Java-1.7.0_80 system 4.1d -Java-1.7.0_80 system 4.3t -Java-1.8 system 5.0 -Java-13 system 5.0 -Java-13-Python-3.8.2 GCCcore/9.3.0 5.0e -Java-11 GCCcore/11.2.0 5.0e -Java-13 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#snphylo","title":"SNPhylo","text":"

            SNPhylo: a pipeline to generate a phylogenetic tree from huge SNP data

            homepage: http://chibba.pgml.uga.edu/snphylo/

            version versionsuffix toolchain 20140701 foss/2016a, intel/2016a 20160204 -Python-2.7.14-R-3.4.3 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#snpomatic","title":"SNPomatic","text":"

            High throughput sequencing technologies generate large amounts of short reads. Mapping these to a reference sequence consumes large amounts of processing time and memory, and read mapping errors can lead to noisy or incorrect alignments. SNP-o-matic is a fast, memory-efficient, and stringent read mapping tool offering a variety of analytical output functions, with an emphasis on genotyping.

            homepage: https://github.com/magnusmanske/snpomatic

            version toolchain 1.0 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#soapaligner","title":"SOAPaligner","text":"

            SOAPaligner/soap2 is a member of the SOAP (Short Oligonucleotide Analysis Package). It is an updated version of SOAP software for short oligonucleotide alignment.

            homepage: http://soap.genomics.org.cn/soapaligner.html

            version versionsuffix toolchain 2.21 _Linux-x86_64 system"},{"location":"version-specific/supported-software/#soapdenovo-trans","title":"SOAPdenovo-Trans","text":"

            SOAPdenovo-Trans is a de novo transcriptome assembler basing on the SOAPdenovo framework, adapt to alternative splicing and different expression level among transcripts.

            homepage: http://soap.genomics.org.cn/SOAPdenovo-Trans.html

            version toolchain 1.0.4 intel/2017a"},{"location":"version-specific/supported-software/#soapdenovo2","title":"SOAPdenovo2","text":"

            SOAPdenovo is a novel short-read assembly method that can build a de novo draft assembly for human-sized genomes. The program is specially designed to assemble Illumina short reads. It creates new opportunities for building reference sequences and carrying out accurate analyses of unexplored genomes in a cost effective way. SOAPdenovo2 is the successor of SOAPdenovo.

            homepage: http://soap.genomics.org.cn/index.html

            version toolchain r240 GCC/5.4.0-2.26 r241 GCC/6.4.0-2.28, foss/2018a, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2018a"},{"location":"version-specific/supported-software/#soapfuse","title":"SOAPfuse","text":"

            SOAPfuse is an open source tool developed for genome-wide detection of fusion transcripts from paired-end RNA-Seq data.

            homepage: https://sourceforge.net/p/soapfuse/wiki/Home/

            version versionsuffix toolchain 1.27 -Perl-5.24.0 foss/2016b 1.27 -Perl-5.28.0 foss/2018b"},{"location":"version-specific/supported-software/#socat","title":"socat","text":"

            socat is a relay for bidirectional data transfer between two independent data channels.

            homepage: http://www.dest-unreach.org/socat

            version toolchain 1.7.3.3 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#soci","title":"SOCI","text":"

            SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the regular C++ code, staying entirely within the Standard C++.

            homepage: http://soci.sourceforge.net/

            version toolchain 4.0.1 GCC/10.2.0, GCCcore/9.3.0 4.0.2 GCC/10.3.0 4.0.3 GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#solexaqa","title":"SolexaQA++","text":"

            SolexaQA calculates sequence quality statistics and creates visual representations of data quality for second-generation sequencing data. Originally developed for the Illumina system (historically known as \u201cSolexa\u201d), SolexaQA now also supports Ion Torrent and 454 data.

            homepage: http://solexaqa.sourceforge.net

            version toolchain 3.1.5 foss/2016b"},{"location":"version-specific/supported-software/#sonic","title":"sonic","text":"

            Sonic is a simple algorithm for speeding up or slowing down speech. However, it's optimized for speed ups of over 2X, unlike previous algorithms for changing speech rate. The Sonic library is a very simple ANSI C library that is designed to easily be integrated into streaming voice applications, like TTS back ends.

            homepage: https://github.com/espeak-ng/sonic

            version toolchain 20180202 gompi/2020a"},{"location":"version-specific/supported-software/#soplex","title":"SoPlex","text":"

            SoPlex is an optimization package for solving linear programming problems (LPs) based on an advanced implementation of the primal and dual revised simplex algorithm. It provides special support for the exact solution of LPs with rational input data. It can be used as a standalone solver reading MPS or LP format files via a command line interface as well as embedded into other programs via a C++ class library.

            homepage: https://soplex.zib.de/

            version toolchain 2.2.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#soqt","title":"SoQt","text":"

            SoQt is a library which provides the glue between Systems in Motion's Coin high-level 3D visualization library and the Qt 2D user interface library.

            homepage: https://coin3d.github.io/SoQt/html/

            version toolchain 1.6.0 GCC/10.3.0, GCC/11.2.0"},{"location":"version-specific/supported-software/#sortmerna","title":"SortMeRNA","text":"

            SortMeRNA is a biological sequence analysis tool for filtering, mapping and OTU-picking NGS reads.

            homepage: http://bioinfo.lifl.fr/RNA/sortmerna/

            version toolchain 2.1 GCC/9.3.0, foss/2016a"},{"location":"version-specific/supported-software/#soupx","title":"SoupX","text":"

            \" Quantify, profile and remove ambient mRNA contamination (the \"soup\") from droplet based single cell RNA-seq experiments. Implements the method described in Young et al. (2018) .

            homepage: https://github.com/constantAmateur/SoupX

            version versionsuffix toolchain 1.6.2 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#sox","title":"SoX","text":"

            Sound eXchange, the Swiss Army knife of audio manipulation

            homepage: http://sox.sourceforge.net/

            version toolchain 14.4.2 GCC/8.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#soxt","title":"SoXt","text":"

            SoXt is an Xt/Motif glue library for Coin. It can also be used on top of the SGI or TGS implementation of Open Inventor, and is designed to be source code compatible with SGI's InventorXt library.

            homepage: https://coin3d.github.io/SoXt/html/

            version toolchain 1.4.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#spaceranger","title":"SpaceRanger","text":"

            Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, perform clustering and gene expression analysis, and place spots in spatial context on the slide image.

            homepage: https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger

            version toolchain 1.1.0 GCC/9.3.0 1.2.2 GCC/9.3.0 1.3.0 GCC/10.3.0 1.3.1 GCC/11.2.0 2.0.0 GCC/11.2.0 2.0.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#spack","title":"Spack","text":"

            Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific software easy. With Spack, you can build a package with multiple versions, configurations, platforms, and compilers, and all of these builds can coexist on the same machine.

            homepage: https://spack.io/

            version toolchain 0.10.0 system 0.11.2 system 0.12.1 system 0.16.2 system 0.17.0 system 0.17.2 system"},{"location":"version-specific/supported-software/#spacy","title":"spaCy","text":"

            Industrial-strength Natural Language Processing (NLP) in Python.

            homepage: https://spacy.io/

            version toolchain 3.4.4 foss/2022a"},{"location":"version-specific/supported-software/#spades","title":"SPAdes","text":"

            Genome assembler for single-cell and isolates data sets

            homepage: http://bioinf.spbau.ru/en/spades

            version versionsuffix toolchain 3.9.0 foss/2016a, foss/2016b 3.10.1 foss/2016b, foss/2017a 3.11.1 foss/2017b, foss/2018a 3.12.0 foss/2016b, foss/2018a, foss/2018b 3.13.0 GCC/10.3.0, foss/2018b 3.13.1 GCC/8.2.0-2.31.1 3.14.0 -Python-3.7.2 GCC/8.2.0-2.31.1 3.14.0 -Python-3.7.4 GCC/8.3.0 3.14.1 -Python-3.8.2 GCC/9.3.0 3.15.2 GCC/10.2.0 3.15.2 -Python-2.7.18 GCC/10.2.0 3.15.3 GCC/10.3.0, GCC/11.2.0 3.15.4 GCC/12.2.0 3.15.5 GCC/11.3.0"},{"location":"version-specific/supported-software/#spaln","title":"spaln","text":"

            Spaln (space-efficient spliced alignment) is a stand-alone program that maps and aligns a set of cDNA or protein sequences onto a whole genomic sequence in a single job.

            homepage: https://github.com/ogotoh/spaln

            version toolchain 2.3.3c iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.4.03 iccifort/2019.5.281 2.4.12 GCC/10.2.0, GCC/11.2.0 2.4.13f GCC/11.3.0"},{"location":"version-specific/supported-software/#spark","title":"Spark","text":"

            Spark is Hadoop MapReduce done in memory

            homepage: https://spark.apache.org

            version versionsuffix toolchain 1.3.0 system 1.4.1 system 1.5.0 system 1.6.0 system 1.6.1 system 2.0.0 system 2.0.2 system 2.2.0 -Hadoop-2.6-Java-1.8.0_144 system 2.2.0 -Hadoop-2.6-Java-1.8.0_152 system 2.2.0 -Hadoop-2.6-Java-1.8.0_152-Python-3.6.3 intel/2017b 2.3.0 -Hadoop-2.7-Java-1.8.0_162 system 2.4.0 -Hadoop-2.7-Java-1.8 system 2.4.0 -Hadoop-2.7-Java-1.8-Python-3.6.6 intel/2018b 2.4.0 -Python-2.7.15 foss/2018b, intel/2018b 2.4.0 -Python-3.6.6 intel/2018b 2.4.5 -Python-3.7.4-Java-1.8 intel/2019b 3.0.0 -Python-2.7.15 foss/2018b, intel/2018b 3.1.1 foss/2020b, fosscuda/2020b 3.1.1 -Python-3.8.2 foss/2020a 3.2.1 foss/2021b 3.3.1 foss/2022a"},{"location":"version-specific/supported-software/#sparse-neighbors-search","title":"sparse-neighbors-search","text":"

            A Python/C++ implementation of an approximate nearest neighbor search for sparse data structures based on the idea of local sensitive hash functions.

            homepage: https://github.com/joachimwolff/sparse-neighbors-search

            version toolchain 0.7 foss/2022a"},{"location":"version-specific/supported-software/#sparsehash","title":"sparsehash","text":"

            An extremely memory-efficient hash_map implementation. 2 bits/entry overhead! The SparseHash library contains several hash-map implementations, including implementations that optimize for space or speed.

            homepage: https://github.com/sparsehash/sparsehash

            version toolchain 2.0.2 foss/2016a 2.0.3 GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016b, intel/2017a 2.0.4 GCCcore/10.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#spatialde","title":"SpatialDE","text":"

            SpatialDE is a method to identify genes which significantly depend on spatial coordinates in non-linear and non-parametric ways. The intended applications are spatially resolved RNA-sequencing from e.g. Spatial Transcriptomics, or in situ gene expression measurements from e.g. SeqFISH or MERFISH.

            homepage: https://pypi.org/project/SpatialDE

            version toolchain 1.1.3 foss/2022a"},{"location":"version-specific/supported-software/#spatialreg","title":"spatialreg","text":"

            A collection of all the estimation functions for spatial cross-sectional models (on lattice/areal data using spatial weights matrices) contained up to now in 'spdep', 'sphet' and 'spse'.

            homepage: https://cran.r-project.org/package=spatialreg

            version versionsuffix toolchain 1.1-5 -R-3.6.2 foss/2019b 1.1-8 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#spdlog","title":"spdlog","text":"

            Very fast, header-only/compiled, C++ logging library.

            homepage: https://github.com/gabime/spdlog

            version toolchain 1.9.2 GCCcore/10.3.0 1.11.0 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#spectra","title":"SpectrA","text":"

            Spectra stands for Sparse Eigenvalue Computation Toolkit as a Redesigned ARPACK. It is a C++ library for large scale eigenvalue problems, built on top of Eigen, an open source linear algebra library.

            homepage: https://spectralib.org/

            version toolchain 1.0.0 GCC/10.2.0 1.0.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#spectralmethods","title":"spectral.methods","text":"

            Contains some implementations of Singular Spectrum Analysis (SSA) for the gapfilling and spectral decomposition of time series.

            homepage: https://cran.r-project.org/web/packages/spectral.methods

            version versionsuffix toolchain 0.7.2.133 -R-3.4.3 intel/2017b 0.7.2.133 -R-3.4.4 intel/2018a"},{"location":"version-specific/supported-software/#speech_tools","title":"speech_tools","text":"

            The Edinburgh Speech Tools Library is a collection of C++ class, functions and related programs for manipulating the sorts of objects used in speech processing. It includes support for reading and writing waveforms, parameter files (LPC, Ceptra, F0) in various formats and converting between them. It also includes support for linguistic type objects and support for various label files and ngrams (with smoothing).

            homepage: <['http://festvox.org/festival/']>

            version toolchain 2.5.0 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#spektral","title":"spektral","text":"

            Spektral is a Python library for graph deep learning. The main goal of this project is to provide a simple but flexible framework for creating graph neural networks (GNNs).

            homepage: https://github.com/danielegrattarola/spektral

            version versionsuffix toolchain 1.1.0 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#spglib","title":"spglib","text":"

            Spglib is a C library for finding and handling crystal symmetries.

            homepage: https://spglib.github.io/spglib/

            version toolchain 1.9.2 intel/2016.02-GCC-4.9 1.9.9 intel/2017b 1.16.1 GCCcore/10.2.0 1.16.2 GCCcore/10.3.0 2.0.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#spglib-python","title":"spglib-python","text":"

            Spglib for Python. Spglib is a library for finding and handling crystal symmetries written in C.

            homepage: https://pypi.python.org/pypi/spglib

            version versionsuffix toolchain 1.9.4.2 -Python-2.7.12 intel/2016b 1.9.5 -Python-2.7.12 intel/2016b 1.9.9.38 -Python-2.7.13 intel/2017a 1.10.0.2 -Python-2.7.14 intel/2017b 1.10.0.2 -Python-3.6.3 intel/2017b 1.14.1.post0 -Python-3.7.2 intel/2019a 1.16.0 foss/2020b, fosscuda/2020b, intel/2020b 1.16.0 -Python-3.7.4 fosscuda/2019b, intel/2019b, intelcuda/2019b 1.16.0 -Python-3.8.2 foss/2020a, intel/2020a 1.16.1 foss/2021a, gomkl/2021a, intel/2021a 1.16.3 foss/2021b, intel/2021b 2.0.0 foss/2022a, intel/2022a 2.0.2 gfbf/2022b"},{"location":"version-specific/supported-software/#sphinx","title":"Sphinx","text":"

            Sphinx is a tool that makes it easy to create intelligent and beautiful documentation. It was originally created for the new Python documentation, and it has excellent facilities for the documentation of Python projects, but C/C++ is already supported as well, and it is planned to add special support for other languages as well.

            homepage: http://sphinx.pocoo.org/

            version versionsuffix toolchain 1.4.8 -Python-2.7.11 foss/2016a 1.4.8 -Python-3.5.1 foss/2016a 1.8.1 -Python-2.7.14 foss/2017b, intel/2017b 1.8.1 -Python-2.7.15 foss/2018b 1.8.1 -Python-3.6.3 foss/2017b, intel/2017b 1.8.1 -Python-3.6.4 foss/2018a 1.8.1 -Python-3.6.6 foss/2018b, intel/2018b 1.8.3 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#sphinx-rtd-theme","title":"Sphinx-RTD-Theme","text":"

            Sphinx theme designed to provide a great reader experience for documentation users on both desktop and mobile devices.

            homepage: https://sphinx-rtd-theme.readthedocs.io

            version toolchain 1.1.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#spiceypy","title":"SpiceyPy","text":"

            SpiceyPy is a Python wrapper for the NAIF C SPICE Toolkit (N65)

            homepage: https://github.com/AndrewAnnex/SpiceyPy

            version versionsuffix toolchain 1.1.0 -Python-2.7.12 intel/2016b 1.1.1 -Python-3.6.1 intel/2017a 2.1.0 -Python-3.6.3 foss/2017b, intel/2017b 2.1.0 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#spieceasi","title":"SpiecEasi","text":"

            Sparse InversE Covariance estimation for Ecological Association and Statistical Inference

            homepage: https://github.com/zdk123/SpiecEasi

            version versionsuffix toolchain 1.0.0 -R-3.4.4 intel/2018a 20160830 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#spladder","title":"SplAdder","text":"

            Splicing Adder is a toolbox for alternative splicing analysis based on RNA-Seq alignment data. Briefly, the software takes a given annotation and RNA-Seq read alignments in standardized formats, transforms the annotation into a splicing graph representation, augments the splicing graph with additional information extracted from the read data, extracts alternative splicing events from the graph and quantifies the events based on the alignment data.

            homepage: https://github.com/ratschlab/spladder

            version versionsuffix toolchain 2.4.2 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#splash","title":"SPLASH","text":"

            SPLASH is a free and open source visualisation tool for Smoothed Particle Hydrodynamics (SPH) simulations.

            homepage: http://users.monash.edu.au/~dprice/splash/index.html

            version toolchain 2.8.0 foss/2018b"},{"location":"version-specific/supported-software/#splicemap","title":"SpliceMap","text":"

            SpliceMap is a de novo splice junction discovery and alignment tool. It offers high sensitivity and support for arbitrary RNA-seq read lengths.

            homepage: https://web.stanford.edu/group/wonglab/SpliceMap/

            version toolchain 3.3.5.2 GCC/7.3.0-2.30"},{"location":"version-specific/supported-software/#split-seq","title":"split-seq","text":"

            Analysis tools for split-seq.

            homepage: https://github.com/yjzhang/split-seq-pipeline

            version versionsuffix toolchain 20190717 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#splitref","title":"splitRef","text":"

            splitRef splits a reference haplotype file into smaller files with subsets of markers. The current version is a pre-release.

            homepage: http://www.sph.umich.edu/csg/yli/splitRef/index.html

            version toolchain 0.0.2 system"},{"location":"version-specific/supported-software/#spm","title":"SPM","text":"

            SPM (Statistical Parametric Mapping) refers to the construction and assessment of spatially extended statistical processes used to test hypo- theses about functional imaging data. These ideas have been instantiated in software that is called SPM. The SPM software package has been designed for the analysis of brain imaging data sequences. The sequences can be a series of images from different cohorts, or time-series from the same subject. The current release is designed for the analysis of fMRI, PET, SPECT, EEG and MEG.

            homepage: https://www.fil.ion.ucl.ac.uk/spm

            version versionsuffix toolchain 12.5_r7771 -MATLAB-2021a system 12.5_r7771 -MATLAB-2021b system"},{"location":"version-specific/supported-software/#spoa","title":"spoa","text":"

            Spoa (SIMD POA) is a c++ implementation of the partial order alignment (POA) algorithm which is used to generate consensus sequences

            homepage: https://github.com/rvaser/spoa

            version toolchain 3.0.1 GCC/7.3.0-2.30 3.4.0 GCC/10.2.0 4.0.0 GCC/8.3.0 4.0.7 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#spooles","title":"SPOOLES","text":"

            SPOOLES is a library for solving sparse real and complex linear systems of equations, written in the C language using object oriented design.

            homepage: https://netlib.org/linalg/spooles/spooles.2.2.html

            version toolchain 2.2 gompi/2021a"},{"location":"version-specific/supported-software/#spotpy","title":"SPOTPY","text":"

            SPOTPY is a Python framework that enables the use of Computational optimization techniques for calibration, uncertainty and sensitivity analysis techniques of almost every (environmental-) model.

            homepage: https://spotpy.readthedocs.io

            version toolchain 1.5.14 intel/2021b"},{"location":"version-specific/supported-software/#sprng","title":"SPRNG","text":"

            Scalable Parallel Pseudo Random Number Generators Library

            homepage: http://www.sprng.org/

            version toolchain 2.0b foss/2016a"},{"location":"version-specific/supported-software/#spyder","title":"Spyder","text":"

            Spyder is an interactive Python development environment providing MATLAB-like features in a simple and light-weighted software.

            homepage: https://github.com/spyder-ide/spyder

            version versionsuffix toolchain 3.1.4 -Python-2.7.13 intel/2017a 3.3.1 -Python-3.6.4 foss/2018a 3.3.2 -Python-3.6.6 foss/2018b 4.1.5 -Python-3.7.2 foss/2019a 4.1.5 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#sqlite","title":"SQLite","text":"

            SQLite: SQL Database Engine in a C Library

            homepage: http://www.sqlite.org/

            version toolchain 3.8.8.1 GCC/4.8.4, GCC/4.9.2 3.8.10.2 GCC/4.9.3-2.25, GNU/4.9.3-2.25, gimkl/2.11.5 3.9.2 GCC/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 3.13.0 GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/6.3.0, foss/2016.04, foss/2016a, foss/2016b, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016b 3.14.1 GCCcore/4.9.3 3.17.0 GCCcore/6.3.0 3.20.1 GCCcore/6.4.0 3.21.0 GCCcore/6.4.0 3.23.0 GCCcore/6.4.0 3.24.0 GCCcore/7.2.0, GCCcore/7.3.0 3.26.0 GCCcore/8.2.0 3.27.2 GCCcore/8.2.0 3.29.0 GCCcore/8.3.0 3.31.1 GCCcore/9.3.0 3.33.0 GCCcore/10.2.0 3.35.4 GCCcore/10.3.0 3.36 GCCcore/11.2.0 3.38.3 GCCcore/11.3.0 3.39.4 GCCcore/12.2.0 3.41.2 GCCcore/13.1.0 3.42.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#squeezemeta","title":"SqueezeMeta","text":"

            SqueezeMeta is a full automatic pipeline for metagenomics/metatranscriptomics, covering all steps of the analysis.

            homepage: https://github.com/jtamames/SqueezeMeta

            version versionsuffix toolchain 0.4.3 -Python-2.7.15 foss/2018b 1.0.0 -Python-2.7.15 foss/2018b 1.5.0 foss/2021b"},{"location":"version-specific/supported-software/#squidpy","title":"Squidpy","text":"

            Squidpy is a tool for the analysis and visualization of spatial molecular data.

            homepage: https://squidpy.readthedocs.io

            version toolchain 1.2.2 foss/2021b"},{"location":"version-specific/supported-software/#sra-toolkit","title":"SRA-Toolkit","text":"

            The SRA Toolkit, and the source-code SRA System Development Kit (SDK), will allow you to programmatically access data housed within SRA and convert it from the SRA format

            homepage: https://github.com/ncbi/sra-tools

            version versionsuffix toolchain 2.3.5 -centos_linux64 system 2.5.4-1 -centos_linux64 system 2.5.7 -centos_linux64 system 2.8.2-1 -centos_linux64 system 2.9.0 -centos_linux64 system 2.9.2 -ubuntu64 system 2.9.4 -centos_linux64 system 2.9.6-1 -centos_linux64 system 2.10.4 gompi/2019b 2.10.5 -centos_linux64 system 2.10.8 gompi/2020a 2.10.9 gompi/2020b 3.0.0 gompi/2021b 3.0.0 -centos_linux64 system 3.0.3 gompi/2022a 3.0.5 gompi/2021a"},{"location":"version-specific/supported-software/#sradownloader","title":"sradownloader","text":"

            SRAdownloader takes the annotation table from the SRA run selector tool and retrieves the raw fastq files for the selected samples

            homepage: https://github.com/s-andrews/sradownloader

            version toolchain 3.9 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#srprism","title":"SRPRISM","text":"

            Single Read Paired Read Indel Substitution Minimizer

            homepage: https://github.com/ncbi/SRPRISM

            version versionsuffix toolchain 3.0.0 foss/2018b 3.1.1 -Java-11 GCCcore/8.2.0 3.1.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#srst2","title":"SRST2","text":"

            Short Read Sequence Typing for Bacterial Pathogens

            homepage: https://katholt.github.io/srst2

            version versionsuffix toolchain 0.2.0-20210620 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#ssaha2","title":"SSAHA2","text":"

            SSAHA2 (Sequence Search and Alignment by Hashing Algorithm) is a pairwise sequence alignment program designed for the efficient mapping of sequencing reads onto genomic reference sequences. SSAHA2 reads of most sequencing platforms (ABI-Sanger, Roche 454, Illumina-Solexa) and a range of output formats (SAM, CIGAR, PSL etc.) are supported. A pile-up pipeline for analysis and genotype calling is available as a separate package.

            homepage: http://www.sanger.ac.uk/resources/software/ssaha2/

            version versionsuffix toolchain 2.5.5 -i686 system 2.5.5 -x86_64 system"},{"location":"version-specific/supported-software/#ssn","title":"SSN","text":"

            Spatial statistical modeling and prediction for data on stream networks, including models based on in-stream distance. Models are created using moving average constructions. Spatial linear models, including explanatory variables, can be fit with (restricted) maximum likelihood. Mapping and other graphical functions are included.

            homepage: https://cran.r-project.org/web/packages/SSN

            version versionsuffix toolchain 1.1.14 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#sspace_basic","title":"SSPACE_Basic","text":"

            SSPACE Basic, SSAKE-based Scaffolding of Pre-Assembled Contigs after Extension

            homepage: https://github.com/nsoranzo/sspace_basic

            version versionsuffix toolchain 2.1.1 -Perl-5.24.1 intel/2017a 2.1.1 -Perl-5.26.0 intel/2017b 2.1.1 -Python-2.7.18 GCC/10.2.0"},{"location":"version-specific/supported-software/#ssw","title":"SSW","text":"

            SSW is a fast implementation of the Smith-Waterman algorithm, which uses the Single-Instruction Multiple-Data (SIMD) instructions to parallelize the algorithm at the instruction level. SSW library provides an API that can be flexibly used by programs written in C, C++ and other languages. We also provide a software that can do protein and genome alignment directly. Current version of our implementation is ~50 times faster than an ordinary Smith-Waterman. It can return the Smith-Waterman score, alignment location and traceback path (cigar) of the optimal alignment accurately; and return the sub-optimal alignment score and location heuristically.

            homepage: https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library

            version toolchain 1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 1.2.4 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#stacey","title":"STACEY","text":"

            The BEAST2 package STACEY can be used for species delimitation and species tree estimation, based on the multispecies coalescent model.

            homepage: http://www.indriid.com/software.html

            version toolchain 1.2.5 GCC/10.2.0"},{"location":"version-specific/supported-software/#stack","title":"Stack","text":"

            Stack is a cross-platform program for developing Haskell projects. It is intended for Haskellers both new and experienced.

            homepage: https://docs.haskellstack.org

            version versionsuffix toolchain 2.3.3 -x86_64 system"},{"location":"version-specific/supported-software/#stacks","title":"Stacks","text":"

            Stacks is a software pipeline for building loci from short-read sequences, such as those generated on the Illumina platform. Stacks was developed to work with restriction enzyme-based data, such as RAD-seq, for the purpose of building genetic maps and conducting population genomics and phylogeography.

            homepage: https://catchenlab.life.illinois.edu/stacks/

            version toolchain 1.40 foss/2016a 1.42 foss/2016a 1.44 foss/2016a 1.45 foss/2016a 1.46 intel/2017a 1.47 foss/2016a 1.48 intel/2017b, intel/2018b 2.0 foss/2018a, intel/2018a 2.0Beta7c intel/2017b 2.0Beta8c intel/2017b 2.0Beta9 intel/2018a 2.0Beta10a foss/2018a 2.2 foss/2018a 2.3b foss/2018a 2.3e foss/2018b 2.5 iccifort/2019.5.281 2.41 GCC/8.2.0-2.31.1, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.53 foss/2019b, iccifort/2019.5.281 2.54 foss/2020a 2.62 foss/2022a"},{"location":"version-specific/supported-software/#stamp","title":"STAMP","text":"

            STAMP is a tool for characterizing similarities between transcription factor binding motifs

            homepage: http://www.benoslab.pitt.edu/stamp/

            version toolchain 1.2 intel/2016a 1.3 intel/2016a, intel/2016b"},{"location":"version-specific/supported-software/#stamps","title":"StaMPS","text":"

            A software package to extract ground displacements from time series of synthetic aperture radar (SAR) acquisitions.

            homepage: http://homepages.see.leeds.ac.uk/~earahoo/stamps/

            version versionsuffix toolchain 3.3b1 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#stampy","title":"Stampy","text":"

            Stampy is a package for the mapping of short reads from illumina sequencing machines onto a reference genome.

            homepage: http://www.well.ox.ac.uk/stampy

            version versionsuffix toolchain 1.0.31 -Python-2.7.12 intel/2016b 1.0.32 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#star","title":"STAR","text":"

            STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays.

            homepage: https://github.com/alexdobin/STAR

            version toolchain 2.4.2a foss/2018b 2.5.0a GNU/4.9.3-2.25 2.5.2a foss/2016a 2.5.2b intel/2016b 2.5.3a GCC/8.3.0, GCC/9.3.0, intel/2017a, intel/2017b 2.5.4b foss/2016b, foss/2017b, intel/2017b 2.6.0c foss/2018a, intel/2018a 2.6.1c foss/2018b 2.7.0d foss/2018b 2.7.0f GCC/8.2.0-2.31.1, foss/2018b 2.7.1a GCC/8.2.0-2.31.1, foss/2018b 2.7.2b GCC/8.3.0 2.7.3a GCC/8.3.0, GCC/9.3.0 2.7.4a GCC/9.3.0 2.7.5b GCC/9.3.0 2.7.6a GCC/10.2.0, GCC/9.3.0 2.7.7a GCC/10.2.0, GCC/9.3.0 2.7.8a GCC/10.2.0 2.7.9a GCC/10.3.0, GCC/11.2.0 2.7.10a_alpha_220601 GCC/10.3.0 2.7.10b GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#star-ccm","title":"STAR-CCM+","text":"

            STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products operating under real-world conditions.

            homepage: https://mdx.plm.automation.siemens.com/star-ccm-plus

            version versionsuffix toolchain 13.04.011 system 17.02.008 system 17.02.008 -r8 system 17.04.008 system 17.04.008 -r8 system 17.06.007 system 17.06.007 -r8 system 18.02.008 system 18.02.008 -r8 system"},{"location":"version-specific/supported-software/#star-fusion","title":"STAR-Fusion","text":"

            STAR-Fusion uses the STAR aligner to identify candidate fusion transcripts supported by Illumina reads. STAR-Fusion further processes the output generated by the STAR aligner to map junction reads and spanning reads to a reference annotation set.

            homepage: https://github.com/STAR-Fusion/STAR-Fusion

            version versionsuffix toolchain 1.5.0 -Perl-5.28.0 foss/2018b 1.6.0 -Perl-5.28.1-Python-3.7.2 GCC/8.2.0-2.31.1 1.8.1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#stardist","title":"stardist","text":"

            Object Detection with Star-convex Shapes.

            homepage: https://github.com/stardist/stardist

            version versionsuffix toolchain 0.8.3 foss/2021b 0.8.3 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#stars","title":"stars","text":"

            Reading, manipulating, writing and plotting spatiotemporal arrays (raster and vector data cubes) in R, using GDAL bindings provided by sf, and NetCDF bindings by ncmeta and RNetCDF.

            homepage: https://cran.r-project.org/package=stars

            version versionsuffix toolchain 0.4-3 -R-4.0.0-Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#stata","title":"Stata","text":"

            Stata is a complete, integrated statistical software package that provides everything you need for data analysis, data management, and graphics.

            homepage: https://www.stata.com/

            version versionsuffix toolchain 15 system 16 -legacy system 17 system"},{"location":"version-specific/supported-software/#statistics-r","title":"Statistics-R","text":"

            Perl interface with the R statistical program

            homepage: https://metacpan.org/pod/Statistics::R

            version toolchain 0.34 foss/2020a"},{"location":"version-specific/supported-software/#statsmodels","title":"statsmodels","text":"

            Statsmodels is a Python module that provides classes and functions for the estimation of many different statistical models, as well as for conducting statistical tests, and statistical data exploration.

            homepage: https://www.statsmodels.org

            version versionsuffix toolchain 0.6.1 -Python-2.7.13 foss/2017a 0.6.1 -Python-3.5.1 intel/2016a 0.6.1 -Python-3.5.2 intel/2016b 0.8.0 -Python-2.7.13 intel/2017a 0.9.0 -Python-2.7.15 foss/2018b, intel/2018b 0.9.0 -Python-2.7.16 intel/2019b 0.9.0 -Python-3.6.6 foss/2018b, intel/2018b 0.10.1 foss/2019a 0.11.0 -Python-3.7.4 foss/2019b, intel/2019b 0.11.1 -Python-3.8.2 foss/2020a, intel/2020a 0.12.1 foss/2020b, fosscuda/2020b, intel/2020b 0.12.2 foss/2021a 0.13.1 foss/2021b, foss/2022a, intel/2021b 0.14.0 gfbf/2022b"},{"location":"version-specific/supported-software/#steak","title":"STEAK","text":"

            Detects integrations of any sort in high-throughput sequencing (HTS) data. STEAK was built for validating and discovering transposable element (TE) and retroviral integrations in a variety of HTS data. The software performs on both single-end (SE) and paired-end ( PE) libraries and on a variety of HTS sequencing strategies. It can be applied to a broad range of research interests and clinical uses such as population genetic studies and detecting polymorphic integrations.

            homepage: https://omictools.com/steak-tool

            version versionsuffix toolchain 2019.09.12 foss/2021b 2019.09.12 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#stir","title":"STIR","text":"

            Software for Tomographic Image Reconstruction

            homepage: http://stir.sourceforge.net/

            version toolchain 3.0 intel/2018a"},{"location":"version-specific/supported-software/#stpipeline","title":"stpipeline","text":"

            The ST Pipeline contains the tools and scripts needed to process and analyze the raw files generated with the Spatial Transcriptomics method in FASTQ format to generated datasets for down-stream analysis. The ST pipeline can also be used to process single cell data as long as a file with barcodes identifying each cell is provided. The ST Pipeline can also process RNA-Seq datasets generated with or without UMIs.

            homepage: https://github.com/SpatialTranscriptomicsResearch/st_pipeline

            version versionsuffix toolchain 1.7.3 -Python-2.7.15 foss/2018b 1.7.6 -Python-3.7.2 foss/2019a 1.7.6 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#strace","title":"strace","text":"

            strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state.

            homepage: https://strace.io/

            version toolchain 5.14 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#strainberry","title":"Strainberry","text":"

            Strainberry is a method that performs strain separation in low-complexity metagenomes using error-prone long-read technologies. It exploits state-of-the-art tools for variant calling, haplotype phasing, and genome assembly, in order to achieve single-sample assembly of strains with higher quality than other state-of-the-art long-read assemblers.

            homepage: https://github.com/rvicedomini/strainberry

            version toolchain 1.1 foss/2022a"},{"location":"version-specific/supported-software/#stream","title":"STREAM","text":"

            The STREAM benchmark is a simple synthetic benchmark program that measures sustainable memory bandwidth (in MB/s) and the corresponding computation rate for simple vector kernels.

            homepage: https://www.cs.virginia.edu/stream/

            version toolchain 5.10 GCC/11.3.0, GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, GCC/9.3.0, iccifort/2020.1.217, intel-compilers/2022.2.1, intel/2016b, intel/2018b"},{"location":"version-specific/supported-software/#strelka","title":"strelka","text":"

            Strelka2 is a fast and accurate small variant caller optimized for analysis of germline variation in small cohorts and somatic variation in tumor/normal sample pairs.

            homepage: https://github.com/Illumina/strelka

            version versionsuffix toolchain 2.9.7 intel/2018a 2.9.9 foss/2018b 2.9.10 -Python-2.7.15 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#stringtie","title":"StringTie","text":"

            StringTie is a fast and highly efficient assembler of RNA-Seq alignments into potential transcripts

            homepage: https://ccb.jhu.edu/software/stringtie/

            version toolchain 1.3.0 intel/2016b 1.3.3 GCCcore/6.4.0, intel/2017a 1.3.3b foss/2016b 1.3.5 GCCcore/8.2.0, foss/2018b 2.0.3 GCCcore/7.3.0 2.1.0 foss/2018b 2.1.1 GCC/8.3.0 2.1.3 GCC/8.3.0, GCC/9.3.0 2.1.4 GCC/8.3.0, GCC/9.3.0 2.1.7 GCC/10.3.0 2.2.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#stripy","title":"stripy","text":"

            A Python interface to TRIPACK and STRIPACK Fortran code for (constrained) triangulation in Cartesian coordinates and on a sphere. Stripy is an object-oriented package and includes routines from SRFPACK and SSRFPACK for interpolation (nearest neighbor, linear and hermite cubic) and to evaluate derivatives (Renka 1996a,b and 1997a,b).

            homepage: https://github.com/underworldcode/stripy

            version toolchain 2.1.0 foss/2021a"},{"location":"version-specific/supported-software/#strique","title":"STRique","text":"

            STRique is a python package to analyze repeat expansion and methylation states of short tandem repeats (STR) in Oxford Nanopore Technology (ONT) long read sequencing data.

            homepage: https://github.com/giesselmann/STRique

            version toolchain 0.4.2 foss/2021b"},{"location":"version-specific/supported-software/#structure","title":"Structure","text":"

            The program structure is a free software package for using multi-locus genotype data to investigate population structure.

            homepage: https://web.stanford.edu/group/pritchardlab/structure.html

            version toolchain 2.3.4 GCC/12.2.0, GCC/8.2.0-2.31.1, iccifort/2019.3.199-GCC-8.3.0-2.32, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#structure_threader","title":"Structure_threader","text":"

            A program to parallelize the runs of Structure, fastStructure, MavericK and ALStructure software.

            homepage: https://github.com/StuntsPT/Structure_threader

            version toolchain 1.3.10 foss/2022b"},{"location":"version-specific/supported-software/#strumpack","title":"STRUMPACK","text":"

            STRUMPACK - STRUctured Matrix PACKage - Fast linear solvers and preconditioner for both dense and sparse systems using low-rank structured factorization with randomized sampling.

            homepage: https://fastmath-scidac.llnl.gov/software/strumpack.html

            version toolchain 6.1.0 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#suave","title":"suave","text":"

            suave is an interactive web application to visualize read depth ratios between two samples and the structural variants of one of the samples (typically the \"case\" sample in a case/control setup such as tumor/normal comparison).

            homepage: https://github.com/dellytools/suave

            version toolchain 20160529 foss/2020b"},{"location":"version-specific/supported-software/#subread","title":"Subread","text":"

            High performance read alignment, quantification and mutation discovery

            homepage: https://subread.sourceforge.net/

            version toolchain 1.5.0-p1 foss/2016a, foss/2016b 1.6.3 foss/2018b 1.6.4 foss/2018b 2.0.0 GCC/7.3.0-2.30, GCC/8.3.0 2.0.2 GCC/10.2.0 2.0.3 GCC/10.3.0, GCC/11.2.0, GCC/9.3.0 2.0.4 GCC/11.3.0"},{"location":"version-specific/supported-software/#subset-bam","title":"subset-bam","text":"

            subset-bam is a tool to subset a 10x Genomics BAM file based on a tag, most commonly the cell barcode tag.

            homepage: https://github.com/10XGenomics/subset-bam

            version toolchain 1.1.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#subversion","title":"Subversion","text":"

            Subversion is an open source version control system.

            homepage: http://subversion.apache.org/

            version toolchain 1.9.7 iomkl/2018a 1.9.9 GCCcore/7.3.0 1.10.0 foss/2017b, intel/2017b 1.12.0 GCCcore/8.2.0 1.14.0 GCCcore/10.2.0, GCCcore/9.3.0 1.14.1 GCCcore/10.3.0, GCCcore/11.2.0 1.14.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#suds","title":"suds","text":"

            Lightweight SOAP client

            homepage: https://pypi.python.org/pypi/suds-py3

            version versionsuffix toolchain 1.3.3.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#suitesparse","title":"SuiteSparse","text":"

            SuiteSparse is a collection of libraries manipulate sparse matrices.

            homepage: https://faculty.cse.tamu.edu/davis/suitesparse.html

            version versionsuffix toolchain 4.5.1 -METIS-5.1.0 foss/2016a, intel/2016a 4.5.2 -METIS-5.1.0 foss/2016a, intel/2016a 4.5.3 -METIS-5.1.0 foss/2016a, foss/2016b, intel/2016b 4.5.3 -ParMETIS-4.0.3 foss/2016a, foss/2016b, intel/2016a, intel/2016b 4.5.5 -METIS-5.1.0 foss/2017a, intel/2017a 4.5.5 -ParMETIS-4.0.3 foss/2017a, foss/2017b, intel/2017a, intel/2017b 4.5.6 -METIS-5.1.0 foss/2017b 5.1.2 -METIS-5.1.0 foss/2017b, foss/2018a, foss/2018b, intel/2017b, intel/2018a, intel/2018b 5.1.2 -ParMETIS-4.0.3 foss/2017b, intel/2017b 5.4.0 -METIS-5.1.0 foss/2019a, intel/2018b, intel/2019a 5.6.0 -METIS-5.1.0 foss/2019b, intel/2019b 5.7.1 -METIS-5.1.0 foss/2020a, intel/2020a 5.8.1 -METIS-5.1.0 foss/2020b, intel/2020b 5.10.1 -METIS-5.1.0 foss/2021a, foss/2021b, intel/2021a, intel/2021b 5.10.1 -METIS-5.1.0-CUDA-11.3.1 foss/2021a 5.13.0 -METIS-5.1.0 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#sumaclust","title":"SUMACLUST","text":"

            SUMATRA and SUMACLUST: fast and exact comparison and clustering of sequences.

            homepage: http://metabarcoding.org/sumatra

            version toolchain 1.0.20 foss/2016a"},{"location":"version-specific/supported-software/#sumatra","title":"SUMATRA","text":"

            SUMATRA and SUMACLUST: fast and exact comparison and clustering of sequences.

            homepage: http://metabarcoding.org/sumatra

            version toolchain 1.0.20 foss/2016a"},{"location":"version-specific/supported-software/#sumo","title":"SUMO","text":"

            Simulation of Urban MObility\" (SUMO) is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.

            homepage: https://www.eclipse.org/sumo/

            version versionsuffix toolchain 1.3.1 -Python-3.7.4 GCCcore/8.3.0 1.7.0 -Python-3.8.2 foss/2020a 1.12.0 foss/2021b 1.14.1 foss/2021b"},{"location":"version-specific/supported-software/#sundials","title":"SUNDIALS","text":"

            SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers

            homepage: https://computing.llnl.gov/projects/sundials

            version toolchain 2.6.2 intel/2016b, intel/2018b 2.7.0 foss/2016b, foss/2017b, foss/2018a, foss/2018b, intel/2016b, intel/2017a, intel/2017b, intel/2018a 5.1.0 foss/2019b, intel/2019b 5.7.0 foss/2020b, fosscuda/2020b, intel/2020b 6.2.0 foss/2020b, intel/2020b 6.3.0 foss/2021b, foss/2022a 6.5.1 foss/2022a"},{"location":"version-specific/supported-software/#sunpy","title":"SunPy","text":"

            The community-developed, free and open-source solar data analysis environment for Python.

            homepage: https://sunpy.org/

            version versionsuffix toolchain 1.1.3 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#superlu","title":"SuperLU","text":"

            SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines.

            homepage: https://crd-legacy.lbl.gov/~xiaoye/SuperLU/

            version toolchain 5.1.1 foss/2016a, intel/2016a 5.2.1 foss/2017b, intel/2017b 5.2.2 foss/2020a, intel/2020a 5.3.0 foss/2020b, foss/2021a, foss/2022a, intel/2020b, intel/2022a"},{"location":"version-specific/supported-software/#superlu_dist","title":"SuperLU_DIST","text":"

            SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines.

            homepage: https://crd-legacy.lbl.gov/~xiaoye/SuperLU/

            version versionsuffix toolchain 5.4.0 -trisolve-merge intel/2020a 6.4.0 foss/2020a, intel/2020a 8.1.0 foss/2022a"},{"location":"version-specific/supported-software/#supermagic","title":"supermagic","text":"

            Very simple MPI sanity code. Nothing more, nothing less.

            homepage: https://github.com/hpc/supermagic

            version toolchain 20170824 foss/2017a, gompi/2019b"},{"location":"version-specific/supported-software/#supernova","title":"supernova","text":"

            Supernova is a software package for de novo assembly from Chromium Linked-Reads that are made from a single whole-genome library from an individual DNA source

            homepage: https://support.10xgenomics.com/de-novo-assembly/software/overview/latest/welcome

            version toolchain 2.0.1 system 2.1.1 system"},{"location":"version-specific/supported-software/#survivor","title":"SURVIVOR","text":"

            Toolset for SV simulation, comparison and filtering

            homepage: https://github.com/fritzsedlazeck/SURVIVOR

            version toolchain 1.0.7-19-ged1ca51 GCC/11.2.0"},{"location":"version-specific/supported-software/#svclone","title":"SVclone","text":"

            Cluster structural variants of similar cancer cell fraction (CCF).

            homepage: https://github.com/mcmero/SVclone

            version toolchain 1.1.2 foss/2022b"},{"location":"version-specific/supported-software/#svdetect","title":"SVDetect","text":"

            SVDetect is a application for the isolation and the type prediction of intra- and inter-chromosomal rearrangements from paired-end/mate-pair sequencing data provided by the high-throughput sequencing technologies. This tool aims to identifying structural variations with both clustering and sliding-window strategies, and helping in their visualization at the genome scale.

            homepage: http://svdetect.sourceforge.net/Site/Home.html

            version versionsuffix toolchain 0.8b -Perl-5.26.0 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#svdquest","title":"SVDquest","text":"

            SVDquartets-based species trees

            homepage: https://github.com/pranjalv123/SVDquest

            version toolchain 20190627 gompi/2019a"},{"location":"version-specific/supported-software/#svg","title":"SVG","text":"

            Perl binding for SVG

            homepage: https://metacpan.org/pod/SVG

            version versionsuffix toolchain 2.84 -Perl-5.30.0 foss/2019b 2.87 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#svim","title":"SVIM","text":"

            SVIM (pronounced swim) is a structural variant caller for third-generation sequencing reads. It is able to detect and classify the following six classes of structural variation: deletions, insertions, inversions, tandem duplications, interspersed duplications and translocations.

            homepage: https://github.com/eldariont/svim

            version toolchain 2.0.0 foss/2022a"},{"location":"version-specific/supported-software/#svist4get","title":"svist4get","text":"

            Svist4get is a simple bioinformatics tool for visualization of genomic signal tracks in user-defined genomic windows, either arbitrary selected by genomic coordinates or anchored to particular transcripts or genes.

            homepage: https://github.com/art-egorov/svist4get

            version toolchain 1.3.1 foss/2020b"},{"location":"version-specific/supported-software/#swarm","title":"swarm","text":"

            A robust and fast clustering method for amplicon-based studies

            homepage: https://github.com/torognes/swarm

            version toolchain 2.2.2 foss/2018b"},{"location":"version-specific/supported-software/#swash","title":"SWASH","text":"

            SWASH is a general-purpose numerical tool for simulating unsteady, non-hydrostatic, free-surface, rotational flow and transport phenomena in coastal waters as driven by waves, tides, buoyancy and wind forces.

            homepage: http://swash.sourceforge.net/

            version versionsuffix toolchain 3.14 -mpi intel/2016b, intel/2017a 4.01 -mpi intel/2017a"},{"location":"version-specific/supported-software/#swat","title":"SWAT+","text":"

            The Soil & Water Assessment Tool (SWAT) is a small watershed to river basin-scale model used to simulate the quality and quantity of surface and ground water and predict the environmental impact of land use, land management practices, and climate change. In order to face present and future challenges in water resources modeling SWAT code has undergone major modifications over the past few years, resulting in SWAT+, a completely revised version of the model. SWAT+ provides a more flexible spatial representation of interactions and processes within a watershed.

            homepage: https://swatplus.gitbook.io

            version toolchain 60.4.1 GCC/9.3.0 60.5.1 iccifort/2020.4.304"},{"location":"version-specific/supported-software/#swifter","title":"swifter","text":"

            A package which efficiently applies any function to a pandas dataframe or series in the fastest available manner.

            homepage: https://github.com/jmcarpenter2/swifter

            version toolchain 1.0.9 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#swig","title":"SWIG","text":"

            SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.

            homepage: http://www.swig.org/

            version versionsuffix toolchain 3.0.8 -Python-2.7.11 foss/2016a, intel/2016a 3.0.8 -Python-3.5.1 foss/2016a 3.0.10 -Python-2.7.12 foss/2016b, intel/2016b 3.0.10 -Python-2.7.12-PCRE-8.39 intel/2016b 3.0.11 -Python-2.7.12 foss/2016b, intel/2016b 3.0.12 GCCcore/8.2.0, GCCcore/8.3.0 3.0.12 -Python-2.7.13 intel/2017a 3.0.12 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 3.0.12 -Python-2.7.14-bare GCCcore/6.4.0 3.0.12 -Python-2.7.15 GCCcore/8.2.0, foss/2018b, intel/2018b 3.0.12 -Python-3.6.1 intel/2017a 3.0.12 -Python-3.6.2 foss/2017b, intel/2018.00 3.0.12 -Python-3.6.3 foss/2017b, intel/2017b, intel/2018.01 3.0.12 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018a 3.0.12 -Python-3.6.6 foss/2018b, intel/2018b 3.0.12 -Python-3.7.2 GCCcore/8.2.0 4.0.1 GCCcore/8.3.0, GCCcore/9.3.0 4.0.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#swipe","title":"SWIPE","text":"

            Smith-Waterman database searches with inter-sequence SIMD parallelisation

            homepage: https://github.com/torognes/swipe

            version toolchain 2.1.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#swissknife","title":"swissknife","text":"

            Perl module for reading and writing UniProtKB data in plain text format.

            homepage: https://sourceforge.net/projects/swissknife/

            version toolchain 1.80 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#symengine","title":"SymEngine","text":"

            SymEngine is a standalone fast C++ symbolic manipulation library

            homepage: https://github.com/symengine/symengine

            version versionsuffix toolchain 0.3.0 -20181006 intel/2018a 0.4.0 GCC/8.2.0-2.31.1 0.7.0 GCC/10.3.0"},{"location":"version-specific/supported-software/#symengine-python","title":"SymEngine-python","text":"

            Python wrappers to the C++ library SymEngine, a fast C++ symbolic manipulation library.

            homepage: https://github.com/symengine/symengine.py

            version toolchain 0.7.2 GCC/10.3.0"},{"location":"version-specific/supported-software/#symphony","title":"SYMPHONY","text":"

            SYMPHONY is an open-source solver for mixed-integer linear programs (MILPs) written in C.

            homepage: https://projects.coin-or.org/SYMPHONY

            version toolchain 5.6.16 foss/2018b"},{"location":"version-specific/supported-software/#sympy","title":"sympy","text":"

            SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries.

            homepage: https://sympy.org/

            version versionsuffix toolchain 1.0 -Python-2.7.11 foss/2016a, intel/2016a 1.3 -Python-2.7.14 intel/2018a 1.3 -Python-2.7.15 foss/2018b 1.3 -Python-3.6.4 intel/2018a 1.3 -Python-3.6.6 foss/2018b 1.4 foss/2019a, intel/2019a 1.5.1 -Python-3.7.4 foss/2019b 1.6.2 -Python-3.8.2 foss/2020a 1.7.1 foss/2020b, intel/2020b 1.8 foss/2021a 1.9 foss/2021b 1.10.1 foss/2022a, intel/2022a 1.11.1 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#synthcity","title":"synthcity","text":"

            A library for generating and evaluating synthetic tabular data.

            homepage: https://github.com/vanderschaarlab/synthcity

            version toolchain 0.2.4 foss/2022a"},{"location":"version-specific/supported-software/#syri","title":"SyRI","text":"

            Synteny and Rearrangement Identifier (SyRI).

            homepage: https://schneebergerlab.github.io/syri/

            version toolchain 1.4 foss/2021a"},{"location":"version-specific/supported-software/#sysbench","title":"sysbench","text":"

            sysbench is a scriptable multi-threaded benchmark tool based on LuaJIT. It is most frequently used for database benchmarks, but can also be used to create arbitrarily complex workloads that do not involve a database server.

            homepage: https://github.com/akopytov/sysbench

            version toolchain 1.0.20 GCC/12.2.0"},{"location":"version-specific/supported-software/#szip","title":"Szip","text":"

            Szip compression software, providing lossless compression of scientific data

            homepage: https://www.hdfgroup.org/doc_resource/SZIP/

            version toolchain 2.1 GCC/4.8.1, GCCcore/5.4.0, foss/2016a, foss/2016b, foss/2017a, gimkl/2.11.5, gimkl/2017a, gmpolf/2017.10, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, intel/2017.01, intel/2017a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 2.1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#t","title":"T","text":"

            tabix - tabixpp - taco - TagDust - TagLib - Taiyaki - TALON - TALYS - TAMkin - tantan - Tapenade - task-spooler - taxator-tk - TBA - tbb - tbl2asn - TCC - Tcl - TCLAP - tcsh - tecplot360ex - TELEMAC-MASCARET - Telescope - Teneto - tensorboard - tensorboardX - TensorFlow - TensorFlow-Datasets - TensorFlow-Graphics - tensorflow-probability - TensorRT - terastructure - termcolor - Tesla-Deployment-Kit - tesseract - testpath - TetGen - TEToolkit - TEtranscripts - texinfo - texlive - Text-CSV - TFEA - Theano - ThemisPy - THetA - thirdorder - thurstonianIRT - TiCCutils - tidybayes - tidymodels - Tika - TiMBL - time - timm - TINKER - TinyDB - TinyXML - Tk - Tkinter - TM-align - tMAE - tmap - tmux - TN93 - TOBIAS - ToFu - Togl - toil - tokenizers - Tombo - TOML-Fortran - TOPAS - topaz - TopHat - torchaudio - torchdata - torchinfo - torchsampler - torchtext - torchvision - TotalView - tqdm - Tracer - TranscriptClean - TransDecoder - Transformers - Transrate - travis - TRAVIS-Analyzer - treatSens - TreeMix - TreeShrink - TRF - Triangle - Trilinos - Trim_Galore - trimAl - trimesh - Trimmomatic - Trinity - Trinotate - Triplexator - TRIQS - TRIQS-cthyb - TRIQS-dft_tools - TRIQS-tprf - tRNAscan-SE - TRUST - TRUST4 - Trycycler - tsne - turbinesFoam - TurboVNC - TVB - tvb-data - TVB-deps - tvb-framework - tvb-library - TWL-NINJA - typing-extensions

            "},{"location":"version-specific/supported-software/#tabix","title":"tabix","text":"

            Generic indexer for TAB-delimited genome position files

            homepage: http://samtools.sourceforge.net

            version toolchain 0.2.6 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.3.0, foss/2016a, intel/2016a, intel/2016b"},{"location":"version-specific/supported-software/#tabixpp","title":"tabixpp","text":"

            C++ wrapper to tabix indexer

            homepage: https://github.com/ekg/tabixpp

            version toolchain 1.1.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#taco","title":"taco","text":"

            Multi-sample transcriptome assembly from RNA-Seq

            homepage: http://tacorna.github.io

            version versionsuffix toolchain 0.5.1 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#tagdust","title":"TagDust","text":"

            Raw sequences produced by next generation sequencing (NGS) machines may contain adapter, linker, barcode and fingerprint sequences. TagDust2 is a program to extract and correctly label the sequences to be mapped in downstream pipelines.

            homepage: http://tagdust.sourceforge.net/

            version toolchain 2.33 GCCcore/10.2.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#taglib","title":"TagLib","text":"

            TagLib is a library for reading and editing the meta-data of several popular audio formats.

            homepage: https://taglib.org/

            version toolchain 1.11.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#taiyaki","title":"Taiyaki","text":"

            Taiyaki is research software for training models for basecalling Oxford Nanopore reads.

            homepage: https://github.com/nanoporetech/taiyaki

            version versionsuffix toolchain 5.1.0-20200617 -Python-3.7.2-PyTorch-1.2.0 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#talon","title":"TALON","text":"

            TALON is a Python package for identifying and quantifying known and novel genes/isoforms in long-read transcriptome data sets. TALON is technology-agnostic in that it works from mapped SAM files, allowing data from different sequencing platforms (i.e. PacBio and Oxford Nanopore) to be analyzed side by side.

            homepage: https://github.com/mortazavilab/TALON

            version toolchain 5.0 foss/2020b"},{"location":"version-specific/supported-software/#talys","title":"TALYS","text":"

            TALYS is a nuclear reaction program.

            homepage: https://tendl.web.psi.ch/tendl_2019/talys.html

            version toolchain 1.95 GCCcore/10.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#tamkin","title":"TAMkin","text":"

            TAMkin is a post-processing toolkit for normal mode analysis, thermochemistry and reaction kinetics. It uses a Hessian computation from a standard computational chemistry program as its input.

            homepage: https://molmod.github.io/tamkin/

            version versionsuffix toolchain 1.0.9 -Python-2.7.11 intel/2016a 1.2.4 -Python-2.7.14 intel/2017b 1.2.6 -Python-3.7.2 intel/2019a 1.2.6 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#tantan","title":"tantan","text":"

            tantan identifies simple regions / low complexity / tandem repeats in DNA or protein sequences

            homepage: https://gitlab.com/mcfrith/tantan

            version toolchain 40 GCC/11.2.0"},{"location":"version-specific/supported-software/#tapenade","title":"Tapenade","text":"

            Tool for Algorithmic Differentiation of programs.

            homepage: https://tapenade.gitlabpages.inria.fr/tapenade/docs/html/index.html

            version versionsuffix toolchain 3.16 -Java-17 system"},{"location":"version-specific/supported-software/#task-spooler","title":"task-spooler","text":"

            task spooler is a Unix batch system where the tasks spooled run one after the other.

            homepage: http://viric.name/soft/ts/

            version toolchain 1.0.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#taxator-tk","title":"taxator-tk","text":"

            A set of programs for the taxonomic analysis of nucleotide sequence data

            homepage: https://github.com/fungs/taxator-tk

            version toolchain 1.3.3 GCC/10.2.0, foss/2018b, gompi/2019a"},{"location":"version-specific/supported-software/#tba","title":"TBA","text":"

            TBA (a Transcription factor Binding Analysis): TBA is a multi-functional machine learning tool for identifying transcription factors associated with genomic features

            homepage: https://github.com/jenhantao/tba

            version toolchain 1.0 foss/2020b"},{"location":"version-specific/supported-software/#tbb","title":"tbb","text":"

            Intel Threading Building Blocks (Intel TBB) is a widely used, award-winning C++ template library for creating reliable, portable, and scalable parallel applications. Use Intel TBB for a simple and rapid way of developing robust task-based parallel applications that scale to available processor cores, are compatible with multiple environments, and are easier to maintain. Intel TBB is the most proficient way to implement future-proof parallel applications that tap into the power and performance of multicore and manycore hardware platforms.

            homepage: https://software.intel.com/en-us/articles/intel-tbb/

            version toolchain 4.0.0.233 system 4.0.5.339 system 4.3.6.211 system 4.4.2.152 system 2017.2.132 system 2017.4.174 system 2017.6.196 system 2017_U5 GCCcore/5.4.0, foss/2016b, intel/2017a 2017_U6 GCCcore/6.3.0, intel/2017a 2018_U1 GCCcore/6.4.0 2018_U2 GCCcore/6.4.0 2018_U3 GCCcore/6.4.0 2018_U5 GCCcore/6.4.0, GCCcore/7.3.0 2019_U4 GCCcore/8.2.0 2019_U9 GCCcore/8.3.0 2020.1 GCCcore/9.3.0 2020.2 GCCcore/8.3.0 2020.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 2021.4.0 GCCcore/11.2.0 2021.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#tbl2asn","title":"tbl2asn","text":"

            Tbl2asn is a command-line program that automates the creation of sequence records for submission to GenBank

            homepage: https://www.ncbi.nlm.nih.gov/genbank/tbl2asn2/

            version versionsuffix toolchain 25.8 -linux64 system 20180227 -linux64 system 20200302 -linux64 system 20220427 -linux64 system"},{"location":"version-specific/supported-software/#tcc","title":"TCC","text":"

            The Tiny C Compiler (aka TCC, tCc, or TinyCC) is an x86 and x86-64 C compiler created by Fabrice Bellard. It is designed to work for slow computers with little disk space and can run shebang style !/usr/bin/tcc . TCC is distributed under the LGPL. TCC claims to implement all of ANSI C (C89/C90),[1] much of the new ISO C99 standard, and many GNU C extensions including inline assembly.

            homepage: http://bellard.org/tcc/

            version toolchain 0.9.26 system"},{"location":"version-specific/supported-software/#tcl","title":"Tcl","text":"

            Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.

            homepage: https://www.tcl.tk/

            version toolchain 8.5.19 foss/2017a 8.6.3 GCC/4.8.4, GCC/4.9.2 8.6.4 GCC/4.9.3-2.25, GNU/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 8.6.5 GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/6.3.0, foss/2016.04, foss/2016a, foss/2016b, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016b 8.6.6 GCCcore/4.9.3, GCCcore/6.3.0 8.6.7 GCCcore/6.4.0 8.6.8 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0 8.6.9 GCCcore/8.2.0, GCCcore/8.3.0 8.6.10 GCCcore/10.2.0, GCCcore/9.3.0 8.6.11 GCCcore/10.3.0, GCCcore/11.2.0 8.6.12 GCCcore/11.3.0, GCCcore/12.2.0 8.6.13 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#tclap","title":"TCLAP","text":"

            TCLAP is a small, flexible library that provides a simple interface for defining and accessing command line arguments. It was intially inspired by the user friendly CLAP libary.

            homepage: http://tclap.sourceforge.net/

            version toolchain 1.2.2 GCCcore/8.3.0 1.2.4 GCCcore/10.2.0, GCCcore/9.3.0 1.2.5 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#tcsh","title":"tcsh","text":"

            Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). It is a command language interpreter usable both as an interactive login shell and a shell script command processor. It includes a command-line editor, programmable word completion, spelling correction, a history mechanism, job control and a C-like syntax.

            homepage: https://www.tcsh.org

            version toolchain 6.19.00 intel/2016a 6.20.00 GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0 6.22.02 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 6.22.03 GCCcore/10.2.0 6.22.04 GCCcore/10.3.0 6.24.01 GCCcore/11.2.0, GCCcore/11.3.0 6.24.07 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tecplot360ex","title":"tecplot360ex","text":"

            Quickly plot and animate your CFD results exactly the way you want. Analyze complex solutions, arrange multiple layouts, and communicate your results with professional images and animations.

            homepage: http://www.tecplot.com/products/tecplot-360/

            version toolchain linux64 system"},{"location":"version-specific/supported-software/#telemac-mascaret","title":"TELEMAC-MASCARET","text":"

            TELEMAC-MASCARET is an integrated suite of solvers for use in the field of free-surface flow. Having been used in the context of many studies throughout the world, it has become one of the major standards in its field.

            homepage: http://www.opentelemac.org

            version toolchain 8p3r1 foss/2021b"},{"location":"version-specific/supported-software/#telescope","title":"Telescope","text":"

            Single locus resolution of Transposable ELEment expression using next-generation sequencing.

            homepage: https://github.com/mlbendall/telescope

            version versionsuffix toolchain 1.0.3 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#teneto","title":"Teneto","text":"

            Teneto is package for deriving, analysing and plotting temporal network representations. Additional tools for temporal network analysis with neuroimaging contexts.

            homepage: https://teneto.readthedocs.io

            version versionsuffix toolchain 0.5.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#tensorboard","title":"tensorboard","text":"

            TensorBoard is a suite of web applications for inspecting and understanding your TensorFlow runs and graphs.

            homepage: https://github.com/tensorflow/tensorboard

            version toolchain 2.8.0 foss/2021a 2.10.0 foss/2022a"},{"location":"version-specific/supported-software/#tensorboardx","title":"tensorboardX","text":"

            Tensorboard for PyTorch.

            homepage: https://github.com/lanpa/tensorboardX

            version versionsuffix toolchain 2.0 -Python-3.7.4 foss/2019b 2.1 -PyTorch-1.7.1 fosscuda/2020b 2.2 -PyTorch-1.7.1 foss/2020b, fosscuda/2020b 2.5.1 foss/2022a"},{"location":"version-specific/supported-software/#tensorflow","title":"TensorFlow","text":"

            An open-source software library for Machine Intelligence

            homepage: https://www.tensorflow.org/

            version versionsuffix toolchain 0.12.1 -Python-2.7.12 foss/2016b, intel/2016b 0.12.1 -Python-3.5.2 foss/2016b, intel/2016b 1.0.1 -Python-2.7.12 intel/2016b 1.0.1 -Python-3.5.2 intel/2016b 1.1.0 -Python-2.7.13 intel/2017a 1.1.0 -Python-3.6.1 intel/2017a 1.2.0 -Python-3.6.1 intel/2017a 1.2.1 -GPU-Python-3.5.2 foss/2016b 1.2.1 -Python-3.5.2 foss/2016b 1.3.0 -Python-2.7.13 intel/2017a 1.3.0 -Python-3.6.1 intel/2017a 1.3.0 -Python-3.6.3 intel/2017b 1.4.0 -Python-3.6.3 foss/2017b, intel/2017b 1.4.1 -Python-3.6.3 foss/2017b 1.5.0 -Python-3.6.3 foss/2017b, intel/2017b 1.6.0 -Python-3.6.4 foss/2018a, intel/2018a 1.6.0 -Python-3.6.4-CUDA-9.1.85 foss/2018a 1.7.0 -Python-3.6.4 foss/2018a 1.7.0 -Python-3.6.4-CUDA-9.1.85 foss/2018a 1.8.0 -Python-2.7.14 foss/2017b, fosscuda/2017b 1.8.0 -Python-3.6.3 foss/2017b, fosscuda/2017b 1.8.0 -Python-3.6.4 foss/2018a, fosscuda/2018a, intel/2018a 1.10.0 -Python-2.7.15 fosscuda/2018b 1.10.1 -Python-2.7.15 fosscuda/2018b 1.10.1 -Python-3.6.6 foss/2018b 1.11.0 -Python-3.6.6 foss/2018b 1.12.0 -Python-2.7.15 fosscuda/2018b 1.12.0 -Python-3.6.6 foss/2018b, fosscuda/2018b 1.13.1 -Python-3.6.6 foss/2018b 1.13.1 -Python-3.7.2 foss/2019a, fosscuda/2019a 1.14.0 -Python-3.7.2 foss/2019a, fosscuda/2019a 1.15.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.15.2 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.15.5 -Python-3.7.4 fosscuda/2019b 1.15.5 -Python-3.7.4-nompi fosscuda/2019b 2.0.0 -Python-3.7.2 foss/2019a 2.0.0 -Python-3.7.4 fosscuda/2019b 2.0.1 -Python-3.7.2 foss/2019a 2.0.1 -Python-3.7.4 fosscuda/2019b 2.1.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.2.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.2.2 -Python-3.7.4 foss/2019b 2.2.3 foss/2020b 2.3.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.3.1 -Python-3.8.2 foss/2020a, fosscuda/2020a 2.4.1 foss/2020b, fosscuda/2020b 2.4.1 -Python-3.7.4 fosscuda/2019b 2.4.4 foss/2021a 2.5.0 foss/2020b, fosscuda/2020b 2.5.0 -Python-3.7.4 fosscuda/2019b 2.5.3 foss/2021a 2.5.3 -CUDA-11.3.1 foss/2021a 2.6.0 foss/2021a 2.6.0 -CUDA-11.3.1 foss/2021a 2.7.1 foss/2021b 2.7.1 -CUDA-11.4.1 foss/2021b 2.8.4 foss/2021b 2.8.4 -CUDA-11.4.1 foss/2021b 2.9.1 foss/2022a 2.9.1 -CUDA-11.7.0 foss/2022a 2.11.0 foss/2022a 2.11.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#tensorflow-datasets","title":"TensorFlow-Datasets","text":"

            TensorFlow Datasets is a collection of datasets ready to use, with TensorFlow or other Python ML frameworks, such as Jax. All datasets are exposed as tf.data.Datasets , enabling easy-to-use and high-performance input pipelines.

            homepage: https://www.tensorflow.org/datasets

            version versionsuffix toolchain 4.7.0 -CUDA-11.3.1 foss/2021a 4.8.3 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#tensorflow-graphics","title":"TensorFlow-Graphics","text":"

            Tensorflow Graphics provides a set of differentiable graphics and geometry layers (e.g. cameras, reflectance models, spatial transformations, mesh convolutions) and 3D viewer functionalities (e.g. 3D TensorBoard) that can be used to train and debug your machine learning models of choice.

            homepage: https://github.com/tensorflow/graphics

            version versionsuffix toolchain 2021.12.3 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#tensorflow-probability","title":"tensorflow-probability","text":"

            TensorFlow Probability (TFP) is a library for probabilistic reasoning and statistical analysis.

            homepage: https://www.tensorflow.org/probability

            version versionsuffix toolchain 0.9.0 -Python-3.7.4 foss/2019b 0.12.1 foss/2020b, fosscuda/2020b 0.16.0 foss/2021b"},{"location":"version-specific/supported-software/#tensorrt","title":"TensorRT","text":"

            NVIDIA TensorRT is a platform for high-performance deep learning inference

            homepage: https://developer.nvidia.com/tensorrt

            version versionsuffix toolchain 4.0.1.6 -Python-2.7.15 fosscuda/2018b"},{"location":"version-specific/supported-software/#terastructure","title":"terastructure","text":"

            TeraStructure is a new algorithm to fit Bayesian models of genetic variation in human populations on tera-sample-sized data sets (10^12 observed genotypes, i.e., 1M individuals at 1M SNPs). This package provides a scalable, multi-threaded C++ implementation that can be run on a single computer.

            homepage: https://github.com/StoreyLab/terastructure

            version toolchain 1.0 GCC/8.3.0"},{"location":"version-specific/supported-software/#termcolor","title":"termcolor","text":"

            Termcolor is a header-only C++ library for printing colored messages to the terminal.

            homepage: https://termcolor.readthedocs.io/

            version toolchain 2.0.0 system"},{"location":"version-specific/supported-software/#tesla-deployment-kit","title":"Tesla-Deployment-Kit","text":"

            The Tesla Deployment Kit is a set of tools provided primarily for the NVIDIA Tesla range of GPUs. They aim to empower users to better manage their NVIDIA GPUs by providing a broad range of functionalities. The kit contains: * NVIDIA Management Library (NVML), * Tesla Deployment Kit - Linux Edition (Aug 1st, 2013)

            homepage: https://developer.nvidia.com/tesla-deployment-kit

            version toolchain 5.319.43 system"},{"location":"version-specific/supported-software/#tesseract","title":"tesseract","text":"

            Tesseract is an optical character recognition engine

            homepage: https://github.com/tesseract-ocr/tesseract

            version toolchain 4.0.0 GCCcore/7.3.0 4.1.0 GCCcore/10.3.0, GCCcore/8.2.0 5.3.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#testpath","title":"testpath","text":"

            Test utilities for code working with files and commands

            homepage: https://github.com/jupyter/testpath

            version versionsuffix toolchain 0.3 -Python-2.7.11 foss/2016a, intel/2016a 0.3 -Python-2.7.12 foss/2016b, intel/2016b 0.3 -Python-3.5.1 foss/2016a 0.3 -Python-3.5.2 intel/2016b"},{"location":"version-specific/supported-software/#tetgen","title":"TetGen","text":"

            A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator

            homepage: http://wias-berlin.de/software/index.jsp?id=TetGen

            version toolchain 1.5.0 GCCcore/6.4.0 1.6.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#tetoolkit","title":"TEToolkit","text":"

            Tools for estimating differential enrichment of Transposable Elements and other highly repetitive regions

            homepage: http://hammelllab.labsites.cshl.edu/software/#TEToolkit

            version versionsuffix toolchain 1.5.1 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#tetranscripts","title":"TEtranscripts","text":"

            TEtranscripts and TEcount takes RNA-seq (and similar data) and annotates reads to both genes & transposable elements. TEtranscripts then performs differential analysis using DESeq2.

            homepage: https://github.com/mhammell-laboratory/TEtranscripts

            version toolchain 2.2.0 foss/2020a"},{"location":"version-specific/supported-software/#texinfo","title":"texinfo","text":"

            Texinfo is the official documentation format of the GNU project.

            homepage: https://www.gnu.org/software/texinfo/

            version toolchain 4.13a system 5.2 GCC/4.8.2 6.4 GCCcore/5.4.0 6.5 GCCcore/6.4.0, GCCcore/7.3.0 6.6 GCCcore/8.2.0 6.7 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 6.8 GCCcore/11.2.0 7.0.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#texlive","title":"texlive","text":"

            TeX is a typesetting language. Instead of visually formatting your text, you enter your manuscript text intertwined with TeX commands in a plain text file. You then run TeX to produce formatted output, such as a PDF file. Thus, in contrast to standard word processors, your document is a separate file that does not pretend to be a representation of the final typeset output, and so can be easily edited and manipulated.

            homepage: https://tug.org

            version toolchain 20200406 GCCcore/8.3.0 20210324 GCC/10.3.0, GCC/11.2.0 20220321 GCC/11.2.0"},{"location":"version-specific/supported-software/#text-csv","title":"Text-CSV","text":"

            Text-CSV parser

            homepage: https://metacpan.org/pod/Text::CSV

            version versionsuffix toolchain 1.33 -Perl-5.22.1 foss/2016a"},{"location":"version-specific/supported-software/#tfea","title":"TFEA","text":"

            Transcription Factor Enrichment Analysis

            homepage: https://github.com/Dowell-Lab/TFEA

            version versionsuffix toolchain 1.1.4 -muMerge-1.1.0 foss/2020b"},{"location":"version-specific/supported-software/#theano","title":"Theano","text":"

            Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently.

            homepage: https://deeplearning.net/software/theano

            version versionsuffix toolchain 0.8.2 -Python-2.7.11 foss/2016a 0.8.2 -Python-3.5.1 foss/2016a 0.8.2 -Python-3.5.2 intel/2016b 0.9.0 -Python-2.7.13 intel/2017a 0.9.0 -Python-3.6.1 intel/2017a 1.0.0 -Python-2.7.14 intel/2017b 1.0.0 -Python-3.6.3 intel/2017b 1.0.1 -Python-3.6.3 foss/2017b, intel/2017b 1.0.2 -Python-2.7.14 fosscuda/2017b, intelcuda/2017b 1.0.2 -Python-2.7.15 fosscuda/2018b 1.0.2 -Python-3.6.3 fosscuda/2017b, intelcuda/2017b 1.0.2 -Python-3.6.4 foss/2018a, intel/2018a 1.0.3 -Python-3.6.6 foss/2018b, fosscuda/2018b 1.0.4 foss/2019a, fosscuda/2019a 1.0.4 -Python-3.6.4 foss/2018a 1.0.4 -Python-3.6.6 foss/2018b, fosscuda/2018b 1.0.4 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 1.0.4 -Python-3.8.2 foss/2020a 1.1.2 -PyMC foss/2020b, foss/2021b, fosscuda/2020b, intel/2020b, intel/2021b"},{"location":"version-specific/supported-software/#themispy","title":"ThemisPy","text":"

            A header-only C++ library for L-BFGS and L-BFGS-B algorithms

            homepage: https://github.com/aeb/ThemisPy

            version toolchain 0.3.0 foss/2021a"},{"location":"version-specific/supported-software/#theta","title":"THetA","text":"

            Tumor Heterogeneity Analysis (THetA) and THetA2 are algorithms that estimate the tumor purity and clonal/subclonal copy number aberrations directly from high-throughput DNA sequencing data.

            homepage: https://github.com/raphael-group/THetA

            version versionsuffix toolchain 0.7 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#thirdorder","title":"thirdorder","text":"

            A Python script to help create input files for computing anhamonic interatomic force constants, harnessing the symmetries of the system to minimize the number of required DFT calculations. A second mode of operation allows the user to build the third-order IFC matrix from the results of those runs.

            homepage: https://bitbucket.org/sousaw/thirdorder/

            version toolchain 1.1.1 foss/2022a"},{"location":"version-specific/supported-software/#thurstonianirt","title":"thurstonianIRT","text":"

            Fit Thurstonian IRT models in R using Stan, lavaan, or Mplus

            homepage: https://github.com/paul-buerkner/thurstonianIRT

            version versionsuffix toolchain 0.9.0 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#ticcutils","title":"TiCCutils","text":"

            TiCC utils is a collection of generic C++ software which is used in a lot of programs produced at Tilburg centre for Cognition and Communication (TiCC) at Tilburg University and Centre for Dutch Language and Speech at University of Antwerp.

            homepage: https://github.com/LanguageMachines/ticcutils

            version toolchain 0.11 foss/2016a 0.21 iimpi/2019a, intel/2018b"},{"location":"version-specific/supported-software/#tidybayes","title":"tidybayes","text":"

            Compose data for and extract, manipulate, and visualize posterior draws from Bayesian models ('JAGS', 'Stan', 'rstanarm', 'brms', 'MCMCglmm', 'coda', ...) in a tidy data format.

            homepage: https://cran.r-project.org/package=tidybayes

            version versionsuffix toolchain 2.1.1 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#tidymodels","title":"tidymodels","text":"

            tidymodels is a 'meta-package' for modeling and statistical analysis that shares the underlying design philosophy, grammar, and data structures of the tidyverse.

            homepage: https://tidymodels.tidymodels.org

            version versionsuffix toolchain 0.1.0 -R-4.0.0 foss/2020a 1.1.0 foss/2022b"},{"location":"version-specific/supported-software/#tika","title":"Tika","text":"

            The Apache Tika toolkit detects and extracts metadata and text from over a thousand different file types (such as PPT, XLS, and PDF).

            homepage: https://tika.apache.org/

            version toolchain 1.16 system"},{"location":"version-specific/supported-software/#timbl","title":"TiMBL","text":"

            TiMBL (Tilburg Memory Based Learner) is an open source software package implementing several memory-based learning algorithms, among which IB1-IG, an implementation of k-nearest neighbor classification with feature weighting suitable for symbolic feature spaces, and IGTree, a decision-tree approximation of IB1-IG. All implemented algorithms have in common that they store some representation of the training set explicitly in memory. During testing, new cases are classified by extrapolation from the most similar stored cases.

            homepage: http://ilk.uvt.nl/timbl/

            version toolchain 6.4.7 foss/2016a 6.4.13 iimpi/2019a, intel/2018b"},{"location":"version-specific/supported-software/#time","title":"time","text":"

            The `time' command runs another program, then displays information about the resources used by that program, collected by the system while the program was running.

            homepage: https://www.gnu.org/software/time/

            version toolchain 1.7 system 1.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#timm","title":"timm","text":"

            timm is a library containing SOTA computer vision models, layers, utilities, optimizers, schedulers, data-loaders, augmentations, and training/evaluation scripts. It comes packaged with >700 pretrained models, and is designed to be flexible and easy to use.

            homepage: https://huggingface.co/docs/timm

            version versionsuffix toolchain 0.6.13 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#tinker","title":"TINKER","text":"

            The TINKER molecular modeling software is a complete and general package for molecular mechanics and dynamics, with some special features for biopolymers.

            homepage: https://dasher.wustl.edu/tinker

            version toolchain 8.6.1 foss/2018b 8.7.2 foss/2019b 8.8.1 foss/2020a"},{"location":"version-specific/supported-software/#tinydb","title":"TinyDB","text":"

            TinyDB is a lightweight document oriented database optimized for your happiness :) It's written in pure Python and has no external dependencies. The target are small apps that would be blown away by a SQL-DB or an external database server.

            homepage: https://tinydb.readthedocs.io/

            version toolchain 3.15.2 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#tinyxml","title":"TinyXML","text":"

            TinyXML is a simple, small, minimal, C++ XML parser that can be easily integrating into other programs. It reads XML and creates C++ objects representing the XML document. The objects can be manipulated, changed, and saved again as XML.

            homepage: https://sourceforge.net/projects/tinyxml

            version toolchain 2.6.2 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#tk","title":"Tk","text":"

            Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building a graphical user interface (GUI) in many different programming languages.

            homepage: https://www.tcl.tk/

            version versionsuffix toolchain 8.6.3 -no-X11 GCC/4.8.4, GCC/4.9.2 8.6.4 iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 8.6.4 -libX11-1.6.3 intel/2016a 8.6.4 -no-X11 GCC/4.9.3-2.25, GNU/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a 8.6.5 GCC/5.4.0-2.26, GCCcore/6.3.0, foss/2016.04, foss/2016a, foss/2016b, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016b 8.6.6 foss/2017a, intel/2017a 8.6.7 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 8.6.8 GCCcore/6.4.0, GCCcore/7.3.0, foss/2018a, iomkl/2018a 8.6.9 GCCcore/8.2.0, GCCcore/8.3.0 8.6.10 GCCcore/10.2.0, GCCcore/9.3.0 8.6.11 GCCcore/10.3.0, GCCcore/11.2.0 8.6.12 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tkinter","title":"Tkinter","text":"

            Tkinter module, built with the Python buildsystem

            homepage: https://python.org/

            version versionsuffix toolchain 2.7.13 -Python-2.7.13 foss/2017a, intel/2017a 2.7.14 -Python-2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, intel/2017b, intel/2018a, intelcuda/2017b 2.7.15 GCCcore/8.2.0 2.7.15 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 2.7.16 GCCcore/8.3.0 2.7.18 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/9.3.0 3.6.1 -Python-3.6.1 foss/2017a, intel/2017a 3.6.2 -Python-3.6.2 foss/2017b 3.6.3 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 3.6.4 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018.02, iomkl/2018a 3.6.6 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 3.7.2 GCCcore/8.2.0 3.7.4 GCCcore/8.3.0 3.8.2 GCCcore/9.3.0 3.8.6 GCCcore/10.2.0 3.9.5 GCCcore/10.3.0 3.9.6 GCCcore/11.2.0 3.10.4 GCCcore/11.3.0 3.10.8 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tm-align","title":"TM-align","text":"

            This package unifies protein structure alignment and RNA structure alignment into the standard TM-align program for single chain structure alignment, MM-align program for multi-chain structure alignment, and TM-score program for sequence dependent structure superposition.

            homepage: https://zhanglab.ccmb.med.umich.edu/RNA-align/TMalign/

            version toolchain 20180426 foss/2018b, intel/2019a 20190822 GCC/11.3.0"},{"location":"version-specific/supported-software/#tmae","title":"tMAE","text":"

            Package containing functions to: perform a negative binomial test on allele-specific counts add gnomAD minor allele frequencies MAplot (FC vs total counts) of allele-specific counts and results allelic counts (ALT vs REF)

            homepage: https://github.com/mumichae/tMAE

            version versionsuffix toolchain 1.0.0 -R-4.0.3 foss/2020b 1.0.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#tmap","title":"tmap","text":"

            tmap is a very fast visualization library for large, high-dimensional data sets. Currently, tmap is available for Python. tmap's graph layouts are based on the OGDF library.

            homepage: https://tmap.gdb.tools

            version toolchain 20220502 GCC/11.2.0"},{"location":"version-specific/supported-software/#tmux","title":"tmux","text":"

            tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.

            homepage: https://github.com/tmux/tmux/

            version toolchain 1.9a GCC/4.9.2 2.2 GCCcore/4.9.3 2.3 GCC/5.4.0-2.26, system 3.1c GCCcore/8.3.0 3.2 GCCcore/10.2.0, GCCcore/9.3.0 3.2a GCCcore/10.3.0, GCCcore/11.2.0, system 3.3a GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, system"},{"location":"version-specific/supported-software/#tn93","title":"TN93","text":"

            This is a simple program meant to compute pairwise distances between aligned nucleotide sequences in sequential FASTA format using the Tamura Nei 93 distance.

            homepage: https://github.com/veg/tn93

            version toolchain 1.0.7 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#tobias","title":"TOBIAS","text":"

            TOBIAS is a collection of command-line bioinformatics tools for performing footprinting analysis on ATAC-seq data.

            homepage: https://github.com/loosolab/TOBIAS

            version toolchain 0.12.12 foss/2021b 0.14.0 foss/2020b"},{"location":"version-specific/supported-software/#tofu","title":"ToFu","text":"

            Tomography for Fusion.

            homepage: https://github.com/ToFuProject/tofu

            version versionsuffix toolchain 1.3.17 -Python-2.7.14 foss/2018a 1.3.17 -Python-3.6.4 foss/2018a 1.4.0 -Python-2.7.14 foss/2018a, intel/2018a 1.4.0 -Python-3.6.4 foss/2018a, intel/2018a 1.4.1 -Python-3.6.4 foss/2018a, intel/2018a 1.5.0 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#togl","title":"Togl","text":"

            A Tcl/Tk widget for OpenGL rendering.

            homepage: https://sourceforge.net/projects/togl/

            version toolchain 2.0 GCCcore/10.2.0, GCCcore/11.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#toil","title":"toil","text":"

            A scalable, efficient, cross-platform (Linux/macOS) and easy-to-use workflow engine in pure Python.

            homepage: https://github.com/DataBiosphere/toil

            version toolchain 5.8.0 foss/2021a"},{"location":"version-specific/supported-software/#tokenizers","title":"tokenizers","text":"

            Fast State-of-the-Art Tokenizers optimized for Research and Production

            homepage: https://github.com/huggingface/tokenizers

            version toolchain 0.12.1 GCCcore/10.3.0 0.13.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tombo","title":"Tombo","text":"

            Tombo is a suite of tools primarily for the identification of modified nucleotides from raw nanopore sequencing data.

            homepage: https://github.com/nanoporetech/tombo

            version versionsuffix toolchain 1.5.1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#toml-fortran","title":"TOML-Fortran","text":"

            TOML parser for Fortran projects

            homepage: https://github.com/toml-f/toml-f

            version toolchain 0.2.2 GCC/10.2.0, iccifort/2020.4.304 0.3.1 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#topas","title":"TOPAS","text":"

            TOPAS wraps and extends the Geant4 Simulation Toolkit to make advanced Monte Carlo simulation of all forms of radiotherapy easier to use for medical physicists.

            homepage: https://www.topasmc.org

            version toolchain 3.9 foss/2022b"},{"location":"version-specific/supported-software/#topaz","title":"topaz","text":"

            A pipeline for particle detection in cryo-electron microscopy images using convolutional neural networks trained from positive and unlabeled examples. Topaz also includes methods for micrograph denoising using deep de- noising models.

            homepage: https://github.com/tbepler/topaz

            version versionsuffix toolchain 0.2.5 foss/2021a 0.2.5 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#tophat","title":"TopHat","text":"

            TopHat is a fast splice junction mapper for RNA-Seq reads.

            homepage: http://ccb.jhu.edu/software/tophat/

            version versionsuffix toolchain 2.1.0 -Python-2.7.14 intel/2018a 2.1.1 foss/2016a, foss/2016b, foss/2017b, intel/2017a, intel/2017b 2.1.2 foss/2018b, gompi/2019b, iimpi/2019b 2.1.2 -Python-2.7.18 GCC/10.2.0, GCC/11.3.0, gompi/2020a, iimpi/2020a"},{"location":"version-specific/supported-software/#torchaudio","title":"torchaudio","text":"

            Data manipulation and transformation for audio signal processing, powered by PyTorch

            homepage: https://github.com/pytorch/audio

            version versionsuffix toolchain 0.5.0 -Python-3.7.4-PyTorch-1.4.0 foss/2019b, fosscuda/2019b 0.12.0 -PyTorch-1.12.0 foss/2022a 0.12.0 -PyTorch-1.12.0-CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#torchdata","title":"torchdata","text":"

            TorchData is a prototype library of common modular data loading primitives for easily constructing flexible and performant data pipelines.\"

            homepage: https://github.com/pytorch/data

            version versionsuffix toolchain 0.3.0 -PyTorch-1.11.0-CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#torchinfo","title":"torchinfo","text":"

            \" Torchinfo provides information complementary to what is provided by print(your_model) in PyTorch, similar to Tensorflow's model.summary() API to view the visualization of the model, which is helpful while debugging your network.

            homepage: https://github.com/TylerYep/torchinfo

            version versionsuffix toolchain 1.5.2 -PyTorch-1.7.1 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#torchsampler","title":"torchsampler","text":"

            A (PyTorch) imbalanced dataset sampler for oversampling low classes and undersampling high frequent ones.

            homepage: https://github.com/ufoym/imbalanced-dataset-sampler

            version versionsuffix toolchain 0.1.2 foss/2022a 0.1.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#torchtext","title":"torchtext","text":"

            Data loaders and abstractions for text and NLP

            homepage: https://github.com/pytorch/text

            version versionsuffix toolchain 0.5.0 -PyTorch-1.4.0-Python-3.7.4 fosscuda/2019b 0.7.0 -Python-3.7.4-PyTorch-1.6.0 foss/2019b, fosscuda/2019b 0.8.1 -PyTorch-1.7.1 fosscuda/2020b 0.9.1 -PyTorch-1.8.1 fosscuda/2020b 0.10.0 -PyTorch-1.9.0 fosscuda/2020b 0.14.1 -PyTorch-1.12.0 foss/2022a"},{"location":"version-specific/supported-software/#torchvision","title":"torchvision","text":"

            Datasets, Transforms and Models specific to Computer Vision

            homepage: https://github.com/pytorch/vision

            version versionsuffix toolchain 0.2.0 -Python-3.6.4 intel/2018a 0.2.0 -Python-3.6.4-CUDA-9.1.85 foss/2018a 0.2.2 -Python-3.6.6 foss/2018b, fosscuda/2018b 0.3.0 -Python-3.7.2 foss/2019a 0.4.2 -PyTorch-1.3.1 fosscuda/2020b 0.4.2 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.5.0 -Python-3.7.4-PyTorch-1.4.0 fosscuda/2019b 0.7.0 -Python-3.7.4-PyTorch-1.6.0 foss/2019b, fosscuda/2019b 0.7.0 -Python-3.7.4-PyTorch-1.6.0-imkl fosscuda/2019b 0.8.2 -PyTorch-1.7.1 foss/2020b, fosscuda/2020b 0.8.2 -Python-3.7.4-PyTorch-1.7.1 fosscuda/2019b 0.9.1 -PyTorch-1.8.1 fosscuda/2020b 0.9.1 -Python-3.7.4-PyTorch-1.8.1 fosscuda/2019b 0.10.0 -PyTorch-1.9.0 fosscuda/2020b 0.11.1 foss/2021a 0.11.1 -CUDA-11.3.1 foss/2021a 0.11.3 foss/2021a 0.11.3 -CUDA-11.3.1 foss/2021a 0.12.0 -PyTorch-1.11.0-CUDA-11.3.1 foss/2021a 0.13.1 foss/2022a 0.13.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#totalview","title":"TotalView","text":"

            TotalView is a GUI-based source code defect analysis tool that gives you unprecedented control over processes and thread execution and visibility into program state and variables. It allows you to debug one or many processes and/or threads in a single window with complete control over program execution. This allows you to set breakpoints, stepping line by line through the code on a single thread, or with coordinated groups of processes or threads, and run or halt arbitrary sets of processes or threads. You can reproduce and troubleshoot difficult problems that can occur in concurrent programs that take advantage of threads, OpenMP, MPI, GPUs or coprocessors.

            homepage: http://www.roguewave.com/products/totalview.aspx

            version versionsuffix toolchain 8.11.0-0 -linux-x86-64 system 8.11.0-2 -linux-x86-64 system 8.12.0-0 -linux-x86-64 system"},{"location":"version-specific/supported-software/#tqdm","title":"tqdm","text":"

            A fast, extensible progress bar for Python and CLI

            homepage: https://github.com/tqdm/tqdm

            version versionsuffix toolchain 4.24.0 -Python-2.7.15 foss/2018b 4.24.0 -Python-3.5.1 foss/2016a 4.29.0 -Python-3.6.4 intel/2018a 4.32.1 GCCcore/8.2.0 4.41.1 GCCcore/8.3.0 4.41.1 -Python-3.6.6 foss/2018b, intel/2018b 4.47.0 GCCcore/9.3.0 4.51.0 -Python-3.8.2 intel/2020a 4.56.2 GCCcore/10.2.0 4.60.0 GCCcore/10.2.0 4.61.1 GCCcore/10.3.0 4.61.2 GCCcore/10.3.0 4.62.3 GCCcore/11.2.0 4.64.0 GCCcore/11.3.0 4.64.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tracer","title":"Tracer","text":"

            Tracer is a graphical tool for visualization and diagnostics of MCMC output.

            homepage: https://github.com/beast-dev/tracer

            version toolchain 1.7.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#transcriptclean","title":"TranscriptClean","text":"

            TranscriptClean is a Python program that corrects mismatches, microindels, and noncanonical splice junctions in long reads that have been mapped to the genome.

            homepage: https://github.com/mortazavilab/TranscriptClean

            version toolchain 2.0.2 foss/2020b"},{"location":"version-specific/supported-software/#transdecoder","title":"TransDecoder","text":"

            TransDecoder identifies candidate coding regions within transcript sequences, such as those generated by de novo RNA-Seq transcript assembly using Trinity, or constructed based on RNA-Seq alignments to the genome using Tophat and Cufflinks.

            homepage: https://github.com/TransDecoder/TransDecoder/wiki

            version versionsuffix toolchain 2.1.0 -Perl-5.24.1 intel/2017a 5.5.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#transformers","title":"Transformers","text":"

            State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0

            homepage: https://github.com/huggingface/transformers

            version versionsuffix toolchain 4.2.1 -Python-3.8.2 foss/2020a 4.20.1 foss/2021a 4.21.1 foss/2021b 4.24.0 foss/2022a 4.29.2 foss/2022a 4.30.2 foss/2022b"},{"location":"version-specific/supported-software/#transrate","title":"Transrate","text":"

            Transrate is software for de-novo transcriptome assembly quality analysis. It examines your assembly in detail and compares it to experimental evidence such as the sequencing reads, reporting quality scores for contigs and assemblies. This allows you to choose between assemblers and parameters, filter out the bad contigs from an assembly, and help decide when to stop trying to improve the assembly.

            homepage: http://hibberdlab.com/transrate/

            version toolchain 1.0.3 system"},{"location":"version-specific/supported-software/#travis","title":"travis","text":"

            Travis CI Client (CLI and Ruby library)

            homepage: https://github.com/travis-ci/travis.rb

            version versionsuffix toolchain 1.8.2 -Ruby-2.3.1 system 1.8.4 -Ruby-2.3.3 system"},{"location":"version-specific/supported-software/#travis-analyzer","title":"TRAVIS-Analyzer","text":"

            TRAVIS is a free tool for analyzing and visualizing trajectories from all kinds of Molecular Dynamics or Monte Carlo simulations.

            homepage: http://www.travis-analyzer.de/

            version toolchain 210521 GCC/10.3.0"},{"location":"version-specific/supported-software/#treatsens","title":"treatSens","text":"

            Utilities to investigate sensitivity to unmeasured confounding in parametric models with either binary or continuous treatment.

            homepage: https://github.com/vdorie/treatSens

            version versionsuffix toolchain 3.0-20201002 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#treemix","title":"TreeMix","text":"

            TreeMix is a method for inferring the patterns of population splits and mixtures in the history of a set of populations.

            homepage: http://bitbucket.org/nygcresearch/treemix

            version toolchain 1.13 GCC/10.3.0, GCC/11.2.0, intel/2018a"},{"location":"version-specific/supported-software/#treeshrink","title":"TreeShrink","text":"

            TreeShrink is an algorithm for detecting abnormally long branches in one or more phylogenetic trees.

            homepage: https://github.com/uym2/TreeShrink

            version versionsuffix toolchain 1.3.2 -Python-3.7.2 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#trf","title":"TRF","text":"

            Tandem Repeats Finder: a program to analyze DNA sequences.

            homepage: https://tandem.bu.edu/trf/trf.html

            version versionsuffix toolchain 4.09 -linux64 system 4.09.1 GCC/10.3.0, GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#triangle","title":"Triangle","text":"

            Triangle generates exact Delaunay triangulations, constrained Delaunay triangulations, conforming Delaunay triangulations, Voronoi diagrams, and high-quality triangular meshes. The latter can be generated with no small or large angles, and are thus suitable for finite element analysis.

            homepage: http://www.cs.cmu.edu/~quake/triangle.html

            version toolchain 1.6 GCCcore/6.4.0, GCCcore/9.3.0, foss/2016a, foss/2018a, intel/2016b, intel/2017a, intel/2018a"},{"location":"version-specific/supported-software/#trilinos","title":"Trilinos","text":"

            The Trilinos Project is an effort to develop algorithms and enabling technologies within an object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific problems. A unique design feature of Trilinos is its focus on packages.

            homepage: https://trilinos.org

            version versionsuffix toolchain 12.12.1 -Python-2.7.14 foss/2017b, intel/2017b 12.12.1 -Python-3.6.4 foss/2018a, intel/2018a 12.12.1 -Python-3.7.4 foss/2019b 13.4.1 foss/2022a"},{"location":"version-specific/supported-software/#trim_galore","title":"Trim_Galore","text":"

            Trim Galore! is a wrapper script to automate quality and adapter trimming as well as quality control, with some added functionality to remove biased methylation positions for RRBS sequence files (for directional, non-directional (or paired-end) sequencing).

            homepage: https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/

            version versionsuffix toolchain 0.4.2 foss/2016b 0.4.4 foss/2016b, intel/2017a 0.5.0 foss/2018b 0.5.0 -Python-3.6.6 intel/2018b 0.6.0 -Python-2.7.15 foss/2018b 0.6.0 -Python-3.6.6 foss/2018b 0.6.1 -Python-2.7.15 foss/2018b 0.6.1 -Python-3.6.6 foss/2018b 0.6.2 -Java-11 GCCcore/8.2.0 0.6.2 -Python-2.7.15 foss/2018b 0.6.2 -Python-3.6.6 foss/2018b 0.6.5 -Java-11-Python-3.7.4 GCCcore/8.3.0 0.6.6 -Python-2.7.18 GCC/10.2.0 0.6.6 -Python-3.8.2 GCCcore/9.3.0 0.6.7 GCCcore/10.3.0 0.6.10 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#trimal","title":"trimAl","text":"

            A tool for automated alignment trimming in large-scale phylogenetic analyses

            homepage: http://trimal.cgenomics.org/

            version toolchain 1.4.1 GCC/8.2.0-2.31.1, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0, intel/2018a"},{"location":"version-specific/supported-software/#trimesh","title":"trimesh","text":"

            Trimesh is a Python (2.7- 3.3+) library for loading and using triangular meshes with an emphasis on watertight meshes. The goal of the library is to provide a fully featured Trimesh object which allows for easy manipulation and analysis, in the style of the excellent Polygon object in the Shapely library.

            homepage: https://trimsh.org/

            version toolchain 3.17.1 foss/2022a 3.21.5 gfbf/2022b"},{"location":"version-specific/supported-software/#trimmomatic","title":"Trimmomatic","text":"

            Trimmomatic performs a variety of useful trimming tasks for illumina paired-end and single ended data.The selection of trimming steps and their associated parameters are supplied on the command line.

            homepage: http://www.usadellab.org/cms/?page=trimmomatic

            version versionsuffix toolchain 0.32 -Java-1.7.0_80 system 0.36 -Java-1.8.0_92 system 0.38 -Java-1.8 system 0.38 -Java-1.8.0_162 system 0.39 -Java-1.8 system 0.39 -Java-11 system 0.39 -Java-17 system"},{"location":"version-specific/supported-software/#trinity","title":"Trinity","text":"

            Trinity represents a novel method for the efficient and robust de novo reconstruction of transcriptomes from RNA-Seq data. Trinity combines three independent software modules: Inchworm, Chrysalis, and Butterfly, applied sequentially to process large volumes of RNA-Seq reads.

            homepage: https://trinityrnaseq.github.io

            version versionsuffix toolchain 2.2.0 foss/2016a 2.4.0 foss/2017a 2.5.1 intel/2017a, intel/2017b 2.6.6 intel/2018a 2.8.4 foss/2018b 2.8.5 iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.8.5 -Java-11 GCC/8.3.0 2.9.1 foss/2020b 2.9.1 -Python-2.7.16 foss/2019b 2.9.1 -Python-3.7.4 foss/2019b 2.10.0 -Python-3.7.4 foss/2019b 2.15.1 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#trinotate","title":"Trinotate","text":"

            Trinotate is a comprehensive annotation suite designed for automatic functional annotation of transcriptomes, particularly de novo assembled transcriptomes, from model or non-model organisms. Trinotate makes use of a number of different well referenced methods for functional annotation including homology search to known sequence data (BLAST+/SwissProt), protein domain identification (HMMER/PFAM), protein signal peptide and transmembrane domain prediction (signalP/tmHMM), and leveraging various annotation databases (eggNOG/GO/Kegg databases). All functional annotation data derived from the analysis of transcripts is integrated into a SQLite database which allows fast efficient searching for terms with specific qualities related to a desired scientific hypothesis or a means to create a whole annotation report for a transcriptome.

            homepage: https://github.com/Trinotate/Trinotate/wiki

            version toolchain 4.0.1 foss/2022a"},{"location":"version-specific/supported-software/#triplexator","title":"Triplexator","text":"

            Triplexator is a tool for detecting nucleic acid triple helices and triplex features in nucleotide sequences using the canonical triplex-formation rules.

            homepage: https://github.com/Gurado/triplexator

            version toolchain 1.3.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#triqs","title":"TRIQS","text":"

            TRIQS (Toolbox for Research on Interacting Quantum Systems) is a scientific project providing a set of C++ and Python libraries to develop new tools for the study of interacting quantum systems.

            homepage: https://triqs.github.io/triqs

            version versionsuffix toolchain 2.2.0 -Python-2.7.15 foss/2019a 2.2.1 -Python-2.7.15 foss/2019a 3.0.0 -Python-3.8.2 foss/2020a 3.1.1 foss/2022a"},{"location":"version-specific/supported-software/#triqs-cthyb","title":"TRIQS-cthyb","text":"

            TRIQS (Toolbox for Research on Interacting Quantum Systems) is a scientific project providing a set of C++ and Python libraries to develop new tools for the study of interacting quantum systems. cthyb = continuous-time hybridisation-expansion quantum Monte Carlo The TRIQS-based hybridization-expansion solver allows to solve the generic problem of a quantum impurity embedded in a conduction bath for an arbitrary local interaction vertex. The \u201cimpurity\u201d can be any set of orbitals, on one or several atoms.

            homepage: https://triqs.github.io/cthyb/

            version versionsuffix toolchain 2.2.0 -Python-2.7.15 foss/2019a 3.0.0 -Python-3.8.2 foss/2020a 3.1.0 foss/2022a"},{"location":"version-specific/supported-software/#triqs-dft_tools","title":"TRIQS-dft_tools","text":"

            TRIQS (Toolbox for Research on Interacting Quantum Systems) is a scientific project providing a set of C++ and Python libraries to develop new tools for the study of interacting quantum systems. This TRIQS-based-based application is aimed at ab-initio calculations for correlated materials, combining realistic DFT band-structure calculation with the dynamical mean-field theory. Together with the necessary tools to perform the DMFT self-consistency loop for realistic multi-band problems, the package provides a full-fledged charge self-consistent interface to the Wien2K package. In addition, if Wien2k is not available, it provides a generic interface for one-shot DFT+DMFT calculations, where only the single-particle Hamiltonian in orbital space has to be provided.

            homepage: https://triqs.github.io/dft_tools/

            version versionsuffix toolchain 2.2.0 -Python-2.7.15 foss/2019a 3.0.0 -Python-3.8.2 foss/2020a 3.1.0 foss/2022a"},{"location":"version-specific/supported-software/#triqs-tprf","title":"TRIQS-tprf","text":"

            TRIQS (Toolbox for Research on Interacting Quantum Systems) is a scientific project providing a set of C++ and Python libraries to develop new tools for the study of interacting quantum systems. TPRF is a TRIQS-based two-particle response function tool box that implements basic operations for higher order response functions such as inversion, products, the random phase approximation, the bethe salpeter equation (in the local vertex approximation), etc.. The aim is to provide efficient (C++/OpenMP/MPI) implementations of the basic operations needed to compute the two-particle response in the different two-particle channels (particle-hole, particle-particle).

            homepage: https://triqs.github.io/tprf

            version versionsuffix toolchain 2.2.0 -Python-2.7.15 foss/2019a 3.0.0 -Python-3.8.2 foss/2020a 3.1.1 foss/2022a"},{"location":"version-specific/supported-software/#trnascan-se","title":"tRNAscan-SE","text":"

            tRNAscan-SE is the most widely employed tool for identifying and annotating tRNA genes in genomes.

            homepage: http://trna.ucsc.edu/tRNAscan-SE/

            version toolchain 2.0.12 GCC/11.2.0, foss/2022b"},{"location":"version-specific/supported-software/#trust","title":"TRUST","text":"

            Tcr Receptor Utilities for Solid Tissue (TRUST) is a computational tool to analyze TCR and BCR sequences using unselected RNA sequencing data, profiled from solid tissues, including tumors.

            homepage: https://bitbucket.org/liulab/trust

            version versionsuffix toolchain 3.0.2 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#trust4","title":"TRUST4","text":"

            Tcr Receptor Utilities for Solid Tissue (TRUST) is a computational tool to analyze TCR and BCR sequences using unselected RNA sequencing data, profiled from solid tissues, including tumors. TRUST4 performs de novo assembly on V, J, C genes including the hypervariable complementarity-determining region 3 (CDR3) and reports consensus of BCR/TCR sequences. TRUST4 then realigns the contigs to IMGT reference gene sequences to report the corresponding information. TRUST4 supports both single-end and paired-end sequencing data with any read length.

            homepage: https://github.com/liulab-dfci/TRUST4

            version toolchain 1.0.5.1 system 1.0.6 GCC/11.2.0 1.0.7 GCC/11.3.0"},{"location":"version-specific/supported-software/#trycycler","title":"Trycycler","text":"

            Trycycler is a tool for generating consensus long-read assemblies for bacterial genomes.

            homepage: https://github.com/rrwick/Trycycler

            version versionsuffix toolchain 0.3.3 -Python-3.8.2 foss/2020a 0.5.2 foss/2021a 0.5.3 foss/2021b"},{"location":"version-specific/supported-software/#tsne","title":"tsne","text":"

            Python library containing T-SNE algorithms.

            homepage: https://github.com/danielfrg/tsne

            version versionsuffix toolchain 0.1.8 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#turbinesfoam","title":"turbinesFoam","text":"

            turbinesFoam is a library for simulating wind and marine hydrokinetic turbines in OpenFOAM using the actuator line method.

            homepage: https://github.com/turbinesFoam/turbinesFoam

            version versionsuffix toolchain 20220516 -OpenFOAM-8 foss/2020a"},{"location":"version-specific/supported-software/#turbovnc","title":"TurboVNC","text":"

            TurboVNC is a derivative of VNC (Virtual Network Computing) that is tuned to provide peak performance for 3D and video workloads.

            homepage: https://www.turbovnc.org

            version toolchain 2.2.3 GCCcore/8.2.0 3.0.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#tvb","title":"TVB","text":"

            The Virtual Brain will deliver the first open simulation of the human brain based on individual large-scale connectivity.

            homepage: http://thevirtualbrain.org

            version versionsuffix toolchain 1.4.1 -Python-2.7.11 intel/2016a 1.5 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#tvb-data","title":"tvb-data","text":"

            The Virtual Brain Project (TVB Project) has the purpose of offering some modern tools to the Neurosciences community, for computing, simulating and analyzing functional and structural data of human brains. Various demonstration data for use with TVB.

            homepage: http://www.thevirtualbrain.org/

            version versionsuffix toolchain 1.5 -Python-2.7.11 intel/2016a 20150915 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#tvb-deps","title":"TVB-deps","text":"

            Bundle of dependency Python packages for TVB (The Virtual Brain)

            homepage: https://thevirtualbrain.org

            version versionsuffix toolchain 20160618 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#tvb-framework","title":"tvb-framework","text":"

            The Virtual Brain Project (TVB Project) has the purpose of offering some modern tools to the Neurosciences community, for computing, simulating and analyzing functional and structural data of human brains. TVB Scientific Library is the most important scientific contribution of TVB Project.

            homepage: http://www.thevirtualbrain.org/

            version versionsuffix toolchain 1.5 -Python-2.7.11 intel/2016a 20150921 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#tvb-library","title":"tvb-library","text":"

            The Virtual Brain Project (TVB Project) has the purpose of offering some modern tools to the Neurosciences community, for computing, simulating and analyzing functional and structural data of human brains. TVB Scientific Library is the most important scientific contribution of TVB Project.

            homepage: http://www.thevirtualbrain.org/

            version versionsuffix toolchain 1.5 -Python-2.7.11 intel/2016a 20150922 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#twl-ninja","title":"TWL-NINJA","text":"

            Nearly Infinite Neighbor Joining Application.

            homepage: https://github.com/TravisWheelerLab/NINJA

            version toolchain 0.97-cluster_only GCC/10.2.0 0.98-cluster_only GCC/11.3.0"},{"location":"version-specific/supported-software/#typing-extensions","title":"typing-extensions","text":"

            Typing Extensions - Backported and Experimental Type Hints for Python

            homepage: https://github.com/python/typing/blob/master/typing_extensions/README.rst

            version versionsuffix toolchain 3.7.4.3 GCCcore/10.2.0 3.7.4.3 -Python-3.7.4 GCCcore/8.3.0 3.7.4.3 -Python-3.8.2 GCCcore/9.3.0 3.10.0.0 GCCcore/10.3.0 3.10.0.2 GCCcore/11.2.0 4.3.0 GCCcore/11.3.0 4.4.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#u","title":"U","text":"

            UCC - UCC-CUDA - UCLUST - UCX - UCX-CUDA - ucx-py - UCX-ROCm - udocker - UDUNITS - UFL - Ultralytics - umap-learn - UMI-tools - umi4cPackage - umis - UNAFold - uncertainty-calibration - unicore-uftp - Unicycler - Unidecode - unimap - units - unixODBC - unrar - UnZip - UQTk - USEARCH - UShER - USPEX - utf8proc - util-linux

            "},{"location":"version-specific/supported-software/#ucc","title":"UCC","text":"

            UCC (Unified Collective Communication) is a collective communication operations API and library that is flexible, complete, and feature-rich for current and emerging programming models and runtimes.

            homepage: https://www.openucx.org/

            version toolchain 1.0.0 GCCcore/11.3.0 1.1.0 GCCcore/12.2.0 1.2.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#ucc-cuda","title":"UCC-CUDA","text":"

            UCC (Unified Collective Communication) is a collective communication operations API and library that is flexible, complete, and feature-rich for current and emerging programming models and runtimes. This module adds the UCC CUDA support.

            homepage: https://www.openucx.org/

            version versionsuffix toolchain 1.0.0 -CUDA-11.7.0 GCCcore/11.3.0 1.1.0 -CUDA-12.0.0 GCCcore/12.2.0 1.2.0 -CUDA-12.1.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#uclust","title":"UCLUST","text":"

            UCLUST: Extreme high-speed sequence clustering, alignment and database search.

            homepage: https://www.drive5.com/usearch/index.html

            version versionsuffix toolchain 1.2.22q -i86linux64 system"},{"location":"version-specific/supported-software/#ucx","title":"UCX","text":"

            Unified Communication X An open-source production grade communication framework for data centric and high-performance applications

            homepage: http://www.openucx.org/

            version versionsuffix toolchain 1.3.1 GCCcore/6.4.0, GCCcore/7.3.0 1.5.0 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0 1.5.0rc1 -hpcx GCCcore/8.2.0 1.5.1 GCCcore/8.2.0 1.6.1 GCCcore/8.3.0 1.8.0 GCCcore/9.3.0 1.8.0 -CUDA-11.0.2 GCCcore/9.3.0 1.9.0 GCCcore/10.2.0 1.9.0 -CUDA-11.1.1 GCCcore/10.2.0 1.9.0 -CUDA-11.2.1 GCCcore/10.2.0 1.10.0 GCCcore/10.3.0 1.11.0 GCCcore/11.2.0 1.11.2 GCCcore/11.2.0 1.12.1 GCCcore/11.3.0 1.13.1 GCCcore/12.2.0 1.14.0 GCCcore/12.2.0 1.14.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#ucx-cuda","title":"UCX-CUDA","text":"

            Unified Communication X An open-source production grade communication framework for data centric and high-performance applications This module adds the UCX CUDA support.

            homepage: http://www.openucx.org/

            version versionsuffix toolchain 1.10.0 -CUDA-11.3.1 GCCcore/10.3.0 1.11.0 -CUDA-11.4.1 GCCcore/11.2.0 1.11.2 -CUDA-11.4.1 GCCcore/11.2.0 1.11.2 -CUDA-11.5.2 GCCcore/11.2.0 1.12.1 -CUDA-11.7.0 GCCcore/11.3.0 1.13.1 -CUDA-12.0.0 GCCcore/12.2.0 1.14.1 -CUDA-12.1.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#ucx-py","title":"ucx-py","text":"

            UCX-Py is the Python interface for UCX, a low-level high-performance networking library. UCX and UCX-Py supports several transport methods including InfiniBand and NVLink while still using traditional networking protocols like TCP.

            homepage: https://ucx-py.readthedocs.io

            version toolchain 0.21.0 foss/2020b"},{"location":"version-specific/supported-software/#ucx-rocm","title":"UCX-ROCm","text":"

            Unified Communication X An open-source production grade communication framework for data centric and high-performance applications This module adds the UCX ROCm support.

            homepage: http://www.openucx.org/

            version versionsuffix toolchain 1.11.2 -ROCm-4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#udocker","title":"udocker","text":"

            A basic user tool to execute simple docker containers in batch or interactive systems without root privileges.

            homepage: https://github.com/indigo-dc/udocker

            version versionsuffix toolchain 1.1.1 -Python-2.7.14 foss/2017b 1.1.3 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#udunits","title":"UDUNITS","text":"

            UDUNITS supports conversion of unit specifications between formatted and binary forms, arithmetic manipulation of units, and conversion of values between compatible scales of measurement.

            homepage: https://www.unidata.ucar.edu/software/udunits/

            version toolchain 2.2.20 foss/2016a, intel/2016b 2.2.24 intel/2017a 2.2.25 foss/2017b, intel/2017b 2.2.26 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2018a, foss/2018b, foss/2020a, intel/2017b, intel/2018a, intel/2018b, iomkl/2018b 2.2.28 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#ufl","title":"UFL","text":"

            The Unified Form Language (UFL) is a domain specific language for declaration of finite element discretizations of variational forms. More precisely, it defines a flexible interface for choosing finite element spaces and defining expressions for weak forms in a notation close to mathematical notation.

            homepage: https://bitbucket.org/fenics-project/ufl

            version versionsuffix toolchain 2018.1.0 -Python-3.6.4 foss/2018a 2019.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#ultralytics","title":"Ultralytics","text":"

            Ultralytics YOLOv8 is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO versions and introduces new features and improvements to further boost performance and flexibility. YOLOv8 is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object detection and tracking, instance segmentation, image classification and pose estimation tasks.

            homepage: https://github.com/ultralytics/ultralytics

            version versionsuffix toolchain 8.0.92 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#umap-learn","title":"umap-learn","text":"

            Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique that can be used for visualisation similarly to t-SNE, but also for general non-linear dimension reduction.

            homepage: https://umap-learn.readthedocs.io/en/latest/

            version toolchain 0.4.6 foss/2020b, fosscuda/2020b 0.5.3 foss/2020b, foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#umi-tools","title":"UMI-tools","text":"

            Tools for handling Unique Molecular Identifiers in NGS data sets

            homepage: https://umi-tools.readthedocs.io

            version versionsuffix toolchain 1.0.0 -Python-3.6.6 foss/2018b 1.0.1 -Python-3.7.4 foss/2019b 1.0.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#umi4cpackage","title":"umi4cPackage","text":"

            umi4cPackage is a processing and analysis pipeline for UMI-4C experiment.

            homepage: https://github.com/tanaylab/umi4cpackage

            version versionsuffix toolchain 20200116 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#umis","title":"umis","text":"

            Package for estimating UMI counts in Transcript Tag Counting data.

            homepage: https://github.com/vals/umis

            version toolchain 1.0.3 intel/2019a"},{"location":"version-specific/supported-software/#unafold","title":"UNAFold","text":"

            The UNAFold package contains several programs for performing energy minimization and partition function calculations on nucleic acid sequences.

            homepage: http://mfold.rna.albany.edu/?q=DINAMelt/software

            version versionsuffix toolchain 3.8 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#uncertainty-calibration","title":"uncertainty-calibration","text":"

            Python library to measure the calibration error of models, including confidence intervals computed by Bootstrap resampling, and code to recalibrate models.

            homepage: https://github.com/p-lambda/verified_calibration

            version toolchain 0.0.9 foss/2021b"},{"location":"version-specific/supported-software/#unicore-uftp","title":"unicore-uftp","text":"

            UNICORE Java-based client for UFTP

            homepage: https://sourceforge.net/projects/unicore/

            version versionsuffix toolchain 1.4.2 -Java-11 system"},{"location":"version-specific/supported-software/#unicycler","title":"Unicycler","text":"

            Unicycler is an assembly pipeline for bacterial genomes. It can assemble Illumina-only read sets where it functions as a SPAdes-optimiser. It can also assembly long-read-only sets (PacBio or Nanopore) where it runs a miniasm+Racon pipeline.

            homepage: https://github.com/rrwick/Unicycler

            version versionsuffix toolchain 0.4.7 -Python-3.7.2 foss/2019a 0.4.8 -Python-3.8.2 gompi/2020a 0.4.9 gompi/2021a 0.5.0 gompi/2021b"},{"location":"version-specific/supported-software/#unidecode","title":"Unidecode","text":"

            Python library for lossy ASCII transliterations of Unicode text (port of Text::Unidecode Perl module)

            homepage: https://github.com/avian2/unidecode

            version versionsuffix toolchain 1.1.1 -Python-3.7.4 GCCcore/8.3.0 1.3.6 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#unimap","title":"unimap","text":"

            Unimap is a fork of minimap2 optimized for assembly-to-reference alignment. It integrates the minigraph chaining algorithm and can align through long INDELs (up to 100kb by default) much faster than minimap2. Unimap is a better fit for resolving segmental duplications and is recommended over minimap2 for alignment between high-quality assemblies. Unimap does not replace minimap2 for other types of alignment. It drops the support of multi-part index and short-read mapping. Its long-read alignment is different from minimap2 but is not necessarily better. Unimap is more of a specialized minimap2 at the moment.

            homepage: https://github.com/lh3/unimap

            version toolchain 0.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#units","title":"units","text":"

            GNU Units converts quantities expressed in various systems of measurement to their equivalents in other systems of measurement. Like many similar programs, it can handle multiplicative scale changes. It can also handle nonlinear conversions such as Fahrenheit to Celsius or wire gauge, and it can convert from and to sums of units, such as converting between meters and feet plus inches.

            homepage: https://www.gnu.org/software/units/

            version toolchain 2.19 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#unixodbc","title":"unixODBC","text":"

            unixODBC provides a uniform interface between application and database driver

            homepage: https://www.unixodbc.org

            version toolchain 2.3.7 foss/2018b"},{"location":"version-specific/supported-software/#unrar","title":"unrar","text":"

            RAR is a powerful archive manager.

            homepage: https://www.rarlab.com/

            version toolchain 5.6.1 GCCcore/7.3.0 5.7.3 GCCcore/8.2.0 6.0.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#unzip","title":"UnZip","text":"

            UnZip is an extraction utility for archives compressed in .zip format (also called \"zipfiles\"). Although highly compatible both with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's own Zip program, our primary objectives have been portability and non-MSDOS functionality.

            homepage: http://www.info-zip.org/UnZip.html

            version toolchain 6.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, system"},{"location":"version-specific/supported-software/#uqtk","title":"UQTk","text":"

            The UQ Toolkit (UQTk) is a collection of libraries and tools for the quantification of uncertainty in numerical model predictions.

            homepage: https://www.sandia.gov/UQToolkit/

            version versionsuffix toolchain 3.1.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#usearch","title":"USEARCH","text":"

            USEARCH is a unique sequence analysis tool which offers search and clustering algorithms that are often orders of magnitude faster than BLAST.

            homepage: http://www.drive5.com/usearch/index.html

            version versionsuffix toolchain 5.2.236 -i86linux32 system 5.2.236-6.1.544 -i86linux32 system 6.1.544 -i86linux32 system 11.0.667 -i86linux32 system"},{"location":"version-specific/supported-software/#usher","title":"UShER","text":"

            UShER is now a package consisting of a family of programs for rapid phylogenetic analyses, particularly suitable for the SARS-CoV-2 genomes.

            homepage: https://github.com/yatisht/usher

            version toolchain 0.4.1 gompi/2020b 0.5.0 gompi/2021b"},{"location":"version-specific/supported-software/#uspex","title":"USPEX","text":"

            USPEX (Universal Structure Predictor: Evolutionary Xtallography... and in Russian \"uspekh\" means \"success\" - owing to the high success rate and many useful results produced by this method) is a method developed by the Oganov laboratory since 2004. The problem of crystal structure prediction is very old and does, in fact, constitute the central problem of theoretical crystal chemistry. USPEX can also be used for finding low-energy metastable phases, as well as stable structures of nanoparticles, surface reconstructions, molecular packings in organic crystals, and for searching for materials with desired physical (mechanical, electronic) properties. The USPEX code is based on an efficient evolutionary algorithm developed by A.R. Oganov's group, but also has options for using alternative methods (random sampling, metadynamics, corrected particle swarm optimization algorithms). USPEX is interfaced with many ab initio codes, such as VASP, SIESTA, GULP, Quantum Espresso, CP2K, CASTEP, LAMMPS, and so on.

            homepage: http://uspex-team.org/uspex/overview

            version versionsuffix toolchain 9.4.4 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#utf8proc","title":"utf8proc","text":"

            utf8proc is a small, clean C library that provides Unicode normalization, case-folding, and other operations for data in the UTF-8 encoding.

            homepage: https://github.com/JuliaStrings/utf8proc

            version toolchain 2.2.0 GCCcore/6.4.0 2.3.0 GCCcore/8.2.0 2.5.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.6.1 GCCcore/10.3.0, GCCcore/11.2.0 2.7.0 GCCcore/11.3.0 2.8.0 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#util-linux","title":"util-linux","text":"

            Set of Linux utilities

            homepage: https://www.kernel.org/pub/linux/utils/util-linux

            version toolchain 2.27.1 foss/2016a, intel/2016a 2.28 foss/2016a, intel/2016a 2.28.1 intel/2016b 2.29 foss/2016b, intel/2016b 2.29.2 GCCcore/6.3.0, intel/2017a 2.30 GCCcore/6.4.0 2.30.1 GCCcore/6.3.0, foss/2017a 2.31 GCCcore/6.4.0 2.31.1 GCCcore/6.4.0 2.32 GCCcore/6.4.0, GCCcore/7.3.0 2.32.1 GCCcore/7.3.0 2.33 GCCcore/8.2.0 2.34 GCCcore/8.3.0 2.35 GCCcore/9.3.0 2.36 GCCcore/10.2.0, GCCcore/10.3.0 2.37 GCCcore/11.2.0 2.38 GCCcore/11.3.0 2.38.1 GCCcore/12.2.0 2.39 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#v","title":"V","text":"

            V8 - Vala - Valgrind - Vampir - Vampire - VarDict - variant_tools - VariantMetaCaller - VarScan - vartools - VASP - VAtools - vawk - VBZ-Compression - VCF-kit - vcflib - vcfnp - VCFtools - vConTACT2 - VEGAS - velocyto - Velvet - VEP - verifyBamID - VERSE - VESTA - ViennaRNA - Vim - VirSorter - VirSorter2 - VirtualGL - Virtuoso-opensource - visdom - vispr - VisPy - vitessce-python - vitessceR - VMD - VMTK - voltools - vorbis-tools - Voro++ - vsc-base - vsc-install - vsc-mympirun - vsc-mympirun-scoop - vsc-processcontrol - VSEARCH - vt - VTK - VTune - VV - VXL

            "},{"location":"version-specific/supported-software/#v8","title":"V8","text":"

            R interface to Google's open source JavaScript engine

            homepage: https://cran.r-project.org/web/packages/V8/

            version versionsuffix toolchain 2.2 -R-3.5.1 foss/2018b 2.3 -R-3.6.0 foss/2019a, intel/2019a 3.2.0 -R-3.6.2 foss/2019b 3.4.0 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#vala","title":"Vala","text":"

            Vala is a programming language using modern high level abstractions without imposing additional runtime requirements and without using a different ABI compared to applications and libraries written in C.

            homepage: https://wiki.gnome.org/Projects/Vala

            version toolchain 0.52.4 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#valgrind","title":"Valgrind","text":"

            Valgrind: Debugging and profiling tools

            homepage: https://valgrind.org

            version toolchain 3.11.0 foss/2016a, intel/2016a 3.13.0 foss/2017b, foss/2018a, intel/2017a, intel/2017b, intel/2018a 3.14.0 foss/2018b 3.16.1 gompi/2019b, gompi/2020a, gompi/2020b, iimpi/2020a 3.17.0 gompi/2021a 3.18.1 gompi/2021b, iimpi/2021b 3.19.0 gompi/2022a 3.20.0 gompi/2022a"},{"location":"version-specific/supported-software/#vampir","title":"Vampir","text":"

            The Vampir software tool provides an easy-to-use framework that enables developers to quickly display and analyze arbitrary program behavior at any level of detail. The tool suite implements optimized event analysis algorithms and customizable displays that enable fast and interactive rendering of very complex performance monitoring data.

            homepage: http://www.vampir.eu

            version versionsuffix toolchain 8.4.1 system 8.4.1 -demo system"},{"location":"version-specific/supported-software/#vampire","title":"Vampire","text":"

            The Vampire Theorem Prover.

            homepage: https://vprover.github.io/

            version toolchain 4.5.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#vardict","title":"VarDict","text":"

            VarDict is an ultra sensitive variant caller for both single and paired sample variant calling from BAM files.

            homepage: https://github.com/AstraZeneca-NGS/VarDict

            version versionsuffix toolchain 1.5.7 -Perl-5.28.0 foss/2018b"},{"location":"version-specific/supported-software/#variant_tools","title":"variant_tools","text":"

            Variant tools is a software tool for the manipulation, annotation, selection, simulation, and analysis of variants in the context of next-gen sequencing analysis. Unlike some other tools used for Next-Gen sequencing analysis, variant tools is project based and provides a whole set of tools to manipulate and analyze genetic variants.

            homepage: https://vatlab.github.io/vat-docs/

            version versionsuffix toolchain 3.1.3 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#variantmetacaller","title":"VariantMetaCaller","text":"

            VariantMetaCaller automatically integrates variant calling pipelines into a better performing overall model that also predicts accurate variant probabilities.

            homepage: http://bioinformatics.mit.bme.hu/VariantMetaCaller/

            version toolchain 1.0 intel/2017a"},{"location":"version-specific/supported-software/#varscan","title":"VarScan","text":"

            Variant calling and somatic mutation/CNV detection for next-generation sequencing data

            homepage: https://github.com/dkoboldt/varscan

            version versionsuffix toolchain 2.3.6 -Java-1.7.0_80 system 2.4.1 -Java-1.7.0_80 system 2.4.4 -Java-1.8 system 2.4.4 -Java-11 system"},{"location":"version-specific/supported-software/#vartools","title":"vartools","text":"

            Command line utility that provides tools for processing and analyzing astronomical time series data.

            homepage: https://www.astro.princeton.edu/~jhartman/vartools.html

            version toolchain 1.35 foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#vasp","title":"VASP","text":"

            The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, from first principles.

            homepage: https://www.vasp.at

            version toolchain 5.4.1 intel/2016.02-GCC-4.9 6.3.2 nvofbf/2022.07"},{"location":"version-specific/supported-software/#vatools","title":"VAtools","text":"

            VAtools is a python package that includes several tools to annotate VCF files with data from other tools.

            homepage: https://vatools.readthedocs.io/en/latest/

            version versionsuffix toolchain 3.0.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#vawk","title":"vawk","text":"

            An awk-like VCF parser

            homepage: https://github.com/cc2qe/vawk

            version versionsuffix toolchain 0.0.1 -Python-2.7.18 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#vbz-compression","title":"VBZ-Compression","text":"

            VBZ compression HDF5 plugin for nanopolish

            homepage: https://github.com/nanoporetech/vbz_compression

            version toolchain 1.0.1 gompi/2020b"},{"location":"version-specific/supported-software/#vcf-kit","title":"VCF-kit","text":"

            VCF-kit is a command-line based collection of utilities for performing analysis on Variant Call Format (VCF) files.

            homepage: https://github.com/AndersenLab/VCF-kit

            version versionsuffix toolchain 0.1.6 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#vcflib","title":"vcflib","text":"

            vcflib provides methods to manipulate and interpret sequence variation as it can be described by VCF. The Variant Call Format (VCF) is a flat-file, tab-delimited textual format intended to concisely describe reference-indexed genetic variations between individuals.

            homepage: https://github.com/vcflib/vcflib

            version versionsuffix toolchain 1.0.2 GCC/10.2.0, GCC/10.3.0 1.0.2 -Python-3.8.2 GCC/9.3.0 1.0.3 -R-4.1.0 foss/2021a 1.0.3 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#vcfnp","title":"vcfnp","text":"

            Load data from a VCF (variant call format) file into numpy arrays, and (optionally) from there into an HDF5 file.

            homepage: https://github.com/alimanfoo/vcfnp

            version versionsuffix toolchain 2.3.0 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#vcftools","title":"VCFtools","text":"

            The aim of VCFtools is to provide easily accessible methods for working with complex genetic variation data in the form of VCF files.

            homepage: https://vcftools.github.io

            version versionsuffix toolchain 0.1.14 -Perl-5.22.1 foss/2016a, intel/2016a 0.1.15 -Perl-5.24.0 foss/2016b 0.1.15 -Perl-5.26.0 foss/2017b, intel/2017b 0.1.15 -Perl-5.26.1 foss/2018a 0.1.16 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281 0.1.16 -Perl-5.28.0 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#vcontact2","title":"vConTACT2","text":"

            vConTACT2 is a tool to perform guilt-by-contig-association classification of viral genomic sequence data.

            homepage: https://bitbucket.org/MAVERICLab/vcontact2

            version toolchain 0.11.3 foss/2022a"},{"location":"version-specific/supported-software/#vegas","title":"VEGAS","text":"

            VEGAS (Versatile Gene-based Association Study) is a free program for performing gene-based tests for association using the results from genetic association studies

            homepage: http://gump.qimr.edu.au/VEGAS/

            version toolchain 0.8.27 system"},{"location":"version-specific/supported-software/#velocyto","title":"velocyto","text":"

            Velocyto is a library for the analysis of RNA velocity.

            homepage: https://velocyto.org/velocyto.py/

            version versionsuffix toolchain 0.17.17 foss/2021a, foss/2022a 0.17.17 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#velvet","title":"Velvet","text":"

            Sequence assembler for very short reads

            homepage: https://github.com/dzerbino/velvet/

            version versionsuffix toolchain 1.2.10 -mt-kmer_191 GCC/11.2.0, GCC/8.3.0, foss/2018a, foss/2018b 1.2.10 -mt-kmer_37 intel/2017a"},{"location":"version-specific/supported-software/#vep","title":"VEP","text":"

            Variant Effect Predictor (VEP) determines the effect of your variants (SNPs, insertions, deletions, CNVs or structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions. Includes EnsEMBL-XS, which provides pre-compiled replacements for frequently used routines in VEP.

            homepage: https://www.ensembl.org/info/docs/tools/vep

            version versionsuffix toolchain 93.4 -Perl-5.26.1 intel/2018a 94.0 -Perl-5.28.0 foss/2018b 94.5 -Perl-5.26.0 foss/2017b, intel/2017b 95.0 -Perl-5.28.0 foss/2018b 96.0 -Perl-5.28.1 foss/2019a 103.1 GCC/10.2.0 105 GCC/11.2.0 107 GCC/11.3.0"},{"location":"version-specific/supported-software/#verifybamid","title":"verifyBamID","text":"

            verifyBamID is a software that verifies whether the reads in particular file match previously known genotypes for an individual (or group of individuals), and checks whether the reads are contaminated as a mixture of two samples. verifyBamID can detect sample contamination and swaps when external genotypes are available. When external genotypes are not available, verifyBamID still robustly detects sample swaps.

            homepage: http://csg.sph.umich.edu/kang/verifyBamID/index.html

            version toolchain 1.1.3 foss/2016a"},{"location":"version-specific/supported-software/#verse","title":"VERSE","text":"

            A versatile and efficient RNA-Seq read counting tool

            homepage: https://github.com/qinzhu/VERSE

            version toolchain 0.1.5 foss/2016b"},{"location":"version-specific/supported-software/#vesta","title":"VESTA","text":"

            VESTA is a 3D visualization program for structured models, volumetric data such as electron/nuclear densities, and crystal morphologies.

            homepage: http://www.jp-minerals.org/vesta

            version versionsuffix toolchain 3.5.8 -gtk3 system"},{"location":"version-specific/supported-software/#viennarna","title":"ViennaRNA","text":"

            The Vienna RNA Package consists of a C code library and several stand-alone programs for the prediction and comparison of RNA secondary structures.

            homepage: https://www.tbi.univie.ac.at/RNA/

            version versionsuffix toolchain 2.2.3 intel/2016b 2.3.4 foss/2016b 2.3.5 intel/2017a 2.4.10 -Python-2.7.15 foss/2018b, intel/2018b 2.4.11 -Python-3.6.6 foss/2018b 2.4.14 -Python-3.6.6 foss/2018b 2.5.0 foss/2021b 2.5.1 foss/2021b"},{"location":"version-specific/supported-software/#vim","title":"Vim","text":"

            Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set.

            homepage: http://www.vim.org

            version versionsuffix toolchain 8.0 -Python-2.7.11 foss/2016a 8.1.0483 -Python-2.7.15 foss/2018b 8.1.1209 -Python-3.7.2 GCCcore/8.2.0 9.0.0950 GCCcore/11.3.0 9.0.1434 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#virsorter","title":"VirSorter","text":"

            VirSorter: mining viral signal from microbial genomic data.

            homepage: https://github.com/simroux/VirSorter

            version versionsuffix toolchain 20160601 -Perl-5.22.1 foss/2016a"},{"location":"version-specific/supported-software/#virsorter2","title":"VirSorter2","text":"

            VirSorter2 applies a multi-classifier, expert-guided approach to detect diverse DNA and RNA virus genomes.

            homepage: https://github.com/jiarong/VirSorter2

            version toolchain 2.2.4 foss/2022a"},{"location":"version-specific/supported-software/#virtualgl","title":"VirtualGL","text":"

            VirtualGL is an open source toolkit that gives any Linux or Unix remote display software the ability to run OpenGL applications with full hardware acceleration.

            homepage: https://virtualgl.org/

            version toolchain 2.6.1 foss/2018b 2.6.2 GCCcore/9.3.0 3.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#virtuoso-opensource","title":"Virtuoso-opensource","text":"

            Virtuoso is a high-performance and scalable Multi-Model RDBMS, Data Integration Middleware, Linked Data Deployment, and HTTP Application Server Platform.

            homepage: https://github.com/openlink/virtuoso-opensource

            version toolchain 7.2.6.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#visdom","title":"visdom","text":"

            A flexible tool for creating, organizing, and sharing visualizations of live, rich data. Supports Torch and Numpy.

            homepage: https://github.com/fossasia/visdom

            version toolchain 0.2.4 foss/2022a"},{"location":"version-specific/supported-software/#vispr","title":"vispr","text":"

            VISPR - A visualization framework for CRISPR data.

            homepage: https://pypi.org/project/vispr/

            version toolchain 0.4.14 foss/2022a"},{"location":"version-specific/supported-software/#vispy","title":"VisPy","text":"

            VisPy is a high-performance interactive 2D/3D data visualization library leveraging the computational power of modern Graphics Processing Units (GPUs) through the OpenGL library to display very large datasets.

            homepage: https://vispy.org

            version toolchain 0.6.6 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#vitessce-python","title":"vitessce-python","text":"

            Python API and Jupyter widget facilitating interactive visualization of spatial single-cell data with Vitessce.

            homepage: https://github.com/vitessce/vitessce-python

            version toolchain 20230222 foss/2022a"},{"location":"version-specific/supported-software/#vitesscer","title":"vitessceR","text":"

            Vitessce is a visual integration tool for exploration of spatial single-cell experiments.

            homepage: https://github.com/vitessce/vitessceR

            version versionsuffix toolchain 0.99.0-20230110 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#vmd","title":"VMD","text":"

            VMD is a molecular visualization program for displaying, animating, and analyzing large biomolecular systems using 3-D graphics and built-in scripting.

            homepage: https://www.ks.uiuc.edu/Research/vmd

            version versionsuffix toolchain 1.9.3 -Python-2.7.12 intel/2016b 1.9.3 -Python-2.7.14 foss/2017b, intel/2018a 1.9.3 -Python-2.7.15 intel/2018b 1.9.4a43 -Python-3.7.4 fosscuda/2019b 1.9.4a51 foss/2020b, fosscuda/2020b 1.9.4a57 foss/2022a"},{"location":"version-specific/supported-software/#vmtk","title":"VMTK","text":"

            vmtk is a collection of libraries and tools for 3D reconstruction, geometric analysis, mesh generation and surface data analysis for image-based modeling of blood vessels.

            homepage: https://vmtk.org

            version versionsuffix toolchain 1.4.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#voltools","title":"voltools","text":"

            CUDA-accelerated numpy 3D affine transformations

            homepage: https://github.com/the-lay/voltools

            version toolchain 0.4.2 foss/2020b"},{"location":"version-specific/supported-software/#vorbis-tools","title":"vorbis-tools","text":"

            Command-line tools for creating and playing Ogg Vorbis files.

            homepage: https://xiph.org/vorbis/

            version toolchain 1.4.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#voro","title":"Voro++","text":"

            Voro++ is a software library for carrying out three-dimensional computations of the Voronoi tessellation. A distinguishing feature of the Voro++ library is that it carries out cell-based calculations, computing the Voronoi cell for each particle individually. It is particularly well-suited for applications that rely on cell-based statistics, where features of Voronoi cells (eg. volume, centroid, number of faces) can be used to analyze a system of particles.

            homepage: http://math.lbl.gov/voro++/

            version toolchain 0.4.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.4.0, GCCcore/9.3.0, foss/2016a, foss/2019b, intel/2016a, intel/2019b"},{"location":"version-specific/supported-software/#vsc-base","title":"vsc-base","text":"

            Basic Python libraries used by UGent's HPC group

            homepage: http://hpcugent.github.com/vsc-base/

            version versionsuffix toolchain 1.6.9 system 1.7.3 system 2.0.4 system 2.1.2 system 2.4.2 system 2.4.17 -Python-2.7.11 intel/2016a 2.5.1 system 2.5.1 -Python-2.7.11 intel/2016a 2.5.1 -Python-2.7.12 intel/2016b 2.5.8 system 2.8.0 system 2.8.1 system 2.8.3 system"},{"location":"version-specific/supported-software/#vsc-install","title":"vsc-install","text":"

            vsc-install provides shared setuptools functions and classes for Python libraries developed by UGent's HPC group

            homepage: https://pypi.python.org/pypi/vsc-install

            version versionsuffix toolchain 0.9.18 -Python-2.7.11 intel/2016a 0.10.6 system 0.10.6 -Python-2.7.11 intel/2016a 0.10.11 -Python-2.7.11 intel/2016a 0.10.11 -Python-2.7.12 intel/2016b 0.10.25 system 0.10.26 system 0.11.1 system 0.11.2 system"},{"location":"version-specific/supported-software/#vsc-mympirun","title":"vsc-mympirun","text":"

            mympirun is a tool to make it easier for users of HPC clusters to run MPI programs with good performance.

            homepage: https://github.com/hpcugent/vsc-mympirun

            version versionsuffix toolchain 3.2.1 system 3.3.0 system 3.4.2 system 3.4.2 -Python-2.7.11-vsc-base-2.4.17 intel/2016a 3.4.2 -Python-2.7.11-vsc-base-2.5.1 intel/2016a 3.4.2 -vsc-base-2.4.2 system 3.4.3 -Python-2.7.12 intel/2016b 4.0.0 system 4.0.0b0 system 4.0.1 system 4.0.2 system 4.1.4 system 4.1.5 system 4.1.6 system 4.1.8 system 4.1.9 system 5.1.0 system 5.2.0 system 5.2.2 system 5.2.3 system 5.2.4 system 5.2.5 system 5.2.6 system 5.2.7 system 5.2.9 system 5.2.10 system 5.2.11 system 5.3.0 system 5.3.1 system"},{"location":"version-specific/supported-software/#vsc-mympirun-scoop","title":"vsc-mympirun-scoop","text":"

            VSC-tools is a set of Python libraries and scripts that are commonly used within HPC-UGent.

            homepage: http://hpcugent.github.com/vsc-mympirun/

            version versionsuffix toolchain 3.4.1 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#vsc-processcontrol","title":"vsc-processcontrol","text":"

            vsc-processcontrol is a module to abstract process control like scheduler settings and affinity from actual implementations like vsc.affinity and psutil.

            homepage: http://hpcugent.github.com/vsc-processcontrol/

            version versionsuffix toolchain 1.0 system 1.0 -vsc-base-2.1.2 system"},{"location":"version-specific/supported-software/#vsearch","title":"VSEARCH","text":"

            VSEARCH supports de novo and reference based chimera detection, clustering, full-length and prefix dereplication, rereplication, reverse complementation, masking, all-vs-all pairwise global alignment, exact and global alignment searching, shuffling, subsampling and sorting. It also supports FASTQ file analysis, filtering, conversion and merging of paired-end reads.

            homepage: https://github.com/torognes/vsearch

            version toolchain 2.9.1 foss/2018b 2.13.4 iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.15.0 GCC/9.3.0 2.18.0 GCC/10.2.0 2.21.1 GCC/10.3.0 2.22.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#vt","title":"vt","text":"

            A tool set for short variant discovery in genetic sequence data.

            homepage: http://genome.sph.umich.edu/wiki/Vt

            version toolchain 0.57721 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/9.3.0, foss/2018b"},{"location":"version-specific/supported-software/#vtk","title":"VTK","text":"

            The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.

            homepage: https://www.vtk.org

            version versionsuffix toolchain 6.3.0 -Python-2.7.11 foss/2016a, intel/2016a 6.3.0 -Python-2.7.12 foss/2016b, intel/2016b 7.0.0 -Python-2.7.12 intel/2016b 7.1.0 -Python-2.7.12 intel/2016b 7.1.1 -Python-2.7.13 intel/2017a 8.0.1 -Python-2.7.14 foss/2017b, intel/2017b 8.1.0 -Python-2.7.14 foss/2018a, intel/2018a 8.1.0 -Python-3.6.4 foss/2018a, intel/2018a 8.1.1 -Python-2.7.14 intel/2018a 8.1.1 -Python-2.7.15 foss/2018b 8.1.1 -Python-3.6.6 foss/2018b, fosscuda/2018b 8.2.0 foss/2021a 8.2.0 -Python-2.7.15 foss/2019a 8.2.0 -Python-3.7.2 foss/2019a, intel/2019a 8.2.0 -Python-3.7.4 foss/2019b 8.2.0 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a 9.0.1 foss/2020b, foss/2021a, fosscuda/2020b 9.1.0 foss/2021b 9.2.0.rc2 foss/2022a 9.2.2 foss/2022a 9.2.6 foss/2022b"},{"location":"version-specific/supported-software/#vtune","title":"VTune","text":"

            Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, Assembly and Java.

            homepage: https://software.intel.com/en-us/vtune

            version toolchain 2013_update6 system 2013_update8 system 2013_update9 system 2013_update10 system 2013_update11 system 2013_update12 system 2016_update3 system 2017 system 2017_update1 system 2017_update2 system 2017_update3 system 2018_update1 system 2018_update2 system 2018_update3 system 2019_update2 system 2019_update3 system 2019_update5 system 2020_update3 system 2021.6.0 system 2021.9.0 system 2022.0.0 system 2022.2.0 system 2022.3.0 system"},{"location":"version-specific/supported-software/#vv","title":"VV","text":"

            VV is an open-source and cross platform image viewer, designed for fast and simple visualization of spatio-temporal images: 2D, 2D+t, 3D and 3D+t (or 4D) images. Only the command-line (clitk) tools are build.

            homepage: https://www.creatis.insa-lyon.fr/rio/vv

            version versionsuffix toolchain 2018.09.19 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#vxl","title":"VXL","text":"

            A multi-platform collection of C++ software libraries for Computer Vision and Image Understanding.

            homepage: https://sf.net/projects/vxl

            version toolchain 1.18.0 foss/2018a"},{"location":"version-specific/supported-software/#w","title":"W","text":"

            wandb - Wannier90 - WannierTools - Wayland - Waylandpp - WCSLIB - WCT - wcwidth - webin-cli - WebKitGTK+ - WebSocket++ - WEKA - wget - wgsim - WHAM - WhatsHap - wheel - WIEN2k - WildMagic - Winnowmap - WisecondorX - WISExome - wkhtmltopdf - worker - wpebackend-fdo - WPS - wrapt - WRF - WRF-Fire - wrf-python - wtdbg2 - wxPropertyGrid - wxPython - wxWidgets

            "},{"location":"version-specific/supported-software/#wandb","title":"wandb","text":"

            CLI and Python API for Weights and Biases (wandb), a tool for visualizing and tracking your machine learning experiments.

            homepage: https://www.wandb.com/

            version versionsuffix toolchain 0.8.30 -Python-3.7.4 gcccuda/2019b 0.13.4 GCCcore/11.3.0 0.13.6 GCC/11.3.0"},{"location":"version-specific/supported-software/#wannier90","title":"Wannier90","text":"

            A tool for obtaining maximally-localised Wannier functions

            homepage: http://www.wannier.org

            version versionsuffix toolchain 1.2 intel/2016.02-GCC-4.9 2.0.1 intel/2016.02-GCC-4.9, intel/2016a 2.0.1.1 -abinit intel/2018b 2.1.0 foss/2017b, intel/2017a, intel/2017b 3.0.0 intel/2018b 3.1.0 foss/2020b, foss/2021a, foss/2021b, foss/2022a, gomkl/2021a, intel/2020a, intel/2020b, intel/2021a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#wanniertools","title":"WannierTools","text":"

            WannierTools is an open source software that studies the physical properties of given tight-binding model.

            homepage: http://www.wanniertools.com

            version toolchain 2.3.0 intel/2018a 2.5.1 intel/2020b"},{"location":"version-specific/supported-software/#wayland","title":"Wayland","text":"

            Wayland is a project to define a protocol for a compositor to talk to its clients as well as a library implementation of the protocol. The compositor can be a standalone display server running on Linux kernel modesetting and evdev input devices, an X application, or a wayland client itself. The clients can be traditional applications, X servers (rootless or fullscreen) or other display servers.

            homepage: https://wayland.freedesktop.org/

            version toolchain 1.20.0 GCCcore/11.3.0 1.21.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#waylandpp","title":"Waylandpp","text":"

            Wayland is an object oriented display protocol, which features request and events. Requests can be seen as method calls on certain objects, whereas events can be seen as signals of an object. This makes the Wayland protocol a perfect candidate for a C++ binding. The goal of this library is to create such a C++ binding for Wayland using the most modern C++ technology currently available, providing an easy to use C++ API to Wayland.

            homepage: https://github.com/NilsBrause/waylandpp

            version toolchain 1.0.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#wcslib","title":"WCSLIB","text":"

            The FITS \"World Coordinate System\" (WCS) standard defines keywords and usage that provide for the description of astronomical coordinate systems in a FITS image header.

            homepage: https://www.atnf.csiro.au/people/mcalabre/WCS/

            version toolchain 7.11 GCC/11.2.0"},{"location":"version-specific/supported-software/#wct","title":"WCT","text":"

            NOAA's Weather and Climate Toolkit (WCT) is free, platform independent software distributed from NOAA's National Centers for Environmental Information (NCEI). The WCT allows the visualization and data export of weather and climate data, including Radar, Satellite and Model data. The WCT also provides access to weather/climate web services provided from NCEI and other organizations.

            homepage: https://www.ncdc.noaa.gov/wct/index.php

            version versionsuffix toolchain 4.6.0 -Java-11 system"},{"location":"version-specific/supported-software/#wcwidth","title":"wcwidth","text":"

            wcwidth is a low-level Python library to simplify Terminal emulation.

            homepage: https://github.com/jquast/wcwidth

            version versionsuffix toolchain 0.1.7 -Python-2.7.11 foss/2016a 0.1.7 -Python-2.7.12 foss/2016b, intel/2016b 0.1.7 -Python-3.5.1 foss/2016a 0.1.7 -Python-3.5.2 intel/2016b"},{"location":"version-specific/supported-software/#webin-cli","title":"webin-cli","text":"

            The Webin command line submission interface can be used to validate, upload and submit files to the European Nucleotide Archive (ENA)

            homepage: https://github.com/enasequence/webin-cli

            version toolchain 1.8.9 system"},{"location":"version-specific/supported-software/#webkitgtk","title":"WebKitGTK+","text":"

            WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers. It offers WebKit's full functionality and is useful in a wide range of systems from desktop computers to embedded systems like phones, tablets, and televisions.

            homepage: https://webkitgtk.org/

            version toolchain 2.24.1 GCC/8.2.0-2.31.1 2.27.4 GCC/10.3.0, GCC/8.3.0 2.37.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#websocket","title":"WebSocket++","text":"

            WebSocket++ is an open source (BSD license) header only C++ library that implements RFC6455 The WebSocket Protocol.

            homepage: https://www.zaphoyd.com/websocketpp/

            version toolchain 0.8.1 gompi/2019a"},{"location":"version-specific/supported-software/#weka","title":"WEKA","text":"

            Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes.

            homepage: http://www.cs.waikato.ac.nz/ml/weka/index.html

            version versionsuffix toolchain 3.6.12 -Java-1.7.0_80 system 3.7.0 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#wget","title":"wget","text":"

            GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc.

            homepage: https://www.gnu.org/software/wget

            version toolchain 1.17.1 foss/2016a, foss/2016b 1.19.4 GCCcore/6.4.0 1.20.1 GCCcore/7.3.0, GCCcore/8.3.0 1.20.3 GCCcore/10.2.0, GCCcore/9.3.0 1.21.1 GCCcore/10.3.0 1.21.2 GCCcore/11.2.0 1.21.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#wgsim","title":"wgsim","text":"

            Wgsim is a small tool for simulating sequence reads from a reference genome.

            homepage: https://github.com/lh3/wgsim/

            version toolchain 20111017 GCC/10.2.0, GCC/11.2.0"},{"location":"version-specific/supported-software/#wham","title":"WHAM","text":"

            An implementation of WHAM: the Weighted Histogram Analysis Method

            homepage: http://membrane.urmc.rochester.edu/?page_id=126

            version versionsuffix toolchain 2.0.9.1 intel/2019a 2.0.9.1 -kj_mol intel/2019a 2.0.10.2 intel/2020a 2.0.10.2 -kj_mol intel/2020a"},{"location":"version-specific/supported-software/#whatshap","title":"WhatsHap","text":"

            WhatsHap is a software for phasing genomic variants using DNA sequencing reads, also called read-based phasing or haplotype assembly. It is especially suitable for long reads, but works also well with short reads.

            homepage: https://whatshap.readthedocs.io

            version toolchain 1.1 foss/2020b, foss/2021a 1.4 foss/2021b 1.7 foss/2022a"},{"location":"version-specific/supported-software/#wheel","title":"wheel","text":"

            A built-package format for Python.

            homepage: https://pypi.python.org/pypi/wheel

            version versionsuffix toolchain 0.29.0 -Python-2.7.11 foss/2016a 0.29.0 -Python-3.5.1 foss/2016a 0.30.0 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.30.0 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.30.0 -Python-3.6.4 foss/2018a, intel/2018a 0.31.0 -Python-2.7.14 fosscuda/2018a, intel/2018a 0.31.0 -Python-3.6.4 foss/2018a, fosscuda/2018a 0.31.1 -Python-2.7.15 fosscuda/2018b 0.31.1 -Python-3.6.6 foss/2018b, fosscuda/2018b"},{"location":"version-specific/supported-software/#wien2k","title":"WIEN2k","text":"

            The program package WIEN2k allows to perform electronic structure calculations of solids using density functional theory (DFT). It is based on the full-potential (linearized) augmented plane-wave ((L)APW) + local orbitals (lo) method, one among the most accurate schemes for band structure calculations. WIEN2k is an all-electron scheme including relativistic effects and has many features.

            homepage: http://www.wien2k.at/

            version toolchain 17.1 foss/2018a, gimkl/2017a, intel/2018a 18.1 foss/2018a, gimkl/2017a, intel/2018a 19.1 intel/2019a 19.2 intel/2020b 21.1 intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#wildmagic","title":"WildMagic","text":"

            Wild Magic 5.17

            homepage: https://www.geometrictools.com/index.html

            version toolchain 5.17 GCCcore/10.3.0, foss/2018b"},{"location":"version-specific/supported-software/#winnowmap","title":"Winnowmap","text":"

            Winnowmap is a long-read mapping algorithm, and a result of our exploration into superior minimizer sampling techniques.

            homepage: https://github.com/marbl/Winnowmap

            version toolchain 1.0 GCC/8.3.0"},{"location":"version-specific/supported-software/#wisecondorx","title":"WisecondorX","text":"

            WisecondorX -- an evolved WISECONDOR

            homepage: https://github.com/CenterForMedicalGeneticsGhent/WisecondorX

            version versionsuffix toolchain 1.1.6 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#wisexome","title":"WISExome","text":"

            A within-sample comparison approach to detect copy number variations in whole exome sequencing data

            homepage: https://github.com/VUmcCGP/wisexome

            version versionsuffix toolchain 20180517 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#wkhtmltopdf","title":"wkhtmltopdf","text":"

            wkhtmltopdf and wkhtmltoimage are open source (LGPLv3) command line tools to render HTML into PDF and various image formats using the Qt WebKit rendering engine. These run entirely headless and do not require a display or display service.

            homepage: http://wkhtmltopdf.org/

            version versionsuffix toolchain 0.12.3 -Linux-x86_64 system"},{"location":"version-specific/supported-software/#worker","title":"worker","text":"

            The Worker framework has been developed to help deal with parameter exploration experiments that would otherwise result in many jobs, forcing the user resort to scripting to retain her sanity; see also https://vscentrum.be/neutral/documentation/cluster-doc/running-jobs/worker-framework.

            homepage: https://github.com/gjbex/worker

            version versionsuffix toolchain 1.6.4 intel/2016a 1.6.5 intel/2016a 1.6.6 intel/2016b 1.6.7 -intel-2016b system 1.6.7 -intel-2017a system 1.6.7 -intel-2017b system 1.6.8 -intel-2018a system 1.6.8 -intel-2018b system 1.6.11 intel/2019b 1.6.12 foss/2019a, foss/2021b 1.6.13 iimpi/2021b"},{"location":"version-specific/supported-software/#wpebackend-fdo","title":"wpebackend-fdo","text":"

            WPE WebKit allows embedders to create simple and performant systems based on Web platform technologies. It is a WebKit port designed with flexibility and hardware acceleration in mind, leveraging common 3D graphics APIs for best performance.

            homepage: https://wpewebkit.org/

            version toolchain 1.13.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#wps","title":"WPS","text":"

            WRF Preprocessing System (WPS) for WRF. The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale numerical weather prediction system designed to serve both operational forecasting and atmospheric research needs.

            homepage: http://www.wrf-model.org

            version versionsuffix toolchain 3.8.0 -dmpar intel/2016a 3.9.1 -dmpar foss/2020b 4.0.1 -dmpar intel/2018b 4.0.2 -dmpar foss/2018b 4.1 -dmpar intel/2019b 4.2 -dmpar foss/2020b 4.3.1 -dmpar foss/2021a 4.4 -dmpar foss/2022a"},{"location":"version-specific/supported-software/#wrapt","title":"wrapt","text":"

            The aim of the wrapt module is to provide a transparent object proxy for Python, which can be used as the basis for the construction of function wrappers and decorator functions.

            homepage: https://pypi.org/project/wrapt/

            version toolchain 1.15.0 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#wrf","title":"WRF","text":"

            The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale numerical weather prediction system designed to serve both operational forecasting and atmospheric research needs.

            homepage: https://www.wrf-model.org

            version versionsuffix toolchain 3.8.0 -dmpar intel/2016a, intel/2016b 3.9.1.1 -dmpar foss/2020a, foss/2020b, intel/2020a, intel/2020b 4.0.1 -dmpar intel/2018b 4.0.2 -dmpar foss/2018b 4.1.3 -dm+sm intel/2019b 4.1.3 -dmpar foss/2019b, foss/2020a, intel/2019b 4.2.2 -dmpar foss/2020b 4.3 -dmpar foss/2021a 4.4 -dmpar foss/2022a 4.4.1 -dmpar foss/2022b"},{"location":"version-specific/supported-software/#wrf-fire","title":"WRF-Fire","text":"

            WRF-Fire combines the Weather Research and Forecasting model (WRF) with a fire code implementing a surface fire behavior model, called SFIRE, based on semi-empirical formulas calculate the rate of spread of the fire line (the interface between burning and unignited fuel) based on fuel properties, wind velocities from WRF, and terrain slope. The fire spread is implemented by the level set method.

            homepage: http://www.openwfm.org/wiki/WRF-SFIRE

            version versionsuffix toolchain 20170221 -dmpar intel/2016b"},{"location":"version-specific/supported-software/#wrf-python","title":"wrf-python","text":"

            A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model.

            homepage: https://wrf-python.readthedocs.io

            version versionsuffix toolchain 1.2.0 -Python-3.6.4 intel/2018a 1.3.1 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#wtdbg2","title":"wtdbg2","text":"

            Wtdbg2 is a de novo sequence assembler for long noisy reads produced by PacBio or Oxford Nanopore Technologies (ONT). It assembles raw reads without error correction and then builds the consensus from intermediate assembly output.

            homepage: https://github.com/ruanjue/wtdbg2

            version toolchain 2.3 GCC/7.3.0-2.30 2.5 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#wxpropertygrid","title":"wxPropertyGrid","text":"

            wxPropertyGrid is a property sheet control for wxWidgets. In other words, it is a specialized two-column grid for editing properties such as strings, numbers, flagsets, string arrays, and colours.

            homepage: http://wxpropgrid.sourceforge.net/

            version toolchain 1.4.15 GCC/4.9.2"},{"location":"version-specific/supported-software/#wxpython","title":"wxPython","text":"

            Wraps the wxWidgets C++ toolkit and provides access to the user interface portions of the wxWidgets API, enabling Python applications to have a native GUI on Windows, Macs or Unix systems, with a native look and feel and requiring very little (if any) platform specific code.

            homepage: https://www.wxpython.org/

            version versionsuffix toolchain 3.0.2.0 -Python-2.7.11 foss/2016a, intel/2016a 3.0.2.0 -Python-2.7.12 intel/2016b 3.0.2.0 -Python-2.7.13 intel/2017a 3.0.2.0 -Python-2.7.14 intel/2017b 3.0.2.0 -Python-2.7.15 foss/2018b 4.0.4 -Python-2.7.15 GCC/8.2.0-2.31.1 4.0.4 -Python-3.7.2 GCC/8.2.0-2.31.1 4.0.7.post2 -Python-3.7.4 GCC/8.3.0 4.1.1 foss/2021a 4.2.0 foss/2021b"},{"location":"version-specific/supported-software/#wxwidgets","title":"wxWidgets","text":"

            wxWidgets is a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. It has popular language bindings for Python, Perl, Ruby and many other languages, and unlike other cross-platform toolkits, wxWidgets gives applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI.

            homepage: https://www.wxwidgets.org

            version toolchain 3.0.3 foss/2018a 3.0.4 GCC/8.2.0-2.31.1 3.1.3 GCC/8.3.0 3.1.4 GCC/10.2.0 3.1.5 GCC/10.3.0, GCC/11.2.0 3.2.0 GCC/11.2.0 3.2.1 GCC/11.3.0 3.2.2.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#x","title":"X","text":"

            X11 - x13as - x264 - x265 - XALT - xarray - xbitmaps - xcb-proto - xcb-util - xcb-util-image - xcb-util-keysyms - xcb-util-renderutil - xcb-util-wm - xCell - XCFun - xclip - XCrySDen - xdotool - Xerces-C++ - xESMF - xextproto - xf86vidmodeproto - XGBoost - XGrafix - xineramaproto - XKeyboardConfig - XlsxWriter - XMDS2 - Xmipp - xmitgcm - XML-Compile - XML-LibXML - XML-Parser - xmlf90 - XMLSec - XMLStarlet - xonsh - xorg-macros - XPLOR-NIH - xprop - xproto - XSD - XTandem - xtb - xtensor - xtrans - Xvfb - xxd - xxHash - XZ

            "},{"location":"version-specific/supported-software/#x11","title":"X11","text":"

            The X Window System (X11) is a windowing system for bitmap displays

            homepage: https://www.x.org

            version toolchain 20160819 GCCcore/5.4.0, foss/2016b, intel/2016b 20170129 GCCcore/6.3.0, gimkl/2017a 20170314 GCCcore/6.3.0 20171023 GCCcore/6.4.0 20180131 GCCcore/6.4.0 20180604 GCCcore/7.3.0 20190311 GCCcore/8.2.0 20190717 GCCcore/8.3.0 20200222 GCCcore/9.3.0 20201008 GCCcore/10.2.0 20210518 GCCcore/10.3.0 20210802 GCCcore/11.2.0 20220504 GCCcore/11.3.0 20221110 GCCcore/12.2.0 20230603 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#x13as","title":"x13as","text":"

            X-13ARIMA-SEATS is seasonal adjustment software produced, distributed, and maintained by the Census Bureau. Features of X-13ARIMA-SEATS include: - Extensive time series modeling and model selection capabilities for linear regression models with ARIMA errors (regARIMA models); - The capability to generate ARIMA model-based seasonal adjustment using a version of the SEATS software originally developed by Victor G\u00f3mez and Agust\u00edn Maravall at the Bank of Spain, as well as nonparametric adjustments from the X-11 procedure; - Diagnostics of the quality and stability of the adjustments achieved under the options selected; - The ability to efficiently process many series at once.

            homepage: https://www.census.gov/data/software/x13as.About_X-13.html

            version toolchain 1-1-b59 GCCcore/10.2.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#x264","title":"x264","text":"

            x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format, and is released under the terms of the GNU GPL.

            homepage: https://www.videolan.org/developers/x264.html

            version toolchain 20160114 gimkl/2.11.5, intel/2016a 20160430 foss/2016a, intel/2016a 20160614 foss/2016b, intel/2016b 20170406 gimkl/2017a 20170721 GCCcore/6.4.0 20170913 intel/2017a 20171217 foss/2017b, intel/2017b 20180128 GCCcore/6.4.0 20180325 GCCcore/6.4.0 20181203 GCCcore/7.3.0 20190413 GCCcore/8.2.0 20190925 GCCcore/8.3.0 20191217 GCCcore/9.3.0 20201026 GCCcore/10.2.0 20210414 GCCcore/10.3.0 20210613 GCCcore/11.2.0 20220620 GCCcore/11.3.0 20230226 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#x265","title":"x265","text":"

            x265 is a free software library and application for encoding video streams into the H.265 AVC compression format, and is released under the terms of the GNU GPL.

            homepage: https://x265.org/

            version toolchain 2.4 foss/2016b 2.5 intel/2017a 2.6 GCCcore/6.4.0, intel/2017b 2.7 GCCcore/6.4.0 2.9 GCCcore/7.3.0 3.0 GCCcore/8.2.0 3.2 GCCcore/8.3.0 3.3 GCCcore/10.2.0, GCCcore/9.3.0 3.5 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xalt","title":"XALT","text":"

            XALT 2 is a tool to allow a site to track user executables and library usage on a cluster. When installed it can tell a site what are the top executables by Node-Hours or by the number of users or the number of times it is run. XALT 2 also tracks library usage as well. XALT 2 can also track package use by R, MATLAB or Python. It tracks both MPI and non-MPI programs.

            homepage: https://github.com/xalt/xalt

            version toolchain 2.8.4 system"},{"location":"version-specific/supported-software/#xarray","title":"xarray","text":"

            xarray (formerly xray) is an open source project and Python package that aims to bring the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the core pandas data structures.

            homepage: https://github.com/pydata/xarray

            version versionsuffix toolchain 0.9.5 -Python-2.7.13 intel/2017a 0.9.5 -Python-3.6.1 intel/2017a 0.9.6 -Python-2.7.13 intel/2017a 0.10.0 -Python-2.7.14 intel/2017b 0.10.0 -Python-3.6.3 intel/2017b 0.10.3 -Python-3.6.4 intel/2018a 0.10.4 -Python-3.6.4 intel/2018a 0.10.8 -Python-3.6.4 intel/2018a 0.12.1 -Python-3.6.6 foss/2018b, intel/2018b 0.13.0 -Python-3.7.2 intel/2019a 0.15.1 -Python-3.7.4 foss/2019b, intel/2019b 0.16.1 -Python-3.8.2 foss/2020a, intel/2020a 0.16.2 foss/2020b, fosscuda/2020b, intel/2020b 0.19.0 foss/2021a 0.20.1 foss/2021b, intel/2021b 2022.6.0 foss/2022a, intel/2022a 2022.9.0 foss/2022a 2023.4.2 gfbf/2022b"},{"location":"version-specific/supported-software/#xbitmaps","title":"xbitmaps","text":"

            provides bitmaps for x

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.1.1 foss/2016a, intel/2016a, system 1.1.2 system"},{"location":"version-specific/supported-software/#xcb-proto","title":"xcb-proto","text":"

            The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.

            homepage: https://xcb.freedesktop.org/

            version toolchain 1.11 system 1.13 system"},{"location":"version-specific/supported-software/#xcb-util","title":"xcb-util","text":"

            The xcb-util package provides additional extensions to the XCB library, many that were previously found in Xlib, but are not part of core X protocol

            homepage: http://xcb.freedesktop.org/

            version toolchain 0.4.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcb-util-image","title":"xcb-util-image","text":"

            The xcb-util-image package provides additional extensions to the XCB library.

            homepage: http://xcb.freedesktop.org/

            version toolchain 0.4.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcb-util-keysyms","title":"xcb-util-keysyms","text":"

            The xcb-util-keysyms package contains a library for handling standard X key constants and conversion to/from keycodes.

            homepage: http://xcb.freedesktop.org/

            version toolchain 0.4.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcb-util-renderutil","title":"xcb-util-renderutil","text":"

            The xcb-util-renderutil package provides additional extensions to the XCB library.

            homepage: http://xcb.freedesktop.org/

            version toolchain 0.3.9 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcb-util-wm","title":"xcb-util-wm","text":"

            The xcb-util-wm package contains libraries which provide client and window-manager helpers for EWMH and ICCCM.

            homepage: http://xcb.freedesktop.org/

            version toolchain 0.4.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcell","title":"xCell","text":"

            xCell is a gene signatures-based method learned from thousands of pure cell types from various sources.

            homepage: https://github.com/dviraran/xCell

            version versionsuffix toolchain 1.12 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#xcfun","title":"XCFun","text":"

            XCFun is a library of DFT exchange-correlation (XC) functionals. It is based on automatic differentiation and can therefore generate arbitrary order derivatives of these functionals.

            homepage: http://dftlibs.org/xcfun/

            version versionsuffix toolchain 2.1.0 GCCcore/9.3.0 2.1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0 20180122 -Python-2.7.14 intel/2017b 20190127 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#xclip","title":"xclip","text":"

            xclip is a command line utility that is designed to run on any system with an X11 implementation.

            homepage: https://github.com/astrand/xclip

            version toolchain 0.13 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xcrysden","title":"XCrySDen","text":"

            XCrySDen is a crystalline and molecular structure visualisation program aiming at display of isosurfaces and contours, which can be superimposed on crystalline structures and interactively rotated and manipulated. It also possesses some tools for analysis of properties in reciprocal space such as interactive selection of k-paths in the Brillouin zone for the band-structure plots, and visualisation of Fermi surfaces.

            homepage: http://www.xcrysden.org/

            version toolchain 1.5.60 intel/2019a 1.6.2 foss/2019b, foss/2020b, foss/2022a, intel/2019b, intel/2022a"},{"location":"version-specific/supported-software/#xdotool","title":"xdotool","text":"

            xdotool lets you simulate keyboard input and mouse activity, move and resize windows, etc. It does this using X11\u2019s XTEST extension and other Xlib functions.

            homepage: https://github.com/jordansissel/xdotool

            version toolchain 3.20211022.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xerces-c","title":"Xerces-C++","text":"

            Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs.

            homepage: https://xerces.apache.org/xerces-c/

            version toolchain 3.1.4 GCCcore/6.4.0 3.2.0 GCCcore/7.3.0 3.2.2 GCCcore/8.2.0, GCCcore/8.3.0 3.2.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 3.2.4 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#xesmf","title":"xESMF","text":"

            xESMF: Universal Regridder for Geospatial Data

            homepage: https://xesmf.readthedocs.io

            version versionsuffix toolchain 0.3.0 intel/2020b 0.3.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#xextproto","title":"xextproto","text":"

            XExtProto protocol headers.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 7.3.0 foss/2016a, gimkl/2.11.5, intel/2016a, intel/2017b"},{"location":"version-specific/supported-software/#xf86vidmodeproto","title":"xf86vidmodeproto","text":"

            X11 XFree86 video mode extension protocol headers.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 2.3.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xgboost","title":"XGBoost","text":"

            XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable.

            homepage: https://github.com/dmlc/xgboost

            version versionsuffix toolchain 0.6a2 -Python-2.7.12 intel/2016b 0.6a2 -Python-3.5.2 intel/2016b 0.6a2 -Python-3.6.1 intel/2017a 0.72.1 -Python-2.7.14 intel/2017b 0.90 -Python-3.7.4 foss/2019b 1.2.0 -Python-3.8.2 foss/2020a 1.5.0 foss/2021a 1.7.1 foss/2022a 1.7.2 foss/2022a 1.7.2 -CUDA-11.7.0 foss/2022a 20171120 -Java-1.8.0_152 intel/2017b"},{"location":"version-specific/supported-software/#xgrafix","title":"XGrafix","text":"

            A graphics library and controller for physics simulation programs. 3-d surface plots, scatter plots, 2-d line plots.

            homepage: https://ptsg.egr.msu.edu/

            version toolchain 2.41 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#xineramaproto","title":"xineramaproto","text":"

            X protocol and ancillary headers for xinerama

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.2.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xkeyboardconfig","title":"XKeyboardConfig","text":"

            The non-arch keyboard configuration database for X Window. The goal is to provide the consistent, well-structured, frequently released open source of X keyboard configuration data for X Window System implementations (free, open source and commercial). The project is targeted to XKB-based systems.

            homepage: http://www.freedesktop.org/wiki/Software/XKeyboardConfig/

            version toolchain 2.17 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xlsxwriter","title":"XlsxWriter","text":"

            A Python module for creating Excel XLSX files

            homepage: https://xlsxwriter.readthedocs.io/

            version toolchain 1.4.0 GCCcore/10.2.0 1.4.4 GCCcore/10.3.0 3.0.2 GCCcore/11.2.0 3.0.8 GCCcore/11.3.0 3.1.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xmds2","title":"XMDS2","text":"

            The purpose of XMDS2 is to simplify the process of creating simulations that solve systems of initial-value first-order partial and ordinary differential equations.

            homepage: http://www.xmds.org/

            version versionsuffix toolchain 2.2.3 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#xmipp","title":"Xmipp","text":"

            Scipion is an image processing framework to obtain 3D models of macromolecular complexes using Electron Microscopy (3DEM). It integrates several software packages and presents an unified interface for both biologists and developers. Scipion allows to execute workflows combining different software tools, while taking care of formats and conversions. Additionally, all steps are tracked and can be reproduced later on.

            homepage: https://github.com/I2PC/scipion/wiki

            version versionsuffix toolchain 3.19.04-Apollo -Python-2.7.15 foss/2019a, fosscuda/2019a 3.22.07-Helios foss/2022a 3.22.07-Helios -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#xmitgcm","title":"xmitgcm","text":"

            xmitgcm is a python package for reading MITgcm binary MDS files into xarray data structures. By storing data in dask arrays, xmitgcm enables parallel, out-of-core analysis of MITgcm output data.

            homepage: https://github.com/MITgcm/xmitgcm

            version toolchain 0.5.2 foss/2022a"},{"location":"version-specific/supported-software/#xml-compile","title":"XML-Compile","text":"

            Perl module for compilation based XML processing

            homepage: https://metacpan.org/pod/XML::Compile

            version toolchain 1.63 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#xml-libxml","title":"XML-LibXML","text":"

            Perl binding for libxml2

            homepage: https://metacpan.org/pod/distribution/XML-LibXML/LibXML.pod

            version versionsuffix toolchain 2.0132 -Perl-5.24.0 foss/2016b, intel/2016b 2.0132 -Perl-5.24.1 intel/2017a 2.0132 -Perl-5.26.0 foss/2017b, intel/2017b 2.0132 -Perl-5.26.1 GCCcore/6.4.0 2.0132 -Perl-5.28.0 GCCcore/7.3.0 2.0200 -Perl-5.28.1 GCCcore/8.2.0 2.0201 GCCcore/8.3.0 2.0205 GCCcore/9.3.0 2.0206 GCCcore/10.2.0 2.0207 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 2.0208 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xml-parser","title":"XML-Parser","text":"

            This is a Perl extension interface to James Clark's XML parser, expat.

            homepage: https://search.cpan.org/~toddr/XML-Parser-2.46/

            version versionsuffix toolchain 2.41 -Perl-5.20.3 intel/2016a 2.44 -Perl-5.22.1 foss/2016a, intel/2016a 2.44_01 -Perl-5.24.0 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, gimkl/2017a, intel/2016b 2.44_01 -Perl-5.24.1 GCCcore/6.3.0, intel/2017a 2.44_01 -Perl-5.26.0 GCCcore/6.4.0 2.44_01 -Perl-5.26.1 GCCcore/6.4.0 2.44_01 -Perl-5.28.0 GCCcore/7.3.0 2.46 -Perl-5.32.1 GCCcore/10.3.0 2.46 -Perl-5.34.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xmlf90","title":"xmlf90","text":"

            A fast XML parser and generator in Fortran

            homepage: https://gitlab.com/siesta-project/libraries/xmlf90

            version toolchain 1.5.3 foss/2016b, foss/2017a 1.5.4 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2019.5.281, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0 1.5.6 GCC/11.3.0"},{"location":"version-specific/supported-software/#xmlsec","title":"XMLSec","text":"

            XML Security Library is a C library based on LibXML2, supporting major XML security standards.

            homepage: https://www.aleksey.com/xmlsec/index.html

            version toolchain 1.2.26 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#xmlstarlet","title":"XMLStarlet","text":"

            Command line XML tool

            homepage: http://xmlstar.sourceforge.net

            version toolchain 1.6.1 GCCcore/6.4.0, foss/2016a"},{"location":"version-specific/supported-software/#xonsh","title":"xonsh","text":"

            Xonsh is a Python-ish, BASHwards-looking shell language and command prompt.

            homepage: https://xon.sh/

            version toolchain 0.3.2 intel/2016a"},{"location":"version-specific/supported-software/#xorg-macros","title":"xorg-macros","text":"

            X.org macros utilities.

            homepage: https://gitlab.freedesktop.org/xorg/util/macros

            version toolchain 1.19.0 foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b 1.19.1 GCCcore/6.3.0, GCCcore/6.4.0 1.19.2 GCCcore/10.2.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0 1.19.3 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 1.20.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#xplor-nih","title":"XPLOR-NIH","text":"

            A System for X-ray Crystallography and NMR

            homepage: https://nmr.cit.nih.gov/xplor-nih/

            version versionsuffix toolchain 3.4 -Linux_x86_64 system"},{"location":"version-specific/supported-software/#xprop","title":"xprop","text":"

            The xprop utility is for displaying window and font properties in an X server. One window or font is selected using the command line arguments or possibly in the case of a window, by clicking on the desired window. A list of properties is then given, possibly with formatting information.

            homepage: https://www.x.org/wiki/

            version versionsuffix toolchain 1.2.2 GCCcore/5.4.0, GCCcore/6.4.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b, intel/2017a 1.2.2 -X11-20180131 GCCcore/6.4.0 1.2.3 GCCcore/7.3.0 1.2.4 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.2.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xproto","title":"xproto","text":"

            X protocol and ancillary headers

            homepage: https://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 7.0.28 foss/2016a, gimkl/2.11.5, intel/2016a 7.0.29 intel/2016a 7.0.31 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#xsd","title":"XSD","text":"

            CodeSynthesis XSD is an open-source, cross-platform W3C XML Schema to C++ data binding compiler.

            homepage: https://www.codesynthesis.com/products/xsd/

            version toolchain 4.0.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#xtandem","title":"XTandem","text":"

            X!Tandem open source is software that can match tandem mass spectra with peptide sequences, in a process that has come to be known as protein identification.

            homepage: https://www.thegpm.org/tandem

            version toolchain 17.02.01.4 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#xtb","title":"xtb","text":"

            xtb - An extended tight-binding semi-empirical program package.

            homepage: https://xtb-docs.readthedocs.io

            version versionsuffix toolchain 6.2.2-hotfix -Python-3.6.3 intel/2017b 6.2.3 foss/2019b 6.4.1 foss/2021b, intel/2021a 6.5.0 foss/2021b 6.5.1 foss/2022a"},{"location":"version-specific/supported-software/#xtensor","title":"xtensor","text":"

            xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions.

            homepage: https://github.com/xtensor-stack/xtensor

            version toolchain 0.24.0 foss/2021b"},{"location":"version-specific/supported-software/#xtrans","title":"xtrans","text":"

            xtrans includes a number of routines to make X implementations transport-independent; at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet.

            homepage: http://www.freedesktop.org/wiki/Software/xlibs

            version toolchain 1.3.5 GCCcore/11.3.0, foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#xvfb","title":"Xvfb","text":"

            Xvfb is an X server that can run on machines with no display hardware and no physical input devices. It emulates a dumb framebuffer using virtual memory.

            homepage: https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml

            version toolchain 1.20.8 GCCcore/8.2.0, GCCcore/8.3.0 1.20.9 GCCcore/10.2.0, GCCcore/9.3.0 1.20.11 GCCcore/10.3.0 1.20.13 GCCcore/11.2.0 21.1.3 GCCcore/11.3.0 21.1.6 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xxd","title":"xxd","text":"

            xxd is part of the VIM package and this will only install xxd, not vim! xxd converts to/from hexdumps of binary files.

            homepage: https://www.vim.org

            version toolchain 8.2.4220 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xxhash","title":"xxHash","text":"

            xxHash is an extremely fast non-cryptographic hash algorithm, working at RAM speed limit.

            homepage: https://cyan4973.github.io/xxHash

            version toolchain 0.8.0 GCCcore/11.2.0 0.8.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xz","title":"XZ","text":"

            xz: XZ utilities

            homepage: https://tukaani.org/xz/

            version versionsuffix toolchain 5.0.5 GCC/4.8.2 5.2.0 GCC/4.9.2 5.2.2 GCC/4.9.2, GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, foss/2016.04, foss/2016a, foss/2016b, intel/2016a, intel/2016b 5.2.2 -gettext-0.19.7 foss/2016a, intel/2016a 5.2.3 GCCcore/6.3.0, GCCcore/6.4.0, gimkl/2017a 5.2.4 GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0 5.2.5 GCCcore/10.1.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0 5.2.7 GCCcore/12.2.0 5.4.2 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#y","title":"Y","text":"

            YACS - Yade - yaff - Yambo - yaml-cpp - YANK - YAPS - Yasm - YAXT - Yices - YODA

            "},{"location":"version-specific/supported-software/#yacs","title":"YACS","text":"

            YACS was created as a lightweight library to define and manage system configurations, such as those commonly found in software designed for scientific experimentation. These \"configurations\" typically cover concepts like hyperparameters used in training a machine learning model or configurable model hyperparameters, such as the depth of a convolutional neural network.

            homepage: https://github.com/rbgirshick/yacs

            version toolchain 0.1.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#yade","title":"Yade","text":"

            Yade is an extensible open-source framework for discrete numerical models, focused on Discrete Element Method. The computation parts are written in c++ using flexible object model, allowing independent implementation of new alogrithms and interfaces. Python is used for rapid and concise scene construction, simulation control, postprocessing and debugging.

            homepage: https://yade-dem.org/doc/

            version versionsuffix toolchain 1.20.0 -Python-2.7.11 foss/2016a, intel/2016a 2016.06a -Python-2.7.12 foss/2016b, intel/2016b 2017.01a -Python-2.7.12 intel/2016b 2018.02b -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#yaff","title":"yaff","text":"

            Yaff stands for 'Yet another force field'. It is a pythonic force-field code.

            homepage: https://molmod.github.io/yaff/

            version versionsuffix toolchain 1.0.develop.2.15 -Python-2.7.12-HDF5-1.8.18 intel/2016b 1.1.2 -Python-2.7.13 intel/2017a 1.1.3 -Python-2.7.13 intel/2017a 1.4.2 -Python-2.7.14 foss/2018a, intel/2017b, intel/2018a 1.4.2 -Python-3.6.3 intel/2017b 1.4.5 -Python-2.7.15 intel/2018b 1.5.0 -Python-2.7.15 intel/2018b 1.5.0 -Python-3.7.2 intel/2019a 1.6.0 foss/2020b 1.6.0 -Python-3.7.2 intel/2019a 1.6.0 -Python-3.7.4 foss/2019b, intel/2019b 1.6.0 -Python-3.8.2 foss/2020a, intel/2020a"},{"location":"version-specific/supported-software/#yambo","title":"Yambo","text":"

            Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics. Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf.

            homepage: http://www.yambo-code.org

            version toolchain 3.4.2 intel/2016.02-GCC-4.9 5.0.4 intel/2021a"},{"location":"version-specific/supported-software/#yaml-cpp","title":"yaml-cpp","text":"

            yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec

            homepage: https://github.com/jbeder/yaml-cpp

            version toolchain 0.6.3 GCCcore/8.3.0 0.7.0 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#yank","title":"YANK","text":"

            A GPU-accelerated Python framework for exploring algorithms for alchemical free energy calculations

            homepage: http://getyank.org/

            version versionsuffix toolchain 0.25.2 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#yaps","title":"YAPS","text":"

            YAPS - Yet Another Positioning Solver

            homepage: https://github.com/baktoft/yaps

            version versionsuffix toolchain 1.1.0 -R-3.5.1 foss/2018b 1.1.0 -R-3.6.0 intel/2019a"},{"location":"version-specific/supported-software/#yasm","title":"Yasm","text":"

            Yasm: Complete rewrite of the NASM assembler with BSD license

            homepage: http://www.tortall.net/projects/yasm/

            version toolchain 1.3.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2017a, gimkl/2.11.5, gimkl/2017a, intel/2016a, intel/2016b, intel/2017a"},{"location":"version-specific/supported-software/#yaxt","title":"YAXT","text":"

            Yet Another eXchange Tool

            homepage: https://www.dkrz.de/redmine/projects/yaxt

            version toolchain 0.5.1 intel/2016b, intel/2017a, intel/2017b 0.6.0 intel/2018a, intel/2018b, iomkl/2018b 0.6.2 foss/2018b, gompi/2019b, iimpi/2019b 0.9.0 gompi/2020b 0.9.1 gompi/2021a 0.9.2 iimpi/2021b 0.9.2.1 gompi/2021b"},{"location":"version-specific/supported-software/#yices","title":"Yices","text":"

            Yices 2 is an SMT solver that decides the satisfiability of formulas containing uninterpreted function symbols with equality, real and integer arithmetic, bitvectors, scalar types, and tuples. Yices 2 supports both linear and nonlinear arithmetic.

            homepage: https://yices.csl.sri.com/index.html

            version toolchain 2.6.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#yoda","title":"YODA","text":"

            Yet more Objects for (High Energy Physics) Data Analysis

            homepage: https://yoda.hepforge.org/

            version toolchain 1.9.7 GCC/11.3.0"},{"location":"version-specific/supported-software/#z","title":"Z","text":"

            Z3 - zarr - ZeroMQ - zfp - Zgoubi - ZIMPL - zingeR - Zip - zlib - zlib-ng - zlibbioc - Zopfli - ZPAQ - zsh - zstd

            "},{"location":"version-specific/supported-software/#z3","title":"Z3","text":"

            Z3 is a theorem prover from Microsoft Research.

            homepage: https://github.com/Z3Prover/z3

            version toolchain 4.8.9 GCCcore/8.3.0, GCCcore/9.3.0 4.8.10 GCCcore/10.2.0 4.8.11 GCCcore/10.3.0 4.8.12 GCCcore/11.2.0 4.8.16 GCCcore/11.3.0 4.10.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#zarr","title":"zarr","text":"

            Zarr is a Python package providing an implementation of compressed, chunked, N-dimensional arrays, designed for use in parallel computing.

            homepage: https://zarr.readthedocs.io/en/stable/

            version versionsuffix toolchain 2.1.4 -Python-2.7.13 foss/2017a 2.4.0 -Python-3.8.2 foss/2020a 2.8.1 foss/2020b 2.10.1 foss/2021a 2.13.3 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#zeromq","title":"ZeroMQ","text":"

            ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. It gives you sockets that carry atomic messages across various transports like in-process, inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous message-processing tasks. It has a score of language APIs and runs on most operating systems.

            homepage: https://www.zeromq.org/

            version toolchain 4.1.4 foss/2016a, intel/2016a 4.1.5 intel/2016b 4.2.0 foss/2016b, intel/2016b 4.2.2 foss/2017a, foss/2017b, fosscuda/2017b, intel/2017a, intel/2017b, intelcuda/2017b 4.2.5 foss/2018a, foss/2018b, fosscuda/2018b, intel/2018a, intel/2018b 4.3.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.3.3 GCCcore/10.2.0 4.3.4 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#zfp","title":"zfp","text":"

            zfp is a compressed format for representing multidimensional floating-point and integer arrays. zfp provides compressed-array classes that support high throughput read and write random access to individual array elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications that read and write large data sets to and from disk.

            homepage: https://github.com/LLNL/zfp

            version toolchain 0.5.5 GCCcore/10.2.0 1.0.0 GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#zgoubi","title":"Zgoubi","text":"

            Zgoubi is a ray-tracing code in use for charged particle beam dynamics simulations. It can simulate beam dynamics in a large variety of machines and optical systems.

            homepage: https://zgoubi.sourceforge.io

            version toolchain 6.0.2 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#zimpl","title":"ZIMPL","text":"

            ZIMPL is a little language to translate the mathematical model of a problem into a linear or nonlinear (mixed-) integer mathematical program expressed in .lp or .mps file format which can be read and (hopefully) solved by a LP or MIP solver.

            homepage: https://zimpl.zib.de/

            version toolchain 3.3.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#zinger","title":"zingeR","text":"

            Zero-Inflated Negative binomial Gene Expression in R

            homepage: https://github.com/statOmics/zingeR

            version versionsuffix toolchain 20180131 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#zip","title":"Zip","text":"

            Zip is a compression and file packaging/archive utility. Although highly compatible both with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives have been portability and other-than-MSDOS functionality

            homepage: http://www.info-zip.org/Zip.html

            version toolchain 3.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#zlib","title":"zlib","text":"

            zlib is designed to be a free, general-purpose, legally unencumbered -- that is, not covered by any patents -- lossless data-compression library for use on virtually any computer hardware and operating system.

            homepage: http://www.zlib.net/

            version toolchain 1.2.7 GCC/4.8.1, GCC/4.8.2 1.2.8 GCC/4.8.2, GCC/4.8.3, GCC/4.8.4, GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-2.25, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, intel/2017.01, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 1.2.10 system 1.2.11 FCC/4.5.0, GCCcore/10.1.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/11.2.0, GCCcore/5.4.0, GCCcore/5.5.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/7.4.0, GCCcore/8.1.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/8.4.0, GCCcore/9.1.0, GCCcore/9.2.0, GCCcore/9.3.0, GCCcore/9.4.0, GCCcore/system, gimkl/2017a, system 1.2.12 GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/9.5.0, system 1.2.13 GCCcore/11.4.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#zlib-ng","title":"zlib-ng","text":"

            zlib data compression library for the next generation systems

            homepage: https://github.com/zlib-ng/zlib-ng

            version toolchain 2.0.5 GCCcore/10.2.0 2.0.6 GCCcore/10.3.0 2.0.7 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#zlibbioc","title":"zlibbioc","text":"

            This package uses the source code of zlib-1.2.5 to create libraries for systems that do not have these available via other means.

            homepage: https://bioconductor.org/packages/release/bioc/html/zlibbioc.html

            version versionsuffix toolchain 1.18.0 -R-3.2.3 intel/2016a 1.20.0 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#zopfli","title":"Zopfli","text":"

            Zopfli Compression Algorithm is a compression library programmed in C to perform very good, but slow, deflate or zlib compression.

            homepage: https://github.com/google/zopfli

            version toolchain 1.0.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#zpaq","title":"ZPAQ","text":"

            zpaq is a free and open source (GPL v3) incremental, journaling command-line archiver for Windows, Linux and Mac OS/X

            homepage: http://mattmahoney.net/dc/zpaq.html

            version toolchain 7.00 GCC/4.8.2"},{"location":"version-specific/supported-software/#zsh","title":"zsh","text":"

            Zsh is a shell designed for interactive use, although it is also a powerful scripting language.

            homepage: https://www.zsh.org/

            version toolchain 5.1.1 GNU/4.9.3-2.25 5.2 foss/2016b 5.8 GCC/8.3.0, system 5.9 system"},{"location":"version-specific/supported-software/#zstd","title":"zstd","text":"

            Zstandard is a real-time compression algorithm, providing high compression ratios. It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. It also offers a special mode for small data, called dictionary compression, and can create dictionaries from any sample set.

            homepage: https://facebook.github.io/zstd

            version toolchain 1.3.4 foss/2016b 1.4.0 GCCcore/7.3.0, GCCcore/8.2.0, foss/2018b 1.4.4 GCCcore/8.3.0, GCCcore/9.3.0 1.4.5 GCCcore/10.2.0 1.4.9 GCCcore/10.3.0 1.5.0 GCCcore/11.2.0 1.5.2 GCCcore/11.3.0, GCCcore/12.2.0 1.5.5 GCCcore/12.3.0"},{"location":"version-specific/toolchain-opts/","title":"Available toolchain options (by toolchain)","text":"

            (see also eb --avail-toolchain-opts <tcname> )

            cgmpich - cgmpolf - cgmvapich2 - cgmvolf - cgompi - cgoolf - ClangGCC - CrayCCE - CrayGNU - CrayIntel - CrayPGI - FCC - ffmpi - foss - fosscuda - Fujitsu - GCC - GCCcore - gcccuda - gfbf - gimkl - gimpi - gimpic - giolf - giolfc - gmacml - gmkl - gmklc - gmpich2 - gmpich - gmpit - gmpolf - gmvapich2 - gmvolf - GNU - goalf - gobff - goblf - gofbf - golf - golfc - gomkl - gomklc - gompi - gompic - goolf - goolfc - gpsmpi - gpsolf - gqacml - gsmpi - gsolf - iccifort - iccifortcuda - ictce - iibff - iimkl - iimklc - iimpi - iimpic - iiqmpi - impich - impmkl - intel-compilers - intel-para - intel - intelcuda - iomkl - iomklc - iompi - iompic - ipsmpi - iqacml - ismkl - NVHPC - nvofbf - nvompi - nvompic - nvpsmpi - nvpsmpic - PGI - pmkl - pomkl - pompi - system - xlcxlf - xlmpich2 - xlmpich - xlmvapich2 - xlompi

            "},{"location":"version-specific/toolchain-opts/#cgmpich","title":"cgmpich","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgmpich-toolchain","title":"Available options for cgmpich toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgmpolf","title":"cgmpolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgmpolf-toolchain","title":"Available options for cgmpolf toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgmvapich2","title":"cgmvapich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgmvapich2-toolchain","title":"Available options for cgmvapich2 toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgmvolf","title":"cgmvolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgmvolf-toolchain","title":"Available options for cgmvolf toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgompi","title":"cgompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgompi-toolchain","title":"Available options for cgompi toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgoolf","title":"cgoolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgoolf-toolchain","title":"Available options for cgoolf toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#clanggcc","title":"ClangGCC","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-clanggcc-toolchain","title":"Available options for ClangGCC toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#craycce","title":"CrayCCE","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-craycce-toolchain","title":"Available options for CrayCCE toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False dynamic Generate dynamically linked executable True extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False mpich-mt Directs the driver to link in an alternate version of the Cray-MPICH library which provides fine-grained multi-threading support to applications that perform MPI operations within threaded regions. False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations False packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output True veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#craygnu","title":"CrayGNU","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-craygnu-toolchain","title":"Available options for CrayGNU toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False dynamic Generate dynamically linked executable True extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False mpich-mt Directs the driver to link in an alternate version of the Cray-MPICH library which provides fine-grained multi-threading support to applications that perform MPI operations within threaded regions. False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations False packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output True veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#crayintel","title":"CrayIntel","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-crayintel-toolchain","title":"Available options for CrayIntel toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False dynamic Generate dynamically linked executable True extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False mpich-mt Directs the driver to link in an alternate version of the Cray-MPICH library which provides fine-grained multi-threading support to applications that perform MPI operations within threaded regions. False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations False packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output True veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#craypgi","title":"CrayPGI","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-craypgi-toolchain","title":"Available options for CrayPGI toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False dynamic Generate dynamically linked executable True extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False mpich-mt Directs the driver to link in an alternate version of the Cray-MPICH library which provides fine-grained multi-threading support to applications that perform MPI operations within threaded regions. False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations False packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output True veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#fcc","title":"FCC","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-fcc-toolchain","title":"Available options for FCC toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#ffmpi","title":"ffmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-ffmpi-toolchain","title":"Available options for ffmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#foss","title":"foss","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-foss-toolchain","title":"Available options for foss toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#fosscuda","title":"fosscuda","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-fosscuda-toolchain","title":"Available options for fosscuda toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#fujitsu","title":"Fujitsu","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-fujitsu-toolchain","title":"Available options for Fujitsu toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gcc","title":"GCC","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gcc-toolchain","title":"Available options for GCC toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gcccore","title":"GCCcore","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gcccore-toolchain","title":"Available options for GCCcore toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gcccuda","title":"gcccuda","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gcccuda-toolchain","title":"Available options for gcccuda toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gfbf","title":"gfbf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gfbf-toolchain","title":"Available options for gfbf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gimkl","title":"gimkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gimkl-toolchain","title":"Available options for gimkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gimpi","title":"gimpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gimpi-toolchain","title":"Available options for gimpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gimpic","title":"gimpic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gimpic-toolchain","title":"Available options for gimpic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#giolf","title":"giolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-giolf-toolchain","title":"Available options for giolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#giolfc","title":"giolfc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-giolfc-toolchain","title":"Available options for giolfc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmacml","title":"gmacml","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmacml-toolchain","title":"Available options for gmacml toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmkl","title":"gmkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmkl-toolchain","title":"Available options for gmkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmklc","title":"gmklc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmklc-toolchain","title":"Available options for gmklc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmpich2","title":"gmpich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmpich2-toolchain","title":"Available options for gmpich2 toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmpich","title":"gmpich","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmpich-toolchain","title":"Available options for gmpich toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmpit","title":"gmpit","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmpit-toolchain","title":"Available options for gmpit toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmpolf","title":"gmpolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmpolf-toolchain","title":"Available options for gmpolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmvapich2","title":"gmvapich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmvapich2-toolchain","title":"Available options for gmvapich2 toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmvolf","title":"gmvolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmvolf-toolchain","title":"Available options for gmvolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gnu","title":"GNU","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gnu-toolchain","title":"Available options for GNU toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#goalf","title":"goalf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-goalf-toolchain","title":"Available options for goalf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gobff","title":"gobff","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gobff-toolchain","title":"Available options for gobff toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#goblf","title":"goblf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-goblf-toolchain","title":"Available options for goblf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gofbf","title":"gofbf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gofbf-toolchain","title":"Available options for gofbf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#golf","title":"golf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-golf-toolchain","title":"Available options for golf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#golfc","title":"golfc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-golfc-toolchain","title":"Available options for golfc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gomkl","title":"gomkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gomkl-toolchain","title":"Available options for gomkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gomklc","title":"gomklc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gomklc-toolchain","title":"Available options for gomklc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gompi","title":"gompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gompi-toolchain","title":"Available options for gompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gompic","title":"gompic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gompic-toolchain","title":"Available options for gompic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#goolf","title":"goolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-goolf-toolchain","title":"Available options for goolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#goolfc","title":"goolfc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-goolfc-toolchain","title":"Available options for goolfc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gpsmpi","title":"gpsmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gpsmpi-toolchain","title":"Available options for gpsmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gpsolf","title":"gpsolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gpsolf-toolchain","title":"Available options for gpsolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gqacml","title":"gqacml","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gqacml-toolchain","title":"Available options for gqacml toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gsmpi","title":"gsmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gsmpi-toolchain","title":"Available options for gsmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gsolf","title":"gsolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gsolf-toolchain","title":"Available options for gsolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iccifort","title":"iccifort","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iccifort-toolchain","title":"Available options for iccifort toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iccifortcuda","title":"iccifortcuda","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iccifortcuda-toolchain","title":"Available options for iccifortcuda toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#ictce","title":"ictce","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-ictce-toolchain","title":"Available options for ictce toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iibff","title":"iibff","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iibff-toolchain","title":"Available options for iibff toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iimkl","title":"iimkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iimkl-toolchain","title":"Available options for iimkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iimklc","title":"iimklc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iimklc-toolchain","title":"Available options for iimklc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iimpi","title":"iimpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iimpi-toolchain","title":"Available options for iimpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iimpic","title":"iimpic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iimpic-toolchain","title":"Available options for iimpic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iiqmpi","title":"iiqmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iiqmpi-toolchain","title":"Available options for iiqmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#impich","title":"impich","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-impich-toolchain","title":"Available options for impich toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#impmkl","title":"impmkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-impmkl-toolchain","title":"Available options for impmkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#intel-compilers","title":"intel-compilers","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-intel-compilers-toolchain","title":"Available options for intel-compilers toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#intel-para","title":"intel-para","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-intel-para-toolchain","title":"Available options for intel-para toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#intel","title":"intel","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-intel-toolchain","title":"Available options for intel toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#intelcuda","title":"intelcuda","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-intelcuda-toolchain","title":"Available options for intelcuda toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iomkl","title":"iomkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iomkl-toolchain","title":"Available options for iomkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iomklc","title":"iomklc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iomklc-toolchain","title":"Available options for iomklc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iompi","title":"iompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iompi-toolchain","title":"Available options for iompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iompic","title":"iompic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iompic-toolchain","title":"Available options for iompic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#ipsmpi","title":"ipsmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-ipsmpi-toolchain","title":"Available options for ipsmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iqacml","title":"iqacml","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iqacml-toolchain","title":"Available options for iqacml toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#ismkl","title":"ismkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-ismkl-toolchain","title":"Available options for ismkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvhpc","title":"NVHPC","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvhpc-toolchain","title":"Available options for NVHPC toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvofbf","title":"nvofbf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvofbf-toolchain","title":"Available options for nvofbf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvompi","title":"nvompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvompi-toolchain","title":"Available options for nvompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvompic","title":"nvompic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvompic-toolchain","title":"Available options for nvompic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvpsmpi","title":"nvpsmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvpsmpi-toolchain","title":"Available options for nvpsmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvpsmpic","title":"nvpsmpic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvpsmpic-toolchain","title":"Available options for nvpsmpic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#pgi","title":"PGI","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-pgi-toolchain","title":"Available options for PGI toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#pmkl","title":"pmkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-pmkl-toolchain","title":"Available options for pmkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#pomkl","title":"pomkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-pomkl-toolchain","title":"Available options for pomkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#pompi","title":"pompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-pompi-toolchain","title":"Available options for pompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#system","title":"system","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-system-toolchain","title":"Available options for system toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlcxlf","title":"xlcxlf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlcxlf-toolchain","title":"Available options for xlcxlf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlmpich2","title":"xlmpich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlmpich2-toolchain","title":"Available options for xlmpich2 toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlmpich","title":"xlmpich","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlmpich-toolchain","title":"Available options for xlmpich toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlmvapich2","title":"xlmvapich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlmvapich2-toolchain","title":"Available options for xlmvapich2 toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlompi","title":"xlompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlompi-toolchain","title":"Available options for xlompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchains/","title":"List of known toolchains","text":"Name Compiler(s) MPI Linear algebra FFT cgmpich Clang, GCC MPICH (none) (none) cgmpolf Clang, GCC MPICH OpenBLAS, ScaLAPACK FFTW cgmvapich2 Clang, GCC MVAPICH2 (none) (none) cgmvolf Clang, GCC MVAPICH2 OpenBLAS, ScaLAPACK FFTW cgompi Clang, GCC OpenMPI (none) (none) cgoolf Clang, GCC OpenMPI OpenBLAS, ScaLAPACK FFTW ClangGCC Clang, GCC (none) (none) (none) CrayCCE PrgEnv-cray cray-mpich cray-libsci (none) CrayGNU PrgEnv-gnu cray-mpich cray-libsci (none) CrayIntel PrgEnv-intel cray-mpich cray-libsci (none) CrayPGI PrgEnv-pgi cray-mpich cray-libsci (none) FCC lang (none) (none) (none) ffmpi FCC (none) (none) (none) foss GCC OpenMPI OpenBLAS, ScaLAPACK FFTW fosscuda GCC, CUDA OpenMPI OpenBLAS, ScaLAPACK FFTW Fujitsu FCC (none) (none) FFTW GCC GCC (none) (none) (none) GCCcore GCCcore (none) (none) (none) gcccuda GCC, CUDA (none) (none) (none) gfbf GCC (none) FlexiBLAS FFTW gimkl GCC impi imkl imkl gimpi GCC impi (none) (none) gimpic GCC, CUDA impi (none) (none) giolf GCC impi OpenBLAS, ScaLAPACK FFTW giolfc GCC, CUDA impi OpenBLAS, ScaLAPACK FFTW gmacml GCC MVAPICH2 ACML, ScaLAPACK FFTW gmkl GCC (none) imkl imkl gmklc GCC, CUDA (none) imkl imkl gmpich GCC MPICH (none) (none) gmpich2 GCC MPICH2 (none) (none) gmpit GCC MPItrampoline (none) (none) gmpolf GCC MPICH OpenBLAS, ScaLAPACK FFTW gmvapich2 GCC MVAPICH2 (none) (none) gmvolf GCC MVAPICH2 OpenBLAS, ScaLAPACK FFTW GNU GCC (none) (none) (none) goalf GCC OpenMPI ATLAS, ScaLAPACK FFTW gobff GCC OpenMPI BLIS, libFLAME, ScaLAPACK FFTW goblf GCC OpenMPI BLIS, LAPACK, ScaLAPACK FFTW gofbf GCC OpenMPI FlexiBLAS, ScaLAPACK FFTW golf GCC (none) OpenBLAS FFTW golfc GCC, CUDA (none) OpenBLAS FFTW gomkl GCC OpenMPI imkl imkl gomklc GCC, CUDA OpenMPI imkl imkl gompi GCC OpenMPI (none) (none) gompic GCC, CUDA OpenMPI (none) (none) goolf GCC OpenMPI OpenBLAS, ScaLAPACK FFTW goolfc GCC, CUDA OpenMPI OpenBLAS, ScaLAPACK FFTW gpsmpi GCC psmpi (none) (none) gpsolf GCC psmpi OpenBLAS, ScaLAPACK FFTW gqacml GCC QLogicMPI ACML, ScaLAPACK FFTW gsmpi GCC SpectrumMPI (none) (none) gsolf GCC SpectrumMPI OpenBLAS, ScaLAPACK FFTW iccifort icc, ifort (none) (none) (none) iccifortcuda icc, ifort, CUDA (none) (none) (none) ictce icc, ifort impi imkl imkl iibff icc, ifort impi BLIS, libFLAME, ScaLAPACK FFTW iimkl icc, ifort (none) imkl imkl iimklc icc, ifort (none) imkl imkl iimpi icc, ifort impi (none) (none) iimpic icc, ifort, CUDA impi (none) (none) iiqmpi icc, ifort QLogicMPI (none) (none) impich icc, ifort MPICH (none) (none) impmkl icc, ifort MPICH imkl imkl intel icc, ifort impi imkl imkl intel-compilers intel-compilers (none) (none) (none) intel-para icc, ifort psmpi imkl imkl intelcuda icc, ifort, CUDA impi imkl imkl iomkl icc, ifort OpenMPI imkl imkl iomklc icc, ifort, CUDA OpenMPI imkl imkl iompi icc, ifort OpenMPI (none) (none) iompic icc, ifort, CUDA OpenMPI (none) (none) ipsmpi icc, ifort psmpi (none) (none) iqacml icc, ifort QLogicMPI ACML, ScaLAPACK FFTW ismkl icc, ifort MPICH2 imkl imkl NVHPC NVHPC (none) (none) (none) nvofbf NVHPC OpenMPI FlexiBLAS, ScaLAPACK FFTW nvompi NVHPC OpenMPI (none) (none) nvompic NVHPC OpenMPI (none) (none) nvpsmpi NVHPC psmpi (none) (none) nvpsmpic NVHPC psmpi (none) (none) PGI PGI (none) (none) (none) pmkl PGI (none) imkl imkl pomkl PGI OpenMPI imkl imkl pompi PGI OpenMPI (none) (none) system (none) (none) (none) (none) xlcxlf xlc, xlf (none) (none) (none) xlmpich xlc, xlf MPICH (none) (none) xlmpich2 xlc, xlf MPICH2 (none) (none) xlmvapich2 xlc, xlf MVAPICH2 (none) (none) xlompi xlc, xlf OpenMPI (none) (none)

            (see also eb --list-toolchains )

            "}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"EasyBuild Documentation","text":"

            Welcome to the documentation of EasyBuild (version 4.8.0).

            Use the menu to navigate, or use the search feature (top right).

            See also the EasyBuild tutorial (separate website).

            To contribute to this documentation, open a pull request.

            Quick links

            • What is EasyBuild? - terminology
            • Installing, configuring, and using EasyBuild
            • Writing easyconfig files - available easyconfig parameters
            • Generic easyblocks
            • List of common toolchains and supported software
            • Contributing to EasyBuild - GitHub integration features
            • EasyBuild release notes - EasyBuild v5.0
            • Getting help: mailing list - Slack - conference calls - GitHub

            (last update: 2023-08-10 - easybuild-docs commit dbc4f86a)

            "},{"location":"archived-easyconfigs/","title":"Archived easyconfigs","text":"

            Since EasyBuild v3.0.0, easyconfig files using deprecated (i.e., old and inactive) toolchains are archived.

            "},{"location":"archived-easyconfigs/#archived_easyconfigs_toolchain_deprecation","title":"Toolchain deprecation","text":"

            Once in a blue moon, we review the list of toolchains (& versions) that are included in EasyBuild.

            Easyconfig files that use toolchains that become deprecated are then moved to the easyconfigs archive, i.e. the __archive__ subdirectory in the easybuild-easyconfigs repository (see https://github.com/easybuilders/easybuild-easyconfigs/tree/main/easybuild/easyconfigs/__archive__).

            "},{"location":"archived-easyconfigs/#archived_easyconfigs_deprecated_toolchains_what","title":"What are deprecated toolchains?","text":"

            Toolchains become deprecated if:

            • no easyconfig files using that toolchain have been contributed recently (e.g., in the last year)
            • that toolchain is considered to be inactive, after consulting the EasyBuild community (via mailing list, bi-weekly conf calls)

            Deprecating a toolchain implies that all easyconfigs using that toolchain are moved to the easyconfigs archive, and that they are no longer included in the EasyBuild regression test. In addition, these easyconfigs are 'hidden' from plain sight, in the sense that you need to use --consider-archived-easyconfigs to make EasyBuild consider them when it is looking for easyconfigs (e.g., with --search or --robot).

            This does not mean that the support for using these toolchains is removed from the EasyBuild framework, although not testing them anymore may imply that using them may no longer work at some point in time.

            For toolchains for which no active versions are available (outside of the easyconfigs archive), it is possible that they will be reactivated, if a new toolchain version is contributed.

            "},{"location":"archived-easyconfigs/#archived_easyconfigs_deprecated_toolchains_why","title":"Why are toolchains being deprecated?","text":"
            • using old toolchains (incl. old compilers and/or libraries) is likely to become more and more difficult on modern operating systems
            • these toolchains put a significant burden on the regression testing for EasyBuild releases
            • easyconfigs using old toolchains are likely to be for old software versions, which may no longer be relevant anyway
            "},{"location":"archived-easyconfigs/#archived_easyconfigs_consider","title":"Using --consider-archived-easyconfigs","text":"

            To make EasyBuild consider archived easyconfig files, you need to enable the --consider-archived-easyconfigs configuration option:

            $ eb -S '^goolfc'\nCFGS=/home/example/work/easybuild-easyconfigs/easybuild/easyconfigs\n  * $CFGS1/g/goolfc/goolfc-2016.08.eb\n  * $CFGS1/g/goolfc/goolfc-2016.10.eb\n\nNote: 6 matching archived easyconfig(s) found, use --consider-archived-easyconfigs to see them\n
            $ eb -S '^goolfc' --consider-archived-easyconfigs\nCFGS=/home/example/easybuild-easyconfigs/easybuild/easyconfigs\n  * $CFGS/g/goolfc/goolfc-2016.08.eb\n  * $CFGS/g/goolfc/goolfc-2016.10.eb\n\nMatching archived easyconfigs:\n\n  * $CFGS/__archive__/g/goolfc/goolfc-1.3.12.eb\n  * $CFGS/__archive__/g/goolfc/goolfc-1.4.10.eb\n  * $CFGS/__archive__/g/goolfc/goolfc-2.6.10.eb\n
            "},{"location":"backup-modules/","title":"Backing up of existing modules","text":"

            While regenerating existing module files, you may want to preserve the existing module files to compare and assess that the changes in the newly generated module file match expectations.

            Backing up of existing modules can be enabled with --backup-modules.

            Backups are stored in the same directory as where the module file was located, and the files are given an additional extension of the form .bak_<year><month><day><hour><min><sec>.

            • With module files in Tcl syntax, the backup module file is hidden by adding a leading dot to the filename; this is done to avoid that it is displayed as a normal module in module avail.
            • With module files in Lua syntax, the backup module file is not made hidden (unless Lmod 6.x is used), since the additional .bak_* extension prevents from picking it up as a valid module file; only files ending in .lua are considered to be module files by Lmod 7+.

            The location of the backed up module file will be printed, as well as a \"unified diff\" comparison (very similar to what diff -u produces) between the backed up module file and the newly generated module file (or a message mentioning that no differences were found).

            "},{"location":"backup-modules/#backup_modules_disable","title":"Disabling automatic backup of modules","text":"

            When --skip or --module-only is used, backing up of existing modules is enabled automatically.

            This can be disabled with --disable-backup-modules.

            "},{"location":"backup-modules/#backup_modules_example","title":"Example","text":"

            Suppose existing modules in both Tcl & Lua syntax are present (bzip2/1.0.6).

            Both these module files are missing an update statement for $PATH because the /bin subdirectory was missing in the installation, for the purpose of this example:

            $ ls -la $EASYBUILD_PREFIX/modules/all/bzip2\ndrwxrwsr-x  2 example example 4096 May  9 09:12 .\ndrwxrwsr-x 17 example example 4096 May  9 09:12 ..\n-rw-rw-r--  1 example example 1637 May  9 09:12 1.0.8-GCCcore-12.2.0.lua\n

            Using --force and --backup-modules, we can reinstall the bzip2/1.0.6 modules and get a clear view on what has changed.

            To reinstall the bzip2/1.0.6 module in Lua syntax while retaining a backup of the existing module:

            $ eb bzip2-1.0.8-GCCcore-12.2.0.eb --module-syntax=Lua --force --backup-modules\n...\n== creating build dir, resetting environment...\n== backup of existing module file stored at /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923\n...\n== creating module...\n  >> generating module file @ /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua\n== comparing module file with backup /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923; diff is:\n--- /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923\n+++ /example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua\n@@ -25,9 +25,10 @@\n prepend_path(\"LD_LIBRARY_PATH\", pathJoin(root, \"lib\"))\n prepend_path(\"LIBRARY_PATH\", pathJoin(root, \"lib\"))\n prepend_path(\"MANPATH\", pathJoin(root, \"man\"))\n+prepend_path(\"PATH\", pathJoin(root, \"bin\"))\n setenv(\"EBROOTBZIP2\", root)\n setenv(\"EBVERSIONBZIP2\", \"1.0.8\")\n setenv(\"EBDEVELBZIP2\", pathJoin(root, \"easybuild/bzip2-1.0.8-GCCcore-12.2.0-easybuild-devel\"))\n\n...\n

            Equivalently, we can reinstall the module in Tcl syntax using:

            eb bzip2-1.0.6.eb --module-syntax=Tcl --force --backup-modules\n

            Afterwards, both the newly generated modules and the backups are in place:

            $ ls -la $EASYBUILD_PREFIX/modules/all/bzip2\ntotal 4\ndrwxrwsr-x  2 example example 4096 May  9 09:29 .\ndrwxrwsr-x 17 example example 4096 May  9 09:12 ..\n-rw-rw-r--  1 example example 1559 May  9 09:29 1.0.8-GCCcore-12.2.0\n-rw-rw-r--  1 example example 1637 May  9 09:12 1.0.8-GCCcore-12.2.0.bak_20230509091754_3383740\n-rw-rw-r--  1 example example 1681 May  9 09:18 1.0.8-GCCcore-12.2.0.lua\n-rw-rw-r--  1 example example 1637 May  9 09:12 1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923\n

            Cleaning up the backup module files can be done with the following command (for example):

            $ find $EASYBUILD_PREFIX/modules/all/bzip2 -name '*.bak*' | xargs rm -v\nremoved 'example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.bak_20230509091754_3383740'\nremoved 'example/modules/all/bzip2/1.0.8-GCCcore-12.2.0.lua.bak_20230509091972_3578923'\n
            "},{"location":"changelog-docs/","title":"Changelog for EasyBuild documentation","text":"

            (for EasyBuild release notes, see EasyBuild release notes)

            • release 20230707.01 (7 July 2023): update release notes for EasyBuild v4.8.0 (see EasyBuild v4.8.0 (7 July 2023))
            • release 20230527.01 (27 May 2023): update release notes for EasyBuild v4.7.2 (see EasyBuild v4.7.2 (27 May 2023))
            • release 20230320.01 (20 Mar 2023): update release notes for EasyBuild v4.7.1 (see EasyBuild v4.7.1 (20 March 2023))
            • release 20230109.01 (Jan 9th 2023): update release notes for EasyBuild v4.7.0 (see EasyBuild v4.7.0 (January 9th 2023))
            • release 20221021.01 (Oct 21st 2022): update release notes for EasyBuild v4.6.2 (see EasyBuild v4.6.2 (October 21st 2022))
            • release 20220912.01 (Sep 12th 2022): update release notes for EasyBuild v4.6.1 (see EasyBuild v4.6.1 (September 12th 2022))
            • release 20220708.01 (Jul 8th 2022): update release notes for EasyBuild v4.6.0 (see EasyBuild v4.6.0 (July 8th 2022))
            • release 20220608.01 (Jun 8th 2022): update release notes for EasyBuild v4.5.5 (see EasyBuild v4.5.5 (June 8th 2022))
            • release 20220331.01 (Mar 31st 2022): update release notes for EasyBuild v4.5.4 (see EasyBuild v4.5.4 (March 31st 2022))
            • release 20220211.01 (Feb 11th 2022): update release notes for EasyBuild v4.5.3 (see EasyBuild v4.5.3 (February 11th 2022))
            • release 20220124.01 (Jan 24th 2022): update release notes for EasyBuild v4.5.2 (see EasyBuild v4.5.2 (January 24th 2022))
            • release 20211213.01 (Dec 13th 2021): update release notes for EasyBuild v4.5.1 (see EasyBuild v4.5.1 (December 13th 2021))
            • release 20211029.01 (Oct 29th 2021): update release notes for EasyBuild v4.5.0 (see EasyBuild v4.5.0 (October 29th 2021))
            • release 20210907.01 (Sep 7th 2021): update release notes for EasyBuild v4.4.2 (see EasyBuild v4.4.2 (September 7th 2021))
            • release 20210706.01 (Jul 6th 2021): update release notes for EasyBuild v4.4.1 (see EasyBuild v4.4.1 (July 6th 2021))
            • release 20210602.01 (Jun 2nd 2021): update release notes for EasyBuild v4.4.0 (see EasyBuild v4.4.0 (June 2nd 2021))
            • release 20210409.01 (Apr 9th 2021): update release notes for EasyBuild v4.3.4 (see EasyBuild v4.3.4 (Apr 9th 2021))
            • release 20210223.01 (Feb 23rd 2021): update release notes for EasyBuild v4.3.3 (see EasyBuild v4.3.3 (Feb 23rd 2021))
            • release 20201210.01 (Dec 10th 2020): update release notes for EasyBuild v4.3.2 (see EasyBuild v4.3.2 (December 10th 2020))
            • release 20201029.01 (Oct 29th 2020): update release notes for EasyBuild v4.3.1 (see EasyBuild v4.3.1 (October 29th 2020))
            • release 20200913.01 (Sep 13th 2020): update release notes for EasyBuild v4.3.0 (see EasyBuild v4.3.0 (September 13th 2020))
            • release 20200708.01 (July 8th 2020): update release notes for EasyBuild v4.2.2 (see EasyBuild v4.2.2 (July 8th 2020))
            • release 20200520.01 (May 20th 2020): update release notes for EasyBuild v4.2.1 (see EasyBuild v4.2.1 (May 20th 2020))
            • release 20200414.01 (Apr 14th 2020):
              • document new EasyBuild locking mechanism (see Locks to prevent duplicate installations running at the same time)
              • document support for creating index files (see Using an index to speed up searching for easyconfigs)
              • update release notes for EasyBuild v4.2.0 (see EasyBuild v4.2.0 (April 14th 2020))
            • release 20200316.01 (Mar 16th 2020): update release notes for EasyBuild v4.1.2 (see EasyBuild v4.1.2 (March 16th 2020))
            • release 20200116.01 (Jan 16th 2020): update release notes for EasyBuild v4.1.1 (see EasyBuild v4.1.1 (January 16th 2020))
            • release 20191204.01 (Dec 4th 2019): update release notes for EasyBuild v4.1.0 (see EasyBuild v4.1.0 (December 4th 2019))
            • release 20191015.01 (Oct 15th 2019): update release notes for EasyBuild v4.0.1 (see EasyBuild v4.0.1 (October 15th 2019))
            • release 20190920.01 (Sep 20th 2019): update release notes for EasyBuild v4.0.0 (see EasyBuild v4.0.0 (September 20th 2019)); see also Overview of changes in EasyBuild version 4.0
            • release 20190823.01 (Aug 23rd 2019): update release notes for EasyBuild v3.9.4 (see EasyBuild v3.9.4 (August 23rd 2019))
            • release 20190708.01 (Jul 8th 2019): update release notes for EasyBuild v3.9.3 (see EasyBuild v3.9.3 (July 8th 2019))
            • release 20190609.01 (Jun 9th 2019): update release notes for EasyBuild v3.9.2 (see EasyBuild v3.9.2 (June 9th 2019))
            • release 20190908.01 (Jun 8th 2019): update documentation on support for generating (Singularity) container recipes/images (see Generating container recipes & images)
            • release 20190520.01 (May 20th 2019): update release notes for EasyBuild v3.9.1 (see EasyBuild v3.9.1 (May 20th 2019))
            • release 20190412.01 (Apr 12th 2019): update release notes for EasyBuild v3.9.0 (see EasyBuild v3.9.0 (April 12th 2019))
            • release 20190129.01 (Jan 29th 2019): update release notes for EasyBuild v3.8.1 (see EasyBuild v3.8.1 (January 29th 2019))
            • release 20190124.01 (Jan 24th 2019): add definitions for 2019a common toolchains (see Common toolchains)
            • release 20181218.01 (Dec 18th 2018): update release notes for EasyBuild v3.8.0 (see EasyBuild v3.8.0 (December 18th 2018))
            • release 20181114.01 (Nov 14th 2018): add documentation on deprecated easyconfigs & toolchains (Deprecated easyconfigs)
            • release 20181104.01 (Nov 4th 2018): update --job documentation to also cover Slurm job backend (see Submitting jobs using --job)
            • release 20181018.01 (Oct 18th 2018): update release notes for EasyBuild v3.7.1 (see EasyBuild v3.7.1 (October 18th 2018))
            • release 20180925.01 (Sep 25th 2018): update release notes for EasyBuild v3.7.0 (see EasyBuild v3.7.0 (September 25th 2018))
            • release 20180921.01 (Sep 21st 2018): document support for wrapping dependencies (see Wrapping dependencies)
            • release 20180920.01 (Sep 20th 2018): document support for downloading sources directly from a Git repository (see Downloading from a Git repository)
            • release 20180711.01 (Jul 11th 2018): update release notes for EasyBuild v3.6.2 (see EasyBuild v3.6.2 (July 11th 2018))
            • release 20180710.01 (Jul 10th 2018): add definitions for 2018b common toolchains (see Common toolchains)
            • release 20180528.01 (May 28th 2018): update release notes for EasyBuild v3.6.1 (see EasyBuild v3.6.1 (May 26th 2018))
            • release 20180427.01 (Apr 27th 2018): update release notes for EasyBuild v3.6.0 (see EasyBuild v3.6.0 (April 26th 2018))
            • release 20180425.01 (Apr 25th 2018): add documentation on support for generating container recipes & images (see Generating container recipes & images)
            • release 20180307.01 (Mar 7th 2018): update release notes for EasyBuild v3.5.3 (see EasyBuild v3.5.3 (March 7th 2018))
            • release 20180302.01 (Mar 2nd 2018): update release notes for EasyBuild v3.5.2 (see EasyBuild v3.5.2 (March 2nd 2018))
            • release 20180116.01 (Jan 16th 2018): update release notes for EasyBuild v3.5.1 (see EasyBuild v3.5.1 (January 16th 2018))
            • release 20180112.01 (Jan 12th 2018): add definitions for 2018a common toolchains (see Common toolchains)
            • release 20171215.01 (Dec 15th 2017): update release notes for EasyBuild v3.5.0 (see EasyBuild v3.5.0 (December 15th 2017))
            • release 20171208.01 (Dec 8th 2017): document support for user-defined hooks (see hooks)
            • release 20171017.01 (Oct 17th 2017): update release notes for EasyBuild v3.4.1 (see EasyBuild v3.4.1 (October 17th 2017))
            • release 20170910.01 (Sept 10th 2017): update release notes for EasyBuild v3.4.0 (see EasyBuild v3.4.0 (September 10th 2017))
            • release 20170906.01 (Sept 6th 2017): document --trace (see Tracing progress)
            • release 20170824.02 (Aug 24th 2017): document --inject-checksums (see Adding or replacing checksums using --inject-checksums)
            • release 20170824.01 (Aug 24th 2017): document --backup-modules (see Backing up of existing modules)
            • release 20170712.01 (July 12th 2017): update release notes for EasyBuild v3.3.1 (see EasyBuild v3.3.1 (July 12th 2017))
            • release 20170708.01 (July 8th 2017): add documentation on Merging easyconfig pull requests
            • release 20170705.01 (July 5th 2017): clarify Requirements for pull requests, add page listing Requirements for pull requests
            • release 20170626.01 (June 26th 2017): update release notes for EasyBuild v3.3.0 (see EasyBuild v3.3.0 (June 26th 2017))
            • release 20170623.01 (June 23rd 2017): document use of checksums & alternative formats for sources (see Source files, patches and checksums)
            • release 20170622.01 (June 22nd 2017): document support for detecting loaded modules (see Detection of loaded modules)
            • release 20170522.01 (May 22nd 2017): document deprecated behaviour in EasyBuild v3.2.0 (see Overview of deprecated functionality in EasyBuild version)
            • release 20170512.01 (May 12th 2017): update release notes for EasyBuild v3.2.1 (see EasyBuild v3.2.1 (May 12th 2017))
            • release 20170505.01 (May 5th 2017): update release notes for EasyBuild v3.2.0 (see EasyBuild v3.2.0 (May 5th 2017))
            • release 20170320.01 (Mar 20th 2017): update release notes for EasyBuild v3.1.2 (see EasyBuild v3.1.2 (March 20th 2017))
            • release 20170307.01 (Mar 7th 2017): update release notes for EasyBuild v3.1.1 (see EasyBuild v3.1.1 (March 7th 2017))
            • release 20170221.01 (Feb 21st 2017): add documentation on Contributing
            • release 20170209.01 (Feb 9th 2017): add documentation on implementing easyblocks (see Implementing easyblocks)
            • release 20170203.01 (Feb 3rd 2017): update release notes for EasyBuild v3.1.0 (see EasyBuild v3.1.0 (February 3rd 2017))
            • release 20170129.01 (Jan 29th 2017): update --optarch documentation (see Setting architecture flags for different compilers via --optarch=<compiler:flags>;<compiler:flags>)
            • release 20170109.01 (Jan 9th 2017): add documentation on Common toolchains
            • release 20161222.01 (Dec 22nd 2016): update documentation and release notes for EasyBuild v3.0.2 (see EasyBuild v3.0.2 (December 22nd 2016))
            • release 20161218.01 (Dec 18th 2016): document need to download vsc-* source tarballs from PyPI
            • release 20161202.01 (Dec 2nd 2016): add documentation on Cray support (see EasyBuild on Cray)
            • release 20161130.01 (Nov 16th 2016): update release notes for EasyBuild v3.0.1 (see EasyBuild v3.0.1 (November 30th 2016))
            • release 20161117.01 (Nov 17th 2016): update mentions of default configuration according to updated default in EasyBuild v3.0.0
            • release 20161116.01 (Nov 16th 2016): update documentation and release notes for EasyBuild v3.0.0 (see EasyBuild v3.0.0 (November 16th 2016))
              • Archived easyconfigs
              • Support for RPATH
            • release 20161028.01 (Oct 28th 2016): recommend using --rebuild rather than --force (see Rebuild installation)
            • release 20161023.01 (Oct 24th 2016): add section on iterating over configure/build/install options (see List of configure/build/install options)
            • release 20161014.01 (Oct 14th 2016): update documentation on deprecated functionality (see Deprecated functionality)
            • release 20161010.01 (Oct 10th 2016): add page for EasyBuild demos (see demos)
            • release 20160923.02 (Sept 23rd 2016): update release notes for EasyBuild v2.9.0 (see EasyBuild v2.9.0 (September 23rd 2016))
            • release 20160923.01 (Sept 23rd 2016): add generated list of supported software (see List of supported software)
            • release 20160713.01 (July 13th 2016): update release notes for EasyBuild v2.8.2 (see EasyBuild v2.8.2 (July 13th 2016))
            • release 20160613.01 (June 13th 2016): clarify required dependencies (setuptools, vsc-install) (see Required Python packages)
            • release 20160607.01 (June 7th 2016): update/complete documentation on GitHub integration (see Integration with GitHub)
            • release 20160530.01 (May 30th 2016): update release notes for EasyBuild v2.8.1 (see EasyBuild v2.8.1 (May 30th 2016))
            • release 20160518.01 (May 18th 2016): update release notes for EasyBuild v2.8.0 (see EasyBuild v2.8.0 (May 18th 2016))
            • release 20160429.01 (April 29th 2016): add section on updating EasyBuild, see Updating an existing EasyBuild installation
            • release 20160320.01 (March 20th 2016): update release notes for EasyBuild v2.7.0 (see EasyBuild v2.7.0 (March 20th 2016))
            • release 20160228.01 (February 28th 2016):
              • update documentation on external modules metadata (see Metadata for external modules)
            • release 20160214.01 (February 14th 2016):

            • add section on --show-config (see Overview of current configuration)

            • release 20160126.02 (January 26th 2016): packaging support is stable since EasyBuild v2.5.0 (see Packaging support)

            • release 20160126.01 (January 26th 2016): update release notes for EasyBuild v2.6.0 (see EasyBuild v2.6.0 (January 26th 2016))

            • release 20151217.01 (December 17th 2015): update release notes for EasyBuild v2.5.0 (see EasyBuild v2.5.0 (December 17th 2015))

            • release 20151209.01 (December 9th 2015):

              • add documentation on controlling compiler optimizations flags, see Controlling compiler optimization flags
            • release 20151110.01 (November 10th 2015): update release notes for EasyBuild v2.4.0 (see EasyBuild v2.4.0 (November 10th 2015))

            • release 20151108.01 (November 8th 2015):

              • document (experimental) support for using minimal toolchains (see Using minimal toolchains for dependencies)
            • release 20151028.01 (October 28th 2015): document extended dry run mechanism (see Extended dry run)

            • release 20151021.01 (October 21st 2015):

              • include initial documentation on experimental support for easyconfig files in YAML syntax (.yeb), see Writing easyconfig files in YAML syntax (.yeb format) [IN DEVELOPMENT]
            • release 20150902.01 (September 2nd 2015): update release notes for EasyBuild v2.3.0 (see EasyBuild v2.3.0 (September 2nd 2015))

            • release 20150715.01 (July 15th 2015): update release notes for EasyBuild v2.2.0 (see EasyBuild v2.2.0 (July 15th 2015))

            • release 20150714.01 (July 14th 2015): add documentation on Packaging support

            • release 20150709.01 (July 9th 2015): add documentation on Submitting jobs using --job

            • release 20150708.01 (July 8th 2015):

              • add documentation on --include-* options (see Including additional Python modules)
            • release 20150703.01 (July 3rd 2015):

              • fix outdated documentation on easyblock parameter (see Easyblock specification)
            • release 20150624.01 (June 24th 2015): mention MigrateFromEBToHMNS module naming scheme in section on --module-only (see Generating additional module files)

            • release 20150610.01 (June 10th 2015): update Installing Lmod without root permissions for Lmod v6.0

            • release 20150518.01 (May 18th 2015):

              • update section on --search: better examples + highlight ability to search via regular expression (see Searching for easyconfigs)
              • update release notes for EasyBuild v2.1.1 (see EasyBuild v2.1.1 (May 18th 2015))
            • release 20150506.01 (May 6th 2015): updated documentation for EasyBuild v2.1.1

              • add note on $LMOD_CMD fallback to find full path to lmod binary (see Required modules tool)
            • release 20150430.01 (Apr 30th 2015): updated documentation for EasyBuild v2.1.0

              • also cover extensions in page on concepts and terminology (see Extensions)
              • add documentation on Partial installations, covering --stop, --skip and --module-only
              • add documentation on Manipulating dependencies, covering --filter-deps and --hide-deps
              • document -module-syntax configuration option (see Module files syntax (--module-syntax))
              • add note on detection of unknown $EASYBUILD-prefixed environment variables (see Environment variables)
              • mention support for prepending/appending to --robot-paths (see Prepending/appending to the default robot search path)
              • update release notes for EasyBuild v2.1.0 (see EasyBuild release notes)
            • release 20150425.01 (Apr 25th 2015):

              • add documentation on Using external modules
            • release 20150407.01 (Apr 7th 2015):

              • add link to Unit tests page in dedicated section at Installing EasyBuild page
              • clarify relation between --installpath, --prefix, -subdir-* and --installpath-* configuration options (see Software and modules install path)
              • mention --show-default-configfiles command line option in relevant section (see Default configuration files)
            • release 20150327.01 (Mar 27th 2015):

              • documented deprecated functionality w.r.t. error reporting (see error and exception log methods no longer raise an exception)
            • release 20150316.01 (Mar 16th 2015):

              • include list of EasyBuild repositories cloned by install-EasyBuild-develop.sh script (see Installation of latest development version using provided script)
            • release 20150312.01 (Mar 12th 2015):

              • enhance documentation w.r.t. template values in configuration files (see Templates and constants supported in configuration files)
              • improve documentation on --robot and --robot-paths (see Controlling the robot search path)
            • release 20150310.01 (Mar 10th 2015):

              • document peculiarities w.r.t. dependencies in combination with a dummy toolchain (see Dependencies)
              • document clean_gists.py script (see clean_gists.py)
              • mention taking into account of proxy settings for downloading sources (see Source files, patches and checksums)
            • release 20150306.03 (Mar 6th 2015): add release notes for EasyBuild v2.0.0 (see EasyBuild release notes)

            • release 20150306.02 (Mar 6th 2015):

              • add documentation on GitHub integration features (see Integration with GitHub), mainly --from-pr (see Using easyconfigs from pull requests)
              • document locations where (specified) easyconfig files are being searched for (see Specifying what to install)
            • release 20150306.01 (Mar 6th 2015):

              • add documentation on removed functionality (see Removed functionality)
              • clean up documentation on deprecated functionality (see Deprecated functionality)
              • add documentation on provided scripts, in particular fix-broken-easyconfigs.py (see Useful scripts)
            • release 20150302.01 (Mar 2nd 2015): update/cleanup documentation on Alternative installation methods

            • release 20150227.02 (Feb 27th 2015): add documentation on the EasyBuild unit test suites, see Unit tests

            • release 20150227.01 (Feb 27th 2015): enhance documentation w.r.t. to (optional dependencies), see Installing EasyBuild

            • release 20150220.01 (Feb 20th 2015):

              • document new advanced bootstrapping options: skipping stage 0 and providing source tarballs (see Installing EasyBuild)
            • release 20150219.01 (Feb 19th 2015): first updates for EasyBuild v2.0.0

              • extend section on (default) EasyBuild configuration files to also cover $XDG_CONFIG_DIRS (see Configuration file(s))
            • release 20150205.01 (Feb 5th 2015): include information on deprecated functionality in (generic) easyblocks (see Deprecated functionality)

            • release 20150126.01 (Jan 26th 2015):

              • fix pip installation prefix option (Alternative installation methods)
              • clarify need to have modules tool binary available in $PATH (Installing EasyBuild)
            • release 20150112.01 (Jan 12th 2015): mention need to escape % when setting log file format via config file (see Logfile format (--logfile-format))

            • release 20150107.01 (Jan 7th 2015): document behaviour of dummy toolchain (dummy toolchain (DEPRECATED))

            • release 20141219.01 (Dec 19th 2014): add release notes for EasyBuild v1.16.1 (see EasyBuild release notes)

            • release 20141218.01 (Dec 18th 2014): add release notes for EasyBuild v1.16.0 (see EasyBuild release notes)

            • release 20141217.01 (Dec 17th 2014): document deprecated functionality in EasyBuild v1.x (Deprecated functionality)

            • release 20141204.02 (Dec 4th 2014): add EasyBuild release notes (see EasyBuild release notes)

            • release 20141204.01 (Dec 4th 2014): updates for EasyBuild v1.16.0

              • document details w.r.t. (controlling of) robot search path, incl. --robot-paths (Using the EasyBuild command line)
              • document use of templates and constants in EasyBuild configuration files (Configuring EasyBuild)
              • bump EasyBuild version to 1.16.0
              • changed release number scheme for documentation (based on datestamp)
            • release 1.0.3 (Dec 3rd 2014): add page on Code style

            • release 1.0.2 (Nov 6th 2014): typo and grammar fixes, update Lmod installation instructions for Lmod v5.8

            • release 1.0.1 (Nov 4th 2014): fix issues with Changelog

            • release 1.0.0 `(Nov 4th 2014)`: initial release of revamped EasyBuild documentation @ http://easybuild.readthedocs.org, covering basic topics:

              • introductory topics:
                • What is EasyBuild?
                • Concepts and terminology
                • Typical workflow example: building and installing WRF
              • getting started:
                • Installing EasyBuild
                • Configuring EasyBuild
              • basic usage topics:
                • Using the EasyBuild command line
                • Writing easyconfig files: the basics
                • Understanding EasyBuild logs
            ","boost":0.5},{"location":"code-style/","title":"Code style","text":"

            The code style we follow in the EasyBuild code repository is mainly dictated by the Python standard PEP8.

            Highlighted PEP8 code style rules:

            • use 4 spaces for indentation, do not use tabs
              • for example, use :set tabstop 4 and :set expandtab in Vim
            • indent items in a list at an extra 4 spaces
              • nested lists can be indented at the same indentation as the first item in the list if it is on the first line, closing brackets must match visual indentation
            • use optional underscores, not camelCase, for variable, function and method names (i.e. poll.get_unique_voters(), not poll.getUniqueVoters)
            • use InitialCaps for class names
            • in docstrings, don't use \"action words\"

            The only (major) exception to PEP8 is our preference for longer line lengths: line lengths must be limited to 120 characters, and should by preference be shorter than 100 characters (as opposed to the 80-character limit in PEP8).

            "},{"location":"code-style/#notes","title":"Notes","text":"

            Code style in easyconfig files can be automatically checked using --check-contrib, for example: eb --check-contrib sympy-1.3-intel-2018a-Python-2.7.14.eb (see Code style review for more details).

            Style guides that go a step beyond PEP8:

            • https://www.gramps-project.org/wiki/index.php?title=Programming_guidelines
            • https://code.google.com/p/volatility/wiki/StyleGuide

            Automatic rewriting of Python code: PythonTidy

            pep8 might be a useful tool to check PEP8 compliance.

            "},{"location":"common-toolchains/","title":"Common toolchains","text":"

            This page documents the concept of common toolchains in the EasyBuild community; for a more general definition of what (compiler) toolchains are, see Toolchains.

            "},{"location":"common-toolchains/#common_toolchains_what","title":"Definition and motivation","text":"

            Picking a compiler toolchain to use is one of the first things you (need to) do when starting to use EasyBuild. This can be a daunting task, since a whole bunch of toolchains and different toolchain versions are readily available in EasyBuild. It may be difficult to determine which toolchain would be most rewarding to use, in terms of stability, performance of the resulting binaries and readily available easyconfig files.

            In an attempt to focus the effort of the EasyBuild community, the concept of so-called common toolchains was introduced.

            The idea is to compose and maintain a limited set of specific compiler toolchains, and try and convince many HPC sites to employ these toolchains. This helps in assuring stability of these toolchains w.r.t. which software can be built (correctly) with them, since they get significantly more testing. In addition, the expectation/hope is that more easyconfigs are contributed back to the central easyconfigs repository (https://github.com/easybuilders/easybuild-easyconfigs), resulting in a wide range of readily available easyconfig files using the common toolchains.

            The intention is to revise/update the definitions of the common toolchains regularly (see Update cycle for common toolchains), which again can be a joint effort that benefits many HPC sites.

            Currently, two different families of common toolchains are being maintained: foss and intel; see below for more details, and also Overview of common toolchains.

            "},{"location":"common-toolchains/#toolchains_diagram","title":"Toolchain diagram","text":"

            To be more helpful in understanding the differences between these families, here is a diagram that explains what is added in each additional layer.

            Note: because there have been a few changes in toolchains, there are notes below the diagram that explain the differences between the generations going back to the 2020b version of the foss and intel toolchains.

            "},{"location":"common-toolchains/#newest-generations-2022b-and-later","title":"Newest generations (2022b and later):","text":"
            graph LR\n  A[GCCCore] --> |binutils| B[GCC];\n  A --> |binutils| C[intel-compilers];\n  B --> |OpenMPI| E[gompi];\n  C --> |impi| F[iimpi];\n  B --> |FlexiBLAS + FFTW + ScaLAPACK| D[gfbf];\n  D --> |OpenMPI| G[foss];\n  E --> |FlexiBLAS + FFTW + ScaLAPACK| G[foss];\n  F --> |imkl| Z[intel];\n  C --> |imkl| H[iimkl];\n  H --> |impi| Z[intel];

            Note: following notes apply for the generations listed and those older than it:

            • 2022a - iimkl not present yet
            • 2021b - gfbf not present yet
            • 2020b - foss uses OpenBLAS instead of FlexiBLAS, iccifort is used instead of intel-compilers

            Keep in mind that when creating an Easyconfig, you need to look at what toolchain \"level\" (e.g. foss vs GCC) your dependencies are using and choose the highest of them (or higher if needed) for your easyconfig. For example, if one of your dependencies is using the foss toolchain, you need to use the foss toolchain, and not the GCC toolchain.

            "},{"location":"common-toolchains/#common_toolchains_foss","title":"foss toolchain","text":"

            The foss common compiler toolchain consists entirely of open source software (hence the name, derived from the common term 'FOSS', which is short for \"Free and Open Source Software\").

            This toolchain consists of:

            • binutils (https://www.gnu.org/software/binutils/)
            • the GNU Compiler Collection (GCC, https://gcc.gnu.org/), i.e. gcc (C), g++ (C++) and gfortran (Fortran)
            • the Open MPI library (https://www.open-mpi.org/)
            • the OpenBLAS (http://www.openblas.net/) + LAPACK (http://netlib.org/lapack) libraries (for foss \\< 2021a)
            • the FlexiBLAS library (https://www.mpi-magdeburg.mpg.de/projects/flexiblas), with OpenBLAS + LAPACK as backend (for foss >= 2021a)
            • the ScaLAPACK (http://netlib.org/scalapack) library is also included
            • the FFTW library (http://fftw.org/)

            Note

            The toolchain name was deliberately chosen to be generic, to allow for swapping any of the toolchain components with a better (open source) alternative in the future, should the need or opportunity arise.

            "},{"location":"common-toolchains/#common_toolchains_intel","title":"intel toolchain","text":"

            The intel common compiler toolchain consists of the Intel compilers and libraries, i.e.:

            • the Intel C/C++/Fortran compilers (https://software.intel.com/en-us/intel-compilers), i.e. icc, icpc and ifort,
            • binutils and GCC, which serve as a base for the Intel compilers, are also included
            • the Intel MPI library (https://software.intel.com/en-us/intel-mpi-library)
            • the Intel Math Kernel Library (MKL, https://software.intel.com/en-us/intel-mkl) for BLAS/LAPACK/FFT functionality

            Note

            This compiler toolchain includes licensed software; valid licenses must be available to install and use it.

            "},{"location":"common-toolchains/#common_toolchains_versioning_scheme","title":"Versioning scheme for common toolchains","text":"

            The common toolchains follow a specific versioning scheme, which takes the 6-month update cycle into account.

            Each revision of the common toolchains is versioned as the year in which it was defined, plus an additional 'a' or 'b' to indicate whether the toolchain was defined at the start of the year ('a') or halfway through the year ('b'); in short, the common toolchains are versioned as <year>{a,b}.

            For example, foss/2021b is a revision of the foss that was composed mid-2021.

            A full historic overview of the foss and intel common toolchains is available in Overview of common toolchains.

            Note

            Next to the versions that follow the <year>{a,b} versioning scheme, additional versions of the foss and intel versions are available as well.

            These versions are not considered to be part of the series of common toolchains (even though they consists of the same toolchain components). These versions may be site-specific, or compositions that were put in place to evaluate a potential future common toolchain.

            Typically, they are versioned as <year>.<month>, indicating when the most recent component included was released, or when that particular toolchain composition was defined.

            "},{"location":"common-toolchains/#common_toolchains_update_cycle","title":"Update cycle for common toolchains","text":"

            The intention is to revise and update the common toolchains every 6 months: once in late December/early January (version <year>a), and once in late June/early July (version <year>b).

            This is meant be to be a community effort, in the sense that a proposal for an updated composition is shared and discussed before it is set in stone.

            Recent versions of each of the toolchain components are considered, taking into account stability, performance improvements, added features, known bugs/issues and experiences with those versions.

            Moreover, the proposed toolchain compositions are tested extensively, typically by rebuilding all available easyconfigs that are using the most recent revision of the common toolchains at that time.

            "},{"location":"common-toolchains/#common_toolchains_overview","title":"Overview of common toolchains","text":""},{"location":"common-toolchains/#common_toolchains_overview_foss","title":"Component versions in foss toolchain","text":"foss date binutils GCC Open MPI FlexiBLAS OpenBLAS LAPACK ScaLAPACK FFTW 2019a Jan '19 2.31.1 8.2.0 3.1.3 (none) 0.3.5 (incl. with OpenBLAS) 2.0.2 3.3.8 2019b Sept '19 2.32 8.3.0 3.1.4 (none) 0.3.7 (incl. with OpenBLAS) 2.0.2 3.3.8 2020a May '20 2.34 9.3.0 4.0.3 (none) 0.3.9 (incl. with OpenBLAS) 2.1.0 3.3.8 2020b Nov '20 2.35 10.2.0 4.0.5 (none) 0.3.12 (incl. with OpenBLAS) 2.1.0 3.3.8 2021a May '21 2.36.1 10.3.0 4.1.1 3.0.4 0.3.15 (incl. with OpenBLAS) 2.1.0 3.3.9 2021b Oct '21 2.37 11.2.0 4.1.1 3.0.4 0.3.18 (incl. with OpenBLAS) 2.1.0 3.3.10 2022a Jun '22 2.38 11.3.0 4.1.4 3.2.0 0.3.20 (incl. with OpenBLAS) 2.2.0 3.3.10 2022b Dec '22 2.39 12.2.0 4.1.4 3.2.1 0.3.21 (incl. with OpenBLAS) 2.2.0 3.3.10 2023a Jun '23 2.40 12.3.0 4.1.5 3.3.1 0.3.23 (incl. with OpenBLAS) 2.2.0 3.3.10

            (components marked with * were patched)

            "},{"location":"common-toolchains/#common_toolchains_overview_intel","title":"Component versions in intel toolchain","text":"intel date binutils GCC Intel compilers Intel MPI Intel MKL 2019a Jan '19 2.31.1 8.2.0 2019.1.144 2018.4.274 2019.1.144 2019b Sept '19 2.32 8.3.0 2019.5.281 2018.5.288 2019.5.281 2020a May '20 2.34 9.3.0 2020.1.217 2019.7.217 2020.1.217 2020b Nov '20 2.35 10.2.0 2020.4.304 2019.9.304 2020.4.304 2021a May '21 2.36.1 10.3.0 2021.2.0 2021.2.0 2021.2.0 2021b Oct '21 2.37 11.2.0 2021.4.0 2021.4.0 2021.4.0 2022a Jun '22 2.38 11.3.0 2022.1.0 2021.6.0 2022.1.0 2022b Dec '22 2.39 12.2.0 2022.2.1 2021.7.1 2022.2.1 2023a Jun '23 2.40 12.3.0 2023.1.0 2021.9.1 2023.1.0"},{"location":"common-toolchains/#common_toolchains_overview_deprecated","title":"Overview of common toolchains (deprecated versions)","text":""},{"location":"common-toolchains/#common_toolchains_overview_foss_deprecated","title":"Component versions in foss toolchain (deprecated versions)","text":"foss date binutils GCC Open MPI FlexiBLAS OpenBLAS LAPACK ScaLAPACK FFTW 2014b Jul '14 '(none) 4.8.3 1.8.1 (none) 0.2.9 3.5.0 2.0.2 3.3.4 2015a Jan '15 '(none) 4.9.2 1.8.4 (none) 0.2.13 3.5.0 2.0.2 3.3.4 2015b Jul '15 2.25 4.9.3 1.8.8 (none) 0.2.14 3.5.0 2.0.2 3.3.4 2016a Jan '16 2.25 4.9.3 1.10.2 (none) 0.2.15 3.6.0 2.0.2 3.3.4 2016b Jul '16 2.26 5.4.0 1.10.3 (none) 0.2.18 3.6.1 2.0.2 3.3.4 2017a Jan '17 2.27 6.3.0 2.0.2 (none) 0.2.19 3.7.0 2.0.2 3.3.6(-pl2) 2017b Jul '17 2.28 6.4.0 2.1.1 (none) 0.2.20* (incl. with OpenBLAS) 2.0.2 3.3.6(-pl2) 2018a Jan '18 2.28 6.4.0 2.1.2 (none) 0.2.20* (incl. with OpenBLAS) 2.0.2 3.3.7 2018b Jul '18 2.30 7.3.0 3.1.1 (none) 0.3.1 (incl. with OpenBLAS) 2.0.2 3.3.8"},{"location":"common-toolchains/#common_toolchains_overview_intel_deprecated","title":"Component versions in intel toolchain (deprecated versions)","text":"intel date binutils GCC Intel compilers Intel MPI Intel MKL 2014b Jul '14 '(none) 4.8.3 2013.5.192 4.1.3.049 11.1.2.144 2015a Jan '15 '(none) 4.9.2 2015.1.133 5.0.2.044 11.2.1.133 2015b Jul '15 2.25 4.9.3 2015.3.187 5.0.3.048 11.2.3.187 2016a Jan '16 2.26 4.9.3 2016.1.150 5.1.2.150 11.3.1.150 2016b Jul '16 2.26 5.4.0 2016.3.210 5.1.3.181 11.3.3.210 2017a Jan '17 2.27 6.3.0 2017.1.132 2017.1.132 2017.1.132 2017b Jul '17 2.28 6.4.0 2017.4.196 2017.3.196 2017.3.196 2018a Jan '18 2.28 6.4.0 2018.1.163 2018.1.163 2018.1.163 2018b Jul '18 2.30 7.3.0 2018.3.222 2018.3.222 2018.3.222"},{"location":"common-toolchains/#common_toolchains_customizing","title":"Customizing common toolchains","text":"

            Sometimes the need arises to customize one or more components of a common toolchain w.r.t. site-specific aspects. One common example is using additional configuration options for Open MPI.

            To customize a toolchain component, you should copy the corresponding easyconfig file, modify according to your needs, and make sure it is included in a location in the robot search path that precedes the location of the easyconfig files that are included with EasyBuild (see also Searching for easyconfigs: the robot search path), before building and installation the toolchain.

            "},{"location":"common-toolchains/#more-information-about-toolchains","title":"More information about toolchains","text":"

            Please see the List of known toolchains for how to obtain a listing of the currently known toolchains.

            For a detailed listing of the compiler options available with each toolchain, please see Available toolchain options (by toolchain).

            "},{"location":"configuration/","title":"Configuring EasyBuild","text":"

            This page discusses the recommended style of configuring EasyBuild, which is supported since EasyBuild v1.3.0.

            See a demo on configuring EasyBuild.

            "},{"location":"configuration/#configuration_types","title":"Supported configuration types","text":"

            Configuring EasyBuild can be done by:

            • using eb with command line arguments
            • setting environment variables ($EASYBUILD_...)
            • providing one or more configuration files

            Of course, combining any of these types of configuration works too (and is even fairly common).

            The order of preference for the different configuration types is as listed above, that is:

            • environment variables override the corresponding entries in the configuration file
            • command line arguments in turn override the corresponding environment variables and matching entries in the configuration file
            "},{"location":"configuration/#configuration_consistency","title":"Consistency across supported configuration types","text":"

            Note that the various available configuration options are handled consistently across the supported configuration types.

            For example: to configure EasyBuild to use Lmod as modules tool, the following alternatives are available:

            • configuration file entry (key-value assignment):
            [config]\nmodules-tool = Lmod\n
            • environment variable (upper case, EASYBUILD_ prefix, -'s becomes _'s):
            export EASYBUILD_MODULES_TOOL=Lmod\n
            • command line argument (long options preceded by -- and (optionally) using =):
            eb --modules-tool=Lmod\n

            or

            eb --modules-tool Lmod\n

            For more details w.r.t. each of the supported configuration types, see below.

            "},{"location":"configuration/#configuration_file","title":"Configuration file(s)","text":""},{"location":"configuration/#list_of_configuration_files","title":"List of used configuration files","text":"

            The list of configuration files that will be used by EasyBuild is determined in the following order of preference:

            • the path(s) specified via the command line argument --configfiles
            • the path(s) specified via the $EASYBUILD_CONFIGFILES environment variable
            • the default paths for EasyBuild configuration files
            "},{"location":"configuration/#default_configuration_files","title":"Default configuration files","text":"

            By default, EasyBuild will use existing configuration files at the following paths:

            • $dir/easybuild.d/*.cfg, for each directory $dir listed in $XDG_CONFIG_DIRS (where $XDG_CONFIG_DIRS defaults to /etc)
            • $XDG_CONFIG_HOME/easybuild/config.cfg (where $XDG_CONFIG_HOME defaults to $HOME/.config)

            Hence, if $XDG_CONFIG_HOME and $XDG_CONFIG_DIRS are not defined, EasyBuild will only consider default configuration files at /etc/easybuild.d/*.cfg and $HOME/.config/easybuild/config.cfg.

            The configuration file located in $XDG_CONFIG_HOME will be listed after the ones obtained via $XDG_CONFIG_DIRS, such that user-defined configuration settings have preference over system defaults.

            A detailed overview of the list of default configuration files is available via eb --show-default-configfiles (available since EasyBuild v2.1.0). For example::

            $ XDG_CONFIG_DIRS=/tmp/etc:/tmp/moreetc eb --show-default-configfiles\nefault list of configuration files:\n\n[with $XDG_CONFIG_HOME: (not set), $XDG_CONFIG_DIRS: /tmp/etc:/tmp/moreetc]\n\n* user-level: ${XDG_CONFIG_HOME:-$HOME/.config}/easybuild/config.cfg\n  -> /home/example/.config/easybuild/config.cfg => found\n* system-level: ${XDG_CONFIG_DIRS:-/etc}/easybuild.d/*.cfg\n  -> {/tmp/etc, /tmp/moreetc}/easybuild.d/*.cfg => /tmp/etc/easybuild.d/config.cfg, /tmp/moreetc/easybuild.d/bar.cfg, /tmp/moreetc/easybuild.d/foo.cfg\n\nDefault list of existing configuration files (4): /tmp/etc/easybuild.d/config.cfg, /tmp/moreetc/easybuild.d/bar.cfg, /tmp/moreetc/easybuild.d/foo.cfg, /home/example/.config/easybuild/config.cfg\n
            "},{"location":"configuration/#multiple-configuration-files","title":"Multiple configuration files","text":"

            If multiple configuration files are listed via a mechanism listed above, the settings in the last configuration file have preference over the others.

            Each available configuration file will be used, and the configuration settings specified in these files will be retained according to the order of preference as indicated above: settings in configuration files specified via --configfiles override those in configuration files specified via $EASYBUILD_CONFIGFILES, which in turns override settings in default configuration files.

            "},{"location":"configuration/#ignored-configuration-files","title":"Ignored configuration files","text":"

            On top of this, the --ignoreconfigfiles configuration option allows to specify configuration files that should be ignored by EasyBuild (regardless of whether they are specified via any of the options above).

            "},{"location":"configuration/#configuration-file-format","title":"Configuration file format","text":"

            The EasyBuild configuration file follows the default Python configuration format as parsed by the configparser module (see https://docs.python.org/3/library/configparser.html).

            Configuration files are organized in sections, the section name for a particular configuration setting is indicated in the output of eb --help. Some examples sections are: MAIN, basic, config, informative, override, regtest, software, unittest, etc.

            Sections are indicated by specifying the section name in square brackets on a dedicated line, e.g., [basic].

            Configuration settings are specified in a key = value or key: value format, without using quotes for string-like values. For boolean configuration settings, values that evaluated to True (e.g., true, 1, \u2026) are all equivalent to enabling the setting.

            Comment lines start with a hash character # (just like in Python code).

            An example configuration file that should make everything clear is shown below.

            [basic]\n# always enable logging to stdout\nlogtostdout = true\n[config]\n# use Lmod as modules tool\nmodules-tool: Lmod\n# use different default installation path\nprefix=/home/you/work/easybuild/\n
            "},{"location":"configuration/#configuration_file_templates_constants","title":"Templates and constants supported in configuration files","text":"

            Two types of template values %(...)s are supported in configuration files:

            • for configuration options defined in the configuration file (and only those)
              • syntax: %(opt)s, i.e., using the (lowercase) name of the configuration option
            • for the default value of selected configuration options (see eb --avail-cfgfile-constants)
              • syntax: %(DEFAULT_OPT)s, i.e., using the uppercase name of the configuration option and prefixed with DEFAULT_

            Note

            These template values are only supported in configuration files, not in environment variable values or command line option values.

            Note

            Using an unknown template value, i.e. either one for a configuration option that was not defined in the configuration file, or a non-existing one for a particular default value, will result in an error like: ConfigParser.InterpolationMissingOptionError: Bad value substitution.

            "},{"location":"configuration/#example","title":"Example","text":"

            To include both the (custom) location for the easyconfigs archive repository and the default list of robot search paths in the active robot search path, the following configuration file entry can be used, featuring the template for the repositorypath configuration option and the provided DEFAULT_ROBOT_PATHS constant::

            [basic]\nrepositorypath = /home/example/easybuild/easyconfigs_archive\nrobot-paths = %(repositorypath)s:%(DEFAULT_ROBOT_PATHS)s\n

            See also Controlling the robot search path.

            "},{"location":"configuration/#generating-a-template-configuration-file","title":"Generating a template configuration file","text":"

            Since EasyBuild v1.10, a command line option --confighelp is available that prints out the help text as an annotated configuration file. This can be used as an empty template configuration file:

            mkdir -p $HOME/.config/easybuild\neb --confighelp > $HOME/.config/easybuild/config.cfg\n
            $ head $HOME/.easybuild/config.cfg\n[MAIN]\n# Enable debug log mode (def False)\n#debug=\n# Enable info log mode (def False)\n#info=\n# Enable info quiet/warning mode (def False)\n#quiet=\n\n[basic]\n# Print build overview incl. dependencies (full paths) (def False)\n
            "},{"location":"configuration/#configuration_env_vars","title":"Environment variables","text":"

            All configuration settings listed as long options in eb --help can also be specified via EASYBUILD_-prefixed environment variables.

            Configuration settings specified this way always override the corresponding setting specified in a configuration file.

            For example, to enable debug logging using an environment variable:

            export EASYBUILD_DEBUG=1\n

            More examples of using environment variables to configure EasyBuild are shown in the sections below.

            Tip

            Any configuration option of EasyBuild which can be tuned by command line or via the configuration file, can also be tuned via a corresponding environment variable.

            Note

            If any $EASYBUILD-prefixed environment variables are defined that do not correspond to a known configuration option, EasyBuild will report an error message and exit.

            "},{"location":"configuration/#configuration_cmdline","title":"Command line arguments","text":"

            The configuration type with the highest precedence are the eb command line arguments, which override settings specified through environment variables or in configuration files.

            For some configuration options, both short and long command line arguments are available (see eb --help); the long options indicate how the configuration setting should be specified in a configuration file or via an environment variable ($EASYBUILD_<LONGOPTION>).

            For boolean configuration settings, both the --<option> and --disable-<option> variants are always available.

            Examples (more below):

            • enable debug logging (long option) and logging to stdout (short option)
            eb --debug -l ...\n
            • use /dev/shm as build path, install to temporary install path, disable debug logging
            eb --buildpath=/dev/shm --installpath=/tmp/$USER --disable-debug ...\n
            "},{"location":"configuration/#configuration_show_config","title":"Overview of current configuration","text":"

            (--show-config, --show-full-config)

            To get an overview of the current EasyBuild configuration across all configuration types, you can use eb --show-config.

            The output will specify:

            • any configuration setting for which the current value is different from the default value
            • a couple of selected important configuration settings (even if they are still set to the default value), i.e.:
              • build path
              • install path
              • path to easyconfigs repository
              • the robot search path
              • source path
            • through which configuration type each setting was defined
              • i.e., default value, configuration file, environment variable or command line argument

            Example output

            $ cat $HOME/.config/easybuild/config.cfg\n[config]\nbuildpath = /tmp/eb-build\n\n$ export EASYBUILD_MODULES_TOOL=Lmod\n$ export EASYBUILD_OPTARCH=''\n\n$ eb --show-config --installpath=$HOME/apps --job-cores=4\n#\n# Current EasyBuild configuration\n# (C: command line argument, D: default value, E: environment variable, F: configuration file)\n#\nbuildpath      (F) = /tmp/eb-build\ninstallpath    (C) = /Users/example/apps\njob-cores      (C) = 4\nmodules-tool   (E) = Lmod\noptarch        (E) = ''\nrepositorypath (D) = /Users/example/.local/easybuild/ebfiles_repo\nrobot-paths    (D) = /Users/example/easybuild-easyconfigs/easybuild/easyconfigs\nsourcepath     (D) = /Users/example/.local/easybuild/sources\n

            For a full overview of the current configuration, including all configuration settings, see eb --show-full-config.

            "},{"location":"configuration/#configuration_available_settings","title":"Available configuration settings","text":"

            To obtain a full and up-to-date list of available configuration settings, see eb --help. We refrain from listing all available configuration settings here, to avoid outdated documentation.

            A couple of selected configuration settings are discussed below, in particular the mandatory settings.

            "},{"location":"configuration/#configuration_mandatory_settings","title":"Mandatory configuration settings","text":"

            A handful of configuration settings are mandatory, and should be provided using one of the supported configuration types.

            The following configuration settings are currently mandatory (more details in the sections below):

            • Source path (--sourcepath)
            • Build path (--buildpath)
            • Software and modules install path (--installpath, --installpath-software, --installpath-modules)
            • Easyconfigs repository (--repository, --repositorypath)
            • Logfile format (--logfile-format)

            If any of these configuration settings is not provided in one way or another, EasyBuild will complain and exit.

            In practice, all of these have reasonable defaults (see eb --help for the default settings).

            Note

            The mandatory path-related options can be tweaked collectively via --prefix, see Overall prefix path (--prefix) for more information.

            "},{"location":"configuration/#sourcepath","title":"Source path (--sourcepath)","text":"

            default: $HOME/.local/easybuild/sources/ (determined via Overall prefix path (--prefix))

            The sourcepath configuration setting specifies the parent path of the directory in which EasyBuild looks for software source and install files.

            Looking for the files specified via the sources parameter in the .eb easyconfig file is done in the following order of preference:

            • <sourcepath>/<name>: a subdirectory determined by the name of the software package
            • <sourcepath>/<letter>/<name>: in the style of the easyblocks/easyconfigs directories: in a subdirectory determined by the first letter (in lower case) of the software package and by its full name
            • <sourcepath>: directly in the source path

            Note that these locations are also used when EasyBuild looks for patch files in addition to the various easybuild/easyconfigs directories that are listed in the $PYTHONPATH.

            You can specify multiple paths, separated with :, in which EasyBuild will look for sources, but only the first one will be used for downloading, so one needs to make sure at least the first path is writable by the user invoking eb.

            "},{"location":"configuration/#buildpath","title":"Build path (--buildpath)","text":"

            default: $HOME/.local/easybuild/build/ (determined via Overall prefix path (--prefix))

            The buildpath configuration setting specifies the parent path of the (temporary) directories in which EasyBuild builds its software packages.

            Each software package is (by default) built in a subdirectory of the specified buildpath under <name>/<version>/<toolchain><versionsuffix>.

            Note that the build directories are emptied and removed by EasyBuild when the installation is completed (by default).

            Tip

            Using /dev/shm as build path can significantly speed up builds, if it is available and provides a sufficient amount of space. Setting up the variable EASYBUILD_BUILDPATH in your shell startup files makes this default. However be aware that, fi., two parallel GCC builds may fill up /dev/shm !

            "},{"location":"configuration/#installpath","title":"Software and modules install path","text":"

            (--installpath, --installpath-software, --installpath-modules)

            defaults:

            • software install path: $HOME/.local/easybuild/software (determined via Overall prefix path (--prefix) and --subdir-software)
            • modules install path: $HOME/.local/easybuild/modules/all (determined via Overall prefix path (--prefix), --subdir-modules and --suffix-modules-path)

            There are several ways in which the software and modules install path used by EasyBuild can be configured:

            • using the direct configuration options --installpath-software and --installpath-modules (see below)
            • via the parent install path configuration option --installpath (see below)
            • via the overall prefix path configuration option --prefix (see Overall prefix path (--prefix))
            "},{"location":"configuration/#installpath_direct_options","title":"Direct options","text":"

            (--installpath-software and --installpath-modules)

            default: (no default specified)

            The --installpath-software and --installpath-modules configuration options (available since EasyBuild v2.1.0) allow to directly specify the software and modules install paths, respectively.

            These configuration options have precedence over all of the other configuration options that relate to specifying the install path for software and/or modules (see below).

            "},{"location":"configuration/#parent_installpath","title":"Parent install path: --installpath","text":"

            default: (no default specified)

            The --installpath configuration option specifies the parent path of the directories in which EasyBuild should install software packages and the corresponding module files.

            The install path for software and modules specifically is determined by combining --installpath with --subdir-software, and combining --installpath with --subdir-modules and --suffix-modules-path, respectively.

            For more information on these companion configuration options, see Software and modules install path subdirectories (--subdir-software, --subdir-modules, --suffix-modules-path).

            "},{"location":"configuration/#full-install-path-for-software-and-module-file","title":"Full install path for software and module file","text":"

            The full software and module install paths for a particular software package are determined by the active module naming scheme along with the general software and modules install paths specified by the EasyBuild configuration.

            Both the software itself and the corresponding module file will be installed in a subdirectory of the corresponding install path named according to the active module naming scheme (default format: <name>/<version>-<toolchain><versionsuffix>). Additionally, symlinks to the actual module file are installed in a subdirectory of the modules install path named according to the value of the moduleclass easyconfig parameter.

            For more information on the module naming scheme used by EasyBuild, see Active module naming scheme (--module-naming-scheme).

            "},{"location":"configuration/#updating-modulepath","title":"Updating $MODULEPATH","text":"

            To make the modules generated by EasyBuild available, the $MODULEPATH environment variable must be updated to include the modules install path.

            The recommended way to do this is to use the module use command. For example:

            eb --installpath=$HOME/easybuild\nmodule use $HOME/easybuild/modules/all\n

            It is probably a good idea to add this to your (favourite) shell .rc file, e.g., ~/.bashrc, and/or the ~/.profile login scripts, so you do not need to adjust $MODULEPATH every time you start a new session.

            Note

            Updating $MODULEPATH is not required for EasyBuild itself, since eb updates $MODULEPATH itself at runtime according to the modules install path it is configured with.

            "},{"location":"configuration/#easyconfigs_repo","title":"Easyconfigs repository (--repository, --repositorypath)","text":"

            default: FileRepository at $HOME/.local/easybuild/ebfiles_repo (determined via Overall prefix path (--prefix))

            EasyBuild has support for archiving (tested) .eb easyconfig files. After successfully installing a software package using EasyBuild, the corresponding .eb file is uploaded to a repository defined by the repository and repositorypath configuration settings.

            Currently, EasyBuild supports the following repository types (see also eb --avail-repositories):

            • FileRepository('path', 'subdir'): a plain flat file repository; path is the path where files will be stored, subdir is an optional subdirectory of that path where the files should be stored
            • GitRepository('path', 'subdir/in/repo': a non-empty bare git repository (created with git init --bare or git clone --bare); path is the path to the git repository (can also be a URL); subdir/in/repo is optional, and specifies a subdirectory of the repository where files should be stored in
            • SvnRepository('path', 'subdir/in/repo'): an SVN repository; path contains the subversion repository location (directory or URL), the optional second value specifies a subdirectory in the repository

            You need to set the repository setting inside a configuration file like this:

            [config]\nrepository = FileRepository\nrepositorypath = <path>\n

            Or, optionally an extra argument representing a subdirectory can be specified, e.g.:

            export EASYBUILD_REPOSITORY=GitRepository\nexport EASYBUILD_REPOSITORYPATH=<path>,<subdir>\n

            You do not have to worry about importing these classes, EasyBuild will make them available to the configuration file.

            Using git requires the GitPython Python modules, using svn requires the pysvn Python module (see Dependencies).

            If access to the easyconfigs repository fails for some reason (e.g., no network or a missing required Python module), EasyBuild will issue a warning. The software package will still be installed, but the (successful) easyconfig will not be automatically added to the archive (i.e., it is not considered a fatal error).

            "},{"location":"configuration/#logfile_format","title":"Logfile format (--logfile-format)","text":"

            default: easybuild, easybuild-%(name)s-%(version)s-%(date)s.%(time)s.log

            The logfile format configuration setting contains a tuple specifying a log directory name and a template log file name. In both of these values, using the following string templates is supported:

            • %(name)s: the name of the software package to install
            • %(version)s: the version of the software package to install
            • %(date)s: the date on which the installation was performed (in YYYYMMDD format, e.g. 20120324)
            • %(time)s: the time at which the installation was started (in HHMMSS format, e.g. 214359)

            Note

            Because templating is supported in configuration files themselves (see Templates and constants supported in configuration files), the '%' character in these template values must be escaped when used in a configuration file (and only then), e.g., '%%(name)s'. Without escaping, an error like InterpolationMissingOptionError: Bad value substitution will be thrown by ConfigParser.

            For example, configuring EasyBuild to generate a log file mentioning only the software name in a directory named easybuild can be done via the --logfile-format command line option:

            eb --logfile-format=\"easybuild,easybuild-%(name)s.log\" ...\n

            or the $EASYBUILD_LOGFILE_FORMAT environment variable:

            export EASYBUILD_LOGFILE_FORMAT=\"easybuild,easybuild-%(name)s.log\"\n

            or by including the following in an EasyBuild configuration file (note the use of '%%' to escape the name template value here):

            logfile-format = easybuild,easybuild-%%(name)s.log\n
            "},{"location":"configuration/#configuration_optional_settings","title":"Optional configuration settings","text":"

            The subsections below discuss a couple of commonly used optional configuration settings.

            "},{"location":"configuration/#prefix","title":"Overall prefix path (--prefix)","text":"

            default: $HOME/.local/easybuild

            The overall prefix path used by EasyBuild can be specified using the --prefix configuration option.

            This affects the default value of several configuration options:

            • source path
            • build path
            • software and modules install path
            • easyconfigs repository path
            • package path
            • container path
            "},{"location":"configuration/#installpath_subdirs","title":"Software and modules install path subdirectories","text":"

            (--subdir-software, --subdir-modules, --suffix-modules-path)

            defaults:

            • software install path subdirectory (--subdir-software): software
            • modules install path subdirectory (--subdir-modules): modules
            • modules install path suffix (--suffix-modules-path): all

            The subdirectories for the software and modules install paths (relative to --installpath, see install path) can be specified using the corresponding dedicated configuration options (available since EasyBuild v1.14.0).

            For example:

            export EASYBUILD_SUBDIR_SOFTWARE=installs\neb --installpath=$HOME/easybuild --subdir-modules=module_files ...\n
            "},{"location":"configuration/#modules_tool","title":"Modules tool (--modules-tool)","text":"

            default: Lmod

            Specifying the modules tool that should be used by EasyBuild can be done using the modules-tool configuration setting. A list of supported modules tools can be obtained using eb --avail-modules-tools.

            Currently, the following modules tools are supported:

            • Lmod (default): Lmod, an modern alternative to environment modules, written in Lua (lmod)
            • EnvironmentModules: modern Tcl-only version of environment modules (4.x) (modulecmd.tcl)
            • EnvironmentModulesC: Tcl/C version of environment modules, usually version 3.2.10 (modulecmd)
            • EnvironmentModulesTcl: (ancient) Tcl-only version of environment modules (modulecmd.tcl)

            You can determine which modules tool you are using by checking the output of type -f module (in a bash shell), or alias module (in a tcsh shell).

            The actual module command (i.e., modulecmd, modulecmd.tcl, lmod, ...) must be available via $PATH (which is not standard), except when using Lmod (in that case the lmod binary can also be located via $LMOD_CMD).

            For example, to indicate that EasyBuild should be using Lmod as modules tool:

            eb --modules-tool=Lmod ...\n
            "},{"location":"configuration/#module_naming_scheme","title":"Active module naming scheme (--module-naming-scheme)","text":"

            default: EasyBuildModuleNamingScheme

            The module naming scheme that should be used by EasyBuild can be specified using the module-naming-scheme configuration setting.

            eb --module-naming-scheme=HierarchicalMNS ...\n

            For more details, see the dedicated page on using a custom module naming scheme.

            "},{"location":"configuration/#module_syntax","title":"Module files syntax (--module-syntax)","text":"

            default: Lua

            supported since: EasyBuild v2.1

            The syntax to use for generated module files can be specified using the --module-syntax configuration setting.

            Possible values are:

            • Lua: generate module files in Lua syntax
              • this requires the use of Lmod as a modules tool to consume the module files (see modules tool)
              • module file names will have the .lua extension
            • Tcl: generate module files in Tcl syntax
              • Tcl module files can be consumed by all supported modules tools
              • module files will contain a header string #%Module indicating that they are composed in Tcl syntax

            Note

            Lmod is able to deal with having module files in place in both Tcl and Lua syntax. When a module file in Lua syntax (i.e., with a .lua file name extension) is available, a Tcl module file with the same name will be ignored. The Tcl-based environment modules tool will simply ignore module files in Lua syntax, since they do not contain the header string that is included in Tcl module files.

            Note

            Using module files in Lua syntax has the advantage that Lmod does not need to translate from Lua to Tcl internally when processing the module files, which benefits responsiveness of Lmod when used interactively by users. In terms of Lmod-specific aspects of module files, the syntax of the module file does not matter; Lmod-specific statements supported by EasyBuild can be included in Tcl module files as well, by guarding them by a condition that only evaluates positively when Lmod is consuming the module file, i.e. 'if { [ string match \"*tcl2lua.tcl\" $env(_) ] } { ... }'. Only conditional load statements like 'load(atleast(\"gcc\",\"4.8\"))' can only be used in Lua module files.

            "},{"location":"containers/","title":"Generating container recipes & images","text":"

            EasyBuild has support for generating Singularity and Docker container recipes which will use EasyBuild to build and install a specified software stack. In addition, EasyBuild can (optionally) leverage the build tool provided by the container software of choice to create container images.

            Note

            The features documented here have been available since EasyBuild v3.6.0 but are still experimental, which implies they are subject to change in upcoming versions of EasyBuild.

            You will need to enable the --experimental configuration option in order to use them.

            See Experimental features for more information.

            Initially (since EasyBuild v3.6.0), only Singularity (https://www.sylabs.io/singularity) was supported. Since EasyBuild v3.6.2, generating (recipes for) Docker (https://www.docker.com/) containers is also supported.

            In EasyBuild v3.9.2 the support for generating Singularity container recipes/images was enhanced significantly.

            "},{"location":"containers/#containers_req","title":"Requirements","text":"
            • Docker, or Singularity version 2.4 (or more recent, incl. version 3.x)
            • sudo permissions (only required to actually build container images, see Building container images)
            "},{"location":"containers/#containers_usage","title":"Usage","text":""},{"location":"containers/#containers_usage_containerize","title":"Generating container recipes","text":"

            (--containerize / -C)

            To generate container recipes, use eb --containerize, or eb -C for short.

            The resulting container recipe will, in turn, leverage EasyBuild to build and install the software that corresponds to the easyconfig files that are specified as arguments to the eb command (and all required dependencies, if needed).

            Note

            EasyBuild will refuse to overwrite existing container recipes.

            To re-generate an already existing recipe file, use the --force command line option.

            "},{"location":"containers/#containers_usage_template_recipe","title":"Container template recipe","text":"

            (--container-template-recipe)

            Via the --container-template-recipe configuration option, you can specify a specific container template recipe that EasyBuild should use to generate container recipes.

            This gives you control over a variety of aspects, including:

            • the operating system (version) used in the container image
            • the location where EasyBuild installs software within the container
            • how EasyBuild is configured when installing software in the container
            • etc.

            When generating container recipes, EasyBuild will replace the following template values:

            • %(bootstrap)s: bootstrap agent to use
              • see also https://www.sylabs.io/guides/latest/user-guide/definition_files.html#header
            • %(bootstrap_config)s: configuration for the bootstrap agent
              • this is expected to include lines that specify From:, MirrorURL:, etc.
              • for more information, see Container configuration
            • %(easyconfigs)s: (list of) easyconfig file name(s)/path(s) to pass to eb command
            • %(eb_args)s: additional arguments for 'eb' command
            • %(include)s: list of additional OS packages to include
              • see also include keyword: OS packages to include
            • %(install_eb)s: list of commands to install EasyBuild
            • %(install_os_deps)s: list of commands to install required OS packages (for example yum install -y openssl)
              • incl. osdependencies specified in easyconfig files
            • %(mirrorurl): URI to use to download OS
              • see also mirrorurl keyword: mirror URL to use to download OS
            • %(modname)s: module name(s) to load in environment
            • %(osversion): OS version to use
              • see also osversion keyword: OS version to use
            • %(post_commands)s: additional commands for the post section of the (Singularity) container recipe
            "},{"location":"containers/#containers_usage_config","title":"Container configuration","text":"

            (--container-config)

            Using --container-config, values for specific template values can be specified.

            Values can be specified as a comma-separated list of <key>=<value> pairs; for example: --container-config bootstrap=localimage,from:example.sif.

            Currently supported keywords include:

            • bootstrap: bootstrap agent to use
              • two types of values are supported:
                • Image-based bootstrap agents
                • Linux distro bootstrap agents
            • eb_args: additional arguments for 'eb' command
            • from: argument to pass to bootstrap agent
              • required/only valid with docker, library, localimage and shub bootstrap agents
              • for more details, see Image-based bootstrap agents
            • include: list of additional OS packages to include
              • see also include keyword: OS packages to include
            • install_eb: commands to install EasyBuild
            • mirrorurl: URI to use to download OS
              • see also mirrorurl keyword: mirror URL to use to download OS
            • osversion: OS version to use
              • see also osversion keyword: OS version to use
            • post_commands: additional commands for post section of (Singularity) container recipe

            For more details on the last three, see Linux distro bootstrap agents.

            Note

            Specifying any unknown keywords will results in an error.

            "},{"location":"containers/#container_bootstrap_agent_image_based","title":"Image-based bootstrap agents","text":"

            (e.g. docker, library, localimage, shub)

            These bootstrap agents involve using an existing container image as a base.

            Supported values include:

            • docker: base container image hosted on Docker Hub (https://hub.docker.com/)
            • library: base container image hosted on Sylabs Container Library (https://cloud.sylabs.io/)
            • localimage: local base container image file
            • shub: base container image hosted on Singularity Hub (https://singularity-hub.org/)

            The from keyword must also be specified when using one of these bootstrap agents.

            The localimage bootstrap agents corresponds to using a local container image file as a base, where it's path is specified using the from keyword. For example: \"bootstrap=localimage,from=/home/example/base.sif\".

            Each of the other image-based bootstrap agents imply that the container image to use as a base is downloaded from the corresponding registry, ad specified through the from keyword, with a specific format:

            • for docker bootstrap agent: <registry>/<namespace>/<container>:<tag>@<digest>
            • for library bootstrap agent: <entity>/<collection>/<container>:<tag>
            • for shub bootstrap agent: <registry>/<username>/<container-name>:<tag>@digest

            For more details, see https://www.sylabs.io/guides/latest/user-guide/appendix.html#build-modules.

            "},{"location":"containers/#containers_usage_container_base_image_requirements","title":"Requirements for base container image","text":"

            There are a couple of specific requirements for the base container image:

            • all dependencies of EasyBuild must be installed, including:
              • Python 2.7 or 3.6+
              • Lmod
              • standard tools & utilities like make, patch, tar, etc.
              • OS packages for system libraries like OpenSSL

            See also Requirements

            Each generated container recipe will include commands to create the easybuild user if it doesn't exist yet, as well as commands to create the /app and /scratch directories and give the easybuild user write permissions to those locations.

            Note

            The generated container recipe currently hardcodes some of this. We intend to make this more configurable in a future version of EasyBuild.

            "},{"location":"containers/#container_bootstrap_agent_linux_distro","title":"Linux distro bootstrap agents","text":"

            (e.g. arch, busybox, debootstrap, yum, zypper)

            Dedicated bootstrap agents are supported for different flavors of Linux distributions, including:

            • arch: Arch Linux
            • busybox: BusyBox Linux
            • debootstrap: apt-based systems like Ubuntu/Debian
            • yum: yum-based systems like CentOS
            • zypper: zypper-based systems like openSUSE

            When one of these bootstrap agents is used, additional keywords can be specified:

            • include keyword: OS packages to include
            • mirrorurl keyword: mirror URL to use to download OS
            • osversion keyword: OS version to use
            "},{"location":"containers/#container_bootstrap_agent_linux_distro_include","title":"include keyword: OS packages to include","text":"

            Via the include keywords, a list of packages can be specified that should be include on top of the base OS installation.

            For some bootstrap agents, a default value is used if no value is specified:

            • for the yum bootstrap agent: yum
            • for the zypper bootstrap agent: zypper

            See also https://www.sylabs.io/guides/latest/user-guide/appendix.html#yum-bootstrap-agent and https://www.sylabs.io/guides/latest/user-guide/appendix.html#zypper-bootstrap-agent.

            "},{"location":"containers/#container_bootstrap_agent_linux_distro_mirrorurl","title":"mirrorurl keyword: mirror URL to use to download OS","text":"

            For most of the Linux distro bootstrap agents (all except arch), Singularity requires that a mirror URL is specified that will be used when downloading the corresponding OS.

            You can specify a value using the mirrorurl keyword. For example: \"bootstrap=yum,mirrorurl=https://example.com\".

            EasyBuild will use a default value for mirrorurl if no other value is specified:

            • busybox: https://www.busybox.net/downloads/binaries/%{OSVERSION}/busybox-x86_64
            • debootstrap: http://us.archive.ubuntu.com/ubuntu/
            • yum: http://mirror.centos.org/centos-%{OSVERSION}/%{OSVERSION}/os/x86_64/
            • zypper:: http://download.opensuse.org/distribution/leap/%{OSVERSION}/repo/oss/
            "},{"location":"containers/#container_bootstrap_agent_linux_distro_osversion","title":"osversion keyword: OS version to use","text":"

            Using the osversion keyword you can specify which OS version should be installed.

            Note that is this only required/used if value for the mirrorurl value contains %{OSVERSION}s.

            For example: \"bootstrap=yum,osversion=7\".

            "},{"location":"containers/#containers_usage_build_image","title":"Building container images","text":"

            (--container-build-image)

            To instruct EasyBuild to also build a container image from the generated container recipe, use --container-build-image (in combination with -C or --containerize).

            EasyBuild will leverage functionality provided by the container software of choice (see Type of container recipe/image to generate) to build the container image.

            For example, in the case of Singularity, EasyBuild will run sudo /path/to/singularity build on the generated container recipe.

            Note

            In order to leverage the image building functionality of the container software, admin privileges are typically required. Therefore, EasyBuild will run the command to build the container image with sudo. You may need to enter your password to let the command execute.

            EasyBuild will only run the actual container image build command with sudo. It will not use elevated privileges for anything else.

            In case of doubt, you can use --extended-dry-run or -x do perform a dry run, so you can evaluate which commands will be executed (see also Extended dry run.

            If you're not comfortable with this, you can just let EasyBuild generate the container recipe, and then use that to build the actual container images yourself, either locally or through Singularity Hub (https://singularity-hub.org).

            The container image will be placed in the location specified by the --containerpath configuration option (see Location for generated container recipes & images), next to the generated container recipe that was used to build the image.

            Note

            When building container images, make sure to use a file system location with sufficient available storage space. Singularity may pull metadata during the build, and each image can range from several hundred MBs to GBs, depending on software stack you are including in the container image.

            Note

            EasyBuild will refuse to overwrite existing container images.

            To re-generate an already existing image file, use the --force command line option.

            "},{"location":"containers/#containers_usage_example","title":"Example usage","text":"

            In this example, we will use a pre-built base container image located at example.sif (see also Image-based bootstrap agents).

            To let EasyBuild generate a container recipe for GCC 6.4.0 + binutils 2.28:

            eb GCC-6.4.0-2.28.eb --containerize --container-config bootstrap=localimage,from=example.sif --experimental\n

            With other configuration options left to default (see output of eb --show-config), this will result in a Singularity container recipe using example.sif as base image, which will be stored in $HOME/.local/easybuild/containers:

            $ eb GCC-6.4.0-2.28.eb --containerize --container-config bootstrap=localimage,from=example.sif --experimental\n== temporary log file in case of crash /tmp/eb-dLZTNF/easybuild-LPLeG0.log\n== Singularity definition file created at /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28\n== Temporary log file(s) /tmp/eb-dLZTNF/easybuild-LPLeG0.log* have been removed.\n== Temporary directory /tmp/eb-dLZTNF has been removed.\n

            Docker supports a limited set of the container options. Example of commands that can be used to generate Docker containers are:

            eb  --containerize --container-type=docker --experimental --container-config=ubuntu:20.04 zlib-1.2.11.eb\neb  --containerize --container-type=docker --experimental --container-config=centos:7 zlib-1.2.11.eb\n
            "},{"location":"containers/#containers_example_recipe","title":"Example of a generated container recipe","text":"

            Below is an example of container recipe for that was generated by EasyBuild, using the following command:

            eb Python-3.6.4-foss-2018a.eb -C --container-config bootstrap=yum,osversion=7 --experimental\n
            Bootstrap: yum\nOSVersion: 7\nMirrorURL: http://mirror.centos.org/centos-%{OSVERSION}/%{OSVERSION}/os/x86_64/\nInclude: yum\n\n%post\nyum install --quiet --assumeyes epel-release\nyum install --quiet --assumeyes python setuptools Lmod\nyum install --quiet --assumeyes python-pip\nyum install --quiet --assumeyes bzip2 gzip tar zip unzip xz\nyum install --quiet --assumeyes curl wget\nyum install --quiet --assumeyes patch make\nyum install --quiet --assumeyes file git which\nyum install --quiet --assumeyes gcc-c++\nyum install --quiet --assumeyes perl-Data-Dumper\nyum install --quiet --assumeyes perl-Thread-Queue\nyum --skip-broken --quiet --assumeyes install libibverbs-dev libibverbs-devel rdma-core-devel\nyum --skip-broken --quiet --assumeyes install openssl-devel libssl-dev libopenssl-devel\n\n# install EasyBuild using pip\npip install -U setuptools\npip install 'vsc-install<0.11.4' 'vsc-base<2.9.0'\npip install easybuild\n\n# create 'easybuild' user (if missing)\nid easybuild || useradd easybuild\n\n# create /app software installation prefix + /scratch sandbox directory\nif [ ! -d /app ]; then mkdir -p /app; chown easybuild:easybuild -R /app; fi\nif [ ! -d /scratch ]; then mkdir -p /scratch; chown easybuild:easybuild -R /scratch; fi\n\n# install Lmod RC file\ncat > /etc/lmodrc.lua << EOF\nscDescriptT = {\n  {\n    [\"dir\"]       = \"/app/lmodcache\",\n    [\"timestamp\"] = \"/app/lmodcache/timestamp\",\n  },\n}\nEOF\n\n# change to 'easybuild' user\nsu - easybuild\n\n# verbose commands, exit on first error\nset -ve\n\n# configure EasyBuild\n\n# use /scratch as general prefix, used for sources, build directories, etc.\nexport EASYBUILD_PREFIX=/scratch\n\n# also use /scratch for temporary directories\nexport EASYBUILD_TMPDIR=/scratch/tmp\n\n# download sources to /scratch/sources, but also consider files located in /tmp/easybuild/sources;\n# that way, source files that can not be downloaded can be seeded in\nexport EASYBUILD_SOURCEPATH=/scratch/sources:/tmp/easybuild/sources\n\n# install software & modules into /app\nexport EASYBUILD_INSTALLPATH=/app\n\n# use EasyBuild to install specified software\neb Python-3.6.4-foss-2018a.eb --robot\n\n# update Lmod cache\nmkdir -p /app/lmodcache\n$LMOD_DIR/update_lmod_system_cache_files -d /app/lmodcache -t /app/lmodcache/timestamp /app/modules/all\n\n# exit from 'easybuild' user\nexit\n\n# cleanup, everything in /scratch is assumed to be temporary\nrm -rf /scratch/*\n\n%runscript\neval \"$@\"\n\n%environment\n# make sure that 'module' and 'ml' commands are defined\nsource /etc/profile\n# increase threshold time for Lmod to write cache in $HOME (which we don't want to do)\nexport LMOD_SHORT_TIME=86400\n# purge any modules that may be loaded outside container\nmodule --force purge\n# avoid picking up modules from outside of container\nmodule unuse $MODULEPATH\n# pick up modules installed in /app\nmodule use /app/modules/all\n# load module(s) corresponding to installed software\nmodule load Python/3.6.4-foss-2018a\n\n%labels\n

            The generated container recipe includes a bunch of yum install commands to install additional required/useful OS packages, pip install commands to install EasyBuild (if it's not installed yet), commands to create the easybuild user and provide write access to the /app and /scratch directories, and to configure Lmod and update the Lmod cache after software was installed with EasyBuild.

            In addition, the generated module files will follow the default module naming scheme (EasyBuildMNS). The modules that correspond to the easyconfig files that were specified on the command line will be loaded automatically, see the statements in the %environment section of the generated container recipe.

            "},{"location":"containers/#containers_example_build_image","title":"Example of building container image","text":"

            You can instruct EasyBuild to also build the container image by also using --container-build-image.

            Note that you will need to enter your sudo password (unless you recently executed a sudo command in the same shell session):

            $ eb GCC-6.4.0-2.28.eb --containerize --container-config bootstrap=localimage,from=/tmp/example.sif --container-build-image --experimental\n== temporary log file in case of crash /tmp/eb-aYXYC8/easybuild-8uXhvu.log\n== Singularity tool found at /usr/bin/singularity\n== Singularity version '2.4.6' is 2.4 or higher ... OK\n== Singularity definition file created at /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28\n== Running 'sudo /usr/bin/singularity build  /home/example/.local/easybuild/containers/GCC-6.4.0-2.28.sif /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28', you may need to enter your 'sudo' password...\n== (streaming) output for command 'sudo /usr/bin/singularity build  /home/example/.local/easybuild/containers/GCC-6.4.0-2.28.sif /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28':\nUsing container recipe deffile: /home/example/.local/easybuild/containers/Singularity.GCC-6.4.0-2.28\nSanitizing environment\nAdding base Singularity environment to container\n...\n== temporary log file in case of crash /scratch/tmp/eb-WnmCI_/easybuild-GcKyY9.log\n== resolving dependencies ...\n...\n== building and installing GCCcore/6.4.0...\n...\n== building and installing binutils/2.28-GCCcore-6.4.0...\n...\n== building and installing GCC/6.4.0-2.28...\n...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file(s) /app/software/GCC/6.4.0-2.28/easybuild/easybuild-GCC-6.4.0-20180424.084946.log\n== Build succeeded for 15 out of 15\n...\nBuilding Singularity image...\nSingularity container built: /home/example/.local/easybuild/containers/GCC-6.4.0-2.28.sif\nCleaning up...\n== Singularity image created at /home/example/.local/easybuild/containers/GCC-6.4.0-2.28.sif\n== Temporary log file(s) /tmp/eb-aYXYC8/easybuild-8uXhvu.log* have been removed.\n== Temporary directory /tmp/eb-aYXYC8 has been removed.\n

            The inspect the container image, you can use singularity shell to start a shell session in the container:

            $ singularity shell --shell \"/bin/bash --norc\" $HOME/.local/easybuild/containers/GCC-6.4.0-2.28.sif\n\nSingularity GCC-6.4.0-2.28.sif:~> module list\n\nCurrently Loaded Modules:\n  1) GCCcore/6.4.0   2) binutils/2.28-GCCcore-6.4.0   3) GCC/6.4.0-2.28\n\nSingularity GCC-6.4.0-2.28.sif:~> which gcc\n/app/software/GCCcore/6.4.0/bin/gcc\n\nSingularity GCC-6.4.0-2.28.sif:~> gcc --version\ngcc (GCC) 6.4.0\n...\n

            Note

            We are passing --shell \"/bin/bash --norc to singularity shell to avoid that the .bashrc login script that may be present in your home directory is sourced, since that may include statements that are not relevant in the container environment.

            Or, you can use singularity exec to execute a command in the container.

            Compare the output of running which gcc and gcc --version locally:

            $ which gcc\n/usr/bin/gcc\n$ gcc --version\ngcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)\n...\n

            and the output when running the same commands in the container:

            $ singularity exec GCC-6.4.0-2.28.sif which gcc\n/app/software/GCCcore/6.4.0/bin/gcc\n\n$ singularity exec GCC-6.4.0-2.28.sif gcc --version\ngcc (GCC) 6.4.0\n...\n
            "},{"location":"containers/#configuration","title":"Configuration","text":"

            Note

            You can specify each of these configuration options either as options to the eb command, via the equivalent $EASYBUILD_CONTAINER* environment variable, or via an EasyBuild configuration file; see Supported configuration types.

            "},{"location":"containers/#containers_cfg_path","title":"Location for generated container recipes & images","text":"

            (--containerpath)

            To control the location where EasyBuild will put generated container recipes & images, use the --containerpath configuration setting. Next to providing this as an option to the eb command, you can also define the $EASYBUILD_CONTAINERPATH environment variable or specify containerpath in an EasyBuild configuration file.

            The default value for this location is $HOME/.local/easybuild/containers, unless the --prefix configuration setting was provided, in which case it becomes <prefix>/containers (see Overall prefix path).

            Use eb --show-full-config | grep containerpath to determine the currently active setting.

            "},{"location":"containers/#containers_cfg_image_format","title":"Container image format","text":"

            (--container-image-format)

            Note

            This is only relevant when creating Singularity container images; the value for --container-image-format is ignored when creating Docker container images.

            The format for container images that EasyBuild is produces via the functionality provided by the container software can be controlled via the --container-image-format configuration setting.

            For Singularity containers (see Type of container recipe/image to generate), three image formats are supported:

            • squashfs (default when using Singularity 2.x): compressed images using squashfs read-only file system
            • sif (default when using Singularity 3.x): compressed read-only Singularity Image File (SIF)
            • ext3: writable image file using ext3 file system (only supported with Singularity 2.x)
            • sandbox: container image in a regular directory

            See also https://www.sylabs.io/guides/latest/user-guide/build_a_container.html .

            "},{"location":"containers/#containers_cfg_image_name","title":"Name for container recipe & image","text":"

            (--container-image-name)

            By default, EasyBuild will use the name of the first easyconfig file (without the .eb suffix) as a name for both the container recipe and image.

            You can specify an altername name using the --container-image-name configuration setting.

            The filename of generated container recipe will be Singularity.<name>.

            The filename of the container image will be <name><extension>, where the value for <extension> depends on the image format (see Container image format):

            • '.simg' for squashfs Singularity container images (only with Singularity 2.x)
            • '.img' for ext3 Singularity container images (only with Singularity 2.x)
            • '.sif' for Singularity container images in Singularity Image Format (SIF) (only with Singularity 3.x)
            • empty for sandbox Singularity container images (in which case the container image is actually a directory rather than a file)
            • empty for Docker container images
            "},{"location":"containers/#containers_tmpdir","title":"Temporary directory for creating container images","text":"

            (--container-tmpdir)

            The container software that EasyBuild leverages to build container images may be using a temporary directory in a location that doesn't have sufficient free space.

            You can instruct EasyBuild to pass an alternate location via the --container-tmpdir configuration setting.

            For Singularity, the default is to use /tmp, see https://www.sylabs.io/guides/latest/user-guide/build_env.html#temporary-folders. If --container-tmpdir is specified, the $SINGULARITY_TMPDIR environment variable will be defined accordingly to let Singularity use that location instead.

            "},{"location":"containers/#containers_cfg_type","title":"Type of container recipe/image to generate","text":"

            (--container-type)

            With the --container-type configuration option, you can specify what type of container recipe/image EasyBuild should generated. Possible values are:

            • docker: Docker (https://docs.docker.com/) container recipe & images (supported since EasyBuild v3.6.2)
            • singularity (default): Singularity (https://www.sylabs.io/singularity) container recipes & images
            "},{"location":"containers/#containers_stacking","title":"'Stacking' container images","text":"

            To avoid long build times and excessive large container images, you can construct your target container image step-by-step, by first building a base container image for the compiler toolchain you want to use, and then using it to build a container images for a particular (set of) software package(s).

            For example, to build a container image for Python 3.6.4 built with the foss/2018a toolchain:

            $ cd /tmp\n\n# use current directory as location for generated container recipes & images\n$ export EASYBUILD_CONTAINERPATH=$PWD\n\n# build base container image for OpenMPI + GCC parts of foss/2018a toolchain, on top of CentOS 7.4 base image\n$ eb -C --container-build-image OpenMPI-2.1.2-GCC-6.4.0-2.28.eb --container-config bootstrap=yum,osversion=7 --experimental\n...\n== Singularity image created at /tmp/OpenMPI-2.1.2-GCC-6.4.0-2.28.sif\n...\n\n$ ls -lh OpenMPI-2.1.2-GCC-6.4.0-2.28.sif\n-rwxr-xr-x 1 root root 590M Apr 24 11:43 OpenMPI-2.1.2-GCC-6.4.0-2.28.sif\n\n# build another container image for the for the full foss/2018a toolchain, using the OpenMPI + GCC container as a base\n$ eb -C --container-build-image foss-2018a.eb --container-config bootstrap=localimage,from=OpenMPI-2.1.2-GCC-6.4.0-2.28.sif --experimental\n...\n== Singularity image created at /tmp/foss-2018a.sif\n...\n\n$ ls -lh foss-2018a.sif\n-rwxr-xr-x 1 root root 614M Apr 24 13:11 foss-2018a.sif\n\n# build container image for Python 3.6.4 with foss/2018a toolchain by leveraging base container image foss-2018a.sif\n$ eb -C --container-build-image Python-3.6.4-foss-2018a.eb --container-config bootstrap=localimage,from=foss-2018a.sif --experimental\n...\n== Singularity image created at /tmp/Python-3.6.4-foss-2018a.sif\n...\n\n$ ls -lh Python-3.6.4-foss-2018a.sif\n-rwxr-xr-x 1 root root 759M Apr 24 14:01 Python-3.6.4-foss-2018a.sif\n\n$ singularity exec Python-3.6.4-foss-2018a.sif which python\n/app/software/Python/3.6.4-foss-2018a/bin/python\n\n$ singularity exec Python-3.6.4-foss-2018a.sif python -V\nvsc40023 belongs to gsingularity\nPython 3.6.4\n
            "},{"location":"containers/#containers_seeding","title":"Seeding in source files for container build process","text":"

            In some cases, you may need to \"seed in\" manually downloaded source files into the container build environment, because the sources can not be downloaded automatically.

            As shown in Example of a generated container recipe, the container recipe generated by EasyBuild includes /tmp/easybuild/sources/ as a fallback directory in the list of locations considered by EasyBuild when looking for sources/patches (see also Source path).

            That way, you can copy source files that should be available when building the container image into /tmp/easybuild/sources/.

            "},{"location":"contributing/","title":"Contributing","text":"

            This documentation explains how you can contribute to EasyBuild, and discusses the review process for contributions.

            "},{"location":"contributing/#contributing_how","title":"How to contribute","text":"

            It is a common misconception that contributing to an open source project requires being intimately familiar with its codebase.

            There are various ways to contribute, even if you don't have any experience with the programming language(s) being used by the project you are interested in.

            You can contribute to EasyBuild by:

            • Giving feedback
            • Reporting bugs
            • Submitting feature/change requests
            • Helping others
            • Contributing easyconfig files
            • Contributing code changes
            • Writing documentation
            • Joining the conversation
            "},{"location":"contributing/#contributing_feedback","title":"Giving feedback","text":"

            An easy way to contribute to EasyBuild, even without having a lot of hands-on experience with it, is to provide feedback on your experiences.

            Feedback from people new to EasyBuild is valuable, since it provides a perspective that is easily overlooked by more experienced users.

            You can contact the EasyBuild community via the EasyBuild mailing list (easybuild@lists.ugent.be), the #easybuild IRC channel (see also Getting help).

            "},{"location":"contributing/#contributing_bugs","title":"Reporting bugs","text":"

            If you run into unexpected problems when using EasyBuild, please open a bug report in the issue tracker of the relevant GitHub repository:

            • https://github.com/easybuilders/easybuild-framework/issues: for general problems with eb, the EasyBuild framework, etc.
            • https://github.com/easybuilders/easybuild-easyblocks/issues: for problems specific to a particular (generic or software-specific) easyblock, etc.
            • https://github.com/easybuilders/easybuild-easyconfigs/issues: for problems specific to a particular software package, e.g., with building and installing a particular version of that software, or when using a particular toolchain, etc.
            • https://github.com/easybuilders/easybuild/issues: for problems with the EasyBuild documentation, etc.

            Please try and provide all relevant information, which may include:

            • the EasyBuild version you are using
            • the specifics of the system you are using, incl. OS + version, Python version, modules tool & version, etc.
            • the active EasyBuild configuration; usually the output of eb --show-config is sufficient
            • the full eb command line that was used
            • warning or error messages, or other relevant informative messages
            • filename or contents of easyconfig file(s) being used
            • EasyBuild log file (for example via https://gist.github.com/), preferably collected with eb --debug
            "},{"location":"contributing/#contributing_requests","title":"Submitting feature/change requests","text":"

            If you have suggestions for enhancements or ideas for new features that could be useful, please open an issue in the relevant GitHub repository (see Reporting bugs).

            Describe what you have in mind, and maybe also provide a concrete example to illustrate how your suggestion would improve the current functionality.

            "},{"location":"contributing/#contributing_helping_others","title":"Helping others","text":"

            Try and help others based on your experience, or help them figure out an answer to their question or a solution to their problem using the EasyBuild documentation or by reaching out to someone else in the EasyBuild community that may know the answer.

            The EasyBuild community is known to be very welcoming and helpful, and you too can be a part of that.

            "},{"location":"contributing/#contributing_easyconfigs","title":"Contributing easyconfig files","text":"

            Please contribute easyconfig files that are not included yet in (the develop branch of) the easybuild-easyconfigs GitHub repository at https://github.com/easybuilders/easybuild-easyconfigs.

            This includes easyconfigs for software that is not supported yet by EasyBuild, as well as updates to existing easyconfigs (e.g., version updates, using a different toolchain, etc.), even if you consider the updates to be trivial. Keep in mind that being able to use something that is known to work out-of-the-box can save quite a bit of time compared to having to tweak existing easyconfigs and validate the result installations.

            We highly recommend using the --new-pr and --update-pr command line options for contributing easyconfig files; see Submitting new and updating pull requests.

            "},{"location":"contributing/#contributing_code","title":"Contributing code changes","text":"

            Of course you can also contribute code changes, including bug fixes, enhancements or additional features in the EasyBuild framework, the easyblocks repository, the test suites or in related scripts.

            Do keep in mind that this requires some experience with Python, although you should be able to go a long way by using the existing code base as support.

            See Pull requests for more information on the practical aspects of contributing code.

            "},{"location":"contributing/#contributing_docs","title":"Writing documentation","text":"

            Another way to contribute to EasyBuild without having to implement Python code is by writing documentation, i.e. enhancing or updating existing documentation or documenting features that are not covered yet.

            To contribute to the documentation hosted at https://docs.easybuild.io, you should open a pull request to the main branch of the https://github.com/easybuilders/easybuild-docs repository; see the docs subdirectory.

            The EasyBuild documentation is made with Material for MkDocs and written in MarkDown.

            "},{"location":"contributing/#contributing_conversation","title":"Joining the conversation","text":"

            Last but not least, you can actively join the conversation that arise on the EasyBuild mailing list, the #easybuild IRC channel and during the bi-weekly EasyBuild conference calls (see https://github.com/easybuilders/easybuild/wiki/Conference-calls).

            Engage with the EasyBuild community, and help steer EasyBuild development by participating in the conversations regarding a variety of topics related to building and installing (scientific) software.

            "},{"location":"contributing/#contributing_pull_requests","title":"Pull requests","text":"

            To contribute to the EasyBuild framework, easyblocks, easyconfig files or the EasyBuild documentation, you will need to open a pull request to the corresponding GitHub repository:

            • EasyBuild framework: https://github.com/easybuilders/easybuild-framework
            • easyblocks: https://github.com/easybuilders/easybuild-easyblocks
            • easyconfigs: https://github.com/easybuilders/easybuild-easyconfigs
            • documentation: https://github.com/easybuilders/easybuild (see docs subdirectory)

            Doing this the traditional way requires some knowledge about using git (i.e. creating commits, using branches, pushing to and pulling from remote Git repositories, etc.), and being familiar with GitHub.

            However, this can be largely circumvented by using the GitHub integration provided by EasyBuild, see Integration with GitHub .

            "},{"location":"contributing/#contributing_pull_request_setup","title":"Setting up","text":"

            Note

            These instructions assume that you already have a working GitHub account.

            If you don't have a GitHub account yet, visit https://github.com/ to create one.

            We highly recommend registering your SSH public key in your GitHub account, via https://github.com/settings/keys. This allows pushing to your fork of the GitHub repositories without using a password.

            Before you can open pull requests, you will need to fork the GitHub repository you are targeting, and create a local working copy of that repository. This only needs to be done once for every of the EasyBuild repositories.

            Note

            For the purpose of this guide, we will be using the easybuild-framework repository.

            However, the instructions are equivalent for the other EasyBuild repositories.

            "},{"location":"contributing/#contributing_pull_request_setup_fork_repo","title":"Forking the repository","text":"

            First, create your own fork of the repository in your GitHub account using the Fork button on the top right at https://github.com/easybuilders/easybuild-framework.

            This will create a 'copy' of the easybuild-framework repository owned by the easybuilders GitHub organisation to your own personal GitHub account.

            You will have to use this fork as a staging area for your work, to prepare your contributions before creating the actual pull requests.

            "},{"location":"contributing/#contributing_pull_request_setup_working_copy","title":"Creating a working copy","text":"

            In addition to forking the repository on GitHub, you also need to create a local working copy of the repository. This is basically a local checkout of the repository where you can track the changes you are making.

            First, clone your fork of the repository:

            git clone git@github.com:EXAMPLE/easybuild-framework.git\n

            Note

            Do not forget to replace EXAMPLE with your GitHub account name.

            If that worked as expected, you should have a new directory named easybuild-framework. Move into the easybuild-framework directory:

            cd easybuild-framework\n

            Finally, we recommended to also check out the develop branch, which will be used as the base for your own branches:

            git checkout -b develop origin/develop\n

            With this in place, you are all set to open pull requests for your contributions.

            "},{"location":"contributing/#keeping-the-develop-branch-in-sync","title":"Keeping the develop branch in sync","text":"

            It is important to keep the develop branch in your working copy in sync with the upstream repository in the GitHub easybuilders organization.

            For this, you need to add the upstream repository as a 'remote' repository:

            git remote add upstream git@github.com:easybuilders/easybuild-framework.git\n

            Note

            upstream is just a name that you give to the remote the central

            easybuilders repository on GitHub; you can modify this to your liking if desired (but do take that into account for the further instructions if you do so).

            For your fork of the repository, a default remote named origin should have been created via git clone (see the output of git remote -v).

            To sync your develop branch, use git pull upstream develop after making sure you have the develop branch checked out:

            git checkout develop\ngit pull upstream develop\n
            "},{"location":"contributing/#contributing_creating_pull_requests","title":"Opening a new pull request","text":"

            Note

            This section describes the manual procedure to open a new pull request.

            Please consider using eb --new-pr instead, see Submitting pull requests.

            Note

            We assume you are already located in your local working copy of the repository you want to contribute to (e.g., easybuild-framework).

            To open a pull request for your contribution, you must follow these steps:

            1. Creating a new branch
            2. Committing your changes
            3. Pushing your branch
            4. Pull request title & description
            5. Opening the pull request
            "},{"location":"contributing/#contributing_creating_pull_requests_branch","title":"Creating a new branch","text":"

            First, create a new branch for your work. You can do this either before or after making the changes that you would like to contribute, but we recommend to create a new branch before making any changes.

            Make sure you have the develop branch checked out before creating your branch:

            git checkout develop\n

            To create a new branch, you should use git branch <branch_name> followed by git checkout <branch_name>, or equivalently git checkout -b <branch_name>.

            For example, to create a new branch named mybranch:

            git checkout -b mybranch\n

            You can choose the branch name freely, but make it sufficiently descriptive \u2013 your future self will thank you.

            "},{"location":"contributing/#contributing_creating_pull_requests_commit","title":"Committing your changes","text":"

            To 'save' your changes, you should create one or more commits in the branch you created. We recommended making separate commits for different 'units of work'.

            First, make sure you have checked out the branch were you want to commit the changes to. For example, to prepare for committing changes to the mybranch branch:

            git checkout mybranch\n

            To check which branch is currently checked out, use git branch.

            To get a high-level overview of the changes before committing them, you can use git status.

            To see the actual changes that were made, use git diff.

            To commit the changes you want to contribute, use git add <files> to stage the changes, followed by git commit -m \"<message>\" to create the actual commit.

            For example, to commit the changes that were made to easybuild/tools/filetools.py:

            git add easybuild/tools/filetools.py\ngit status  # check which files are staged for commit\ngit commit -m \"example commit message for changes to filetools.py\"\n

            Note

            Please use a concise commit message that describes the changes you made.

            Note

            For files that are already being tracked, you can use git commit -am <message> to commit all changes at once.

            To verify that your work was committed, use git log to see all commits on the current branch. Use git log --stat and/or git log --diff to see more details about which changes are included in each of the commits.

            "},{"location":"contributing/#contributing_creating_pull_requests_push","title":"Pushing your branch","text":"

            Once you have committed your changes to a branch, you should push your branch to your fork of the GitHub repository using git push.

            For example, to push the mybranch branch to your fork of the GitHub repository (via the origin remote, see Creating a working copy):

            git push origin mybranch\n

            Note

            The above command will make your work public.

            "},{"location":"contributing/#contributing_creating_pull_requests_pr_title","title":"Pull request title & description","text":"

            Please use a descriptive (short) title for your pull requests, and clarify (if needed) in the pull request description.

            If any other pull requests are required, refer to them in the description using #<PR number> (only for pull requests to the same repository), or by copy-pasting the URL to the pull request.

            For pull requests to the easyconfig repository, we recommend using this format for the pull request title when contributing new easyconfig files:

            {<moduleclass>}[<toolchain>] <software name> <software version> <extra info>\n

            For example:

            • {tools}[dummy] EasyBuild v3.2.1
            • {math}[intel/2017a] numpy 1.13.0 w/ Python 2.7.13
            • {math,numlib}[foss/2017a] METIS v5.1.0, ParMETIS v4.0.3, SuiteSparse v4.5.5, ...

            If you are opening a work-in-progress pull request, for example to solicit feedback, tag it using (WIP). in the pull request title.

            "},{"location":"contributing/#contributing_creating_pull_requests_open_pr","title":"Opening the pull request","text":"

            To open a pull request using the branch you pushed, you should use the GitHub interface, and follow the steps outlined below.

            1. visit https://github.com/EXAMPLE/easybuild-framework

              Note

              Replace EXAMPLE with your GitHub account name, and easybuild-framework with the name of the target EasyBuild repository.

            2. switch to the branch that includes the changes you want to contribute using the Branch: main button on the left, for example by selecting Branch: mybranch from the dropdown list

            3. click the New pull request button
            4. change the target branch to develop using the base: main button
            5. review your changes using the 'diff' view presented by GitHub;
            6. provide an appropriate title and description for your contribution;
            7. open the pull request by clicking the green Create pull request button

            Next, your pull request will be reviewed & tested, see Review process for contributions.

            "},{"location":"contributing/#contributing_updating_pull_requests","title":"Updating existing pull requests","text":"

            Note

            This section describes the manual procedure to create a new pull request.

            Please consider using eb --update-pr instead, see Updating existing pull requests.

            It is quite common to update a pull request after creating it, for example if the test suite run in GitHub Actions reports problems with the changes being made, or as a response to someone reviewing your contribution.

            To update an existing pull request, it suffices to add commits to the branch that was used for opening the pull request, and pushing the updated branch to GitHub.

            For example, to update the pull request that was created using the mybranch branch:

            git checkout mybranch\n# make changes...\ngit add <paths to changed files>\ngit commit -m \"example commit message for additional changes\"\ngit push origin mybranch\n

            Updating a pull request will trigger GitHub Actions to re-test your contribution, and a notification will be sent out to whoever is 'watching' your pull request.

            "},{"location":"contributing/#contributing_merging_pull_requests","title":"Merging of pull requests","text":"

            Once your pull request has been given the green light by GitHub Actions and one or more people reviewing have approved the changes, it can be merged into the develop branch.

            This can only be done by a member of the EasyBuild maintainers team. Only pull requests that meet the requirements are eligible for merging, see Requirements for pull requests .

            Merging a pull request usually implies that the changes will be part of the next EasyBuild release.

            "},{"location":"contributing/#contributing_review_process","title":"Review process for contributions","text":"

            Each contribution is thoroughly reviewed and tested before it gets merged in. Some aspects of this are automated, others require human intervention.

            "},{"location":"contributing/#contributing_review_process_pr_requirements","title":"Requirements for pull requests","text":"

            Only pull requests (PRs) that fulfil these requirements are eligible to be merged:

            • the PR must target the develop branch of the repository; see develop branch
            • the test suite must (still) pass, i.e. GitHub Actions must give a green light; see Test suite (GitHub Actions)

              • tests should be added or enhanced when appropriate; see Adding tests, especially for PRs to the easybuild-framework repository
            • backward compatibility should be retained; see Backward compatibility

            • code style must be kept consistent; see Code style review

              • easyconfigs should be kept consistent across versions & toolchains; see Comparing with existing easyconfigs
            • (successful) test reports must be submitted for easyconfig PRs; see Test reports for easyconfig contributions

            • the PR is approved by one or more maintainers of the repository; see EasyBuild maintainers

            • the PR should be merged by one of the maintainers, other than the author of the PR; see Pull requests are merged by a maintainer other than the author
            "},{"location":"contributing/#contributing_review_process_develop_branch","title":"develop branch","text":"

            Pull requests are only merged in the develop branch of the EasyBuild repositories, which contains the changes that will be included in the next EasyBuild release.

            The main branch provides the latest stable release of EasyBuild at all times. Only the EasyBuild release manager should issue a pull request to the EasyBuild main branch, when preparing a new EasyBuild release.

            Occasionally, an additional version branch (e.g. 3.3.x) may be introduced temporarily, in case an intermittent bugfix release is being worked on.

            "},{"location":"contributing/#contributing_review_process_github_actions","title":"Test suite (GitHub Actions)","text":"

            Each pull request is tested automatically by GitHub Actions and the test result is reported in the pull request.

            Only pull requests that have been tested and approved by GitHub Actions are eligible for being merged!

            Note that GitHub Actions will only run the test suite for that particular repository. That is, for easyconfig contributions it does not include actually building and installing software.

            For more information on the test suites, see Unit tests.

            "},{"location":"contributing/#contributing_review_process_adding_tests","title":"Adding tests","text":"

            An implicit requirement for contributions, in particular contributions to the EasyBuild framework, is that they must be accompanied by additional tests or test cases.

            For new features or enhancements, a dedicated test (case) must be added which verifies that the feature implementation works as expected.

            For bug fixes, a test (case) must be added that triggers the code path where the bug manifested, and which verifies that the bug was indeed fixed.

            Tests not only confirm that the implementation is correct, it also helps to ensure that any future changes will not break the functionality you contributed.

            "},{"location":"contributing/#contributing_review_process_backward_compatibility","title":"Backward compatibility","text":"

            Contributions should retain backward compatibility, i.e., they should not make any changes that alter the (default) functionality of the existing code base. Of course, enhancements to existing code that retain backward compatibility can be made.

            One exception to this rule is bug fixes, where the whole point is usually to fix functionality that was implemented incorrectly.

            This also applies to existing easyconfig files; for example, the versions of dependencies should not be altered. Adding dependencies that were missing or otherwise enhancing existing easyconfigs (e.g., adding extra extensions, enabling additional features, etc.) are usually considered acceptable.

            Changes that break backward compatibility have to be motivated well with technical arguments, and must be approved by the EasyBuild maintainers.

            "},{"location":"contributing/#contributing_review_process_code_style","title":"Code style review","text":"

            Next to functional evaluation of contributions, care is also taken to maintain a consistent code style across the EasyBuild code base (see also Code style); contributions must take the (mostly PEP8) code style into account.

            This aspect is sometimes considered to be needless overhead, yet it is an important aspect of the review process. A consistent code style is invaluable in a large code base that is constantly being updated by a worldwide community.

            This also applies to easyconfig files, where we try to maintain a strict style that mostly matches the established PEP8 coding style for Python (since easyconfigs are written in Python syntax). However, also the grouping and ordering of easyconfig parameters is a part of the 'code' style we maintain.

            An automated (partial) check to see whether easyconfig files are ready to be contributed can be performed via eb --check-contrib. This will check:

            • style aspects for the specified easyconfig files
            • whether SHA256 checksums are included for all source files & patches

            This check is also a part of the test suite run by GitHub Actions for easyconfig PRs.

            "},{"location":"contributing/#contributing_review_process_review_pr","title":"Comparing with existing easyconfigs","text":"

            (--review-pr)

            We try to maintain consistency across easyconfig files for a particular software package, across multiple software versions, toolchains and variants (with a different versionsuffix).

            Therefore, easyconfig contributions are also reviewed using eb --review-pr <PR #>, which compares the touched easyconfig files to those in the current develop branch that are most closely related.

            The easyconfig files to compare with are selected based on similarity, by combining two criteria, in order.

            First, the software version is taken into account, using one of the following criteria:

            • exact match on software version match
            • match on major/minor software version
            • match on major software version
            • no match on software version

            This is combined with one of the criteria below (in order):

            • matching versionsuffix and toolchain name/version
            • matching versionsuffix and toolchain name (any toolchain version)
            • matching versionsuffix (any toolchain name/version)
            • matching toolchain name/version (any versionsuffix)
            • matching toolchain name (any versionsuffix, toolchain version)
            • no extra requirements (any versionsuffix, toolchain name/version)

            The first combination of one of the software version criteria with one of the other criteria that yields one or more matching easyconfig files is used. If none of the combinations match, no easyconfig files for that particular software package are available yet, and no comparison is made.

            The output of --review-pr provides a 'multidiff' comparison, which highlights the differences between the easyconfig file in the pull request and the most similar selected ones from the current develop branch. Interpreting this output is a quick and easy way to assess how different the contributed easyconfig files are from the existing easyconfigs, although it does require a bit of practice because of the density of the provided information.

            "},{"location":"contributing/#contributing_review_process_test_reports","title":"Test reports for easyconfig contributions","text":"

            (upload-test-report)

            For easyconfig contributions, one or more accompanying test reports must be submitted to confirm that the added and/or changed easyconfig files (still) work as expected.

            We recommend that you submit a test report for your own easyconfig pull requests. Other people can also submit test reports to confirm that your contribution works as expected on their system(s).

            With EasyBuild being properly configured (see GitHub: Configuration), this should be as simple as running eb --from-pr <PR#> --upload-test-report --force --robot.

            See Uploading test reports for more information.

            "},{"location":"contributing/#contributing_review_process_do_not_merge_your_own_prs","title":"Pull requests are merged by a maintainer other than the author","text":"

            A pull request should never be merged by its author.

            This policy is maintained in order to ensure a \"two-pairs-of-eyes\" review process of all contributions.

            "},{"location":"contributing/#contributing_review_process_why_pr_closed_by_maintainer","title":"Why a pull request may be closed by a maintainer","text":"

            Although it is generally avoided, there are a few reasons why maintainers might close a pull request:

            • uses an archived toolchain
            • no activity for > 6 months
            • obsolete because more recent PRs for newer versions of the software have been merged already

            This is done routinely as a way of focusing everyone's efforts on relevant contributions, and should not be seen as a rejection. In fact, contributors are encouraged to reopen the pull request if they feel it is still relevant.

            "},{"location":"controlling-compiler-optimization-flags/","title":"Controlling compiler optimization flags","text":"

            This page provides an overview on the different ways in which compiler optimization flags used by EasyBuild can be controlled.

            "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch","title":"Controlling target architecture specific optimizations via --optarch","text":""},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_default","title":"Default behaviour","text":"

            By default, EasyBuild optimizes builds for the CPU architecture of the build host, by instructing the compiler to generate instructions for the highest instruction set supported by the process architecture of the build host processor.

            This is done by including specific compiler flags in $CFLAGS, $CXXFLAGS, $FFLAGS, $F90FLAGS, etc.

            For example:

            • for toolchains using the GCC compilers, --march=native will be used (see https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/i386-and-x86-64-Options.html)
            • for toolchains using the Intel compilers, -xHost will be used (https://software.intel.com/en-us/node/522846)
            "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_caveats","title":"Caveats","text":""},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_caveats_heterogeneous","title":"Heterogeneous clusters","text":"

            Optimizing for the processor architecture of the build host is usually what you want in an HPC cluster, but it has some implications if your cluster is heterogeneous (i.e., has different processor generations), or if you want to execute your applications in a machine with a processor architecture that is different from the one of the build host.

            For example, if you compile your application optimized for an Intel Haswell processor (i.e. using AVX2 instructions), it will not run on a system with an older Intel Nehalem processor.

            One possible workaround for heterogeneous HPC clusters is to build as many copies of the software stack as you have processor generations in your cluster, and to configure your system so each compute node uses the right software stack matching its processor architecture type. Details for one way of doing this, using automounter/autofs are available at https://easybuild.io/files/sciCORE-software-management_20150611.pdf.

            Another solution is to configure EasyBuild to not optimize for the processor architecture of the build host via --optarch, see below.

            "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_caveats_hardcoding","title":"Build environment vs hardcoding in build scripts","text":"

            Be aware that that using --optarch as described below does not provide hard guarantees that the build will be executed using the intended compiler flags.

            EasyBuild will define the appropriate environment variables ($CFLAGS and co) to use the compiler flags as specified, but some MakeFiles or build systems could have hardcoded values that have not been dealt with yet (for example, via a patch file or by specifying options to the make command).

            For example, the OpenBLAS build system will autodetect the processor architecture in the build host, and will optimize for that processor architecture by default.

            If you want a generic OpenBLAS build you will need to tweak the OpenBLAS easyconfig file to define the desired TARGET to use. For this you will need to modify the buildopts easyconfig parameter, for example:

            buildopts = 'TARGET=PRESCOTT BINARY=64 ' + threading + ' CC=\"$CC\" FC=\"$F77\"'\n

            See these links for more details w.r.t. OpenBLAS:

            • https://github.com/xianyi/OpenBLAS/blob/develop/TargetList.txt
            • https://github.com/xianyi/OpenBLAS/issues/685
            "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_flags","title":"Specifying target architecture specific optimization flags to use via --optarch=<flags>","text":"

            Using the --optarch EasyBuild configuration option, specific compiler flags can be provided that EasyBuild should use, rather than the ones used by default (depending on the compiler in the toolchain being used).

            Like any other configuration setting, this can also be specified via $EASYBUILD_OPTARCH, or by defining optarch in an EasyBuild configuration file (cfr. Consistency across supported configuration types).

            For example, by specifying --optarch=march=core2, EasyBuild will use -march=core2 rather than the default flag --march=native (when using GCC compilers).

            Likewise, to avoid using the default -xHost flag with the Intel compilers and using -xSSSE3 instead, you can define $EASYBUILD_OPTARCH to be equal to xSSSE3.

            Note

            The first dash (-) is added automagically to the value specified to --optarch, because of technicalities with the current implementation.

            The --optarch configuration option gives you flexibility to define the specific target architecture optimization flags you want, but requires that you take care of specifying different flags for different compilers and choose the right flags depending on your specific processor architecture.

            "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_generic","title":"Optimizing for a generic processor architecture via --optarch=GENERIC","text":"

            To make EasyBuild optimize for a generic processor architecture, --optarch can be set to 'GENERIC'.

            When this is the case, EasyBuild will use the right compiler flags to optimize for a generic processor architecture, i.e. avoid using machine instructions that are only supported by very recent processors.

            The GENERIC keyword for --optarch is recognized since EasyBuild v2.5.0, and is supported for GCC and Intel compilers on x86-64 systems (Intel or AMD). For other compilers that can be used in toolchains and other system architectures, the necessary compiler flags will be defined in later EasyBuild versions.

            Currently, using --optarch=GENERIC will result in the following target architecture optimization flags being used, (on a Linux x86-64 system):

            • for toolchains using GCC compilers: -march=x86-64 -mtune=generic
            • for toolchains using Intel compilers: -xSSE2

            On other systems or for other compilers, you can check which compiler flags will be used via Extended dry run.

            "},{"location":"controlling-compiler-optimization-flags/#controlling_compiler_optimization_flags_optarch_per_compiler","title":"Setting architecture flags for different compilers via --optarch=<compiler:flags>;<compiler:flags>","text":"

            Starting with version 3.1.0, EasyBuild supports specifying architecture flags on a per-compiler basis. This enables to \"set and forget\" the --optarch option for your compilers of interest, as opposed to change it depending on the compiler used on the packages to be installed.

            The syntax is <compiler:flags>;<compiler:flags>, where : separates the compiler name from the compiler flags, and ; separates different compilers. This is an example for the Intel and GCC compilers: --optarch='Intel:xHost;GCC:march=x86-64 -mtune=generic'. As in the simple cases, EasyBuild adds one - to the flags specified, so the flags passed to the Intel and GCC compilers in this case are -xHost and -march=x86-64 -mtune=generic. Please note the quotes to escape the space in the GCC flags.

            Additionally, GENERIC is also supported on a compiler basis, allowing to specify a generic compilation for the desired compilers. This is an example of this usage: --optarch=Intel:xHost;GCC:GENERIC. Of course, this is supported just for compiler toolchains that recognize GENERIC.

            The options for each compiler are set independently. That means that if a GCC-based toolchain is used, but the only compiler specified is Intel (for example with --optarch=Intel:xCORE-AVX2), then EasyBuild will behave as if --optarch was not specified for this toolchain.

            The compiler name corresponds to the value of the COMPILER_FAMILY constant of the toolchain. Two common examples are GCC and Intel.

            Due to the special treatment of --optarch in Cray environments, this feature is not supported on this platform.

            "},{"location":"cray-support/","title":"EasyBuild on Cray","text":"

            As of EasyBuild v2.7.0, the support for using EasyBuild on Cray systems is considered stable. Tt enables building/installing software using the PrgEnv modules provided by Cray. This page provides an overview of the current status.

            For more information about this, contact:

            • Guilherme Peretti-Pezzi (CSCS, Switzerland, peretti@cscs.ch)
            • Kenneth Hoste (HPC-UGent, Belgium; kenneth.hoste@ugent.be)
            • Petar Forai (IMBA/IMP, Austria; petar.forai@imp.ac.at).

            Thanks to:

            • Olli-Pekka Letho (CSC.fi)
            • Tim Robinson and Guilherme Peretti-Pezzi (CSCS.ch)
            • Eric Bavier (Cray)
            • Brett Bode (NCSA)

            for providing us access to Cray systems, for their support and for testing and contributing to this work.

            "},{"location":"cray-support/#test-systems","title":"Test systems","text":"
            • Piz Daint & Piz Dora @ CSCS.ch (https://www.cscs.ch/computers/piz_daint_piz_dora/index.html)
            • Santis & Brisi (TDS) @ CSCS.ch
            • Sisu @ CSC.fi (https://research.csc.fi/sisu-supercomputer)
            • Swan (TDS) @ Cray
            • Blue Waters @ NCSA
            "},{"location":"cray-support/#easybuild-toolchains","title":"EasyBuild toolchains","text":"
            • CrayCCE: PrgEnv-cray with pinned versions of cce, cray-libsci and cray-mpich
            • CrayGNU: PrgEnv-gnu with pinned versions of gcc, cray-libsci and cray-mpich
            • CrayIntel: PrgEnv-intel with pinned versions of intel, cray-libsci and cray-mpich
            • CrayPGI: PrgEnv-pgi with pinned versions of pgi and cray-mpich

            versions:

            • Cray{CCE,GNU,Intel}/2015.06 (requires Cray PE June/2015)
            • Cray{CCE,GNU,Intel}/2015.11 (requires Cray PE November/2015)
            • CrayGNU/2016.03 (requires Cray PE March/2016)
            • Cray{GNU,PGI}/2016.04 (requires Cray PE April/2016)
            • Cray{GNU,Intel}/2016.06 (requires Cray PE June/2016)
            "},{"location":"cray-support/#what-works-already","title":"What works already?","text":"

            (see below for more information)

            • HPL (LINPACK) benchmark version 2.1
            "},{"location":"cray-support/#major-scientific-software-applications","title":"Major scientific software applications","text":"
            • CP2K 2.6.0
            • GROMACS 4.6.7
            • Python 2.7.9 + numpy 1.9.2 + scipy 0.15.1
            • WRF 3.6.1 (pending on Sisu)

            An up-to-date list of software applications built on Cray systems at CSCS can be found https://github.com/eth-cscs/production/, see https://github.com/eth-cscs/production/tree/master/jenkins-builds.

            "},{"location":"cray-support/#required-easybuild-configuration","title":"Required EasyBuild configuration","text":""},{"location":"cray-support/#modules-tool","title":"Modules tool","text":"
            • Sisu: self-installed Lmod 5.8
            • Piz Daint, Dora, Swan, Santis, Brisi: system-provided environment modules 3.2.10

            Example for environment modules 3.2.10:

            source /opt/modules/3.2.10.3/init/bash\nexport PATH=/opt/modules/3.2.10.3/bin/:$PATH\nexport EASYBUILD_MODULES_TOOL=EnvironmentModulesC\nexport EASYBUILD_MODULE_SYNTAX=Tcl\n
            "},{"location":"cray-support/#architecture","title":"Architecture","text":"
            • the craype-<target> module to load must be specified using --optarch
              • e.g., --optarch=sandybridge results in craype-sandybridge being loaded in the build environment used by EasyBuild

            You can also export this option as a shell variable. Example for sandybridge:

            export EASYBUILD_OPTARCH=sandybridge\n
            "},{"location":"cray-support/#metadata-for-cray-provided-modules","title":"Metadata for Cray-provided modules","text":"
            • Easybuild provides a sample metadata file in order to use modules provided by Cray:
            easybuild-framework/etc/cray_external_modules_metadata.cfg\n

            This file is loaded by default and contains enough information to build the easyconfig files shipped with EasyBuild.

            If you need to use a customized file, it can be specified using --external-modules-metadata. For more details see Metadata for external modules.

            "},{"location":"cray-support/#major-supportedtested-applications","title":"Major supported/tested applications","text":"

            (in alphabetical order)

            "},{"location":"cray-support/#cp2k","title":"CP2K","text":"
            • https://www.cp2k.org
            • version(s): 2.6.0
            eb CP2K-2.6.0-CrayGNU-2015.06.eb -dr\n
            "},{"location":"cray-support/#gromacs","title":"GROMACS","text":"
            • https://www.gromacs.org
            • version(s): 4.6.7
            eb GROMACS-4.6.7-CrayGNU-2015.06-mpi.eb -dr\n
            "},{"location":"cray-support/#hpl","title":"HPL","text":"
            • https://www.netlib.org/benchmark/hpl
            • version(s): 2.1
            eb HPL-2.1-CrayCCE-2015.06.eb -dr\neb HPL-2.1-CrayGNU-2015.06.eb -dr \neb HPL-2.1-CrayIntel-2015.06.eb -dr 
            "},{"location":"cray-support/#python-numpyscipy","title":"Python + numpy/scipy","text":"
            • https://python.org, https://www.numpy.org, https://www.scipy.org
            • version(s): Python 2.7.9, numpy 1.9.2, scipy 0.15.1
            eb Python-2.7.9-CrayGNU-2015.06.eb -dr # includes a few python packages (such as mpi4py, numpy and scipy)\n
            "},{"location":"cray-support/#wrf","title":"WRF","text":"
            • https://www2.mmm.ucar.edu/wrf/users/
            • version(s): 3.6.1
            eb WRF-3.6.1-CrayGNU-2015.06-dmpar.eb --dr\n
            "},{"location":"deprecated-easyconfigs/","title":"Deprecated easyconfigs","text":"

            Since EasyBuild v3.8.0, individual easyconfig files or particular (versions of) toolchains can be marked as deprecated.

            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_symptoms","title":"Symptoms","text":"

            Using an easyconfig file or toolchain that was marked as deprecated results in a warning message like:

            WARNING: Deprecated functionality, will no longer work in v4.0: easyconfig file '/home/example/test.eb' is marked as deprecated:\nThis is an example message explaining why the easyconfig file was deprecated.\n(see also http://easybuild.readthedocs.org/en/latest/Deprecated-easyconfigs.html)\n

            Or, in case you are trying to use an easyconfig file or toolchain that was marked deprecated in a previous major version of EasyBuild:

            ERROR: Failed to process easyconfig /home/example/test.eb: DEPRECATED (since v4.0) functionality used: easyconfig file '/home/example/test.eb' is marked as deprecated:\nThis is an example message explaining why the easyconfig file was deprecated.\n(see also http://easybuild.readthedocs.org/en/latest/Deprecated-easyconfigs.html)\n
            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_why","title":"Reasons for deprecation","text":"

            There are several possible reasons why a particular easyconfig file or toolchain was deprecated, some of which include:

            • old/obsolete versions of software or toolchain components
            • toolchains that are superseded by other toolchains
            • known installation problems that are hard to resolve (or not worth the effort to resolve)
            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_implications","title":"Implications","text":"

            Easyconfig files that are deprecated or which use a deprecated toolchain are not actively maintained, and are no longer included in the EasyBuild regression test (which means they may be broken by recent changes to the EasyBuild framework or relevant easyblocks).

            In a future major version of EasyBuild, these easyconfig files will be archived (see also Archived easyconfigs).

            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains","title":"Deprecated toolchains","text":"

            Overview of deprecated toolchains:

            • foss and fosscuda toolchain
            • GCCcore and GCC toolchains
            • gcccuda toolchain
            • gompi and gompic toolchains
            • goolf and goolfc toolchains
            • ictce toolchain
            • iccifort, iimpi, iimpic, intel, and intelcuda toolchains
            • iompi, iompic, iomkl, and iomklc toolchains
            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_foss","title":"foss and fosscuda toolchain","text":"
            • deprecated since: EasyBuild v4.5.0
            • will be archived in: EasyBuild v5.0.0

            The oldest versions of the foss and fosscuda toolchains have been deprecated, which currently includes any version older than foss/2019a and fosscuda/2019a.

            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_gcc","title":"GCCcore and GCC toolchains","text":"
            • deprecated since: EasyBuild v4.5.0
            • will be archived in: EasyBuild v5.0.0

            The oldest versions of the GCCcore and GCC toolchains have been deprecated, which currently includes any version older than 8.0.

            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_gcccuda","title":"gcccuda toolchain","text":"
            • deprecated since: EasyBuild v4.5.0
            • will be archived in: EasyBuild v5.0.0

            The oldest versions of the gcccuda toolchains have been deprecated, which currently includes any version older than gcccuda/2019a.

            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_gompi","title":"gompi and gompic toolchains","text":"
            • deprecated since: EasyBuild v4.5.0
            • will be archived in: EasyBuild v5.0.0

            Versions of the gompi and gompic toolchains that were used as a subtoolchain for a deprecated toolchain have also been deprecated; this includes versions older than gompi/2019a and gompic/2019a.

            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_goolf","title":"goolf and goolfc toolchains","text":"
            • deprecated since: EasyBuild v3.8.0
            • archived in: EasyBuild v4.0.0

            The goolf and goolfc toolchains have been deprecated, since they are superseded by the foss toolchain and fosscuda toolchains, respectively.

            The foss* toolchains are equivalent to the goolf* toolchains, except that binutils is also included as a companion to GCC(core) in the foss* toolchains.

            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_ictce","title":"ictce toolchain","text":"
            • deprecated since: EasyBuild v3.8.0
            • archived in: EasyBuild v4.0.0

            The ictce toolchain has been deprecated, since it is superseded by the intel toolchain.

            The ictce toolchain is equivalent to intel w.r.t. toolchain components, except that binutils is also included as a companion to GCC(core) (which serves as a base for the Intel compilers) in the intel toolchain.

            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_intel","title":"iccifort, iimpi, iimpic, intel, and intelcuda toolchains","text":"
            • deprecated since: EasyBuild v4.5.0
            • will be archived in: EasyBuild v5.0.0

            The oldest versions of the iccifort, iimpi and intel toolchain have been deprecated.

            Deprecated versions include:

            • iccifort versions older than 2019.0
            • iimpi and iimpic versions older than 2019a
            • intel and intelcuda versions older than 2019a
            "},{"location":"deprecated-easyconfigs/#deprecated_easyconfigs_toolchains_iomkl","title":"iompi, iompic, iomkl, and iomklc toolchains","text":"
            • deprecated since: EasyBuild v4.5.0
            • will be archived in: EasyBuild v5.0.0

            The oldest versions of the iompi, iompic, iomkl and iomklc toolchains have been deprecated, which currently includes any version older than 2019a.

            "},{"location":"deprecated-functionality/","title":"Deprecated functionality","text":"

            Some of the functionality that was available in previous EasyBuild versions is deprecated, and should no longer be used.

            This functionality will be removed in a future version of EasyBuild (see Removed functionality for more information about functionality that has been removed already).

            This page:

            • provides an Overview of deprecated functionality in EasyBuild version together with available alternatives
            • describes the Deprecation policy
            • explains how to easily check for use of deprecated functionality
            "},{"location":"deprecated-functionality/#overview_deprecated","title":"Overview of deprecated functionality in EasyBuild version","text":"

            The different section below document the functionality that is deprecated in EasyBuild version, for which support will be removed in EasyBuild version 5.0.

            For EasyBuild users:

            • Support for using Lmod 6.x

            For authors of easyconfig files:

            • dummy toolchain

            For developers of easyblocks:

            (nothing yet)

            For EasyBuild framework developers:

            (nothing yet)

            "},{"location":"deprecated-functionality/#depr_lmod6","title":"Support for using Lmod 6.x","text":"
            • deprecated since: EasyBuild v4.1.0 (Nov'19)
            • removed in: EasyBuild v5.0
            • alternative(s): use Lmod 7.x or more recent

            Support for using Lmod 6.x as modules tool with EasyBuild has been deprecated, and will be removed in a future version of EasyBuild.

            "},{"location":"deprecated-functionality/#depr_dummy_toolchain","title":"dummy toolchain","text":"
            • deprecated since: EasyBuild v4.0.0 (Sept'19)
            • removed in: EasyBuild v5.0
            • alternative(s): use system toolchain instead

            The dummy toolchain is has been deprecated, and is replaced with the system toolchain.

            For more information, see System toolchain.

            "},{"location":"deprecated-functionality/#deprecation_policy","title":"Deprecation policy","text":"

            With every EasyBuild release, we try very hard to maintain backward compatibility. That is, EasyBuild version X.Y should still build software packages that could be built with EasyBuild version X.(Y-1), without requiring modifications to the used easyconfig file or easyblock.

            However, every now and then a breaking change needs to be made to EasyBuild, because of design decisions or to resolve mistakes that were made in the past. These changes involve deprecating the behaviour or functionality we want to get rid of, together with supporting a better alternative.

            Deprecating functionality:

            • using a log.deprecated(\"msg\", 'X.Y') statement in EasyBuild version X.(Y-n) a certain block of code is tagged as deprecated, indicating that the corresponding functionality will no longer be supported in EasyBuild version X.Y; for example, to deprecate the use of the makeopts easyconfig parameter with EasyBuild v2.0:

              if self.cfg['makeopts']:\n    self.log.deprecated(\"Easyconfig parameter 'makeopts' is deprecated, use 'buildopts' instead\", '2.0')\n
            • until EasyBuild version X.Y, the deprecation log message will manifest itself as a warning, highlighting the use of deprecated functionality; for example:

              == 2014-12-16 16:29:07,906 main.easyconfig.easyconfig WARNING Deprecated functionality, will no longer work in v2.0:\nEasyconfig parameter 'makeopts' is deprecated, use 'buildopts' instead;\nsee http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information\n

            Removing support for deprecated behavior:

            • starting with EasyBuild version X.Y, the deprecation log message will result in an error, indicating that the deprecated behavior is no longer supported; for example:

              ERROR: EasyBuild encountered an exception (at easybuild/framework/easyconfig/easyconfig.py:937 in process_easyconfig):\nFailed to process easyconfig /home/example/gzip-1.5-goolf-1.4.10.eb:\nDEPRECATED (since v2.0) functionality used: Easyconfig parameter 'makeopts' is deprecated, use 'buildopts' instead;\nsee http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information.\n
            • the code supporting the deprecated functionality is removed in EasyBuild version X.(Y+1) (i.e., the first non-bugfix-only release after version X.Y), see also Removed functionality

            • until EasyBuild version X.(Y+1), the code supporting the deprecated functionality will still be available; using the --deprecated command line option (or, equivalently, the $EASYBUILD_DEPRECATED environment variable), the deprecated functionality can be reactivated by specifying a lower version; for example, to avoid running into an error with EasyBuild v2.0 for functionality that was deprecated for EasyBuild v2.0:

              eb gzip-1.5-goolf-1.4.10.eb --deprecated=1.0\n
            "},{"location":"deprecated-functionality/#how_to_check_use_of_deprecated_functionality","title":"How to check for use of deprecated functionality","text":"

            Since EasyBuild v1.16.0, the --deprecated command line option can be used to check whether deprecated behavior is still being triggered in your EasyBuild setup.

            For example, using --deprecated=5.0 with EasyBuild v4.x will transform any deprecation warning for functionality that will no longer be supported in EasyBuild v5.0 into an error message. For example:

            $ eb test.eb --deprecated=5.0\n== temporary log file in case of crash /tmp/easybuild-WWalWX/easybuild-aoL9Nd.log\nERROR: Failed to process easyconfig /home/example/test.eb:\nDEPRECATED (since v5.0) functionality used: Use of 'dummy' toolchain is deprecated, use 'system' toolchain instead;\nsee http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information\nbe used; see http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information\n

            Tip

            Define deprecated to the next major EasyBuild version in one of your EasyBuild configuration files (see Configuration file(s)) or by defining $EASYBUILD_DEPRECATED=5.0, to ensure you are made aware of deprecated behavior as early as possible.

            You can (temporarily) still rely on the deprecated functionality by specifying a lower version via --deprecated to overrule that setting, until the functionality is actually disabled.

            "},{"location":"detecting-loaded-modules/","title":"Detection of loaded modules","text":"

            Since EasyBuild v3.3.0, the eb command performs a check to see if any (EasyBuild-generated) modules have been loaded in the current environment.

            This check can be controlled via the --detect-loaded-modules and --allow-loaded-modules configuration options.

            In addition any unknown $EBROOT* environment variables are detected and acted upon, according to how the --check-ebroot-env-vars configuration option was set.

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_motivation","title":"Motivation","text":"

            Running EasyBuild in an environment where one or more (EasyBuild-generated) modules are loaded may interfere with the software installations performed by EasyBuild, i.e.:

            • they may cause installations failures, for example due to incompatibilities with the modules being loaded during the installation procedure being performed;
            • they may cause installations to work in that particular environment, for example by providing a necessary dependency

            Since manually loading modules may affect the reproducibility of software installations, it should be discouraged.

            In EasyBuild versions before v3.3.0, having a loaded module for the same software packages as the one being installed resulted in an EasyBuild error message.

            Since EasyBuild v3.3.0 a more extensive detection mechanism is available and the action that should be taken for loaded modules can be controlled via --detect-loaded-modules. Having a module loaded for any software package that is being installed still results in a hard error.

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_mechanism","title":"Detection mechanism","text":"

            Detecting loaded EasyBuild-generated modules is done by checking the environment for defined $EBROOT* environment variables. If any are found, the corresponding loaded module is determined for better reporting.

            In case defined $EBROOT* environment variables are found that do not match a loaded modules, action is taken as well; see Checking of $EBROOT* environment variables.

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action","title":"Action to take if loaded modules are detected","text":"

            The action that should be taken when one or more loaded (EasyBuild-generated) modules are detected can be specified via the --detect-loaded-modules configuration option.

            Supported values include:

            • error: report error and stop EasyBuild upon detection of loaded modules
            • ignore: ignore any loaded modules
            • purge: run 'module purge' to clean environment of loaded modules
            • unload: unload loaded modules
            • warn: print warning and continue upon detection of loaded modules (current default)

            The specified action is only taken for non-allowed loaded modules, see Allowing particular loaded modules.

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_error","title":"error: report error and stop EasyBuild upon detection of loaded modules","text":"

            When EasyBuild is configured with --detect-loaded-modules=error, it will print a clear error and stop when any (non-allowed) loaded modules are detected.

            For example:

            $ eb example.eb --detect-loaded-modules=error\n== temporary log file in case of crash /tmp/eb-UlKMRN/easybuild-MgfEHi.log\nERROR: Found one or more non-allowed loaded (EasyBuild-generated) modules in current environment:\n* Spack/0.10.0\n\nTo make EasyBuild allow particular loaded modules, use the --allow-loaded-modules configuration option.\nUse --detect-loaded-modules={error,ignore,purge,unload,warn} to specify action to take when loaded modules are detected.\n\nSee http://easybuild.readthedocs.io/en/latest/Detecting_loaded_modules.html for more information.\n
            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_ignore","title":"ignore: ignore any loaded modules","text":"

            With --detect-loaded-modules=ignore in place, any loaded modules are simply ignored and EasyBuild continues silently.

            This is equivalent to the behaviour of EasyBuild versions prior to version 3.3.0.

            Warning

            This is not recommended!

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_purge","title":"purge: run 'module purge' to clean environment of loaded modules","text":"

            Using --detect-loaded-modules=purge, EasyBuild will run module purge if any (non-allowed) loaded modules are detected, in an attempt to restore the environment to a clean state before starting software installations.

            A short warning message is printed in case module purge was used to clean up the environment:

            $ export EASYBUILD_DETECT_LOADED_MODULES=purge\n$ eb example.eb\n== temporary log file in case of crash /tmp/eb-QLTV9v/easybuild-6mOmIN.log\n\nWARNING: Found non-allowed loaded (EasyBuild-generated) modules (Spack/0.10.0), running 'module purge'\n\n...\n

            Note

            Whether or not module purge is a suitable action is site-specific, since this will unload all loaded modules (except for 'sticky' modules when Lmod is used), including modules that were not installed with EasyBuild and which may be always required.

            Configuring EasyBuild to use module purge when (non-allowed) loaded modules are found should not be done on Cray systems, since it will result in a broken environment.

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_unload","title":"unload: unload loaded modules","text":"

            When --detect-loaded-modules=unload is used, EasyBuild will only unload the (non-allowed & EasyBuild-generated) modules. The modules are unloaded in reverse order, i.e. the last loaded module is unloaded first.

            This is an alternative to using module purge, in case some other (allowed) modules are loaded and should remain loaded.

            A short warning message is printed when loaded modules are unloaded:

            $ eb example.eb --detect-loaded-modules=unload\n== temporary log file in case of crash /tmp/eb-JyyaEF/easybuild-WyGqZs.log\n\nWARNING: Unloading non-allowed loaded (EasyBuild-generated) modules: Spack/0.10.0\n\n...\n
            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_action_warn","title":"warn: print warning and continue upon detection of loaded modules","text":"

            When EasyBuild is configured with --detect-loaded-modules=warn, EasyBuild will print a warning mentioning that one or more loaded (EasyBuild-generated) were detected, before continuing as normal.

            The warning is intended to make the user aware that the environment in which EasyBuild is being run is not clean.

            For example:

            $ export EASYBUILD_DETECT_LOADED_MODULES=warn\n$ eb example.eb\n== temporary log file in case of crash /tmp/eb-9HD20m/easybuild-WAYzK2.log\n\nWARNING: Found one or more non-allowed loaded (EasyBuild-generated) modules in current environment:\n* Spack/0.10.0\n\nTo make EasyBuild allow particular loaded modules, use the --allow-loaded-modules configuration option.\nUse --detect-loaded-modules={error,ignore,purge,unload,warn} to specify action to take when loaded modules are detected.\n\nSee http://easybuild.readthedocs.io/en/latest/Detecting_loaded_modules.html for more information.\n\n...\n

            Note

            This is the default behaviour in EasyBuild v3.3.0 and newer.

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_allow","title":"Allowing particular loaded modules","text":"

            By default, only EasyBuild itself is considered as an allowed module.

            EasyBuild can be configured to allow particular modules to be loaded via --allow-loaded-modules, by specifying a comma-separated list of software names.

            For example:

            $ export EASYBUILD_DETECT_LOADED_MODULES=error\n$ export EASYBUILD_ALLOW_LOADED_MODULES=EasyBuild,GC3Pie\n\n$ module load EasyBuild\n$ module load GC3Pie\n$ eb example.eb\n...\n

            When --allow-loaded-modules is used, the EasyBuild module is no more allowed by default and must be explicitly listed if you want to allow an EasyBuild installation provided through a module.

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars","title":"Checking of $EBROOT* environment variables","text":"

            The detection mechanism for loaded modules relies on defined $EBROOT* environment variables, and determining by which loaded module they were set.

            When one or more $EBROOT* environment variables are found for which the corresponding loaded modules can not be found, this can lead to problems.

            Hence, EasyBuild will detect this and act on it, according to the value specified to --check-ebroot-env-vars:

            • error: report error and stop EasyBuild on unknown $EBROOT* environment variables
            • ignore: ignore unknown $EBROOT* environment variables
            • unset: unset unknown $EBROOT* environment variables and print warning
            • warn: print warning for unknown $EBROOT* environment variables and continue (current default)
            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars_error","title":"error: report error and stop EasyBuild on unknown $EBROOT* environment variables","text":"

            When configured with --check-ebroot-env-vars=error, EasyBuild will stop with a clear error message when it discovers one or more $EBROOT* environment variables that do not correspond to a loaded module:

            $ export EBROOTUNKNOWN=just_an_example\n\n$ eb example.eb --check-ebroot-env-vars=error\n\n== temporary log file in case of crash /tmp/eb-cNqOzG/easybuild-xmV8vc.log\nERROR: Found defined $EBROOT* environment variables without matching loaded module: $EBROOTUNKNOWN\n(control action via --check-ebroot-env-vars={error,ignore,unset,warn})\n
            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars_ignore","title":"ignore: ignore unknown $EBROOT* environment variables","text":"

            To simply ignore any defined $EBROOT* environment variables that do not correspond with a loaded module, configure EasyBuild with --check-ebroot-env-vars=ignore.

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars_unset","title":"unset: unset unknown $EBROOT* environment variables and print warning","text":"

            If you are confident that the defined $EBROOT* environment variables for which no matching loaded module was found are harmless, you can specify that EasyBuild should clean up the environment by unsetting them, before continuing. A clear warning message will be printed whenever this occurs:

            $ export EBROOTUNKNOWN=just_an_example\n\n$ eb bzip2-1.0.6.eb --check-ebroot-env-vars=unset\n\n== temporary log file in case of crash /tmp/eb-IvXik8/easybuild-cjHjhs.log\n\nWARNING: Found defined $EBROOT* environment variables without matching loaded module: $EBROOTUNKNOWN; unsetting them\n\n...\n

            Note that these unknown $EBROOT* will only be unset in the environment of the running EasyBuild session, not in the current session in which eb is being run.

            "},{"location":"detecting-loaded-modules/#detecting_loaded_modules_EBROOT_env_vars_warn","title":"warn: print warning for unknown $EBROOT* environment variables and continue","text":"

            If EasyBuild was configured with --check-ebroot-env-vars=warn, a warning will be printed when one or more defined $EBROOT* environment variables are encountered for which no corresponding loaded module was found:

            $ export EBROOTUNKNOWN=just_an_example\n\n$ export EASYBUILD_CHECK_EBROOT_ENV_VARS=warn\n$ eb example.eb\n\n== temporary log file in case of crash /tmp/eb-1h_LQ9/easybuild-BHrPk4.log\nWARNING: Found defined $EBROOT* environment variables without matching loaded module: $EBROOTUNKNOWN\n(control action via --check-ebroot-env-vars={error,ignore,unset,warn})\n\n...\n

            Note

            This is the default behaviour in EasyBuild v3.3.0 and newer.

            "},{"location":"easyconfig-files-local-variables/","title":"Local variables in easyconfig files","text":"

            This page discusses the use of local variables in easyconfig files.

            For more general information on writing easyconfig files, please see Writing easyconfig files: the basics.

            "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_motivation","title":"Motivation & context","text":"

            When composing easyconfig files, it can sometimes make sense to use one or more local variables to define easyconfig parameters in a cleaner way, for example to avoid copy-pasting values that are used multiple times, or to avoid too long lines (longer than the maximum width of 120 characters as specified in Code style). A local variable within the context of easyconfig files is any variable that does not correspond to a known easyconfig parameter (either general of easyblock-specific).

            One thing that is easily overlooked is the importance of how these local variables are named: you should try and avoid that the names of local variables will match with the name of an easyconfig parameter that may get introduced in future EasyBuild versions. If that would happen, the semantics of the easyconfig file will change which may either result in a broken installation or perhaps a different installation than was intended (which could be worse than a broken one).

            Avoiding that names of local variables are close to the name of (future) easyconfig parameters is also important, because of the \"typo detection\" feature that EasyBuild has: if the name of a local variable is too close to a known easyconfig parameter, EasyBuild will assume you have made a mistake, and will report a typo error, for example:

            ERROR: Failed to process easyconfig example.eb:\nYou may have some typos in your easyconfig file: configopt -> configopts\n
            "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_easybuild4","title":"Changes in EasyBuild v4.0 w.r.t. local variables in easyconfig files","text":"

            Some changes were made in EasyBuild v4.0 to discourage the use of poorly named local variables:

            • a Recommended naming scheme for local variables in easyconfig files was defined;
            • a mechanism was implemented to detect the use of local variables in easyconfig files, which will print a Warning for local variables that do not follow the recommended naming scheme
            • EasyBuild can be configured to report an error for local variables that do not follow the recommended naming scheme; see Specifying what should be done when non-confirming local variables are found via --local-var-naming-check
            • using eb --fix-deprecated-easyconfigs, the names of local variables can be changed automatically to match the recommended naming scheme; see Renaming local variables to match the recommended naming scheme using eb --fix-deprecated-easyconfigs
            "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_naming_scheme","title":"Recommended naming scheme for local variables in easyconfig files","text":"

            To ensure that local variables used in easyconfig files do not clash with easyconfig parameters that get added in future EasyBuild versions, we have defined a recommended naming scheme for local variables.

            Names of local variables should either:

            • start with local_, to make it explicit that it is a local variable (examples: local_example, local_var)
            • consist of a single letter (examples: f, l, x); this is typically only done within the context of a list comprehension
            • start with a single underscore (_), which matches the common convention in Python code that these variables are only for \"internal use\" (examples: _example, _local_var)

            Note

            A check was added in EasyBuild v4.0 to ensure that the names of known easyconfig parameters do not conform to any of these rules, to ensure that local variables can always be discriminated from known easyconfig parameters.

            "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_naming_warning","title":"Warning for local variables that do not follow the recommended naming scheme","text":"

            By default, EasyBuild will produce a clear warning when one or more local variables are used that do not conform to the Recommended naming scheme for local variables in easyconfig files.

            For example, when using an easyconfig file that includes a local variable named var:

            $ eb example.eb\n...\nWARNING: Use of 1 unknown easyconfig parameters detected in example.eb: var\nIf these are just local variables please rename them to start with 'local_', or try using --fix-deprecated-easyconfigs to do this automatically.\n

            To get rid of this warning, you can either:

            • rename the local variable, either manually to something like local_var or using eb --fix-deprecated-easyconfigs example.eb (see also Renaming local variables to match the recommended naming scheme using eb --fix-deprecated-easyconfigs)
            • configure EasyBuild to only log the warning (not print it), via --local-var-naming-check=log (see also Specifying what should be done when non-confirming local variables are found via --local-var-naming-check; note that silencing the printed warning is not recommended, see the motivation in Motivation & context
            "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_check_mode","title":"Specifying what should be done when non-confirming local variables are found via --local-var-naming-check","text":"

            Using the --local-var-naming-check configuration option, you can specify what should be done when one or more local variables are found that do not follow the Recommended naming scheme for local variables in easyconfig files:

            • --local-var-naming-check=error: fail with an error if any easyconfig file that was parsed includes local variables that do not follow the recommended naming scheme;
            • --local-var-naming-check=log: only log a warning (but do not print it) if any easyconfig file that was parsed includes local variables that do not follow the recommended naming scheme;
            • --local-var-naming-check=warn [default]: print a warning if any easyconfig file that was parsed includes local variables that do not follow the recommended naming scheme;

            The default is set such that non-confirming local variables are only reported through a printed warning, but do not result in cancelling the installation (since they're usually not actually problematic).

            "},{"location":"easyconfig-files-local-variables/#easyconfig_files_local_variables_fix_deprecated_easyconfigs","title":"Renaming local variables to match the recommended naming scheme using eb --fix-deprecated-easyconfigs","text":"

            To fix one or more easyconfig files that includes local variables that do not follow the Recommended naming scheme for local variables in easyconfig files, eb --fix-deprecated-easyconfigs can be used.

            For example:

            eb --fix-deprecated-easyconfigs bzip2.eb zlib.eb\n== temporary log file in case of crash /tmp/eb-Z7r_KJ/easybuild-dHtPY4.log\n\n* [1/2] fixing /tmp/example/bzip2.eb... FIXED!\n  (changes made in place, original copied to /tmp/example/bzip2.eb.orig_20190815180106_53972)\n\n* [2/2] fixing /tmp/example/zlib.eb... FIXED!\n  (changes made in place, original copied to /tmp/example/zlib.eb.orig_20190815180106_53972)\n\nAll done! Fixed 2 easyconfigs (out of 2 found).\n\n== Temporary log file(s) /tmp/eb-Z7r_KJ/easybuild-dHtPY4.log* have been removed.\n== Temporary directory /tmp/eb-Z7r_KJ has been removed.\n

            There are a couple of caveats here though...

            While --fix-deprecated-easyconfigs can be very useful, it's certainly not perfect since all it does is simple search and replace of the names of non-conforming local variables (as whole words) to prefix them with local_.

            This means that it may make some unintended changes, so make sure to always double check which changes were made!

            In addition, it sometimes make more sense to simply eliminate the local variable rather than renaming it, for example when it wasn't really needed at all: maybe it was only actually used once, or maybe using a template like %(pyver)s or (pyshortver)s (see also Available template values for easyconfigs) renders it obsolete.

            "},{"location":"easyconfigs-search-index/","title":"Using an index to speed up searching for easyconfigs","text":"

            EasyBuild often needs to search for Easyconfig files (or accompanying files like patches), either based on command line arguments (like the name of an easyconfig file) or options to the eb command (like --search, see Searching for easyconfigs), or to resolve dependencies for a particular easyconfig file that was parsed already.

            Searching for easyconfig files or patches may take a while, since it can potentially involve weeding through thousands of files, which may be located on a shared filesystem (where metadata-intensive operations like file searching can be rather slow).

            If EasyBuild turns out to be sluggish when searching for easyconfig files in your setup, using an index file could make a big difference.

            Note

            Support for index files was implemented in EasyBuild version 4.2.0 .

            "},{"location":"easyconfigs-search-index/#easyconfigs_index_create","title":"Creating an index","text":"

            (--create-index)

            eb --create-index can be used to create an index file for a particular directory that holds a (large) set of easyconfig files.

            The index file (a hidden file named .eb-path-index) will be created in the specified directory. It will contain a list of (relative) paths for all files in that directory, along with some metadata: the time at which the index file was created and a timestamp that indicates how long the index is considered to be valid (see Controlling how long the index is valid).

            Note

            Make sure to create an index for the correct path.

            The search for easyconfig files performed by EasyBuild will not recurse into subdirectories of the locations it considers (see Searching for easyconfigs: the robot search path), other than those with a name matching the software for which it is trying to find an easyconfig file (like t/TensorFlow/ when searching for an easyconfig file for TensorFlow).

            Hence, if the directory housing your easyconfig files has an easybuild/easyconfigs subdirectory (for example, a working copy of the easybuild-easyconfigs repository), create the index in that subdirectory, rather than in the higher-level directory.

            "},{"location":"easyconfigs-search-index/#easyconfigs_index_create_example","title":"Example of creating an index","text":"
            $ eb --create-index $HOME/easybuild-easyconfigs/easybuild/easyconfigs\n== temporary log file in case of crash /tmp/eb-tUu6_w/easybuild-SKBnVO.log\nCreating index for /home/example/easybuild-easyconfigs/easybuild/easyconfigs...\n== found valid index for /home/example/easybuild-easyconfigs/easybuild/easyconfigs, so using it...\nIndex created at /home/example/easybuild-easyconfigs/easybuild/easyconfigs/.eb-path-index (738 files)\n\n$ head -n 5 $HOME/easybuild-easyconfigs/easybuild/easyconfigs/.eb-path-index\n# created at: 2020-04-13 14:19:57.008981\n# valid until: 2020-04-20 14:19:57.008981\na/Arrow/Arrow-0.16.0-intel-2019b-Python-3.7.4.eb\nb/Boost/Boost-1.71.0-gompi-2019b.eb\nb/bokeh/bokeh-1.4.0-foss-2019b-Python-3.7.4.eb\n

            Note

            The \"found valid index ...\" message being printed occurs because EasyBuild tries to load the index file right after creating it, as a sanity check.

            "},{"location":"easyconfigs-search-index/#easyconfigs_index_update","title":"Updating an existing index","text":"

            (--create-index --force)

            To update an existing index, you can use --create-index --force.

            Without using --force, EasyBuild will refuse to overwrite the existing index file:

            $ eb --create-index $HOME/easybuild-easyconfigs/easybuild/easyconfigs\n== temporary log file in case of crash /tmp/eb-tUu6_w/easybuild-SKBnVO.log\nCreating index for /home/example/easybuild-easyconfigs/easybuild/easyconfigs...\nERROR: File exists, not overwriting it without --force: /home/example/easybuild-easyconfigs/easybuild/easyconfigs/.eb-path-index\n
            "},{"location":"easyconfigs-search-index/#easyconfigs_index_use","title":"Using index files","text":"

            EasyBuild will automatically pick up and use any index file that it runs into while searching for easyconfig files or patches. If an index file is found, it will be preferred over walking through the directory tree to check for the target file, which is likely to significantly speed up the search operation.

            When a (valid) index file is found for a particular path, a message will be printed mentioning \"found valid index for...\":

            $ eb --search TensorFlow-2.1.0-foss-2019b\n== found valid index for /home/example/easybuild-easyconfigs/easybuild/easyconfigs, so using it...\n* /home/example/easybuild-easyconfigs/easybuild/easyconfigs/t/TensorFlow/TensorFlow-2.1.0-foss-2019b-Python-3.7.4.eb\n
            "},{"location":"easyconfigs-search-index/#easyconfigs_index_ignore","title":"Ignoring indices","text":"

            (--ignore-index)

            One potential issue with having an index in place is that it may get outdated: new files may have been added to the directory since the index was created or last updated.

            If updating the indexes is not an option (see Updating an existing index), you can instruct EasyBuild to ignore any existing indices using the --ignore-index configuration option.

            The only downside of this option is that searching for easyconfig files may be significantly slower. Any existing index files are left untouched (they will not be updated or removed).

            "},{"location":"easyconfigs-search-index/#easyconfigs_index_max_age","title":"Controlling how long the index is valid","text":"

            (--index-max-age)

            When creating an index file, you can specify how long the index should be considered valid.

            Using the --index-max-age configuration option, you can specify how long after the creation time the index remains valid (in seconds).

            By default, EasyBuild will consider index files to remain valid for 1 week (7 * 24 * 60 * 60 = 604,800 seconds).

            To create an index that always remains valid (never expires), use zero (0) as value for --index-max-age:

            $ eb --index-max-age=0 --create-index $HOME/easybuild-easyconfigs/easybuild/easyconfigs\n\n$ head -n 2 $HOME/easybuild-easyconfigs/easybuild/easyconfigs/.eb-path-index\n# created at: 2020-04-13 15:10:07.173191\n# valid until: 9999-12-31 23:59:59.999999\n

            Note

            Trust us here, December 31st 9999 is the end of times. Better get prepared.

            "},{"location":"easyconfigs-search-index/#easyconfigs_index_release","title":"Index included with EasyBuild releases","text":"

            Each EasyBuild release (since EasyBuild v4.2.0) comes with an index file for the easyconfig (and patch) files that are included with that release.

            Hence, you only need to use --create-index to create/update the index file for any additional directories with easyconfig files you may have on the side (and only if searching those easyconfig files is rather slow).

            "},{"location":"easyconfigs-search-index/#easyconfigs_index_should_use","title":"Should I create an index?","text":"

            Whether or not you should create an index file for your directories housing additional easyconfig files depends on a number of factors, including:

            • how often files are added and/or removed in those directories, since files listed in the index are assumed to be there and any files not included in the index will be overlooked by EasyBuild when it's searching for files;
            • the filesystem on which those directories are located, since an index file will only make a significant difference on filesystems where metadata-intensive operations are relatively slow;
            • how many files there are in those directories, since performance benefits will only be apparent if the number if files is sufficiently large;

            Note

            Keep in mind that creating an index implies also updating it frequently, to ensure that EasyBuild will take all available files in account.

            "},{"location":"easystack-files/","title":"Easystack files","text":"

            This documentation covers aspects of specifying a software stack to install with Easybuild with easystack files.

            Note: this is an experimental feature. Some of the mentioned functionality may be subject to change or be prone to errors.

            Note

            Some breaking changes were made to the experimental easystack support in EasyBuild v4.7.0.

            Easystack files must now use the easyconfigs top-level key to list easyconfig filenames, as opposed to the software top-level key and separate subkeys like version, versionsuffix and toolchain to specify aspects of an easyconfig file that were supported before.

            "},{"location":"easystack-files/#easystack_basics","title":"The basics","text":"

            Easystack files describe an entire software stack, and can be used to specify to EasyBuild what to install.

            "},{"location":"easystack-files/#easystack_usage","title":"Usage","text":"

            To build software with Easystack, type:

            eb --easystack example.yaml --experimental\n

            where example.yaml is the file with specifications that you just created (more about this in the next section).

            "},{"location":"easystack-files/#easystack_structure","title":"Structure of an easystack file","text":"

            Easystack files are written in YAML syntax.

            Essentially, an easystack file lists the easyconfig files you want to install, which are specified under the easyconfigs key.

            For example:

            easyconfigs:\n- PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb\n- OpenFOAM-v2206-foss-2022a.eb\n

            Note

            You must use '-' to list the easyconfigs in an easystack file.

            In addition, you can specify additional configuration options via the options subkey which will only apply to the installation of a particular easyconfig file.

            For example:

            easyconfigs:\n- PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb:\noptions:\nfrom-pr: 15924\ndebug: True\n- Hypre-2.25.0-foss-2022a.eb:\n- OpenFOAM-v2206-foss-2022a.eb:\noptions:\ninstallpath: /my/custom/installpath\nparallel: \"1\"\n

            Note

            You need to take care with some values in YAML, especially integers, booleans, etc.

            If the specified value definitely must be a string value, you should use quotes ('...') to avoid that the YAML parser automatically converts the value to be of a specific type.

            If you wish to use 1 (the number one), such as for the value to parallel option in the example above, then this should be quoted, to avoid it being treated as the boolean True.

            In other cases, the automatic conversion is useful, like for the True used above, since debug is a boolean configuration option.

            The configuration options that are valid for the eb command can be used (see eb --help), but the - or -- prefixes that are commonly used on the command line are omitted in easystack files.

            Using the example easystack file above would be equivalent to running:

            eb PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb --from-pr 15924 --debug\neb Hypre-2.25.0-foss-2022a.eb\neb OpenFOAM-v2206-foss-2022a.eb --installpath /my/custom/installpath\n

            Note

            Whenever configuration options are not specified (as is the case for Hypre in the example easystack file above), you are still allowed to use ':' after the easyconfig filename: there is no difference in behaviour in ending with or without ':'.

            Specifying short options in an easystack file is allowed, for example:

            easyconfigs:\n- OpenFOAM-v2206-foss-2022a.eb:\noptions:\nD: True\n

            This is not recommended however, as short options are more difficult to interpret by humans.

            "},{"location":"easystack-files/#easystack_combining_options","title":"Combining command line options with options in an easystack file","text":"

            When building software with an easystack file, you can still add additional options on the command line as well. These apply to all items in the easystack file. For example, if you have an easystack file named my_easystack.yaml

            easyconfigs:\n- PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb:\noptions:\nfrom-pr: 15924\ndebug: True\n- OpenFOAM-v2206-foss-2022a.eb:\n

            and you run with

            eb --experimental --easystack my_easystack.yaml --dry-run\n

            this will have the same effect as running

            eb PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb --dry-run --from-pr 15924 --debug\neb OpenFOAM-v2206-foss-2022a.eb --dry-run --installpath /my/custom/installpath\n

            Note that options specified on the command line are placed before the easyconfig-specific options in the easystack file. EasyBuild will always respect the argument that was put last.

            For example:

            eb PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb --dry-run --disable-dry-run\n

            will effectively run without enabling dry run mode, since --disable-dry-run is specified after --dry-run.

            Since easyconfig-specific configuration options specified in the easystack file are put last, they take priority over the the ones on the command line, if the same configuration option is specified in both.

            For example, running:

            eb --experimental --easystack my_easystack.yaml --disable-debug\n

            will effectively cause PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb to be installed with debug logging enabled, while OpenFOAM-v2206-foss-2022a.eb will be effectively installed without debug logging.

            "},{"location":"easystack-files/#to-be-developed","title":"To be developed","text":"

            In the future, we are planning to support additional also global options specified in the easystack file. For example:

            options:\nrobot: True\neasyconfigs:\n- PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb\n- OpenFOAM-v2206-foss-2022a.eb\n

            would installed both PyTorch-1.12.0-foss-2022a-CUDA-11.7.0.eb and OpenFOAM-v2206-foss-2022a.eb using --robot (see issue #4105).

            Additionally, we plan to support specifying for which EasyBuild version an easystack file was intended, which can be helpful in more accurately recreating a certain software stack (see issue #4106).

            In the future, the --easystack option will probably be dropped, and EasyBuild will automatically detect the use of easystack files (see issue #4104).

            Finally, we plan to support specifying labels, which would make it more easy to install only a certain subset of the items listed in an easystack file. For example, by labelling all GPU-capable software with a gpu label, one could easily choose to not build anything labeled gpu on a CPU node (see issue #3512).

            "},{"location":"experimental-features/","title":"Experimental features","text":"

            First introduced in EasyBuild v2.1.0 (see EasyBuild v2.1.0 Release Notes), experimental features can only be used by enabling the --experimental configuration option.

            An experimental feature indicates to users that these features may change significantly in a future release and should be used only for testing, not (yet) for production usage.

            Currently enabled experimental features include:

            • support for easyconfig files in YAML syntax (see Writing easyconfig files in YAML syntax)
            • support for generating container recipes & images (see Generating container recipes & images)
            • support for using easystack files (see Easystack files)
            • support for trying to update versions of the dependencies of an easyconfig based on what is available in the robot path (see Output of eb --help)
            • support for installing extensions in parallel (see Installing extensions in parallel)
            "},{"location":"extended-dry-run/","title":"Extended dry run","text":"

            Using --extended-dry-run or -x (supported since EasyBuild v2.4.0, see release notes for EasyBuild v2.4.0 (November 10th 2015)), a detailed overview of the build and install procedure that EasyBuild is going to execute can be obtained almost instantly.

            All time-consuming operations, including executing commands to configure/build/install the software, are only reported rather than being actually performed.

            Example output is available at Extended dry run: examples.

            "},{"location":"extended-dry-run/#extended_dry_run_notes","title":"Important notes","text":"

            There are a couple of things you should be aware of when using --extended-dry-run and interpreting the output it produces.

            "},{"location":"extended-dry-run/#extended_dry_run_notes_differences","title":"Build/install procedure reported by dry run may be (slightly) different","text":"

            The actual build and install procedure may (slightly) differ from the one reported by --extended-dry-run, due to conditional checks in the easyblock being used.

            For example, expressions that are conditional on the presence of certain files or directories in the build directory will always be false, since the build directory is never actually populated.

            "},{"location":"extended-dry-run/#extended_dry_run_notes_ignored_errors","title":"Errors are ignored (by default) during dry run","text":"

            Any errors that occur are ignored, and are reported with a clear warning message. This is done because it is possible that these errors occur because of the dry run mechanism.

            For example, the install step could assume that certain files created by a previous step will be present, but they will not be there since the commands that are supposed to produce them were not actually performed in dry run mode.

            Errors are ignored on a per-step basis. When an error is ignored in a particular step, that step is aborted, which may result in partial dry run output for that particular step. Subsequent steps will still be run (in dry run mode), however.

            Since it's possible that these errors occur due to a bug in the easyblock being used, it's important to pay attention to these ignored errors.

            Ignored errors are reported as follows, for example:

            == testing... [DRY RUN]\n\n[test_step method]\n!!!\n!!! WARNING: ignoring error \"[Errno 2] No such file or directory: 'test'\"\n!!!\n

            At the end of dry run output, another warning message is shown if any ignored errors occurred:

            == COMPLETED: Installation ended successfully\n\n!!!\n!!! WARNING: One or more errors were ignored, see warnings above\n!!!\n
            "},{"location":"extended-dry-run/#extended_dry_run_notes_ignored_errors_disabling","title":"Disabling ignoring errors during dry run","text":"

            Ignoring errors that occur during a dry run is enabled by default; it can be disabled using the configuration option that is available for it, i.e. by:

            • the --disable-extended-dry-run-ignore-errors command line option
            • by defining the $EASYBUILD_DISABLE_EXTENDED_DRY_RUN_IGNORE_ERRORS environment variable
            • or by defining disable-extended-dry-run-ignore-errors in an EasyBuild configuration file

            (see also Configuring EasyBuild)

            "},{"location":"extended-dry-run/#extended_dry_run_overview","title":"Overview of dry run mechanism","text":"

            During an extended dry run, several operations are not performed, or are only simulated.

            The sections below give a detailed overview of the dry run mechanism.

            "},{"location":"extended-dry-run/#extended_dry_run_overview_build_install_dirs","title":"Temporary directories as build/install directories","text":"

            To make very sure that EasyBuild does not touch any files or directories during the dry run, the build and (software/module) install directories are replaced by subdirectories of the temporary directory used by that particular EasyBuild session.

            In the background, the values for self.builddir, self.installdir and self.installdir_mod are changed in the EasyBlock instance(s) being used; this also affects the use of the %(builddir)s and $(installdir)s values in easyconfig files.

            Although the build and install directories are effectively temporary directories during a dry run (under a prefix like /tmp/eb-aD_yNu/__ROOT__), this is not visible in the dry run output: the 'fake' build and install directories are replaced by the corresponding original value in the dry run output. For example:

            [extract_step method]\n  running command \"tar xzf /home/example/easybuild/sources/b/bzip2/bzip2-1.0.6.tar.gz\"\n  (in /tmp/example/eb_build/bzip2/1.0.6/GCC-4.9.2)\n
            "},{"location":"extended-dry-run/#extended_dry_run_overview_build_dir_guess","title":"Note on build directory in dry run mode","text":"

            The build (sub)directory used during an actual (non-dry run) EasyBuild session may be different than the one mentioned in the dry run output.

            This is because during a dry run, EasyBuild will guess the name of the subdirectory that is created by unpacking the first source file in the build directory as being <name>-<version>. Although this is a common pattern, it is not always 100% correct.

            For example, you may see this in the dry run output for WRF (for which a build-in-installdir procedure is used):

            [build_step method]\n  running command \"tcsh ./compile -j 4 wrf\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n

            The actual build (and install) subdirectory is slightly different while not in dry run mode however, i.e.: /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRFV3.

            "},{"location":"extended-dry-run/#extended_dry_run_overview_downloading","title":"No downloading of missing source files/patches","text":"

            Required files (source files/patches) are not downloaded during a dry run if they are not available yet.

            The dry run output will specify whether files are found (and if so, at which path) or not; the exact output for files that were not found depends on whether or not source URLs are available.

            For example: if the required source file for bzip2 is not available yet, it is indicated where EasyBuild will try to download it to:

            [fetch_step method]\nAvailable download URLs for sources/patches:\n  * http://www.bzip.org/1.0.6/$source\n\nList of sources:\n  * bzip2-1.0.6.tar.gz downloaded to /home/example/easybuild/sources/b/bzip2/bzip2-1.0.6.tar.gz\n\nList of patches:\n(none)\n

            If the source file is already available in the source path that EasyBuild was configured with, it is indicated as such:

            List of sources:\n  * bzip2-1.0.6.tar.gz found at /home/example/easybuild/sources/b/bzip2/bzip2-1.0.6.tar.gz\n

            In case no source URLs are available and required files are missing, they are simply marked as such:

            Available download URLs for sources/patches:\n(none)\n\nList of sources:\n  * bzip2-1.0.6.tar.bz2 (MISSING)\n

            However, since the dry run mechanism never actually uses the source files/patches, this does not affect the remainder of the output of --extended-dry-run/-x.

            "},{"location":"extended-dry-run/#extended_dry_run_overview_checksum_verification","title":"Checksum verification is skipped","text":"

            Computing checksums of sources files/patches, and verifying them against specified checksums (if available) is skipped during a dry run, because it is considered potentially too time-consuming. In addition, source files/patches may not be available anyway.

            If checksums are available they are only reported, for example (for GCC v4.9.3):

            [checksum_step method]\n* expected checksum for gcc-4.9.3.tar.bz2: 6f831b4d251872736e8e9cc09746f327\n* expected checksum for gmp-6.0.0a.tar.bz2: b7ff2d88cae7f8085bd5006096eed470\n* expected checksum for mpfr-3.1.2.tar.gz: 181aa7bb0e452c409f2788a4a7f38476\n* expected checksum for mpc-1.0.2.tar.gz: 68fadff3358fb3e7976c7a398a0af4c3\n* expected checksum for mpfr-3.1.2-allpatches-20141204.patch: 58aec98d15982f9744a043d2f1c5af82\n
            "},{"location":"extended-dry-run/#extended_dry_run_overview_unpacking_sources","title":"Source files are not unpacked","text":"

            Source files are not unpacked, since this may require too much time (in case of large source files). Additionally, source files may not be available anyway.

            This has a number of implications:

            • files or directories that may be expected to be there are not, which may lead to (ignored) errors if the used easyblock does not take this into account (see also Errors are ignored (by default) during dry run)
            • the build directory in which commands are executed may be incorrect in the dry run output (see also Note on build directory in dry run mode)

            The extraction command is mentioned in the dry run output however, for example:

            [extract_step method]\n  running command \"tar xjf bzip2-1.0.6.tar.bz2\"\n  (in /tmp/example/eb_build/bzip2/1.0.6/GCC-4.9.2)\n
            "},{"location":"extended-dry-run/#extended_dry_run_overview_patching","title":"Patch files are not applied, no runtime patching","text":"

            Since source files are not unpacked, patch files can not applied either.

            The dry run output does provide an overview of patch files, together with where they are found and how they are applied:

            [patch_step method]\n* applying patch file WRF_parallel_build_fix.patch\n  running command \"patch -b -p<derived> -i /home/example/easybuild/sources/w/WRF/WRF_parallel_build_fix.patch\"\n  (in /home/example/easybuild/easybuild/software/WRF/3.6.1-intel-2015a-dmpar)\n* applying patch file WRF-3.6.1_known_problems.patch\n  running command \"patch -b -p<derived> -i /home/example/easybuild/sources/w/WRF/WRF-3.6.1_known_problems.patch\"\n  (in /home/example/easybuild/easybuild/software/WRF/3.6.1-intel-2015a-dmpar)\n

            Likewise, runtime patching performed by the easyblock itself can not work either. If the apply_regex_substitutions function (available from easybuild.tools.filetools) is used, a clear overview is included in the dry run output (see also Runtime patching of files).

            For example, in the configure step of the WRF easyblock when using the Intel compilers, this yields:

            [configure_step method]\n...\napplying regex substitutions to file configure.wrf\n  * regex pattern '^(DM_FC\\s*=\\s*).*$', replacement string '\\1 mpif90'\n  * regex pattern '^(DM_CC\\s*=\\s*).*$', replacement string '\\1 mpicc -DMPI2_SUPPORT'\n

            If the apply_regex_substitutions function provided for runtime patching is not used (and fileinput is used directly, for example), runtime patching performed by the easyblock will most likely result in an error, leading to the step in which it is being performed being aborted (see Errors are ignored (by default) during dry run).

            "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load","title":"Module load statements are executed or simulated","text":"

            module load statements are either effectively executed or simulated, depending on whether the corresponding module files are available or not.

            "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load_available","title":"Available modules are loaded","text":"

            module load statements are fairly light-weight, so they are effectively executed if the module being loaded is available.

            The dry run output includes an overview of the modules being loaded. In addition an overview of all loaded modules, including the ones that were loaded indirectly, is shown.

            For example:

            [prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load GCC/4.9.2\n\nLoading modules for dependencies...\n\nmodule load M4/1.4.17-GCC-4.9.2\n\nFull list of loaded modules:\n  1) GCC/4.8.2\n  2) M4/1.4.17-GCC-4.9.2\n
            "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load_simulated","title":"Loading of non-available modules is simulated","text":"

            If the module file required to execute a particular module load statement is not available, the dry run mechanism will simulate the loading of the module.

            The module load statements that were simulated rather than actually performed are clearly indicated using [SIMULATED] in the dry run output, for example:

            [prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load intel/2015a\n\nLoading modules for dependencies...\n\nmodule load JasPer/1.900.1-intel-2015a\nmodule load netCDF/4.3.2-intel-2015a [SIMULATED]\nmodule load netCDF-Fortran/4.4.0-intel-2015a [SIMULATED]\nmodule load tcsh/6.18.01-intel-2015a\n

            Only modules that were effectively loaded will appear in the full list of modules being printed; modules for which the load was simulated will not be included.

            "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load_simulated_deps","title":"Simulated loading of non-available dependency modules","text":"

            For dependencies, simulating a module load statement basically (only) entails defining the $EBROOT* and $EBVERSION* environment variables (the full variable names are determined by the software name), which are picked up by resp. the get_software_root and get_software_version functions often used in easyblocks.

            The $EBVERSION* environment variable is defined with the actual software version of the dependency.

            For the $EBROOT* environment variable, the name of the environment variable itself prefixed with a '$' is used as a dummy value, rather than using an fake installation software prefix. For example, when simulating the load statement for a GCC module, the environment variable $EBROOTGCC is defined as the string value '$EBROOTGCC' (literally).

            This results in sensible output when this value is picked up via get_software_root by the easyblock.

            For example, for netCDF used as a dependency for WRF the following is included in the module file contents included in the dry run output:

            setenv  NETCDF      \"$EBROOTNETCDF\"\nsetenv  NETCDFF     \"$EBROOTNETCDFMINFORTRAN\"\n
            "},{"location":"extended-dry-run/#extended_dry_run_overview_module_load_simulated_toolchain","title":"Simulated loading of non-available toolchain module","text":"

            When the module that corresponds to the toolchain being used is not available, the dry run mechanism will also simulate the module load statements for the individual toolchain components, to ensure that version checks on the toolchain components can work as expected.

            For example, if the toolchain module intel/2015a is not available, the loading of the icc, ifort, impi and imkl modules that would be loaded by the intel module is also simulated:

            [prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load icc/2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load ifort/2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load impi/5.0.2.044-iccifort-2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load imkl/11.2.1.133-iimpi-7.2.3-GCC-4.9.2 [SIMULATED]\nmodule load intel/2015a [SIMULATED]\n
            "},{"location":"extended-dry-run/#extended_dry_run_build_environment","title":"Build environment is reported","text":"

            The build environment that is set up based on the toolchain (and toolchain options) being used, and the dependencies being loaded is reported as a part of the dry run output.

            For example, when GCC is used as a toolchain something like this will be included in the prepare_step part of the dry run output:

            Defining build environment...\n\n  export CC=\"gcc\"\n  export CFLAGS=\"-O2\"\n  export CXX=\"g++\"\n  export CXXFLAGS=\"-O2\"\n  export F77=\"gfortran\"\n  export F90=\"gfortran\"\n  export F90FLAGS=\"-O2\"\n  export FFLAGS=\"-O2\"\n  export FLIBS=\"-lgfortran\"\n  export LDFLAGS=\"-L/home/example/eb/software/GCC/4.8.2/lib\"\n  export LIBS=\"-lm -lpthread\"\n  export OPTFLAGS=\"-O2\"\n  export PRECFLAGS=\"\"\n

            This is particularly useful as an overview of which environment variables that are defined by the toolchain mechanism, and to assess the effect of changing toolchain options.

            The output is deliberately formatted such that is can be easily copy-pasted, which can be useful to mimic the environment in which EasyBuild will perform the build and install procedure.

            "},{"location":"extended-dry-run/#extended_dry_run_overview_run_cmd","title":"Shell commands are not executed","text":"

            Any shell commands that are executed via the run_cmd and run_cmd_qa functions that are provided by the EasyBuild framework via the easybuild.tools.run are not executed, only reported (see also Executing commands).

            This typically includes the commands that are defined in the easyblock to be run as a part of the configure/build/install steps.

            For example:

            configuring... [DRY RUN]\n\n[configure_step method]\n  running command \" ./configure --prefix=/home/example/eb/software/make/3.82-GCC-4.8.2 \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\nbuilding... [DRY RUN]\n\n[build_step method]\n  running command \" make -j 4 \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\n...\n\ninstalling... [DRY RUN]\n\n[stage_install_step method]\n\n[make_installdir method]\n\n[install_step method]\n  running command \" make install \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n

            There are a couple of minor exceptions though. Some (light-weight) commands are always run by the EasyBuild framework, even in dry run mode, and an easyblock can specify that particular commands must always be run (see also Executing commands).

            "},{"location":"extended-dry-run/#extended_dry_run_overview_sanity_check","title":"Sanity check paths/commands are not checked","text":"

            Since nothing is actually being installed during a dry run, the sanity check paths/commands can not be checked.

            Instead, the dry run mechanism will produce a clear overview of which paths are expected to be found in the installation directory, and which commands are expected to work (if any).

            For example:

            sanity checking... [DRY RUN]\n\n[sanity_check_step method]\nSanity check paths - file ['files']\n  * WRFV3/main/ideal.exe\n  * WRFV3/main/libwrflib.a\n  * WRFV3/main/ndown.exe\n  * WRFV3/main/nup.exe\n  * WRFV3/main/real.exe\n  * WRFV3/main/tc.exe\n  * WRFV3/main/wrf.exe\nSanity check paths - (non-empty) directory ['dirs']\n  * WRFV3/main\n  * WRFV3/run\nSanity check commands\n  (none)\n
            "},{"location":"extended-dry-run/#extended_dry_run_overview_no_downloading","title":"Module file is incomplete and only printed","text":"

            During a dry run, the contents of the module file that would be installed is still generated, but only printed; it is not actually written to file.

            More importantly however, the module file being reported is bound to be incomplete, since the module generator only includes certain statements conditionally, for example only if the files/directories to which they relate actually exist. This typically affects prepend-path statements, e.g. for $PATH, $LD_LIBRARY_PATH, etc.

            For example, the reported module file for make v3.82 built with GCC/4.8.2 may look something like:

            creating module... [DRY RUN]\n\n[make_module_step method]\nGenerating module file /home/example/eb/modules/all/make/3.82-GCC-4.8.2, with contents:\n\n    #%Module\n    proc ModulesHelp { } {\n        puts stderr { make-3.82: GNU version of make utility - Homepage: http://www.gnu.org/software/make/make.html\n        }\n    }\n\n    module-whatis {Description: make-3.82: GNU version of make utility - Homepage: http://www.gnu.org/software/make/make.html}\n\n    set root /home/example/eb/software/make/3.82-GCC-4.8.2\n\n    conflict make\n\n    if { ![ is-loaded GCC/4.8.2 ] } {\n        module load GCC/4.8.2\n    }\n\n    setenv  EBROOTMAKE      \"$root\"\n    setenv  EBVERSIONMAKE       \"3.82\"\n    setenv  EBDEVELMAKE     \"$root/easybuild/make-3.82-GCC-4.8.2-easybuild-devel\"\n\n    # Built with EasyBuild version 2.4.0\n

            Note that there is no prepend-path PATH statement for the bin subdirectory, for example.

            "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks","title":"Guidelines for easyblocks","text":"

            To ensure useful output under --extended-dry-run, easyblocks should be implemented keeping in mind that some operations are possible not performed, to avoid generating errors in dry run mode.

            Although errors are just ignored by the dry run mechanism on a per-step basis, they may hide subsequent operations and useful information for the remainder of the step (see also Errors are ignored (by default) during dry run).

            "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_detect_dry_run","title":"Detecting dry run mode and enhancing the dry run output","text":"

            To detect whether an easyblock is being used in dry run mode, it suffices to check the self.dry_run class variable.

            Additional messages can be included in the dry run output using the self.dry_run_msg method.

            For example:

            class Example(EasyBlock):\n\n    def configure_step(self):\n\n        if self.dry_run:\n            self.dry_run_msg(\"Dry run mode detected, not reading template configuration files\")\n            ...\n
            "},{"location":"extended-dry-run/#extended_dry_run_guidelines_files_dirs_checks","title":"Check whether files/directories exist before accessing them","text":"

            Rather than assuming that particular files or directories will be there, easyblocks should take into that they may not be, for example because EasyBuild is being run in dry run mode.

            For example, instead of simply assuming that a directory named 'test' will be there, the existence should be checked first. If not, an appropriate error should be produced, but only when the easyblock is not being used in dry run mode.

            Bad example:

            # *BAD* example: maybe the 'test' directory is not there (e.g., because we're in dry run mode)!\ntry:\n    testcases = os.listdir('test')\nexcept OSError as err:\n    raise EasyBuildError(\"Unexpected error when determining list of test cases: %s\", err)\n

            Good example:

            # make sure the 'test' directory is there before trying to access it\nif os.path.exists('test'):\n    try:\n        testcases = os.listdir('test')\n    except OSError as err:\n        raise EasyBuildError(\"Unexpected error when determining list of test cases: %s\", err)\n\n# only raise an error if we're not in dry run mode\nelif not self.dry_run:\n    raise EasyBuildError(\"Test directory not found, failed to determine list of test cases\")\n

            Easyblocks that do not take this into account are likely to result in ignored errors during a dry run (see also Errors are ignored (by default) during dry run). For example, for the bad example shown above:

            !!!\n!!! WARNING: ignoring error \"Unexpected error when determining list of test cases: [Errno 2] No such file or directory: 'test'\"\n!!!\n
            "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions","title":"Use functions provided by the EasyBuild framework","text":"

            The EasyBuild framework provides a bunch of functions that are \"dry run-aware\", and which can significantly help in keeping easyblocks free from conditional statements checking self.dry_run:

            • Defining environment variables
            • Writing or appending to files
            • Runtime patching of files
            • Executing commands
            "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions_setvar","title":"Defining environment variables","text":"

            (setvar)

            For defining environment variables, the setvar function available in the easybuild.tools.environment module should be used.

            For example, from the WRF easyblock:

            jasper = get_software_root('JasPer')\nif jasper:\n    env.setvar('JASPERINC', os.path.join(jasper, 'include'))\n

            When triggered in dry run mode, this will result in a clear dry run message like:

            export JASPERINC=\"$EBROOTJASPER/include\"\n

            The actual output depends on whether or not the required module for JasPer is available (see Simulated loading of non-available dependency modules).

            "},{"location":"extended-dry-run/#silently-defining-environment-variables","title":"Silently defining environment variables","text":"

            The setvar function also supports defining environment variables silently, i.e. without producing a corresponding dry run message, via the named argument verbose.

            This is used in a couple of places in the EasyBuild framework, to avoid some environment variables being defined cluttering the dry run output without added value. It can be used for similar reasons in easyblocks.

            For example, the PythonPackage uses it in the install step, to modify $PYTHONPATH as required by the python setup.py install procedure (which is considered not relevant to include in the dry run output, since it's a technicality):

            env.setvar('PYTHONPATH', new_pythonpath, verbose=False)\n
            "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions_write_file","title":"Writing or appending to files","text":"

            (write_file)

            For writing and appending to files, the EasyBuild framework provides the write_file function (available from the easybuild.tools.filetools module).

            Using it is straightforward, for example:

            write_file('example.txt', \"Contents for the example file\")\n

            To append to an existing file, write_file support a named argument append.

            When used in dry run mode, write_file does not actually (attempt to) write to the file; instead, it just produces an appropriate dry run message and returns.

            For example:

            file written: /tmp/eb-ksVC07/tmp.conf\n
            "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions_runtime_patching","title":"Runtime patching of files","text":"

            (apply_regex_substitutions)

            To make runtime patching of files in easyblocks easier, and to do it with taking the possibility of being in dry run module into account, the EasyBuild framework provides the apply_regex_substitutions function (available from the easybuild.tools.filetools module, since EasyBuild v2.4.0).

            This function takes two arguments: a path to the file that should be patched, and a list of tuples specifying the regular expression pattern to match on, and the string value that should be used as replacement text.

            For example (simple fictional example):

            # replace value for C++ compiler\napply_regex_substitutions('config.mk', [('^(CPLUSPLUS\\s*=).*', '\\1 %s' % os.environ['CXX'])])\n

            When used in dry run mode, it will produce a message like:

            applying regex substitutions to file config.mk\n  * regex pattern '^(CPLUSPLUS\\s*=\\s).*', replacement string '\\1 g++'\n
            "},{"location":"extended-dry-run/#extended_dry_run_guidelines_easyblocks_framework_functions_run_cmd","title":"Executing commands","text":"

            (run_cmd and run_cmd_qa)

            To execute shell commands, the run_cmd and run_cmd_qa functions are provided by the EasyBuild framework in the easybuild.tools.run module, with the latter providing support for running interactive commands.

            In their simplest form, they simply take the command to execute as a string. For example:

            run_cmd(\"tcsh ./compile -j %s wrf\" % self.cfg['parallel'])\n

            In dry run mode, these functions just produce a dry run message, rather than actually executing the specified command. For example:

            running command \"tcsh ./compile -j 4 wrf\"\n(in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n

            Take into account that the directory included in the message may not be 100% accurate, see Note on build directory in dry run mode.

            "},{"location":"extended-dry-run/#silently-executing-commands","title":"Silently executing commands","text":"

            The verbose named argument supported by the run_cmd function allows to execute a particular command silently, i.e. without producing a dry run message.

            For example:

            # only run for debugging purposes\nrun_cmd(\"ulimit -v\", verbose=False)\n
            "},{"location":"extended-dry-run/#forced-execution-of-particular-commands","title":"Forced execution of particular commands","text":"

            Sometimes, it can be required that specific (light-weight) commands are always executed, because they have side-effects that are assumed to have taken place later in the easyblock.

            For this, the run_cmd function support another named argument, i.e. force_in_dry_run. When set to True, the specified command will always be executed, even when in dry run mode.

            This is mainly intended for use in the EasyBuild framework itself, where commands that verify certain things must be executed, but it can also be useful for easyblocks (if used correctly).

            For example:

            out, exit_code = run_cmd(\"type module\", simple=False, force_in_dry_run=True)\n
            "},{"location":"extended-dry-run/#extended_dry_run_examples","title":"Extended dry run: examples","text":"

            Output examples for eb --extended-dry-run/eb -x:

            • make v3.82 with GCC/4.8.2
            • WRF v3.6.1 with intel/2015a
            "},{"location":"extended-dry-run/#extended_dry_run_examples_make382_GCC482","title":"make v3.82 with GCC/4.8.2","text":"
            $ eb make-3.82-GCC-4.8.2.eb -x\n== temporary log file in case of crash /tmp/eb-ksVC07/easybuild-MmAugb.log\n\n== processing EasyBuild easyconfig /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/m/make/make-3.82-GCC-4.8.2.eb\n\nImportant note: the actual build & install procedure that will be performed may diverge\n(slightly) from what is outlined below, due to conditions in the easyblock which are\nincorrectly handled in a dry run.\nAny errors that may occur are ignored and reported as warnings, on a per-step basis.\nPlease be aware of this, and only use the information below for quick debugging purposes.\n\n*** DRY RUN using 'ConfigureMake' easyblock (easybuild.easyblocks.generic.configuremake @ /home/example/eb/easybuild-easyblocks/easybuild/easyblocks/generic/configuremake.pyc) ***\n\n== building and installing make/3.82-GCC-4.8.2...\nfetching files... [DRY RUN]\n\n[fetch_step method]\nAvailable download URLs for sources/patches:\n  * http://ftpmirror.gnu.org/make/$source\n\nList of sources:\n  * make-3.82.tar.bz2 will be downloaded to /home/example/eb/sources/m/make/make-3.82.tar.bz2\n\nList of patches:\n(none)\n\ncreating build dir, resetting environment... [DRY RUN]\n\n[check_readiness_step method]\n\n[make_builddir method]\n\n[reset_changes method]\n\n[handle_iterate_opts method]\n\nunpacking... [DRY RUN]\n\n[checksum_step method]\n* expected checksum for make-3.82.tar.bz2: (none)\n\n[extract_step method]\n  running command \"tar xjf /home/example/eb/sources/m/make/make-3.82.tar.bz2\"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2)\n\npatching... [DRY RUN]\n\n[patch_step method]\n\npreparing... [DRY RUN]\n\n[prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load GCC/4.8.2\n\nLoading modules for dependencies...\n\n\nFull list of loaded modules:\n  1) GCC/4.8.2\n\nDefining build environment...\n\n  export CC=\"gcc\"\n  export CFLAGS=\"-O2\"\n  export CXX=\"g++\"\n  export CXXFLAGS=\"-O2\"\n  export F77=\"gfortran\"\n  export F90=\"gfortran\"\n  export F90FLAGS=\"-O2\"\n  export FFLAGS=\"-O2\"\n  export FLIBS=\"-lgfortran\"\n  export LDFLAGS=\"-L/home/example/eb/software/GCC/4.8.2/lib\"\n  export LIBS=\"-lm -lpthread\"\n  export OPTFLAGS=\"-O2\"\n  export PRECFLAGS=\"\"\n\nconfiguring... [DRY RUN]\n\n[configure_step method]\n  running command \" ./configure --prefix=/home/example/eb/software/make/3.82-GCC-4.8.2 \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\nbuilding... [DRY RUN]\n\n[build_step method]\n  running command \" make -j 4 \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\ntesting... [DRY RUN]\n\n[test_step method]\n\ninstalling... [DRY RUN]\n\n[stage_install_step method]\n\n[make_installdir method]\n\n[install_step method]\n  running command \" make install \"\n  (in /home/example/eb/build/make/3.82/GCC-4.8.2/make-3.82)\n\ntaking care of extensions... [DRY RUN]\n\n[extensions_step method]\n\npostprocessing... [DRY RUN]\n\n[post_install_step method]\n\nsanity checking... [DRY RUN]\n\n[sanity_check_step method]\nSanity check paths - file ['files']\n  * bin/make\nSanity check paths - (non-empty) directory ['dirs']\n  (none)\nSanity check commands\n  (none)\n\ncleaning up... [DRY RUN]\n\n[cleanup_step method]\n\ncreating module... [DRY RUN]\n\n[make_module_step method]\nGenerating module file /home/example/eb/modules/all/make/3.82-GCC-4.8.2, with contents:\n\n    #%Module\n    proc ModulesHelp { } {\n        puts stderr { make-3.82: GNU version of make utility - Homepage: http://www.gnu.org/software/make/make.html\n        }\n    }\n\n    module-whatis {Description: make-3.82: GNU version of make utility - Homepage: http://www.gnu.org/software/make/make.html}\n\n    set root /home/example/eb/software/make/3.82-GCC-4.8.2\n\n    conflict make\n\n    if { ![ is-loaded GCC/4.8.2 ] } {\n        module load GCC/4.8.2\n    }\n\n    setenv  EBROOTMAKE      \"$root\"\n    setenv  EBVERSIONMAKE       \"3.82\"\n    setenv  EBDEVELMAKE     \"$root/easybuild/make-3.82-GCC-4.8.2-easybuild-devel\"\n\n    # Built with EasyBuild version 2.4.0\n\n\npermissions... [DRY RUN]\n\n[permissions_step method]\n\npackaging... [DRY RUN]\n\n[package_step method]\n\n== COMPLETED: Installation ended successfully\n\nImportant note: the actual build & install procedure that will be performed may diverge\n(slightly) from what is outlined above, due to conditions in the easyblock which are\nincorrectly handled in a dry run.\nAny errors that may occur are ignored and reported as warnings, on a per-step basis.\nPlease be aware of this, and only use the information above for quick debugging purposes.\n\n(no ignored errors during dry run)\n\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-ksVC07/easybuild-MmAugb.log* have been removed.\n== Temporary directory /tmp/eb-ksVC07 has been removed.\n
            "},{"location":"extended-dry-run/#extended_dry_run_examples_WRF361_intel2015a","title":"WRF v3.6.1 with intel/2015a","text":"
            $ eb WRF-3.6.1-intel-2015a-dmpar.eb -x\n== temporary log file in case of crash /tmp/eb-Dh1wOp/easybuild-0bu9u9.log\n\n== processing EasyBuild easyconfig /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1-intel-2015a-dmpar.eb\n\nImportant note: the actual build & install procedure that will be performed may diverge\n(slightly) from what is outlined below, due to conditions in the easyblock which are\nincorrectly handled in a dry run.\nAny errors that may occur are ignored and reported as warnings, on a per-step basis.\nPlease be aware of this, and only use the information below for quick debugging purposes.\n\n*** DRY RUN using 'EB_WRF' easyblock (easybuild.easyblocks.wrf @ /home/example/eb/easybuild-easyblocks/easybuild/easyblocks/w/wrf.py) ***\n\n== building and installing WRF/3.6.1-intel-2015a-dmpar...\nfetching files... [DRY RUN]\n\n[fetch_step method]\nAvailable download URLs for sources/patches:\n  * http://www2.mmm.ucar.edu/wrf/src//$source\n  * http://www.mmm.ucar.edu/wrf/src//$source\n\nList of sources:\n  * WRFV3.6.1.TAR.gz will be downloaded to /home/example/eb/sources/w/WRF/WRFV3.6.1.TAR.gz\n\nList of patches:\n  * WRF_parallel_build_fix.patch found at /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF_parallel_build_fix.patch\n  * WRF-3.6.1_netCDF-Fortran_separate_path.patch found at /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1_netCDF-Fortran_separate_path.patch\n  * WRF-3.6.1_known_problems.patch found at /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1_known_problems.patch\n  * WRF_tests_limit-runtimes.patch found at /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF_tests_limit-runtimes.patch\n\ncreating build dir, resetting environment... [DRY RUN]\n\n[check_readiness_step method]\n\n[make_builddir method]\n\n[reset_changes method]\n\n[handle_iterate_opts method]\n\nunpacking... [DRY RUN]\n\n[checksum_step method]\n* expected checksum for WRFV3.6.1.TAR.gz: (none)\n* expected checksum for WRF_parallel_build_fix.patch: (none)\n* expected checksum for WRF-3.6.1_netCDF-Fortran_separate_path.patch: (none)\n* expected checksum for WRF-3.6.1_known_problems.patch: (none)\n* expected checksum for WRF_tests_limit-runtimes.patch: (none)\n\n[extract_step method]\n  running command \"tar xzf /home/example/eb/sources/w/WRF/WRFV3.6.1.TAR.gz\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n\npatching... [DRY RUN]\n\n[patch_step method]\n* applying patch file WRF_parallel_build_fix.patch\n  running command \"patch -b -p<derived> -i /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF_parallel_build_fix.patch\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n* applying patch file WRF-3.6.1_netCDF-Fortran_separate_path.patch\n  running command \"patch -b -p<derived> -i /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1_netCDF-Fortran_separate_path.patch\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n* applying patch file WRF-3.6.1_known_problems.patch\n  running command \"patch -b -p<derived> -i /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF-3.6.1_known_problems.patch\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n* applying patch file WRF_tests_limit-runtimes.patch\n  running command \"patch -b -p<derived> -i /home/example/eb/easybuild-easyconfigs/easybuild/easyconfigs/w/WRF/WRF_tests_limit-runtimes.patch\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar)\n\npreparing... [DRY RUN]\n\n[prepare_step method]\nDefining build environment, based on toolchain (options) and specified dependencies...\n\nLoading toolchain module...\n\nmodule load icc/2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load ifort/2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load impi/5.0.2.044-iccifort-2015.1.133-GCC-4.9.2 [SIMULATED]\nmodule load imkl/11.2.1.133-iimpi-7.2.3-GCC-4.9.2 [SIMULATED]\nmodule load intel/2015a [SIMULATED]\n\nLoading modules for dependencies...\n\nmodule load JasPer/1.900.1-intel-2015a [SIMULATED]\nmodule load netCDF/4.3.2-intel-2015a [SIMULATED]\nmodule load netCDF-Fortran/4.4.0-intel-2015a [SIMULATED]\nmodule load tcsh/6.18.01-intel-2015a [SIMULATED]\n\nFull list of loaded modules:\n  (none)\n\n\n!!!\n!!! WARNING: Not all FFTW interface libraries ['fftw3xc_intel', 'mkl_intel_lp64', 'mkl_sequential', 'mkl_core'] are found in ['$EBROOTIMKL/mkl/lib/intel64', '$EBROOTIMKL/compiler/lib/intel64'], can't set $FFT_LIB.\n!!!\n\nDefining build environment...\n\n  export BLACS_INC_DIR=\"\"\n  export BLACS_LIB_DIR=\"\"\n  export BLACS_MT_STATIC_LIBS=\"libmkl_blacs_intelmpi_lp64.a\"\n  export BLACS_STATIC_LIBS=\"libmkl_blacs_intelmpi_lp64.a\"\n  export BLAS_INC_DIR=\"\"\n  export BLAS_LAPACK_INC_DIR=\"\"\n  export BLAS_LAPACK_LIB_DIR=\"\"\n  export BLAS_LAPACK_MT_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_intel_thread.a,libmkl_core.a,libiomp5.a,libpthread.a\"\n  export BLAS_LAPACK_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a\"\n  export BLAS_LIB_DIR=\"\"\n  export BLAS_MT_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_intel_thread.a,libmkl_core.a,libiomp5.a,libpthread.a\"\n  export BLAS_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a\"\n  export CC=\"icc\"\n  export CFLAGS=\"-O2 -ftz -fp-speculation=safe -fp-model source\"\n  export CPPFLAGS=\"\"\n  export CXX=\"icpc\"\n  export CXXFLAGS=\"-O2 -ftz -fp-speculation=safe -fp-model source\"\n  export F77=\"ifort\"\n  export F90=\"ifort\"\n  export F90FLAGS=\"-O2 -ftz -fp-speculation=safe -fp-model source\"\n  export FFLAGS=\"-O2 -ftz -fp-speculation=safe -fp-model source\"\n  export FFTW_INC_DIR=\"\"\n  export FFTW_LIB_DIR=\"\"\n  export FFTW_STATIC_LIBS=\"\"\n  export FFT_INC_DIR=\"\"\n  export FFT_LIB_DIR=\"\"\n  export FFT_STATIC_LIBS=\"\"\n  export I_MPI_CC=\"icc\"\n  export I_MPI_CXX=\"icpc\"\n  export I_MPI_F77=\"ifort\"\n  export I_MPI_F90=\"ifort\"\n  export LAPACK_INC_DIR=\"\"\n  export LAPACK_LIB_DIR=\"\"\n  export LAPACK_MT_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_intel_thread.a,libmkl_core.a,libiomp5.a,libpthread.a\"\n  export LAPACK_STATIC_LIBS=\"libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a\"\n  export LDFLAGS=\"\"\n  export LIBBLACS=\"-Wl,-Bstatic -Wl,--start-group -lmkl_blacs_intelmpi_lp64 -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBBLACS_MT=\"-Wl,-Bstatic -Wl,--start-group -lmkl_blacs_intelmpi_lp64 -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBBLAS=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBBLAS_MT=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBFFT=\"\"\n  export LIBLAPACK=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBLAPACK_MT=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBLAPACK_MT_ONLY=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBLAPACK_ONLY=\"-Wl,-Bstatic -Wl,--start-group -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBS=\"-liomp5 -lpthread\"\n  export LIBSCALAPACK=\"-Wl,-Bstatic -Wl,--start-group -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic\"\n  export LIBSCALAPACK_MT=\"-Wl,-Bstatic -Wl,--start-group -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBSCALAPACK_MT_ONLY=\"-Wl,-Bstatic -Wl,--start-group -lmkl_scalapack_lp64 -Wl,--end-group -Wl,-Bdynamic -liomp5 -lpthread\"\n  export LIBSCALAPACK_ONLY=\"-Wl,-Bstatic -Wl,--start-group -lmkl_scalapack_lp64 -Wl,--end-group -Wl,-Bdynamic\"\n  export MPICC=\"mpicc\"\n  export MPICH_CC=\"icc\"\n  export MPICH_CXX=\"icpc\"\n  export MPICH_F77=\"ifort\"\n  export MPICH_F90=\"ifort\"\n  export MPICXX=\"mpicxx\"\n  export MPIF77=\"mpif77\"\n  export MPIF90=\"mpif90\"\n  export MPI_INC_DIR=\"\"\n  export MPI_LIB_DIR=\"\"\n  export MPI_LIB_SHARED=\"\"\n  export MPI_LIB_STATIC=\"\"\n  export OPTFLAGS=\"-O2\"\n  export PRECFLAGS=\"-ftz -fp-speculation=safe -fp-model source\"\n  export SCALAPACK_INC_DIR=\"\"\n  export SCALAPACK_LIB_DIR=\"\"\n  export SCALAPACK_MT_STATIC_LIBS=\"libmkl_scalapack_lp64.a,libmkl_blacs_intelmpi_lp64.a,libmkl_intel_lp64.a,libmkl_intel_thread.a,libmkl_core.a,libiomp5.a,libpthread.a\"\n  export SCALAPACK_STATIC_LIBS=\"libmkl_scalapack_lp64.a,libmkl_blacs_intelmpi_lp64.a,libmkl_intel_lp64.a,libmkl_sequential.a,libmkl_core.a\"\n\nconfiguring... [DRY RUN]\n\n[configure_step method]\n  export NETCDF=\"$EBROOTNETCDF\"\n  export NETCDFF=\"$EBROOTNETCDFMINFORTRAN\"\n  export JASPERINC=\"$EBROOTJASPER/include\"\n  export JASPERLIB=\"$EBROOTJASPER/lib\"\n  export WRFIO_NCD_LARGE_FILE_SUPPORT=\"1\"\nPerl script patched: arch/Config_new.pl\n  running interactive command \"./configure\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\napplying regex substitutions to file configure.wrf\n  * regex pattern '^(DM_FC\\s*=\\s*).*$', replacement string '\\1 mpif90'\n  * regex pattern '^(DM_CC\\s*=\\s*).*$', replacement string '\\1 mpicc -DMPI2_SUPPORT'\n  * regex pattern '^(SFC\\s*=\\s*).*$', replacement string '\\1 ifort'\n  * regex pattern '^(SCC\\s*=\\s*).*$', replacement string '\\1 icc'\n  * regex pattern '^(CCOMP\\s*=\\s*).*$', replacement string '\\1 icc'\napplying regex substitutions to file configure.wrf\n  * regex pattern '^(FCOPTIM.*)(\\s-O3)(\\s.*)$', replacement string '\\1 -O2 -ftz -fp-speculation=safe -fp-model source \\3'\n  * regex pattern '^(CFLAGS_LOCAL.*)(\\s-O3)(\\s.*)$', replacement string '\\1 -O2 -ftz -fp-speculation=safe -fp-model source \\3'\n\nbuilding... [DRY RUN]\n\n[build_step method]\n  running command \"tcsh ./compile -j 4 wrf\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n  running command \"tcsh ./compile -j 4 em_real\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n  running command \"tcsh ./compile -j 4 em_b_wave\"\n  (in /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar/WRF-3.6.1)\n\ntesting... [DRY RUN]\n\n[test_step method]\n  export I_MPI_MPD_TMPDIR=\"/tmp/eb-Dh1wOp\"\n  export PBS_ENVIRONMENT=\"PBS_BATCH_MPI\"\n  export I_MPI_PROCESS_MANAGER=\"mpd\"\nfile written: /tmp/eb-Dh1wOp/mpi_cmd_for-nzyh5V/mpdboot\nfile written: /tmp/eb-Dh1wOp/mpi_cmd_for-nzyh5V/nodes\n  export I_MPI_MPD_TMPDIR=\"/tmp/eb-Dh1wOp\"\n  export PBS_ENVIRONMENT=\"PBS_BATCH_MPI\"\n  export I_MPI_PROCESS_MANAGER=\"mpd\"\nfile written: /tmp/eb-Dh1wOp/mpi_cmd_for-hIOEd_/mpdboot\nfile written: /tmp/eb-Dh1wOp/mpi_cmd_for-hIOEd_/nodes\n\ninstalling... [DRY RUN]\n\n[stage_install_step method]\n\n[make_installdir method]\n\n[install_step method]\n\ntaking care of extensions... [DRY RUN]\n\n[extensions_step method]\n\npostprocessing... [DRY RUN]\n\n[post_install_step method]\n\nsanity checking... [DRY RUN]\n\n[sanity_check_step method]\nSanity check paths - file ['files']\n  * WRFV3/main/ideal.exe\n  * WRFV3/main/libwrflib.a\n  * WRFV3/main/ndown.exe\n  * WRFV3/main/nup.exe\n  * WRFV3/main/real.exe\n  * WRFV3/main/tc.exe\n  * WRFV3/main/wrf.exe\nSanity check paths - (non-empty) directory ['dirs']\n  * WRFV3/main\n  * WRFV3/run\nSanity check commands\n  (none)\n\ncleaning up... [DRY RUN]\n\n[cleanup_step method]\n\ncreating module... [DRY RUN]\n\n[make_module_step method]\nGenerating module file /home/example/eb/modules/all/WRF/3.6.1-intel-2015a-dmpar, with contents:\n\n    #%Module\n    proc ModulesHelp { } {\n        puts stderr { The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale\n     numerical weather prediction system designed to serve both operational forecasting and atmospheric\n     research needs. - Homepage: http://www.wrf-model.org\n        }\n    }\n\n    module-whatis {Description: The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale\n     numerical weather prediction system designed to serve both operational forecasting and atmospheric\n     research needs. - Homepage: http://www.wrf-model.org}\n\n    set root /home/example/eb/software/WRF/3.6.1-intel-2015a-dmpar\n\n    conflict WRF\n\n    if { ![ is-loaded intel/2015a ] } {\n        module load intel/2015a\n    }\n\n    if { ![ is-loaded JasPer/1.900.1-intel-2015a ] } {\n        module load JasPer/1.900.1-intel-2015a\n    }\n\n    if { ![ is-loaded netCDF/4.3.2-intel-2015a ] } {\n        module load netCDF/4.3.2-intel-2015a\n    }\n\n    if { ![ is-loaded netCDF-Fortran/4.4.0-intel-2015a ] } {\n        module load netCDF-Fortran/4.4.0-intel-2015a\n    }\n\n    setenv  EBROOTWRF       \"$root\"\n    setenv  EBVERSIONWRF        \"3.6.1\"\n    setenv  EBDEVELWRF      \"$root/easybuild/WRF-3.6.1-intel-2015a-dmpar-easybuild-devel\"\n\n    setenv  NETCDF      \"$EBROOTNETCDF\"\n    setenv  NETCDFF     \"$EBROOTNETCDFMINFORTRAN\"\n    # Built with EasyBuild version 2.4.0\n\n\npermissions... [DRY RUN]\n\n[permissions_step method]\n\npackaging... [DRY RUN]\n\n[package_step method]\n\n== COMPLETED: Installation ended successfully\n\nImportant note: the actual build & install procedure that will be performed may diverge\n(slightly) from what is outlined above, due to conditions in the easyblock which are\nincorrectly handled in a dry run.\nAny errors that may occur are ignored and reported as warnings, on a per-step basis.\nPlease be aware of this, and only use the information above for quick debugging purposes.\n\n(no ignored errors during dry run)\n\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-Dh1wOp/easybuild-0bu9u9.log* have been removed.\n== Temporary directory /tmp/eb-Dh1wOp has been removed.\n
            "},{"location":"framework-overview/","title":"EasyBuild Framework Overview","text":""},{"location":"framework-overview/#package-structure","title":"Package Structure","text":"

            The easybuild-framework package provides the following easybuild.* Python packages:

            • easybuild.framework is the core of EasyBuild, which contains the machinery to build and install software by processing EasyConfigs and their EasyBlocks.

            • easybuild.tools is a toolbox of utilities used across the EasyBuild codebase (easybuild-framework and easybuild-easyblocks). Its functionality ranges from handling EasyBuild options and configuration, to file system operations, including the integration with GitHub, support for hooks, etc.

            • easybuild.toolchains contains all toolchain definitions.

            Overview of the package structure of EasyBuild framework (v4.7.1) \u2014 easybuild.framework shown in blue and easybuild.tools in orange:

            "},{"location":"framework-overview/#workflow_overview","title":"Workflow Overview","text":"

            The following diagram shows the main steps carried out by EasyBuild for a regular software installation with the eb command:

            stateDiagram-v2\n    easybuild.main --> tools\n    robot --> build_install\n    build_install --> easyblock\n\n    state \"easybuild.tools\" as tools{\n        [*] --> options\n        options --> parse_ec\n        process_ec --> robot\n\n        state \"easybuild.tools.options\n        \u2022 parsing of options\n        \u2022 set_up_configuration( )\" as options\n\n        state \"easybuild.tools.robot\n        \u2022 resolve_dependencies( )\" as robot\n    }\n\n    state \"build_and_install_software( )\" as build_install\n\n    state \"easybuild.framework.easyblock\" as easyblock{\n        [*] --> build_install_one\n        build_install_one --> get_easyblock\n        get_easyblock --> easyblock_class\n\n        state \"easybuild.framework.easyblock\n        \u2022 build_and_install_one( )\" as build_install_one\n\n        state \"class EasyBlock\n        \u2022 run_all_steps( )\" as easyblock_class\n    }\n\n    state \"easybuild.framework.easyconfig\" as easyconfig{\n        parse_ec --> process_ec\n\n        state \"easybuild.framework.easyconfig.tools\n        \u2022 parse_easyconfigs( )\" as parse_ec\n\n        state \"easybuild.framework.easyconfig.easyconfig\n        \u2022 process_easyconfig( )\" as process_ec\n\n        state \"easybuild.framework.easyconfig.easyconfig\n        \u2022 get_easyblock_class( )\" as get_easyblock\n    }\n

            The process starts by calling the set_up_configuration function, which takes care of configuration options passed to EasyBuild. Either through the command line, configuration files or in the environment.

            The scope of the EasyBuild execution is ultimately defined by the target easyconfig files given in the eb command. They will define the number of actions to carry out, such as software installations, fetching of sources or opening of PRs. Therefore, target easyconfig files are parsed early in the process, just after the runtime options have been resolved. The tooling to parse easyconfig files is located in a specific tools module in easybuild.framework.easyconfig.tools, while the EasyConfig class is found in easybuild.framework.easyconfig.easyconfig.

            Once the easyconfig files are properly parsed, a common action is to resolve the dependencies for those installations with the --robot option. This is handled in easybuild.tools.robot which provides methods to search easyconfig files, resolve dependencies, and check conflicts between software packages.

            The resolve_dependencies function returns an ordered list of all (parsed) easyconfigs that have to be installed to fulfill the dependency requirements of the requested installation (or throws an error if those dependencies cannot be fulfilled). EasyBuild will iterate over that list carrying out each installation in sequence.

            The installation procedure of each software package is defined by the easyblock attached to it. This means that EasyBuild creates an EasyBlock instance for each individual installation and determines the easyblock to use from the easyconfig file. Once the EasyBlock instance is created, EasyBuild will call its run_all_steps() method to execute the installation steps defined for that software.

            "},{"location":"framework-overview/#step_wise_install","title":"Step-wise Installation Procedure","text":"
            flowchart LR\n    subgraph source_phase [A. Setting up]\n        direction TB\n        parse[A1. Parse EasyConfig]\n        fetch[A2. Fetch sources]\n        check[A3. Check readiness]\n        unpack[A4. Unpack sources]\n        patch[A5. Apply patches]\n        parse --> fetch\n        fetch --> check\n        check --> unpack\n        unpack --> patch\n    end\n    subgraph build_phase [B. Installing]\n        direction TB\n        prepare[B1. Prepare build]\n        config[B2. Configure build]\n        build[B3. Compile/build]\n        test[B4. Test]\n        install[B5. Install]\n        prepare --> config\n        config --> build\n        build --> test\n        test --> install\n    end\n    subgraph ext_phase [Extensions]\n        ext_install[Extension Install]\n    end\n    subgraph clean_phase [C. Wrapping up]\n        direction TB\n        postinstall[C1. Post-Install]\n        sanity[C2. Sanity check]\n        clean[C3. Clean-up]\n        module[C4. Make Module]\n        perms[C5. Permissions]\n        package[C6. Package]\n        testcases[C7. Test Cases]\n        postinstall --> sanity\n        sanity --> clean\n        clean --> module\n        module --> perms\n        perms --> package\n        package --> testcases\n    end\n    source_phase --> build_phase\n    build_phase --> ext_phase\n    ext_phase --> clean_phase
            "},{"location":"framework-overview/#easyblock-class","title":"EasyBlock class","text":"

            The base EasyBlock class in easybuild.framework.easyblock is a skeleton class that cannot carry out any installation on its own, but that lays the ground for child classes to define custom installation procedures. This does not mean that the EasyBlock class is an empty shell though, it is actually one of the biggest classes in EasyBuild with 4000+ lines of code (v4.7.x). It provides methods for generic actions that are useful in most installations, independently of the installation method.

            Most of the steps in the initial Arrangement phase are already covered to some extent in the EasyBlock class, such as:

            • A2. Fetch sources: EasyBlock.fetch_sources, EasyBlock.fetch_patches, EasyBlock.obtain_file

            • A3. Check readiness: EasyBlock.make_buildir, EasyBlock.reset_env

            • A4. Unpack sources: EasyBlock.checksum_step, EasyBlock.extract_step

            Several steps in the last Cleaning phase are already covered by the base EasyBlock as well:

            • C1. Post-Install: EasyBlock.run_post_install_commands, EasyBlock.apply_post_install_patches, EasyBlock.fix_shebang

            • C2. Sanity check: EasyBlock.sanity_check_step, EasyBlock.sanity_check_load_module, EasyBlock.sanity_check_linked_shared_libs

            • C3. Clean-up: EasyBlock.cleanup_step

            • C4. Env. Module: EasyBlock.make_module_step

            • C5. Permissions: EasyBlock.permissions_step

            Therefore, custom easyblocks (child classes of EasyBlock) only need to define some of the steps in the Build and Install phase, the core of the workflow. Specifically, the configuration (B2), build (B3) and install (B4) steps are the only mandatory steps in custom easyblocks. Check the section Implementing EasyBlocks to start writing your own custom easyblocks.

            "},{"location":"framework-overview/#extension-and-extensioneasyblock-classes","title":"Extension and ExtensionEasyBlock classes","text":"

            The EasyBlock class has the machinery to trigger the installation of any extensions found in the easyconfig file. The method EasyBlock.run_all_steps always goes through EasyBlock.extensions_step which executes the installation of each extension instance in EasyBlock.ext_instances (if any).

            The installation process in the extension step starts in EasyBlock.install_extensions, which will determine the installation approach for the extensions (sequential or parallel based on given options/support) and call the Extension.run method of each extension instance. This run method is the one carrying out the actual installation of the extension and typically executes the install step of the parent EasyBlock with some extra actions before and/or after it. Nonetheless, custom easyblocks for extensions can fully redefine their run method.

            Warning

            In EasyBuild v5.0 the name of the Extension.run method will be changed to a more meaningful and less generic name.

            Framework also provides the ExtensionEasyBlock class which inherits from both EasyBlock and Extension. This class is useful for software that can be either installed standalone with their own easyconfig file or as an extension:

            • as extension: ExtensionEasyBlock uses the Extension class

            • stand-alone: ExtensionEasyBlock uses the EasyBlock class

            For instance, PythonPackage, RPackage or PerlModule are generic easyblocks commonly used to install standalone packages or extensions of packages that use other easyblocks. You will find many examples of both cases in our easyblock-easyconfigs repository.

            "},{"location":"framework-overview/#easyconfig-class","title":"EasyConfig class","text":"

            The EasyConfig class handles parsing and validating of easyconfig files. As such, EasyConfig is independent from EasyBlock and it is actually needed to determine the easyblock used in the installation of the target software package.

            Once the target easyconfig file is read and all its parameters are validated, they will be accessible through different attributes and methods of the EasyConfig object. The main examples are:

            • EasyConfig.name returns the name of the package

            • EasyConfig.version returns the version of the package

            • EasyConfig.toolchain returns the toolchain used by the package

            • EasyConfig.dependencies() returns the list of dependencies

            Note

            The EasyConfig instance is also accessible from the corresponding EasyBlock instance through its EasyBlock.cfg attribute.

            "},{"location":"framework-overview/#easystack-class","title":"EasyStack class","text":"

            Warning

            EasyStacks are an experimental feature in active development.

            The machinery for EasyStacks is located in the easybuild.framework.easystack module. It contains:

            • EasyStackParser: class to parse the easystack files in YAML format

            • SoftwareSpecs: attribute class with the specs of each software package in the easystack

            • EasyStack: collection of SoftwareSpecs in the easystack

            "},{"location":"framework-overview/#toolchain-mechanism","title":"Toolchain mechanism","text":"

            A toolchain in EasyBuild is much more than just a bundle of libraries and compilers to build and run software in a consistent environment. Toolchains are defined by their own classes built on top of the Toolchain class.

            The base Toolchain class is defined in easybuild.tools.toolchain.toolchain. It does not only provide the attributes defining the toolchain (i.e. name and version) but also provides methods to setup the build environment with that toolchain :

            • set the environment of the toolchain: Toolchain.prepare

              • validate dependencies for the toolchain: Toolchain._check_dependencies

              • load modules of the toolchain: Toolchain._load_modules

              • set environment variables (e.g. $CC, $CFLAGS): Toolchain._setenv_variables

              • handle build options: Toolchain.prepare_rpath_wrappers, Toolchain.prepare_compiler_cache, Toolchain.handle_sysroot

            Hence, the base Toolchain class provides the skeleton to further develop custom toolchain definitions through child classes. EasyBuild already provides many toolchains definitions that cover common and not-so-common combinations of compilers, numeric libraries and MPI implementations. All toolchain definitions are found in the easybuild.toolchains package of the EasyBuild framework.

            Toolchains are modular. Each toolchain component (i.e compiler, numerical library, MPI implementation) is defined by its own child class or by multiple ones. These components are combined in sub-toolchains (e.g. the gompi toolchain) which can then be re-combined with other components in bigger toolchains (e.g. the foss toolchain). Therefore, the resulting options of the toolchain, its attributes and methods will be the combined result of all inherited class components.

            flowchart\n    toolchain --> compiler & mpi & linalg & fft\n    subgraph \"Compiler\"\n        compiler --> gcc --> gcccore --> gcctoolchain \n    end\n    subgraph \"MPI Implementation\"\n        mpi --> ompi \n    end\n    gcctoolchain & ompi --> gompi --> foss\n    subgraph \"Fast-Fourier Libraries\"\n        fft --> fftw \n    end\n    fftw --> foss\n    subgraph \"Linear Algebra Libraries\"\n        linalg --> oblas & fblas\n        linalg --> blacs --> scalapack\n    end\n    oblas & fblas & scalapack --> foss\n    toolchain(\"class Toolchain\n    eb.tools.toolchain.toolchain\")\n    compiler(\"class Compiler\n    eb.tools.toolchain.compiler\")\n    gcc(\"class Gcc\n    eb.toolchains.compiler.gcc\")\n    gcccore(\"class GccCore\n    eb.toolchains.gcccore\")\n    gcctoolchain(\"class GccToolchain\n    eb.toolchains.gcc\")\n    mpi(\"class Mpi\n    eb.tools.toolchain.mpi\")\n    ompi(\"class OpenMPI\n    eb.toolchains.mpi.openmpi\")\n    gompi(\"class Gompi\n    eb.toolchains.gompi\")\n    fft(\"class Fft\n    eb.tools.toolchain.fft\")\n    fftw(\"class Fftw\n    eb.toolchains.fft.fftw\")\n    linalg(\"class LinAlg\n    eb.tools.toolchain.linalg\")\n    oblas(\"class OpenBLAS\n    eb.toolchains.linalg.openblas\")\n    fblas(\"class FlexiBLAS\n    eb.toolchains.linalg.flexiblas\")\n    blacs(\"class Blacs\n    eb.toolchains.linalg.blacs\")\n    scalapack(\"class ScaLAPACK\n    eb.toolchains.linalg.scalapack\")\n    foss(\"class Foss\n    eb.toolchains.foss\")
            "},{"location":"framework-overview/#easybuild-configuration-options","title":"EasyBuild configuration options","text":"

            Configuration options in EasyBuild can come from multiple sources:

            • command line arguments to the eb command
            • environment variables
            • settings in configuration files
            • settings in easyconfig files

            Tip

            Check the Configuring EasyBuild for details on how to use the different configuration mechanisms.

            All configuration options in EasyBuild are defined in easybuild.tools.options. The EasyBuildOptions class gathers all options, including the name of the argument and its help string.

            The easybuild.tools.options module also handles the parsing of options through its set_up_configuration() method, which is called in the very early stages of the eb execution. The main step is parse_options() to read and validate the command line itself.

            Once all options are parsed, those options listed in easybuild.tools.config will be gathered in a singleton BuildOptions class. This class is the centralized location of configuration options for the current EasyBuild session. The method build_option() in easybuild.tools.config provides a simple interface to it:

            if build_option('ignore_test_failure'):\n    print_warning(\"Test failure ignored\")\nelse:\n    raise EasyBuildError(\"Test failure\")\n

            Therefore, adding a new option to eb and making that options available through build_option() is a two step process. First the option has to be added to EasyBuildOptions in easybuild.tools.options and then also listed in easybuild.tools.config. As an example, you can check easybuild-framework#4226 which is a PR adding the download_timeout option to EasyBuild.

            "},{"location":"framework-overview/#features-in-easybuildtools","title":"Features in easybuild.tools","text":""},{"location":"framework-overview/#environment-modules","title":"Environment modules","text":""},{"location":"framework-overview/#interface","title":"Interface","text":"

            easybuild.tools.modules provides the interface to the different environment module tools supported in EasyBuild. The ModulesTool class is an abstraction layer to interact with the environment modules in the host system.

            Additionally, easybuild.tools.modules also provides methods to retrieve information about loaded software in the EasyBuild environment, such as get_software_root() or get_software_version(), which are extensively used in easyblocks.

            "},{"location":"framework-overview/#naming-scheme","title":"Naming scheme","text":"

            easybuild.tools.module_naming_scheme contains the definitions of the module naming schemes (MNS) supported in EasyBuild. You will find in it one module per MNS. The structure of the naming scheme is defined in corresponding classes based on ModuleNamingScheme.

            "},{"location":"framework-overview/#module-generator","title":"Module generator","text":"

            easybuild.tools.module_generator is the engine used by EasyBuild to write module files. It provides the ModuleGeneratorLua and ModuleGeneratorTcl classes for each of the supported module file formats. The module generator is mainly used in the make module step of the installation process.

            "},{"location":"framework-overview/#host-system","title":"Host system","text":""},{"location":"framework-overview/#system-information","title":"System information","text":"

            easybuild.tools.systemtools provides a toolset to check multiple aspects of the underlying operative system, such as CPU specs, amount of memory, OS characteristics and system libraries.

            "},{"location":"framework-overview/#environment","title":"Environment","text":"

            easybuild.tools.environment provides an interface to access and modify the environment in the host system.

            "},{"location":"framework-overview/#file-system","title":"File system","text":"

            easybuild.tools.filetools provides multiple methods to interact with the underlying file system in the host. This abstraction layer sits on top of lower interfaces provided by the standard Python library.

            "},{"location":"framework-overview/#job-schedulers","title":"Job schedulers","text":"

            easybuild.tools.job contains the interfaces to the different job schedulers supported in EasyBuild.

            "},{"location":"framework-overview/#containers","title":"Containers","text":"

            easybuild.tools.containers contains the interfaces to the different container systems supported in EasyBuild.

            "},{"location":"framework-overview/#github-integration","title":"GitHub integration","text":"

            easybuild.tools.github provides the interface to remote repositories in GitHub. It allows to fetch easyconfig files from PRs, open new PRs, upload test reports and several other maintainer actions on PRs.

            "},{"location":"framework-overview/#hooks","title":"Hooks","text":"

            easybuild.tools.hooks contains the definition of all accessible hooks in EasyBuild. The actual call to the hooks defined by the user are spread across the steps of the installation process. Hence, this module is only interesting if you want to add or modify the available hooks.

            "},{"location":"framework-overview/#contributing-to-framework","title":"Contributing to Framework","text":""},{"location":"framework-overview/#reporting-issues-and-bugs","title":"Reporting issues and bugs","text":"

            Reporting issues and bugs to easybuild-framework is no different than to any other bug tracker. You should provide as many information as needed to allow the developers to reproduce your issue/bug, including:

            1. a description of what you are trying to do
            2. a description of the steps to reproduce the problem
            3. EasyBuild configuration and host system information
            4. custom easyblock or easyconfig files
            5. full error messages and tracebacks

            In the case of EasyBuild, the main complication to report issues and bugs might be to determine if the issue/bug at hand does actually originate in easybuild-framework or if instead it belongs in easybuild-easyblocks or easybuild-easyconfigs. It is not uncommon that the traceback of bugs in easyblocks or easyconfigs reach the codebase in easybuild.framework or easybuild.tools.

            Nevertheless, do not worry too much if you cannot determine which repository to target with your issue/bug. In case of doubt, easybuild-framework is the best bet in general and maintainers can move issues between EasyBuild repositories if needed.

            "},{"location":"framework-overview/#pull-requests","title":"Pull requests","text":"

            Contributing bug fixes or new features to easybuild-framework is always welcomed. However, keep in mind that due to the broader scope of the source code in framework, making contributions might be a bit more complicated than for easyblocks and easyconfigs:

            • EasyBuild does not currently provide integration in the eb command to make contributions to the easybuild-framework repository. Therefore, as contributor, you have to manually fork easybuild-framework and open the pull request from your fork. The GitHub documentation contains a detailed description on how to create PRs from forks.

            • We recommend to link all new PRs in easybuild-framework to a corresponding issue in the issue tracker. Splitting the issue from the PR helps focus the activity in the PR to the changes in the source code and keep it separate from the discussion about the underlying problem.

            • The source code of easybuild-framework must be covered by the unit tests in test.framework and all tests must pass. You can run the unit tests in EasyBuild on your computer to check their results before opening the PR to our repository. In general, this requirement on unit tests has the following implications depending on the type of changes introduced in your PR:

              • Bug fix: the presence of a bug means that either that part of the codebase is currently uncovered by the tests or that it is already covered but tests are also buggy.

              • New feature: new unit tests have to be added covering the new feature.

              Therefore, in (almost) all cases, new PRs to framework have to also include related changes in unit tests. The suite of unit tests in framework is already very extensive and you will find all tests organized per module in the test/framework directory.

              If you are not familiar with writing tests in Python, you can find all the details in the unittest documentation. We also recommend the guide Getting Started With Testing in Python as a more comprehensive alternative.

            "},{"location":"getting-help/","title":"Getting help","text":"

            Having trouble with EasyBuild? The EasyBuild community would like to help!

            • Search this documentation using the search box on top;
            • Search for information in the archives of the EasyBuild mailing list;
            • Subscribe to the EasyBuild mailing list easybuild@lists.ugent.be to post a question;
            • Check the output of eb --help;
            • Ask a question in the EasyBuild Slack channel;
            • Consider participating in an EasyBuild conference call;
            • Ask a question or report a problem:
              • for EasyBuild framework in the easybuilders/easybuild-framework GitHub repository
              • for easyblocks in the easybuilders/easybuild-easyblocks GitHub repository
              • for easyconfigs in the easybuilders/easybuild-easyconfigs GitHub repository
              • for EasyBuild in general in the easybuilders/easybuild GitHub repository
              • for the EasyBuild documentation in the easybuilders/easybuild-docs GitHub repository
            "},{"location":"hooks/","title":"Hooks","text":"

            Since v3.5.0, EasyBuild supports hooks that can be used to customise the behaviour of EasyBuild according to site policies if needed, without having to change the EasyBuild framework or the existing easyblocks.

            "},{"location":"hooks/#what-are-hooks","title":"What are hooks?","text":"

            Hooks are user-defined functions that are called by the EasyBuild framework at specific times during the installation procedure. They can be leveraged to alter or augment the installation procedure.

            This is usually done to conform with site-specific policies that are difficult to enforce otherwise, but it can also be (ab)used to fix specific problems or inject self-implemented enhancements (before you flesh them out in a proper contribution, for example).

            Both the EasyBlock instance and the parsed easyconfig file that are being used are fully accessible (and modifiable) from within hook implementations. Hence, this mechanism provides a lot of flexibility to change the EasyBuild functionality should you require it, without having to modify the codebase of EasyBuild itself.

            "},{"location":"hooks/#configuring-easybuild-to-use-your-hook-implementations","title":"Configuring EasyBuild to use your hook implementations","text":"

            To instruct EasyBuild to use your hook implementations, you only need to specify the location of the Python module (*.py) that implements them.

            This is done via the --hooks configuration option (or equivalently via the $EASYBUILD_HOOKS environment variable, or via hooks = ... in an EasyBuild configuration file, see also Configuring EasyBuild).

            For example:

            eb --hooks=$HOME/my_eb_hooks.py ...\n

            or:

            export EASYBUILD_HOOKS=$HOME/my_eb_hooks.py\neb ...\n
            "},{"location":"hooks/#available-hooks","title":"Available hooks","text":"

            Currently (since EasyBuild v3.7.0), three types of hooks are supported:

            • start_hook and end_hook, which are triggered once before starting software installations, and once right after completing all installations, respectively
            • parse_hook, which is triggered when an easyconfig file is being parsed
            • module_write_hook, which is triggered right before a module file is written. This includes the temporary module file used when installing extensions and during the sanity check, as well as the devel module.
            • \"step\" hooks that are triggered before and after every step of each installation procedure that is performed, also aptly named 'pre'- and 'post'-hooks

            The list of currently available hooks in order of execution, which can also be consulted using eb --avail-hooks, is:

            • start_hook (only called once in an EasyBuild session)
            • parse_hook (available since EasyBuild v3.7.0)
            • pre_fetch_hook, post_fetch_hook
            • pre_ready_hook, post_ready_hook
            • pre_source_hook, post_source_hook
            • pre_patch_hook, post_patch_hook
            • pre_prepare_hook, post_prepare_hook
            • pre_configure_hook, post_configure_hook
            • pre_build_hook, post_build_hook
            • pre_test_hook, post_test_hook
            • pre_install_hook, post_install_hook
            • pre_extensions_hook, post_extensions_hook
            • pre_postproc_hook, post_postproc_hook
            • pre_sanitycheck_hook, post_sanitycheck_hook
            • pre_cleanup_hook, post_cleanup_hook
            • pre_module_hook, post_module_hook
            • pre_permissions_hook, post_permissions_hook
            • pre_package_hook, post_package_hook
            • pre_testcases_hook, post_testcases_hook
            • end_hook (only called once in an EasyBuild session)
            • module_write_hook (called multiple times per installation, available since EasyBuild v4.4.1)

            All functions implemented in the provided Python module for which the name ends with _hook are considered.

            If any *_hook functions are encountered that do not match any of the available hooks, an error is reported. EasyBuild will try to provide suggestions for available hooks that closely match the encountered unknown hook.

            For example:

            $ eb --hooks wrong_hooks.py example.eb\n== temporary log file in case of crash /tmp/eb-nMawy1/easybuild-Gu2ZP6.log\nERROR: Found one or more unknown hooks:\n* stat_hook (did you mean 'start_hook'?)\n* this_is_not_a_hook\n* install_hook (did you mean 'pre_install_hook', or 'post_install_hook'?)\n\nRun 'eb --avail-hooks' to get an overview of known hooks\n
            "},{"location":"hooks/#implementing-hooks","title":"Implementing hooks","text":"

            To implement hooks, simply define one or more functions in a Python module (*.py), each named after an available hook.

            Do take into account the following:

            • for start_hook and end_hook, no arguments are provided
            • for parse_hook, one argument is provided: the EasyConfig instance that corresponds to the easyconfig file being parsed (usually referred to as ec)
            • for module_write_hook, 3 arguments are provided:
            • the EasyBlock instance used to perform the installation (usually referred to as self)
            • the filepath of the module that will be written
            • the module text as a string The return value of this hook, when set, will replace the original text that is then written to the module file.
            • for the step hooks, one argument is provided: the EasyBlock instance used to perform the installation (usually referred to as self)
            • the parsed easyconfig file can be accessed in the step hooks via the EasyBlock instance, i.e., via self.cfg

            It is recommended to anticipate possible changes in the provided (named) arguments, using the *args and **kwargs mechanism commonly used in Python. This avoids that your hook implementations may break when updating to future EasyBuild versions. For example:

            # example pre-configure hook that anticipates changes in provided arguments\ndef pre_configure_hook(self, *args, **kwargs):\n    ...\n

            In hooks you have access to the full functionality provided by the EasyBuild framework, so do import from easybuild.tools.* (or other easybuild.* namespaces) to leverage those functions.

            "},{"location":"hooks/#parse-hook-specifics","title":"Parse hook specifics","text":"

            parse_hook is triggered right after reading the easyconfig file, before further parsing of some easyconfig parameters (like *dependencies) into custom data structures is done.

            This is important since it allows to dynamically modify easyconfig files while they are still \"raw\", i.e. when the easyconfig parameter values are still basic Python data structures like lists, dictionaries, etc. that are easy to manipulate (see also Manipulating easyconfig parameters).

            In parse_hook easyconfig parameters can be accessed and/or modified in a straightforward way, see Example hook to inject a custom patch file.

            "},{"location":"hooks/#caveats","title":"Caveats","text":"

            Due to internal details of the EasyBuild framework, you may run into some surprises when implementing hooks. Here are some things to take into account:

            "},{"location":"hooks/#resolving-of-template-values","title":"Resolving of template values","text":"

            In all step hooks, template values in easyconfig parameters will be resolved whenever they are accessed.

            That is, if the %(version) template is used in for example the sources easyconfig parameter, it will be replaced with the actual value of the version easyconfig parameter whenever the sources value is used. This can be avoided by temporarily disabling templating by wrapping the code in with self.cfg.disable_templating:.

            There is one notable exception to this: Templates in easyconfig parameters are not resolved in parse_hook, because templating has been disabled explicitly before parse_hook is called; this helps significantly to simplify manipulating of easyconfig parameter values (see also Manipulating easyconfig parameters).

            "},{"location":"hooks/#manipulating-easyconfig-parameters","title":"Manipulating easyconfig parameters","text":"

            You may run into surprises when trying to manipulate easyconfig parameters, for various reasons.

            First of all, the original easyconfig parameters may already be processed in another data structure which does not resemble the original format in which the parameter was defined in the easyconfig file.

            Moreover, this processing could be done either \"in place\" by replacing the original easyconfig parameter value, or in a separate variable, which effectively means that any changes to the original easyconfig parameter value are simply ignored.

            In addition, because of how the templating mechanism for easyconfig parameter works, changes to easyconfig parameters with non-string values (i.e. lists, dictionaries, etc.) will go up in smoke if not done correctly.

            More specifically, the following approach will not work in any of the (step) hooks, except for parse_hook:

            def pre_fetch_hook(self):\n     \"Example of pre-fetch hook to manipulate list of patches.\"\n     # this does NOT have the intended affect in any pre- or post-step hook\n     self.cfg['patches'].append('example.patch')\n

            The problem here is that the value obtained via self.cfg['patches'] is not a reference to the actual easyconfig parameter value but a reference to a temporary copy thereof; hence any updates on the copy are effectively lost immediately.

            To achieve the intended effect, you can either:

            • temporarily disable the templating mechanism:

              def pre_fetch_hook(self):\n    \"Example of pre-fetch hook to manipulate list of patches.\"\n    # temporarily disable templating, so changes to 'patches' easyconfig parameter are picked up\n    with self.cfg.disable_templating:\n        # add patch\n        self.cfg['patches'].append('example.patch')\n    # templating state restored\n
            • or replace the original value entirely:

              def pre_fetch_hook(self):\n    \"Example of pre-fetch hook to manipulate list of patches.\"\n    self.cfg['patches'] = self.cfg['patches'] + ['example.patch']\n

            A better approach for manipulating easyconfig parameters is to use the parse_hook that was introduced in EasyBuild v3.7.0 (see Parse hook specifics), where these kind of surprises will not occur (because templating is automatically disabled before parse_hook is called and restored immediately afterwards). See also Example hook to inject a custom patch file.

            "},{"location":"hooks/#archived-easyconfig-file-vs-hooks","title":"Archived easyconfig file vs hooks","text":"

            EasyBuild archives the easyconfig file that was used for a particular installation: A copy is stored both in the easybuild subdirectory of the software installation directory and in the easyconfigs repository (see Easyconfigs repository).

            If any changes were made to the easyconfig file via hooks, these changes will not be reflected in these copies. The assumption here is that the hooks will also be in place for future (re-)installations.

            EasyBuild does however store an additional copy of the easyconfig file which includes any modifications that were done dynamically, for example by hooks. If subtoolchains were used to resolve dependencies, they will also be hardwired in this copy.

            This \"reproducible easyconfig\" is stored in the easybuild/reprod subdirectory of the software installation directory.

            "},{"location":"hooks/#examples-of-hook-implementations","title":"Examples of hook implementations","text":""},{"location":"hooks/#replace-with-verbs-with-without-verbs-in-openmpi-configure-options","title":"Replace --with-verbs with --without-verbs in OpenMPI configure options","text":"
            def pre_configure_hook(self, *args, **kwargs):\n\"\"\"Example pre-configure hook to replace --with-verbs with --without -verbs for OpenMPI.\"\"\"\n    if self.name == 'OpenMPI' and '--with-verbs' in self.cfg['configopts']:\n        self.log.info(\"[pre-configure hook] Replacing --with-verbs with --without-verbs\")\n        self.cfg['configopts'] = self.cfg['configopts'].replace('--with-verbs', '--without-verbs')\n
            "},{"location":"hooks/#inject-a-custom-patch-file","title":"Inject a custom patch file","text":"
            def parse_hook(ec, *args, **kwargs):\n\"\"\"Example parse hook to inject a patch file for a fictive software package named 'Example'.\"\"\"\n    if ec.name == 'Example':\n        patch_file = 'example.patch'\n        ec.log.info(\"[parse hook] Injecting additional patch file '%s'\", patch_file)\n        ec['patches'].append(patch_file)\n
            "},{"location":"hooks/#replace-pythonpath-by-ebpythonprefixes-in-lua-modules","title":"Replace PYTHONPATH by EBPYTHONPREFIXES in (Lua) modules","text":"
            def module_write_hook(self, filepath, module_txt, *args, **kwargs):\n    # note: if `self.mod_filepath == filepath` => final module file\n    if 'Python' in (dep['name'] for dep in self.cfg.dependencies()):\n        search = r'prepend_path\\(\"PYTHONPATH\", pathJoin\\(root, \"lib/python\\d.\\d/site-packages\"\\)\\)'\n        replace = 'prepend_path(\"EBPYTHONPREFIXES\", root)'\n        return re.sub(search, replace, module_txt)\n
            "},{"location":"implementing-easyblocks/","title":"Implementing easyblocks","text":"

            This documentation covers aspects of implementing easyblocks and how to use them. For a concise definition of easyblocks, see Easyblocks.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_basics","title":"The basics","text":"

            An easyblock is a Python module that implements a software build and installation procedure.

            This concept is essentially implemented as a Python script that plugs into the EasyBuild framework.

            EasyBuild will leverage easyblocks as needed, depending on which software packages it needs to install. Which easyblock is required is determined by the easyblock easyconfig parameter, if it is present, or the software name (see Generic vs software-specific easyblocks).

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_generic_vs_software_specific","title":"Generic vs software-specific easyblocks","text":"

            Easyblocks can either be generic or software-specific.

            Generic easyblocks implement a 'standard' software build and installation procedure that is used by multiple different software packages. A commonly used example is the ConfigureMake generic easyblock, which implements the standard configure - make - make install installation procedure used by most GNU software packages.

            Software-specific easyblocks implement the build and installation procedure for a particular software package (see also Module name/location). Typically this involves highly customised substeps, for example specifying dedicated configuration options, creating or adjusting specific files, executing non-standard shell commands, etc. Usually a custom implementation of the sanity check is also included.

            Since EasyBuild v2.0, using a generic easyblock requires specifying the easyblock parameter in the easyconfig file. If it is not specified, EasyBuild will try and find the software-specific easyblock derived from the software name.

            The distinction between generic and software-specific easyblocks can be made based on the naming scheme that is used for an easyblock (see also Naming scheme for easyblocks).

            See also .

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_vs_easyconfigs","title":"Easyblocks vs easyconfigs","text":"

            Before you start implementing an easyblock, you should determine whether or not you really need an easyblock.

            Easyconfig files provide quite a bit of flexibility that alleviate the need for implementing many (software-specific) easyblocks. Examples include easyconfig parameters like (pre){config,build,installopts} (available for any easyblock), install_cmd (only for Binary generic easyblock or derivates), etc. See Writing easyconfig files: the basics for an overview of what is supported in easyconfig files, and for custom easyconfig parameters for the existing generic easyblocks (see also 'eb -e <easyblock> -a').

            On the other hand, somewhat complex or heavily customised software build and installation procedures may be handled better via a custom easyblock.

            Easyblocks are \"do once and forget\", and can provide a central solution for peculiarities of installations. Since they are basically Python scripts, they are very flexible and can take care of the 'heavy lifting' that goes beyond the key-value defining scope of easyconfig files.

            Hence, there is a fine line between using 'fat' easyconfigs with a generic easyblock and using a custom software-specific easyblock.

            Reasons to consider implementing a custom easyblock include:

            • 'critical' values for easyconfig parameters, which are required to make the installation succeed
            • compiler- or toolchain-specific aspects of the build and installation procedure (e.g., configure/build/install options)
            • interactive commands that need to be run
            • custom (configure) options for dependencies
            • having to create or adjust specific (configuration) files
            • 'hackish' usage of existing (generic) easyblocks and available easyconfig parameters

            One important aspect to consider of course is that implementing easyblocks requires some familiarity with Python, while easyconfig files can mostly be seen as a set of pure key-value definitions and hence are easier to create or update.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_naming_scheme","title":"Naming scheme for easyblocks","text":"

            Easyblocks need to follow a strict naming scheme, to ensure that EasyBuild can pick them up as needed. This involves two aspects: i) the name of the Python class, and ii) the name and location of the Python module file.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_naming_scheme_class_name_specific","title":"Class name for software-specific easyblocks","text":"

            The name of the Python class is determined by the software name for software-specific easyblocks. It consists of a prefix 'EB_', followed by the (original) software name.

            Because of limitations in Python on characters allowed in names of Python classes, only alphanumeric characters and _ are allowed. Any other characters are replaced following an encoding scheme:

            • spaces are replaced by underscores (_)
            • dashes - are replaced by _minus_
            • underscores are replaced by _underscore_
            • etc.

            The encode_class_name function provided in easybuild.tools.filetools returns the expected class name for a given software name; for example:

            >>> from easybuild.tools.filetools import encode_class_name\n>>> encode_class_name('netCDF-Fortran')\n'EB_netCDF_minus_Fortran'\n
            "},{"location":"implementing-easyblocks/#implementing_easyblocks_naming_scheme_class_name_generic","title":"Class name for generic easyblocks","text":"

            For generic easyblocks, the class name does not include an EB_ prefix (since there is no need for an escaping mechanism) and hence the name is fully free to choose, taking into account the restriction to alphanumeric characters and underscores.

            For code style reasons, the class name should start with a capital letter.

            Examples include Bundle, ConfigureMake, CMakePythonPackage.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_naming_scheme_module","title":"Module name/location","text":"

            The name of the Python module file is directly related to the name of Python class (i.e., the actual easyblock) that it provides.

            It should:

            • not include the EB_ prefix of the class name for software-specific easyblocks
            • consists only of lower-case alphanumeric characters ([a-z0-9]) and underscores (_)
              • dashes (-) are replaced by underscores (_)
              • any other non-alphanumeric characters (incl. spaces) are simply dropped

            Examples include:

            • gcc.py (for GCC)
            • netcdf_fortran.py (for netCDF-Fortran)
            • gamess_us.py (for GAMESS (US))

            The get_module_path function provided in easybuild.framework.easyconfig.easyconfig returns the (full) module location for a particular software name or easyblock class name; for example:

            >>> from easybuild.framework.easyconfig.easyconfig import get_module_path\n>>> get_module_path('netCDF-Fortran')\n'easybuild.easyblocks.netcdf_fortran'\n>>> get_module_path('EB_netCDF_minus_Fortran')\n'easybuild.easyblocks.netcdf_fortran'\n

            The location of the Python module is determined by whether the easyblock is generic or software-specific. Generic easyblocks are located in the easybuid.easyblocks.generic namespace, while software-specific easyblocks live in the easybuild.easyblocks namespace directly. To keep things organised, the actual Python module file for software-specific easyblocks are kept in 'letter' subdirectories, rather than in one large 'easyblocks' directory (see https://github.com/easybuilders/easybuild-easyblocks/blob/main/easybuild/easyblocks/).

            Note that you shouldn't concern yourself too much with getting the location of an easyblock right, as long as you use --include-easyblocks to make EasyBuild use additional or customised easyblocks (see Including additional easyblocks (--include-easyblocks) for more information).

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_structure","title":"Structure of an easyblock","text":"

            The example below shows the overall structure of an easyblock:

            from easybuild.framework.easyblock import EasyBlock\nfrom easybuild.tools.run import run_cmd\n\nclass EB_Example(EasyBlock):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def configure_step(self):\n\"\"\"Custom implementation of configure step for Example\"\"\"\n\n        # run configure.sh to configure the build\n        run_cmd(\"./configure.sh --install-prefix=%s\" % self.installdir)\n

            Each easyblock includes an implementation of a class that (directly or indirectly) derives from the abstract EasyBlock class.

            Typically some useful functions provided by the EasyBuild framework are imported at the top of the Python module.

            In the class definition, one or more '*_step' methods are redefined, to implement the corresponding step in the build and installation procedure.

            Each easyblock must implement the configure, build and install steps, since these are not implemented in the abstract EasyBlock class. This could be done explicitly by redefining the corresponding *_step methods, or implicitly by deriving from existing (generic) easyblocks.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_deriving","title":"Deriving from existing (generic) easyblocks","text":"

            When implementing an easyblock, it is common to derive from an existing (usually generic) easyblock, and to leverage the functionality provided by it. This approach is typically used when only a specific part of the build and installation procedure needs to be customised.

            In the (fictitious) example below, we derive from the generic ConfigureMake easyblock to redefine the configure step. In this case, we are extending the configure step as implemented by ConfigureMake rather than redefining it entirely, since we call out to the original configure_step method at the end.

            from easybuild.easyblocks.generic.configuremake import ConfigureMake\nfrom easybuild.tools.filetools import copy_file\n\nclass EB_Example(ConfigureMake):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def configure_step(self):\n\"\"\"Custom implementation of configure step for Example\"\"\"\n\n        # use example make.cfg for x86-64\n        copy_file('make.cfg.x86', 'make.cfg')\n\n        # call out to original configure_step implementation of ConfigureMake easyblock\n        super(EB_Example, self).configure_step()\n
            "},{"location":"implementing-easyblocks/#implementing_easyblocks_specifics","title":"Specific aspects of easyblocks","text":""},{"location":"implementing-easyblocks/#implementing_easyblocks_default_parameters","title":"Default easyconfig parameters","text":"

            All of the parameters which are \"set\" in an easyconfig file (see Available easyconfig parameters) become key-value pairs in the self.cfg dictionary. For instance, if the easyconfig file specifies

            name = 'example'\nversion = '2.5.3'\nversionsuffix = '-Python-3.7.4'\n

            then these three parameters are accessible within an easyblock via

            longform = ''.join(self.cfg['name'],'/',self.cfg['version'],self.cfg['versionsuffix'])\n

            You can use this notation successfully in your easyblock. A few of the most commonly used parameters can be referenced directly,

            • self.name = self.cfg['name']
            • self.version = self.cfg['version']
            • self.toolchain = self.cfg['toolchain']
            • self.all_dependencies: combines builddependencies, dependencies, and toolchain, in one dictionary

            So in your easyblock code, you may replace the above expression with

            longform = ''.join(self.name,'/',self.version,self.cfg['versionsuffix'])\n

            The other easyconfig parameters, and any additional custom parameters which you define for your own easyblock, will not be automatically mapped. You will need to use self.cfg to access them in your code.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_custom_parameters","title":"Custom easyconfig parameters","text":"

            In an easyblock, additional custom easyconfig parameters can be defined to steer the behaviour of the easyblock. This is done via the extra_options static method. Custom parameters can be defined to be mandatory or optional.

            The example below shows how this can be implemented:

            from easybuild.easyblocks.generic.configuremake import ConfigureMake\nfrom easybuild.framework.easyconfig import CUSTOM, MANDATORY\n\nclass EB_Example(ConfigureMake):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    @staticmethod\n    def extra_options():\n\"\"\"Custom easyconfig parameters for Example\"\"\"\n        extra_vars = {\n            'required_example_param': [None, \"Help text for required example custom parameter\", MANDATORY],\n            'optional_example_param': [None, \"Help text for (optional) example custom parameter\", CUSTOM],\n        }\n        return ConfigureMake.extra_options(extra_vars)\n

            The first element in the list of a defined custom parameter corresponds to the default value for that parameter (both None in the example above). The second element provides some informative help text, and the last element indicates whether the parameter is mandatory (MANDATORY) or just a custom parameter (CUSTOM).

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_constructor","title":"Easyblock constructor","text":"

            In the class constructor of the easyblock, i.e. the __init__ method, one or more class variables can be initialised. These can be used for sharing information between different *_step methods in the easyblock.

            For example:

            from easybuild.framework.easyblock import EasyBlock\n\nclass EB_Example(EasyBlock):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def __init__(self, *args, **kwargs):\n\"\"\"Constructor for Example easyblock, initialises class variables.\"\"\"\n\n        # call out to original constructor first, so 'self' (i.e. the class instance) is initialised\n        super(EB_Example, self).__init__(*args, **kwargs)\n\n        # initialise class variables\n        self.var1 = None\n        self.var2 = None\n
            "},{"location":"implementing-easyblocks/#implementing_easyblocks_files","title":"Reading/writing/copying/patching files","text":"

            File manipulation is a common use case for implementing easyblocks, hence the EasyBuild framework provides a number of useful functions related to this, including:

            • read_file(<path>): read file at a specified location and returns its contents
            • write_file(<path>, <text>) at a specified location with provided contents; to append to an existing file, use append=True as an extra argument
            • copy_file(<src>, <dest>) to copy an existing file
            • apply_regex_substitutions(<path>, <list of regex substitutions>) to patch an existing file

            All of these functions are provided by the easybuild.tools.filetools module.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_commands","title":"Executing (interactive) shell commands","text":"

            For executing shell commands two functions are provided by the easybuild.tools.run module:

            • run_cmd(<cmd>) to run a non-interactive shell command
            • run_cmd_qa(<cmd>, <dict with questions & answers>) to run an interactive shell command

            Both of these accept a number of optional arguments:

            • simple=True to just return True or False to indicate a successful execution, rather than the default return value, i.e., a tuple that provides the command output and the exit code (in that order)
            • path=<path> to run the command in a specific subdirectory

            The run_cmd_qa function takes two additional specific arguments:

            • no_qa=<list> to specify a list of patterns to recognize non-questions
            • std_qa=<dict> to specify patterns for common questions and the matching answer
            "},{"location":"implementing-easyblocks/#implementing_easyblocks_environment","title":"Manipulating the environment","text":"

            To (re)define environment variables, the setvar function provided by the easybuild.tools.environment module should be used.

            This makes sure that the changes being made to the specified environment variable are kept track of, and that they are handled correctly under --extended-dry-run.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_logging","title":"Log statements","text":"

            It is good practice to include meaningful log messages in the *_step methods being customised in the easyblock, to enrich the build log with useful information for later debugging or diagnostics.

            For logging, the provided self.log logger class should be used, i.e. the self.log.info or self.log.debug methods should be called.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_sanity_check","title":"Custom (default) sanity check","text":"

            For software-specific easyblocks, a custom sanity check is usually included to verify that the installation was successful or not.

            This is done by redefining the sanity_check_step method in the easyblock. For example:

            from easybuild.framework.easyblock import EasyBlock\n\nclass EB_Example(EasyBlock):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def sanity_check_step(self):\n\"\"\"Custom sanity check for Example.\"\"\"\n\n        custom_paths = {\n            'files': ['bin/example'],\n            'dirs': [],\n        }\n        custom_commands = ['example --version']\n\n        # call out to parent to do the actual sanity checking, pass through custom paths and commands\n        super(EB_Example, self).sanity_check_step(custom_paths=custom_paths, custom_commands=custom_commands)\n

            You can both specify file path and subdirectories to check for, which are specified relative to the installation directory, as well as simple commands that should execute successfully after completing the installation and loading the generated module file.

            Note that it is up to you how extensive you make the sanity check, but it is recommended to make the check as complete as possible to catch any potential build or installation problems that may occur.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_version_specific","title":"Version-specific parts","text":"

            In some case, version-specific actions or checks need to be included in an easyblock. For this, it is recommended to use LooseVersion rather than directly comparing version numbers using string values.

            For example:

            from distutils.version import LooseVersion\n\nfrom easybuild.framework.easyblock import EasyBlock\n\nclass EB_Example(EasyBlock):\n\"\"\"Custom easyblock for Example\"\"\"\n\n    def sanity_check_step(self):\n\"\"\"Custom sanity check for Example.\"\"\"\n\n        custom_paths = {\n            'files': [],\n            'dirs': [],\n        }\n\n        # in older version, the binary used to be named 'EXAMPLE' rather than 'example'\n        if LooseVersion(self.version) < LooseVersion('1.0'):\n            custom_paths['files'].append('bin/EXAMPLE')\n        else:\n            custom_paths['files'].append('bin/example')\n\n        super(EB_Example, self).sanity_check_step(custom_paths=custom_paths)\n
            "},{"location":"implementing-easyblocks/#implementing_easyblocks_module_only_compatibility","title":"Compatibility with --extended-dry-run/-x and --module-only","text":"

            Some special care must be taken to ensure that an easyblock is fully compatible with --extended-dry-run / -x (see Extended dry run) and --module-only (see Only (re)generating (additional) module files using --module-only).

            For --extended-dry-run/-x, this is already well covered at Detecting dry run mode and enhancing the dry run output.

            For --module-only, you should make sure that both the make_module_step, including the make_module_* submethods, and the sanity_check_step methods do not make any assumptions about the presence of certain environment variables or that class variables have been defined already.

            This needs to be handled with care since under --module-only the large majority of the *_step functions is simply skipped entirely. So, if the configure_step method is responsible for defining class variables that are picked up in sanity_check_step, the latter may run into unexpected initial values like None. A possible workaround is to define a separate custom method to define the class variables, and to call out to this method from configure_step and sanity_check_step (for the latter, conditionally, i.e., only if the class variables still have the initial values).

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_using","title":"Using new/custom easyblocks","text":"

            The best way to make EasyBuild aware of new or customized easyblocks is via --include-easyblocks, see Including additional easyblocks (--include-easyblocks) for more information.

            To verify that your easyblocks are indeed picked up correctly, you can use --list-easyblocks=detailed, see also List of available easyblocks, --list-easyblocks.

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_testing","title":"Testing easyblocks","text":"

            Before testing your easyblock implementation by actually building and installing the software package(s) it was implemented for, it is recommended to:

            • study the output produced by --extended-dry-run/-x
            • evaluate the generated module file that is obtained by using --module-only --force

            For the output of --extended-dry-run/-x, there should be no ignored errors (cfr. Errors are ignored (by default) during dry run), that is the end of the output produced should include this message:

            (no ignored errors during dry run)\n

            With --module-only --force, the easyblock complete successfully without crashing, and should generate a module file that includes everything that is expected (except for statements that require that the actual installation was performend).

            "},{"location":"implementing-easyblocks/#implementing_easyblocks_use_case_tensorlow","title":"Use case: an easyblock for Tensorflow","text":"

            (work in progress)

            "},{"location":"including-additional-python-modules/","title":"Including additional Python modules","text":"

            (--include-*)

            EasyBuild's capabilities can be extended easily, by including additional Python modules that implement support for building and installing software that is not supported (yet), define additional module naming schemes, or introduce additional toolchains, (optionally) with support for additional compilers, MPI libraries, linear algebra libraries, etc.

            Since EasyBuild v2.2.0, dedicated configuration options are available that make it straightforward to get EasyBuild to pick up additional Python modules, and get them registered in the appropriate easybuild subnamespace.

            • Including additional easyblocks
            • Including additional module naming schemes
            • Including additional toolchains
            "},{"location":"including-additional-python-modules/#include_general_remarks","title":"General aspects of --include-* options","text":""},{"location":"including-additional-python-modules/#configuration-types","title":"Configuration types","text":"

            The --include-* options can be specified via the eb command line, using an environment variable ($EASYBUILD_INCLUDE_*) or by defining the corresponding include-* parameters in an EasyBuild configuration file, just like all other configuration options (see also Consistency across supported configuration types).

            "},{"location":"including-additional-python-modules/#format","title":"Format","text":"

            The --include-* options accept a comma-separated list of paths to Python modules.

            These paths can be absolute or relative paths, or so-called glob patterns, i.e., paths containing wildcard characters like * or ?. The latter can be used to include several Python modules at once.

            For example, to include all Python modules located in the directory $HOME/myeb, a path pattern like $HOME/myeb/*.py can be specified to the appropriate --include-* option.

            Note

            Shell expansion can get in the way of specifying paths to eb that contains wildcards. To avoid problems simply wrap the path in single quotes, or escape the wildcard characters using a backslash. Keep in mind that using single quotes also prevents environment variables (e.g., $HOME) from being expanded.

            Examples of correct path specifications containing wildcards: - in a configuration file (no escaping of wildcards required): include-easyblocks = /home/example/myeb/*.py - using an environment variable: export EASYBUILD_INCLUDE_EASYBLOCKS=\"$HOME/myeb\\*.py\" - on the command line: eb --include-easyblocks='/home/example/myeb/*.py' ....

            "},{"location":"including-additional-python-modules/#how-it-works","title":"How it works","text":"

            For each of the --include-* options, EasyBuild will set up a temporary directory providing the corresponding Python package. In this directory, symlinks will be put in place to each of the included Python modules. The parent path is then injected in the Python search path to make the included Python modules available as required.

            "},{"location":"including-additional-python-modules/#order-of-preference","title":"Order of preference","text":"

            Python modules that are included via --include-* get preference over other Python modules available in the Python search path (e.g., the one that are part of the EasyBuild installation you are using). This may be useful when testing modifications to particular components of EasyBuild, for example easyblocks.

            Note

            It is recommended to only override existing components during testing. Future EasyBuild versions may include important updates like bug fixes, which may be missed if customised implementations of components were put in place.

            "},{"location":"including-additional-python-modules/#include_easyblocks","title":"Including additional easyblocks","text":"

            (--include-easyblocks)

            Adding support for building and installing additional software packages can be done by specifying the location of Python modules that implement easyblocks via --include-easyblocks.

            Generic easyblocks are expected to be located in a directory named generic.

            To verify that the easyblocks you included are indeed being picked up, --list-easyblocks=detailed can be used (see also List of available easyblocks).

            Since EasyBuild 4.2.0, easyblocks from a pull request on GitHub can also be included, using --include-easyblocks-from-pr (see Using easyblocks from pull requests).

            "},{"location":"including-additional-python-modules/#example","title":"Example","text":"

            The example below shows how all self-implemented easyblocks (both software-specific and generic) located in the $HOME/myeasyblocks directory can be included:

            $ export EASYBUILD_INCLUDE_EASYBLOCKS=$HOME/myeasyblocks/\\*.py,$HOME/myeasyblocks/generic/\\*.py\n$ eb --list-easyblocks=detailed\n...\n|-- EB_mytest (easybuild.easyblocks.mytest @ /tmp/example/eb-Bk3zxb/included-easyblocks/easybuild/easyblocks/mytest.py)\n...\n|-- foo (easybuild.easyblocks.generic.foo @ /tmp/example/eb-Bk3zxb/included-easyblocks/easybuild/easyblocks/generic/foo.py)\n...\n
            "},{"location":"including-additional-python-modules/#include_mns","title":"Including additional module naming schemes","text":"

            (--include-module-naming-schemes)

            To make EasyBuild aware of one or more custom module naming schemes, the path to the corresponding Python modules can be specified via --include-module-naming-schemes.

            To verify that EasyBuild is aware of the additional module naming schemes, the --avail-module-naming-schemes option can be used.

            "},{"location":"including-additional-python-modules/#example_1","title":"Example","text":"

            The example below shows how all custom module naming schemes located in the $HOME/myebmns can be included:

            $ eb --include-module-naming-schemes=$HOME/myebmns/\\*.py --avail-module-naming-schemes\nList of supported module naming schemes:\n    ...\n    MyCustomMNS\n    MyOtherCustomMNS\n    ...\n
            "},{"location":"including-additional-python-modules/#include_toolchains","title":"Including additional toolchains","text":"

            (--include-toolchains)

            Plugging in Python modules that add support for additional toolchains, optionally including additional toolchain components (compilers, MPI libraries, BLAS/LAPACK/FFT libraries, ...) can be done via --include-toolchains.

            EasyBuild will determine whether the Python module is a toolchain definition or implements support for an additional toolchain component based on the name of the directory in which it is located. Implementations of toolchain components are expected to be located in a directory named according to the type of component (compiler, mpi, linalg or fft).

            To verify that EasyBuild is aware of the included toolchains, --list-toolchains can be used.

            "},{"location":"including-additional-python-modules/#example_2","title":"Example","text":"

            The example below shows how the support for additional toolchains and the required additional compiler/MPI toolchain components implemented by the Python modules located in the directory $HOME/myebtcs can be included:

            $ export EASYBUILD_INCLUDE_TOOLCHAINS=$HOME/myebtcs/\\*.py,$HOME/myebtcs/compiler/\\*.py,$HOME/myebtcs/mpi/\\*.py\n$ eb --list-toolchains\nList of known toolchains (toolchainname: module[,module...]):\n    ...\n    mytoolchain: MyCompiler, MyMPI\n    ...\n
            "},{"location":"installation-alternative/","title":"Alternative installation methods","text":"

            This page describes the alternative installation methods:

            • Standard installation of latest release
            • Installation from downloaded sources
            • Installation of latest release from GitHub
            • Installation of latest development version

            Do take into account the list of (required) dependencies (see Dependencies).

            "},{"location":"installation-alternative/#standard-installation-of-latest-release","title":"Standard installation of latest release","text":"

            Usually, you just want to install the latest (stable) version of each of the EasyBuild packages (framework, easyblocks, easyconfigs).

            Python provides a couple of ways to do that. Every version of the EasyBuild packages is released via PyPi.

            "},{"location":"installation-alternative/#alt_inst_easy_install_pip","title":"Installing EasyBuild without admin rights","text":"

            If you do not have EasyBuild installed yet, or if you just want to install the most recent version of each of the EasyBuild packages, you can use one of the following simple commands:

            • using easy_install (old tool, but still works):

              easy_install --prefix $HOME/EasyBuild easybuild\n

              Note

              If you already have easybuild installed, you may need to instruct easy_install to install a newer version, using --upgrade or -U.

            • using pip (more recent and better installation tool for Python software):

              pip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild\n

              The --prefix $HOME/EasyBuild part in these commands allows you to install EasyBuild without admin rights into $HOME/EasyBuild.

              Note

              For pip v8.0 and newer, pip install --prefix=$HOME/EasyBuild easybuild works too.

            "},{"location":"installation-alternative/#adjusting-path-and-pythonpath-environment-variables","title":"Adjusting $PATH and $PYTHONPATH environment variables","text":"

            After installing EasyBuild with either easy_install or pip like this, you will need to update the $PATH and $PYTHONPATH environment variable to make sure the system can find the main EasyBuild command eb. On (most) Linux distributions, the command for doing this is:

            export PATH=$HOME/EasyBuild/bin:$PATH\nexport PYTHONPATH=$HOME/EasyBuild/lib/python2.7/site-packages:$PYTHONPATH\n

            Tip

            To determine the path that should be added to the $PYTHONPATH environment variable for a given installation prefix, you can use the following command:

            python -c \"import distutils.sysconfig; print distutils.sysconfig.get_python_lib(prefix='$HOME/EasyBuild/');\"\n
            "},{"location":"installation-alternative/#install-with-admin-rights","title":"Install with admin rights","text":"

            If you do have admin rights on the system where you want to install EasyBuild, you can simply omit the --prefix $HOME/EasyBuild/ to have EasyBuild installed system-wide. In that case, you do not need to touch the $PATH or $PYTHONPATH environment variables since the eb command will be installed in one of the default paths.

            "},{"location":"installation-alternative/#alternatives-to-prefix","title":"Alternatives to --prefix","text":"

            As an alternative to --prefix when you do not have admin rights, you can specify that EasyBuild should be installed in your $HOME directory using the --user option.

            The full list of commands to install EasyBuild in your $HOME directory using pip would be:

            pip install --user easybuild\nexport PATH=$HOME/.local/bin:$PATH\n

            Warning

            In our experience, using --user creates more problems than it solves. We have run into unexpected behavior with Python software installed in your home directory using --user, for example it always being preferred over versions installed somewhere else. Hence, we strongly discourage using --user to install EasyBuild (or other Python software).

            "},{"location":"installation-alternative/#installing-the-easybuild-packages-separately","title":"Installing the EasyBuild packages separately","text":"

            Each of the EasyBuild packages can also be installed separately:

            pip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild-framework\npip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild-easyblocks\npip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild-easyconfigs\n

            This is the exact same sequence of steps as they will be performed when running pip install --install-option \"--prefix=$HOME/EasyBuild\" easybuild.

            "},{"location":"installation-alternative/#installation-from-downloaded-sources","title":"Installation from downloaded sources","text":"

            To install one of the EasyBuild packages from a downloaded source tarball, use the following steps:

            tar xfvz easybuild-framework-1.0.tar.gz\ncd easybuild-framework-1.0\npip install --install-option \"--prefix=$HOME/EasyBuild\" .\n

            Do note that when an EasyBuild package is being installed without having the EasyBuild packages that it depends upon available, both easy_install and pip will try and pull in the latest available version of those packages from PyPi.

            Thus, to have full control over the EasyBuild installation, you need to respect the following installation order: easybuild-framework, easybuild-easyblocks, easybuild-easyconfigs. The easyblocks package depends on the framework package; the easyconfigs package depends on both the framework and easyblocks packages.

            If you do not have pip or easy_install available, you can also fall back to using the setup.py script directly:

            python setup.py --prefix $HOME/EasyBuild install\n
            "},{"location":"installation-alternative/#installation-of-latest-release-from-github","title":"Installation of latest release from GitHub","text":"

            To install the latest (stable) release of an EasyBuild package directly from GitHub, use the following command:

            pip install --install-option \"--prefix=$HOME/EasyBuild\" https://github.com/easybuilders/easybuild-framework/archive/main.tar.gz\n

            Again, the order in which the EasyBuild packages are installed is important to have full control over the installation process, see previous section.

            "},{"location":"installation-alternative/#installation-of-latest-development-version","title":"Installation of latest development version","text":"

            To install the latest development version of an EasyBuild package from GitHub, you can simply adjust the command from the previous section to install from the develop branch (or any of the available feature branches in any EasyBuild repository for that matter):

            pip install --install-option \"--prefix=$HOME/EasyBuild\" https://github.com/easybuilders/easybuild-framework/archive/develop.tar.gz\n

            Note

            You should use this only if you are interested in developing for EasyBuild. Although it is well tested, the development version of the EasyBuild repositories may be unstable at a given point in time.

            "},{"location":"installation-alternative/#install_latest_develop_using_script","title":"Installation of latest development version using provided script","text":"

            After you have forked each of the EasyBuild repositories on GitHub (+ vsc-base), you can set up a development version of EasyBuild using the install-EasyBuild-develop.sh script.

            This script will clone the different EasyBuild repositories from GitHub:

            • easybuild: EasyBuild metapackage & documentation sources for http://easybuild.readthedocs.org
            • vsc-base: dependency for EasyBuild framework (logging, command line interface, ...)
            • easybuild-framework: EasyBuild framework
            • easybuild-easyblocks: collection of easyblocks
            • easybuild-easyconfigs: collection of easyconfig files

            It can be used as follows:

            # pick an installation prefix (adjust as you like)\nINSTALL_PREFIX=$(mktemp -d $HOME/EasyBuild-XXXXXX)\n# download script\ncurl -O https://raw.githubusercontent.com/easybuilders/easybuild-framework/main/easybuild/scripts/install-EasyBuild-develop.sh\n# run downloaded script, specifying *your* GitHub username and the installation prefix\nbash install-EasyBuild-develop.sh GITHUB_USERNAME $INSTALL_PREFIX\n# update $MODULEPATH via 'module use', and load the module\nmodule use $INSTALL_PREFIX/modules\nmodule load EasyBuild-develop\neb --version  ## This should ensure you have a reasonable instance of EasyBuild\n

            Note

            The above creates a module file which you can load/inspect at will.

            The interesting aspect about it is that it is pointing to an EasyBuild installation directly on local git repositories, which allows you to customise it easily. Remember to commit/push or otherwise save your changes, if you intend to use them later.

            "},{"location":"installation/","title":"Installing EasyBuild","text":"

            EasyBuild is Python software, so there are a couple of ways to install it.

            We recommend installing EasyBuild using pip. This method is described at Using pip to Install EasyBuild.

            It is also possible to install EasyBuild as a module. To do this, use the 3-step procedure outlined at Installing EasyBuild with EasyBuild.

            Do take into account the required and optional dependencies (see Requirements and Dependencies).

            Notes on other ways of installing EasyBuild are available under section Alternative installation methods.

            "},{"location":"installation/#requirements","title":"Requirements","text":"

            The only strict requirements are:

            • a GNU/Linux distribution as operating system
              • some common shell tools are expected to be available, see Required shell tools
            • Python:
              • Python 2.7, or Python 3.x (>= 3.5);
              • since Python 2 is end-of-life we strongly recommend using Python 3 if it is available;
              • only EasyBuild v4.0 (or newer) is compatible with Python 3, earlier EasyBuild releases require Python 2;
              • EasyBuild 5.0 will require Python >= 3.6;
              • no third-party Python packages are strictly required (the Python standard library is sufficient);
              • for some specific EasyBuild features additional Python packages are required however, see Optional Python packages;
            • a modules tool: Tcl(/C) environment modules or Lmod
              • the actual modules tool must be available via $PATH, see Required modules tool
            • a C/C++ compiler (e.g., gcc and g++)
              • only required to build and install GCC with, or as a dependency for the Intel compilers, for example

            For more information on dependencies, see Dependencies.

            "},{"location":"installation/#pip","title":"Using pip to Install EasyBuild","text":"

            Since EasyBuild is released as a Python package on PyPI you can install it using pip, the most commonly used tool for installing Python packages.

            Install EasyBuild with:

            pip install easybuild\n

            You may need to tweak this command a bit, depending on your setup, see Additional pip install options.

            Note

            There are various other ways of installing Python packages, which we won't cover here. If you are familiar with other tools like virtualenv or pipenv, feel free to use those instead to install EasyBuild.

            "},{"location":"installation/#sanity-check","title":"Sanity check","text":"

            Compare the version of eb, the main EasyBuild command, with the version of the EasyBuild module that was installed. For example::

            $ module load EasyBuild\n$ module list\n\nCurrently Loaded Modules:\n  1) EasyBuild/4.8.0\n\n$ eb --version\nThis is EasyBuild 4.8.0 (framework: 4.8.0, easyblocks: 4.8.0) on host example.local\n

            Tip

            The Tcl-based or Lmod implementations of environment modules do their default sorting differently. The former will normally sort in the lexicographic order, while Lmod follows an approach that is closer to Python's construct LooseVersion way of ordering. Such aspects may make a big difference, if you have installed both versions 1.9.0 and 1.15.2, with respect to what is the version being loaded by default.

            You can also run eb --show-system-info to see system information relevant to EasyBuild, or runeb --show-config to see the default EasyBuild configuration (see also Configuring EasyBuild).

            "},{"location":"installation/#updating","title":"Updating an existing EasyBuild installation","text":"

            To upgrade to a newer EasyBuild version than the one currently installed:

            • pip install --upgrade easybuild will upgrade EasyBuild to the latest release.
            "},{"location":"installation/#more_pip","title":"Additional pip install options","text":"

            For the pip install, you may wish to slightly change this command depending on the context and your personal preferences:

            • to install EasyBuild system-wide, you can use sudo (if you have admin privileges):

              sudo pip install easybuild\n
            • To install EasyBuild in your personal home directory, you can use the --user option:

              pip install --user easybuild\n

              This will result in an EasyBuild installation in $HOME/.local/.

            • To install EasyBuild in a specific directory you can use the --prefix option:

              pip install --prefix _PREFIX_ easybuild\n

              In this command, you should replace '_PREFIX_' with the location where you want to have EasyBuild installed (for example, $HOME/tools or /tmp/$USER).

            Keep in mind that you may need to update your environment too when using --user or --prefix, see Updating your environment.

            "},{"location":"installation/#more_pip_pip3","title":"pip vs pip3","text":"

            On systems where both Python 2 and Python 3 are installed you may also have different pip commands available. Or maybe pip is not available at all, and only \"versioned\" pip commands like pip3 are available.

            If you (only) have pip3 available, you can replace pip with pip3 in any of the pip install commands above:

            pip3 install easybuild\n

            If you want to ensure that you are using the pip installation that corresponds to the Python 3 installation that you intend to use, you can use python3 -m pip rather than pip3.

            python3.6 -m pip install easybuild\n

            Note that you may also need to instruct the eb command to use the correct Python version at runtime, via $EB_PYTHON (see Setting $EB_PYTHON).

            "},{"location":"installation/#more_pip_env","title":"Updating your environment","text":"

            If you used the --user or --prefix option in the pip install command, or if you installed EasyBuild with a pip version that does not correspond to your default Python installation, you will need to update your environment to make EasyBuild ready for use. This is not required if you did a system-wide installation in a standard location with the default Python version.

            Note

            Keep in mind that you will have to make these environment changes again if you start a new shell session. To avoid this, you can update one of the shell startup scripts in your home directory (.bashrc for example).

            "},{"location":"installation/#more_pip_env_PATH","title":"Updating $PATH","text":"

            Update the $PATH environment variable to make sure the eb command is available::

            export PATH=_PREFIX_/bin:$PATH\n

            Replace _PREFIX_ in this command with the directory path where EasyBuild was installed into (use $HOME/.local if you used pip install --user).

            This is not required if you installing EasyBuild in a standard system location.

            You can check with the which eb command to determine whether or not you need to update the $PATH environment variable.

            "},{"location":"installation/#more_pip_env_PYTHONPATH","title":"Updating $PYTHONPATH","text":"

            If you installed EasyBuild to a non-standard location using pip install --prefix, you also need to update the Python search path environment variable $PYTHONPATH to instruct Python where it can find the EasyBuild Python packages.

            This is not required if you used the --user option, since Python will automatically consider $HOME/.local when searching for installed Python packages, or if you installed EasyBuild in a standard system-wide location.

            Update $PYTHONPATH by running a command like::

            export PYTHONPATH=_PREFIX_/lib/pythonX.Y/site-packages:$PYTHONPATH\n

            Here, you need to replace the X and Y with the major and minor version of your Python installation, which you can determine by running python -V. For example, if you are using Python 3.6, make sure you are using /python3.6/ in the command to update $PYTHONPATH.

            And of course, you again need to replace '_PREFIX_' with the installation prefix where EasyBuild was installed into.

            For example:

            # update $PYTHONPATH if EasyBuild was installed in $HOME/tools with Python 3.6\nexport PYTHONPATH=$HOME/tools/lib/python3.6/site-packages:$PYTHONPATH\n
            "},{"location":"installation/#more_pip_env_EB_PYTHON","title":"Setting $EB_PYTHON","text":"

            If you want to control which Python version is used to run EasyBuild, you can specify the name or the full path to the python command that should be used by the eb command via the $EB_PYTHON environment variable.

            This may be required when you are installing EasyBuild with a version of pip that does not correspond with the default Python version.

            For example, to ensure that eb uses python3.6:

            export EB_PYTHON=python3.6\n
            "},{"location":"installation/#more_pip_env_EB_VERBOSE","title":"Setting $EB_VERBOSE","text":"

            To determine which python commands are being considered by the eb command, you can define the $EB_VERBOSE environment variable. For example:

            $ EB_VERBOSE=1 eb --version\n>> Considering 'python3.6'...\n>> 'python3' version: 3.6.8, which matches Python 3 version requirement (>= 3.5)\n>> Selected Python command: python3 (/usr/bin/python3.6)\n>> python3.6 -m easybuild.main --version\nThis is EasyBuild 4.8.0 (framework: 4.8.0, easyblocks: 4.8.0) on host example\n
            "},{"location":"installation/#eb_as_module","title":"Installing EasyBuild with EasyBuild","text":"

            If you prefer having EasyBuild available through an environment module file, you can consider installing EasyBuild with EasyBuild. This can be done in 3 steps:

            • Step 1: Installing EasyBuild with pip into a temporary location (only needed if EasyBuild is not installed yet)
            • Step 2: Using EasyBuild to install EasyBuild as a module
            • Step 3: Loading the EasyBuild module
            "},{"location":"installation/#eb_as_module_step1","title":"Step 1: Installing EasyBuild into a temporary location","text":"

            If you don't have EasyBuild installed yet, you need to install it in a temporary location first. The recommended way of doing this is using pip to install EasyBuild.

            For example, to install EasyBuild into a subdirectory /tmp/$USER using the default Python 3 version:

            # pick installation prefix, and install EasyBuild into it\nexport EB_TMPDIR=/tmp/$USER/eb_tmp\npython3 -m pip install --ignore-installed --prefix $EB_TMPDIR easybuild\n\n# update environment to use this temporary EasyBuild installation\nexport PATH=$EB_TMPDIR/bin:$PATH\nexport PYTHONPATH=$(/bin/ls -rtd -1 $EB_TMPDIR/lib*/python*/site-packages | tail -1):$PYTHONPATH\nexport EB_PYTHON=python3\n
            "},{"location":"installation/#eb_as_module_step2","title":"Step 2: Using EasyBuild to install EasyBuild","text":"

            Once you have a working (recent) temporary EasyBuild installation, you can use it to install EasyBuild as a module. Usually this is done in the location where you would like to install other software too.

            You can use the eb --install-latest-eb-release command for this, combined with the --prefix option to control which directories are used by EasyBuild for the installation.

            For example, to install the latest version of EasyBuild as a module into $HOME/easybuild:

            eb --install-latest-eb-release --prefix $HOME/easybuild\n

            Note

            You may see a harmless deprecation warning popping up when performing this installation, just ignore it.

            "},{"location":"installation/#eb_as_module_step3","title":"Step 3: Loading the EasyBuild module","text":"

            Once Step 2: Using EasyBuild to install EasyBuild is completed, you should be able to load the module that was generated alongside the EasyBuild installation. You will need to do this every time you start a new shell session.

            First, make the module available by running the following command (which will update the module search path environment variable $MODULEPATH):

            module use _PREFIX_/modules/all\n

            Replace _PREFIX_ with the path to the directory that you used when running Step 2: Using EasyBuild to install EasyBuild (for example, $HOME/easybuild).

            Then, load the EasyBuild module to update your environment and make EasyBuild available for use:

            module load EasyBuild\n

            Note

            Note that in this case, we don't need to make any changes to our environment for EasyBuild to work correctly. The environment module file that was generated by EasyBuild specifies all changes that need to be made.

            "},{"location":"installation/#dependencies","title":"Required Dependencies","text":"

            This section gives further information on the required dependencies.

            "},{"location":"installation/#required_shell_tools","title":"Required shell tools","text":"

            A couple of shell tools may be required, depending on the particular use case (in relative order of importance):

            • shell builtin commands:
              • type, for inspecting the module function (if defined)
              • ulimit, for querying user limits
            • tools for unpacking (source) archives:
              • commonly required: tar, gunzip, bunzip2
              • occasionally required: unzip, unxz
            • patch, for applying patch files to unpacked sources (relatively common)
            • rpm or dpkg, for querying OS dependencies (only needed occasionally)
            • locate, only as a (poor mans) fallback to rpm/dpkg (rarely needed)
            • sysctl, for querying system characteristics (only required on non-Linux systems)
            "},{"location":"installation/#required_modules_tool","title":"Required modules tool","text":"

            EasyBuild not only generates module files to be used along with the software it installs, it also depends on the generated modules, mainly for resolving dependencies. Hence, a modules tool must be available to consume module files with.

            Supported module tools:

            • Tcl/C environment-modules (version >= 3.2.10)
            • Tcl-only variant of environment modules
            • Lmod (version >= 6.5.1), highly recommended

            Note

            The path to the actual modules tool binary/script used must be included in $PATH, to make it readily available to EasyBuild.

            • for Tcl/C environment modules: modulecmd
            • for Tcl-only environment modules: modulecmd.tcl
            • for Lmod: lmod

            The path where the modules tool binary/script is located can be determined via the definition of the module function; for example, using type module or type -f module.

            Note

            For Lmod specifically, EasyBuild will try to fall back to finding the lmod binary via the $LMOD_CMD environment variable, in case lmod is not available in $PATH.

            In EasyBuild versions prior to 2.1.1, the path specified by $LMOD_CMD was (erroneously) preferred over the (first) lmod binary available via $PATH.

            Additional notes:

            • Tcl(/C) environment-modules requires Tcl to be installed (with header files and development libraries)
            • Lmod requires Lua and a couple of non-standard Lua libraries (lua-posix, lua-filesystem) to be available
              • Tcl (tclsh) must also be available for Lmod to support module files in Tcl syntax
            • a guide to installing Tcl/C environment modules without having root permissions is available at Installing environment modules without root permissions.
            • a guide to installing Lmod without having root permissions is available at Installing Lmod without root permissions.
            "},{"location":"installation/#required_python_packages","title":"Required Python packages","text":"

            Since EasyBuild v4.0, no Python packages outside of the Python standard library are required.

            "},{"location":"installation/#optional-dependencies","title":"Optional dependencies","text":"

            Some dependencies are optional and are only required to support certain features.

            "},{"location":"installation/#optional_python_packages","title":"Optional Python packages","text":"
            • GC3Pie, only needed when using GC3Pie as a backend for --job, see also Submitting jobs using --job;
            • GitPython, only needed if EasyBuild is hosted in a git repository or if you\u2019re using a git repository for easyconfig files (.eb);
            • graphviz for Python, only needed for building nice-looking dependency graphs using --dep-graph *.pdf / *.png;
            • keyring, only needed for securely storing a GitHub token (see Integration with GitHub);
            • pycodestyle, only required for --check-style and --check-contrib;
            • python-graph-dot, only needed for building nice-looking dependency graphs using --dep-graph *.dot
            • Rich, only needed to let eb produce rich output, like Progress bars;
            "},{"location":"installation/#sources","title":"Sources","text":"

            EasyBuild is split up into three different packages, which are available from the Python Package Index (PyPi):

            • easybuild-framework - the EasyBuild framework, which includes the easybuild.framework and easybuild.tools Python packages that provide general support for building and installing software
            • easybuild-easyblocks - a collection of easyblocks that implement support for building and installing (collections of) software packages
            • easybuild-easyconfigs - a collection of example easyconfig files that specify which software to build, and using which build options; these easyconfigs will be well tested with the latest compatible versions of the easybuild-framework and easybuild-easyblocks packages
            • easybuild-docs - a repository containing the sources of the EasyBuild documentation, which is hosted at https://docs.easybuild.io.

            Next to these packages, a meta-package named easybuild is also available on PyPi, in order to easily install the full EasyBuild distribution.

            The source code for these packages is also available on GitHub:

            • easybuild-framework git repository
            • easybuild-easyblocks git repository
            • easybuild-easyconfigs git repository
            • the main EasyBuild repository
            "},{"location":"installation/#in-case-of-installation-issues","title":"In case of installation issues...","text":"

            Should the installation of EasyBuild fail for you, please open an issue to report the problems you're running into.

            "},{"location":"installation/#how-to-collect-info-in-case-sanity-checks-fail-or-there-is-another-issue","title":"How to collect info in case sanity checks fail or there is another issue","text":"

            In order to get a better understanding in which kind of environment you are using the bootstrap script, please copy-paste the commands below and provide the output in your problem report. Do not worry if some of these commands fail or spit out error messages.

            python -V\ntype module\ntype -f module\nmodule --version\nmodule av EasyBuild\nwhich -a eb\neb --version\n
            "},{"location":"installing-environment-modules-without-root-permissions/","title":"Installing environment modules without root permissions","text":"

            This short guide will explain how to install the standard environment modules Tcl/C software package without root permissions on a Linux or Mac OS X system, together with Tcl on which it depends.

            "},{"location":"installing-environment-modules-without-root-permissions/#tcl","title":"Tcl","text":"
            1. Go to https://www.tcl.tk and download the latest Tcl sources. At the time of writing, the latest available Tcl version was 8.5.15, which can be downloaded from here. The remainder of these commands will assume Tcl v8.5.15 is being installed, you may need to adjust them accordingly. Note: Stick to Tcl v8.5.x, don't consider using the more recent v8.6.x or higher, since the environment modules package is not compatible with those Tcl versions.

            2. Unpack the Tcl source tarball:

              tar xfvz tcl8.5.15-src.tar.gz\n
            3. Pick a location where you will install Tcl. It should be a directory you have write permissions on. My suggestion would be to use something like $HOME/.local/Tcl.

            4. Go to the unix subdirectory of the unpacked Tcl directory, and run the configure script using the --prefix option:

              cd tcl8.5.15/unix\n./configure --prefix=$HOME/.local/Tcl\n

              If you're building Tcl and environment modules on Mac, you should run configure in the tcl8.5.15/macosx directory instead.

            5. Next, build Tcl using the make command. If the system you are building on has multiple cores, running make in parallel will speed up the build. Just use the -j option, and pass it a degree of parallelism (just use the number of cores your system has available), e.g.:

              make -j 4\n
            6. The final step consists of installing Tcl to the directory specified in step 4. To do this, simply run:

              make install\n

            All done! Now you are ready to build the environment modules package, which requires Tcl.

            "},{"location":"installing-environment-modules-without-root-permissions/#environment-modules","title":"Environment Modules","text":"
            1. Download the latest source tarball for the environment modules tools from https://modules.sourceforge.net. At the time of writing, the latest available version is 3.2.10 which can be downloaded from here.

            2. Unpack the downloaded source tarball:

              tar xfvz modules-3.2.10.tar.gz\n
            3. Configure the build, again use --prefix to specify where to install the environment modules tool in the end. If you needed to install Tcl by hand as outlined in the previous section, you'll also need to specify where it was installed using the --with-tcl option:

              cd modules-3.2.10\n./configure --prefix=$HOME/.local/environment-modules --with-tcl=$HOME/.local/Tcl/lib\n
            4. Build with make, consider parallel build if your system is recent enough:

              make -j 4\n
            5. Install:

              make install\n

            Alright, now just one more thing...

            "},{"location":"installing-environment-modules-without-root-permissions/#set-up-your-environment","title":"Set up your environment","text":"

            Because you've installed environment modules and Tcl in a non-default location, you need to make sure your environment is setup up correctly to use them.

            To make a long story short, these are the commands you need to execute:

            export PATH=$HOME/.local/environment-modules/Modules/3.2.10/bin:$PATH\nexport LD_LIBRARY_PATH=$HOME/.local/Tcl/lib:$LD_LIBRARY_PATH\n# adjust line below if you're using a shell other than bash, check with 'echo $SHELL'\nsource $HOME/.local/environment-modules/Modules/3.2.10/init/bash\n

            Tip

            Add these three lines in your .bashrc file, that way they'll be executed every time you log in.

            "},{"location":"installing-extensions-in-parallel/","title":"Installing extensions in parallel (experimental!)","text":"

            Since EasyBuild v4.5.0 (initial) support is available for installing extensions in parallel, that is to run the installation command for multiple extensions that are ready to install at the same time in the background, to exploit the availability of multiple cores.

            Note: this is an experimental feature. Some of the mentioned functionality may be subject to change or be prone to errors.

            "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_configuration","title":"Configuration","text":"

            To let EasyBuild install extensions in parallel, the parallel-extensions-install configuration option must be enabled.

            In addition, since the support for installing extensions in parallel is an experimental feature, the experimental configuration option must be also be enabled (see also Experimental features).

            How many extension installations should be started (at maximum) at the same time is controlled by the parallel configuration option.

            "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_requirements","title":"Requirements","text":"

            For EasyBuild to be able to install a list of extensions in parallel, two requirements must be met:

            • The easyblock(s) that are used for installing the extensions must have support for determining which installed extensions are required to fulfil the dependencies for a particular extension. This is done via the required_deps property method.
            • EasyBuild must be able to start a single shell command (asynchronously, so it runs in the background) to perform the installation of the extension via the run_async method, and check whether the command has completed via the async_cmd_check method.

            For an example of how required_deps, run_async, and async_cmd_check can be implemented, see the RPackage easyblock.

            "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues","title":"Caveats and Known issues","text":"

            (last update: EasyBuild v4.5.0)

            There are a couple of caveats and known issues with installing extensions in parallel, which we hope to resolve in future EasyBuild releases.

            This is also why the support for installing extensions in parallel is currently marked as an experimental feature.

            "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues_only_r","title":"Only works for R extensions","text":"

            The support for installing extensions in parallel currently only works for R extensions, since only the RPackage easyblock (which is used to install R packages as extensions) implements the necessary methods (see Requirements).

            Supporting other types of extensions (Python, Perl, etc.) requires that the corresponding easyblocks that are used to install those extensions (like PythonPackage, PerlModule) are enhanced to support determining required dependencies and starting the installation command asynchronously.

            "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues_exts_list","title":"List of extensions must be self-contained","text":"

            The EasyBuild framework currently enforces that all required dependencies for a particular extension are included in the list of extensions that is being installed (specified via the exts_list easyconfig parameter). Extensions provided by dependencies are not taken into account (yet).

            As a result, trying to install an R-bundle-Bioconductor easyconfig with parallel-extensions-install enabled will result in an error reporting missing required dependencies.

            "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues_skip","title":"Skipping of installed extensions is still done sequentially","text":"

            Checking which extensions are already installed for which the installation can be skipped when --skip (see Installing additional extensions using -k/-skip) is being used is still done sequentially.

            Additional work is needed to also run these checks in parallel across the cores that are available to EasyBuild.

            "},{"location":"installing-extensions-in-parallel/#installing_extensions_in_parallel_caveats_known_issues_sanity_check","title":"Sanity check for extensions is still run sequentially","text":"

            The sanity checks that are done for each extension are still done through a sequential loop over the list of extensions.

            Additional work is needed to also run these checks in parallel across the cores that are available to EasyBuild.

            "},{"location":"installing-lmod-without-root-permissions/","title":"Installing Lmod without root permissions","text":"

            This short guide will show how to install Lmod (and Lua, on which it depends) on Linux, without requiring root permissions.

            "},{"location":"installing-lmod-without-root-permissions/#lua","title":"Lua","text":"

            Dependencies: Installing Lua using the steps below requires rsync, make and gcc

            Build and install Lua using the source tarball available in the Lmod SourceForge repository. This version is a lot easier to build, and already includes the required extra Lua modules. At the time of writing this relates to the lua-5.1.4.8.tar.gz tarball.

            Step 1: Download and unpack lua-5.1.4.8.tar.gz.

            Step 2: Configure the Lua build, provide a custom installation prefix (e.g. $HOME/lua) and specify to statically link libraries (i.e. libreadline and ncurses), to avoid problems when modules that provide these libraries are being loaded. Then build and install via make:

            ./configure --with-static=yes --prefix=$HOME/lua && make && make install\n

            Step 3: Make sure the lua binary is available in your $PATH (only required when building Lmod, see below):

            export PATH=$HOME/lua/bin:$PATH\n

            Optionally, check whether the lua binary indeed doesn\u2019t link to any unexpected readline or ncurses libraries:

            $ ldd $HOME/lua/bin/lua\n        linux-vdso.so.1 (0x00007fffad7ff000)\n        libm.so.6 => /lib64/libm.so.6 (0x00007ff9914db000)\n        libdl.so.2 => /lib64/libdl.so.2 (0x00007ff9912d7000)\n        libc.so.6 => /lib64/libc.so.6 (0x00007ff990f2a000)\n        /lib64/ld-linux-x86-64.so.2 (0x00007ff9917d9000)\n
            "},{"location":"installing-lmod-without-root-permissions/#lmod","title":"Lmod","text":"

            Dependencies: building Lmod using the steps below requires tcl, tcl-dev(el), make and bzip2

            Step 1: Download and unpack the latest available Lmod version, Lmod-8.4.tar.bz2 at the time of writing.

            tar xfvj Lmod-8.4.tar.bz2 && cd Lmod-8.4\n

            Step 2: Configure, build and install Lmod build, in a custom prefix:

            ./configure --prefix=$HOME && make install\n

            Step 3: Update $PATH so lmod is available (put this in your .bashrc):

            export PATH=$HOME/lmod/8.4/libexec:$PATH\n

            Optionally, give it a spin:

            $ lmod --version\n\nModules based on Lua: Version 8.4  2020-07-31 12:25 -05:00\n    by Robert McLay mclay@tacc.utexas.edu\n

            Step 4: Define module function to use lmod (optional for use with EasyBuild):

            source $HOME/lmod/8.4/init/bash\nexport LMOD_CMD=$HOME/lmod/8.4/libexec/lmod\n
            "},{"location":"integration-with-github/","title":"Integration with GitHub","text":"

            EasyBuild provides several features that integrate with GitHub, where the different EasyBuild repositories are located.

            From the EasyBuild command line eb several options are available to reach out to GitHub, which are documented below.

            "},{"location":"integration-with-github/#github_requirements","title":"Requirements","text":"

            Depending on which GitHub integration features you want to use, there are a couple of requirements:

            • a GitHub account
              • see https://github.com; creating an account is free
            • a GitHub user name
              • only required for authenticated access to the GitHub API, which can help to avoid rate limitations
              • not strictly necessary for read-only operations
                • i.e. not required for Using easyconfigs from pull requests and Reviewing easyconfig pull requests
              • see Providing a GitHub username
            • a GitHub token + keyring Python package
              • install via pip install keyring (for Python2: pip install 'keyring<19.0')
              • optionally install potentially unsafe keyrings: pip install keyrings.alt (but read and understand the warning)
              • allows accessing the GitHub API with authentication
              • only strictly required for features that require GitHub 'write' permissions
                • i.e. for Uploading test reports and Submitting pull requests
              • see Installing a GitHub token
            • git command / GitPython Python package
              • install via pip install GitPython (for Python2: pip install 'GitPython<3.0')
              • only required when local git commands need to be executed, e.g. to manipulate a Git repository
                • i.e. for Submitting pull requests and Updating existing pull requests
            • SSH public key registered on GitHub
              • only required when push access to Git repositories that reside on GitHub is required
                • i.e. for Submitting pull requests and Updating existing pull requests
              • see https://github.com/settings/ssh
            • fork of the EasyBuild repositories on GitHub
              • only required for submitting/updating pull requests (Submitting pull requests and Updating existing pull requests
              • see Fork button (top right) at https://github.com/easybuilders/easybuild-easyconfigs (for example)

            See also Checking status of GitHub integration.

            "},{"location":"integration-with-github/#github_configuration","title":"Configuration","text":"

            The following sections discuss the EasyBuild configuration options relevant to the GitHub integration features.

            "},{"location":"integration-with-github/#github_user","title":"Providing a GitHub username","text":"

            (--github-user)

            To specify your GitHub username, do one of the following:

            • use the --github-user configuration option on the eb command line
            • define the $EASYBUILD_GITHUB_USER environment variable
            • specify github-user in your EasyBuild configuration file

            (see also Configuring EasyBuild)

            "},{"location":"integration-with-github/#github_token","title":"Installing a GitHub token","text":"

            (--install-github-token)

            Note

            requires: GitHub username + keyring Python package

            A GitHub token is a string of 40 characters that is tied to your GitHub account, allowing you to access the GitHub API authenticated.

            Using a GitHub token is beneficial with respect to rate limitations, and enables write permissions on GitHub (e.g. posting comments, creating gists, opening pull requests).

            To obtain a GitHub token:

            • visit https://github.com/settings/tokens/new and log in with your GitHub account
            • enter a token description, for example: \"EasyBuild\"
            • make sure (only) the gist and public_repo (in the repo section) scopes are fully enabled
            • click Generate token
            • copy-paste the generated token

            Note

            You will only be able to copy-paste the generated token right after you have created it. The value corresponding to an existing token can not be retrieved later through the GitHub interface.

            Please keep your token secret at all times; it allows fully authenticated access to your GitHub account!

            You can install the GitHub token in your keyring using EasyBuild, so it can pick it up when it needs to, using eb --install-github-token:

            $ eb --github-user example --install-github-token\nToken: <copy-paste-your-40-character-token-here>\nValidating token...\nToken seems to be valid, installing it.\nToken 'e3a..0c2' installed!\n

            EasyBuild will validate the provided token, to check that authenticated access to your GitHub account works as expected.

            Note

            EasyBuild will never print the full token value, to avoid leaking it. For debugging purposes, only the first and last 3 characters will be shown.

            "},{"location":"integration-with-github/#github_git_working_dirs_path","title":"Specify location of working directories","text":"

            (--git-working-dirs-path)

            You can specify the location of your Git working directories with one of the following:

            • use the --git-working-dirs-path configuration option on the eb command line
            • define the $EASYBUILD_GIT_WORKING_DIRS_PATH environment variable
            • specify the git-working-dirs-path option in your EasyBuild configuration file

            The provided path should be the parent directory of the location of the working directories (i.e. clones) of the EasyBuild repositories (easybuild-easyconfigs, etc.); the assumption is that you keep them all in a single parent directory.

            Although not strictly required, this is useful for speeding up --new-pr and --update-pr, since it allows that the repository can be copied & updated, rather than being cloned from scratch.

            "},{"location":"integration-with-github/#github_requirements_check","title":"Checking status of GitHub integration","text":"

            (--check-github)

            To check the status of your setup w.r.t. GitHub integration, the --check-github command line option can be used.

            Using this will trigger EasyBuild to perform a number of checks, and report back on what the test results mean for the different GitHub integration features.

            If all requirements are taken care of in your setup, you should see output like this:

            $ eb --check-github\n\n== temporary log file in case of crash /tmp/eb-xWCpWl/easybuild-hGnKS5.log\n\nChecking status of GitHub integration...\n\nMaking sure we're online... OK\n\n* GitHub user... example => OK\n* GitHub token... e3f..0c8 (len: 40) => OK (validated)\n* git command... OK (\"git version 2.7.4 (Apple Git-66); \")\n* GitPython module... OK\n* push access to example/easybuild-easyconfigs repo @ GitHub... OK\n* creating gists... OK\n* location to Git working dirs...  OK (/home/example/git-working-dirs)\n\nAll checks PASSed!\n\nStatus of GitHub integration:\n* --from-pr: OK\n* --new-pr: OK\n* --review-pr: OK\n* --update-pr: OK\n* --upload-test-report: OK\n

            Note

            Checking whether push access to GitHub works may take some time, since a recent clone of the easybuild-easyconfigs GitHub repository will be created in the process (at a temporary location).

            See also Requirements.

            "},{"location":"integration-with-github/#github_from_pr","title":"Using easyconfigs from pull requests","text":"

            (--from-pr, supported since EasyBuild v1.13.0)

            Via the --from-pr command line option (available since EasyBuild v1.13.0), easyconfig files that are added or modified by a particular pull request to the easybuild-easyconfigs GitHub repository can be used (regardless of whether the pull request is merged or not).

            This can be useful to employ easyconfig files that are not available yet in the active EasyBuild installation, or to test new contributions by combining --from-pr with --upload-test-report (see Uploading test reports).

            When --from-pr is used, EasyBuild will download all modified files (easyconfig files and patches) to a temporary directory before processing them.

            For example, to use the GCC v4.9.2 easyconfigs contributed via easyconfigs pull request #1177:

            $ eb --from-pr 1177 --dry-run\n== temporary log file in case of crash /tmp/eb-88quZc/easybuild-62fFdo.log\nDry run: printing build status of easyconfigs and dependencies\n * [ ] /tmp/eb-88quZc/files_pr1177/GCC-4.9.2-CLooG-multilib.eb (module: GCC/4.9.2-CLooG-multilib)\n * [ ] /tmp/eb-88quZc/files_pr1177/GCC-4.9.2-CLooG.eb (module: GCC/4.9.2-CLooG)\n * [ ] /tmp/eb-88quZc/files_pr1177/GCC-4.9.2.eb (module: GCC/4.9.2)\n== temporary log file /tmp/eb-88quZc/easybuild-62fFdo.log has been removed.\n== temporary directory /tmp/eb-88quZc has been removed.\n

            Note

            To avoid GitHub rate limiting, let EasyBuild know which GitHub account should be used to query the GitHub API, and provide a matching GitHub token; see also Installing a GitHub token.

            "},{"location":"integration-with-github/#github_from_pr_vs_develop","title":"Relation between pull requests and current develop branch","text":"

            Since EasyBuild v2.9.0, the current develop branch of the central easybuild-easyconfigs GitHub repository is taken into account when applicable with --from-pr. Before, only the branch corresponding to the specified pull request itself was being considered, which potentially did not reflect the correct state of things, in particular for pull requests based on an outdated branch in which easyconfigs are changed that have been updated in develop as well.

            As such, the exact semantics of --from-pr depends on the state of the specified pull request, i.e. whether or not the pull request was merged already, whether the pull request is mergeable and stable (as indicated by GitHub Actions), etc.

            "},{"location":"integration-with-github/#github_from_pr_vs_develop_open_stable_prs","title":"Open stable pull requests","text":"

            For open pull requests that are stable (i.e. tests pass and no merge conflicts), the pull request is effectively treated as a patch to the current develop branch. This is done to ensure that contributions that are picked up via --from-pr are correctly evaluated.

            First, the current develop branch of the central easybuild-easyconfigs GitHub repository is downloaded to a temporary directory. Afterwards, the patch corresponding to the specified pull request is applied on top of the develop branch. This results in a correct reflection of how the easyconfig files would look like if the pull request would be merged, which is particularly important for testing of contributions (see also Uploading test reports).

            Easyconfig files touched by the pull request that are explicitly specified are then picked up from this location; see also Specifying particular easyconfig files.

            "},{"location":"integration-with-github/#github_from_pr_vs_develop_merged_prs","title":"Merged pull requests","text":"

            For merged pull requests, the current develop branch is considered to be the correct state of the easyconfigs touched by the pull request.

            Note that this implies that the easyconfig files being picked up are potentially different from the ones that appear in the specified pull request itself, taking into account that further updates may have been applied in the develop branch since the pull request got merged.

            "},{"location":"integration-with-github/#github_from_pr_vs_develop_closed_unstable_prs","title":"Closed or unstable pull requests","text":"

            For closed and unstable pull requests, only the branch corresponding to the pull request itself is being considered, which aligns with the semantics of --from-pr as it was before EasyBuild v2.9.0. In this case, the current develop branch is not taken into account.

            Note

            A pull request is considered unstable when GitHub reports merge conflicts or when GitHub Actions reports one or more failing tests.

            "},{"location":"integration-with-github/#github_from_pr_robot_synergy","title":"Synergy with --robot","text":"

            Since EasyBuild v1.15.0, the temporary directory containing the easyconfigs (and patch files) from the specified pull request is included in the robot search path.

            Up until EasyBuild v2.9.0, this directory was prepended to the robot search path, to ensure that easyconfigs that were modified in the respective pull request are picked up via --robot when they are required. Thus, for easyconfig files that were available in the pull request as well as locally, the ones from the specified pull request were preferred.

            This was changed in EasyBuild v2.9.0, where the directory containing the easyconfigs touched by the pull request is appended to the robot search path. This change was made to ensure that customized easyconfig files that are available in the robot search path are preferred over the (patched) easyconfig files from the develop branch (see also Relation between pull requests and current develop branch).

            For example, to build and install HPL with the intel/2015a toolchain, both of which are contributed via easyconfigs pull request #1238:

            $ eb --from-pr 1238 --dry-run --robot $HOME/easyconfigs\n== temporary log file in case of crash /tmp/eb-A1fRvw/easybuild-Eqc8Oi.log\nDry run: printing build status of easyconfigs and dependencies\n * [x] /home/example/easyconfigs/g/GCC/GCC-4.9.2.eb (module: GCC/4.9.2)\n * [x] /home/example/easyconfigs/i/icc/icc-2015.1.133-GCC-4.9.2.eb (module: icc/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/ifort/ifort-2015.1.133-GCC-4.9.2.eb (module: ifort/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/iccifort/iccifort-2015.1.133-GCC-4.9.2.eb (module: iccifort/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/impi/impi-5.0.2.044-iccifort-2015.1.133-GCC-4.9.2.eb (module: impi/5.0.2.044-iccifort-2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/iimpi/iimpi-7.2.3-GCC-4.9.2.eb (module: iimpi/7.2.3-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/imkl/imkl-11.2.1.133-iimpi-7.2.3-GCC-4.9.2.eb (module: imkl/11.2.1.133-iimpi-7.2.3-GCC-4.9.2)\n * [ ] /tmp/eb-A1fRvw/files_pr1238/intel-2015a.eb (module: intel/2015a)\n * [ ] /tmp/eb-A1fRvw/files_pr1238/HPL-2.1-intel-2015a.eb (module: HPL/2.1-intel-2015a)\n== temporary log file /tmp/eb-A1fRvw/easybuild-Eqc8Oi.log has been removed.\n== temporary directory /tmp/eb-A1fRvw has been removed.\n

            Note that the easyconfigs that are required to resolve dependencies and are available locally in $HOME/easyconfigs are being picked up as needed.

            "},{"location":"integration-with-github/#github_from_pr_specifying_easyconfigs","title":"Specifying particular easyconfig files","text":"

            Since EasyBuid v2.0.0 the particular easyconfigs to be used can be specified, rather than using all easyconfigs that are touched by the pull request (which is the default if no easyconfigs are specified alongside --from-pr).

            For example, to only use CMake-3.0.0-intel-2015a.eb from easyconfigs pull request #1330, and ignore the other easyconfigs being contributed in that same pull request for netCDF, WRF, ...:

            $ eb --from-pr 1330 CMake-3.0.0-intel-2015a.eb --dry-run --robot $HOME/easyconfigs\n== temporary log file in case of crash /tmp/eb-QhM_qc/easybuild-TPvMkJ.log\nDry run: printing build status of easyconfigs and dependencies\n * [x] /home/example/easyconfigs/g/GCC/GCC-4.9.2.eb (module: GCC/4.9.2)\n * [x] /home/example/easyconfigs/i/icc/icc-2015.1.133-GCC-4.9.2.eb (module: icc/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/ifort/ifort-2015.1.133-GCC-4.9.2.eb (module: ifort/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/iccifort/iccifort-2015.1.133-GCC-4.9.2.eb (module: iccifort/2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/impi/impi-5.0.2.044-iccifort-2015.1.133-GCC-4.9.2.eb (module: impi/5.0.2.044-iccifort-2015.1.133-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/iimpi/iimpi-7.2.3-GCC-4.9.2.eb (module: iimpi/7.2.3-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/imkl/imkl-11.2.1.133-iimpi-7.2.3-GCC-4.9.2.eb (module: imkl/11.2.1.133-iimpi-7.2.3-GCC-4.9.2)\n * [x] /home/example/easyconfigs/i/intel/intel-2015a.eb (module: intel/2015a)\n * [x] /home/example/easyconfigs/n/ncurses/ncurses-5.9-intel-2015a.eb (module: ncurses/5.9-intel-2015a)\n * [ ] /tmp/eb-QhM_qc/files_pr1330/CMake-3.0.0-intel-2015a.eb (module: CMake/3.0.0-intel-2015a)\n== temporary log file /tmp/eb-QhM_qc/easybuild-TPvMkJ.log has been removed.\n== temporary directory /tmp/eb-QhM_qc has been removed.\n

            Again, note that locally available easyconfigs that are required to resolve dependencies are being picked up as needed.

            "},{"location":"integration-with-github/#github_include_easyblocks_from_pr","title":"Using easyblocks from pull requests","text":"

            (--include-easyblocks-from-pr, supported since EasyBuild v4.2.0)

            Via the --include-easyblocks-from-pr command line option, easyblocks that are added or modified by a particular pull request to the easybuild-easyblocks GitHub repository can be used (regardless of whether the pull request is merged or not).

            This can be useful to employ easyblocks that are not available yet in the active EasyBuild installation, or to test new contributions by combining --include-easyblocks-from-pr with --from-pr and --upload-test-report (see Uploading test reports).

            When --include-easyblocks-from-pr is used, EasyBuild will download all modified easyblocks to a temporary directory before processing them. Just like with --include-easyblocks (see Including additional easyblocks), the easyblocks that are included are preferred over the ones included in the EasyBuild installation.

            For example, to use the LAMMPS easyblock contributed via easyblocks pull request #1964 together with the LAMMPS v7Aug2019 easyconfigs contributed via easyconfigs pull request #9884:

            $ eb --from-pr 9884 --include-easyblocks-from-pr 1964 --list-easyblocks=detailed\n== temporary log file in case of crash /tmp/eb-Eq2zsJ/easybuild-1AaWf8.log\nEasyBlock (easybuild.framework.easyblock)\n...\n|   |   |-- EB_LAMMPS (easybuild.easyblocks.lammps @ /tmp/included-easyblocks-rD2HEQ/easybuild/easyblocks/lammps.py)\n...\n
            "},{"location":"integration-with-github/#github_upload_test_report","title":"Uploading test reports","text":"

            (--upload-test-report, supported since EasyBuild v1.13.0)

            Note

            requires that a GitHub token was required gist permissions is available, cfr. Installing a GitHub token

            For every installation performed with EasyBuild, a test report is generated. By default, the test report is copied in the installation directory, right next to the log file (see also Understanding EasyBuild logs).

            Using --upload-test-report, the test report can also be pushed to GitHub (as a gist, cfr. https://gist.github.com) to share it with others.

            Each test report includes:

            • an overview of the easyconfigs being processed
            • time & date
            • the exact eb command line that was used
            • the full EasyBuild configuration that was in place
            • information about the system on which EasyBuild was used (hostname, OS, architecture, etc.)
            • the list of modules that was loaded
            • the full environment of the session in which eb was run (note: can be filtered, see Filtering the environment details

            For each easyconfig that failed to install a partial log will be uploaded as a separate gist, and a link to this gist will be included in the test report.

            If --upload-test-report is combined with --from-pr, a comment referring to the test report (incl. a brief summary) will be placed in the respective pull request. This makes it a very powerful tool when testing contributions.

            Note

            If you want to easily access a test report without uploading it to GitHub, use --dump-test-report.

            Example:

            $ eb --from-pr 3153 --rebuild --upload-test-report\n== temporary log file in case of crash /tmp/eb-aqk20q/easybuild-wuyZBV.log\n== processing EasyBuild easyconfig /tmp/eb-aqk20q/files_pr3153/EasyBuild/EasyBuild-2.8.1.eb\n== building and installing EasyBuild/2.8.1...\n...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/software/EasyBuild/2.8.1/easybuild/easybuild-EasyBuild-2.8.1-20160603.090702.log\n== Test report uploaded to https://gist.github.com/1cb2db8a2913a1b8ddbf1c6fee3ff83c and mentioned in a comment in easyconfigs PR#3153\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-aqk20q/easybuild-wuyZBV.log* have been removed.\n== Temporary directory /tmp/eb-aqk20q has been removed.\n

            The resulting test report can be viewed at https://gist.github.com/1cb2db8a2913a1b8ddbf1c6fee3ff83c .

            Note

            It is common to use --rebuild in combination with --upload-test-report, to ensure that all easyconfigs in the pull request are rebuilt, resulting in a complete test report.

            "},{"location":"integration-with-github/#github_test_report_env_filter","title":"Filtering the environment details","text":"

            (--test-report-env-filter)

            Since the environment of the session in which eb was used may contain sensitive information, it can be filtered through --test-report-env-filter.

            This configuration option takes a regular expression that is used to determine which environment variables can be included in the test report (based on their name). Environment variables for which the name matches the specified regular expression will not be included in the test report.

            An example of a typical setting:

            export EASYBUILD_TEST_REPORT_ENV_FILTER='^SSH|USER|HOSTNAME|UID|.*COOKIE.*'\n
            "},{"location":"integration-with-github/#github_review_pr","title":"Reviewing easyconfig pull requests","text":"

            (--review-pr)

            A useful tool when reviewing pull requests for the easybuild-easyconfigs repository that add new or update existing easyconfig files is --review-pr.

            The 'files' tab in the GitHub interface shows the changes being made to existing files; using --review-pr the differences with one or more other similar easyconfig files, for example the one(s) with the same toolchain (version) and/or software version, can also be evaluated.

            This is very useful to quickly see how easyconfig files in pull requests differ from existing easyconfig files, and to maintain consistency across easyconfig files where desired.

            The --review-pr output consists of a 'multidiff' view per easyconfig file that is being touched by the specified pull request. The exact format of the output depends on whether EasyBuild is configured to allow colored output (enabled by default, see --color).

            "},{"location":"integration-with-github/#search-criteria-for-similar-easyconfigs","title":"Search criteria for similar easyconfigs","text":"

            The set of existing similar easyconfig files is determined by specific search criteria; the first one that results in a non-empty set of easyconfigs is retained.

            The search criteria consists of a combination of the software version criterion with additional restrictions.

            The software version criterion is one of the criterions below (considered in order), with x.y.z the software version of the easyconfig file from the pull request:

            • exact same software version
            • same major/minor software version (same x and y)
            • same major software version (same x)
            • no (partial) version match (so consider any version)

            The addition restrictions are the following (also considered in order):

            • matching versionsuffix and toolchain name/version
            • matching versionsuffix and toolchain name (any toolchain version)
            • matching versionsuffix (any toolchain name/version)
            • matching toolchain name/version (any versionsuffix)
            • matching toolchain name (any versionsuffix, toolchain version)
            • no extra requirements (any versionsuffix, toolchain name/version)
            "},{"location":"integration-with-github/#github_merge_pr","title":"Merging easyconfig pull requests","text":"

            (--merge-pr, supported since EasyBuild v3.3.1)

            EasyBuild maintainers need to take the Requirements for pull requests into account.

            They can merge a pull request to the easybuild-easyconfigs repository via eb --merge-pr, which will first verify whether the pull request meets the prescribed requirements (at least the ones that can be verified automatically).

            For example, for a pull request that is not eligible for merging yet:

            $ eb --merge-pr 4725\n== temporary log file in case of crash /tmp/eb-ba7rVp/easybuild-fBfcwN.log\n\neasybuilders/easybuild-easyconfigs PR #4725 was submitted by vanzod, you are using GitHub account 'example'\n\nChecking eligibility of easybuilders/easybuild-easyconfigs PR #4725 for merging...\n* targets develop branch: OK\n* test suite passes: FAILED => not eligible for merging!\n* last test report is successful: (no test reports found) => not eligible for merging!\n* approved review: MISSING => not eligible for merging!\n* milestone is set: no milestone found => not eligible for merging!\n\nWARNING: Review indicates this PR should not be merged (use -f/--force to do so anyway)\n

            When a PR is considered eligible for merging, EasyBuild will go ahead and merge it:

            $ eb --merge-pr 4829\n== temporary log file in case of crash /tmp/eb-F9a3oB/easybuild-3B2wdq.log\n\neasybuilders/easybuild-easyconfigs PR #4829 was submitted by SethosII, you are using GitHub account 'example'\n\nChecking eligibility of easybuilders/easybuild-easyconfigs PR #4829 for merging...\n* targets develop branch: OK\n* test suite passes: OK\n* last test report is successful: OK\n* approved review: OK (by boegel)\n* milestone is set: OK (3.3.1)\n\nReview OK, merging pull request!\n\nAdding comment to easybuild-easyconfigs issue #4829: 'Going in, thanks @SethosII!'\nMerged easybuilders/easybuild-easyconfigs pull request #4829\n

            Note

            eb --merge-pr can also be run in dry run mode, by also using one of the following options: --dry-run, -D, --extended-dry-run, -x.

            This results in the same checks being performed but skips the actual merging of the pull request, resulting in messages like:

            $ eb --merge-pr 4829 --dry-run\n\n...\n\nReview OK, merging pull request!\n\n[DRY RUN] Adding comment to easybuild-easyconfigs issue #4829: 'Going in, thanks @SethosII!'\n[DRY RUN] Merged easybuilders/easybuild-easyconfigs pull request #4829\n
            "},{"location":"integration-with-github/#github_new_update_pr","title":"Submitting new and updating pull requests","text":"

            (--new-pr, --update-pr, supported since EasyBuild v2.6.0)

            EasyBuild provides two simple yet powerful features that make contributing to the central EasyBuild repositories significantly easier and less error-prone, especially for people who are not very familiar with git and/or GitHub yet:

            • --new-pr to create new pull requests
            • --update-pr to update existing pull requests
            "},{"location":"integration-with-github/#github_preview_pr","title":"Previewing easyconfig pull requests","text":"

            (--preview-pr, supported since EasyBuild v3.5.0)

            It is very useful to quickly see how easyconfig files in pull requests differ from existing easyconfig files, and to maintain consistency across easyconfig files where desired.

            Maintainers will use --review-pr as part of the review process once the PR is submitted (see Reviewing easyconfig pull requests), but it is now possible to preview that output before submitting a PR, eventually fixing any inconsistencies in advance.

            To preview a PR before submitting, simply use --preview-pr with the list of files to submit:

            eb --preview-pr example.eb example.patch 

            Besides accepting local files instead of a PR number, --preview-pr works the same as --review-pr, as described in Comparing with existing easyconfigs.

            "},{"location":"integration-with-github/#github_new_pr","title":"Submitting pull requests","text":"

            (--new-pr)

            Note

            Submitting pull requests using --new-pr only works for the easybuild-easyconfigs repository, for now. For other repositories, see the manual procedure documented at Pull requests.

            To create a new pull request, the --new-pr command line option can be used, provided that the necessary requirements are fulfilled (see Requirements).

            In its simplest form, you just provide the location of the file(s) that you want to include in the pull request:

            eb --new-pr test.eb\n

            This takes care of all the steps required to make a contribution, i.e.:

            • set up a working copy of the relevant EasyBuild repository (e.g., easybuild-easyconfigs)
            • create a new 'feature' branch, starting from the up-to-date develop branch
            • renaming easyconfig files according to their name, version, versionsuffix and toolchain
            • moving easyconfig files to the right location in the repository (e.g. easybuild/easyconfigs/e/EasyBuild/)
            • staging and committing the files in the feature branch
            • pushing the feature branch to your fork of the relevant EasyBuild repository on GitHub
            • creating the pull request, targeting the develop branch of the central EasyBuild repository (e.g. easybuilders/easybuild-easyconfigs)

            It should be clear that automating this whole procedure with a single simple eb command greatly lowers the bar for contributing, especially since it even alleviates the need for interacting directly with git entirely!

            The working copy of the EasyBuild repository is created in a temporary location, and cleaned up once the pull request has been created. EasyBuild does not make changes to an existing working copy you may have in place already (cfr. Specify location of working directories).

            Note

            When modifying existing files via --new-pr, you must specify a (meaningful) commit message using --pr-commit-msg, see Controlling pull request metadata.

            "},{"location":"integration-with-github/#example","title":"Example","text":"

            For example, to create a pull request for a new version of, let's say, EasyBuild:

            $ eb --new-pr example.eb\n== temporary log file in case of crash /tmp/eb-mWKR9u/easybuild-cTpf2W.log\n== copying /home/example/git-working-dirs/easybuild-easyconfigs...\n== fetching branch 'develop' from https://github.com/easybuilders/easybuild-easyconfigs.git...\n\nOpening pull request\n* target: easybuilders/easybuild-easyconfigs:develop\n* from: boegel/easybuild-easyconfigs:20160530131447_new_pr_EasyBuild281\n* title: \"{tools}[dummy/dummy] EasyBuild v2.8.1\"\n* description:\n\"\"\"\n(created using `eb --new-pr`)\n\n\"\"\"\n* overview of changes:\n .../easyconfigs/e/EasyBuild/EasyBuild-2.8.1.eb     | 35 ++++++++++++++++++++++\n 1 file changed, 35 insertions(+)\n\nOpened pull request: https://github.com/easybuilders/easybuild-easyconfigs/pull/3153\n

            Yes, it's that easy!

            "},{"location":"integration-with-github/#github_update_pr","title":"Updating existing pull requests","text":"

            (--update-pr)

            Note

            Updating pull requests using --update-pr only works for the easybuild-easyconfigs repository, for now. For other repositories, see the manual procedure documented at Pull requests.

            Similarly to creating new pull requests, existing pull requests can be easily updated using eb --update-pr (regardless of whether or not they were created with --new-pr).

            The usage is equally simple, for example to update pull request #1234 just list the changed/new file(s):

            eb --update-pr 1234 example.eb\n

            Again, this take care of the whole procedure required to update an existing pull request:

            • set up a working copy of the relevant EasyBuild repository (e.g., easybuild-easyconfigs)
            • determining the branch corresponding to the pull request, which should be updated by pushing a new commit to it
            • checking out that branch
            • renaming easyconfig files according to their name, version, versionsuffix and toolchain
            • moving easyconfig files to the right location in the repository (e.g. easybuild/easyconfigs/e/EasyBuild/)
            • staging and committing the (changed/new) files
            • pushing the updated branch to GitHub

            Again, not a single git command to be executed; the only thing that is required is the ID of the pull request that should be updated.

            Just like with --new-pr, this is done in a temporary working copy of the repository, no changes are made to a possible existing working copy.

            Note

            When using --update-pr you must specify a (meaningful) commit message via --pr-commit-msg, see Controlling pull request metadata.

            "},{"location":"integration-with-github/#example_1","title":"Example","text":"

            For example, to update pull request #3153 with a changed easyconfig file:

            $ eb --update-pr 3153 example.eb\n== temporary log file in case of crash /tmp/eb-gO2wJu/easybuild-37Oo2z.log\n== Determined branch name corresponding to easybuilders/easybuild-easyconfigs PR #3153: 20160530131447_new_pr_EasyBuild281\n== copying /home/example/git-working-dirs/easybuild-easyconfigs...\n== fetching branch '20160530131447_new_pr_EasyBuild281' from https://github.com/boegel/easybuild-easyconfigs.git...\nOverview of changes:\n easybuild/easyconfigs/e/EasyBuild/EasyBuild-2.8.1.eb | 3 +++\n 1 file changed, 3 insertions(+)\n\nUpdated easybuilders/easybuild-easyconfigs PR #3159 by pushing to branch boegel/20160530131447_new_pr_EasyBuild281\n
            "},{"location":"integration-with-github/#github_new_update_pr_patches","title":"Including patch files in easyconfigs pull requests","text":"

            Next to providing one or more easyconfig files to add/update via --new-pr or --update-pr, you can also include patch files that are required by those easyconfig files.

            EasyBuild will try and figure out where each patch file should be located (i.e. in the same directory as the easyconfig files that require that patch file), by scanning the provided easyconfigs (or, if needed, scanning all existing easyconfig files).

            For example:

            eb --new-pr example.eb example.patch --pr-commit-msg \"just an example\"\n

            Note

            When providing one or more patch files, you must specify a (meaningful) commit message via --pr-commit-msg, see Controlling pull request metadata.

            "},{"location":"integration-with-github/#github_new_update_pr_delete","title":"Deleting easyconfig files or patches","text":"

            Next to adding easyconfigs files or patches, or modifying existing ones, you can also specify to delete particular files, by including a colon character : before the name of the file.

            For example:

            eb --new-pr :example-1.0.eb --pr-commit-msg \"delete example-1.0.eb easyconfig file\"\n

            Note

            When deleting existing files, you must specify a custom commit message using --pr-commit-msg, see also Controlling pull request metadata.

            "},{"location":"integration-with-github/#github_controlling_pr_metadata","title":"Controlling pull request metadata","text":"

            You can control the metadata for pull requests using the following configuration options:

            • --pr-branch-name: branch name for new pull requests
            • --pr-commit-msg: commit message to use when creating new or updating existing pull requests
            • --pr-descr: pull request description
            • --pr-title: pull request title

            EasyBuild will use sensible defaults for each of these, see below.

            "},{"location":"integration-with-github/#default-branch-name-for-new-pull-requests","title":"Default branch name for new pull requests","text":"

            The branch name for new pull requests will be composed from:

            • a timestamp, down to the second in an attempt to make it unique
              • example: 20160513141133 for a pull request created on May 13th 2016, 2:11:33 PM
            • a label new_pr
            • the software name and version of the first easyconfig file, with some filtering (e.g. remove .'s)
              • example: GCC530 for GCC v5.3.0

            Full example: 20160513141133_new_pr_GCC530

            Although there is usually no reason to change this default, it can be done if desired using --pr-branch-name when opening a new pull request with --new-pr.

            "},{"location":"integration-with-github/#default-commit-message","title":"Default commit message","text":"

            EasyBuild will try to generate an appropriate default commit message when only new easyconfigs are being added via --new-pr.

            When existing easyconfigs are being modified, patch files are being added/updated or --update-pr is used, a custom (meaningful) commit message must be provided via --pr-commit-msg (see Controlling pull request metadata).

            "},{"location":"integration-with-github/#default-pull-request-description","title":"Default pull request description","text":"

            By default, the pull description will only contain the following text:

            (created using eb --new-pr)\n

            It is generally advised to provide more descriptive information, although the changes made by the pull request may be self-explanatory (e.g. when only adding new easyconfig files).

            To change this default text, you can either use --pr-descr or edit the description via the GitHub interface after the pull request has been opened.

            Particularly useful information to specify here is dependencies on other pull requests, by copy-pasting the respective URLs with a short descriptive message like 'depends on PR <URL>'.

            "},{"location":"integration-with-github/#default-pull-request-title","title":"Default pull request title","text":"

            The pull request title is derived from the easyconfig files being changed/added, taking into account the recommendation for easyconfig pull requests to clearly specify module class, toolchain, software name/version, as follows: {<module_class>}[<toolchain>] <software_name> v<software_version>.

            For example, when opening a pull request for an easyconfig for Python 2.7.11 with the intel/2016a toolchain, the default pull request title will be something like: {lang}[intel/2016a] Python v2.7.11 .

            If multiple easyconfig files are provided, the respective software names/versions will be included separated by a ,, up until the first 3 easyconfig files (to avoid excessively lengthy pull request titles).

            In case (only) existing easyconfig files are being changed, it's advisable to provide a more descriptive title using --pr-title.

            "},{"location":"integration-with-github/#github_configuring_new_update_pr","title":"Configuring --new-pr and --update-pr","text":"

            By default, --new-pr and --update-pr affect pull requests to the central easybuilders/easybuild-easyconfigs repository.

            However, this can be changed with the following configurations options:

            • --pr-target-account (default: easybuilders): target GitHub account for new pull requests
            • --pr-target-branch (default: develop): target branch for new pull requests
            • --pr-target-repo (default: easybuild-easyconfigs): target repository for new pull requests
            "},{"location":"integration-with-github/#github_synergy_new_update_pr_dry_run","title":"Synergy with --dry-run/-D and --extended-dry-run/-x","text":"

            Both --new-pr and --update-pr are 'dry run-aware', in the sense that you can combine them with either --dry-run/-D- or --extended-dry-run/-x to preview the pull request they would create/update without actually doing so.

            For example:

            $ eb --new-pr EasyBuild-2.9.0.eb -D\n== temporary log file in case of crash /tmp/eb-1ny69k/easybuild-UR1Wr4.log\n== copying /home/example/git-working-dirs/easybuild-easyconfigs...\n== fetching branch 'develop' from https://github.com/easybuilders/easybuild-easyconfigs.git...\n\nOpening pull request [DRY RUN]\n* target: easybuilders/easybuild-easyconfigs:develop\n* from: boegel/easybuild-easyconfigs:20160603105641_new_pr_EasyBuild290\n* title: \"{tools}[dummy/dummy] EasyBuild v2.9.0\"\n* description:\n\"\"\"\n(created using `eb --new-pr`)\n\n\"\"\"\n* overview of changes:\n .../easyconfigs/e/EasyBuild/EasyBuild-2.9.0.eb     | 35 ++++++++++++++++++++++\n 1 file changed, 35 insertions(+)\n

            The only difference between using --dry-run and --extended-dry-run is that the latter will show the full diff of the changes (equivalent to git diff), while the former will only show a summary of the changes (equivalent to git diff --stat, see example above).

            "},{"location":"locks/","title":"Locks","text":""},{"location":"locks/#locks","title":"Locks to prevent duplicate installations running at the same time","text":"

            Easybuild creates a lock before starting the installation of an easyconfig file, to avoid a collision between multiple installations running at the same time.

            If an EasyBuild session tries to install an easyconfig file when a lock for that installation already exists, it will be automatically aborted with an error like \"Lock ... already exists, aborting!\".

            Note

            Locking of installations was implemented in EasyBuild version 4.2.0 .

            "},{"location":"locks/#locks_implementation","title":"Locking implementation details","text":"

            Easybuild will create a lock when starting an installation if no corresponding lock exists yet, regardless of whether the installation was requested explicitly or is performed to resolve a dependency.

            The name of the lock corresponds to the full path of the installation directory, with slashes (/) and dashes (-) replaced by underscores (_), and with an additional .lock added at the end.

            Locks are created in the locks directory.

            The lock created by EasyBuild is an empty directory (rather than a file), because that can be created more atomically on modern filesystems.

            For example, if OpenFOAM-v2206-foss-2022a.eb is being installed to /apps/easybuild/software, an empty directory that serves as a lock for this installation will be created at /apps/easybuild/software/.locks/_apps_easybuild_software_OpenFOAM_7_foss_2019b.lock (assuming the default locks directory is used).

            A lock is automatically removed by Easybuild when the installation ends, regardless of whether the installation was successful or not. Therefore, new installations of the same easyconfig will be aborted in case of:

            • another installation for the same easyconfig is in progress;
            • a previous installation of the same easyconfig was abruptly interrupted;
            "},{"location":"locks/#locks_removing","title":"Removing locks","text":"

            If a previous installation was abruptly interrupted and a lock was left in place, it can be easily removed using the rmdir command (since the lock is actually an empty directory).

            "},{"location":"locks/#locks_configuration_options","title":"Configuration options related to installation locks","text":"

            The behaviour of the locking mechanism in Easybuild can be tuned with the following configuration options:

            "},{"location":"locks/#locks_ignore","title":"Ignoring locks","text":"

            (--ignore-locks)

            Using the --ignore-locks configuration option, you can instruct EasyBuild to ignore any existing locks. Locks that exist are left untouched, even if the installation completes successfully.

            Use this with caution, since installations may be (partially) overwritten if another EasyBuild session is also performing those installations!

            "},{"location":"locks/#locks_wait","title":"Waiting for locks to be removed","text":"

            (--wait-on-lock-interval)

            Wait interval (in seconds) to use when waiting for existing lock to be removed

            (--wait-on-lock-limit)

            Maximum amount of time (in seconds) to wait until lock is released (0 means no waiting at all, exit with error; -1 means no waiting limit, keep waiting).

            (--wait-on-lock <secs>) (DEPRECATED)

            Using the --wait-on-lock configuration option, you can change how EasyBuild deals with existing locks, by specifying how frequently EasyBuild should check whether an existing lock was removed. By specifying a non-zero value secs, you can indicate how many seconds EasyBuild should wait before checking again whether the lock is still in place.

            Warning

            The --wait-on-lock configuration option is deprecated, please use --wait-on-lock-interval and --wait-on-lock-limit instead!

            Note

            If the lock is never removed, the EasyBuild session will never terminate; it will keep checking every S seconds whether the lock is still in place.

            By default, EasyBuild will abort the installation with an error like \"Lock ... already exists, aborting!\" if a corresponding lock already exists.

            "},{"location":"locks/#locks_dir","title":"Locks directory","text":"

            If desired, an alternate location where locks should be created and checked for can be specified via the --locks-dir configuration option.

            Note

            Keep in mind that a path on a shared filesystem should be used, to ensure that active EasyBuild sessions running on different systems use the same locks directory.

            By default, locks are created in a hidden subdirectory .locks in the top-level software installation directory; that is, the software subdirectory of the installpath configuration setting of the active EasyBuild session.

            "},{"location":"log-files/","title":"Understanding EasyBuild logs","text":"

            EasyBuild thoroughly keeps track of the executed build and install procedures. This page details some of the specifics, to help you making sense of them.

            "},{"location":"log-files/#basic-information","title":"Basic information","text":"

            During an invocation of the eb command, a temporary log file is provided. This log can be consulted in case any problems occur during the process. Right before completing successfully, EasyBuild will clean up this temporary log file.

            A separate log file is created for each build and install procedure that is performed. After each successful installation, this application log file is copied to the install directory for future reference.

            By default, the application log file is copied to a subdirectory of the installation prefix named easybuild, and has a filename like easybuild-WRF-4.4.1-20230426.143346.log for example, which corresponds to the filename template easybuild-%(name)s-%(version)s-%(date)s.%(time)s.log. This aspect can be tweaked via the --logfile-format configuration option.

            Example:

            $ eb WRF-4.4.1-foss-2022b-dmpar.eb\n== Temporary log file in case of crash /tmp/eb-1zbqix6e/easybuild-1ixy86r2.log\n[...]\n== building and installing WRF/4.4.1-foss-2022b-dmpar...\n[...]\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file(s) /home/example/.local/easybuild/software/WRF/4.4.1-foss-2022b-dmpar/easybuild/easybuild-WRF-4.4.1-20230531.181321.log\n== Build succeeded for 1 out of 1\n== temporary log file /tmp/eb-1zbqix6e/easybuild-1ixy86r2.log* has been removed.\n== temporary directory /tmp/eb-1zbqix6e has been removed.\n

            Note

            Enabling debug mode using the --debug or -d command line option ensures that all details of the executed build and installation procedure are included in the log file, but will also result is significantly bigger and more verbose logs.

            Tip

            Always include a reference to a log file (even if partial) when reporting a potential bug in EasyBuild. A particularly useful way of doing so is by creating a Gist (https://gist.github.com/), and sharing the corresponding URL. This is much better than sending a lengthy log file via email, since it can be easily shared across different communication channels (mailing list, IRC, IM, etc.).

            "},{"location":"log-files/#navigating-log-files","title":"Navigating log files","text":"

            Extracting the information you're interested in from an EasyBuild log file may be a daunting task, especially for debug logs. The information and guidelines in this section should make navigating logs less scary.

            "},{"location":"log-files/#log-message-format","title":"Log message format","text":"

            Each log message as emitted by EasyBuild follows a well-defined format. Example:

            == 2023-05-31 16:11:21,044 easyblock.py:313 INFO This is EasyBuild 4.7.3 (framework: 4.7.3, easyblocks: 4.7.3) on host example.\n

            Each log line consists of the following parts:

            • a prefix label ==, which is useful to discriminate between EasyBuild log messages and the output of executed shell commands;
            • date and time information (e.g., 2023-05-31 16:11:21,044);
            • the Python module/class/function that is responsible for the log message (e.g., easyblock.py:313);
            • the log level (e.g., INFO);
            • and a string with the actual log message at the end
            "},{"location":"log-files/#useful-handles-in-log-files","title":"Useful handles in log files","text":"

            Next to looking for a particular search pattern (e.g., [Ee]rror), there are a couple of handles that can be used to jump around in log files.

            "},{"location":"log-files/#step-markers","title":"Step markers","text":"

            For each step performed in the build and installation process, corresponding log messages is emitted. For example:

            == 2023-05-31 16:11:44,977 build_log.py:267 INFO configuring...\n== 2023-05-31 16:11:44,981 easyblock.py:3926 INFO Starting configure step\n[...]\n== 2023-05-31 16:11:44,982 easyblock.py:3934 INFO Running method configure_step part of step configure\n

            This allows you to navigate a log file step by step, for example using the _step search pattern.

            "},{"location":"log-files/#executed-shell-commands","title":"Executed shell commands","text":"

            For each executed shell command, log messages are included with the full command line, the location where the command was executed and the command's output and exit code. For example:

            == 2023-05-31 18:59:24,222 run.py:176 DEBUG run_cmd: Output of \"/home/example/.local/easybuild/software/WRF/4.4.1-foss-2022b-dmpar/WRF-4.4.1/compile -j 8 wrf\" will be logged to /tmp/eb-1zbqix6e/easybuild-run_cmd-ueqo5bn0.log\n== 2023-05-31 18:59:24,225 run.py:217 DEBUG run_cmd: running cmd /home/example/.local/easybuild/software//WRF/4.4.1-foss-2022b-dmpar/WRF-4.4.1/compile -j 8 wrf (in /home/example/.local/easybuild/software//WRF/4.4.1-foss-2022b-dmpar/WRF-4.4.1)\n[...]\n== 2023-05-31 20:06:35,979 run.py:650 DEBUG cmd \"/home/example/.local/easybuild/software/WRF/4.4.1-foss-2022b-dmpar/WRF-4.4.1/compile -j 8 wrf\" exited with exit code 0 and output:\n

            If you are primarily interested in the different commands as they were executed by EasyBuild, you can use INFO cmd (or run_cmd, in debug logs) as a search pattern.

            Note

            Next to the configure/build/install commands, EasyBuild also runs a couple of other commands to obtain system information, or to query the modules tool. Typically, a single invocation of eb involves executing a dozen or so different shell commands, minimally.

            "},{"location":"maintainers/","title":"EasyBuild maintainers","text":""},{"location":"maintainers/#maintainers_criteria","title":"Criteria","text":"

            EasyBuild maintainers should meet the following criteria:

            • being sufficiently familiar with the contribution procedure (see Contributing)
            • frequently contributing to the EasyBuild GitHub repositories
            • being an active member of the EasyBuild community for a significant amount of time, i.e.:
              • following the EasyBuild mailing list and participating in discussions (see Getting help)
              • actively participating in the EasyBuild IRC or Slack channel (see Getting help);
              • (occasionally) joining in on the EasyBuild conference calls (see https://github.com/easybuilders/easybuild/wiki/Conference-calls)
            • having access to a working setup for submitting test reports (see Test reports for easyconfig contributions (--upload-test-report))
            "},{"location":"maintainers/#maintainers_roles","title":"Roles","text":""},{"location":"maintainers/#maintainers_release_manager","title":"Release managers","text":"

            The release managers are responsible for releasing new stable EasyBuild versions on a regular basis, with the help of the other EasyBuild maintainers.

            Sebastian, Miguel & Kenneth have been working together to get EasyBuild releases out the door on a regular basis (about once every 6 weeks, see https://pypi.org/project/easybuild/#history).

            • Sebastian Achilles (JSC)
              • GitHub: @SebastianAchilles - e-mail: s.achilles (at) fz-juelich.de - IRC/Slack: Sebastian Achilles
            • Miguel Dias Costa (National University of Singapore)
              • GitHub: @migueldiascosta - e-mail: migueldiascosta (at) nus.edu.sg - IRC/Slack: migueldiascosta
            • Kenneth Hoste (HPC-UGent)
              • GitHub: @boegel - e-mail: kenneth.hoste (at) ugent.be - IRC/Slack: boegel
            "},{"location":"maintainers/#maintainers_easybuild_repo","title":"Maintainers","text":"

            The EasyBuild maintainers all have admin access to the different EasyBuild GitHub repositories:

            • https://github.com/easybuilders/easybuild (documentation (https://easybuild.readthedocs.io), EasyBuild website, easybuild metapackage)
            • https://github.com/easybuilders/easybuild-framework (EasyBuild framework)
            • https://github.com/easybuilders/easybuild-easyblocks (central repository for easyblocks)
            • https://github.com/easybuilders/easybuild-easyconfigs (central repository for easyconfigs)

            (maintainers are listed in alphabetical order, by last name)

            • Sebastian Achilles (JSC)
              • GitHub: @SebastianAchilles - e-mail: s.achilles (at) fz-juelich.de - IRC/Slack: Sebastian Achilles
            • Damian Alvarez (JSC)
              • GitHub: @damianam - e-mail: d.alvarez (at) fz-juelich.de - IRC/Slack: dalvarez
            • Simon Branford (BEAR - University of Birmingham)
              • GitHub: @branfosj - e-mail: s.j.branford (at) bham.ac.uk - IRC/Slack: Simon
            • Miguel Dias Costa (National University of Singapore)
              • GitHub: @migueldiascosta - e-mail: migueldiascosta (at) nus.edu.sg - IRC/Slack: migueldiascosta
            • Alex Domingo (Vrije Universiteit Brussel)
              • GitHub: @lexming - e-mail: alex.domingo.toro (at) vub.be - IRC/Slack: lexming
            • Bob Dr\u00f6ge (University of Groningen)
              • GitHub: @bedroge - e-mail: b.e.droge (at) rug.nl - IRC/Slack: Bob Dr\u00f6ge
            • Pablo Escobar (sciCORE, University of Basel)
              • GitHub: @pescobar - e-mail: pablo.escobarlopez (at) unibas.ch - IRC/Slack: pescobar
            • Fotis Georgatos (SDSC)
              • GitHub: @fgeorgatos - e-mail: kefalonia (at) gmail.com - IRC/Slack: fotis
            • Jasper Grimm (University or York)
              • GitHub: @jfgrimm - e-mail: jasper.grimm (at) york.ac.uk - IRC/Slack: Jasper
            • Bal\u00e1zs Hajgat\u00f3 (HPC-UGent)
              • GitHub: @hajgato - e-mail: balazs.hajgato (at) ugent.be - IRC/Slack: hajgato
            • Kenneth Hoste (HPC-UGent)
              • GitHub: @boegel - e-mail: kenneth.hoste (at) ugent.be - IRC/Slack: boegel
            • Adam Huffman (Big Data Institute, University of Oxford)
              • GitHub: @verdurin - e-mail: adam.huffman (at) gmail.com - IRC/Slack: verdurin
            • Samuel Moors (Vrije Universiteit Brussel)
              • GitHub: @smoors - e-mail: samuel.moors (at) vub.be - IRC/Slack: smoors
            • Alan O'Cais (CECAM)
              • GitHub: @ocaisa - e-mail: alan.ocais (at) cecam.org - IRC/Slack: ocaisa
            • Mikael \u00d6hman (Chalmers University of Technology)
              • GitHub: @Micket - e-mail: micketeer (at) gmail.com - IRC/Slack: micketeer
            • Bart Oldeman (ComputeCanada)
              • GitHub: @bartoldeman - e-mail: bart.oldeman (at) calculquebec.ca - IRC/Slack: bartoldeman
            • Ward Poelmans (Vrije Universiteit Brussel)
              • GitHub: @wpoely86 - e-mail: wpoely86 (at) gmail.com - IRC/Slack: wpoely86
            • \u00c5ke Sandgren (Ume\u00e5 University, Sweden)
              • GitHub: @akesandgren - e-mail: ake.sandgren (at) hpc2n.umu.se - IRC/Slack: ake_s
            • Caspar Van Leeuwen (SURFsara, Netherlands)
              • GitHub: @casparvl - e-mail: caspar.vanleeuwen (at) surfsara.nl - IRC/Slack: Caspar Van Leeuwen
            • Davide Vanzo (Microsoft)
              • GitHub: @vanzod - e-mail: davide.vanzo (at) microsoft.com - IRC/Slack: vanzod
            • Lars Viklund (Ume\u00e5 University, Sweden)
              • GitHub: @zao - e-mail: lars.viklund (at) umu.se - IRC/Slack: zao
            "},{"location":"manipulating-dependencies/","title":"Manipulating dependencies","text":"

            A couple of different ways are available to manipulate the list of dependencies that are specified for the software packages being installed.

            "},{"location":"manipulating-dependencies/#filter_deps","title":"Filtering out dependencies using --filter-deps","text":"

            To avoid that certain dependencies are being installed, a list of software names can be specified to --filter-deps. Any time a dependency with a name from this list is specified, it will be simply filtered out by EasyBuild, and thus disregarded when resolving dependencies, loading modules for the dependencies in the build environment, and including 'module load' statements in the generated module files.

            This can be useful when particular tools and libraries are already provided by OS packages (or in some other way), and should not be reinstalled as modules by EasyBuild.

            For example:

            • overview of dependencies of HDF5:

              $ eb HDF5-1.8.13-intel-2015a.eb -D\n...\n* [ ] $CFGS/i/intel/intel-2015a.eb (module: intel/2015a)\n* [ ] $CFGS/z/zlib/zlib-1.2.8-intel-2015a.eb (module: zlib/1.2.8-intel-2015a)\n* [ ] $CFGS/s/Szip/Szip-2.1-intel-2015a.eb (module: Szip/2.1-intel-2015a)\n* [ ] $CFGS/h/HDF5/HDF5-1.8.13-intel-2015a.eb (module: HDF5/1.8.13-intel-2015a)\n
            • overview of dependencies of HDF5, with zlib and Szip excluded:

              $ eb HDF5-1.8.13-intel-2015a.eb --filter-deps=zlib,Szip -D\n...\n* [ ] $CFGS/i/intel/intel-2015a.eb (module: intel/2015a)\n* [ ] $CFGS/h/HDF5/HDF5-1.8.13-intel-2015a.eb (module: HDF5/1.8.13-intel-2015a)\n
            "},{"location":"manipulating-dependencies/#filter_deps_by_version","title":"Filtering dependencies based on version","text":"

            Since EasyBuild v3.8.0, filtering dependencies based on their version is also supported.

            For each entry in --filter-deps, the expected format is either:

            • <name>: a software name without any version specification, to indicate that this dependency should always be filtered out (regardless of its version)
            • examples: X11, zlib
            • <name>=<version>: a software name and version, to indicate that a particular version of this dependency should be filtered out
            • examples: zlib=1.2.8, ncurses=5.9
            • <name>=<lower_limit>:<upper_limit>: a software name and a version range, to indicate that any version of this dependency that falls within the specified range should be filtered out

            When a version range is specified, a lower limit and/or upper limit can be specified (separated by :). In other words, the version range can be open ended. The : separator is strictly required.

            For both limits, you must indicate whether it is either:

            • inclusive, by using [ for the lower limit, and ] for the upper limit
            • exclusive, by using ] for the lower limit, and [ for the upper limit

            Examples:

            • to filter out zlib version 1.2 up until 1.2.99 (incl.), use: zlib=[1.2:1.2.99]
            • to filter out ncurses version 5.0 or newer, use: ncurses=[5.0:
            • to filter out any version of CMake that is older than 4.0, use: CMake=:4.0[
            "},{"location":"manipulating-dependencies/#hide_deps","title":"Installing dependencies as hidden modules using --hide-deps","text":"

            Selected software packages can be marked to be installed as hidden modules (i.e., modules that are not visible via 'module avail', but can be loaded) whenever they are included as a dependency, via the --hide-deps configuration option.

            For example (note the preceding '.' in the last part of the module names for zlib and Szip):

            $ eb HDF5-1.8.13-intel-2015a.eb --hide-deps=zlib,Szip -D\n...\n* [ ] $CFGS/i/intel/intel-2015a.eb (module: intel/2015a)\n* [ ] $CFGS/z/zlib/zlib-1.2.8-intel-2015a.eb (module: zlib/.1.2.8-intel-2015a)\n* [ ] $CFGS/s/Szip/Szip-2.1-intel-2015a.eb (module: Szip/.2.1-intel-2015a)\n* [ ] $CFGS/h/HDF5/HDF5-1.8.13-intel-2015a.eb (module: HDF5/1.8.13-intel-2015a)\n

            Note

            Using Lmod (version >= 5.7.5), hidden modules can be made visible in the output of 'module avail' using the --show-hidden option.

            For example:

            $ module avail bzip2\n\nUse \"module spider\" to find all possible modules.\nUse \"module keyword key1 key2 ...\" to search for all possible modules matching any of the \"keys\".\n\n$ module --show-hidden avail bzip2\n----- /home/example/.local/easybuild/modules/all -----\nbzip2/.1.0.6\n\nUse \"module spider\" to find all possible modules.\nUse \"module keyword key1 key2 ...\" to search for all possible modules matching any of the \"keys\".\n
            "},{"location":"manipulating-dependencies/#minimal_toolchains","title":"Using minimal toolchains for dependencies","text":"

            By default, EasyBuild will try to resolve dependencies using the same toolchain as the one that is used for the software being installed, unless a specific toolchain is specified for the dependency itself (see Dependencies).

            Using the --minimal-toolchains configuration option, you can instruct EasyBuild to consider subtoolchains for dependencies in the reverse order (from the bottom of the toolchain hierarchy to the top). This can be useful to refrain from having to frequently hardcode specific toolchains in order to avoid having the same dependency version installed with multiple toolchains that are compatible with each other. Although hardcoding the toolchain for dependencies will work fine, it severely limits the power of other EasyBuild features, like --try-toolchain for example.

            When instructed to use minimal toolchains, EasyBuild will check whether an easyconfig file is available (in the robot search path, see Searching for easyconfigs: the robot search path) for that dependency using the different subtoolchains of the toolchain specified for the 'parent' software. Subtoolchains are considered 'bottom-up', i.e. starting with the most minimal subtoolchain (typically a compiler-only toolchain), and then climbing up towards the toolchain that is specified for the software being installed.

            Note that if a specific toolchain is specified for a particular dependency, EasyBuild will stick to using it, even when instructed to use minimal toolchains. Also note that as of v3.0, if no easyconfig exists to resolve a dependency using the default toolchain EasyBuild will search for the dependency using a compatible subtoolchain (the difference being that the search order is from the top of the toolchain hierarchy to the bottom).

            "},{"location":"manipulating-dependencies/#minimal_toolchains_system","title":"Considering system as minimal toolchain","text":"

            The System toolchain is only considered as the most minimal subtoolchain if the --add-system-to-minimal-toolchains configuration option is enabled. By default, this configuration option is disabled.

            "},{"location":"manipulating-dependencies/#minimal_toolchains_existing_modules","title":"Taking existing modules into account","text":"

            You can instruct EasyBuild to take existing modules into account when determining which subtoolchain should be used for each of the dependencies, using the --use-existing-modules configuration option.

            By default existing modules are ignored, meaning that the EasyBuild dependency resolution mechanism will pick a minimal toolchain for each dependency solely based on the available easyconfig files (if the --minimal-toolchains configuration option is enabled, that is).

            With --use-existing-modules enabled, EasyBuild will first check whether modules exist for the dependencies that were built with the toolchain or any of the subtoolchains (searching top-down). If so, the toolchain of the first encountered existing module will determine the toolchain being selected. If not, the toolchain to use will be determined based on the available easyconfig files.

            "},{"location":"manipulating-dependencies/#minimal_toolchains_example","title":"Example","text":"

            Consider the following (partial) easyconfig file for Python v2.7.9 with the foss/2015b toolchain:

            name = 'Python'\nversion = '2.7.9'\n\ntoolchain = {'name': 'foss', 'version': '2015b'}\n\ndependencies = [\n    ('zlib', '1.2.8'),\n]\n

            When the --minimal-toolchains configuration option is enabled, EasyBuild will also consider the subtoolchains GCC/4.9.3 and gompi/2015b of the foss/2015b toolchain (in that order) as potential minimal toolchains when determining the toolchain to use for dependencies.

            So, for the zlib v1.2.8 dependency included in the example above, the following scenarios are possible:

            • without the use of --minimal-toolchains, the default behaviour of EasyBuild is to first consider the foss/2015b toolchain for zlib v1.2.8, if no such easyconfig file is found, it will continue searching using the gompi/2015b toolchain, and finally the GCC/4.9.3 toolchain
            • if (only) --minimal-toolchains is enabled, EasyBuild will search for an easyconfig file for zlib v1.2.8 using the GCC/4.9.3 toolchain; if no such easyconfig file is found, it will continue searching using the gompi/2015b toolchain, and finally the foss/2015b toolchain
            • if --add-system-to-minimal-toolchains is also enabled, EasyBuild will try locating an easyconfig file for zlib v1.2.8 that uses the system toolchain prior to considering the GCC/4.9.3 toolchain
            • additionally, with --use-existing-modules enabled, EasyBuild will first check whether a zlib module for version 1.2.8 built with the (sub)toolchains being considered exists; if not, it will search for an easyconfig file for zlib as outlined above
            "},{"location":"packaging-support/","title":"Packaging support","text":"

            Note

            Packaging support was added as an experimental feature in EasyBuild v2.2.0 (cfr. Experimental features). Since EasyBuild v2.5.0, it is considered stable.

            "},{"location":"packaging-support/#packaging_prereq","title":"Prerequisites","text":"

            EasyBuild leverages FPM to create binary packages (RPMs, Debian files, etc.).

            Hence, FPM must be available in some way or another. One way is via EasyBuild, for example by installing a module for FPM using one of the available easyconfig files.

            EasyBuild will also take care of installing Ruby for you (which is required for FPM itself):

            $ export EASYBUILD_PREFIX=/home/example\n\n$ eb FPM-1.3.3-Ruby-2.1.6.eb --robot\n[...]\n== building and installing Ruby/2.1.6...\n[...]\n== COMPLETED: Installation ended successfully\n[...]\n== building and installing FPM/1.3.3-Ruby-2.1.6...\n[...]\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/software/FPM/1.3.3-Ruby-2.1.6/easybuild/easybuild-FPM-1.3.3-20150524.181859.log\n== Build succeeded for 2 out of 2\n\n$ module load FPM/1.3.3-Ruby-2.1.6\n\n$ fpm --version\n1.3.3\n
            "},{"location":"packaging-support/#packaging_config","title":"Configuration options","text":"

            Several configuration options related to packaging support are available.

            • --package:
              • enables packaging; other options will be void unless this option is enabled
            • --package-tool=<tool>:
              • specifies which tool you wish to package with; for now, only fpm is supported (and is set as default)
            • --package-type=<type>:
              • specifies which type of package you wish to build, which is passed through to fpm (as target type); examples include: rpm (default), deb, ... (see https://github.com/jordansissel/fpm/wiki#overview)
            • --package-naming-scheme=<PNS>:
              • specifies which package naming scheme to use; default: EasyBuildPNS
            • --packagepath:
              • specifies destination path of packages being built
            • --package-release:
              • specifies the package release (default: 1); typically, this should be an integer value

            Note

            Changing the package naming scheme should be done with caution. For example, RPM will only allow one package of a particular name to be installed, so if you wish multiple versions of a package to be installed at the same time you need to ensure variables like the software version are included in the package name.

            "},{"location":"packaging-support/#packaging_usage","title":"Usage","text":"

            To make EasyBuild generate packages, just use --package. By default, this will make EasyBuild leverage FPM to create RPMs:

            $ export EASYBUILD_PREFIX=/home/example\n$ eb --package Perl-5.20.1-GCC-4.9.2-bare.eb --robot\n[...]\n== building and installing Perl/5.20.1-GCC-4.9.2-bare...\n== fetching files...\n== creating build dir, resetting environment...\n== unpacking...\n== patching...\n== preparing...\n== configuring...\n== building...\n== testing...\n== installing...\n== taking care of extensions...\n== postprocessing...\n== sanity checking...\n== cleaning up...\n== creating module...\n== packaging...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/software/Perl/5.20.1-GCC-4.9.2-bare/easybuild/easybuild-Perl-5.20.1-20150527.023522.log\n== Build succeeded for 1 out of 1\n

            Packages will be located in the directory indicated by the --packagepath configuration option; by default, this corresponds to $prefix/packages.

            By default, the package will have the following properties:

            $ rpm -qip --requires --provides /home/example/packages/Perl-5.20.1-GCC-4.9.2-bare.eb2.2.0-1.x86_64.rpm\nName        : Perl-5.20.1-GCC-4.9.2-bare\nVersion     : eb2.2.0\nRelease     : 1\nArchitecture: x86_64\nInstall Date: (not installed)\nGroup       : default\nSize        : 64539427\nLicense     : unknown\nSignature   : (none)\nSource RPM  : Perl-5.20.1-GCC-4.9.2-bare.eb2.2.0-1.x86_64.src.rpm\nBuild Date  : Tue 07 Jul 2015 11:27:54 PM EDT\nBuild Host  : 59e46bbf1cd0\nRelocations : /\nPackager    : <easybuild@59e46bbf1cd0>\nVendor      : easybuild@59e46bbf1cd0\nURL         : http://example.com/no-uri-given\nSummary     : no description given\nDescription :\nno description given\nGCC-4.9.2-dummy-dummy\nrpmlib(PartialHardlinkSets) <= 4.0.4-1\nrpmlib(PayloadFilesHavePrefix) <= 4.0-1\nrpmlib(CompressedFileNames) <= 3.0.4-1\nPerl-5.20.1-GCC-4.9.2-bare\nPerl-5.20.1-GCC-4.9.2-bare = eb2.2.0-1\nPerl-5.20.1-GCC-4.9.2-bare(x86-64) = eb2.2.0-1\n
            "},{"location":"packaging-support/#packaging_skip","title":"Packaging existing installations","text":"

            To create packages for existing software installations (performed using EasyBuild), combine --package with --skip --rebuild:

            $ eb --package Perl-5.20.1-GCC-4.9.2-bare.eb --skip --rebuild\n[...]\n== building and installing Perl/5.20.1-GCC-4.9.2-bare...\n== fetching files...\n== creating build dir, resetting environment...\n== unpacking [skipped]\n== patching [skipped]\n== preparing...\n== configuring [skipped]\n== building [skipped]\n== testing [skipped]\n== installing [skipped]\n== taking care of extensions...\n== postprocessing [skipped]\n== sanity checking...\n== cleaning up...\n== creating module...\n== packaging...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/software/Perl/5.20.1-GCC-4.9.2-bare/easybuild/easybuild-Perl-5.20.1-20150527.041734.log\n== Build succeeded for 1 out of 1\n
            "},{"location":"partial-installations/","title":"Partial installations","text":"

            Several ways of performing partial installations are supported. These may be useful when debugging a particular issue with the installation procedure being performed by EasyBuild, updating existing software installations or module files, or after changing the EasyBuild configuration (e.g., switching to module files in Lua syntax or a different module naming scheme).

            "},{"location":"partial-installations/#partial_installation_stop","title":"Stopping the installation procedure after a step using -s/--stop","text":"

            To stop the installation procedure after a specific step in the installation procedure, the -s/--stop command line option can be used; the name of the step must be supplied as an argument.

            The following step names are recognized (listed in execution order): fetch, ready, source, patch, prepare, configure, build, test, install, extensions, package, postproc, sanitycheck, cleanup, module, testcases.

            Example usage:

            $ eb GCC-4.9.2.eb --stop configure\n== temporary log file in case of crash /tmp/eb-X2Z0b7/easybuild-mGxmNb.log\n== processing EasyBuild easyconfig /home/example/GCC-4.9.2.eb\n== building and installing GCC/4.9.2...\n== fetching files...\n== creating build dir, resetting environment...\n== unpacking...\n== patching...\n== preparing...\n== configuring...\n== COMPLETED: Installation STOPPED successfully\n== Results of the build can be found in the log file /dev/shm/example/GCC/4.9.2/dummy-dummy/easybuild/easybuild-GCC-4.9.2-20150430.091644.log\n== Build succeeded for 1 out of 1\n== temporary log file(s) /tmp/eb-X2Z0b7/easybuild-mGxmNb.log* have been removed.\n== temporary directory /tmp/eb-X2Z0b7 has been removed.\n
            "},{"location":"partial-installations/#partial_installation_fetch","title":"Fetching sources with --fetch","text":"

            It may be useful to be able to batch-download sources on a machine where no modules tool is installed. The --fetch option, which is equivalent with --stop fetch --ignore-osdeps, addresses this requirement.

            Example usage:

            $ eb GCCcore-6.2.0.eb --fetch\n== temporary log file in case of crash /tmp/eb-1ZZX2b/easybuild-NSmm5P.log\n== processing EasyBuild easyconfig /home/example/GCCcore-6.2.0.eb\n== building and installing GCCcore/6.2.0...\n== fetching files...\n== COMPLETED: Installation STOPPED successfully\n== Results of the build can be found in the log file(s) /dev/shm/example/GCC/4.9.2/dummy-dummy/easybuild/easybuild-GCCcore-6.2.0-20180330.170523.log\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-1ZZX2b/easybuild-NSmm5P.log* have been removed.\n== Temporary directory /tmp/eb-1ZZX2b has been removed.\n

            Note

            --fetch can be used in conjunction with the --robot and --robot-path options to download sources of the whole dependency tree of an easyconfig (see Enabling dependency resolution, --robot / -r and --robot-paths).

            Note

            Sources will be downloaded in the default location (see Source path (--sourcepath)), unless EasyBuild is configured via the --sourcepath option.

            "},{"location":"partial-installations/#partial_installation_skip","title":"Installing additional extensions using -k/-skip","text":"

            For software applications that may include Extensions, it is often required to install one or more additional extensions without having to reinstall the software package (and all extensions) from scratch. For this purpose, the -k/--skip command line option is available.

            To actually skip an existing software installation and all installed extensions, a corresponding module must be available already; if not, the installation procedure will be performed from scratch. To trigger the installation of missing extensions, --rebuild ( or --force, see Forced reinstallation) must be used as well; without it, the installation procedure will be skipped as a whole (since the module is already available).

            When --skip is combined with --rebuild, EasyBuild will:

            i) ensure that all (extension) sources are available (and try to fetch them if needed); ii) prepare the build environment; iii) check which extensions have not been installed yet; iv) install the missing extensions; v) run the sanity check (which includes checking that all extensions are available) vi) regenerate the module file (since it contains a list of installed extensions)

            Example usage:

            $ eb Python-2.7.9-intel-2015a.eb --skip\n...\n== Python/2.7.9-intel-2015a is already installed (module found), skipping\n== No easyconfigs left to be built.\n== Build succeeded for 0 out of 0\n
            $ eb Python-2.7.9-intel-2015a.eb --skip --rebuild\n...\n== building and installing Python/2.7.9-intel-2015a...\n...\n== configuring [skipped]\n== building [skipped]\n== testing [skipped]\n== installing [skipped]\n== taking care of extensions...\n...\n== sanity checking...\n== cleaning up...\n== creating module...\n== COMPLETED: Installation ended successfully\n

            Note

            Upgrading of extensions to a newer version does not work (yet) using --skip, because the way in which extensions are checked for availability, i.e. the extensions filter, is (usually) version-agnogstic.

            Note

            The 'skipsteps' easyconfig parameter has a different purpose, i.e. to specify which installation steps should always be skipped when the installation of a particular software package is performed, no matter whether the software or corresponding module is already available or not.

            Note

            When --skip is used, a backup is created for all existing module files that are regenerated. To disable backing up of module files, use --disable-backup-modules (see also Backing up of existing modules (--backup-modules)).

            "},{"location":"partial-installations/#module_only","title":"Only (re)generating (additional) module files using --module-only","text":"

            Since EasyBuild v2.1, it is possible to only (re)generate the module file that matches the specifications in the easyconfig file, using --module-only. Depending on the use case, additional options should be supplied.

            Usually --rebuild is also required, either to ignore the existing module file (if the module is available under the same name as the one being (re)generated), or to skip the sanity check that verifies the software installation (if no software installation is available).

            Combining --module-only with --installpath-modules is also a common use case, to generate the module file in a (test) location other than the software installation prefix (see Software and modules install path (--installpath, --installpath-software, --installpath-modules)).

            Note

            Although --module-only was already supported in EasyBuild v2.1.0, we strongly recommend to use EasyBuild v2.1.1 or a more recent version, because of some critical bug fixes with respect to --module-only.

            Use cases:

            • Only (re)generating (existing) module file
            • Generating additional module files

            Note

            When --module-only is used, a backup is created for all existing module files that are regenerated. To disable backing up of module files, use --disable-backup-modules (see also Backing up of existing modules (--backup-modules)).

            "},{"location":"partial-installations/#module_only_only_regenerate","title":"Only (re)generating (existing) module file","text":"

            To only generate a module file (i.e., skip actually building and installing the software), or to regenerate an existing module file, --module-only can be used.

            In the former case, enabling --rebuild is required because the sanity check step that verifies whether the installation produced the expected files and/or directories is not skipped unless forced. In the latter case, --rebuild must be used to make EasyBuild ignore that the module is already available according to the modules tool.

            Example usage:

            • only generate module file:

              $ module avail GCC\n---------------------------- /home/example/.local/modules/all ----------------------------\nGCC/4.8.2\n\n$ eb GCC-5.1.0.eb --module-only --rebuild\n...\n== building and installing GCC/5.1.0...\n== fetching files [skipped]\n...\n== configuring [skipped]\n== building [skipped]\n== testing [skipped]\n== installing [skipped]\n...\n== sanity checking [skipped]\n== cleaning up [skipped]\n== creating module...\n== COMPLETED: Installation ended successfully\n...\n\n$ module avail GCC\n\n---------------------------- /home/example/.local/modules/all ----------------------------\nGCC/4.8.2     GCC/5.1.0\n
            • regenerate existing module file:

              $ module avail GCC/4.8.2\n\n---------------------------- /home/example/.local/modules/all ----------------------------\nGCC/4.8.2\n\n$ ls -l /home/example/.local/modules/all/GCC/4.8.2\n-rw-rw-r-- 1 example example 1002 Jan 11 17:19 /home/example/.local/modules/all/GCC/4.8.2\n\n$ eb GCC-4.8.2.eb --module-only --rebuild\n...\n== building and installing GCC/4.8.2...\n...\n== sanity checking [skipped]\n== creating module...\n== COMPLETED: Installation ended successfully\n...\n\n$ ls -l /home/example/.local/modules/all/GCC/4.8.2\n-rw-rw-r-- 1 example example 1064 Apr 30 10:54 /home/example/.local/modules/all/GCC/4.8.2\n
            "},{"location":"partial-installations/#module_only_additional","title":"Generating additional module files","text":"

            Generating an additional module file, next to the one(s) already available, is also supported. This can achieved by combining --module-only with additional configuration options that apply to the module generation.

            Examples:

            • to generate a module file in Lua syntax, next to an already existing module file in Tcl syntax, --module-only --module-syntax=Lua can be used:

              $ module avail GCC/4.8.2\n\n---------------------------- /home/example/.local/modules/all ----------------------------\nGCC/4.8.2\n\n$ ls -l /home/example/.local/modules/all/GCC/4.8.2*\n-rw-rw-r-- 1 example example 1064 Apr 30 10:54 /home/example/.local/modules/all/GCC/4.8.2\n\n$ eb GCC-4.8.2.eb --modules-tool=Lmod --module-only --module-syntax=Lua --rebuild\n...\n== building and installing GCC/4.8.2...\n...\n== sanity checking [skipped]\n== creating module...\n== COMPLETED: Installation ended successfully\n...\n\n$ ls -l /home/example/.local/modules/all/GCC/4.8.2*\n-rw-rw-r-- 1 example example 1064 Apr 30 10:54 /home/example/.local/modules/all/GCC/4.8.2\n-rw-rw-r-- 1 example example 1249 Apr 30 11:56 /home/example/.local/modules/all/GCC/4.8.2.lua\n

              Note

              Since only Lmod can consume module files in Lua syntax, it must be used as a modules tool; see also Module files syntax (--module-syntax).

              Only changing the syntax of the module file does not affect the module name, so Lmod will report the module as being available. Hence, --rebuild must be used here as well.

            • to generate a module file using a different naming scheme, --module-only can be combined with --module-naming-scheme:

              $ eb --installpath-modules=$HOME/test/modules --module-only --module-naming-scheme=HierarchicalMNS --rebuild\n...\n== building and installing Core/GCC/4.8.2...\n...\n== sanity checking [skipped]\n== creating module...\n== COMPLETED: Installation ended successfully\n\n$ module unuse $HOME/.local/modules/all\n$ module use $HOME/test/modules/all\n$ module avail\n\n---------------------------- /home/example/test/modules/all ----------------------------\nCore/GCC/4.8.2\n

              Note

              Modules that are generated used different module naming schemes should never be mixed, hence the use of --installpath-modules, see also Direct options: --installpath-software and --installpath-modules.

              Note

              The modules files generated using the specified module naming scheme will most likely not be tied to an existing software installation in this case (unless the software installation was already there somehow), since the name of the subdirectory of the software installation prefix is also governed by the active module naming scheme. This is also why --rebuild must be used in the example above (to skip the sanity check that verifies the software installation).

              Thus, this is only useful to assess how the module tree would look like under a particular module naming scheme; the modules themselves are useless since they point to empty installation directories.

              To tie a module file generated using to an existing software installation that was performed under a different module naming scheme, a simple module naming scheme can be implemented that mixes two modules naming schemes, by providing the name of the software installation subdirectory using one scheme, and the module names (and other metadata for module files) with the other.

              An example of such a module naming scheme is MigrateFromEBToHMNS, which allows to generate module files using the hierarchical module naming scheme implemented by HierarchicalMNS for the software installed in subdirectories following the default EasyBuild module naming scheme EasyBuildMNS. The MigrateFromEBToHMNS module naming scheme is available since EasyBuild v2.2.0.

            "},{"location":"progress-bars/","title":"Progress bars","text":"

            (supported since: EasyBuild v4.5.0)

            "},{"location":"progress-bars/#general-information-on-progress-bars","title":"General information on progress bars","text":"

            EasyBuild will show progress bars for various aspects of the installation progress by default, if the Rich Python package is available.

            The progress bars shown by EasyBuild are dynamic: they are only visible when they are relevant.

            Note that for most progress bars each step is treated as being equal even though the time taken for the various steps varies. There are many factors that impact how long an individual installation step, installing an easyconfig, or installing an extension may and this makes it very difficult to get a good estimate on how much time will be needed. The download progress bar is an exception here (as long as the size of the file to download could be determined first).

            "},{"location":"progress-bars/#types-of-progress-bars","title":"Types of progress bars","text":"

            EasyBuild will show different progress bars to show the progress for different aspects of the installation process.

            "},{"location":"progress-bars/#overall-progress-bar-status-bar","title":"Overall progress bar (status bar)","text":"

            The progress bar at the bottom, also known as the status bar, shows the overall progress in installing software for the currently active EasyBuild session.

            From left to right, the following information is included:

            • The total amount of time that this EasyBuild session has spent on installing software.
            • The number of easyconfigs that have been processed already, the total number of easyconfigs being processed, and a count of easyconfigs that failed to installed so far (if there are any).
            • The list of already processed easyconfigs, along with the result:
              • OK (in green) for a successful installation;
              • FAILED (in red) for a failed installation;

            Processed easyconfigs are shown in reversed order: most recently processed easyconfigs are listed first.

            If EasyBuild is configured to continue processing easyconfigs when an installation failed (for example when using --upload-test-report), failing easyconfigs are listed before easyconfigs that were installed successfully, to highlight failing installations.

            The status bar is not shown if only a single easyconfig file is being installed, and is hidden automatically as soon as the EasyBuild session finishes.

            "},{"location":"progress-bars/#easyconfig-progress-bar","title":"Easyconfig progress bar","text":"

            A dedicated progress bar is shown for every easyconfig file that is installed, right above the status bar (if present), which shows:

            • The name of the module that is being installed.
            • The currently active installation step.
            • The number of completed installations steps, as well as the total number of installation steps for this easyconfig.
            • A visual progress bar that represents the progress in installing this easyconfig.
            • The total amount of time spent on installing this easyconfig so far.

            The progress bar for a specific easyconfig file will be hidden as soon as the installation finishes (regardless of whether it was successful or not).

            "},{"location":"progress-bars/#download-progress-bars","title":"Download progress bars","text":"

            When EasyBuild is downloading one or more files, a dedicated progress bar will be visible:

            • For large downloads: the name of the file being downloaded, a visual progress bar, the amount of data downloaded so far, the amount of data to download in total, the average download speed, and the estimated time remaining to complete the download (based on average download speed).
            • If there are multiple files being downloaded: an overview of how many files have been downloaded already, and how many need to be downloaded in total.

            The download progress bars will be hidden as soon as the downloading has been completed (or has failed).

            "},{"location":"progress-bars/#extensions-progress-bar","title":"Extensions progress bar","text":"

            When extensions are being installed for a particular easyconfig, a dedicated progress bar will pop up for the extensions step, which shows:

            • The name of the extension that is currently being installed.
            • The number of extensions installed so far, and the total number of extensions to install.
            • A visual progress bar that represents the progress for installing extensions so far.
            • The total amount of time spent installing extensions for this easyconfig.
            "},{"location":"progress-bars/#relevant-configuration-options","title":"Relevant configuration options","text":""},{"location":"progress-bars/#output-style","title":"output-style","text":"

            The output-style configuration option determines the output style of the eb command.

            Setting output-style to 'rich' results in rich output being produced, which includes progress bars. This also makes Rich a required dependency for EasyBuild.

            Using 'basic' as value for output-style results in basic output (no progress bars).

            By default output-style is set to 'auto', which implies using the Rich Python package to produce rich output (incl. progress bars) if is available, and falling back to using the basic output style if Rich is not available.

            "},{"location":"progress-bars/#show-progress-bar","title":"show-progress-bar","text":"

            The show-progress-bar configuration option (enabled by default) controls whether or not progress bars are shown, regardless of the active output style and whether Rich is available.

            "},{"location":"python-2-3-compatibility/","title":"Compatibility with Python 2 and Python 3","text":"

            Starting with EasyBuild v4.0, the EasyBuild framework and easyblocks are compatible with both Python versions 2 and 3. More specifically, the following Python versions are currently supported:

            • Python 2.6.x (support was removed in EasyBuild v4.4.0)
            • Python 2.7.x
            • Python 3.5.x
            • Python 3.6.x
            • Python 3.7.x
            • Python 3.8.x (requires EasyBuild v4.1.0)
            • Python 3.9.x (requires EasyBuild v4.3.1)
            • Python 3.10.x (requires EasyBuild v4.5.2)
            • Python 3.11.x (requires EasyBuild v4.5.2)
            "},{"location":"python-2-3-compatibility/#py2_py3_compatibility_EB_VERBOSE","title":"Determining which Python version EasyBuild is using via $EB_VERBOSE","text":"

            To determine which Python version is being used to run EasyBuild, you can define the $EB_VERBOSE environment variable.

            For example:

            $ export EB_VERBOSE=1\n$ eb --version\n>> Considering 'python'...\n>> No 'python' found in $PATH, skipping...\n>> Considering 'python3'...\n>> 'python3' version: 3.6.9, which matches Python 3 version requirement (>= 3.5)\n>> Selected Python command: python3 (/usr/local/bin/python3)\n>> python3 -m easybuild.main --version\nThis is EasyBuild 4.0.0 (framework: 4.0.0, easyblocks: 4.0.0) on host example.\n
            "},{"location":"python-2-3-compatibility/#py2_py3_compatibility_EB_PYTHON","title":"Controlling which python command EasyBuild will use via $EB_PYTHON","text":"

            The eb command will consider different python commands, and check the Python version corresponding with the command before selecting one. The commands considered are (in order):

            • python
            • python3
            • python2

            Before considering these commands, eb will first consider the command name specified via the $EB_PYTHON environment variable (if defined), so you can always control which Python version is being used if desired.

            For example:

            $ export EB_PYTHON=python3.7\n$ export EB_VERBOSE=1\n$ eb --version\n>> Considering 'python3.7'...\n>> 'python3.7' version: 3.7.2, which matches Python 3 version requirement (>= 3.5)\n>> Selected Python command: python3.7 (/usr/local/bin/python3.7)\n>> python3.7 -m easybuild.main --version\nThis is EasyBuild 4.0.0 (framework: 4.0.0, easyblocks: 4.0.0) on host example.\n
            "},{"location":"python-2-3-compatibility/#the-easybuildtoolspy2vs3-package","title":"The easybuild.tools.py2vs3 package","text":"

            To facilitate this, the easybuild.tools.py2vs3 package was introduced in EasyBuild v4.0. When importing a function from this package, you will automatically get a version of the function that is compatible with the Python version being used to run EasyBuild.

            Through this approach we can hide subtle differences between Python 2 and 3, while avoiding code duplication and Python version checks throughout the codebase, as well as avoid requiring packages like six or future (which facilitate maintaining compatibility with Python 2 and 3, but are also a bit of a burden).

            The easybuild.tools.py2vs3 package provides two major classes of items (listed below in alphabetical order):

            • functions from the Python standard library which should be imported from different locations in Python 2 and 3
            • wrappers for functionality in the Python standard library which behaves differently in Python 2 and 3
            "},{"location":"python-2-3-compatibility/#py2vs3_ascii_letters","title":"ascii_letters","text":"
            • Python 2: corresponds to string.letters
            • Python 3: corresponds to string.ascii_letters
            "},{"location":"python-2-3-compatibility/#py2vs3_ascii_lowercase","title":"ascii_lowercase","text":"
            • Python 2: corresponds to string.lowercase
            • Python 3: corresponds to string.ascii_lowercase
            "},{"location":"python-2-3-compatibility/#py2vs3_build_opener","title":"build_opener","text":"
            • Python 2: corresponds to urllib2.build_opener function
            • Python 3: corresponds to urllib.request.build_opener function
            "},{"location":"python-2-3-compatibility/#py2vs3_configparser","title":"configparser","text":"
            • Python 2: corresponds to ConfigParser.configparser module
            • Python 3: corresponds to configparser module
            "},{"location":"python-2-3-compatibility/#py2vs3_create_base_metaclass","title":"create_base_metaclass","text":"

            Function to create a metaclass that can be used as a base class, implemented in a way that is compatible with both Python 2 and 3.

            "},{"location":"python-2-3-compatibility/#py2vs3_extract_method_name","title":"extract_method_name","text":"

            Function to method name from lambda function, implemented in a way that is compatible with both Python 2 and 3.

            "},{"location":"python-2-3-compatibility/#py2vs3_HTTPError","title":"HTTPError","text":"
            • Python 2: corresponds to urllib2.HTTPError
            • Python 3: corresponds to urllib.request.HTTPError
            "},{"location":"python-2-3-compatibility/#py2vs3_HTTPSHandler","title":"HTTPSHandler","text":"
            • Python 2: corresponds to urllib2.HTTPSHandler
            • Python 3: corresponds to urllib.request.HTTPSHandler
            "},{"location":"python-2-3-compatibility/#py2vs3_json_loads","title":"json_loads","text":"
            • Python 2: wraps json.loads function

            • Python 3: wraps json.loads function, taking into account that for Python versions older than 3.6

              • a value of type string (rather than bytes) is required as argument
            "},{"location":"python-2-3-compatibility/#py2vs3_mk_wrapper_baseclass","title":"mk_wrapper_baseclass","text":"

            Function to create a wrapper base class using the specified metaclass, implemented in a way that is compatible with both Python 2 and 3.

            "},{"location":"python-2-3-compatibility/#py2vs3_OrderedDict","title":"OrderedDict","text":"
            • Python 2.6: corresponds to easybuild.tools.ordereddict.OrderedDict
            • Python 2.7: corresponds to collections.OrderedDict
            • Python 3: corresponds to collections.OrderedDict
            "},{"location":"python-2-3-compatibility/#py2vs3_reload","title":"reload","text":"
            • Python 2: corresponds to reload built-in function
            • Python 3: corresponds to importlib.reload function
            "},{"location":"python-2-3-compatibility/#py2vs3_raise_with_traceback","title":"raise_with_traceback","text":"

            Function to raise an error with specified message and traceback, implemented in a way that is compatible with both Python 2 and 3.

            "},{"location":"python-2-3-compatibility/#py2vs3_Request","title":"Request","text":"
            • Python 2: corresponds to urllib2.Request
            • Python 3: corresponds to urllib.request.Request
            "},{"location":"python-2-3-compatibility/#py2vs3_subprocess_popen_text","title":"subprocess_popen_text","text":"
            • Python 2: wrapper for subprocess.Popen
            • Python 3: wrapper for subprocess.Popen while forcing text mode (using universal_newlines=True)
            "},{"location":"python-2-3-compatibility/#py2vs3_std_urllib","title":"std_urllib","text":"
            • Python 2: corresponds to urllib package
            • Python 3: corresponds to urllib.request package
            "},{"location":"python-2-3-compatibility/#py2vs3_string_type","title":"string_type","text":"
            • Python 2: corresponds to basestring built-in string type
            • Python 3: corresponds to str built-in string type
            "},{"location":"python-2-3-compatibility/#py2vs3_StringIO","title":"StringIO","text":"
            • Python 2: corresponds to StringIO.StringIO class
            • Python 3: corresponds to io.StringIO class
            "},{"location":"python-2-3-compatibility/#py2vs3_urlencode","title":"urlencode","text":"
            • Python 2: corresponds to urllib.urlencode function
            • Python 3: corresponds to urllib.parse.urlencode function
            "},{"location":"python-2-3-compatibility/#py2vs3_URLError","title":"URLError","text":"
            • Python 2: corresponds to urllib2.URLError
            • Python 3: corresponds to urllib.request.URLError
            "},{"location":"python-2-3-compatibility/#py2vs3_urlopen","title":"urlopen","text":"
            • Python 2: corresponds to urllib2.urlopen
            • Python 3: corresponds to urllib.request.urlopen
            "},{"location":"release-notes/","title":"EasyBuild release notes","text":"

            The latest version of EasyBuild provides support for building and installing 3,161 different software packages, including 39 different (compiler) toolchains. It contains 249 software-specific easyblocks and 42 generic easyblocks, alongside 17,511 easyconfig files.

            ","boost":0.5},{"location":"release-notes/#release_notes_eb480","title":"EasyBuild v4.8.0 (7 July 2023)","text":"

            feature release

            framework

            • various enhancements, including:
              • use version suffixes in PR title instead of Python versions when using --new-pr (#4253 + #4286)
              • add script to find updated ECs for installed module (#4271)
            • various bug fixes, including:
              • fix regex for extracting glibc version from output of 'ldd --version' in Gentoo Linux (#4290)
              • allow versionsuffix to be set to None in det_full_ec_version (#4292)
            • other changes:
              • stop running tests with Python 2.7 since it is no longer supported in GitHub Action (#4267)
              • replace imp.load_source by leveraging importlib.util.module_from_spec when using Python 3 (#4280)

            easyblocks

            • add PerlBundle generic easyblock for installing a bundle of Perl modules (#2945)
            • add custom easyblock for Rust, which makes sure that all shared libraries use RPATH rather than RUNPATH if --rpath is used (#2952)
            • minor enhancements and updates, including:
              • add support for NVIDIA Hopper CC 9.0 in LAMMPS (#2941)
              • add support for install_cmds in Binary easyblock (#2953)
            • various bug fixes, including:
              • patch CMake's UnixPaths.cmake script if --sysroot is set (#2248)
              • fix incorrect sanity_check_step for torchvision (#2938)
              • update OpenBLAS easyblock since make shared is necessary and sufficient with OpenBLAS 0.3.23 + recent parallel build fixes (#2944)
              • improve handling of optarch in Cargo easyblock (#2947)
              • reset modules loaded by PythonPackage to let ExtensionEasyBlock handle multi_deps correctly (#2951)
            • other changes:
              • stop running tests with Python 2.7 since it is no longer supported in GitHub Actions (#2943)

            easyconfigs

            • added easyconfigs for foss/2023a (#18264) and intel/2023a (#18275) common toolchains
            • added example easyconfig files for 76 new software packages:
              • 3d-dna (#9258), affinity (#18051), AIMAll (#13153), alleleIntegrator (#17923), AlphaPulldown (#17774), ASCAT (#17923), ASF-SearchAPI (#18179), ATAT (#18213), AutoDockSuite (#9678), axel (#10961), BayesPrism (#17885), BGC-Bayesian-genomic-clines (#18005), CalculiX-CrunchiX (#16805), CASA (#18055), cctbx-base (#17774), Circuitscape (#16720), CppHeaderParser (#18272), CuCLARK (#9482), cuteSV (#18077), DALI (#18204), DaliLite (#17989), DEICODE (#18181), dm-haiku (#18013), dominate (#18086), dx-toolkit (#18232), easel (#18156), ecFlow (#15719), EDirect (#17479), FragPipe (#18161), GEM (#18120), gemelli (#18120), GLIMPSE (#18163), GRIDSS (#18170), HOOMD-blue (#18224), KerasTuner (#18197), LayoutParser (#18220), LISFLOOD-FP (#18194), LuaRocks (#18073), mannkendall (#18043), MOB-suite (#16798), molecularGSM (#13150), MONAI-Label (#18180), MView (#18198), NanoStat (#18201), oxDNA (#18175 + #18214), pastml (#15336), pbipa (#18229), Perl-bundle-CPAN (#17970), PheWeb (#10951), plinkliftover (#18136), pmt (#18052), PyBioLib (#18124), Pychopper (#10344), pydicom-seg (#18180), pyMannKendall (#18044), pypmt (#18045), python-mujoco (#18253), pytorch-CycleGAN-pix2pix (#18086), PyTorch-Image-Models (#18220), PyWBGT (#17980), Safetensors (#18220), Sniffles (#18048), strace (#14381), Structure_threader (#18219), subset-bam (#18032), SVclone (#18084), SVIM (#18071), Tapenade (#18109), TensorFlow-Graphics (#17465), timm (#17787), Trinotate (#18124), Ultralytics (#17894), visdom (#18086), wrapt (#18125), xclip (#17055), xdotool (#17055)
            • added additional easyconfigs for various supported software packages, including:
              • AGAT 1.1.0, alleleCount 4.2.1, AMS 2023.101, ANSYS 2023R1, BayesTraits 3.0.2, Bismark 0.24.1, BLAST+ 2.14.0, boto3 1.26.163, Bowtie2 2.5.1, BUSCO 5.4.7, Cellpose 2.2.2, CHERAB 1.4.0, CmdStanR 0.5.2, CNVkit 0.9.10, corner 2.2.2, CUDA 12.1.1 + 12.2.0, cuDNN 8.9.2.26, cutadapt 4.4, cuTENSOR 1.7.0.1, CVXOPT 1.3.1, Dalton 2020.1, datamash 1.8, deepTools 3.5.2, DIAMOND 2.1.8, DMTCP 3.0.0, dorado 0.3.0 + 0.3.1, dtcmp 1.1.4, duplex-tools 0.3.3, elastix 5.0.0, Emacs 28.2, emcee 3.1.4, Extrae 4.0.4, fastp 0.23.4, FlexiBLAS 3.3.1, fontconfig 2.14.2, FreeSurfer 7.4.0, freetype 2.13.0, GATK 4.4.0.0, GBprocesS 4.0.0.post1, GCC 11.4.0, GCTA 1.94.1, GDRCopy 2.3.1, Geant4 11.1.2, Geant4-data 11.1, GetOrganelle 1.7.7.0, git 2.41.0, GMAP-GSNAP 2023-04-20, GROMACS 2023.1, hifiasm 0.19.5, Horovod 0.25.0, hwloc 2.9.1, InterProScan 5.62, IQ-TREE 2.2.2.3, ITSTool 2.0.7, JAGS 4.3.2, Julia 1.9.0, libfabric 1.18.0, libheif 1.16.2, libjxl 0.8.1, LibLZF 3.6, LMfit 1.2.1, LSD2 2.4.1, LuaJIT 2.1.0, lwgrp 1.0.5, MAGeCK 0.5.9.5, MATLAB 2023a, MaxQuant 2.4.2.0.eb, MCR R2022a.5, meshio 5.3.4, Meson 1.1.1, minimap2 2.26, MMseqs2 14-7e284, mpifileutils 0.11.1, MuJoCo 2.2.2, nanomath 1.3.0, ncbi-vdb 3.0.5, NCCL 2.18.3, Nextflow 23.04.2, ngspice 39, ont-fast5-api 4.1.1, OpenBLAS 0.3.23, OpenMPI 4.1.5, openpyxl 3.1.2, OSU-Micro-Benchmarks 7.1-1, parasail 2.6.2, Paraver 4.11.1, ParaView 5.11.1, patchelf 0.18.0, Perl 5.36.1, PMIx 4.2.4, POT 0.9.0, PSI4 1.7, psutil 5.9.4, psycopg2 2.9.6, PyCalib 20230531, pycocotools 2.0.6, pyfaidx 0.7.2.1, pyiron 0.3.0, PyQtGraph 0.13.3, Pysam 0.21.0, pySCENIC 0.12.1, pyspoa 0.0.9, Python 3.11.3, python-parasail 1.3.4, PyTorch 1.13.1, rasterio 1.3.8, regionmask 0.10.0, Ruby 3.2.2, Rust 1.70.0, ScaFaCoS 1.0.4, seqtk 1.4, SRA-Toolkit 3.0.5, statsmodels 0.14.0, strace 5.14, Subversion 1.14.2, SUNDIALS 6.5.1, tidymodels 1.1.0, tokenizers 0.13.3, torchaudio 0.12.0, TransDecoder 5.5.0, Transformers 4.29.2 + 4.30.2, UCC 1.2.0, UCC-CUDA 1.2.0, UCX 1.14.1, UCX-CUDA 1.14.1, util-linux 2.39, VASP 6.3.2, VTK 9.2.6, WhatsHap 1.7, X11 20230603, xarray 2023.4.2, XlsxWriter 3.1.2, XML-LibXML 2.0208, xorg-macros 1.20.0, zlib-ng 2.0.7
            • minor enhancements, including:
              • add CI check for -DCMAKE_BUILD_TYPE, should use build_type instead (#14008)
              • enhance sanity check for recent LibTIFF easyconfigs (#17975)
              • update JupyterLab v3.5.0 to set $JUPYTERLAB_SETTINGS_DIR and $JUPYTERLAB_WORKSPACES_DIR on loading of module (#17982)
              • use custom easyblock for Rust 1.65.0 (#18174) and Rust 1.70.0 (#18167)
              • update easyconfig for Nextflow 23.04.2 to use install_cmds (#18173)
              • add extra packages to recent R easyconfigs (#18029, #18063, #18122, #18195, #18245)
              • add extra packages to recent R-bundle-Bioconductor easyconfigs (#18196, #18246)
            • various bug fixes, including:
              • add patches to fix TensorFlow 2.7.1 on POWER (#16795)
              • fix patches + extensions in easyconfig for TensorFlow 2.8.4 w/ foss/2021b (#17058)
              • stick to FFmpeg 4.4.2 as dependency for SoX 14.4.2 (#17998)
              • add pkgconfig as build dependency for nodejs , required for finding ICU dependency (#18007)
              • fix exec permissions for all binaries & scripts of L_RNA_scaffolder 20190530 (#18030)
              • update SUNDIALS dependency for Cantera v2.6.0 to v6.5.1 + add missing dependencies (#18041)
              • fix --sanity-check-only for MAGeCK v0.5.9.4 (#18047)
              • enable building static libs and check for libexslt.* in libxslt (#18064)
              • add -pthread flag for dorado (#18072)
              • add missing patch files for Qt5 5.15.2 to fix build problems with glibc 2.34 (#18087)
              • add missing pkgconf build dependency for XML-LibXML v2.0208 (#18159)
              • update homepage for NWChem 7.x (#18184)
              • update homepage for SUNDIALS 5.x and 6.x (#18186)
              • add missing source_urls for SimpleITK (#18212)
              • use patch files for Qt5 v5.17.7 to fix compatiblity with glibc 2.34 (#18230)
              • fix incorrect version for GMAP-GSNAP 2021-12-17 (was 2021-21-17) (#18231)
              • fix CUDA build of recent TensorFlow easyconfigs when using compiler symlinks (#18235)
              • use patch to make ncbi-vdb 2.11.2 compatible with HDF5 1.12.2 (#18236)
              • update source_urls for Velvet 1.2.10 (#18237)
              • use upstream patch for symbol compatibility in XZ 5.2.5 (#18250)
              • update source url for pkgconf (#18271)
            • other changes:
              • stop running easyconfig unit tests with Python 2.7 (#18006)
              • fix toolchain for networkx-3.0 (foss/2022b -> gfbf/2022b) (#18061)
              • remove unused PyTorch patch (#18062)
              • allow multiple dependency variants of ncbi-vdb for SRA-TOolkit per easyconfigs generation, as long as versions match (#18098)
              • bump OpenSSL 1.1 wrapper fallback to 1.1.1u (#18188)
              • remove default separate_build_dir = True and build_type = 'Release' from double-conversion (#18222)
              • remove default separate_build_dir = True and CMAKE_BUILD_TYPE=Release from MariaDB (#18223)
              • remove incorrect '-Dgallium-drivers=swrast' configure option in ROOT easyconfigs (#18260)
              • change base compiler for intel/2023.03 to GCCcore/12.3.0 (required to use it as intel/2023a) (#18263)
            ","boost":0.5},{"location":"release-notes/#release_notes_eb472","title":"EasyBuild v4.7.2 (27 May 2023)","text":"

            bugfix/update release

            framework

            • various enhancements, including:
              • extend (experimental) support for generating container images with Apptainer (#3975)
              • add default download timeout (#4226)
              • make the RPATH section check with readelf -d in sanity check optional (#4249)
            • various bug fixes, including:
              • add make_extension_string and _make_extension_list methods to EasyBlock class, so easyblocks can customize them (#3697)
              • fix typo in condition guarding installation of GitHub token in CI workflow to run unit tests + fix broken tests related to GitHub integration features (#4216)
              • fix --check-github as gist url now includes username (#4231)
              • switch to Ubuntu 22.04 in GitHub Actions workflow to run container tests (#4238)
              • use \"/usr/bin/env python\" in test_run_cmd_script (#4241)
            • other changes:
              • print potential errors after running a command only once (#4065)
              • change github_* template descriptions to be somewhat clearer (#4251)
              • remove workflow to test bootstrap script (#4255)

            easyblocks

            • new generic easyblock for installing Rust crates with cargo: Cargo and CargoPythonPackage (#2902, #2934)
            • minor enhancements and updates, including:
              • let MATLAB easyblock raise an error if the MATLAB installation key is not provided (#2905)
              • print message to inform that GPU package (instead of Kokkos) is used for LAMMPS (#2906)
              • enhance PyTorch easyblock to use FlexiBLAS for PyTorch >= 1.11.0 (#2915)
            • various bug fixes, including:
              • use custom RPATH sanity check for Go packages that doesn't actually check for an RPATH section in the binary (#2913)
              • use string '0' to avoid problems when openssl version is not determined (#2914)
              • update GCC easyblock to ensure that --sysroot is passed to linker (but only when it needs to be) (#2921)
              • add output log to MATLAB installs, actually parse for common errors (#2924)
              • enhance Gurobi easyblock to allow using $EB_GUROBI_LICENSE_FILE environment variable (#2926)
              • force building torchvision with CUDA support if CUDA is included as dependency by setting $FORCE_CUDA (#2931)
              • fix exec permission on files in arch bindir for COMSOL (#2932)

            easyconfigs

            • added easyconfigs for intel/2023.03 (#17676)
            • added example easyconfig files for 89 new software packages:
              • AGeNT (#17864), anndata (#17677), Annocript (#17910), avro-cpp (#17527), batchgenerators (#17833), BoltzTraP2 (#17742), Braindecode (#17913), build (#17776), casacore (#15499), Casanovo (#17735, #17736), CASPR (#17606), CellChat (#17856), CellOracle (#17507), CLIP (#17782), CodingQuarry (#17682), ColabFold (#17751), CopyKAT (#17646), CPC2 (#17849), cppzmq (#17601), dask-labextension (#17882), DIALOGUE (#17696), DiCE-ML (#17591), ESPResSo (#17709), Evcxr-REPL (#17831), EZC3D (#17832), funannotate (#17588), FunGAP (#17652), GATB-Core (#17635), GenMap (#17746), GimmeMotifs (#17507), GLI (#17793), GOBNILP (#17639), h5netcdf (#17835), HD-BET (#17833), HTSplotter (#17369, #17586), ipympl (#17613), IsoSeq (#17791), KrakenUniq (#17569), LIANA (#17928), libWallModelledLES (#17480), LoRDEC (#17635), M3GNet (#17555), mandrake (#17394), mctc-lib (#16760), MOABB (#17913), MRPRESSO (#17925), ont-guppy (#17477, #17828), OptaDOS (#17777), PALEOMIX (#17912), PGPLOT (#15496), PICI-LIGGGHTS (#17710), pod5-file-format (#17776), powerlaw (#17647), pp-sketchlib (#17397), py3Dmol (#17752), pytesseract (#17898), pytest-cpp (#17966), pytest-flakefinder (#17966), Python-bundle (#17626), python-xxhash (#17844), PyTorch-bundle (#17540), qnorm (#17507), R-MXM (#17667), R-transport (#17642, #17968), Raven (#15833), ReaxFF (#17780), ripunzip (#17959), RPostgreSQL (#17739), rustworkx (#17857), Scalene (#16472), sceasy (#17677), SCIP (#17639), Simple-DFTD3 (#16760), SMAP (#17672), SoPlex (#17639), SoupX (#17851), spektral (#15551), synthcity (#17623), sysbench (#17643), tantan (#17681), thirdorder (#17703), TOPAS (#17553), Triplexator (#17866), tRNAscan-SE (#17680, #17800), turbinesFoam (#17917), unicore-uftp (#17665), vispr (#17606), WCSLIB (#15497), ZIMPL (#17639)
            • added additional easyconfigs for various supported software packages, including:
              • Abseil v20230125.2, AlphaFold v2.3.1 + v2.3.4, Arrow v11.0.0, arrow-R v11.0.0.3, astropy v5.2.2, awscli v2.11.21, Bismark v0.24.0, biom-format v2.1.14, Blender v3.5.0, Blosc2 v2.8.0, Bottleneck v1.3.7, breseq v0.38.1, bwa-meth v0.2.6, buildenv default for foss/2022b + CUDA 12.0.0, Cantera v2.6.0, CapnProto v0.10.3, CASTEP v22.11, Clang v15.0.5, CLHEP v2.4.6.4, CMake v3.26.3, CMSeq v1.0.4, coverage v7.2.3, CP2K v9.1 + v2022.1, CPLEX v22.1.1, CREST v2.11.2, cURL v8.0.1, CuPy v11.4.0, DBus v1.15.4, DBG2OLC v20200724, dlb v3.3.1, double-conversion v3.3.0, Doxygen v1.9.7, expat v2.5.0, FASTA v36.3.8i, FHI-aims v221103, fio v3.34, Fiona v1.9.2, Flask v2.2.3, fmt v10.0.0, freeglut v3.4.0, FUSE v3.14.1, GapFiller v2.1.2, GCC 12.3.0 + 13.1.0, GDCM v3.0.21, GitPython v3.1.31, Go v1.20.4, googletest v1.13.0, gpustat v1.1, Guile v3.0.9, Gurobi v10.0.1, Harminv v1.4.2, Highway v1.0.4, IgBlast v1.21.0, Imath v3.1.7, infercnvpy v0.4.2, IQ-TREE v2.2.2.3, jax v0.3.25, jupyterlmod v4.0.3, Kalign v3.3.5, L_RNA_scaffolder v20190530, libaio v0.3.113, libarchive v3.6.2, libctl v4.5.1, libdeflate v1.8, libgcrypt v1.10.1, libGridXC v1.1.0, libjpeg-turbo v2.1.5.1, libmaus2 v2.0.499, libopus v1.4, libpng v1.6.39, libPSML v1.1.12, libRmath v4.2.1, libsigc++ v3.4.0, LibTIFF v4.5.0, libunistring v1.1, libxc v6.1.0, libxml2 v2.11.4, libxslt v1.1.38, lifelines v0.27.4, lxml v4.9.2, make v4.4.1, MariaDB v10.11.2, Meep v1.26.0, MetaPhlAn v4.0.6, mold v1.11.0, MPB v1.11.1, muParser v2.3.4, NAG v7.1, NAGfor v7.1, nano v7.2, NASM v2.16.01, ncurses v6.4, netcdf4-python v1.6.3, networkx v2.8.8, NSS v3.89.1, numexpr v2.8.4, nvtop v3.0.1, OpenEXR v3.1.7, OpenMM v8.0.0, Pandoc v3.1.2, ParaView v5.11.0, PCRE2 v10.42, PhyloPhlAn v3.0.3, phyx v1.3, picard v3.0.0, Pint v0.20.1, pkgconf v1.9.5, PostgreSQL v15.2, PROJ v9.2.0, Proteinortho v6.2.3, protobuf v23.0, protobuf-python v4.23.0, pydantic v1.10.4, pyFFTW v0.13.1, PyGEOS v0.14, Pyomo v6.5.0, pyparsing v3.0.9, pyperf v2.6.0, pyproj v3.5.0, pytest v7.2.2, PYTHIA v8.309, Qtconsole v5.4.0, R-bundle-Bioconductor v3.16, R-tesseract v5.1.0, RE2 v2023-03-01, ReFrame v4.2.0, RepeatMasker v4.1.5, RevBayes v1.2.1, rgdal v1.6-6, rioxarray v0.14.0, rocm-smi v5.4.4, ROOT v6.26.10, Rtree v1.0.1, scib v1.1.3, scikit-build v0.17.2, Seaborn v0.12.2, SHAP v0.41.0, Shapely v2.0.1, ShengBTE v1.5.0, SLiM v4.0.1, snappy v1.1.10, spdlog v1.11.0, spglib v2.0.2, spglib-python v2.0.2, SQLite v3.42.0, Subread v2.0.4, Tcl v8.6.13, tcsh v6.24.05, torchtext v0.14.1, trimesh v3.21.5, UCC-CUDA v1.1.0, utf8proc v2.8.0, Vim v9.0.1434, vsc-mympirun v5.3.1, WRF v4.4.1, xmlf90 v1.5.6, xxHash v0.8.1, XZ v5.4.2, zsh v5.9, zstd v1.5.5
            • minor enhancements, including:
              • add local::lib extension to Perl 5.34.0 (#17679)
              • install shared libraries for tesseract (#17721)
              • add additional extensions to recent R easyconfigs: word2vec, tau, quanteda, ... (#17738)
              • add extensions to R-bundle-Bioconductor 3.15: deepSNV (#17852)
              • add extensions to R 4.2.x: dlm (#17640), PMA + unikn + ppcor (#17695), tvem (#17729), epitools (#17852)
            • various bug fixes, including:
              • add patch for UCC 1.1.0 for multiple component paths (#17255)
              • fix configure step for ELSI 2.5.0+ (#17288)
              • switch bamtofastq to Cargo easyblock (#17595)
              • add missing OpenJPEG dependency for recent GDAL versions (#17599)
              • fix CodAn bin/* executable permissions for all users #(#17607)
              • upgrade traitlets, ipywidgets, and widgetsnbextension + downgrade jupyterlab_widgets extensions in IPython v8.5.0 to fix known issues (#17612)
              • add patch for GPAW-22.8.0 with 2022a toolchain to make test tolerance a bit less strict (#17618)
              • add alternative checksum for MONAI 1.0.1 (#17628)
              • fix paths to Perl modules in MAKER v3.01.04 (#17629)
              • add missing dependencies and add patch for fix incorrect ids for BRAKER v2.1.6 (#17631)
              • explicitely disable mpi/python in Boost (intel-compilers/2021.4.0) (#17638)
              • remove LLVM build dependency from TensorFlow easyconfigs (#17641)
              • update easyconfig for Longshot 0.4.5 to use Cargo easyblock (#17666)
              • fix homepage in ELPA easyconfigs (due to switch to new domain) (#17697)
              • add patch for scipy 1.10.1 extension in SciPy-bundle 2023.02 to fix broken test (#17713)
              • use CUDA variant of OpenMM 7.5.1 as dependency for AlphaFold 2.3.0 (#17717)
              • exclude flaky test_optim for PyTorch 1.12.1 + make excluded tests for PyTorch 1.12.1 consistent (#17726, #17730, #17731, #17737)
              • add missing PCRE dependency for InterProScan 5.55-88.0 (#17762)
              • fix building Python bindings of DGL, requires static libs (#17764)
              • only use QEF gitlab source url for QuantumESPRESSO itself (#17766)
              • add egg file to OpenCV 4.6.0 python package for pip + pkgconfig file (#17779)
              • fix broken source URL for AOCC 4.0.0 (#17794)
              • specify source_urls inside exts_default_options in Seurat easyconfigs to ensure correct name expansion for the archived packages (#17830)
              • add Doxygen build dependency to X11 (#17842)
              • FLINT needs BLAS so move it up from GCC level (#17868)
              • fix broken tarball links for ispc 1.6, 1.10, and 1.12 easyconfigs (#17875)
              • add dependency on PycURL to easyconfig for JupyterHub 3.0.0 (#17887)
              • add historical repo paths to install command for old versions of texlive (#17893)
              • add missing FastTreeMP binary for FastTree (#17897)
              • add checksum for arm64 source tarball for Go 1.18.3 (#17903)
              • add patch to fix test_quantization in PyTorch 1.12.1 (#17908)
              • add make 4.3 as build dependency for recent OpenBLAS versions (#17924)
            • other changes:
              • bump versions in Java wrappers to latest builds that include ppc64le: Java/8.362, Java/11.0.8, Java/17.0.6 (#17775)
              • move Arb and polymake to gfbf/foss since FLINT is now at gfbf/foss (#17869)
            ","boost":0.5},{"location":"release-notes/#release_notes_eb471","title":"EasyBuild v4.7.1 (20 March 2023)","text":"

            bugfix/update release

            framework

            • various enhancements, including:

              • add option to make sanity_check_paths arch dependent (#3845)
              • add support for %(start_dir)s easyconfig template (#4073)
              • add Ubuntu friendly package naming scheme EasyBuildDebFriendlyPNS (#4115)
              • allow to directly import constants from easybuild.framework.easyconfig.constants (#4144)
              • accept single source as dict and single checksum in check_checksums_for (#4180)
              • add pre/post extension hook that is triggered before/after individual extension installations (#4193)
              • enforce absolute paths as start dir of extensions (#4196)
              • print warning when non-existing start_dir is specified for extension (#4201)
              • add support to silence deprecation warning for easyconfigs and toolchains (#4207)
              • skip directories when fixing shebangs (#4209)
              • add support for modunloadmsg easyconfig parameter (#4223)
            • various bug fixes, including:

              • fix use of locate in check_os_dependency (#4166)
              • add VERSION to easybuild.easyblocks namespace in test sandbox (#4171)
              • also apply filter to asyncprocess test subsuite (#4172)
              • don't use deprecated SafeConfigParser when running with Python 3.x (#4173)
              • update CI workflows to run apt-get update if installation of packages via apt-get install failed, likely due to stale apt cache (#4176)
              • fixes for findPythonDeps script (#4179)
              • check type of versionsuffix value in det_full_ec_version, and raise useful error message if it's not a string (#4184)
              • avoid GC3Pie deprecation warning (#4185)
              • correctly restore sys.path in tests (#4186)
              • suppress output of --skip-test-step test (#4187)
              • fix flaky test_search_file due to accidental matches for .*C++ search pattern (#4190)
              • silence distutils deprecation warnings (#4204)
              • improve handling of start_dir and add tests for cases where either ext_dir or initial start_dir or both are unset or None (#4206)
              • restore initial environment before processing each easystack item (#4213)
              • make test_help_long work on small terminals (#4218)
            • other changes:

              • use better test assertions by replacing use of assertFalse/assertTrue (#4170, #4205)
              • remove Travis CI configuration file (#4174)
              • filter out deprecation warnings for platform.dist in get_os_version and platform.linux_distribution in get_os_name (#4175)
              • only give read permissions in GitHub Actions workflows (#4182)
              • fix website/docs links in README (#4199)
              • only print \"default:\" for configuration option of strlist type if default is not empty (#4220)

            easyblocks

            • minor enhancements and updates, including:

              • fix TensorFlow easyblock for new versions of Bazel & TensorFlow (#2854)
              • make NAMD easyblock aware of (pre)testopts (#2856)
              • update MesonNinja easyblock for Meson >=0.64.0 (#2861)
              • update scipy easyblock for scipy >= 1.9.0 to use meson/ninja (#2862, #2903)
              • modify logic in QScintilla easyblock to find the PyQt5 sipdir in more places (#2868)
              • add testinstall custom easyconfig parameter to PythonPackage easyblock (#2872)
              • use -x option for \"go install\" in GoPackage generic easyblock, to print commands as they are executed (#2878)
              • allow disabling pybind11 tests with runtest = False (#2892)
              • call parent post_install_step in EasyBuildMeta easyblock (so postinstallcmds are taken into account) (#2893)
              • update and enhance Maple easyblock for recent versions (#2895)
              • relax glob pattern to find Mathematica install script (#2896)
              • implement CUDA support in the ELPA EasyBlock & fix $CPP configure issue on newer ELPA versions (#2898)
              • update Trilinos easyblock to allow disabling of building tests and forward deps + support Trilinos v13.x (#2900)
              • enhance Python easyblock to create non-versioned symlink for python-config + check for bin/python and bin/python-config in sanity check (#2904)
            • various bug fixes, including:

              • do not use -g77 option when installing NVHPC 22.9+ (#2819)
              • check that sanity_check_module_loaded attribute exists before querying it in PythonPackage easyblock (#2865)
              • fix $JULIA_DEPOT_PATH in installation of multiple JuliaPackage extensions (#2869)
              • fix checking of CUDA/ROCR-Runtime dependencies for Clang to determine default build targets (#2873)
              • show template values of exts_default_options in PythonBundle (#2874)
              • fix missing initialization of CMakeMake in CMakePythonPackage (#2876)
              • fix error when failing pip version check during PythonPackage sanity check (#2877)
              • handle templating correctly in CMakeMake when playing with configopts (#2882)
              • avoid crash in test step of PyTorch easyblock if runtest is not a command (#2883)
              • fix check configure option in FlexiBLAS easyblock (#2886)
              • use older ncgen -H for older netCDF (#2889)
              • fix linking numexpr with Intel MKL's VML library for imkl >= 2021.x (#2897)
            • other changes:

              • only give read permissions in GitHub Actions workflows (#2863)
              • use start dir of extension to install R packages (#2867)
              • fix website/docs links in README (#2870)
              • add deprecation notice to RPackage extensions with relative paths in start_dir (#2879)

            easyconfigs

            • added example easyconfig files for 99 new software packages:

              • astro-tulips (#17263), BA3-SNPS-autotune (#17248), BayesAss3-SNPs (#17247), Block (#27), CatLearn (#14940), CDFlib (#17133), Cellpose (#13703), CheckM-Database (#17462), chemprop (#17261), cimfomfa (#17268), conan (#17326), cooler (#17328), crossguid (#16207), cuSPARSELt (#17141), cython-blis (#17544), DBCSR (#17170), dclone (#17225), DensPart (#17473), Deprecated (#1248), DLPack (#17311), DMLC-Core (#17311), dorado (#17195), duplex-tools (#17497), eQuilibrator (#16812), fastai (#16985), fastjet (#17367), fastjet-contrib (#17377), ffnvcodec (#17271), finder (#1917), flowFDA (#17495), gbasis (#17473), genomepy (#17506), Giotto-Suite (#17207), GKeyll (#16044), GraphDB (#17280), graphviz-python (#17352), grid (#17473), GUSHR (#16905), Health-GPS (#17434), HepMC3 (#17341), HiCMatrix (#17330), Inferelator (#17223), iodata (#17473), irodsfs (#17486), jupyter-contrib-nbextensions (#17270), jupyterlab-lmod (#16563), jupyterlmod (#16563), kb-python (#17260), kineto (#17194), KMCP (#17267), krbalancing (#17325), Lace (#954), LASSO-Python (#17510), libemf (#16188), loomR (#14518), MAKER (#17345), methylartist (#17264), nanoflann (#17311), netMHCII (#9741), NEXUS-CL (#17350), nichenetr (#17524), Parallel-Hashmap (#17311), pdsh (#17139), Perseus (#17210), PfamScan (#17530), Phenoflow (#17495), PIRATE (#17275), PLAMS (#17473), plot1cell (#17498), pybinding (#17137), pyperf (#17063), pyslim (#17150), pytest-rerunfailures (#17295), pytest-shard (#17295), python-louvain (#17207), PyTorch-Ignite (#15491), PyVCF3 (#17519), R2jags (#17226), rapidcsv (#16211), rapidNJ (#17399), Rivet (#17380), rmarkdown (#17189), scArches (#17069), scHiCExplorer (#17334), scib (#17142), SeaView (#17385), silhouetteRank (#17207), siscone (#17342), smfishHmrf (#17207), sparse-neighbors-search (#17329), SpatialDE (#17207), sradownloader (#17188), stardist (#17215), Strainberry (#17522), toil (#17098), vConTACT2 (#17372), VirSorter2 (#17371), vitessce-python (#17472), vitessceR (#17525), YODA (#17343)
            • added additional easyconfigs for various supported software packages, including:

              • AlphaFold 2.3.0, Anaconda3 2022.10, angsd 0.940, archspec 0.2.0, Armadillo 11.4.3, AUGUSTUS 3.5.0, bcbio-gff 0.7.0, BCFtools 1.17, beagle-lib 4.0.0, Beast 2.7.3, BeautifulSoup 4.11.1, Biopython 1.81, BLAT 3.7, Blender 3.4.1, Blosc2 2.6.1, Boost 1.81.0, Bottleneck 1.3.6, BUSCO 5.4.5, bx-python 0.9.0, CatMAP 20220519, CellRanger 7.1.0, Cereal 1.3.2, CFITSIO 4.2.0, CheckM 1.2.2, code-server 4.9.1, configurable-http-proxy 4.5.3, csvkit 1.1.0, 4.8, CUDA 12.1.0, cuDNN 8.8.0.121, cwltool 3.1.20221008225030, Cython 0.29.33, DGL 0.9.1, DIAMOND 2.1.0, dill 0.3.6, DIRAC 23.0, dm-tree 0.1.8, dRep 3.4.2, eggnog-mapper 2.1.10, elfutils 0.189, ELPA 2022.05.001, epiScanpy 0.4.0, FabIO 0.14.0, FastQ_Screen 0.14.0, FFmpeg 5.1.2, FLAC 1.4.2, flatbuffers 23.1.4, FLINT 2.9.0, GDAL 2.4.4, GDAL 3.6.2, GDGraph 1.56, GEOS 3.11.1, GMAP-GSNAP 2023-02-17, gmsh 4.11.1, gnuplot 5.4.6, GOATOOLS 1.3.1, googletest 1.12.1, GPyTorch 1.9.1, Greenlet 2.0.2, GST-plugins-base 1.22.1, GStreamer 1.22.1, GTDB-Tk 2.1.1, h5py 3.8.0, HDBSCAN 0.8.29, HDF5 1.14.0, HiCExplorer 3.7.2, Highway 1.0.3, HTSlib 1.17, hypothesis 6.68.2, Hypre 2.27.0, igraph 0.10.3, IGV 2.16.0, IJulia 1.24.0, Imath 3.1.6, imbalanced-learn 0.10.1, imkl 2023.0.0, imkl-FFTW 2023.0.0, impi 2021.8.0, intel-compilers 2023.0.0, IRkernel 1.3.2, JAGS 4.3.1, jax 0.4.4, Julia 1.8.5, JupyterHub 3.0.0, jupyter-matlab-proxy 0.5.0, jupyter-resource-usage 0.6.3, jupyter-server-proxy 3.2.2, Kent_tools 442, leidenalg 0.9.1, LERC 4.0.0, libcerf 2.3, libgit2 1.5.0, libnsl 2.0.0, libsndfile 1.2.0, libtirpc 1.3.3, libxslt 1.1.37, Longshot 0.4.5, MAFFT 7.505, Maple 2022.1, MaSuRCA 4.1.0, Mathematica 13.1.0, MATIO 1.5.23, MATLAB 2022a + 2022a-r3 + 2022b, matplotlib 3.7.0, MaxQuant 2.2.0.0, MCL 22.282, MDAnalysis 2.4.2, Miniconda3 22.11.1, mm-common 1.0.5, MPFR 4.2.0, mpi4py 3.1.4, mpmath 1.2.1, msprime 1.2.0, MultiQC 1.14, mygene 3.2.2, nano 7.1, nanomax-analysis-utils 0.4.4, ncbi-vdb 3.0.2, NetLogo 6.2.2 + 6.3.0, nettle 3.8.1, networkx 3.0, Nextflow 22.10.6, nlohmann_json 3.11.2, numba 0.56.4, NVHPC 22.9 + 22.11 + 23.1, NVSHMEM 2.8.0, OpenMPI 4.1.5, Optuna 3.1.0, ORCA 5.0.4, PAML 4.10.5, panaroo 1.3.2, ParallelIO 2.5.10, parasail 2.6, Pillow 9.4.0, PIPITS 3.0, PLINK 2.00a3.7, plotly.py 5.12.0 + 5.13.1, PLUMED 2.8.1, poetry 1.2.2, polymake 4.8, preseq 3.2.0, presto 1.0.0-20230113, PROJ 9.1.1, protobuf 3.21.9, psycopg2 2.9.5, pybind11 2.10.3, PyCharm 2022.3.2, py-cpuinfo 9.0.0, pyFAI 0.21.3, pyfaidx 0.7.1, pyGenomeTracks 3.8, pygraphviz 1.10, pymca 5.7.6, Pysam 0.20.0, PySCF 2.1.1, PyTables 3.8.0, Python 3.11.2, python-parasail 1.3.3, PyZMQ 24.0.1, QCG-PilotJob 0.13.1, QIIME2 2022.11, QtPy 2.3.0, QUAST 5.2.0, R 4.2.2, Ray-project 2.2.0, RDKit 2022.09.4, Redis 7.0.8, redis-py 4.5.1, ReFrame 4.0.5, RepeatMasker 4.1.4, RepeatModeler 2.0.4, rjags 4-13, RMBlast 2.13.0, ROOT 6.22.08, Salmon 1.9.0, SAMtools 1.17, Scalasca 2.6.1, scikit-learn 1.2.1, SciPy-bundle 2023.02, SDL2 2.26.3, SeqKit 2.3.1, silx 1.0.0, snakemake 7.22.0, SNAP-HMM 20221022, SpaceRanger 2.0.1, SPAdes 3.15.5, spaln 2.4.13f, Spark 3.3.1, SRA-Toolkit 3.0.3, SSW 1.2.4, STAR 2.7.10b, STAR-CCM+ 18.02.008, SVG 2.87, TensorFlow-Datasets 4.8.3, Tkinter 3.10.8, tqdm 4.64.1, Trilinos 13.4.1, Trim_Galore 0.6.10, Trinity 2.15.1, TWL-NINJA 0.98-cluster_only, Unidecode 1.3.6, vsc-mympirun 5.3.0, VSEARCH 2.22.1, wget 1.21.3, wxWidgets 3.2.2.1, x264 20230226, Xerces-C++ 3.2.4, XlsxWriter 3.0.8, xtb 6.5.1, Xvfb 21.1.6
            • minor enhancements, including:

              • add additional extensions to R 4.2.1 (#17043, #17125, #17224, #17493, #17523)
              • add additional extensions to Bioconductor 3.15 (#17126, #17315, #17494)
              • add sanity check command to OpenMolcas v22.10 (#17128)
              • add Set::Object and Heap::Fibonacci extensions to Perl 5.32.1 (#17151)
              • add additional extensions to Python 3.10.8 (required for scipy test suite) (#17159)
              • enhance OpenFold 1.0.1 for standalone usage (#17206)
              • add SDL2 dependency for FFmpeg 5.0.1 to build ffplay (#17213)
              • set $JULIA_DEPOT_PATH and $JULIA_HISTORY in Julia easyconfigs (#17216)
              • add Devel::Size + Math::Utils extension to recent Perl easyconfigs (#17246, #17466)
              • combine errors of extension patch check into a single failure (#17286)
              • add case-insensitive name clash test (#17303)
              • add ffnvcodec build dependency to all recent FFmpeg easyconfigs (#17316)
              • use 'import deap.base' in sanity check for deap extension in SciPy-bundle 2022.05 (#17429)
              • add source URL to cuDNN 8.8 easyconfig (#17439)
              • add missing zstd dep to Boost (#17482)
            • various bug fixes, including:

              • fix postinstallcmds and clarify download instructions for netMHC + netMHCpan 4.0a (#9739, #9740)
              • fix OpenBLAS 0.3.15 patch to correctly set the CPU core type for Tiger Lake (#15845)
              • add alternative checksum for UCX 1.13.1 after source tarball was changed in-place (without actual code changes) (#17077)
              • fix build of TensorFlow 2.5+ on aarch64 (#17101)
              • explictely download qe-gipaw source tarball from qe-gipaw GitHub repository in QuantumESPRESSO 7.1 easyconfigs (#17129)
              • add patch for GCCcore 11.1.0 + 11.2.0 to fix AVX2 bug (#17135)
              • add patch to make ncbi-vdb 3.0.0 compatible with HDF5 1.12.2 (#17140)
              • fix source URL for p7zip v17.x (#17144)
              • add patches for Qt5 5.15.5 to fix compilation failures in abseil and breakpad with glibc 2.34 (#17165)
              • remove dependency on Pillow from scikit-bio v0.5.7 (#17178)
              • correctly specify path to libfabric installation prefix in PMIx 4.1.0 easyconfig (#17204)
              • use GCC as toolchain for serial variants of HDF5, since it has a FORTRAN API (#17221)
              • fix CMake print summary for long hostnames for NECI (#17230)
              • add missing pmix patch to OpenMPI 4.1.1 easyconfig used in iomkl/2021a and iomkl/2021b (#17240)
              • include required stereo_chemical_props.txt for OpenFold 1.0.1 (#17242)
              • add patch for PAPI 7.0.0 to fix compilation error (#17244)
              • also update $PERL5LIB for RepeatMasker v4.1.4 (#17245)
              • add alternative source_url for MariaDB > 10.4 (#17250)
              • remove use of rysnc in building Kent_tools (#17252)
              • add missing pkgconf build dependency in recent libxslt easyconfigs (#17254)
              • add psycopg2, PyYAML, and Cartopy dependencies to QGIS 3.28.1 (#17257)
              • fix postinstallcmds in shovill easyconfigs (#17279)
              • allow multiple easyconfigs with same name if they differ by CUDA version included in versionsuffix (#17289)
              • remove duplicate SlamDunk easyconfig using lowercase name (#17301)
              • use https in homepage + source URL for GenomeThreader 1.7.3 (#17338)
              • consistently use Check capitailisation (#17351)
              • add alternative checksum for spatial 7.3-14 extension in R 4.1.x easyconfigs (#17356)
              • fix homepage + source URL for ELPA (due to switch to new domain) (#17357)
              • fix homepage in ELPA easyconfigs (due to switch to new domain) (#17358)
              • rename libpsml for consistency with libPSML (#17359)
              • replace obsolete pycrypto with pycryptodome in Python 3.10.x easyconfigs (#17412)
              • update deap to version 1.3.3 in SciPy-bundle 2022.05 easyconfigs (since deap 1.3.1 is broken) (#17413)
              • add patch for Qt5 5.12.2 with GCCcore/11.2.0 to fix template bug (#17464)
              • replace src include path with installation dir for HDF5 (#17469, #17488)
              • disable Python support for OTF2 v2.2, since we're not including Python 2.x as dependency (#17499)
              • update homepage and source urls of DFT-D3 (#17528)
              • use Binary easyblock for ANIcalculator to prevent RPATH sanity check failures (#17536)
            • other changes:

              • fix invalid escape sequences in easyconfigs by using raw strings (r\"...\") (#11149)
              • add exception for ncbi-vdb 3.0.0 dependency variant (#17131)
              • use proper source tarball instead of cloning GitHub repository for wxWidgets v3.2.1 (#17167)
              • enable -fPIC in GEOS 3.11.1 (required by GDAL) (#17196)
              • fix website/docs links in README (#17232)
              • remove commented out line and delete unused patch for TALON (#17298)
              • re-enable disabled tests (#17304)
              • rename MAGMA to MAGMA-gene-analysis to avoid name collision (#17345)
              • Archive ARB and blasr patch files (#17346)
              • Archive BAMM, BamM, and GroopM to avoid BAMM/BamM name collision (#17348)
              • consistently use NanoFilt capitalisation (#17349)
              • rename ncl to NEXUS-CL to avoid case-insensitive name clash (#17350)
              • rename python graphviz to graphviz-python to avoid case-insensitive name clash (#17352)
              • archive charmm and CHARMM easyconfigs to avoid case-insensitive name clash (#17364)
            ","boost":0.5},{"location":"release-notes/#release_notes_eb470","title":"EasyBuild v4.7.0 (January 9th 2023)","text":"

            feature release

            framework

            • print deprecation warning with running EasyBuild with Python 2 (#4136)

            • various enhancements, including:

              • add support for checksums specified in external checksums.json file (#3749)
              • vendor distutils.version.LooseVersion as easybuild.tools.LooseVersion (since distutils is deprecated in Python 3.10) (#3794, #4156)
              • take into account custom configuration options specified in easystack file (#4057)
              • add support for using --output-format=md (MarkDown) (#4117, #4155)
              • add support for --filter-rpath-sanity-libs to skip RPATH sanity check for designated libraries (#4119)
              • add sanity_check_load_module method to EasyBlock to provide control over when module is loaded during sanity check step (#4125)
              • add eb_bash_completion_local.bash script to setup.py (#4127)
              • check whether nvidia-smi/rocm-smi command is available before trying to run it in get_gpu_info (#4131)
              • add gfbf as subtoolchain of foss (#4143)
              • add support for postinstallmsgs (#4145)
              • make iimkl toolchain aware of intel-compilers (#4146)
              • add definition for nvofbf toolchain (#4157, #4163)
            • various bug fixes, including:

              • also use EasyConfig instances cache in process_easyconfig when build_specs is empty dict (#4107)
              • fix build options that should have empty list as default value (#4108)
              • catch easyconfig parsing failure so we can generate and post a test report (#4109)
              • add explicit return when no checksums match those specified in a tuple (#4112)
              • tweak findPythonDeps.py script to use canonical package names (#4118)
              • add -fdefault-double-8 to r8 toolchain compiler option for GCC (to be consistent with Intel) (#4121)
              • always start with empty list for banned/requires libraries to avoid that corresponding build option is updated in-place (#4137)
              • fix container tests by using EPEL archive URL for downloading Singularity RPM (#4138)
              • use -march=x86-64 -mtune=generic instead of -xSSE2 when using Intel oneAPI compilers (#4147)
              • partially skip test_det_copy_ec_specs if no GitHub token is available (#4149)
            • other changes:

              • drop support for easystack files using 'software' top-level key (#4057)
              • also run unit tests with Python 3.11 + add Python 3.11 to classifiers in setup.py (#4092, #4141)
              • use new EasyBuild logo in README (#4123)
              • automatically cancel Github Action workflow runs for outdated commits (#4132)
              • auto-enable use of oneAPI C/C++ compilers for intel-compilers >= 2022.2.0 (#4135)
              • trim CI test configurations to avoid hitting GitHub rate limits (#4148)
              • various tweaks to docstrings and help messages to fix problems with auto-generated documentation in MarkDown format (#4129, #4130, #4154, #4160, #4162, #4168)
              • update copyright lines for 2023 (#4161)

            easyblocks

            • add generic easyblocks for installing (bundle of) Julia packages: JuliaPackage (#2816) and JuliaBundle (#2830)

            • minor enhancements and updates, including:

              • enhance TensorFlow easyblock to take into account provided OpenSSL dependency (#2575)
              • add fix_shebang to install_step of PythonPackage easyblock so that we can fix shebangs when installing extensions (#2680)
              • update PETSc easyblock for newer versions (>= 3.17) (#2796)
              • update Clang easyblock to add support for new directory structure in Clang versions >= 14 + support Flang (#2800)
              • update Xmipp easyblock since versions >= 3.20.07 use noAsk option to configure (#2809)
              • add include/opencv4 to $CPATH for OpenCV versions >= 4.0 (#2818)
              • add extra option for disabling LAPACK in ESMF (#2821)
              • enable building of static libraries for libxml2 >= 2.10 (#2825)
              • update Xmipp easyblock to handle effects of CUDA at SYSTEM level and newer CUDA version requirements for stdc++ (#2831)
              • update LLVM easyblock to put 'cmake' symlink in place so separate CMake modules required for LLVM 15+ can be found (#2832)
              • set $TEMPDIRPATH for testsuite in the BerkeleyGW easyblock, to avoid polluting /tmp (#2836)
              • add configure_no_prefix option to skip addition of prefix to configure command in ConfigureMake easyblock (#2842)
              • update qscintilla.py to be compatible with EB install of PyQt5 >= 5.15 (#2845)
              • add UCC to known_dependencies in OpenMPI EasyBlock (#2847)
              • update Clang-AOMP easyblock to handle version 5.2 and newer (#2851)
            • various bug fixes, including:

              • fix installing of Clang with RPATH linking (#2799)
              • fix --module-only for Clang + fix sanity check for Clang 11.x (#2800)
              • create $XDG_CACHE_HOME for PyTorch tests (#2806)
              • make PythonPackage easyblock compatible with --sanity-check-only by loading module early during sanity check step (#2828)
              • fix docstring of PythonBundle generic easyblock (#2833)
              • fix counting of failures in PyTorch tests (#2834, #2840)
              • make sure that ANSYS INSTALL script has execute permissions (#2852, #2853)
            • other changes:

              • remove useless -openmp build option for MRtrix v3.x (#2822)
              • update HDF5 easyblock to use --enable-threadsafe configure option to make C API thread safe (#2824)
              • use new EasyBuild logo in README (#2827)
              • automatically cancel Github Action workflow runs for outdated commits (#2835)
              • use fixed names for bazel/wrapper subdirectories used when building TensorFlow, to make debugging easier (#2841)
              • also run unit tests with Python 3.11 (#2844)
              • tweak docstring in some generic easyblocks so it renders nicely in auto-generated documentation (#2849)
              • update copyright lines for 2023 (#2850)

            easyconfigs

            • added easyconfigs for foss/2022b, intel/2022b common toolchains (#16961 and #16962)

              • see also https://docs.easybuild.io/en/latest/Common-toolchains.html
            • added easyconfigs for NVHPC-based toolchains nvompi/2022.07 and nvofbf/2022.07 (#16724)

            • added example easyconfig files for 107 new software packages:

              • Alfred (#16780), attrdict3 (#16856), bamFilters (#16735), bcl-convert (#16351), Beagle (#346), Boost.MPI (#15757), captum (#16477), CAT-BAT (#16577, #16634), cdo-bindings (#16669), Chemaxon-Marvin (#13954), CliMetLab (#16842), CloudCompare (#16944), cmocean (#16659), COBRApy (#16616), CodAn (#16902), CoSymLib (#17049), CPPE (#16749), cryoCARE (#16534), CTPL (#16498), CUDA-Samples (#16914), cwltool (#16503), Cytoscape (#16682), DeepLabCut (#16391), DeepMod2 (#17008), Dice (#16752), dlb (#16845), DRAGMAP (#16532), ecBuild (#16842), EGTtools (#16704), ESM-2 (#16528), flair-NLP (#15588), FMS (#16965), Godon (#16574), gsw (#16643), HighFive (#16737), humann (#16853), HyperQueue (#16753), IJulia (#16494, #16665), infercnvpy (#16712), InParanoid (#16572), jupyter-server (#14844), KaHIP (#16861), KITE (#16550), lagrangian-filtering (#16654), LHAPDF (#17028), librttopo (#16856), libwpe (#16088), Magics (#16842), matlab-proxy (#14270), mcu (#16566), MEMOTE (#16772), memtester (#16763), meson-python (#16911), minizip (#16856), MITgcmutils (#16623), MONAI (#16519), MOOSE (#13824), mstore (#16892, #17029), MultilevelEstimators (#15630, #16665), n2v (#16535), NanoLyse (#16575), napari (#16468), NECI (#16751), nf-core-mag (#16613), oceanspy (#16640), olego (#16909), OmegaFold (#16698), OVITO (#16811), Panedr (#16564), Parcels (#16838), polars (#16989), PsiCLASS (#16906), pyccel (#16823), PyCheMPS2 (#16710), PyDamage (#16576), PyImageJ (#16757), pysteps (#16783), python-libsbml (#16610), python-telegram-bot (#16442), pyWannier90 (#16447), resolos (#16649), RLCard (#16695), SAP (#5200), scikit-misc (#16457), scvi-tools (#16457), SELFIES (#17032), SeuratDisk (#16951), sfftk (#16466), simint (#16886), SISSO++ (#15759), slamdunk (#15197), spaCy (#17027), Sphinx-RTD-Theme (#16736), SPOOLES (#16756), Squidpy (#16880), svist4get (#16505), task-spooler (#17048), TBA (#16497), TensorFlow-Datasets (#16421), TFEA (#16476), TinyXML (#16992), tokenizers (#15587), torchsampler (#16464), trimesh (#16858), UCX-ROCm (#17033), wpebackend-fdo (#16093), xmitgcm (#16637)
            • added additional easyconfigs for various supported software packages, including:

              • Albumentations 1.3.0, ANSYS 2022R2, AOCC 4.0.0, archspec 0.1.4, ArviZ 0.12.1, ASAP 2.1, astropy 5.1.1, basemap 1.3.6, BBMap 39.01, BEDOPS 2.4.41, Blender 3.3.1, Blosc 1.21.3, Blosc2 2.4.3, bokeh 2.4.3, Bonnie++ 2.00a, boto3 1.26.37, BRAKER 2.1.6, CDO 2.1.1, cdsapi 0.5.1, CharLS 2.4.1, CheMPS2 1.8.12, CMake 3.24.3, CubeGUI 4.8, CubeLib 4.8, CubeWriter 4.8, CUDA 11.8.0 + 12.0.0, cuDNN 8.6.0.163 + 8.7.0.84, cURL 7.86.0, cutadapt 4.2, cuTENSOR 1.6.1.5, dask 2022.10.0, DAS_Tool 1.1.3, DBus 1.15.2, dcm2niix 1.0.20220720, DCMTK 3.6.7, deepdiff 5.8.1, dm-reverb 0.7.0, double-conversion 3.2.1, Doxygen 1.9.5, ecCodes 2.27.0, exiv2 0.27.5, Fiji 2.9.0, Filtlong 0.2.1, FLANN 1.9.1, FlexiBLAS 3.2.1, fontconfig 2.14.1, FreeXL 1.0.6, g2clib 1.7.0, GATK 4.3.0.0, GD 2.75, GDCM 3.0.20, Gdk-Pixbuf 2.42.10, GeneMark-ET 4.71, gensim 4.2.0, geopandas 0.12.2, gettext 0.21.1, gh 2.20.2, Ghostscript 10.0.0, git 2.38.1, GLib 2.75.0, GlobalArrays 5.8.2, GnuTLS 3.7.8, GObject-Introspection 1.74.0, GRASS 8.2.0, GTK3 3.24.35, HarfBuzz 5.3.1, HTSeq 2.0.2, hwloc 2.8.0, Hyperopt 0.2.7, ICU 72.1, imagecodecs 2022.9.26, imageio 2.22.2, ImageMagick 7.1.0-53, imbalanced-learn 0.9.0, JasPer 4.0.0, jax 0.3.23, JupyterLab 3.5.0, Leptonica 1.83.0, libavif 0.11.1, libdap 3.20.11, libdeflate 1.15, libdrm 2.4.114, libfabric 1.16.1, libffi 3.4.4, libglvnd 1.6.0, libgpg-error 1.46, libidn 1.41, libjpeg-turbo 2.1.4, LibLZF 3.6, libpciaccess 0.17, libpng 1.6.38, librsvg 2.55.1, LibSoup 3.0.8, libspatialindex 1.9.3, libspatialite 5.0.1, libtasn1 4.19.0, LibTIFF 4.4.0, libxml2 2.10.3, libxml2-python 2.9.13, line_profiler 4.0.0, LittleCMS 2.14, LLVM 15.0.5, lz4 1.9.4, makedepend 1.0.7, Mako 1.2.4, MATLAB-Engine 2021b, Mesa 22.2.4, Meson 0.64.0, MIGRATE-N 5.0.4, Miniconda3 4.12.0, mold 1.7.1, Molden 7.1, MotionCor2 1.5.0, MoviePy 1.0.3, MRChem 1.1.1, MRCPP 1.4.1, nano 7.0, NanoFilt 2.8.0, nanoget 1.18.1, nanomath 1.2.1, ncbi-vdb 3.0.0, NCCL 2.16.2, NCCL-tests 2.13.6, NCO 5.1.3, nglview 3.0.3, NiBabel 4.0.2, Ninja 1.11.1, nodejs 18.12.1, NSPR 4.35, NSS 3.85, NVHPC 22.7, NVSHMEM 2.7.0, Octave 7.1.0, OPARI2 2.0.7, OpenFOAM 10, OpenFold 1.0.1, OpenImageIO 2.3.17.0, OpenMolcas 22.10, openpyxl 3.0.10, openslide-python 1.2.0, OpenStackClient 6.0.0, OSU-Micro-Benchmarks 6.2, OTF2 3.0.2, Pango 1.50.12, PAPI 7.0.0, pauvre 0.2.3, PETSc 3.17.4, phonopy 2.16.3, pigz 2.7, Pillow 9.2.0, Pint 0.19.2, pixman 0.42.2, PMIx 4.2.2, poppler 22.12.0, psutil 5.9.3, pybedtools 0.9.0, PyBerny 0.6.3, pydantic 1.10.2, pydicom 2.3.0, pyproj 3.4.0, PyQt5 5.15.5, pytest 7.1.3, Python 3.10.8, python-isal 1.1.0, PyTorch 1.12.1, PyTorch-Geometric 2.1.0, PyTorch-Lightning 1.8.4, QCA 2.3.5, QGIS 3.28.1, QIIME2 2022.8, QScintilla 2.11.6, Qt5 5.15.7, Qtconsole 5.3.2, QtKeychain 0.13.2, QtPy 2.2.1, rasterio 1.3.4, re2c 3.0, ReFrame 3.12.0, RStudio-Server 2022.07.2+576, Ruby 3.0.5, Rust 1.65.0, SAP 1.1.3, scanpy 1.9.1, scikit-image 0.19.3, SCons 4.4.0, Score-P 8.0, Seaborn 0.12.1, SentencePiece 0.1.97, Seurat 4.3.0, SignalP 6.0g, SimPEG 0.18.1, SLEPc 3.17.2, SNAP 2.0.1, SpaceRanger 2.0.0, SQLite 3.39.4, STAR-CCM+ 17.06.007, SuperLU_DIST 8.1.0, tensorboardX 2.5.1, TensorFlow 2.8.4, tensorflow-probability 0.16.0, tesseract 5.3.0, texinfo 6.8, TM-align 20190822, tmux 3.3a, TOBIAS 0.14.0, TOML-Fortran 0.3.1, Transformers 4.24.0, typing-extensions 4.4.0, UCC 1.1.0, UCX-CUDA 1.13.1, util-linux 2.38.1, Valgrind 3.20.0, Vim 9.0.0950, VTK 9.2.2, wandb 0.13.6, WebKitGTK+ 2.37.1, WPS 4.4, WRF 4.4, wxPython 4.2.0, wxWidgets 3.2.0, X11 20221110, xarray 2022.9.0, XCFun 2.1.1, XGBoost 1.7.2, Xmipp 3.22.07, XZ 5.2.7, yaml-cpp 0.7.0, zarr 2.13.3, zlib-ng 2.0.6
            • minor enhancements, including:

              • enable building of dev tools in recent PyQt5 easyconfigs (#16469)
              • add extensions to R v4.2.1: LMERConvenienceFunctions (#16512), HGNChelper 4.2.1 (#16744)
              • add extensions to R-bundle-Bioconductor 3.15: SPOTlight (#16569), HiCcompare (#16581), ROntoTools (#16636), scDblFinder (#16686), numbat (#16777), HiCBricks (#16913), zellkonverter (#16952)
              • add libmad dependency to SoX v14.4.2 (#16758)
              • also install subtree support in recent git easyconfigs (#16784, #16785)
              • add extensions to ESM-2 to enhance it for esmfold (#16841)
              • add libwebp dependency to Pillow-SIMD 9.2.0 to add webp support (#16844)
              • add KaHIP dependency to OpenFOAM v2206 (#16974)
              • enable dataset support for recent versions of Arrow (#16956)
            • various bug fixes, including:

              • define $JUPYTER_PATH via modextrapaths rather than modextravars for IRkernel 1.x (#15776)
              • add patches to fix PyTorch 1.10.0 build on POWER (#15904)
              • fix installation of Python 2.7.18 with GCCcore/11.2.0 (was broken due to 0.0.0 version for some extensions) (#16485)
              • add patch for M4 1.4.18 to fix glibc v2.34 SIGSTKSZ compatibility (#16486)
              • add patch for pybind11 2.6.0 to fix failing test due to extra whitespace (#16487)
              • work around installation problem for extensions in Python 2.7.16 easyconfig due to missing build-backend spec in pyproject.toml (#16490)
              • fix libsanitzer for glibc 2.36 to build GCCcore 10.x and 11.x (#16502)
              • add OpenBLAS patches to disable FMA in [cz]cal and fix crash in zdot (#16510)
              • add missing Perl build dependency GStreamer + add patch to skip trying to make files suid (#16516)
              • build nodejs with OpenSSL and ICU provided as proper dependencies (#16529)
              • also define $JUPYTER_CONFIG_PATH in IPython and JupyterLab easyconfigs (#16556)
              • define $GTKDOCIZE as 'echo' before generating configure script for recent HarfBuzz versions (#16570)
              • disable use of -Werror in recent NSS easyconfigs (#16571)
              • use 'cpan.metacpan.org' rather than 'www.cpan.org' in extension source_urls for recent Perl easyconfigs (#16611)
              • avoid that zlib + htslib are downloaded and built during installation of MetaBAT (#16624)
              • add patch to fix installation of MetaBAT 2.15 on non-x86_64 systems (#16633)
              • add missing pyWannier90 dependency for mcu + enhance sanity check (#16667)
              • fix source_urls for colossalai 0.1.8 (no longer available via PyPI, only via GitHub repo) (#16693)
              • add patches to fix or skip PyTorch 1.12.1 tests (#16793)
              • fix checksum for cell2location 0.05-alpha and add missing build dependency on flex (#16819)
              • upgrade dependency on libdeflate to common v1.8 in fastp and vt easyconfigs using GCC(core)/10.3.0 (#16839)
              • fix checksum for dlllogger extension in OpenFold v1.0.0 (#16694)
              • make sure that Python dependency is actually used for VTK 9.0.1 (#16741)
              • fix homepage for pocl v1.8 (#16857)
              • fix source_urls in MUMPS easyconfigs (#16931, #16932)
              • fix installation of Bowtie2 v2.4.4+ on non-x86_64 systems (#16946)
              • add missing OpenSSL dependency to DCMTK 3.6.7 (#16979)
              • fix source URL for PCRE2 (#16987)
              • add pkgconf dependency for ICU and add patch to avoid trouble with long path names for nodejs-16.15.1/GCCcore-11.3.0 (#16990)
              • add patch for libwpe 1.13.3 to avoid build issues on CentOS 7 (#17001)
              • add missing zlib and zstd to GnuTLS (#17013)
              • add missing pkgconf build dependency to Transformers v4.24.0 (#17020)
              • fix checksums for xxx-rocm-4.5.0.tar.gz source tarballs for Clang-AOMP 4.5.0 (#17042)
              • replace useless test step for simint 0.7 with (lightweight) sanity check command (#17044)
            • other changes:

              • only give read permissions in GitHub Actions workflows (#16263)
              • remove ExomeDepth from recent R-bundle-Bioconductor easyconfigs (#16492)
              • include tqdm as extension in the idemux bundle to avoid multivariant deps on GCCcore-10.2.0 (#16578)
              • use new EasyBuild logo in README (#16641)
              • rename hyperopt to Hyperopt, to be consistent with existing Hyperopt easyconfigs (#16697)
              • automatically cancel Github Action workflow runs for outdated commits (#16754)
              • use geo moduleclass for SimPEG 0.14.1 (#16847)
            ","boost":0.5},{"location":"release-notes/#release_notes_eb462","title":"EasyBuild v4.6.2 (October 21st 2022)","text":"

            bugfix/update release

            framework

            • various enhancements, including:
              • add support for easystack file that contains easyconfig filenames + implement parsing of configuration options (#4021)
              • skip over unset $EB_PYTHON/$EB_INSTALLPYTHON in eb wrapper script (#4080)
              • add GITHUB_RELEASE and GITHUB_LOWER_RELEASE templates (#4084)
              • add %(cuda_cc_cmake)s template (#4087)
            • various bug fixes, including:
              • make check_sha256_checksums verify all checksums if they're specified as a dict value (#4076)
              • replace use of symlink with copied files in alt_location tests to fix failing EasyBuild installation on BeeGFS (#4083)
              • fix trying to generate RPATH wrappers for Clang (#4088)
              • make sure that GitPython version is a proper version before checking minimal required version (#4090, #4091)
              • first look for patch in alt_location when it is specified (#4093)
            • other changes:
              • make scripts executable (#4081)
              • make --inject-checksums inject dictionary value for checksums which maps filename to SHA256 checksum (#4085)
              • update to v3 of actions/checkout and actions/setup-python in CI workflows (#4089)
              • use SYSTEM template constant in dependencies instead of True in framework tests (#4094)

            easyblocks

            • 2 new software-specific easyblock:
              • CUDA compatibility libraries (#2764) and mamba (#2808)
            • minor enhancements and updates, including:
              • update OpenFOAM easyblock to support OpenFOAM 10 + clean up variant/version checks (#2766)
              • added support for ESMPy in ESMF (#2789)
              • enhance OpenBLAS easyblock to support running LAPACK test suite + checking how many tests fail (#2801)
              • make numexpr easyblock aware of toolchain with GCC + imkl (#2810)
              • add sanity check commands for netCDF (#2811)
            • various bug fixes, including:
              • handle problems copying symlink that points to CUDA folder that is not created for non CUDA builds of SuiteSparse (#2790)
              • don't install docs (to avoid trouble with Java) + add Rocky support for ABAQUS (#2792)
              • correctly count the number of failing tests (not failing test suites) in PyTorch builds (#2794, #2803)
              • fix docstring for PyTorch easyblock (#2795)
              • handle iterative builds with MakeCp easyblock (#2798)
              • accept both None and empty value for optarch to let OpenCV detect host CPU (#2804)
              • enhance EasyBuildMeta easyblock: auto-enable installing with pip + fix setup.py of easyconfigs package so installation with setuptools >= 61.0 works (#2805)
              • use python -m pip instead of pip in PythonPackage easyblock (#2807)
            • other changes:
              • make the test output from PythonPackage less verbose by disabling default search for error patterns done by run_cmd (#2797)

            easyconfigs

            • add easyconfig for intel/2022.09 toolchain (#16435)
            • added example easyconfig files for 25 new software packages:
              • AGAT (#16261), AMAPVox (#16438), Avogadro2 (#16257), buildingspy (#16308), CDBtools (#16436), Compress-Raw-Zlib (#16307), CUDAcompat (#15892), CWIPI (#16342), enchant-2 (#16082, #16319), f90wrap (#16346), Imath (#16276), Mamba (#16432), Miller (#16221), nghttp2 (#16096), ngtcp2 (#16098), NVSHMEM (#16254), pairsnp (#16331), paladin (#16320), PyMOL (#16394), python-irodsclient (#16328), ruffus (#16428), TELEMAC-MASCARET (#16274), torchdata (#16344), Waylandpp (#16092), x13as (#16163)
            • added additional easyconfigs for various supported software packages, including:
              • Amber 22.0, AMS 2022.102, ASE 3.22.1, atools 1.5.1, Beast 2.6.7, biogeme 3.2.10, Boost.Python 1.79.0, ccache 4.6.3, dbus-glib 0.112, Delly 1.1.5, ESMF 8.3.0, expat 2.4.9, FDS 6.7.9, file 5.43, FLTK 1.3.8, FTGL 2.4.0, gc 8.2.2, GitPython 3.1.27, Go 1.18.3, GPAW 22.8.0, Guile 3.0.8, htop 3.2.1, hunspell 1.7.1, IPython 8.5.0, jq 1.6, Julia 1.8.2, LDC 1.30.0, libcint 5.1.6, libconfig 1.7.3, libreadline 8.2, LibSoup 3.0.7, LIBSVM 3.30, libwebp 1.2.4, likwid 5.2.2, MariaDB 10.9.3, matplotlib 3.5.2, ncdu 1.17, netcdf4-python 1.6.1, Nextflow 22.10.0, NFFT 3.5.3, Nipype 1.8.5, numactl 2.0.16, onedrive 2.4.21, OpenCV 4.6.0, OpenEXR 3.1.5, OpenJPEG 2.5.0, OpenMM 7.7.0, OpenPGM 5.2.122, OpenSSL 1.1.1q, Perl 5.36.0, Pillow-SIMD 9.2.0, pkgconf 1.9.3, PostgreSQL 14.4, PyCharm 2022.2.2, PyTorch 1.12.0, PyTorch 1.12.0, PyTorch-Lightning 1.7.7, RDFlib 6.2.0, SAMtools 1.16.1, scikit-learn 1.1.2, Score-P 7.1, SDL2 2.0.22, spaln 2.4.12, spglib-python 2.0.0, SuiteSparse 5.13.0, SUNDIALS 6.3.0, sympy 1.11.1, tensorboard 2.10.0, torchvision 0.13.1, TRIQS 3.1.1, TRIQS-cthyb 3.1.0, TRIQS-dft_tools 3.1.0, TRIQS-tprf 3.1.1, TRUST4 1.0.7, TurboVNC 3.0.1, typing-extensions 4.3.0, UCX 1.13.1, umap-learn 0.5.3, VEP 107, VMD 1.9.4a57, Wayland 1.21.0, wxWidgets 3.2.1, xprop 1.2.5
            • minor enhancements, including:
              • configure recent pocl versions with -DLLC_HOST_CPU=native to avoid CPU auto-detection (#16246)
              • add multi-dep exception to easyconfigs test suite for ncbi-vdb-3.0.0 which requires HDF5 1.10.x (#16316)
              • enable running of LAPACK tests for recent OpenBLAS easyconfigs + add patch to fix failing LAPACK tests due to use of -ftree-vectorize (#16406)
              • add GITHUB_(LOWER_)RELEASE to known constants in setup.cfg (#16422)
              • add AMAPVox extension to R v4.2.1 (#16439)
              • add OpenEXR dependency to POV-Ray 3.7.0.10 (#16408)
            • various bug fixes, including:
              • add patch for OpenBLAS 0.3.7-0.3.12 to fix miscomputation on POWER (#16199)
              • skip flaky test in PyTorch 1.9.0 (#16258)
              • add --with-versioned-syms to ncurses 6.2 and 6.3 (#16270)
              • add missing pkg-config build dependency to Guile (#16317)
              • add patches to fix incompatibilites between ASE and other packages in 2022a toolchain (#16332)
              • add patches to fix PyTorch 1.11 on POWER (#16339)
              • add patches for Ambertools 21 to Amber 20.11 to work with updated Amber easyblock (#16343)
              • use Intel MPI from EasyBuild toolchain in AMS (#16363)
              • fix execution permissions for bin/ngm* for NextGenMap v0.5.5 (#16383)
              • fix using provided Qhull and freetype dependencies for matplotlib 3.5.2 by creating mplsetup.cfg rather than setup.cfg (#16396)
              • fix GitHub download link in for libpsl 0.21.1 (#16397)
              • stick to http in source URL for stride.tar.gz in VMD 1.9.4a51 easyconfigs due to problems with SSL certificate (#16403)
              • add patch to detect available cores and remove unneeded deps for Unicycler 0.5.0 (#16407)
              • add missing ICU + libunistring dependencies for libpsl 0.21.1 w/ GCCcore/10.3.0 (#16410)
              • add patch to GCC 11.x + 12.x to fix vectorizer bug (#16411)
              • fix checksum for GULP 6.1 (#16423)
              • add bzip2 and libxml2 as dependencies for netCDF 4.9.0 (#16450)
            • other changes:
              • drop Java dep from ABAQUS 2022 (#16314)
              • deprecate use of True in favour of SYSTEM for system-toolchain dependencies in easyconfigs using a recent toolchain version (>2019b) (#16384)
              • update easyconfigs to use SYSTEM template constant instead of True in dependencies (#16386, #16418)
              • update libxml2 + libxslt easyconfigs to use gnome.org source URL (#16429)
            ","boost":0.5},{"location":"release-notes/#release_notes_eb461","title":"EasyBuild v4.6.1 (September 12th 2022)","text":"

            bugfix/update release

            framework

            • various enhancements, including:
              • add script to find dependencies of Python packages (#3839)
              • add ai default module class (#4053)
            • various bug fixes, including:
              • fix code style issues reported by recent flake8 linter (#4049)
              • stick to autopep8 < 1.7.0 with Python 2.7 (#4055)
              • ensure we call EasyBlock.patch_step for postinstallpatches (#4063)
              • fix leaked handles in set_columns, complete_cmd, run_cmd_qa, det_terminal_size functions + tests (#4066)
              • fix quote_str when string with both ' and \" ends with a double quote (#4068)
              • fix type-checking of patches to allow dict values + correctly handle patches specified as dict values in --new-pr (#4070)
              • relax toolchain test by accepting both -march=native (x86_64) and -mcpu=native (aarch64) (#4071)
            • other changes:
              • run python in the same process as eb wrapper script by using exec (#4048)
              • add get_linked_libs_raw function, and use it from both check_linked_shared_libs and sanity_check_rpath (#4051)
              • update CI workflows (except container tests) to use Ubuntu 20.04, since Ubuntu 18.04 is deprecated (#4064)
              • use SYSTEM constant for dependency that uses system toolchain in dumped easyconfig (#4069)

            easyblocks

            • minor enhancements and updates, including:
              • update LAMMPS easyblock for LAMMPS/23Jun22 (#2213)
              • reduce the number of command line options for cmake command in CMakeMake generic easyblock (#2514)
              • update libQGLViewer easyblock to take into account changes in the shared library names depending on Qt versions they are compiled with (#2730)
              • improve PLUMED detection in GROMACS easyblock (#2749)
              • make $LD_LIBRARY_PATH detection more robust for LAMMPS (#2765)
              • enhance NVHPC easyblock to avoid superfluous warning (#2767)
              • enhance PyTorch easyblock to also capture tests failing with signal (#2768)
              • enhance PythonPackage easyblock to make sure all test command output makes it to the EasyBuild log, also when return_output_ec=True (#2770)
              • set $NVHPC_CUDA_HOME for NVHPC 22.7+ (#2776)
            • various bug fixes, including:
              • make Amber easyblock aware of FlexiBLAS (#2720)
              • update PyTorch easyblock to configure without breakpad support on POWER (#2763)
              • use lib* in post_install step of FFTW.MPI easyblock to fix paths not being found on Linux distros favouring lib64 (like Suse/SLES) (#2771)
              • use det_cmake_version function to determine CMake version in CMakeMake generic easyblock (#2772)
              • don't enable building of ld.gold when installing binutils on a RISC-V system + don't configure GCC to use gold as default linker on a RISC-V system (#2780)
              • tweak Amber(Tools) easyblock to run tests from top-level directory (#2781)
              • fix version check for NVPTX library in sanity check of Clang easyblock (#2783)
            • other changes:
              • update CI workflows to use Ubuntu 20.04 (since Ubuntu 18.04 is deprecated) (#2779)

            easyconfigs

            • added example easyconfig files for 37 new software packages:
              • AptaSUITE (#8583), BigDFT (#15860), colossalai (#15971), CrystFEL (#8407), Dakota (#15883, #16210), FastFold (#15972), fastparquet (#15020), FOX-Toolkit (#15986), GLM-AED (#15879), hiredis (#16071), how_are_we_stranded_here (#16220, #16227), indicators (#16209), JavaFX (#8583), json-fortran (#15979), jupyter-resource-usage (#15834), libev (#16086), libmad (#16067), libplinkio (#13040), LuaJIT2-OpenResty (#16047), MetaMorpheus (#15825), mgltools (#16226), miniasm (#15858), muMerge (#16115), nano (#16198), nghttp3 (#16097), olaFlow (#16021), OpenFAST (#15983, #15983), OpenFold (#15971), Phantompeakqualtools (#15871), pyGenomeTracks (#16143), QuickPIC (#15978), RheoTool (#16077), Satsuma2 (#16068), SMC++ (#16017), stripy (#15866), UCC-CUDA (#15956), VESTA (#16217)
            • added additional easyconfigs for various supported software packages, including:
              • alevin-fry 0.6.0, AmberTools 22.3, arrow-R 8.0.0, ASE 3.22.1, BBMap 38.98, BCFtools 1.15.1, binutils 2.39, BLAST+ 2.13.0, Bowtie2 2.4.5, BUSCO 5.4.3, CapnProto 0.10.2, Cartopy 0.20.3, ccache 4.6.1, cclib 1.7.2, CDO 2.0.5, CellRanger-ATAC 2.1.0, CoordgenLibs 3.0.1, cURL 7.84.0, cuTENSOR 1.6.0.3, einops 0.4.1, Elk 8.5.2, Emacs 28.1, Embree 3.13.4, FFmpeg 4.4.2 + 5.0.1, fio 3.32, Flask 2.2.2, Flye 2.9.1, fmt 9.1.0, FORD 6.1.15, FreeSurfer 7.3.2, GATE 9.2, GATK 4.2.6.1, GCC(core) 12.2.0, GDB 12.1, Geant4 11.0.2, GetOrganelle 1.7.6.1, gifsicle 1.93, GLFW 3.3.8, glib-networking 2.72.1, Globus-CLI 3.6.0, gnuplot 5.4.4, gperftools 2.10, Graphviz 5.0.0, Gurobi 9.5.2, HDF5 1.12.2, HTSlib 1.15.1, Hypre 2.25.0, Jansson 2.14, jax 0.3.14, Kalign 3.3.2, kim-api 2.3.0, LAMMPS 23Jun2022, libcerf 2.1, libdwarf 0.4.1, Libint 2.7.2, libQGLViewer 2.8.0, LibSoup 2.74.0, libzip 1.9.2, Lua 5.4.4, lxml 4.9.1, maeparser 1.3.0, matplotlib 3.5.2, MATSim 14.0, MDAnalysis 2.2.0, medaka 1.6.0, Megalodon 2.5.0, Mercurial 6.2, MetaEuk 6, Mini-XML-3.3.1, MUMmer 4.0.0rc1, MUMPS 5.5.1, netCDF-Fortran 4.6.0, NGSpeciesID 0.1.2.1, ont-remora 1.0.0, OpenFOAM v2206, OTF2 3.0, parallel 20220722, ParaView 5.10.1, patchelf 0.15.0, Perl 5.36.0, pftoolsV3 3.2.12, PLINK 2.00a3.6, pretty-yaml 21.10.1, PRSice 2.3.5, pugixml 1.12.1, Pyomo 6.4.2, PyOpenCL 2021.2.13, Pysam 0.19.1, PyStan 3.5.0, PyYAML 6.0, RDKit 2022.03.5, scikit-bio 0.5.7, scikit-build 0.15.0, scikit-learn 1.1.2, scikit-optimize 0.9.0, SCOTCH 7.0.1, SIONlib 1.7.7, SISSO 3.1, spglib-python 2.0.0, Stacks 2.62, Stata 17, SUMO 1.14.1, tbb 2021.5.0, tqdm 4.64.0, Transformers 4.21.1, Trycycler 0.5.3, Unicycler 0.5.0, Valgrind 3.19.0, ViennaRNA 2.5.1, VTune 2022.3.0.eb, wxPython 4.1.1, x264 20220620, Z3 4.10.2, zfp 1.0.0
            • minor enhancements, including:
              • add alternate download URL for Voro++ (#15898)
              • add extra symlinks and sanity checks for libtinfo in ncurses (#15903)
              • include some easyconfig constants in flake8 configuration file (#16040)
              • add pigz dependency for cutadapt v3.4 + v3.5 (#16056)
              • add sanity check commands for recent gettext versions (>= 0.20.x) (#16091)
            • various bug fixes, including:
              • use correct Matlab Runtime Compiler (v8.4) for FreeSurfer v7.1.1 (#13375)
              • fix set-alias statements for MaxQuant v2.0.3.0 (#15743)
              • add Autotools build dependency to R 4.2.0 w/ foss 2021b (#15822)
              • add patch for BLIS to fix auto-detection of POWER (#15826)
              • downgrade SPAdes dependency to v3.13.1 for Unicycler 0.4.9 since v3.15.3 is too new (#15840)
              • explicitly enable HDF5 from kallisto v0.46.2 onwards (#15843)
              • add CVE patch for XZ 5.2.5 + attempt to fix symbol patch for all OSs (#15856)
              • use build environment set by EasyBuild and add missing dependency on zlib to minimap2 (#15859)
              • add missing dependencies and execute tests on Trycycler v0.5.2 (#15864)
              • add patch for AlphaFold v2.2.2 to fix NaN problem with jax 0.3.9 (#15874)
              • exclude (flaky) fault_tolerance_test and fix non-x86 build for TensorFlow 2.7.1 (#15882)
              • work around miscompilation of OpenBLAS on POWER by compiling with -fstack-protector-strong (#15885)
              • fix tests on POWER9 for BLIS 0.9.0 + fix auto-detect for POWER10 for BLIS (AMD) v2.0 + v3.0 (#15889)
              • add and fix patches for PyTorch 1.9.0 on POWER (#15919)
              • exclude Binary, PackedBinary and JAR easyblocks from binutils build requirements (#15932)
              • consistently add libffi + elfutils dependencies to recent Clang easyconfigs (#15935, #16225)
              • add patch to fix broken test on POWER for numpy in SciPy-bundle 2022.05 (#15968)
              • refactor checksum test for extensions to use collect_exts_file_info (#15973)
              • fix dependency on FOX Toolkit in SUMO (#15986)
              • add missing SciPy-bundle dependency for rMATS-turbo (#15988)
              • explicitly download wannier90 source tarball from wannier90 GitHub repository in QuantumESPRESSO 7.1 easyconfigs (#15993)
              • restore ploteig in EIGENSOFT 7.2.1 (#15996)
              • add alternative checksum for plot3Drgl extension in R v4.1.x + v4.2.0 easyconfigs (#16011)
              • add patch to fix missing sync in LINCS and SETTLE CUDA kernels for GROMACS 2020 (#16027) and 2021 (#16026)
              • exclude failing test in TensorFlow 2.4.1 (#16042)
              • skip NASA performance and remote server tests in netCDF v4.9.0 (#16050, #16158)
              • use versioned symbols in ncurses built with system toolchain (by adding --with-versioned-syms configure option) (#16064)
              • add patch to fix pkgconfig file for Blitz++ v1.0.2 (#16102)
              • add missing BCFtools dependency for recent medaka versions (#16107)
              • add GTK2 v2.24.33 as a dependency for Ghostscript v9.56.1 (#16112)
              • fix checksum for Stacks v2.62 (due to silent re-release without version bump) (#16134)
              • fix libsanitzer for glibc 2.36 to build GCCcore 11.3.0 (#16145)
              • fix top level Makefile for AmberTools 20 and enable tests (#16150)
              • add missing patches + enable running tests for AmberTools 21 with intel/2021a (#16151) and intel/2021b (#16152)
              • replace HDF5 v1.13.1 with v1.12.1 as dependency, since we shouldn't use odd minor versions of HDF5 which are not stable releases (#16153)
              • remove modextrapaths to add top-level install directory to $PATHfor recent InterProScan easyconfigs (now done by default by Binary easyblock) (#16167)
              • fix sources + source URL + homepage for Molekel v5.4.0 (#16219)
              • consistently add maeparser + CoordgenLibs dependencies to OpenBabel 3.1.1 easyconfigs (#16231)
              • fix checksum for CUDA 11.4.1 aarch64 installer (#16234)
              • remove incorrect comment for Boost dependency in OpenBabel 3.1.1 easyconfigs (#16238)
              • add direct Pango dependency in recent ImageMagick easyconfigs (#16237)
            • other changes:
              • remove superfluous -DCMAKE_BUILD_TYPE=Release, use of build_type = Release, or enabling separate_build_dir from easyconfigs using CMakeMake easyblock (#13384)
              • synchronize ncurses easyconfigs using system toolchain (#15903)
              • stick to Java/11 as dependency for Bazel 5.1.1 (which is available for x86_64, aarch64, ppc64le) (#15906)
              • speed up OpenMPI 4.1.4 configure by not running autogen.pl --force, but only running required Autotools commands (#15957)
              • replace sed commands by upstreamed patches for BLIS built with intel-compilers toolchain (#15958)
              • simplify AlphaFold foss/2021a easyconfigs by using a fleshed out patched OpenMM dependency (#15981)
              • update Java/11 to 11.0.16 and Java/17 to 17.0.4 (#16001)
              • remove unnecessary patch in recent JupyterLab (#16030)
              • update CI workflows to use Ubuntu 20.04 (since Ubuntu 18.04 is deprecated) (#16070)
              • make check for toolchain value in dependency spec in easyconfigs test suite aware that dumped easyconfig uses SYSTEM constant (#16126)
            ","boost":0.5},{"location":"release-notes/#release_notes_eb460","title":"EasyBuild v4.6.0 (July 8th 2022)","text":"

            feature release

            framework

            • various enhancements, including:
              • allow searching for sources/patches in alternative location by specifying 'alt_location' in source/patch spec (#3994)
              • show URLs used for download attempts in trace output (#4026)
              • add support for setting environment variables via 'pushenv' with modextravars (#4030)
              • add support for OneAPI compilers using toolchain option 'oneapi' (#4031, #4032, #4039)
              • make check_linked_shared_libs more robust by taking into account that 'ldd' may fail (#4033)
              • fall back to sequential extension install if parallel install is not implemented (#4034)
              • add support for using template values in name/version of extensions (#4036)
            • various bug fixes, including:
              • make sure that ARCH constant has 'aarch64' (rather than 'arm64') as value on macOS ARM (#4018)
              • tweak 'eb' wrapper script to correctly handle errors when python command being considered fails to run (#4019)
              • tweak is_patch_for function to make it more robust (#4028)
            • other changes:
              • update Lmod used to run tests to version 8.7.6 (#4027, #4030)
              • tweak apply_patch to not create .orig files (by default) when applying patch files (#4038)

            easyblocks

            • new software-specific easyblock for STAR-CCM+ (#1613)
            • minor enhancements and updates, including:
              • update Siesta EasyBlock to support GCC 10+ by adding -fallow-argument-mismatch Fortran compiler option (#2690)
              • enable building of shared library for Libint 2.7+ (#2738)
              • allow some PyTorch tests to fail + print warning if one or more tests fail (#2742)
              • also support OpenSSL 3.0 in OpenSSL wrapper easyblock (#2746)
              • add more logging to install_pc_files method of OpenSSL wrapper easyblock (#2752)
              • make WPS easyblock aware of (pre)buildopts (#2754)
              • add Abseil system dependency for TensorFlow 2.9+ (#2757)
              • disable altivec when building FFTW versions < 3.4 with single-precision with GCC on POWER (#2758)
            • various bug fixes, including:
              • make VEP easyblock compatible with --sanity-check-only (#2743)
              • update Rosetta easyblock to take into account that $LD_LIBRARY_PATH, $CPATH, $PATH may not be defined (#2744)
              • only load temporary module file during sanity check for pybind11 for stand-alone installations, so it can be installed as extension (#2747)
              • make sure that CMakeMakeCp uses correct build dir (#2748)
              • enhance Bazel easyblock to avoid writing to $HOME in sanity check (#2756)

            easyconfigs

            • added easyconfigs for foss/2022a, intel/2022a common toolchains (#15755)

              • see also https://docs.easybuild.io/en/latest/Common-toolchains.html
            • add easyconfig for gfbf/2022a toolchain (#15653, #15755)

            • added example easyconfig files for 24 new software packages:

              • BLT (#15624), category_encoders (#15638), fio (#10321), FSON (#15721), G-PhoCS (#7619), GCTA (#15649), Gibbs2 (#15702), InterProScan_data (#15717), Jorg (#15346), libopus (#15682), Minipolish (#15713), mm-common (#15764), MONA (#15696), NetPyNE (#15606), pfind (#15685), regionmask (#15786), samplot (#15686), SISSO (#15766), sklearn-pandas (#15637), STAR-CCM+ (#7398), SWIPE (#6795), topaz (#15739), uncertainty-calibration (#15612), Virtuoso-opensource (#14102)
            • added additional easyconfigs for various supported software packages, including:

              • AlphaFold 2.2.2, Arriba 2.3.0, Arrow 8.0.0, Bracken 2.7, CellRanger 7.0.0, Clp 1.17.7, CoinUtils 2.11.6, cppy 1.2.1, deal.II 9.3.3, double-conversion 3.2.0, Doxygen 1.9.4, FLAC 1.3.4, fmt 7.1.1, FSL 6.0.5.1, GDAL 3.5.0, gdbm 1.21, geopandas 0.11.0, GEOS 3.10.3, Ghostscript 9.56.1, GLibmm 2.66.4, Groovy 4.0.3, GULP 6.1, h5py 3.7.0, HDF5 1.13.1, hifiasm 0.16.1, IGMPlot 2.6.9b, ImageMagick 7.1.0-37, InterProScan 5.55-88.0, IRkernel 1.3, jemalloc 5.3.0, JsonCpp 1.9.5, Julia 1.7.3, Leptonica 1.82.0, libgeotiff 1.7.1, libgit2 1.4.3, libiconv 1.17, libRmath 4.2.0, libsigc++ 2.10.8, libsndfile 1.1.0, libxc 5.2.3, libxml++ 2.42.1, line_profiler 3.5.1, LittleCMS 2.13.1, MaSuRCA 4.0.9, mayavi 4.7.4, MetaEuk 5, mold 1.3.0, NCCL 2.12.12, netCDF 4.9.0, nettle 3.8, networkx 2.8.4, NEURON 7.8.2, NLopt 2.7.1, nodejs 16.15.1, NSPR 4.34, NSS 3.79, nsync 1.25.0, nvtop 2.0.2, Osi 0.108.7, p4est 2.8, parasail 2.5, Pillow 9.1.1, PLUMED 2.8.0, PnetCDF 1.12.3, PRISMS-PF 2.2, PROJ 9.0.0, protobuf 3.19.4, protobuf-python 3.19.4, pyfaidx 0.7.0, PyOpenGL 3.1.6, pyproj 3.3.1, PyTorch 1.11.0, Qhull 2020.2, Qt5 5.15.5, QuantumESPRESSO 7.1, Qwt 6.2.0, R 4.2.1, rasterio 1.2.10, Ray-project 1.13.0, RE2 2022-06-01, redis-py 4.3.3, ReFrame 3.11.2, rioxarray 0.11.1, RNA-SeQC 2.4.2, Schrodinger 2022-2, Shapely 1.8.2, Siesta 4.1.5, SimpleITK 2.1.1.2, SpectrA 1.0.1, TensorFlow 2.7.1, Tk 8.6.12, Tkinter 3.10.4, Transformers 4.20.1, UCX-CUDA 1.12.1, utf8proc 2.7.0, WhatsHap 1.4, WPS 3.9.1, Xvfb 21.1.3
            • minor enhancements, including:

              • add extensions to R v4.2.0: hypergeo (#15701), rtdists (#15734), geeM (#15810)
              • add patch for GCCcore 11.3.0 to support using -fuse-ld=mold (#15715)
              • add patch for porefoam to fix hardcoded mpirun command and take into account $POREFOAM_MPIRUN_CMD (#15730)
            • various bug fixes, including:

              • switch to Rust 1.60.0 build dependency for bamtofastq, since build fails with Rust 1.52.1 (#15636)
              • avoid that pygmo v2.18.0 installs stuff in Python installation directory + add custom sanity check paths to pygmo easyconfigs (#15657)
              • add patch for Mmg v5.6.0 to remove library CI tests that point to external sources (#15691)
              • correct configopts in deal.II v9.1.1 easyconfig (#15692)
              • add missing Python dependency for HPDBSCAN to fix unresolved %(pyshortver)s template (#15694)
            • other changes:

              • disable flaky GPU test for TensorFlow 2.6.0 (#15824)
            ","boost":0.5},{"location":"release-notes/#release_notes_eb455","title":"EasyBuild v4.5.5 (June 8th 2022)","text":"

            bugfix/update release

            framework

            • various enhancements, including:
              • add toolchain definitions for nvompi (NVHPC + OpenMPI) (#3969), nvpsmpi (NVHPC + ParaStationMPI) (#3970), gfbf (GCC, FlexiBLAS, FFTW) (#4006)
              • add support for FFTW.MPI toolchain component ($FFT*DIR variables) (#4012)
              • add support for customizing EasyBuild command used in jobs via --job-eb-cmd (#4016)
            • various bug fixes, including:
              • fix copying of easyconfig file with --copy-ec without --rebuild if module is already installed (#3993)
              • ignore deprecation warnings regarding cryptography in Python 3.6 + Blowfish with Python 3.10 in test suite output (#3999)
              • fix typo in debug log message in easyblock.py (#4000)
              • fix printing of list of attempted download URLs when url-encoded characters are used in URL (#4005)
              • set $FFT(W)_LIB_DIR to imkl-FFTW's lib path in build environment if usempi toolchain option is enabled (#4011)
              • correctly identify Apple Silicon M1 as Arm 64-bit by also considering arm64 next to aarch64 (#4014)
              • fix 'eb --show-system-info' on Apple M1 system (#4015)
            • other changes:
              • change 'eb' command to import easybuild.framework to check if EasyBuild framework is available (#3995, #3998)

            easyblocks

            • new software-specific easyblock for FFTW.MPI (#2724)
            • minor enhancements and updates, including:
              • update NEURON easyblock to use CMakeMake for recent versions (#2304)
              • enhance Clang easyblock to add support for building with AMDGPU offload (#2684, #2729)
              • update sanity check in OpenMPI easyblock to support OpenMPI v5.0.0 (#2709)
              • don't use gold linker by default for GCC >= 11.3 (#2711)
              • update sanity check in R easyblock for versions >= 4.2.0, since S.h is not included anymore (#2713)
              • update ABAQUS easyblock for ABAQUS 2022 (#2716)
              • update LLVM easyblock for LLVM v14.0.x (#2718)
              • update Mesa easyblock to remove swr driver configopts for versions 22+ (#2719)
              • enhance Clang easyblock to support also installing Python bindings (#2721, #2725)
              • enhance SuperLU easyblock to support building on top of FlexiBLAS and be compatible with SuperLU v5.3 (#2722)
              • update TensorFlow easyblock for version 2.8.0 (#2723)
              • modify FFTW's sanity check step to allow checking only for MPI parts of FFTW installation (#2724)
              • add support to ConfigureMake for tweaking (first part of) test command via 'test_cmd' (#2726, #2737)
              • enhance MrBayes easyblock with custom sanity check command (#2727)
              • update cudnnarch string templates used to compose source tarball names from cuDNN 8.3.3 onwards (#2728)
              • add sanity check command to OpenSSL wrapper easyblock to verify that system certificates are available to OpenSSL (#2735)
              • ignore exit code of pkg-config command in OpenSSL wrapper easyblock, since with pkgconf they exit with a non-zero exit code if the OS package is not installed (#2736)
            • various bug fixes, including:
              • remove system-compiled binutils dirs from $LDFLAGS in binutils easyblock (#2712)
              • fix for FreeSurfer easyblock: define $FREESURFER needed by recon_all (#2717)
              • also symlink cert.pem in from-source OpenSSL installation (if it exists) (#2735)

            easyconfigs

            • add candidates for 2022a common toolchains: foss/2022.05 (#15561), intel/2022.05 (#15485)
            • added example easyconfig files for 35 new software packages:
              • Albumentations (#15302), AMPtk (#15435), arosics (#15249), CellTypist (#15530), detectron2 (#15442), EigenExa (#15234), Fastaq (#15332), FFTW.MPI (#15561), FreeBarcodes (#15350), gcloud (#15443), GST-plugins-bad (#15446), gsutil (#15507), GTK4 (#15447), hector (#15397), i7z (#15236), libde265 (#15395), libheif (#15395), ModelTest-NG (#15448), num2words (#15473), OGDF (#15407), panito (#15314), parameterized (#15481), purge_dups (#15385), redis-py (#15475), ruamel.yaml (#15531), SCGid (#15065), scPred (#15575), slow5tools (#15457), smooth-topk (#15506), SPOTPY (#15326), tmap (#14601), UCC (#14291), Wayland (#11107), XGrafix (#15268), XPLOR-NIH (#15479)
            • added additional easyconfigs for various supported software packages, including:
              • ABAQUS 2022, Arb 2.22.1, ARGoS 3.0.0, Arriba 2.2.1, astropy 5.0.4, ATK 2.38.0, Autotools 20220317, Bader 1.04, Bazel 4.2.2 + 5.1.1, BDBag 1.6.3, binutils 2.38, biom-format 2.1.12, BLIS 0.9.0, Boost 1.79.0, breseq 0.36.1, bx-python 0.8.13, cairo 1.17.4, CellRanger-ARC 2.0.1, CMake 3.23.1, cryoDRGN 1.0.0, CUDA 11.7.0, cuDNN 8.4.1.50, cURL 7.83.0, DBus 1.14.0, eggnog-mapper 2.1.7, elfutils 0.187, EvidentialGene 2022.01.14, expat 2.4.8, FlexiBLAS 3.2.0, FLINT 2.8.4, fontconfig 2.14.0, freebayes 1.3.6, freeglut 3.2.2, freetype 2.12.1, FriBidi 1.0.12, GCC 9.5.0 + 11.3.0 + GCC 12.1.0, Gdk-Pixbuf 2.42.8, geopandas 0.10.2, git 2.36.0, GLib 2.72.1, GMAP-GSNAP 2021-21-17, Go 1.18.1, GObject-Introspection 1.72.0, Graphene 1.10.8, GST-plugins-base 1.20.2, GStreamer 1.20.2, GTDB-Tk 2.0.0, GTK3 3.24.33, gzip 1.12, HarfBuzz 4.2.1, help2man 1.49.2, hwloc 2.7.1, hypothesis 6.46.7, Hypre 2.24.0, ICU 71.1, IGV 2.12.3, IMB 2021.3, inferCNV 1.10.1, InterProScan 5.52, IQ-TREE 2.2.1, jax 0.3.9, json-c 0.16, LAPACK 3.10.1, libarchive 3.6.1, libdeflate 1.10, libdrm 2.4.110, libedit 20210910, libepoxy 1.5.10, libfabric 1.15.1, libglvnd 1.4.0, libjpeg-turbo 2.1.3, libreadline 8.1.2, librsb 1.3.0.1, librsvg 2.52.8, libtool 2.4.7, libunwind 1.6.2, libxml2 2.9.13, LLVM 14.0.3, LocARNA 1.9.2.3, MACS2 2.2.7.1, magma 2.6.2, Mako 1.2.0, Mathematica 13.0.0, MCL 14.137, MCR R2022a.1, Mesa 22.0.3, Meson 0.62.1, MIRA 5.0rc2, Mmg 5.6.0, mold 1.2.1, mosdepth 0.3.3, MrBayes 3.2.7a, MultiQC 1.12, MUMPS 5.5.0, muParser 2.3.3, ncurses 6.3, neptune-client 0.16.2, Nextflow 22.04.0, Nim 1.6.6, NTPoly 2.7.1, OpenMPI 4.1.4, openpyxl 3.0.9, OpenSSL 1.1.1n, OpenStackClient 5.8.0, OSU-Micro-Benchmarks 5.9, pagmo 2.18.0, Pango 1.50.7, parallel-fastq-dump 0.6.7, PCRE2 10.40, Perl 5.34.1, Pillow 9.1.0, PLINK 2.00a3.1, PMIx 4.1.2, PyAMG 4.2.3, pybind11 2.9.2, PyCairo 1.21.0, pygmo 2.18.0, PyGObject 3.42.1, Python 3.10.4, R 4.2.0, RAxML-NG 1.1.0, R-bundle-Bioconductor 3.15, ReFrame 3.11.0, RNA-Bloom 1.4.3, rnaQUAST 2.2.2, Rust 1.60.0, Sambamba 0.8.2, SAMtools 1.15.1, ScaLAPACK 2.2.0, SciPy-bundle 2022.05, SeqKit 2.2.0, Shapely 1.8.1.post1, SpaceRanger 1.3.1, Spack 0.17.2, Spark 3.2.1, SQLite 3.38.3, StringTie 2.2.1, SUMO 1.12.0, SuperLU 5.3.0, tbl2asn 20220427, Tcl 8.6.12, TCLAP 1.2.5, tcsh 6.24.01, texlive 20220321, ToFu 1.5.0, UCX 1.12.1, util-linux 2.38, VEP 105, ViennaRNA 2.5.0, vsc-mympirun 5.2.11, worker 1.6.13, X11 2022050, YAXT 0.9.2.1, Z3 4.8.16, Zip 3.0, zlib 1.2.12, zstd 1.5.2
            • minor enhancements, including:
              • use OpenSSL wrapper dependency for CMake 3.18.4 with system toolchain (#15227)
              • also build BLIS backend for FlexiBLAS v3.0.4 with GCC/10.3.0 (#15347)
              • add extensions to R v4.1.2 + v4.2.0 easyconfigs:
                • Hmsc (#15393), MonteCarlo + RhpcBLASctl (#15438), chkptstanr (#15540), chkptstanr + MLmetrics + renv (#15573)
              • add extensions to R-bundle-Bioconductor 3.14 easyconfig: DNABarcodes (#15405)
              • use redist source_urls for cuDNN > 7.5 (#15411)
              • add download_instructions to Java 1.8 > 200 (#15412)
              • update Arrow to use EB versions of some dependencies and enable all compression codecs (#15512)
              • add csh -> tcsh symlink in recent tcsh easyconfigs (#15571)
              • allow external tools to be located elsewhere for ETE (#15578)
              • add additional sanity check commands for IQ-TREE v2.2.1 (#15596)
            • various bug fixes, including:
              • fix source URL for freetype 2.6.5 with foss/2016b (#14204)
              • fix installation of easybuild-easyconfigs with setuptools>=61 by explicitly declaring there are no Python packages (#15206)
              • use x.py to bootstrap Rust so that build options are properly passed through (#15211)
              • fix RepeatMasker-4.1.2-p1 easyconfig by moving the database configure command to postinstallcmds (#15280, #15615)
              • add hwloc dependency to tbb v2021.4.0 (#15294)
              • tweak find command used in preconfigopts in easyconfig for pkg-config v0.29.2 with system toolchain to avoid descending into other filesystems (#15313)
              • remove pkg-config use from SeqLib configure patch (avoids problem due to faulty autoconf macro) (#15316)
              • update source URL for isl in GCCcore easyconfigs (#15320)
              • update source URLs for YAXT 0.9.x to fix download (#15323)
              • define $HHLIB as path to HH-suite installation directory, required by Perl scripts (#15324)
              • add missing parallel and tbl2asn dependencies for prokka 1.14.5 (#15360, #15381)
              • add missing dependencies for libheif (libpng, libjpeg-turbo) (#15408)
              • switch to configuring build of libheif with CMake so libde265 dependency is picked up (#15408)
              • disable use of -ftree-vectorize for OpenFOAM v2112 with foss/2021b (#15495)
              • add patch for OpenMPI 4.1.1 to support building using --with-cuda=internal (#15528, #15589)
              • add patch to fix support for external PMIx v3.1 in OpenMPI v3.1.3 (#15566)
              • also build shared library + fix $PYTHONPATH for gmsh 4.9.0 (#15579)
              • add patch for GLib 2.68.2 to fix use of close_range (#15594)
              • fix download of thrift 0.12.0 for Arrow 0.16.0 (#15597)
              • add Bison and flex build dependencies to SCOTCH 6.1.x (#15618)
              • add alternative checksums for class, nnet, spatial extensions in R v4.2.0 easyconfig (#15619)
              • add missing dependencies + switch to non-static build for Arriba v2.1.0 (#15623)
            • other changes:
              • add R dependency to vcflib 1.0.3, and move from GCC/11.2.0 to foss/2021b toochain (#15216)
              • update fallback version for OpenSSL 1.1 wrapper to v1.1.1o (#15592)
              • install sklearn meta-package with scikit-learn v1.0.1 (#15613)
              • switch from pkg-config to pkgconf as build dependency for OpenSSL wrapper easyconfigs (#15616, #15617)
            ","boost":0.5},{"location":"release-notes/#release_notes_eb454","title":"EasyBuild v4.5.4 (March 31st 2022)","text":"

            bugfix/update release

            framework

            • various enhancements, including:
              • warn about potentially missing patches in --new-pr (#3759, #3966)
              • add support for 'clone_into' field in git_config source spec to specify different name for top-level directory (#3949)
              • add bash completion for easyconfigs from local dir but not robot search path (#3953)
              • add a 'sync pr' message when the PR has a mergeable state but is showing a failed status for the test suite on the last commit (#3967)
              • add gmpit toolchain definition (GCC + MPItrampoline) (#3971)
              • use 'zypper search -i' to check whether specified OS dependency is installed on openSUSE + make sure that rpm is considered for checking OS dependencies on RHEL8 (#3973)
              • add support for post-install patches (#3974)
              • add support for 'download_instructions' easyconfig parameter key to specify some download or installation steps for user in case of complicated way of obtaining needed files (#3976, #3981)
              • also try collecting AMD GPU info (via rocm-smi) for --show-system-info (#3978, #3982)
            • various bug fixes, including:
              • ensure --review-pr can find dependencies included in PR (#3979)
              • run 'apt-get update' in GitHub Actions workflow for container tests to update container package list before installing anything (#3985)
            • other changes:
              • enable code linting check for all supported Python versions (#3725)
              • update copyright lines for 2022 (#3986)

            easyblocks

            • minor enhancements and updates, including:
              • update Clang-AOMP easyblock to add support for ROCm v5.0 (#2681)
              • enable system SSL certificates in OpenSSL installations (#2683)
              • enhance MRtrix easyblock: build in parallel + enable OpenMP support for MRtrix >= 3.0 (#2685)
              • avoid dependency on 'which' command in sanity check for Python, use 'command -v' instead (#2687)
              • enhance Tarball easyblock to support using it for installing extensions (#2688)
              • update wxPython easyblock to support wxPython v4.1 (#2689)
              • enhance Gurobi easyblock to also update $MATLABPATH (#2691)
              • build single-file shared libraries for imkl so it can be used as FlexiBLAS backend via $FLEXIBLAS_LIBRARY_PATH (#2694)
            • various bug fixes, including:
              • added regex to replace /lib/cpp with cpp in OpenFOAM's wmake rules file (#2331)
              • set $NINJAFLAGS to make sure Ninja doesn't use all visible cores when building Qt5 (#2338)
              • update Siesta EasyBlock to use serial FFTW (#2662)
              • fix support for imkl for numexpr 2.8.0+ in numexpr easyblock (#2678)
              • make sure TensorFlow doesn't see the nvptx-none dir when searching for gcc include dir (#2682)
              • force use of bash for Anaconda install script (#2692)
              • add guess for path to add to $MANPATH for intel-compilers (#2696)
              • change permissions of the Java build directory to avoid permission denied error (#2698)
              • also consider $MKLROOT/lib/pkgconfig for $PKG_CONFIG_PATH for imkl (#2701)
              • close log after installing Bundle component (#2702)
                • fixes problem of log leaking across installations (framework issue #3533)
              • replace hardcoded /tmp to make sure that Bazel build respects $TMPDIR (#2703)
            • other changes:
              • minor code cleanup in numexpr easyblock (#2679)
              • update copyright lines for 2022 (#2705)

            easyconfigs

            • added example easyconfig files for 29 new software packages:
              • Abseil (#15102), AMS (#13155), ArchR (#15119), CMAverse (#14963), CmdStanR (#15198), CONN (#15052), Devito (#14984, #15009), GraphMap (#10299), gRPC (#14728), Hydra (#15025), jupyter-server-proxy (#14844), M1QN3 (#15002), MAGeCK (#15082), matplotlib-inline (#15084), MEGAN (#15064), MNE-Python (#15174), ONNX (#15158), ONNX-Runtime (#15158), ont-remora (#15162), Optuna (#15021), patch (#15035), porefoam (#15067), presto (#15119), PyFrag (#15184), skorch (#15175), SlamDunk (#15197), SPM (#15050), STRique (#14980), XML-Compile (#15177)
            • added additional easyconfigs for various supported software packages, including:
              • ABAQUS 2021, AlphaFold 2.1.2, AmberTools 21, archspec 0.1.3, Bandage 0.9.0, BLIS 3.1, c-ares 1.18.1, CCL 1.12.1, CharLS 2.3.4, Clang-Python-bindings 13.0.1, dcm2niix 1.0.20211006, DFTB+ 21.1, DIRAC 22.0, ELPA 2021.11.001, FlexiBLAS 3.1.3, FLUENT 2021R2, GATK 4.2.5.0, GetOrganelle 1.7.5.3, IgBLAST 1.18.0, IntelClusterChecker 2021.5.0, intervaltree-python 3.1.0, ITSx 1.1.3, Julia 1.7.2, kallisto 0.48.0, KMC 3.2.1, libobjcryst 2021.1.2, libtree 3.0.3, loompy 3.0.7, matplotlib 3.5.1, MCR R2022a, MDAnalysis 1.1.1+ 2.0.0, MDTraj 1.9.7, medaka 1.5.0, meshalyzer 20200308, MRtrix 3.0.3, NiBabel 3.2.2, NLTK 3.7, numexpr 2.8.1, ont-fast5-api 4.0.2, OpenAI-Gym 0.21.0, OpenBLAS 0.3.20, ORCA 5.0.3, parallel-fastq-dump 0.6.6, PIPITS 2.8, pocl 1.8, pycocotools 2.0.4, pyEGA3 4.0.0, pyobjcryst 2.2.1, RE2 2022-02-01, SAMtools 1.15, SBCL 2.2.1, shovill 1.1.0, SKESA 2.4.0, SOCI 4.0.3, sympy 1.9, TensorFlow 2.5.3, VirtualGL 3.0, vsc-mympirun 5.2.10, VSEARCH 2.21.1, VTK 9.1.0, VTune 2022.2.0, XGBoost 1.5.0
            • minor enhancements, including:
              • add Flask-Session to Flask v1.1.4 and Flask v2.0.2 (#15027)
              • add check to verify that patch files touched in PRs have a description in place (#15061)
              • add extensions to R v4.1.2 easyconfig: hash (#15098), nabor + harmony (#15117), apluster, DataCombine, docstring, gdalUtils, openair, mstate, SNFtool, and deps (#15141)
              • also install rMATS_P commands in rMATS-turbo easyconfig (#15113)
              • add extensions to Bioconductor v3.14 easyconfig: chromVAR (#15118), EnsDb.Hsapiens.v79 (#15154), WGCNA (#15178)
              • add extensions to Perl v5.34.0 easyconfigs: Sys::Info, HTML::Template, Log::Report (#15176), Sys::::Unknown, Sys::::Linux, Unix::Processors (#15190)
              • enable running of tests for MEME with gompi/2021b (#15191, #15199)
              • various bug fixes, including:
                • add missing xxd build dependency for recent PLUMED versions (2.6.2, 2.7.x) (#14847)
                • downgrade dependency on nodejs + use jupyter-server-proxy in jupyter-matlab-proxy and configurable-http-proxy easyconfigs using GCCcore/10.3.0 toolchain (#14942)
                • add additional valid checksum for extensions in R 4.1.0 and 4.1.2 easyconfigs: norm (#14987), optmatch (#14993)
                • avoid pollution in the tmp directory when running the AlphaFold tests (#14989)
                • consistently enable usempi toolchain option in OSU-Micro-Benchmarks easyconfigs (#15039)
                • fix GBprocesS easyconfig by switching to source tarball created using git_config (#15048)
                • add patches for mauveAligner to fix build on RHEL8 (#15049)
                • fix installation of RDKit by using -DBoost_NO_BOOST_CMAKE=ON (#15051)
                • add patch to fix linking error for imread extension in scikit-image easyconfigs using intel toolchain (#15054)
                • avoid excessively long shebang in Autoconf/Automake Perl scripts + promote Perl to runtime dependency + fix Perl shebang for intltool (#15055)
                • fix python shebang in cutadapt script for cutadapt 1.18 w/ GCCcore/8.3.0 (#15059)
                • don't use v2.1.0rc1 release candidate of gmpy2, stick to proper release v2.1.2 (#15060)
                • add M4 as build dependency for CCL-1.12 (#15075)
                • configure libffi 3.4.2 with --disable-exec-static-tramp to prevent segfaults (#15086)
                • set XLA_PYTHON_CLIENT_ALLOCATOR=platform for running tests in jax CUDA easyconfigs (#15097)
                • remove disable flag for RTTI in snappy v1.1.9 (#15099)
                • fix grconvert build for Grace 5.1.25 with foss/2021a by adding libtirpc dependency + related patch (#15121)
                • clean up PSolver and futile easyconfigs and add dynamic libs (#15148)
                • enhance vcflib easyconfigs to also install scripts (#15181)
                • add patch to fix shared linking in vcflib (#15203)
                • fix failing sanity check for PRINSEQ (#15205)
              • other changes:
                • use typing-extensions from Python v3.9.6 easyconfig in ArviZ and PyMC3 (#15003)
                • disable building of documentation for DBus 1.13.18 (#15010)
                • consistently use system toolchain in EasyBuild easyconfigs (#15126)
                • use EasyBuild hwloc in likwid and move to GCC/intel-compiler level due to Fortran modules (#15149)
              • ","boost":0.5},{"location":"release-notes/#release_notes_eb453","title":"EasyBuild v4.5.3 (February 11th 2022)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • also check for git in --check-eb-deps (#3954)
                  • add end2end test for eb --containerize (#3958)
                • various bug fixes, including:
                  • take into account that patch files can also be zipped when checking filename extension for patches (#3936)
                  • initialize BACKUP_PKG_URL with empty string in install_eb_dep.sh script (#3939)
                  • fix get_os_name and get_os_version to avoid reporting UNKNOWN in output of eb --show-system-info (#3942)
                  • consistently use actions/setup-python@v2 in CI workflows (#3944)
                  • switch to using pip3 for installing EasyBuild in container recipes generated by EasyBuild (#3945)
                  • specify easybuild.io as EasyBuild homepage in setup.py (#3947)
                  • avoid crash in get_os_version on modern SLES-based OSs (#3955)
                • other changes:
                  • indicate compatibility with Python 3.10 in setup.py (#3940)

                easyblocks

                • new software-specific easyblock for reticulate R package (#2668)
                • minor enhancements and updates, including:
                  • set CUDA target architecture(s) for GROMACS based on cuda_cc_semicolon_sep template value (#2655)
                  • add support to NAMD easyblock to opt out of building with CUDA support even if CUDA is included as dependency (#2666)
                  • update sanity check in CUDA easyblock: CUDA 11.6 no longer includes samples (#2669)
                • various bug fixes, including:
                  • also run easyblocks test suite with Python 3.8-3.10 + consistently use actions/setup-python@v2 in CI workflows (#2664)
                  • specify easybuild.io as EasyBuild homepage in setup.py (#2667)
                • other changes:
                  • remove vulnerable binaries from sanity check of HDF5, no longer installed by default with HDF5 1.10.8 (#2670)

                easyconfigs

                • added example easyconfig files for 25 new software packages:
                  • Arcade-Learning-Environment (#14753), Bambi (#14811), CASTEP (#14420), Crumble (#14785), deepmedic (#14953), FoBiS (#14771), histolab (#14945), Iris (#14788), Jasmine (#14789), libexif (#14823), libgdiplus (#14823), MuJoCo (#14965), mujoco-py (#14776, #14965), namedlist (#14814), OpenCensus-python (#14837), PyEVTK (#14911), pyradiomics (#14851), PyTorch-Lightning (#14933), Redis (#14783), rising (#14952), SoXt (#14803), SURVIVOR (#14786), tensorboard (#14926), xtensor (#14944), xxd (#14846)
                • added additional easyconfigs for various supported software packages, including:
                  • aiohttp 3.8.1, AOCC 3.2.0, ArviZ 0.11.4, BeautifulSoup 4.10.0, bokeh 2.4.2, Boost.Python 1.77.0, Bowtie 1.3.1, CheMPS2 1.8.11, Clang 13.0.1, CLHEP 2.4.5.1, ConnectomeWorkbench 1.5.0, Crumble 0.8.3, CUDA 11.5.1 + 11.6.0, cutadapt 3.5, dask 2022.1.0, deepdiff 5.7.0, deepTools 3.5.0, dm-tree 0.1.6, DROP 1.1.1, ecCodes 2.24.2, Emacs 27.2, FDS 6.7.7, file 5.41, Flask 2.0.2, FORD 6.1.6, GATE 9.1, Geant4 11.0.0, GEMMA 0.98.5, GnuTLS 3.7.3, Go 1.17.6, gpustat 1.0.0b1, Graphviz 2.50.0, GROMACS 2021.5, Guile 3.0.7, HDF5 1.10.8, imageio 2.13.5, JupyterLab 3.2.8, lftp 4.9.2, libBigWig 0.4.6, libpsml 1.1.10, libRmath 4.1.2, librsb 1.3.0.0, libtasn1 4.18.0, libunistring 1.0, likwid 5.2.1, MaxQuant 2.0.3.0, MEGA 11.0.10.eb, MethylDackel 0.6.1, methylpy 1.2.9, minimap2 2.24, Mono 6.12.0.122, MUSCLE 5.1, nanomax-analysis-utils 0.4.3, ncbi-vdb 2.11.2, NCIPLOT-4.0 20200624, Nextflow 21.10.6, NGS 2.11.2, nvtop 1.2.2, OpenCV 4.5.5, openslide-python 1.1.2, pftoolsV3 3.2.11, picard 2.26.10, pydicom 2.2.2, pyFAI 0.20.0, Pysam 0.18.0, pytest-xdist 2.5.0, Racon 1.5.0, RAxML 8.2.12, ReFrame 3.10.1, ROOT 6.24.06, scikit-image 0.19.1, SDL2 2.0.20, SeqKit 2.1.0, Siesta 4.1.5, SimpleITK 2.1.1, SqueezeMeta 1.5.0, tMAE 1.0.1, torchvision 0.11.3, Trim_Galore 0.6.7, typing-extensions 3.10.0.2
                • minor enhancements, including:
                  • also install Python bindings for SHTns 3.5.1 (#14893)
                  • add catlearn extension to easyconfig for R v4.1.2 (#14940)
                • various bug fixes, including:
                  • update TALYS sources to (hopefully) ensure constant checksums (#14797)
                  • add missing graphite2 + HarfBuzz dependencies to Qt5 v5.15.2 (#14802)
                  • add missing UCX-CUDA dep to GROMACS for foss-2021a-CUDA-11.3.1 (#14859)
                  • specify easybuild.io as EasyBuild homepage in setup.py (#14870)
                  • add alternative checksum for MASS, class, nnet, spatial extensions in R 4.1.0 (#14873) and R 4.1.2 (#14880) easyconfigs
                  • add patch to fix Kraken2 ncbi ftp/https check in rsync_from_ncbi.pl for versions 2.0.9-2.1.1 (#14889)
                  • disable building of tests/benchmarks for snappy 1.1.8 to avoid failing build (#14923)
                  • disable use of -Werror for recent NSS versions (#14924)
                  • fix download URL in UDUNITS v2.2.28 easyconfigs (#14954)
                  • remove unnecessary CUDAcore dependency from nvtop v1.2.1 easyconfig (#14957)
                  • consistently apply patch for mapDamage 2.2.1 to use external seqtk (#14961)
                  • fix typo in templated source URL in RcppGSL 0.3.8 easyconfig: $(name)s should be %(name)s (#14962)
                • other changes:
                  • update Java/17 wrapper to Java 17.0.2 (#14868)
                  • use actions/setup-python@v2 in CI workflows + trim test configurations for easyconfigs test suite: only test with Python 2.7 + 3.6 and Lmod 7.x + 8.x (#14857, #14881)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb452","title":"EasyBuild v4.5.2 (January 24th 2022)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • automatically prepend value for env-for-shebang configuration setting with sysroot (#3919)
                  • enhance update_build_option to return original value + add support for update_build_options (#3923)
                  • fix compatibility with Python 3.10 (#3926, #3933)
                  • also take /etc/os-release into account in get_os_name and get_os_version (#3930)
                  • enhance get_cpu_architecture and get_cpu_family to be aware of RISC-V (#3931)
                • various bug fixes, including:
                  • relax pattern checks in test_toy_exts_parallel (#3921)
                  • use sources.easybuild.io as backup URL for downloading Environment Modules sources to run test suite (#3928)
                  • make intelfftw toolchain component aware of GCCcore (#3929)
                • other changes:
                  • deprecate use of (actual) patch files that don't have a filename ending with .patch (#3920)
                  • remove version restriction for keyring in requirements.txt to test with latest version (#3925)
                  • simplify requirements.txt by removing Python 2.6 support (#3927)
                  • only run GitHub tests when testing with Lua module syntax, to avoid hitting GitHub rate limit when running tests (#3938)

                easyblocks

                • minor enhancements and updates, including:
                  • remove necessity for license for oneAPI versions (>= 2021.x) in itac easyblock (#2492)
                  • add CUDA support in SuiteSparse easyblock (#2627)
                  • use all available cores for running Perl test suite (#2637)
                  • add option to not copy the license file for Gurobi (#2639, #2641)
                  • update AOCC easyblock to support version 3.2.0 (#2643)
                  • don't grep for specific version in --version output of Intel compiler commands for versions 2022.x (#2644)
                  • add support for enabling sanity checks for specific components in the Bundle easyblock (#2649)
                  • update Libint easyblock for LibInt v2.7.0 which requires configuring via CMake (#2650)
                  • update Mathematica easyblock for version 13 (#2652)
                  • add sanity check command for Bazel (#2653)
                  • update NAMD easyblock to allow non-system csh (#2654)
                  • enhance CUDA easyblock to create version independent pkgconfig files (#2656)
                  • add util subdirectory to $PATH for WPS (#2658)
                • various bug fixes, including:
                  • convert version numbers to strictly numerical in Siesta easyblock (#2553)
                  • fix shebang of scripts in Perl installation if installation prefix is too long (#2640)
                  • enhance IntelBase easyblock to avoid crash when $USER is not set (#2642)
                  • fix quotes in definition of default platform macro and enhance sanity check in GATE easyblock (#2645)
                  • avoid excessively long shebang line in compile script for WRF (#2648)
                  • fix checking of Intel Fortran compiler version in CP2K easyblock for recent toolchains (#2651)

                easyconfigs

                • added easyconfig for intel/2022.00 toolchain (#14620)
                • added example easyconfig files for 48 new software packages:
                  • alevin-fry (#14617), AMD-uProf (#14626), ANGEL (#11857), atropos (#7580), Austin (#14596), AutoDock-GPU (#14671), AutoDock-Vina (#14675), boost_histogram (#14516), CAFE5 (#14603), Calcam (#7488), Carma (#14527), Cogent (#14278), dlib (#14556), DualSPHysics (#14632), dune-core (#14693), dune-fem (#14693), DyMat (#14615), elbencho (#14548), Embree (#7471), ExaML (#14530), FMPy (#14481), genozip (#14583), hivtrace (#14691), intervaltree-python (#8995), IsoNet (#14075), MACSE (#14709), MetaPhlAn (#12917), MicrobeAnnotator (#14549), mold (#14595), numdiff (#14609), OpenFace (#14556), PhyloPhlAn (#14564), PREQUAL (#14722), PuLP (#14581), PyCalib (#14616), PyTorch3D (#13240), QCG-PilotJob (#14337), RaGOO (#8995), RAPSearch2 (#13199), SCopeLoomR (#14518), ShengBTE (#14557), SHTns (#14682), STRUMPACK (#14560), TALYS (#14716), TN93 (#14691), xxHash (#14251), yaml-cpp (#14547), Zgoubi (#14516)
                • added additional easyconfigs for various supported software packages, including:
                  • annovar 20200607, antiSMASH 5.2.0, Armadillo 10.7.5, Arrow 6.0.1, Bismark 0.23.1, BLAST+ 2.12.0, cDNA_Cupcake 26.0.0, CHERAB 1.3.0, CMake 3.22.1, CP2K 8.2, DIAMOND 2.0.13, dotNET-Core-Runtime 6.0.1, dotNET-SDK 6.0.101, Extrae 3.8.3, fastp 0.23.2, FreeSurfer 7.2.0, GffCompare 0.12.6, gmsh 4.9.0, GTK3 3.24.31, h5py 3.6.0, igraph 0.9.5, Inspector 2022.0.0, IQ-TREE 2.1.3, itac 2021.5.0.eb, Java/15 + Java/17, JUBE 2.4.2, libdeflate 1.8, libxsmm 1.17, LSD2 2.3, MAGMA 1.09b, MATLAB 2021b, MinPath 1.6, MultiQC 1.11, MUSCLE 5.0.1428, numba 0.54.1, NVHPC 21.11, OBITools 1.2.13, occt 7.5.0p1, openCARP 8.2, OpenCV 3.4.1, OpenFOAM v2112, ORCA 5.0.2, phonopy 2.12.0, Pillow 8.3.2, Pillow-SIMD 8.3.2, PLUMED 2.7.3, poppler 22.01.0, PyQtGraph 0.12.3, python-igraph 0.9.8, PyZMQ 22.3.0, Raysect 0.7.1, Rgurobi 9.5.0, scanpy 1.8.2, Schrodinger 2021, SqueezeMeta 1.0.0, statsmodels 0.13.1, texlive 20210324, VTune 2022.0.0
                • minor enhancements, including:
                  • add yaml-cpp dependency to Trilinos 12.12.1 with foss/2019b (#14547)
                  • include output of failing code style check in message produced by failing easyconfigs style test (#14578)
                  • bundle LAPACKE with FlexiBLAS 3.0.4 (#14591), #14769)
                  • add extensions to R v4.1.2 easyconfig: semTools, mirt, OpenMX (#14634), FactorCopula (#14648), rpact, ldbounds (#14750)
                  • add extensions to R-bundle-Bioconductor 3.14: ExomeDepth (#14684), DSS (#14748), pathview (#14806)
                • various bug fixes, including:
                  • fix homepage and source_urls for GLIMMER 3.02b (#7945)
                  • fix source URL for Trilinos 12.12.1 with foss/2019b (#14547)
                  • use proper Perl dependency for worker 1.6.12 with foss/2019a (fixes installation on RHEL8 OS) (#14565)
                  • fix checksum and versions of annovar v20191024 (#14579)
                  • add patch for Rust 1.52.2 and 1.54.0 to fix build when using alternate sysroot (#14584)
                  • retain version in filename for cromwell sources (#14586)
                  • specify compiler to use in WildMagic easyconfig (#14594)
                  • avoid need for git build dependency for recent x265 easyconfigs (#14605)
                  • fix broken patch file for recent GPAW versions (#14619)
                  • add alternative checksum for Siesta-4.1-MaX-1.0 (#14643)
                  • add missing PCRE dependency for pullseq + add sanity check commands (#14650)
                  • use %(arch)s template to avoid hardcoding x86_64 in recent XML-LibXML easyconfigs (#14655)
                  • fix name for (binary) AutoDock-Vina v1.1.2 (#14675)
                  • add patch to fix memory leak in OpenMPI that heavily affects CP2K, SIESTA, QuantumESPRESSO, VASP, ... (#14726)
                  • set $GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS for installing grcpio extension included with:
                    • TensorFlow 2.2.3-2.4.1 with 2020* toolchain (#14729) and 2.5.0+ (#14728)
                    • Ray-project (#14730)
                  • enforce using internal boost for bcl2fastq2 with a GCC 10.x toolchain (#14741)
                  • add patch for hard-coded checksum value of downloaded source file in the source code of RDKit 2021.03.4 (#14743)
                  • also install libaio.so.1 symlink in easyconfigs for libaio v0.3.112 (#14745)
                  • do not use external libgcrypt or python for libxslt with recent toolchains (#14756)
                  • add patches to fix CVE-2021-23437 for Pillow (#14765) and Pillow-SIMD (#14792)
                  • add libXfont2 patch to fix build when libbsd is present (#14821)
                • other changes:
                  • update Java 1.8 wrapper to 1.8.0_311 for x86_64 (#14644)
                  • bring gffread back down to GCCcore level for toolchain version 10.3.0 (#14660)
                  • update build dependencies for recent binutils + GCCcore easyconfigs to avoid depending on M4 1.4.18 with system toolchain (#14731), #14755)
                  • bump nbconvert extension in recent IPython easyconfigs to version 6.4.0 (#14738)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb451","title":"EasyBuild v4.5.1 (December 13th 2021)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • also dump environment to reprod directory (#3374)
                  • determine which extensions can be skipped in parallel (if --parallel-extensions-install is enabled) (#3890)
                  • fall back to sequential installation for extensions with unknown dependencies when using --parallel-extensions-install (#3906)
                  • allow oversubscription in sanity check for OpenMPI-based toolchains (#3909)
                • various bug fixes, including:
                  • don't try to ensure absolute path for path part of repositorypath (#3893, #3899)
                  • fix typo in EULA agreement error message (#3894)
                  • only remove lock if it was created in the same EasyBuild session (not if it existed already) (#3889)
                  • introduce EasyBlock.post_init method to correctly define builddir variable when build-in-installdir mode is enabled in easyconfig or easyblock (#3900)
                  • also show download progress bar when using --inject-checksums (#3905)
                  • pick up custom extract_cmd specified for extension (#3907)
                  • make test_run_cmd_async more robust against fluke failures (#3908)

                easyblocks

                • new software-specific easyblock for Clang-AOMP (#2617)
                • minor enhancements and updates, including:
                  • enhance Rpm generic easyblock to support installing tarball of RPMs (by unpacking it first) + take into account (pre)installopts (#2580)
                  • add option to control use of MKL-DNN in jaxlib easyblock (#2619)
                  • update SAMtools easyblock to support installation of SAMtools 1.14 (#2620)
                  • add option to ignore PLUMED version check for GROMACS (#2621)
                  • update Inspector easyblock for recent versions (>= 2021, oneAPI versions) (#2624)
                  • enhance tbb easyblock by adding option to build Python bindings (#2626)
                  • fix patching of CMakeLists.txt for Eigen v3.4 (#2633)
                • various bug fixes, including:
                  • update CP2K easyblock to use -D__MKL for CP2K versions newer than 2.3 (#2586)
                  • set OpenMPI configuration for ORCA sanity check (#2596)
                  • allow oversubscription in OpenMPI sanity check (#2611)
                  • set wm_* class variables in OpenFOAM easyblock constructor (to fix --sanity-check-only) (#2616)
                  • remove newline from easybuild-easyblocks package description (required to avoid installation error with setuptools>=59.0.0) (#2623)
                  • avoid patching binary files + other enhancements for MUMmer easyblock (#2630)
                  • enable build-in-installdir mode in constructor of PETSc and SLEPc easyblocks (#2631)
                  • skip netcdf4-python tests that require network connectivity (#2634)

                easyconfigs

                • added example easyconfig files for 71 new software packages:
                  • ANIcalculator (#14478, #14494, #14510), arrow-R (#14267), ASAP (#14367), BabelStream (#14503), bamtofastq (#14391), bcbio-gff (#14322), biom-format (#13205), Blosc2 (#14247), boto3 (#14452), Brotli-python (#14528), Brunsli (#14247), Clang-AOMP (#14327), CLEASE (#14413), CMSeq (#14326), cpu_features (#14385), cromwell (#12125), cxxopts (#14487, #14504), dRep (#14479), DUBStepR (#14495), eht-imaging (#14239), einops (#14373), ELFIO (#14488, #14504), elprep (#14422), epiScanpy (#14447), FMM3D (#14257), FORD (#13653), GPy (#14380), HIP (#14339), idemux (#14499), imagecodecs (#14247), InChI (#13902), jupyter-matlab-proxy (#14270), jxrlib (#14247), LBFGS++ (#14230), LERC (#14247), libaec (#14247), libavif (#14246), LibLZF (#14246), libnsl (#14494), libtree (#14501), LPeg (#14157), Megalodon (#14256), nnU-Net (#14249), PAL2NAL (#14430), photontorch (#14410), pkgconf (#14426), pmx (#14319), PPanGGOLiN (#14449), ProFit (#14340), pugixml (#14367, #14492), PySide2 (#13460), Relate (#14443), ROCm (#14355), rocm-cmake (#14327), ROCm-CompilerSupport (#14327), rocminfo (#14327), rocm-smi (#14354), ROCR-Runtime (#14327), ROCT-Thunk-Interface (#14327), SCENIC (#14260), Shasta (#14385), SimNIBS (#14257), SMV (#14157), SRST2 (#14253), STACEY (#14293), termcolor (#14489, #14504), ThemisPy (#14231), TOBIAS (#14452, #14458), zfp (#14246), zlib-ng (#14246), Zopfli (#14246)
                • added additional easyconfigs for various supported software packages, including:
                  • ABINIT 9.6.2, ABRicate 1.0.0, AlphaFold 2.1.1, antiSMASH 6.0.1, Arrow 6.0.0, astropy 4.3.1, BCFtools 1.14, BeautifulSoup 4.9.3, Boost 1.77.0, bpp 4.4.0, Bracken 2.6.2, CapnProto 0.9.1, CellRanger 6.1.2, Eigen 3.4.0, enaBrowserTool 1.6, ESMF 8.2.0, Flye 2.9, FMRIprep 1.4.1, FSL 6.0.4, GATK 4.2.3.0, gc 8.2.0, GDB 11.1, git 2.33.1, Go 1.17.3, Gurobi 9.5.0, Horovod 0.23.0, HTSlib 1.14, HyPhy 2.5.33, Infernal 1.1.4, Inspector 2021.4.0 ITK 5.2.1, jax 0.2.24, Julia 1.7.0, Kent_tools 422, king 2.2.7, libdwarf 20210528, MAFFT 7.490, makeinfo 6.8, Mash 2.3, matplotlib 3.4.3, MCR R2021b, minimap2 2.22, MUST 1.7.2, NCO 5.0.3, NCO 5.0.3, nlohmann_json 3.10.4, NVHPC 21.9, OpenMPI 4.0.7 + 4.1.2, panaroo 1.2.9, pangolin 3.1.16, pkgconfig 1.5.5, plotly.py 5.4.0, pyfaidx 0.6.3.1, Pysam 0.17.0, PyTorch 1.10.0, R 4.1.2, R-bundle-Bioconductor 3.14, ReFrame 3.9.1, rpy2 3.4.5, scikit-image 0.18.3, scikit-learn 1.0.1 SimpleITK 2.1.0, snakemake 6.10.0, SPAdes 3.15.3, tbb 2021.4.0, torchtext 0.10.0, torchvision 0.11.1, tqdm 4.62.3, TRUST4 1.0.6, Trycycler 0.5.2, Unicycler 0.4.9, UShER 0.5.0, WPS 4.3.1, xarray 0.20.1, XlsxWriter 3.0.2, Yambo 5.0.4
                • minor enhancements, including:
                  • add RcisTarget + NMF extensions to R-bundle-Bioconductor 3.13 (#14259)
                  • add extensions for R v4.1.x:
                    • geex + momentfit (#14299); StatMatch, leaflet, tmap + collapse (#14328), genoPlotR + penfa (#14433), adcovsim (#14484)
                  • add M3Drop extension to R-bundle-Bioconductor 3.14 (#14436)
                • various bug fixes, including:
                  • specify to use Python provided as dependency, remove separate_build_dir, and fix URL in comment for Arrow 0.17.1 (#14263)
                  • fix gettid nameclash with glibc 2.30 in Bazel 0.25.2, 0.26.1, 0.29.1, and 1.1.0 (#14269)
                  • restore and fix sanity check commands in RStudio-Server 1.4 (#14275)
                  • add pkg-config build dependency to Python easyconfigs, to ensure OpenSSL wrapper is detected (#14316)
                  • add patch for UCX v1.11.2 to fix missing include statement for string.h (#14317)
                  • set $DALTON_TMPDIR to build directory to run Dalton tests (#14341)
                  • add patch for libfabric v1.12.1 to fix unknown link width 0x10 warning (#14387)
                  • add missing Automake dependency to PhyML 3.3.20200621 (#14397)
                  • add git as build dependency to Python 3.8.x and 3.9.x easyconfigs (required for pbr extension) (#14421)
                  • add missing XZ dependency to recent PROJ easyconfigs (#14429)
                  • fix homepage/source URL for king v2.2.4 (#14444)
                  • add patch for GCCcore 9.1-9.3 to fix compatibility with recent kernel headers (#14453)
                  • add patch for GCCcore 10.1-11.1 to fix compatibility with recent kernel headers (#14454)
                  • add patch to fix CVE-2021-43527 in NSS (#14497)
                  • pass tests on A* GPUs by setting NVIDIA_TF32_OVERRIDE=0 in jax 0.2.19 (#14502)
                  • add patch to fix broken (hanging) Mash binaries (#14511)
                  • add missing Perl build dependency for Longshot (#14535)
                  • add googletest build dependency for Highway (#14536)
                  • seed in PCRE2 sources to fix broken MariaDB 10.5.8 + 10.6.4 easyconfigs (#14537)
                • other changes:
                  • rename R bindings for Arrow to arrow-R, so it can be used in a lowercase module naming scheme (#14262)
                  • comment out imkl build dependency for FlexiBLAS 3.0.4 with GCC/11.2.0 (#14335)
                  • don't add bin subdir to $PATH via modextrapaths in ReFrame easyconfigs (#14415)
                  • consistently use 'Grace' software name + sync homepage/source_urls (#14493)
                  • move cxxopts, termcolor and ELFIO header only libraries to SYSTEM toolchain (#14504)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb450","title":"EasyBuild v4.5.0 (October 29th 2021)","text":"

                feature release

                framework

                • various enhancements, including:
                  • add --review-pr-max and --review-pr-filter options to limit easyconfigs used by --review-pr + retain order of easyconfigs being compared with (#3754)
                  • use Rich (if available) to show progress bars when installing easyconfigs (#3823, #3826, #3833, #3835, #3844, #3864, #3867, #3882)
                    • see also https://docs.easybuild.io/en/latest/Progress_bars.html
                  • add support for checking required/optional EasyBuild dependencies via eb --check-eb-deps (#3829)
                  • add support for collecting GPU info (via nvidia-smi), and include it in --show-system-info and test report (#3851)
                  • added support for --insecure-download configuration option (#3859)
                  • make intelfftw toolchain component aware of imkl-FFTW module (#3861)
                  • make sure the contrib/hooks tree is included in the source tarball for easybuild-framework (#3862)
                  • add check_async_cmd function to facilitate checking on asynchronously running commands (#3865, #3881)
                  • add initial/experimental support for installing extensions in parallel (#3667, #3878)
                    • see also https://docs.easybuild.io/en/latest/Installing_extensions_in_parallel.html
                  • filter out duplicate paths added to module files, and print warning when they occur (#3770, #3874)
                • various bug fixes, including:
                  • ensure that path configuration options have absolute path values (#3832)
                  • fix broken test by taking into account changed error raised by Python 3.9.7 when copying directory via shutil.copyfile (#3840)
                  • ensure newer location of CUDA stubs is taken into account by RPATH filter (#3850)
                  • replace which by command -v in eb wrapper script to avoid dependency on which command (#3852)
                  • refactor EasyBlock to decouple collecting of information on extension source/patch files from downloading them (#3860)
                    • in this context, the EasyBlock.fetch_extension_sources method was deprecated, and replaced by EasyBlock.collect_exts_file_info
                  • fix library paths to add to $LDFLAGS for intel-compilers toolchain component (#3866)
                  • remove --depth 1 from git clone when commit specified (#3871, #3872)
                  • make sure correct include directory is used for FlexiBLAS toolchain component (#3875)
                  • explicitly disable rebase when pulling develop branch to create a merge commit, since not specifying how to reconcile divergent branches is an error with Git 2.33.1 and newer (#3879)
                  • tweak test_http_header_fields_urlpat to download from sources.easybuild.io rather than https://ftp.gnu.org (#3883)
                • other changes:
                  • change copy_file function to raise an error when trying to copy non-existing file (#3836, #3855, #3877)
                  • only print the hook messages if EasyBuild is running in debug mode (#3843)
                  • deprecate old toolchain versions (pre-2019a common toolchains) (#3876, #3884)
                    • see also https://docs.easybuild.io/en/latest/Deprecated-easyconfigs.html#deprecated-toolchains

                easyblocks

                • new software-specific easyblock for imkl-FFTW (#2599)
                • minor enhancements and updates, including:
                  • add support for installing R extensions in parallel (#2408)
                  • update MotionCor2 easyblock to consider to locations for built binary (#2541, #2598)
                  • let GROMACS runtime logs show EasyBuild was used by setting -DGMX_VERSION_STRING_OF_FORK configuration option (#2571)
                  • adjust qa list in WIEN2k easyblock to handle new questions + fix sanity check for v21.1 (#2572)
                  • enhance GCC easyblock to add support for AMD GPU offloading (#2578)
                  • add support for specifying subdirectory for target installation directory in CMakeMake (#2579)
                  • enhance COMSOL easyblock to change permission on build directory during extract step (to allow using patches) (#2584)
                  • enhance FlexiBLAS easyblock to support building with Intel MKL (imkl) as backend (#2588)
                  • update MATLAB easyblock for 2021b (jre is no longer included) (#2589)
                  • update OpenCV easyblock to detect GTK3 and GTK2 dependencies (next to GTK+) (#2591)
                  • avoid that path to CUDA install directory is added to $PATH (#2593)
                  • enhance imkl easyblock to add support for installing with NVHPC (#2595)
                  • enhance PETSc easyblock to run tests in parallel (#2601)
                  • update ELSI easyblock to support two new external dependencies (#2602)
                  • add custom custom easyconfig parameter backends in FlexiBLAS easyblock to specify backends (#2605)
                  • detect problem with compiling CPU detection code in configure output in GROMACS easyblock (#2609)
                  • use correct include directory for FlexiBLAS (#2610)
                • various bug fixes, including:
                  • unset $EASYBUILD_* environment variables when running sanity check in EasyBuildMeta easyblock + also unset $MODULES_LMCONFLICT to avoid conflict when loading EasyBuild module (#2568)
                  • ensure that all ABAQUS components get installed for ABAQUS 2021.x (+ add support for enabling/disabling fe-safe) (#2569)
                  • fix subdir path in VTune easyblock for 2021.x versions + add sanity check command (#2576)
                  • make sure custom easyblock for installing EasyBuild respects requested version of Python (like $EB_PYTHON) (#2581)
                  • restore RPATH wrappers for OpenMPI sanity check (#2582)
                  • fix installation of libcp2k for recent CP2K versions (#2585)
                  • make version regex in OpenSSL wrapper easyblock less strict (version string does not always end with a letter) (#2597)
                  • redefine collect_exts_file_info instead of now deprecated fetch_extension_sources in OCaml easyblock (#2603)
                • other changes:
                  • don't use --config=mkl for TensorFlow 2.4+ (#2583)
                    • this fixes some performance related issues for TensorFlow, see https://github.com/easybuilders/easybuild-easyblocks/issues/2577 and https://github.com/easybuilders/easybuild-easyconfigs/issues/14120
                  • fix support for recent imkl version in numexpr easyblock (#2606)
                  • derive custom easyblock from MotionCor2 from PackedBinary instead of EasyBlock (#2607)

                easyconfigs

                • added easyconfigs for foss/2021b (#14217) and intel/2021b (#14218) common toolchains
                  • see also https://docs.easybuild.io/en/latest/Common-toolchains.html
                • add easyconfig for gobff/2021a toolchain (#14019, #14038)
                • added example easyconfig files for 39 new software packages:
                  • abTEM (#13974), ARTS (#9651), AutoGeneS (#13903), bashplotlib (#13942), CIRI-long (#13985), DFT-D4 (#12803), ELSI-RCI (#14147), ESL-Bundle (#14179), expecttest (#14106), fdict (#14161), flook (#14161), FreeTDS (#13952), HDBSCAN (#14062), imkl-FFTW (#14195), isoCirc (#13982), libfdf (#14173), libmbd (#14129), libpspio (#14173), libSBML (#14050), longread_umi (#13987), Mesa-demos (#14123), MixMHC2pred (#14041), NTPoly (#14183), OpenSceneGraph (#14197), panaroo (#14203), PEPT (#14077), pycoQC (#14012), python-docx (#13930), QD (#14122), radeontop (#14124), Rgurobi (#14188), RInChI (#14049), scGeneFit (#13963), swifter (#14114), TOML-Fortran (#13929), TRUST4 (#14035), ucx-py (#14051), vawk (#14040), VMTK (#14023)
                • added additional easyconfigs for various supported software packages, including:
                  • AlphaFold 2.0.1, artic-ncov2019 2021.06.24, BerkeleyGW 3.0.1, bokeh 2.4.1, Boost.Python 1.76.0, canu 2.2, Cartopy 0.20.0, CP2K 8.2, CUDA 11.4.2, Dalton 2020.0, dask 2021.9.1, edlib 1.3.9, ELSI 2.7.1, FFTW 3.3.10, GD 2.73, GDAL 3.3.2, GTDB-Tk 1.7.0, ImageJ 1.52q, jax 0.2.20, Kraken2 2.1.2, leidenalg 0.8.7, libfabric 1.13.2, libspatialindex 1.9.3, libxc 5.1.6, libxsmm 1.16.2, lifelines 0.26.3, Longshot 0.4.3, LSD2 2.2, MAFFT 7.487, MEME 5.4.1, MotionCor2 1.4.4, NCCL 2.11.4, netCDF 4.8.1, networkx 2.6.3, Nextflow 21.08.0, OpenBLAS 0.3.18, OpenCV 4.5.3, OrthoFinder 2.5.4, OSU-Micro-Benchmarks 5.8, PhyML 3.3.20200621, PostgreSQL 13.4, pygraphviz 1.7, pyproj 3.1.0, python-Levenshtein 0.12.1, PyTorch-Geometric 2.0.1, QIIME2 2021.8.eb, Qiskit 0.31.0, QuantumESPRESSO 6.8, Racon 1.4.21, rampart 1.2.0, rclone 1.56.0, RDKit 2021.03.4, SAMtools 1.13, scanpy 1.8.1, scikit-allel 1.3.3, SciPy-bundle 2021.10, Seaborn 0.11.2, SHAPEIT4 4.2.2, spglib 1.16.2, UCX 1.11.2, UCX-CUDA 1.11.2, VSEARCH 2.18.0, Z3 4.8.12, zarr 2.10.1
                • minor enhancements, including:
                  • add JASPAR2020 to R-bundle-Bioconductor 3.13 (#13962)
                  • add Autotools as build dependency for CubeGUI-4.6 (#14109)
                  • add compiler/parallel/tcltk R libraries included in base installation to extensions in recent R easyconfigs (#14189, #14190, #14194)
                    • required for parallel installation of extensions for these R easyconfigs
                  • also add location to MPI startup tests to $PATH in OSU-Micro-Benchmarks easyconfigs (#14126)
                • various bug fixes, including:
                  • add missing Brotli dependency to freetype (#13915, #14002)
                  • add patch for OpenBLAS 0.3.15 to fix failing numpy tests on aarch64 (#13923)
                  • fix source URL + add alternate checksum for ADMIXTURE 1.3.0 (#13933)
                  • just use cp to copy stereo_chemical_props.txt to AlphaFold installation directory (#13938)
                  • add UnZip build dependency to TensorFlow 2.4.1 (#13958), 2.5.0 (#13959) and 2.6.0 easyconfigs (#13960)
                  • add missing Python dependency for WIEN2k 21.1 + patch to fix build failure for lapw0_mpi with libxc (#13961)
                  • add additional valid checksum for lhs 1.1.1 extension in recent R 4.0.x and 4.1.0 easyconfigs (#13969)
                  • fix Fortran system call stdout/err redirection for WIEN2k v21.1 (#13972)
                  • add OpenSSL dependency to Kent_tools 418 easyconfig to fix a link error (#13989)
                  • make binutils a build-only dependency for Brotli + add sanity check command (#14004)
                  • fix installation of Racon v1.4.7 with gcccuda/2019b after move of ClaraGenomicsAnalysis repository (#14010)
                  • fix source URL for KEGG.db extension in R-bundle-Bioconductor 3.13 easyconfig (since it's a deprecated library now) (#14013)
                  • add patch for BLIS 0.8.1 to fix dgemm FPE signalling on Broadwell (#14018)
                  • add patch to fix installation of TensorFlow 2.2.3 on POWER (#14025)
                  • fix AmberTools v20 easyconfig using intel/2020a toolchain (#14028)
                  • fix download + permissions of binary for USEARCH v11.0.667 (#14036)
                  • remove h5py 3.x dependency for Keras with 2020b toolchain, since TensorFlow provides (and requires) h5py 2.x (#14052)
                  • correctly specify install prefix for CUDA in OSU-Micro-Benchmarks after renaming CUDAcore to CUDA for 2021a (#14063)
                  • add patch to fix failing file system cache test for jax on recent Linux kernels (#14067), #14070)
                  • fix compilation of BWA 0.7.17 with GCC/10.2.0 on POWER (#14073)
                  • add missing dependencies for recent LibTIFF versions: XZ, jbigkit, zstd (#14079)
                  • add missing header file to existing versions of jbigkit (#14081)
                  • fix source URL for SUNDIALS 5.x (#14092, #14096)
                  • add Perl and Python runtime dependencies to Bowtie2 2.4.4 (#14097)
                  • fix source URL for SCOTCH 6.1.0 (#14099)
                  • drop tcmalloc from SymEngine as it causes crashes with scipy (#14119)
                  • fix homepage + description in SimpleITK easyconfigs (#14125)
                  • add missing scripts from utils and analysis_scripts to bin for cryoDRGN (#14137)
                  • patch rsync_from_ncbi.pl in Kraken2 v2.1.2 to allow syncing with NCBI servers over HTTPS (#14148)
                  • skip mkl_fused_batch_norm_op_test test (broken on AMD EPYC systems) for TensorFlow 2.5.0 and 2.6.0 (#14151, #14153)
                  • fix incorrect module load message and update morphology plugin of ImageJ 1.51k (#14152)
                  • fix XCrySDen v1.6.2 linking to libdl and Togl (#14160)
                  • add patch to fix PMIx detection in OpenMPI v4.0.3, v4.0.5, v4.1.0 (#14177)
                  • add patch for OpenBLAS 0.3.17 + 0.3.18 to fix segfault triggered by scipy tests (#14178)
                  • fix spatstat.* downloads for Seurat v4.0.1 (#14199)
                  • add patch for GROMACS 2019.3 easyconfigs using CMake 3.15.3 to fix CPU detection (#14212)
                • other changes:
                  • remove help2man build dependency for flex using system toolchain (because it requires Perl) (#13922)
                  • use proper dependency for python-Levenshtein in CIRI-long easyconfig (#13985)
                  • in-place updates for foss/2021b and intel/2021b common toolchains
                    • update to UCX(-CUDA) 1.11.2 as dependency for OpenMPI v4.1.1 + NCCL v2.10.3 (#14090)
                    • update libfabric to 1.13.1 in OpenMPI and add it as a dependency in PMIx for the upcoming foss 2021b toolchain (#14164)
                    • update to OpenBLAS 0.3.18 as dependency for FlexiBLAS 3.0.4 with GCCcore/11.2.0 toolchain (#14167)
                    • update libfabric to 1.13.2 in OpenMPI v4.1.1 + PMIx 4.1.0 for the upcoming foss/2021b toolchain (#14176)
                  • remove format mapping from homepage of Subread easyconfigs (#14145)
                  • add BLIS and imkl (x86_64 only) builddependencies to FlexiBLAS 0.3.4 with GCC/11.2.0 toolchain (#14225)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb442","title":"EasyBuild v4.4.2 (September 7th 2021)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add per-extension timing in output produced by eb command (#3734)
                  • add definition for new toolchain nvpsmpic (NVHPC + ParaStationMPI + CUDA) (#3736)
                  • include list of missing libraries in warning about missing FFTW libraries in imkl toolchain component (#3776)
                  • check for recursive symlinks by default before copying a folder (#3784)
                  • add --filter-ecs configuration option to filter out easyconfigs from set of easyconfigs to install (#3796)
                  • check type of source_tmpl value for extensions, ensure it's a string value (not a list) (#3799)
                  • also define $BLAS_SHARED_LIBS & co in build environment (analogous to $BLAS_STATIC_LIBS) (#3800)
                  • report use of --ignore-test-failure in success message in output (#3806)
                  • add get_cuda_cc_template_value method to EasyConfig class (#3807)
                  • add support for fix_bash_shebang_for (#3808)
                  • pick up $MODULES_CMD to facilitate using Environment Modules 4.x as modules tool (#3816)
                  • use more sensible branch name for creating easyblocks PR with --new-pr (#3817)
                • various bug fixes, including:
                  • remove Python 2.6 from list of supported Python versions in setup.py (#3767)
                  • don't add directory that doesn't include any files to $PATH or $LD_LIBRARY_PATH (#3769)
                  • make logdir writable also when --stop/--fetch is used and --read-only-installdir is enabled (#3771)
                  • fix forgotten renaming of l to char in __init__.py that is created for included Python modules (#3773)
                  • fix verify_imports by deleting all imported modules before re-importing them one by one (#3780)
                  • fix ignore_test_failure not set for Extension instances (#3782)
                  • update iompi toolchain to intel-compiler subtoolchain for oneAPI versions (>= iompi 2020.12) (#3785)
                  • don't parse patch files as easyconfigs when searching for where patch file is used (#3786)
                  • make sure git clone with a tag argument actually downloads a tag (#3795)
                  • fix CI by excluding GC3Pie 2.6.7 (which is broken with Python 2) and improve error reporting for option parsing (#3798)
                  • correctly resolve templates for patches in extensions when uploading to GitHub (#3805)
                  • add --easystack to ignored options when submitting job (#3813)
                • other changes:
                  • speed up tests by caching checked paths in set_tmpdir + less test cases for test_compiler_dependent_optarch (#3802)
                  • speed up set_parallel method in EasyBlock class (#3812)

                easyblocks

                • 4 new software-specific easyblocks:
                  • CRISPR-DAV (#2487), jaxlib (#2545), ORCA (#2504), RepeatModeler (#2470)
                • minor enhancements, including:
                  • update ABAQUS easyblock to support installation of v2020 (#2034)
                  • enable make check and sanity check exec for OpenMPI (#2444)
                  • fixed sanity check for later versions of Molpro (#2499)
                  • add Ampere to known GPU architectures for Kokkos in LAMMPS easyblock (#2510)
                  • update sanity check in ESMF easyblock to take into account new binary names from version 8.1.0 onwards (#2512)
                  • use report_test_failure in TensorFlow easyblock (#2519)
                  • add support for imkl 2021.x in easyblocks for
                    • Amber (#2527), BerkeleyGW (#2528), CP2K (#2529), FreeFEM (#2530), GROMACS (#2531), numexpr (#2532)
                  • add install_src option and enhance buildcmd option in PythonPackage easyblock (#2534)
                  • make sure AOCC commands like clang/flang pick up GCCcore as GCC toolchain (#2538)
                  • create CMakeConfig files for tbb >= 2020 (#2539)
                  • find source dir for libunwind when building ldd for Clang versions >= 12.0.1 (#2540)
                  • fix motorBike test in sanity check for OpenFOAM 9 (#2544)
                  • generate and install pkg-config files for OpenSSL wrapper (#2549)
                  • don't run setup.py config for numpy >= 1.21, since it's no longer supported (#2554)
                  • update WIEN2k easyblock to handle new Intel versions, WIEN2k v21, Perl dependency, and tuning of dimension parameters (#2558)
                  • remove PCRE from list of system libraries for TensorFlow 2.6.0 (#2559)
                  • add support for also installing Tosca component in ABAQUS (#2560)
                  • update ABAQUS easyblock to support installing of version 2021 with hot fixes (#2562)
                  • update sanity check in VTune easyblock for 2021.x versions (#2563)
                • various bug fixes, including:
                  • handle failure of running nvidia-smi in TensorFlow tests (#2506)
                  • remove Python 2.6 from list of supported Python versions in setup.py (#2507)
                  • clean up installation of Tkinter (#2509)
                  • remove redundant $CPATH entry of tbb modules + fix --module-only (#2511)
                  • honor --ignore-test-failure in PythonPackage (#2516)
                  • use correct GTK+ version for OpenCV based on dependencies (#2520)
                  • ensure Python prep is done in sanity check + support debug builds in TensorFlow easyblock (#2522)
                  • correct cleanup of single-letter local variable in __init__ of easybuild.easyblocks (#2524)
                  • reset runtest to None in CMakePythonPackage (#2536)
                  • set $I_MPI_ROOT correctly for 2021.x in impi easyblock (#2537)
                  • let Bundle easyblock pick up custom easyblock for components based on name if no easyblock is specified explicitly (#2543, #2547)
                  • explicitly use only OpenBLAS for PyTorch if MKL is not used (#2448)
                  • keep symlinks in cuDNN installations (#2550)
                  • use ${BLAS,LAPACK}_SHARED_LIBS in GROMACS easyblock for FlexiBLAS-based toolchains (#2552)
                  • copy the list to avoid changing the original lists in DEFAULT_TARGETS_MAP for Clang and LLVM (#2556)
                  • fix pathsep join bug that breaks installation of CUDA versions < 10.1 if $PERL5LIB is defined (#2561)
                • other changes:
                  • simplify Boost easyblock (#2513)
                  • remove deprecated options from PythonPackage (#2535)

                easyconfigs

                • added easyconfig for foss/2021.07 (candidate for foss/2021b) (#13788) and iomkl/2021a (#13521) toolchains
                • added example easyconfig files for 79 new software packages:
                  • AlphaFold (#13867), andi (#13768), aria2 (#13709), AUTO-07p (#13831), babl (#13216), BAli-Phy (#13484), biogeme (#13735), Bio-SearchIO-hmmer (#13419), BuDDy (#13907), c-ares (#13709), CellRank (#13408), Coin (#13818), Co-phylog (#13769), cppy (#13823), CREST (#13648), CRISPR-DAV (#13139), CSBLAST (#13794), DGL (#13793), DistributedStream (#13659), Excel-Writer-XLSX (#13139), FBPIC (#13500), freebayes (#12859), freud-analysis (#13354), fumi_tools (#13517), GEGL (#13216), GIMP (#13216), glib-networking (#13216), GOATOOLS (#13364, #13629), gofasta (#13651), GTK2 (#13900), GTK3 (#13900), Highway (#13453), hipSYCL (#13837), ISA-L (#13663), jax (#13760), JSON-GLib (#13216), Kalign (#13463), LADR (#13351), lDDT (#13794), libdivsufsort (#13768), libjxl (#13453, #13829), libmypaint (#13216), libtecla (#13908), lie_learn (#13793), longestrunsubsequence (#13800), Maude (#13909), mimalloc (#13726), MINPACK (#13802), Mish-Cuda (#13759, #13784), muparserx (#13779), nlohmann_json (#13777), OpenStackClient (#13644), OSPRay (#12852), pandapower (#13687), pangolin (#13733, #13848), PSIPRED (#13794), PYPOWER (#13689), PyPSA (#13673), PyRosetta (#13793), pysamstats (#13139), pytest-benchmark (#13622), python-isal (#13663), QCxMS (#13650), RepeatModeler (#13126), Schrodinger (#11698), sklearn-som (#13699), SoQt (#13818), spdlog (#13778), SpectrA (#13743), SymEngine-python (#13652), SyRI (#13800), torchinfo (#13662), TRAVIS-Analyzer (#13503), UShER (#13708), Vampire (#13352), VBZ-Compression (#13536), VisPy (#13468), wgsim (#13475), Yices (#13906)
                • added additional easyconfigs for various supported software packages, including:
                  • ABAQUS 2020.eb, ANTs 2.3.5, AOCC 3.1.0, Arb 2.19.0, archspec 0.1.2, Armadillo 10.5.3, ASE 3.22.0, Autotools 20210726, BamTools 2.5.2, bgen 4.1.3, Biopython 1.79, bitarray 1.5.3, Boost 1.76.0, Bowtie2 2.4.4, bpytop 1.0.67, Cartopy 0.19.0.post1, Centrifuge 1.0.4, Clang 12.0.1, CMake 3.21.1, CRISPResso2 2.2.1, CUDA 11.4.1, cuDNN 8.2.2.26, cURL 7.78.0, cutadapt 3.4, DIAMOND 2.0.11, DROP 1.1.0, Dsuite 20210718, dtcmp 1.1.2, ecCodes 2.22.1, Elk 7.2.42, ESMF 8.1.1, expat 2.4.1, fastq-tools 0.8.3, Fiona 1.8.20, FLINT 2.7.1, g2clib 1.6.3, g2lib 3.2.0, GCC(core) 11.2.0, GDCM 3.0.8, GDRCopy 2.3, GenomeTools 1.6.2, GffCompare 0.12.2, gffread 0.12.7, GLib 2.69.1, GMT 6.2.0, Go 1.16.6, GPAW 21.6.0, Gradle 6.9.1.eb, GROMACS 2021.3, HarfBuzz 2.8.2, HDF5 1.12.1, Horovod 0.22.1, hwloc 2.5.0, hypothesis 6.14.6, igraph 0.9.4, ImageMagick 7.1.0, IMOD 4.11.5, IPython 7.26.0, Java 16, Julia 1.6.2, JupyterHub 1.4.1, JupyterLab 3.1.6, Kent_tools 418, lavaan 0.6-9, libfabric 1.13.0, libffcall 2.4, libffi 3.4.2, libgeotiff 1.7.0, libRmath 4.1.0, LIBSVM 3.25, LibTIFF 4.3.0, likwid 5.2.0, LLVM 12.0.1, LMDB 0.9.29, magma 2.6.1, MariaDB 10.6.4, MATIO 1.5.21, matplotlib 3.4.2, MEGA 10.0.5, Mesa 21.1.7, Meson 0.59.1, Metal 2020-05-05, Mini-XML 3.2, molmod 1.4.8, MPICH 3.4.2, nanopolish 0.13.3, NCCL 2.10.3, ncdu 1.16, NCO 5.0.1, neptune-client 0.10.5, netcdf4-python 1.5.7, networkx 2.5.1, nodejs 14.17.6, NSPR 4.32, NSS 3.69, NVHPC 21.7, OpenBLAS 0.3.17, OpenEXR 3.1.1, OpenFOAM 9, OpenFOAM v2106, OpenMM 7.5.1, OpenMolcas 21.06, openpyxl 3.0.7, Pango 1.48.8, parallel 20210722, Paraver 4.9.2, ParaView 5.9.1, patchelf 0.13, PCRE2 10.37, PCRE 8.45, Perl 5.34.0, PETSc 3.15.1, petsc4py 3.15.0, Pillow 8.3.1, Pillow-SIMD 8.3.1, plotly.py 5.1.0, PLUMED 2.7.2, PMIx 4.1.0, poppler 21.06.1, PostgreSQL 13.3, preseq 3.1.2, pybind11 2.7.1, pyFFTW 0.12.0, PyGEOS 0.10.2, Pyomo 6.0.1, PyQt5 5.15.4, pyshp 2.1.3, Python 3.9.6, python-igraph 0.9.6, QTLtools 1.3.1, RAxML-NG 1.0.3, R-bundle-Bioconductor 3.13, re2c 2.2, ReFrame 3.8.0., RStudio-Server 1.4.1717, Rust 1.54.0, Scalasca 2.6, scVelo 0.2.3, Shapely 1.8a1, shrinkwrap 1.1.0, SLEPc 3.15.1, slepc4py 3.15.1, snakemake 6.6.1, snappy 1.1.9, snippy 4.6.0, snpEff 5.0e, SOCI 4.0.2, SpaceRanger 1.3.0, Spack 0.16.2, spatialreg 1.1-8, spglib-python 1.16.1, SQLite 3.36, STAR 2.7.9a, statsmodels 0.12.2, StringTie 2.1.7, Subread 2.0.3, SymEngine 0.7.0, TensorFlow 2.6.0, TetGen 1.6.0, Tkinter 3.9.6, torchtext 0.9.1, tqdm 4.61.2, UCX 1.11.0, UCX-CUDA 1.11.0, unrar 6.0.2, util-linux 2.37, VTune 2021.6.0, WIEN2k 21.1, WPS 4.2, WRF 4.3, X11 20210802, x264 20210613, xarray 0.19.0, XlsxWriter 1.4.4, XML-Parser 2.46, zstd 1.5.0
                • minor enhancements, including:
                  • add extensions to recent R v4.x easyconfigs: PCAmatchR (#13448), hal9001 (#13451), cobalt (#13544), CBPS (#13549), SBdecomp (#13565), lwgeom (#13674), naturalsort (#13762), finalfit + gtsummary (#13766)
                  • add VBZ compress capability to nanopolish 0.13.3 (for fast5 files) (#13536)
                  • add CMake build dependency to easyconfig for tbb 2020.03 (#13704)
                  • also build shared libs for MUMPS 5.3.5 (#13702) and 5.4.0 (#13705)
                  • add dependency on pkg-config to OpenSSL wrappers (#13765)
                • various bug fixes, including:
                  • fix LAMMPS 3Mar2020 easyconfigs using intel toolchain on AMD CPUs by patching out hardcoded -xHost (#11577)
                  • fix sanity check error for OpenCV v4.5.1 by adding (and using) freetype and HarfBuzz dependencies (#12517)
                  • add patches for TensorFlow 1.13.1 to fix installation (#13326)
                  • remove Python 2.6 from list of supported Python versions in setup.py (#13349)
                  • switch back to Bundle easyblock for PyQt5 5.15.1 + add back source URLs for components (#13371)
                  • add pkg-config build dependency for GDAL 3.2.1 (#13383, #13808), Rust (#13538), GenomeTools (#13805), x264 (#13834)
                  • add missing Python 3 build dependency for Rust v1.52.1 (#13399)
                  • fix order of cffi extension in old Python easyconfigs (#13400)
                  • patch out __asm__ use in ctffind to avoid build failure on ppc64le (#13409)
                  • disable building man pages in Gdk-Pixbuf (#13410)
                  • add missing Bio-Search-hmmer dependency for prokka (#13419)
                  • avoid downloading old numpy version during install for h5py (#13428)
                  • add patch for Qt5 5.8.0 to fix compilation failure in webkit (#13434)
                  • avoid downloading and building freetype and qhull for matplotlib 3.4.2 (#13437)
                  • fix order of components in recent GTK+ easyconfigs to avoid dependency on system GTK+ in GTK+ themes (#13449)
                  • fix Python 2.7.13 easyconfigs by adding missing extensions (#13456)
                  • add TensorFlow patch to fix crash on shutdown (#13462)
                  • allow for non-x86_64 in postinstallcmds for CuPy (#13501)
                  • disable default EULA acceptance in easyconfig for NVHPC v21.5 (#13516)
                  • fix error with p7zip's 7z command not finding 7z.dll (#13542)
                  • patch MaxBin2 Perl script to use provided Perl dependency (#13551)
                  • add missing zlib dependency to libarchive (#13579)
                  • fix pkgconfig version in patch for bzip 1.0.8 (+ add easyconfig with GCCcore/11.2.0 toolchain) (#13581)
                  • fix build of DIRAC 19.0 easyconfig with high compiler optimizations (#13613)
                  • fix source URLs and add alternative checksum for Hypre 2.15.1 (since it moved to a different GitHub repo) (#13616)
                  • add new source URL for Mesa easyconfigs using 2017b toolchain (#13617)
                  • avoid MPICXX dependency in SimpleElastics ITK (#13623)
                  • add upstream patch for GCC 9.x, 10.x, 11.x to avoid spurious FPE on avx512 (affects UCX) (#13628)
                  • add patch for ctffind 4.1.14 to declare functions without return as void (fixes segfault) (#13665)
                  • enable EGL in recent libepoxy ECs (#13684)
                  • remove unused buildcmd from libgpuarray easyconfigs (#13720)
                  • add patch to fix building Qt5.10.1 against newer glibc (#13730)
                  • add Python 3 as a builddependency to recent fontconfig easyconfigs (#13731)
                  • update source_URL in BLAST 2.2.26 easyconfig (#13732)
                  • restore error message on failing easyconfigs test suite, required by bot to determine end of output of test suite (#13745, #13770)
                  • add Perl build dependency to recent Clang easyconfigs (#13746)
                  • disable using system Valgrind in the json-c tests (#13750)
                  • use Archive source URL for spatstat.geom extension in Seurat (#13761)
                  • add ld.gold relocts patch to binutils 2.30 (#13785)
                  • add missing Python + Zip build dependencies for old Bazel versions used as build dep for TensorFlow 1.12.0 + 1.13.1 (#13786)
                  • add alternative checksum for AFNI 18.3.00 (#13790)
                  • update tensorflow-probability easyconfigs to include --release flag in installopts (#13810)
                  • fix source URL for DB 18.1.32 (#13813)
                  • add missing cppy build dependency for matplotlib 3.4.2 (#13823)
                  • disable bash completion in recent x264 easyconfigs (#13834)
                  • add Perl as build dependency for ELPA 2021.05.001 + patch to fix hardcoded /usr/bin/perl (#13835)
                  • add archive source URL to Spark 3.x easyconfigs to fix broken download (#13842)
                  • fix PCRE dependency for GDAL 3.2.1 and 3.3.0, don't use PCRE2 (#13861)
                  • add Perl build dependency for HMMER 3.3.2 + patch to ensure it is used (#13870)
                  • stick to intel-compilers toolchain for DFT-D3 v3.2.0 (#13878)
                  • add missing flex build dependency for leidenalg (#13884)
                  • update CMake build dependency for Eigen 3.3.4 + 3.3.5 (#13889)
                  • fix source URL for Yasm 1.3.0 (+ add missing checksum) (#13901)
                  • update to more recent Meson build dependency for GCCcore/8.3.0 easyconfigs to fix failing RPATH sanity check (#13910)
                  • fix shebang for RepeatMasker 4.1.2-p1 Perl script (#13911)
                • other changes:
                  • use custom ORCA easyblock in easyconfigs for ORCA v4.x (#13348)
                  • move archived easyconfig files to correct __archive__ folder (#13422)
                  • rename NINJA to TWL-NINJA to avoid nameclash (#13529)
                  • remove superfluous configopts and add sanity checks/checksums in CLHEP easyconfigs (#13614)
                  • remove superfluous -DCMAKE_BUILD_TYPE configuration option in Arrow easyconfigs (#13615)
                  • switch ITK easyconfigs to CMakePythonPackage easyblock, also enable -DITK_USE_SYSTEM_HDF5 configuration option, fix download URLs (#13619)
                  • use build_type instead of -DCMAKE_BUILD_TYPE=RELEASE in configopts in MMseqs2 easyconfigs (#13620)
                  • avoid using system GTK+3 and remove -DCMAKE_BUILD_TYPE=RELEASE configure option in OpenCV easyconfigs (#13621)
                  • remove -DCMAKE_BUILD_TYPE=RELEASE configure option and add checksums in LLVM easyconfigs (#13624)
                  • create libtinfo symlinks in easyconfigs for ncurses with system toolchain (#13658), 6.1 (#13661) and 6.2 (#13660)
                  • increase test timeouts for PyTorch 1.8.1 and 1.9.0 (#13700)
                  • rename CUDAcore to CUDA for v11.3.1 and v11.4.1 after merging foss/fosscuda, to ensure that get_software_root('CUDA') used in easyblocks works (#13874)
                  • use CUDA instead of CUDAcore in recent NVHPC comments (#13875)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb441","title":"EasyBuild v4.4.1 (July 6th 2021)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • enhance detection of patch files supplied to eb command with better error messages (#3709)
                  • add per-step timing information (#3716)
                  • add module-write hook (#3728)
                  • add ignore-test-failure configuration option to ignore failing test step (#3732)
                  • add toolchain definition for nvompic (NVHPC + OpenMPI) (#3735)
                  • warn about generic milestone in --review-pr and --merge-pr (#3751)
                • various bug fixes, including:
                  • don't override COMPILER_MODULE_NAME, inherited from Ffmpi, in Fujitsu toolchain definition (#3721)
                  • avoid overwriting pr_nr in post_pr_test_report for reports with --include-easyblocks-from-pr (#3724, #3726)
                  • fix crash in get_config_dict when copying modules that were imported in easyconfig file (like import os) (#3729)
                  • parse C standard flags in CFLAGS for Fujitsu compiler (#3731)
                  • fix error message for --use-ccache (#3733)
                  • error out when passing a list to run_cmd* to avoid running wrong command unintended, unless shell=True is used (#3737)
                  • minor fixes to output of test reports when using multiple PRs (#3741)
                  • fix location for modules installed with intel-compilers toolchain in HierarchicalMNS by always checking toolchain compiler name against template map (#3745)
                  • avoid checking msg attribute of GitCommandError (#3756)
                  • consider sources provided as dict in EasyBlock.check_checksums_for (#3758)
                  • don't make changes to software installation directory when using --sanity-check-only (#3761)
                  • honor specified easyblock for extensions (#3762)
                • other changes:
                  • make sure that tests requiring a github token have github in the test name so that they can be easily filtered (#3730)
                  • deprecate EasyBuild bootstrap script (#3742)
                  • use temporary download folder in test_http_header_fields_urlpat (#3755)

                easyblocks

                • 5 new software-specific easyblocks:
                  • AOMP (#2435, #2462, #2464), FreeFEM (#1969), NCCL (built from source) (#2337, #2460), torchvision (#2467), UCX plugins (#2491)
                • minor enhancements, including:
                  • enhance Amber easyblock to support installing Amber via CMake (#2445)
                  • enhance ConfigureMake generic easyblock to add support for building multiple build targets (#2449, #2479, #2480)
                  • enhance sanity check for Clang to verify if CUDA offload library was produced (#2454)
                  • update custom easyblock for Boost to always build single and multi threaded versions (#2456)
                  • enhance sitecustomize.py in Python easyblock to support overriding core Python packages, and allowing overriding in virtualenv (#2458, #2483)
                  • update CMakeMake to handle old and new Boost/Boost.Python builds using custom easyblock for Boost (#2461)
                  • add file prefix option to XALT easyblock (#2463)
                  • enhance Java easyblock to define %(jdkarch)s template (#2472)
                  • adjust Perl easyblock to only check for a man subdirectory if groff is a dependency (#2474)
                  • support arbitrary version strings in OpenSSL wrapper and add minimum_openssl_version option (#2475)
                  • enhance Python easyblock to explicitly disable installing core-pip when install_pip is not True (#2476)
                  • enhance intel-compiler easyblock to include multipath include dir in $CPATH (#2477)
                  • enhance Hypre easyblock to enable CUDA support (#2482)
                  • update Xmipp easyblock for new version (v3.20.07) (#2486)
                  • enhance FFTW easyblock to skip tests if --mpi-tests EasyBuild configuration option is disabled (#2490)
                  • use PYPI_SOURCE as the default for source_urls of extensions of Python easyconfigs (#2493)
                • various bug fixes, including:
                  • only use siterc fix for NVHPC < 21.3 (#2453)
                  • fix CPU-only runtime for dpcpp-generated executables in custom easyblock for intel-compilers (#2457)
                  • always add distinct_host_configuration=false to build command for TensorFlow (#2459)
                  • disable installation of bundled BioPerl and HTSLib if they are dependencies of VEP (#2468)
                  • don't use list value for command to detect installed Python packages in TensorFlow easyblock (#2469)
                  • change Bundle easyblock to also collect altroot and altversion in the module step so they are set when running --module-only (#2485)
                  • always strip output from gcc -print-multiarch in intel-compilers easyblock (#2489)
                  • don't overwrite all of exts_default_options in TensorFlow easyblock (#2494)
                  • enhance GCC easyblock to make sure that system GCC provides LTO support, and disable LTO when building MPFR if not (#2498)
                  • rework the dependency handling of OpenMPI to use explicit configure options to disable features if required dependency is not provided (#2500, #2501)

                easyconfigs

                • added example easyconfig files for 39 new software packages:
                  • AMPHORA2 (#13003), AOMP (#12909), CAMPARI (#13152), CSB (#12877), dijitso (#10719), DosageConvertor (#13278), dSFMT (#12971), exiv2 (#13204), FEniCS (#10719), FreeFEM (#9902), futhark (#12921), futile (#12864), gappa (#13186), GenomeWorks (#13083, #13092), gexiv2 (#13204), HAL (#13267), hipify-clang (#12961), inline (#12029), libcint (#13214), LTR_retriever (#13125), mapDamage (#13172), MbedTLS (#13061), microctools (#13010), Nektar++ (#12664), NINJA (#13125), OBITools3 (#12969), ont-fast5-api (#13033), OpenMM-PLUMED (#13268), phototonic (#13241), PyFoam (#12675), RagTag (#13247), RcppGSL (#13172), RECON (#13123), RepeatScout (#13124), retworkx (#13228), UCX-CUDA (#13260), unimap (#13247), Vala (#13204), WhatsHap (#12989)
                • added additional easyconfigs for various supported software packages, including:
                  • Amber 20.11, BBMap 38.90, Beast 2.6.4, BLIS 3.0 (AMDo fork), Bonito 0.4.0, CellRanger-ARC 2.0.0, CellRanger-ATAC 2.0.0, Check 0.15.2, CubeGUI 4.6, CubeLib 4.6, CubeWriter 4.6, cuDNN 8.2.1.32, CVXOPT 1.2.6, DOLFIN 2019.1.0.post0, eggnog-mapper 2.1.4, ELPA 2021.05.001, FDS 6.7.6, FFC 2019.1.0.post0, FFmpeg 4.3.2, FIAT 2019.1.0, flatbuffers 2.0.0, flatbuffers-python 2.0, FLTK 1.3.6, gc 8.0.4, GCC 8.4.0 + 9.4.0, GDAL 3.3.0, Gdk-Pixbuf 2.42.6, geopy 2.1.0, Ghostscript 9.54.0, git 2.32.0, GitPython 3.1.18, GLFW 3.3.4, gmsh 4.8.4, gnuplot 5.4.2, GnuTLS 3.7.2, Go 1.16.5, GObject-Introspection 1.68.0, gperftools 2.9.1, GraphicsMagick 1.3.36, Graphviz 2.47.2, GSL 2.7, GTK+ 2.24.33, Guile 2.2.7, h5py 3.2.1, HarfBuzz 2.8.1, Horovod 0.22.0, Hypre 2.21.0, ICU 69.1, ImageMagick 7.0.11-14, IOR 3.3.0, IPython 7.25.0, IRkernel 1.2, ispc 1.16.0, JupyterLab 3.0.16, LDC 1.26.0, libcerf 1.17, libepoxy 1.5.8, libgd 2.3.1, libStatGen 1.0.15, libxc 5.1.5, LittleCMS 2.12, LMfit 1.0.2, Lua 5.4.3, M4 1.4.19, MCR R2021a.3, medaka 1.4.3, Mercurial 5.8, minimap2 2.20, MMseqs2 13, MrBayes 3.2.7, MUMPS 5.4.0, NCCL 2.9.9, netCDF 4.8.0, Nim 1.4.8, nodejs 14.17.0, Nsight-Compute 2021.2.0, numba 0.53.1, NVHPC 21.5.eb, nvtop 1.2.1, Octave 6.2.0, OPARI2 2.0.6, openkim-models 20210128, OpenMPI 4.0.6, OTF2 2.3, p11-kit 0.24.0, Pango 1.48.5, parallel 20210622, petsc4py 3.12.0, picard 2.25.5, Pillow 8.2.0, PROJ 8.0.1, protobuf 3.17.3, protobuf-python 3.17.3, PSolver 1.8.3, PySCF 1.7.6, pyspoa 0.0.8, pytest-xdist 2.3.0, PyTorch 1.9.0, PyYAML 5.4.1, Qhull 2020.2, Quandl 3.6.1, R 4.0.5 + R 4.1.0, Ragout 2.3, RE2 2021-06-01, ReFrame 3.6.2, RepeatMasker 4.1.2, rgdal 1.5-23, RMBlast 2.11.0, Ruby 3.0.1, scikit-learn 0.24.2, Score-P 7.0, Seurat 4.0.3, slepc4py 3.12.0, spoa 4.0.7, Subread 2.0.2, Subversion 1.14.1, SuiteSparse 5.10.1, sympy 1.8, tensorboardX 2.2, TensorFlow 2.5.0, Tk 8.6.11, tmux 3.2a, torchtext 0.8.1, torchvision 0.9.1, UDUNITS 2.2.28, UFL 2019.1.0, utf8proc 2.6.1, VEP 103.1, VMD 1.9.4a51, vsc-mympirun 5.2.6, XCFun 2.1.1, Xvfb 1.20.11, Z3 4.8.11, ZeroMQ 4.3.4
                • minor enhancements, including:
                  • update cuDNN 8.0.x easyconfigs with a download location (#12368)
                  • add extensions to recent R easyconfigs: GxEScanR (#13039), cSEM (#13208), cubelyr + broom.mixed (#13252), grf (#13261), twang + xgboost (#13284), neuralnet (#13330)
                  • add check to easyconfigs test suite to ensure OpenSSL wrapper is used in easyconfigs using a recent toolchain (#13079)
                  • add gipaw to QuantumESPRESSO/6.7 (#13087)
                  • add checksum for aarch64 installation file for CUDAcore easyconfigs (#13014, #13097)
                  • add Perl dependency to makeinfo easyconfigs (#13166)
                  • set minimal OpenSSL version to 1.1.1 for OpenSSL v1.1 wrapper (#13188)
                  • add JIT support for CUDA 11 to PyTorch 1.7.1 (#13207)
                  • add ninja --version as sanity check command in Ninja easyconfigs (#13222)
                  • code cleanup + improvements for easyconfigs test suite (#13257)
                • various bug fixes, including:
                  • download sources via git for XGBoost 20171120 easyconfig due to use of submodules (#6880)
                  • add elfutils as build dependency for Clang 8.0.x and 9.0.1 (#13015) and Clang 11.0.1 (#13008) easyconfigs that have a CUDA dependency
                  • add missing CMake option to Geant4 v10.7.1 in order to actually use external CLHEP (#13019)
                  • add new checksum for mvabund extension to R v4.0.4 eaysconfigs (#13020, #13021)
                  • add patch to fix numpy test_ccompiler_opt in SciPy-bundle v2021.05 (#13042)
                  • add patch to fix installation of HDF 4.2.15 on aarch64 (#13059)
                  • make sure that MbedTLS' Makefile uses python rather than python2 (#13061)
                  • fix checksum for snpEff 5.0 (#13062)
                  • fix source URL for LIBSVM 3.24 by downloading from GitHub (#13076)
                  • add preinstallopts for minimap2 to fix installation on aarch64 (#13080)
                  • add patch for GCC 10.2.0 to fix internal compiler error on aarch64 (#13086)
                  • switch to NCCL 2.8.3 built from source for CuPy, Horovod, libgpuarray, PyTorch and TensorFlow using fosscuda/2020b (#13103)
                  • add astor to dependencies of TensorFlow with 2019b (#13111) and 2020b (#13103, #13112) toolchains
                  • break cyclic dependency between groff, makeinfo and Perl by adding Perl-minimal and makeinfo-minimal easyconfigs (#13163 - #13165)
                  • add missing rgdal dep to R-INLA (#13179)
                  • add patch to fix uniq operation in TensorFlow 2.4.1 (#13181)
                  • add Perl build dependency for PnetCDF 1.12.1 (#13183)
                  • disable own avx detection of libfabric v1.12.1 (#13215)
                  • add GCCcore-[1-9][0-9].x to test_dep_versions_per_toolchain_generation (#13243, #13249, #13251)
                  • add patch to fix installation of TensorFlow 2.0.x (#13248)
                  • add patch for recent GCCcore versions to fix compatibility with CUDA 11 (#13290)
                  • fix install step for glew (#13297)
                  • update Boost 1.74.0 easyconfigs to use tagged_layout rather than boost_multi_thread (#13300)
                  • avoid using PMIx from system instead of PMIx dependency specified via --with-pmix for OpenMPI 4.x (#13307)
                  • add patch for GCCcore 10.3.0 to prevent issues when compiling with nvcc (#13310)
                  • add patch for OpenMPI 4.0.x to fix building against (system) UCX version > 1.7 (#13329)
                  • fix build of manta 1.6.0 on top of Boost 1.74.0 (#13338)
                  • fix recent taxator-tk easyconfigs by adding (back) -DBoost_NO_BOOST_CMAKE=ON configure option (#13342)
                • other changes:
                  • disable debuginfod for elfutils to minimize required dependencies (#13034)
                  • add bare Python 3.9.5 easyconfig and use that as builddep for LLVM 11.1.0 (#13035)
                  • remove misleading comment from Python >= 3.7 easyconfigs, libffi is now also required for Python itself (no longer bundled) (#13041)
                  • use new custom easyblock in torchvision easyconfigs (#13102)
                  • remove superfluous TensorFlow patch (#13223)
                  • cleanup of easyconfigs for (bundles) of Python packages: remove default PYPI_SOURCE source URLs + use PythonBundle rather than Bundle easyblock (#13253, #13295, #13336)
                  • update README with instructions for MATLAB easyconfigs (#12597)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb440","title":"EasyBuild v4.4.0 (June 2nd 2021)","text":"

                feature release

                framework

                • various enhancements, including:
                  • enhance apply_regex_substitutions to allow specifying action to take in case there are no matches (#3440)
                  • performance improvements for easyconfig parsing and eb startup (#3555)
                  • add support for downloading easyconfigs from multiple PRs with --from-pr (#3605, #3707, #3708)
                  • add support for prepending custom library paths in RPATH section via --rpath-override-dirs (#3650)
                  • allow amending easyconfig parameters which are not the default (#3651)
                  • update HierarchicalMNS for Intel OneAPI compilers (#3653)
                  • add support for --sanity-check-only (#3655)
                  • add support for running commands asynchronously via run_cmd + complete_cmd functions (#3656)
                  • add support for using oneAPI versions of 'intel' toolchain components (#3665)
                  • add toolchain definition for gofbf (foss with FlexiBLAS rather than OpenBLAS) (#3666)
                  • add support for using ARCH constant in easyconfig files (#3670)
                  • honor keyboard interrupt in eb command (#3674)
                  • add toolchain definition for Fujitsu toolchain (#3677, #3704, #3712, #3713, #3714, #3717)
                  • extend sanity check step to check whether specific libraries are not linked into installed binaries/libraries (#3678)
                    • via banned-linked-shared-libs and required-linked-shared-libs EasyBuild configuration options
                    • via banned_linked_shared_libs and required_linked_shared_libs methods in toolchain support
                    • via banned_linked_shared_libs and required_linked_shared_libs methods in easyblock
                    • via banned_linked_shared_libs and required_linked_shared_libs easyconfig parameters
                  • add locate_solib function to locate Linux shared libraries (#3682)
                  • add system agnostic function to locate shared libraries (#3683)
                  • add update_build_option function to update specific build options after initializing the EasyBuild configuration (#3684)
                  • allow opting out of recursively unloaded of modules via recursive_module_unload easyconfig parameter (#3689)
                  • check for correct version values when parsing easystack file (#3693)
                  • run post-install commands specified for a specific extension (#3696)
                  • add support for --skip-extensions (#3702)
                  • include PR title in output produced by --merge-pr (#3706)
                • various bug fixes, including:
                  • avoid metadata greedy behaviour when probing for external module metadata (mostly relevant for integration with Cray Programming Environment) (#3559)
                  • catch problems early on if --github-user is not specified for --new-pr & co (#3644)
                  • re-enable write permissions when installing with read-only-installdir (#3649)
                  • also run sanity check for extensions when using --module-only (#3655)
                  • improve logging when failing to load class from exts_classmap (#3657)
                  • fix use of --module-only on existing installations without write permissions (#3659)
                  • correct help text for subdir-user-modules (#3660)
                  • avoid picking up easyblocks outside of sandbox in framework tests (#3680)
                  • use unload/load in ModuleGeneratorLua.swap_module, since swap is not supported by Lmod (#3685)
                  • update HierarchicalMNS to also return 'Toolchain/<name>/<version>' as $MODULEPATH extension for cpe* Cray toolchains (#3686)
                  • make EasyConfigParser.get_config_dict return a copy rather than a reference (#3692)
                  • make sure that $TAPE is unset when using piped tar (#3698)
                  • fix extending message for changed files in new_pr_from_branch (#3699)
                  • enhance sched_getaffinity function to avoid early crash when counting available cores on systems with more than 1024 cores (#3701)
                  • correctly strip extension from filename in extract_cmd and back_up_file functions (#3705)
                • other changes:
                  • deprecate adding a non-existing path to $MODULEPATH (#3637)
                  • bump cryptography requirement from 3.2.1 to 3.3.2 (#3643, #3648)
                  • test bootstrap script in separate workflow, and limit test configurations a bit (#3646)
                  • update setup.py to indicate compatibility with Python 3.8 and 3.9 (#3647)
                  • replace log_error parameter of which() by on_error (#3661, #3664)
                  • don't skip sanity check for --module-only --rebuild (#3645)
                  • move disable_templating function into the EasyConfig class (#3668)
                  • pin GitPython version for Python<3.6, don't test bootstrap script against Python 3.8/3.9 (#3675)
                  • tweak foss toolchain definition to switch from OpenBLAS to FlexiBLAS in foss/2021a (#3679)
                  • suggest missing SSH key when not able to read from remote repository in --check-github (#3681)
                  • drop support for Python 2.6 (#3715)

                easyblocks

                • 3 new software-specific easyblocks:
                  • FlexiBLAS (#2369, #2422, #2424, #2426)
                  • dm-reverb (#2413)
                  • custom easyblock to install OpenSSL wrapper for OpenSSL installed in OS, with fallback to build and install OpenSSL from source if not available in OS (#2429)
                • minor enhancements, including:
                  • also add -pthread to prebuildopts of cryptography (#2270)
                  • don't unpack Python wheel (*.whl) files by default in generic PythonPackage easyblock (#2366, #2442)
                  • enable installation of samples for CUDA > 10.1 (#2374)
                  • add option to disable pip connecting to PyPi (enable use of --no-index) (#2390)
                  • update MotionCor2 easyblock to handle new version and be aware of CUDAcore (#2394)
                  • make it possible to force disabling kernel features in Qt easyblock (#2403)
                  • update imkl easyblock to support oneAPI versions (>= 2021.x) (#2407)
                  • add\"gurobi_cl --help as default sanity check command for Gurobi (#2411)
                  • enhance BWA easyblock to copy includes and libraries (#2417)
                  • allow default versions to be defined by ModuleRC easyblock (#2418)
                  • enhance MesonNinja and CMakeMake easyblocks to create unused build dir when separate_build_dir is set (#2419)
                  • enable sanity_pip_check by default for Python easyconfigs if pip >= 9.0 will be installed (#2423)
                  • enhance FFTW easyblock to support SVE CPU feature and building with Fujitsu compiler (#2425)
                  • make ScaLAPACK easyblock aware of FlexiBLAS (#2427)
                  • update imkl easyblock to unpack example tarballs and set $MKL_EXAMPLES (+ some code cleanup) (#2430)
                  • update list of system libs for TensorFlow 2.5 (#2432)
                  • allow disabling MPI tests when installing Intel MPI (impi) via --disable-mpi-tests (#2440)
                  • exclude bottleneck tests in PyTorch (#2450)
                • various bug fixes, including:
                  • ensure lib subdirectory is found in stage 2 of GCC installation + fall back to lib64 (#2339)
                  • fix permission on MATLAB installer config file so it can be written to (#2385)
                  • fix problem with installing older CUDA versions that uses the Perl based installer (#2387)
                  • enhance Python easyblock: add option to install pip with core Python, tweak defaults, create unversioned pip symlink (#2388)
                  • fix installopts before installing the extension in GROMACS easyblock (#2391)
                  • updated numpy easyblock to use read_file for patch (#2395)
                  • use explicit build toolset and compiler path in Boost easyblock (#2402)
                  • replace hardcoded 2021.1.1 with self.version in impi easyblock (#2405)
                  • set $SANDCASTLE when running PyTorch tests to disable some tests as-if we are on Facebook's CI (#2412)
                  • make GROMACS easyblock work with --module-only (#2414)
                  • make sure OpenFOAM sanity checks don't require builddir write permissions (#2415)
                  • make Tkinter easyblock work with --module-only (#2416)
                  • also disable altivec with FFTW 3.3.9 on POWER (#2437)
                  • make sure that self.python_cmd is set before using it in PythonPackage.sanity_check_step (#2447)
                • other changes, including:
                  • update setup.py to indicate compatibility with Python 3.8 and 3.9 (#2384)
                  • use on_error rather than deprecated log_error named argument for which function (#2406)
                  • remove cuda_compute_capabilities from custom easyconfig parameters for Clang, LAMMPS and TensorFlow (now supported as general easyconfig parameter) (#2433)

                easyconfigs

                • added easyconfigs for new Fujitsu toolchain: FCC/4.5.0 (#12999, #12995, #13007), ffmpi/4.5.0 (#13000) and Fujitsu/21.05 (#13001, #13007)
                • add easyconfigs for updates of common toolchains: foss/2021a (#12867, #12975), intel/2021a (#12885, #12975)
                  • see also https://easybuild.readthedocs.io/en/latest/Common-toolchains.html
                • added easyconfig for gomkl/2021a toolchain (#12987)
                • added example easyconfig files for 58 new software packages:
                  • Archive-Zip (#12651), BirdNET (#12737, #12712, #12737), cell2location (#12448), cryoDRGN (#12704), dm-reverb (#12824), DROP (#12559, #12801, #12950), fastahack (#12841), fermi-lite (#12856), filevercmp (#12841), FlexiBLAS (#12476), freetype-py (#12918), fsom (#12841), garnett (#12529), gawk (#12716), gemmi (#12855), georges (#12570), hifiasm (#12897), intervaltree (#12838), LDC (#12671), libidn2 (#12670), librosa (#10477), librsb (#12780), line_profiler (#12556), loompy (#12804), mmtf-cpp (#12580), mongolite (#12632), msgpack-c (#12580), multichoose (#12839), networkTools (#12810), NewHybrids (#12528), Octopus-vcf (#12598), onedrive (#12671), p4-phylogenetics (#12549), pagmo (#12678), pyfaidx (#12872), pyfasta (#12952), pygmo (#12678), pysheds (#12791), R-INLA (#12955, #12927, #12955), RegTools (#12874), request (#12448), rMATS-turbo (#12982), scanpy (#12731), SeqLib (#12856), SeuratData (#12993), SeuratWrappers (#12994), smithwaterman (#12841), snp-sites (#12900), SSW (#12856), tabixpp (#12837), TagDust (#11599), TALON (#12963), tMAE (#12559), TranscriptClean (#12952), umap-learn (#12448), vcflib (#12841), xESMF (#12799), XlsxWriter (#12820)
                • added additional easyconfigs for various supported software packages, including:
                  • ABINIT 9.4.1, apex 20210420, astropy 4.2.1, binutils 2.36.1, BLIS 0.8.1, Bonito 0.3.8, BUSCO 5.1.2, canu 2.1.1, carputils 20210513, CastXML 0.4.3, ccache 4.2.1, CDO 1.9.10, CIRCexplorer2 2.3.8, CLHEP 2.4.4.0, CMake 3.20.1, CNVkit 0.9.8, CUDA(core) 11.3.0, CuPy 8.5.0, cURL 7.76.0, DFA 2.1.2, Doxygen 1.9.1, Eigen 3.3.9, FastANI 1.33, FFTW 3.3.9, GATK 4.2.0.0, GCC 10.3.0 + 11.1.0, GDB 10.2, gdc-client 1.6.0, GDRCopy 2.2, Geant4 10.7.1, Geant4-data 20210510, GeneMark-ET 4.65, glew 2.2.0, GLib 2.68.2, GLPK 5.0, GMP 6.2.1, Go 1.16.3, Graphviz 2.47.0, GROMACS 2021.2, GStreamer 1.18.4, GTDB-Tk 1.5.0, Gurobi 9.1.2, HMMER 3.3.2, Horovod 0.21.3, hwloc 2.4.1, hypothesis 6.13.1, IGV 2.9.4, impi 2021.2.0, imkl 2021.2.0, intel-compilers 2021.2.0, JasPer 2.0.28, Julia 1.6.1, Kraken2 2.1.1, KronaTools 2.8, libarchive 3.5.1, libdeflate 1.7, libdrm 2.4.106, libfabric 1.12.1, libreadline 8.1, libRmath 4.0.0, libsndfile 1.0.31, LIBSVM 3.24, LibTIFF 4.2.0, libunwind 1.5.0, libwebp 1.2.0, LLVM 11.1.0, LMDB 0.9.28, LUMPY 0.3.1, lz4 1.9.3, Mako 1.1.4, MATLAB 2021a, Mesa 21.1.1, meshalyzer 2.2, Meson 0.58.0, MetaBAT 2.15, metaWRAP 1.3, minimap2 2.18, Molden 6.8, MotionCor2 1.4.2, ncview 2.1.8, NetPIPE 5.1.4, nettle 3.7.2, NiBabel 3.2.1, Nilearn 0.7.1, Nim 1.4.6, Ninja 1.10.2, NLopt 2.7.0, NSS 3.65, numactl 2.0.14, NWChem 7.0.2, OpenBLAS 0.3.15, openCARP 6.0, OpenEXR 3.0.1, OpenMM 7.5.0, OpenMPI 4.1.1, OpenSSL 1.1 (wrapper), OSU-Micro-Benchmarks 5.7.1, Pandoc 2.13, parallel 20210322, parasail 2.4.3, PAUP 4.0a168, PCRE2 10.36, Perl 5.32.1, pigz 2.6, PMIx 3.2.3, Primer3 2.5.0, PRSice 2.3.3, py-aiger 6.1.14, pybind11 2.6.2, PyCharm 2021.1.1, pydot 1.4.2, pyproj 3.0.1, PySAT 0.1.7.dev1, PyTorch 1.8.1, python-parasail 1.2.4, Pylint 2.7.4, Python 3.9.5, Qt5 5.15.2, R-keras 2.4.0, rasterio 1.2.3, RAxML-NG 1.0.2, rclone 1.54.1, re2c 2.1.1, ReFrame 3.5.2, Rmath 4.0.4, Rust 1.52.1, Sambamba 0.8.0, samblaster 0.1.26, samclip 0.4.0, scikit-allel 1.3.2, SciPy-bundle 2021.05, SCons 4.1.0.post1, snakemake 6.1.0, SQLite 3.35.4, SRPRISM 3.1.2, Tcl 8.6.11, TCLAP 1.2.4, tmux 3.2, tqdm 4.60.0, UCX 1.10.0, Valgrind 3.17.0, WannierTools 2.5.1, wget 1.21.1, wxWidgets 3.1.4, X11 20210518, x264 20210414, x265 3.5, xorg-macros 1.19.3, YAXT 0.9.0, zarr 2.8.1, zstd 1.4.9
                • minor enhancements, including:
                  • add additional extensions to R v4.0.3 and v4.0.4: miceadds, visdat, UpSetR, naniar, stringdist, image.binarization (#12735), lassosum (#12821), lslx, regsem, semPLS (#13005)
                  • add GenABEL to R-bundle-Bioconductor (#12822)
                • various bug fixes, including:
                  • disable automatic acceptance of NVHPC EULA (#12014)
                  • enhance RStudio-Server, add patch to inherit environment variables, add sanity check commands to verify installation (#12544)
                  • add fix to scipy to handle NaN arguments to vi function (#12551)
                  • copy all binaries + examples & co for PAML v4.9j (#12567)
                  • add patch to fix hardcoded num_cores in DMCfun extension included with R 4.0.x (#12583)
                  • backport Charm++ patch for NAMD/2.14 on intel/2020a to handle newer glibc (#12594)
                  • add setuptools_scm and pytest-runner extensions to Pylint easyconfigs (#12599)
                  • fix typo in Delly easyconfig to actually do parallel build (#12633)
                  • fix potential memory leak in OpenBLAS 0.3.12 (#12649)
                  • consistently use pip to install Python packages in recent Python easyconfigs (#12650)
                  • replace bintray source url for Groovy (#12652)
                  • add missing Python & Perl dependencies to AUGUSTUS v3.4.0 with foss/2020b (#12662)
                  • fix wget dependency: use libidn2 rather than libidn (#12670)
                  • fix source URLs for recent ELPA versions (#12700)
                  • override host compiler check in CUDAcore (#12701)
                  • add Python build dependency to libpsl 0.21.0 easyconfigs (#12715)
                  • fix error in libgpg-error 1.36 with gawk builtin (#12716)
                  • add libtool build dependency to leidenalg (#12741)
                  • fix source URLs for Boost 1.71.0 - 1.74.0 easyconfigs (#12743) and Boost.Python (#12744)
                  • add patches for PyTorch 1.7.1 avoiding failures on POWER and A100 (#12753)
                  • add patch for OpenPGM 5.2.122 eaysconfigs to fix non-existent directory in *.pc (pkgconfig) file (#12774)
                  • add missing Perl build dependency to recent wget easyconfigs (#12787)
                  • make sure Python dependency is used in preCICE 2.x easyconfigs (#12793)
                  • don't skip source step in FastTree easyconfigs + fix SHA256 checksum for FastTree 2.1.11 (#12794)
                  • add patch for rhdf5filters extension in Bioconductor 3.12 bundle to fix installation on aarch64 (#12836)
                  • add IceLake detection to OpenBLAS 0.3.12 and 0.3.15 (#12865)
                  • fix checksum for MaxBin 2.2.7 (#12869)
                  • run make clean before building FragGeneScan, to clean up object files included in source tarball (#12870)
                  • clean up install of KronaTools (#12871)
                  • add UCX dependency to OneAPI versions of impi (#12873)
                  • correct description in libdeflate easyconfig (#12886)
                  • override Makefile with hardcoded CC=cc in UnZip easyconfigs (#12887)
                  • fix compatibility of FLAIR v1.5.1-20200630 with rpy2 v3.x (#12899)
                  • fix test step for libxc 4.3.4 and 5.1.x when using RPATH linking (#12912)
                  • fix source URLs in BLAST 2.10.x easyconfigs (#12914)
                  • add missing xproto build dependency to imake easyconfig (#12930)
                  • add patch to fix GCC 10.2.0 rejecting valid code on PPC (#12948)
                  • in easyconfig tests, check version of dependencies named Python, not if dependencies with certain versions are named Python (#12962)
                  • update easyconfigs for binutils 2.35 to use binutils 2.35.2 source tarball instead to pick up bug fixes (#12967, #12988)
                  • fix download URL for DB 18.1.40 (#12974)
                  • fix test failure in TensorFlow 2.4.1 on recent CUDA drivers (#12979)
                  • fix error in configopts for netCDF and HDF5 and add missing dependencies of ABINIT 9.x (#12981)
                  • add patch to fix buffer overflow in OpenMPI 4.1.x (#12983)
                • other changes:
                  • update setup.py to indicate compatibility with Python 3.8 and 3.9 (#12565)
                  • add -Java versionsuffix for Hadoop easyconfig using GCCcore/10.2.0 toolchain, since it depends on Java 1.8 (#12709)
                  • remove unnecessary workaround for missing version of OpenDataCube and Spyder for 2020+ toolchains (#12757)
                  • remove unpack_sources = False from recent easyconfigs that use a *.whl file as source (#12783)
                  • whitelist Seaborn 0.10.1 for NanoComp 1.13.1 and NanoPlot 1.33.0 (#12790)
                  • add check to make sure that source step is not being skipped (#12807)
                  • use EasyConfig.disable_templating method in test suite (#12848)
                  • disable usNIC by default in libfabric to avoid problems due to linking to both libnl and libnl-3 (#12854)
                  • use OpenSSL wrapper as dependency in easyconfigs using GCCcore/10.3.0 toolchain (#12922, #12944)
                  • dump easyconfig before initializing easyblock in order to compare it with original easyconfig (#12925)
                  • remove postinstallcmds from imkl 2020.x easyconfigs, easyblock now installs examples (#12937)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb434","title":"EasyBuild v4.3.4 (Apr 9th 2021)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add support for filtering dependencies by using False as version (#3506)
                  • add create_unused_dir function to create a directory which does not yet exist (#3551)
                  • avoid running expensive module use and module unuse commands when using Lmod as modules tool, update $MODULEPATH directly instead (#3557, #3633)
                  • create CUDA cache (for JIT compiled PTX code) in build dir instead of $HOME (#3569)
                  • add \"Citing\" section to module files (#3596)
                  • add support for using fallback arch=* key in dependency version specified as arch->version mapping (#3600)
                  • also check for pending change requests and mergeable_state in check_pr_eligible_to_merge (#3604)
                  • ignore undismissed changes requested review if there is an approved review by the same user (#3607, #3608)
                  • sort output of eb --search in natural order (respecting numbers) (#3609)
                  • enhance eb command to ensure that easybuild.main can be imported before settling on python* command to use (#3610)
                  • add --env-for-shebang configuration option to define the env command to use for shebangs (#3613)
                  • add templates for architecture independent Python wheels (#3618)
                  • mention easyblocks PR in gist when uploading test report for it + fix clean_gists.py script (#3622)
                  • also accept regular expression value for --accept-eula-for (#3630)
                  • update validate_github_token function to accept GitHub token in new format (#3632)
                • various bug fixes, including:
                  • fix $BLAS_LIB_MT for OpenBLAS, ensure -lpthread is included (#3584)
                  • use --opt=val for passing settings from config file to option parser to avoid error for values starting with - or -- (#3594)
                  • avoid raised exception when getting output from interactive command in run_cmd_qa (#3599)
                  • add option to write file from file-like object and use in download_file (#3614)
                  • make sure that path to eb is always found by tests (#3617)
                • other changes:
                  • add pick_default_branch function to clean up duplicate code in tools/github.py (#3592)
                  • refactor the CI configuration to use inclusion instead of exclusion (#3616)
                  • use develop branch when testing push access in --check-github (#3629)
                  • deprecate --accept-eula, rename to --accept-eula-for (#3630)

                easyblocks

                • minor enhancements, including:
                  • make OpenCV easyblock aware of protobuf, libwebp and OpenEXR dependencies provided via EasyBuild (#2346)
                  • update CP2K easyblock w.r.t. running regtest for CP2K v8.1 (#2350)
                  • update GROMACS easyblock for GROMACS/2021 with CUDA (#2353)
                  • adjust call to python-config for Python >= 3.8 in VMD easyblock (#2355)
                  • enhance cuDNN and CUDA easyblocks to support aarch64 (#2356)
                  • pass down compiler flags provided by EasyBuild in g2clib easyblock (#2357)
                  • update VTune easyblock for version 2020 (#2359)
                  • make WRF and WPS easyblocks aware of (pre)configopts (#2361)
                  • add Clang version 12.0.0 for AOCC 3.0.0 to mapping in custom easyblock for AOCC (#2362)
                  • use PYPI_SOURCE as the default for source_urls of PythonPackage (#2364, #2370)
                  • enhance PythonPackage easyblock to catch faulty version (0.0.0) for installed Python packages (#2367, #2377)
                  • enhance BWA easyblock: pass compiler flags + use filetools functions (#2368)
                • various bug fixes, including:
                  • set $R_LIBS_SITE rather than $R_LIBS when installing R packages (#2326)
                  • update PETSc easyblock to take into account that ScaLAPACK installation may not have header files + fix building in parallel (#2348)
                  • disable CMake user package repository in CMakeMake generic easyblock (#2351)
                  • update LAPACK easyblock to keep control of compiler options for versions >= 3.9.0 (#2358)
                  • also set $TORCH_CUDA_ARCH_LIST for PyTorch tests (#2363)
                  • enhance Hadoop easyblock to avoid copying same native library twice (#2371)
                  • fix pip extension download pattern for PythonPackage easyblock (#2372)
                  • make the CUDA stub libs take preference over system libs when linking (#2373)
                  • improve Python package version check and add unversioned_packages easyconfig parameter (#2377)

                easyconfigs

                • added easyconfig for goblf/2020b toolchain (#12381, #12535)
                • added example easyconfig files for 41 new software packages:
                  • amplimap (#12205), BEEF (#12104), bpp (#12036), Brotli (#11651), CDAT (#12322), cicero (#12252), CIF2Cell (#12258), CompareM (#9377), DL_POLY_4 (#12324), DMCfun (#12412), ESMPy (#12339), FLAC (#12300), gdbm (#12322), GPyOpt (#12524), json-c (#12344), libcdms (#12322), libdrs (#12322), libogg (#12285), libvorbis (#12300), LncLOOM (#12287), LPJmL (#12344), maze (#12354), MetaEuk (#12188), mrcfile (#12497), Myokit (#12261), NCCL-tests (#12415), pyABC (#12329), PyCifRW (#12258), PyOD (#12507), pyro-api (#12447), pyro-ppl (#12447), R-opencv (#12226), Ratatosk (#12443), RevBayes (#12419), sansa (#12354), scikit-cuda (#12352), Seeder (#9057), suave (#12354), voltools (#12497), vorbis-tools (#12300), YACS (#12309)
                • added additional easyconfigs for various supported software packages, including:
                  • AOCC 3.0.0, Arriba 2.1.0, ArviZ 0.11.1, arpack-ng 3.8.0 BCFtools 1.12, BEDTools 2.30.0, BUSCO 5.0.0, BioPerl 1.7.8, Blosc 1.21.0, Boost.Python 1.74.0, bitarray 1.2.1, bokeh 2.2.3, CP2K 8.1, CUDAcore 11.2.2, CellRanger 6.0.0, Clang 11.0.1, DIAMOND 2.0.7, Delly 0.8.7, dask 2021.2.0, dm-tree 0.1.5, Elk 7.0.12, Extrae 3.8.0, FLUENT 2021R1, FabIO 0.11.0, Fiji 20201104, Flye 2.8.3, FreeSurfer 7.1.1, GDAL 3.2.1, GEOS 3.9.1, GLFW 3.3.3, GMAP-GSNAP 2020-12-17, GROMACS 2021, GetOrganelle 1.7.4, gmsh 4.7.1, HTSeq 0.11.3, HTSlib 1.12, Hypre 2.20.0, hyperopt 0.2.5, iVar 1.3.1, igraph 0.9.1, Jansson 2.13.1, Kent_tools 411, LAPACK 3.9.1, LAST 1179, LibSoup 2.72.0, libxc 5.1.3, MAFFT 7.475, MCR R2020a.6 + R2020b.5 + R2021a.0.eb, MDTraj 1.9.5, MUMPS 5.3.5, MaSuRCA 4.0.1, Mercurial 5.7.1, Monocle3 0.2.3, NGS 2.10.9, NVHPC 21.2, NetLogo 6.2.0, Nextflow 21.03.0, ncbi-vdb 2.10.9, OSU-Micro-Benchmarks 5.7, OpenCV 4.5.1, OpenEXR 2.5.5, OptiX 7.2.0, PETSc 3.14.4, PLUMED 2.7.0, PROJ 7.2.1, PyAMG 4.0.0, PyCUDA 2020.1, PyCairo 1.20.0, PyOpenCL 2021.1.2, PyTorch-Geometric 1.6.3, p7zip 17.03, pFUnit 4.2.0, picard 2.25.1, pocl 1.6, preCICE 2.2.0, protobuf 2.5.0, pymatgen 2022.0.4, python-igraph 0.9.0, Qtconsole 5.0.2, R 4.0.4, RASPA2 2.0.41, RDFlib 5.0.0, ReFrame 3.5.1, Ruby 2.7.2, rnaQUAST 2.2.0, SAMtools 1.12, SDL2 2.0.14, SIMPLE 3.0.0, SPAdes 3.15.2, SUNDIALS 5.7.0, Seurat 4.0.1, Spark 3.1.1, scikit-image 0.18.1, silx 0.14.0, spglib 1.16.1, sympy 1.7.1, tensorboardX 2.1, tensorflow-probability 0.12.1, tmux 3.1c, USEARCH 11.0.667, VTK 9.0.1, VTune 2020_update3
                • minor enhancements, including:
                  • verify checksum of all patch files in easyconfigs test suite (#12221)
                  • add libwebp and OpenEXR dependencies for OpenCV 4.2.0 easyconfig with foss/2020a (#12227)
                  • add sanity check commands for vorbis-tools (#12304)
                  • add extensions to R-bundle-Bioconductor 3.12: motifmatchr (#12390), OUTRIDER + FRASER (#12510)
                  • add DMCfun extension for R v4.0.3 + v4.0.4 (#12409)
                • various bug fixes, including:
                  • add missing GNU time dependency to WRF 4.0.2 built with foss/2018b (#12179)
                  • add archive source_urls for Hadoop and Spark (#12220)
                  • add missing Python build dep for SeqAn 2.4.0 (#12222)
                  • add missing pkg-config build dependency to VCFtools 0.1.16 (#12245), GObject-Introspection-1.64.0 (#12298), libsndfile (#12303)
                  • set $HTSLIB_DIR in HTSlib for use by EnsEMBLCoreAPI & Bio-DB-HTS (#12253)
                  • bump JasPer version to latest 2.0.24 for 2020b generation of easyconfigs + remove easyconfigs for ancient JasPer 2.0.1.4 with GCCcore/10.2.0 (#12277, #12288)
                  • bump pip to 20.3.4 in Python 2.7.18 easyconfig to fix unicode error (#12293)
                  • skip sanity check test in IPython-7.18.1-GCCcore-10.2.0.eb (#12294)
                  • add missing Perl and Autotools build dependencies in recent WRF easyconfigs (#12301)
                  • add missing groff build dependency for Perl 5.30.0 and 5.32.0 (#12307)
                  • add linkcomm + rnetcarto extensions to R v4.0.3 (#12311)
                  • add dependency on Flask in all ASE v3.21.1 easyconfigs (#12312)
                  • remove hard-coded -xHost from MMseqs2-11-e1a1c (#12317)
                  • revised outdated easyconfigs for libcerf + replaced obsolete homepages and source urls (#12323)
                  • consistently include new_archive source URL in Qt5 easyconfigs + add missing checksums (#12325, #12426)
                  • fix source URL and add alternate checksum for Hypre 2.14.0 (#12337)
                  • add patch for recent netCDF easyconfigs to fix MPI_Info_f2c issue with OpenMPI (#12340)
                  • add SourceForge fallback source URL for recent freetype easyconfigs (#12341)
                  • revert to Seaborn 0.10.1 as dependency for NanoPlot 1.33.0 (#12345)
                  • use -D_USE_METIS_5p1 in OpenSees v3.2.0 patch to correctly build on top of METIS v5.1.0 (#12403)
                  • make sure that path to eb is always found by tests (#12436)
                  • stop tests changing the EasyBuild easyconfigs (#12454)
                  • use pip to install pkgconfig 1.5.1 (#12455)
                  • add CI test checking if the Python default source_urls are used and fix CI check where use_pip=False was ignored (#12456, #12471)
                  • fix source URLs in Arrow 0.x easyconfigs (#12475)
                  • fix numpy tests for recent SciPy-bundle easyconfig on POWER (#12481)
                  • don't download hwloc during FIRESTARTER build (#12482)
                  • avoid 0.0.0 install version for various Python apps (#12519, #12522)
                  • enable USER_SDPD package and disable building docs in LAMMPS 3Mar2020 (#12527)
                  • update $R_LIBS_SITE rather than $R_LIBS in easyconfigs installing R packages (#12534)
                  • add Python 3 build dep for HMMER 3.3.x test step (#12536)
                • other changes:
                  • rename opencv_contrib and update to OpenCV v3.4.1 with contrib versionsuffix (#12229)
                  • fix minor style issues in POV-Ray v3.7.0.8 easyconfigs (#12342)
                  • enable -fPIC for g2clib (#12349)
                  • consistently include Keras-Applications and Keras-Preprocessing extensions in Keras 2.3.1 easyconfigs (#12375)
                  • remove PYPI_SOURCE source URL from easyconfigs using PythonPackage or PythonBundle (#12541, #12452, #12453)
                  • require sanity_pip_check for all Python package/bundles (#12464)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb433","title":"EasyBuild v4.3.3 (Feb 23rd 2021)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • advise PR labels in --review-pr and add support for --add-pr-labels (#3177)
                  • add support for using customized HTTP headers in download_file (#3472, #3583)
                  • also take toolchain dependencies into account when defining template values (#3541, #3560)
                  • add support for --accept-eula configuration option + accept_eula easyconfig parameter (#3535, #3536, #3546)
                  • detect SYSTEM toolchain as special case in easystack files (#3543)
                  • enhance extract_cmd function to use cp -a for shell scripts (.sh) (#3545)
                  • allow use of alternate envvar(s) to $HOME for user modules (#3558)
                  • use https://sources.easybuild.io as fallback source URL (#3572, #3576)
                  • add toolchain definition for iibff toolchain (#3574)
                  • add %(cuda_cc_space_sep)s and %(cuda_cc_semicolon_sep)s templates (#3578)
                  • add support for intel-compiler toolchain (>= 2021.x versions, oneAPI) (#3581, #3582)
                • various bug fixes, including:
                  • add --init and --recursive options to git submodule update command that is used when creating source tarball for specific commit (#3537)
                  • filter out duplicate paths in RPATH wrapper script (#3538)
                  • don't clean up imported modules after verifying imports of included Python modules (#3544)
                  • avoid no-op changes to $LD_* environment variables in ModulesTool (#3553)
                  • fix UTF-8 encoding errors when running EasyBuild with Python 3.0.x-3.6.x (#3565)
                  • create lib64 symlink as a relative symlink (#3566)
                  • don't reuse variable name in the loop to fix adding extra compiler flags via toolchainopts (#3571)
                  • symlink lib to lib64 if it doesn't exist (#3580)
                  • include %(mpi_cmd_prefix)s and %(cuda_*)s templates in output of --avail-easyconfig-templates (#3586)
                • other changes:
                  • rename EasyBlock._skip_step to EasyBlock.skip_step, to make it part of the public API (#3561)
                  • make symlinking of posix_c.so to posix.so in test suite configuration conditional (#3570)

                easyblocks

                • 2 new software-specific easyblocks:
                  • AOCC (#2295), Intel compilers (v2021.x, oneAPI) (#2305)
                • minor enhancements, including:
                  • run motorBike tutorial case as sanity check for recent (community) OpenFOAM versions (#2201)
                  • add foamMonitor to sanity checks of OpenFOAM (#2256)
                  • create versioned symlinks for CMake commands + create symlink for cmake3 in PyTorch easyblock if cmake3 command is not found (#2259)
                  • improve Bazel easyblock: add support for running tests, enable static linking, use build dir rather than tmpdir, verbose output (#2285)
                  • add support for skipping steps in Python packages installed as extension + print progress on individual steps for installing Python packages as extensions (#2290)
                  • update BerkeleyGW easyblock to support GCC 10 and fftlib (#2297)
                  • update QuantumESPRESSO easyblock to support GCC 10 (#2298)
                  • update Clang easyblock to add support for building extra tools + leveraging hwloc and Z3 as optional dependencies (#2310)
                  • add support for running TensorFlow CPU and GPU tests (#2263, #2292, #2312)
                  • update impi easyblock for impi 2021.x (oneAPI) (#2313)
                  • update QuantumESPRESSO easyblock to handle v6.7 (#2319)
                  • update OpenFOAM easyblock for changes in v2012 (#2321)
                  • add sanity check commands to GCC (including LTO support) (#2322)
                  • update FLUENT sanity check for v2021R1 (#2334)
                • various bug fixes, including:
                  • filter out user packages in LAMMPS easyblock if corresponding dependency isn't included + only set -DUSER-INTEL on x86_64 systems (#2254)
                  • unify handling of pylibdirs and don't add duplicated $PYTHONPATH in PythonBundle (#2281)
                  • enhance Amber easyblock to fix running of update_amber script when python command is not available in OS (#2282)
                  • guard module unload statements in modules for Cray* toolchains (#2286)
                  • set $PYTHONNOUSERSITE in PythonBundle.extensions_step to avoid picking up on Python packages installed in $HOME (#2289)
                  • create less temporary directories for TensorFlow by (only) using --output_user_root (#2293)
                  • fix logic w.r.t. enabling Python support in PETSc (#2299)
                  • make builddeps a list of names in SLEPc easyblock (#2300)
                  • make builddeps a list of names in Trilinos easyblock (#2301)
                  • make sure the installation of libiberty.a in the binutils easyblock goes into a populated directory (#2308)
                  • fix for building GCC with --sysroot on ppc64le (#2315)
                  • fix OpenFOAM sanity check on POWER (#2320)
                  • use library search paths of compiler for RPATH when building binutils with system compiler + enhance sanity check by running --version for binutils commands (#2323, #2327)
                  • pass $CXXFLAGS to PDT's configure script via -useropt (#2324)
                  • pass down compilation flags from build environment for ESMF (#2325)
                  • update URLs for test data for WRF to https (#2335)
                  • read MATLAB configuration file in binary mode to avoid UTF-8 encoding errors when using Python 3.6 (#2340)
                  • fix Boost sanity check on POWER (#2291) and aarch64 (#2341)
                • other changes, including:
                  • rework module-only tests to use unique software name (rather than 'foo') (#2287)
                  • prefer default value for extra options in easyblock tests (#2280, #2302)
                  • add check for accepted EULA in custom easyblock for NVHPC (#2311)
                  • update optional feature support of TensorFlow (#2314)
                  • make symlinking of posix_c.so to posix.so in test suite configuration conditional (#2330)

                easyconfigs

                • add easyconfig for new iibff toolchain: iibff/2020b (#12185)
                • added easyconfigs for 6 new toolchains:
                  • gobff/2020b (#12098), goblf/2018b (#6615), gomkl/2020b (#12198), iimkl/2018a (#6092), iomkl/2019b (#11981), iomkl/2020b (#12009)
                • added example easyconfig files for 72 new software packages:
                  • AOCC (#11868), CHERAB (#7141), CaDiCaL (#11966), CellRanger-ARC (#12114), CuPy (#11749), DFA (#11979), FIGARO (#11924), FIRESTARTER (#12160), FIt-SNE (#8630), GPyTorch (#12010), GSEA (#10395), GetOrganelle (#11948), Glucose (#11965), GraPhlAn (#10707), ITSx (#10558), Kaleido (#11998), LAPACK (#6615), LSD2 (#11903), Lingeling (#11964), MPB (#7026), MiniCARD (#11963), MiniSat (#11962), NGSpeciesID (#11918), NanopolishComp (#11823), Nsight-Compute (#12043), Nsight-Systems (#12042), PHANOTATE (#8667), PIPITS (#10558), PyClone (#11940), PySAT (#12000), RNAmmer (#7262), Raysect (#7141), SICER2 (#12200), SOCI (#12045), SeisSol (#7194), SignalP (#11862), Stack (#11310), SuperLU_DIST (#11693), Teneto (#12056), Transformers (#12032), YANK (#11742), Z3 (#12013), bgen (#7456, #11867), bgen-reader (#7456, #11867), bpytop (#12040), byobu (#11932), chi2comb (#11867), cuTENSOR (#11914), dd (#11978), decona (#11891), dicom2nifti (#11955), eccodes-python (#12083), fftlib (#11944), flatbuffers-python (#12148), fpocket (#11980), gh (#11851), intel-compilers (oneAPI) (#11982), libGDSII (#7026), libpci (#11871), liknorm (#7456, #11867), limix (#7456, #11867), logaddexp (#11867), neptune-client (#11985), plinkQC (#12068), preCICE (#11886), py-aiger (#11999), py-aiger-bdd (#11999), pytest-xdist (#11883, #11893), samblaster (#7378), terastructure (#12197), typing-extensions (#11636), webin-cli (#8674)
                • added additional easyconfigs for various supported software packages, including:
                  • ack 3.4.0, AmberTools 20, AMD-LibM 3.6.0-4, AMD-RNG 2.2, AMD-SecureRNG 2.2, annovar 20191024, ASE 3.21.1, AUGUSTUS 3.4.0, Bazel 3.7.2, bcgTree 1.1.0, BLAST+ 2.11.0, Bonito 0.3.5, Bowtie2 2.4.2, causalml 0.8.0-20200909, CGAL 5.2, ConnectomeWorkbench 1.4.2, CUDAcore 11.2.1, cuDNN 8.0.5.39, dcm2niix 1.0.20201102, DendroPy 4.5.2, DIAMOND 0.9.36 + 2.0.6, ecCodes 2.20.0, ELPA 2020.11.001, Emacs 27.1, FusionCatcher 1.30, gensim 3.8.3, GHC 8.6.5, gnuplot 5.4.1, GPAW 21.1.0, Graphviz 2.44.1, GROMACS 2020.5, Gurobi 9.1.0, HH-suite 3.3.0, HMMER 3.3.2, HTSlib 1.11, Horovod 0.21.1, imbalanced-learn 0.7.0, impi 2021.1.1, inferCNV 1.3.3, ITK 5.1.2, IQ-TREE 2.1.2, JasPer 2.0.24, JUBE 2.4.1, libgit2 1.1.0, libzip 1.7.3, likwid 5.1.0, MariaDB 10.5.8, medaka 1.2.0, Meep 1.6.0, mkl-service 2.3.0, MPICH 3.3.2, muParser 2.3.2, NanoComp 1.13.1, NanoPlot 1.33.0, networkx 2.5, NLTK 3.5, numba 0.52.0, NVHPC 20.11, nvtop 1.1.0, OpenCoarrays 2.9.2, OpenFOAM v2012, OpenJPEG 2.4.0, OpenMPI 4.1.0, parasail 2.4.2, PLUMED 2.6.2, PostgreSQL 13.2, pydicom 2.1.2, PyMC3 3.11.0, python-parasail 1.2.2, PyTorch 1.7.1, QIIME2 2020.11, QuantumESPRESSO 6.7, QuickFF 2.2.7, R 4.0.3, R-bundle-Bioconductor 3.12, ReFrame 3.4.1, RMBlast 2.10.0, RSEM 1.3.3, Salmon 1.4.0, scikit-build 0.11.1, SciPy-bundle 2020.03 w/ Python 2.7.18, Seaborn 0.11.1, SEPP 4.4.0, SHAPEIT4 4.2.0, SpaceRanger 1.2.2, Stacks 2.54, STAR 2.7.7.a, statsmodels 0.12.1, SuiteSparse 5.8.1, tbb 2020.3, TensorFlow 1.15.5 + 2.4.1, Theano 1.1.2, torchvision 0.8.2, V8 3.4.0, Wannier90 3.1.0
                • minor enhancements, including:
                  • enable building of QtWebEngine in Qt5 easyconfig using foss/2017b or intel/2017b (#7302)
                  • enable NVPTX offload in GCCcore 9.3.0 easyconfig (#11839)
                  • also build shared library in recent HDF easyconfigs (#11847)
                  • add support for HDF4 to GDAL v3.0.2 and v3.0.4 (#11855)
                  • add patch for magma 2.5.4 with fosscuda/2019b to allow any sm_* value to be passed via GPU_TARGET (#11861)
                  • add missing M4 build dependency to recent SuiteSparse versions (#11869)
                  • enable tests for most recent Bazel versions (3.x) (#11894)
                  • enable gipaw in QuantumESPRESSO 6.6 easyconfig (#11905)
                  • add RCAL + sensemakr extensions to R 4.0.0 (#11921)
                  • add additional extensions to R v4.0.3 easyconfig (#11922, #12057)
                  • improve sanity_check_paths for AMD-LibM (#11933)
                  • symlink include/lib subdirs + enhance sanity_check_paths for AMD-RNG v2.2-4 (#11934)
                  • improve sanity_check_paths for AMD-SecureRNG (#11935)
                  • update Clang 10+ dependencies & build extra tools (#12013)
                  • add Inline extension to recent Perl easyconfigs (5.30+) (#12029)
                  • add EnsDb.Hsapiens.v86 to Bioconductor 3.11 (#12078)
                  • add sanity check command for bam-readcount v0.8.0 to check --version output (#12092)
                  • add EnsDb.Hsapiens.v75 + Signac extensions to R-bundle-Bioconductor 3.12 (#12174)
                  • add tensorboard profile plugin to recent TensorFlow 2.x easyconfigs (#12136, #12137)
                • various bug fixes, including:
                  • added missing space in configopts in ParaView 5.8.0 easyconfigs using 2020a toolchain (#10989)
                  • use bfd linker for glibc 2.30 (#11331)
                  • add missing moduleclass in UCLUST easyconfig (#11477)
                  • don't disable optarch for Clang 11.0.0 (#11814)
                  • add patch to fix miscompilation bug on POWER for GCC 8.x and 9.x (#11837)
                  • fix compilation of TensorFlow 2.3.1 with CUDA and glibc 2.26 on POWER (#11859)
                  • disable building of manpages for GDCM to fix installation problem with docbook (#11866)
                  • add patch for LLVM 6.0.0 to fix missing exported symbol LLVMInitializeInstCombine (#11873)
                  • fix name of source file for GDRCopy v2.1 (#11887)
                  • fix Tombo to work with rpy2 v3 when creating DataFrames (#11892)
                  • fix GCCcore 8.1.0 w.r.t. removed sys/ustat.h in glibc 2.28 (#11896)
                  • add git as a dependency to GitPython version 3.x (#11902)
                  • fix undefined __ieee128 on ppc64le with glibc 2.26 for magma (#11930) and PyTorch (#11936)
                  • update Hypre git location for PETSc 3.11.0 using downloaded dependencies (#11947)
                  • fix source URL in expat easyconfigs (and consistently add custom sanity_check_paths) (#11960)
                  • use libpng provided by EasyBuild in VTK to fix build issue on ppc64le (#11990)
                  • add missing pkg-config build dependency for GObject-Introspection v1.66.1 (#11949)
                  • add missing plotly-orca dependency for NanoPlot (#11967, #12015)
                  • add patch for Boost 1.74.0 to fix missing include file (#12007)
                  • fix for error: 'runtime_error' is not a member of 'std' in qtlocation for Qt5 v5.14.2 (#12012)
                  • fix homepage for gnuplot 5.2.8, use http:// since homepage is not reachable via https:// (#12047)
                  • fix OS dependencies for libfabric (#12058)
                  • fix vector mul and div with broadcasts in -masm=intel mode in GCCcore v9.3.0 (#12065)
                  • add missing ESMF dependency in NCO easyconfigs (#12071, #12072)
                  • add patch to fix version for bam-readcount 0.8.0 (#12075)
                  • add missing Perl build dep for (recent) libcerf versions, required for pod2html command (#12085)
                  • add missing bzip2 dependency to recent ncbi-vdb easyconfigs (#12120)
                  • add missing Perl build dependency for BLIS 0.8.0 (#12146)
                  • use https://sources.easybuild.io as fallback source URL for UDUNITS (#12049, #12156, #12182)
                  • correct the GCC version check to allow IBM VSX builds of GROMACS 2020.4 and 2020.5 (#12159)
                  • add missing mkl-service dependency for Theano built with intel/2019b + enhance sanity check (#12172)
                  • add patches to fix test problems with p4est 2.2 (#12028)
                  • fix build of Bison using older system GCC (v4.x) (#12203)
                  • fix lack of optimisation for SHAPEIT4 v4.1.3 (#12206)
                  • add missing gnuplot dependency for OpenFOAM from v2.4.0 to v6 (#11801, #12208)
                  • fix source URL for libspatialite (#12213)
                  • add archive fallback source URL to MAGMA easyconfigs (#12214)
                  • fix checksum for patch in make 4.2.1 easyconfig using GCC/7.3.0-2.30 (#12223)
                • other changes:
                  • replace easyconfigs for bpp-core/bpp-phyl/bpp-seq v2.4.1 with a single easyconfig for BioPP v2.4.1 (using Bundle easyblock) (#11609)
                  • add CESM-deps to whitelist in check for custom sanity_check_paths (#11916)
                  • include '-4' in version for AMD-SecureRNG v2.2-4 (#11934, #11935)
                  • switch to using python-parasail and tqdm dependencies in Bonito easyconfigs (#11937)
                  • rename orca to plotly-orca (#12015)
                  • remove duplicate extensions in R 3.5.x easyconfigs, and add test to detect such issues (#12059)
                  • remove Python dependency from ecCodes v2.17.0 since it doesn't provide Python bindings (#12084)
                  • update Java/1.8 wrapper to Java 1.8.0_281 (#11928, #12088)
                  • update Bison (build) dependency for flex built with system compiler to v3.5.3 (#12111)
                  • make symlinking of posix.so in test suite configuration conditional (#12123)
                  • move make 4.3 easyconfigs to GCCcore toolchain (#12166)
                  • move most recent BLIS and libFLAME easyconfigs from GCC to GCCcore (#12168)
                  • rename SNAP to SNAP-HMM and update easyconfig (#12218)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb432","title":"EasyBuild v4.3.2 (December 10th 2020)","text":"

                bugfix/update release

                framework

                • add (experimental) support for specifying easyconfig files via an \"easystack\" file (#3479, #3511, #3515, #3517, #3520, #3521)
                  • see also https://easybuild.readthedocs.io/en/latest/Easystack-files.html
                • add definition for new gobff toolchain using BLIS and LibFLAME (#3505)
                • various enhancements, including:
                  • add support for toolchain options like extra_cxxflags to specify extra compiler options (#2193)
                  • fix combination of --copy-ec and --from-pr (#3482)
                  • enhance copy_files function: support single file target, error on empty input list, support verbose mode (#3483)
                  • cache result of fetch_files_from_pr function (mainly to speed up framework test suite) (#3484)
                  • add locate_files function to filetools module (#3485)
                  • add support for %(module_name)s template value (#3497)
                  • clarify input format for --cuda-compute-capabilities in eb --help output (#3509)
                  • add support for skipping unit tests (test step) via --skip-test-step (#3524)
                • various bug fixes, including:
                  • also ignore vsc.* imports coming from from pkg_resources/__init__.py (setuptools) in fake vsc namespace (#3491)
                  • don't pass username in github_api_get_request when no GitHub token is available (#3494)
                  • also inject -rpath options for all entries in $LIBRARY_PATH in RPATH wrappers (#3495)
                  • avoid TypeError being raised by list_toolchains (#3499)
                  • check if PR is already merged in --merge-pr (#3502)
                  • graciously handle wrong PR id in fetch_pr_data (#3503)
                  • fix regression in apply_regex_substitutions: also accept list of paths to patch (#3507)
                  • update installation procedure for EasyBuild in generated Singularity container recipes (#3510)
                  • fix GitHub Actions workflow for test suite: run outside of repo checkout + also test bootstrap script with Python 3.9 (#3518)
                  • bump cryptography from 2.9.2 to 3.2 for Python 2 in requirements.txt (#3519)
                  • fix eb --help=rst when running with Python 3 (#3525)
                • other changes:
                  • exclude test configurations with Lmod 7 and Python 3, except for Python 3.6 (#3496)
                  • significantly speed up parsing of easyconfig files by only extracting comments from an easyconfig file when they're actually needed (#3498)
                  • don't include file/ldd/readelf commands run during RPATH sanity check in --trace output (#3508)

                easyblocks

                • 2 new software-specific easyblocks:
                  • code-server (#2255), Metagenome-Atlas (#2219)
                • minor enhancements, including:
                  • add -fallow-argument-mismatch option when building CP2K 7.1 or older with GCC 10.x (#2223)
                  • update TensorFlow easyblock for upcoming TensorFlow 2.4 (#2225)
                  • add support for building Clang with OpenMP offload support (#2229)
                  • enhance OpenMPI easyblock to catch any --with-ucx* configure options (#2230)
                  • take into account preinstallopts and installopts in custom easyblock for NCL (#2234)
                  • add support for withnvptx easyconfig parameter, to enable GPU offloading, in GCC easyblock (#2235)
                  • take into account versions like 4.x in OpenFOAM easyblock (#2239)
                  • also add bin subdir to $PATH when installing a Python package (#2244)
                • various bug fixes, including:
                  • fix two bugs in GROMACS easyblock when using GCC & MKL for FFT and BLAS/LAPACK (#2212)
                  • fix version check in Qt5 easyblock w.r.t. disabling features on old Linux kernel versions (#2220)
                  • always define $FCCPP in QuantumESPRESSO easyblock (not just when using Intel compilers) (#2221)
                  • allow wxPython to be installed as an extension (#2227, #2275)
                  • only configure Python with --enable-optimizations when compiling Python with (recent) GCC compiler (#2228)
                  • fix sanity check for Boost MT libraries (#2231)
                  • fix hardcoded path in NVHPC easyblock to support multiple architectures (#2233)
                  • fix CPASSERT test faults on RHEL8 in CP2K easyblock (#2236)
                  • stop silently ignoring failing numpy tests, but include support for ignoring (failing) numpy tests (#2238, #2271)
                  • append to module guesses in easyblocks for Chapel, icc, imkl and impi (rather than overwriting guesses from parent easyblock) (#2242)
                  • weed out duplicates when determining paths to include-fixed subdirectory in GCC easyblock (#2245)
                  • prepend all hardcoded /usr/* paths with sysroot in Python's setup.py installation script (#2246)
                  • don't try to patch newer versions of Bazel where the patches won't apply (#2249)
                  • fix setting of $RUNPARALLEL in HDF5 easyblock (#2250)
                  • move --build and --host logic to run_configure_cmd in GCC easyblock (#2252)
                  • set $UCX_TLS in module for impi installation on top of UCX, and allow it to be overwritten in impi easyconfig file (#2253, #2258)
                  • enhance PyTorch easyblock to ensure it finds MKL (via $MKLROOT) (#2257)
                  • use integer division to determine number MPI ranks to use in WRF test step (#2266)
                  • also specify locincpth and glibpth configure options for Perl based on --sysroot (#2268)
                • other changes, including:
                  • add link to GCC mailing list thread confirming that binutils should not be configured with --with-sysroot=$EASYBUILD_SYSROOT when GCC is being configured like that (#2215)
                  • pass paths to patch one by one to apply_regex_substitutions in GCC easyblock when --sysroot is set (#2217)
                    • workaround for regression in apply_regex_substitutions introduced in EasyBuild v4.3.1 (which was fixed for v4.3.2)

                easyconfigs

                • add easyconfigs for new gobff toolchain: gobff/2020.11 + gobff/2020.06-amd (#11761)
                • add easyconfigs for updates of common toolchains: foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b
                  • see also https://easybuild.readthedocs.io/en/latest/Common-toolchains.html
                • added example easyconfig files for 41 new software packages:
                  • alsa-lib (#11658), assimp (#11759), BioServices (#11602), carputils (#11270), cctools (#11799), code-server (#11778), CRISPResso2 (#11775), elfutils (#11783), EMU (#11641), fgbio (#11519), Flink (#11747), FreeSASA (#11699), Geant4-data (#11610), geocube (#11714), IPM (#11768, #11772), libmicrohttpd (#11783), libStatGen (#7982), libzeep (#11687), LLDB (#11822), meshalyzer (#11270), meshtool (#11270), Metagenome-Atlas (#11620), MLxtend (#11601), MRChem (#11604), MRCPP (#11579), mxml (#11769), mxmlplus (#11771), nanocompore (#11690), neon (#11797), Open-Data-Cube-Core (#11713), OpenSees (#11613), PEST++ (#11565), pyFAI (#11849), pymca (#11848), RE2 (#11718), scikit-bio (#11660), SpaceRanger (#11776), SplAdder (#11607), SWAT+ (#11615), velocyto (#11744), WCT (#11779)
                • added additional easyconfigs for various supported software packages, including:
                  • BBMap 38.87, Boost 1.74.0, CUDA 11.1.1, CellRanger 5.0.0.eb, CheckM 1.1.3, Clang 11.0.0, cuDNN 8.0.4.30, DMTCP 2.6.0, FDS 6.7.5, FFmpeg 4.3.1, GROMACS 2020.4, Geant4 10.6.2, Ghostscript 9.53.3, GitPython 3.1.9, GlobalArrays 5.8, HDF5 1.10.7, h5py 3.1.0, hypothesis 5.41.5, JasPer 2.0.16, LittleCMS 2.11, libedit 20191231, libyaml 0.2.5, MPFR 4.1.0, magma 2.5.4, matplotlib 3.3.3, NCCL 2.8.3, NLopt 2.6.2, Nextflow 20.10.0, netCDF-Fortran 4.5.3, OpenBLAS 0.3.12, OpenMolcas 20.10, Pillow 8.0.1, PnetCDF 1.12.1, PyYAML 5.3.1, packmol 20.2.2, protobuf 3.14.0, psycopg2 2.8.6, pybind11 2.6.0, pycocotools 2.0.2, Qt5 5.14.2, RAxML-NG 1.0.1, RSeQC 4.0.0, rioxarray 0.1.1, SCOTCH 6.1.0, SciPy-bundle 2020.11, SentencePiece 0.1.94, StringTie 2.1.4, SuperLU 5.2.2, scikit-learn 0.23.2, snakemake 5.26.1, tqdm 4.51.0, vsc-mympirun 5.2.5, x264 20201026
                • minor enhancements, including:
                  • add extension to R-bundle-Bioconductor 3.11: snpStats (#11586), SCANVIS (#11638)
                  • add extensions to R 4.0.0: coloc, Exact, lmom, gld, DescTools (#11587); nlsem (#11733); mitools, survey, tableone, jstable (#11841)
                  • add gxmapi extension (Python bindings) to GROMACS 2020.4 (#11640)
                  • add missing extensions for QIIME2 to Perl 5.30.2 and 5.32.0 easyconfigs (#11654)
                  • enable NVPTX offload support in GCCcore 10.2.0 easyconfig (#11720)
                • various bug fixes, including:
                  • prevent Minimac4 easyconfig from downloading libStatGen from GitHub (#7982)
                  • limit build parallelism for RAxML-NG to avoid build failure (#10363)
                  • fix source_urls in Geant4 easyconfigs (#11596)
                  • add alternate checksum for extensions in R easyconfigs: KernSmooth (#11600), codetools (#11616, #11736)
                  • fix BBMap version check in FusionCatcher v1.20 (#11608)
                  • add patch for TensorFlow 2.3.1 to fix installation on Arm64 (#11614)
                  • add patch for GCCcore 10.2 to fix __has_include regression (#11627)
                  • change default bitmaptype for IRkernel to cairo (#11645)
                  • set $JUPYTER_PATH to make Jupyter find the ipywidgets extension in recent IPython easyconfigs (#11649)
                  • add missing dependencies + fix moduleclass in CheckM easyconfigs (should be bio) (#11662)
                  • use Python 2 build dep for nodejs 12.19.0 (#11679)
                  • use correct OS deps in UCX (#11702)
                  • in-place update to magma 2.5.4 for PyTorch 1.2.0 (#11723)
                  • in-place update to magma 2.5.4 for PyTorch easyconfigs using fosscuda/2019b toolchain (#11726)
                  • add missing Java dep to Prokka (#11732)
                  • add patch to fix possible memory leak in OpenBLAS 0.3.3+ (#11745)
                  • do not treat warnings as errors in Java v1.8_191-b26-OpenJDK (POWER) (#11755)
                  • add missing PEAR dependency in easyconfig for GBprocesS v2.3 + enhance sanity check (#11767)
                  • add missing gnuplot dependency in OpenFOAM easyconfigs (#11770, #11800)
                  • consistently add Java as a dep for prokka 1.14.5 (#11782)
                  • stick to http download URL in fetchMG easyconfig (https doesn't work) (#11788)
                • other changes:
                  • rename XCfun to XCFun (#11603)
                  • rename ambiguous Ray easyconfigs to Ray-assembler and Ray-project (#11727)
                  • change 'rstudio' name to 'RStudio-Server' to agree with official name and better reflect what it provides (#11764)
                  • rename Sumo to SUMO for consistency (#11791)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb431","title":"EasyBuild v4.3.1 (October 29th 2020)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • further GCC toolchain fixes for aarch64 (#3433)
                  • take into account --include-easyblocks-from-pr when uploading test reports (#3446)
                  • add path to pkg-config files in sysroot to $PKG_CONFIG_PATH when --sysroot is specified (#3451)
                  • add support for NVHPC compiler + toolchain (based on PGI) (#3454)
                  • check for _VERSION and _PREFIX Cray environment variables with both software and module name (#3460)
                  • allow including easyblocks from multiple PRs (#3480, #3481)
                • various bug fixes, including:
                  • avoid UnicodeDecodeError in apply_regex_substitutions when patching files that include non-UTF-8 characters (#3450)
                  • avoid appending lib stubs pattern to RPATH filter over and over again (#3452)
                  • fix missing string template on error for incorrect extension sources value (#3461)
                  • fix compatibility with Python 3.9 by renaming fancy root logger (#3465)
                  • also remove empty checksums list specified in easyconfig file when using --inject-checksums (#3466)
                  • avoid confusing error log message when determining impi version while trying to define value for %(mpi_cmd_prefix)s template (#3474)
                  • unset $LD_LIBRARY_PATH when checking for OS dependencies with rpm & co (#3477)
                  • don't change directory in download_repo function in tools.github (#3486)
                  • take source_urls, checksums, patches into account when extension source is specified via sources (#3487)
                • other changes:
                  • consider $EB_INSTALLPYTHON in eb command to specify python command to use for running EasyBuild (#3428)
                  • use only the sub folder name for createSubmoduleDeps script (#3464)

                easyblocks

                • 2 new software-specific easyblocks:
                  • CFDEMcoupling (#1439), NVHPC (#2190)
                • minor enhancements, including:
                  • support having PyQt5 installed as part of Qt5 in QScintilla easyblock (#2040)
                  • update TensorFlow easyblock to put Bazel build files in build directory + avoid unnecessary runtime patching (#2166)
                  • update CBLAS easyblock for toolchains that include imkl (#2175)
                  • add workaround for duplicate prefix path in Eigen CMake config (#2176)
                  • enable CTEST_OUTPUT_ON_FAILURE for CMakeMake test step (#2181)
                  • add XLA build support to TensorFlow easyblock (#2182)
                  • also consider libfabric dep (--with-ofi) when setting default OpenMPI configure options (#2184)
                  • make easyblock for installing CMake aware of --sysroot (#2187)
                  • make OpenBLAS respect the parallelism set by easybuild (#2191)
                  • handle option of building Michigan State University CCT3 & CCSD3A methods in GAMESS_US easyblock (#2194)
                  • add support to RubyGem easyblock for installing zipped gems (#2203)
                  • update ScaLAPACK easyblock to support installation with CMake for recent versions (>= v2.1.0) (#2205)
                  • update Score-P easyblock to add support for NVHPC toolchain (#2206)
                • various bug fixes, including:
                  • add torch/lib subdirectory in Python lib dir to $LD_LIBRARY_PATH for PyTorch installations (#2183)
                  • update MUMmer easyblock to use apply_regex_substitutions and copy_file functions (#2185)
                  • configure OpenMPI 4.x with --without-verbs when using UCX (#2188)
                  • take into account that zlib may be listed in --filter-deps in custom easyblock for XML R package (#2189)
                  • add sanity check commands to Clang easyblock and print warning for missing ncurses (#2193)
                  • enhance OpenFOAM easyblock to add symlinks for libraries to ensure mpi versions have preference over dummy versions (#2196)
                  • leverage installed OpenSSL/BoringSSL when cURL is used as a dependency for TensorFlow (#2197)
                  • add -ffree-line-length-none to gfortran flags in Siesta easyblock (#2204)
                  • respect --disable-mpi-tests in Siesta easyblock (#2207)
                • other changes, including:
                  • set $EB_INSTALLPYTHON in module generated for EasyBuild rather than setting $EB_PYTHON, to allow overriding Python command to be used for running EasyBuild with $EB_PYTHON (#2109)
                  • remove unused custom easyblock for DIRAC (#2192, #2198)

                easyconfigs

                • added easyconfigs for 2 new toolchains:
                  • fosscuda/2020a (#11424) and intelcuda/2020a (#11425)
                • added example easyconfig files for 75 new software packages:
                  • Bsoft (#6551, #11537), causallift (#11436), CAVIAR (#11158), CCfits (#11505), Cereal (#11506), CFDEMcoupling (#6465), Check (#11295), chewBBACA (#11418), COMSOL (#11513), CUDAcore (#11295), Dalton (#5808), DIRAC (#11414), ESMValTool (#6329), eSpeak-NG (#11236), ExifTool (#11521), FabIO (#11517), festival (#11236), fetchMG (#11283), FHI-aims (#11198), Flexbar (#11305), FRUIT (#6613), FRUIT_processor (#6631), Gaussian (#4247), GBprocesS (#11512), GDRCopy (#11295), Genome_Profiler (#6066), groff (#11200), ILAMB (#11309), kedro (#11436), leidenalg (#11407), libav (#6194), libmo_unpack (#6329), libobjcryst (#11321), makeinfo (#11368), mauveAligner (#11395), MBROLA (#11236), MDSplus-Java (#10705), MDSplus-Python (#10705), MyCC (#11283), nanomax-analysis-utils (#11517), Nek5000 (#6408), NVHPC (#11391), OPERA-MS (#11410), ORFfinder (#7031), phonemizer (#11236), Pingouin (#11280), Pint (#11151), pydantic (#11151), pyobjcryst (#11321), PyOpenCL (#11517), pyspoa (#11438), QtPy (#11517), Qtconsole (#11517), rasterio (#11468), rasterstats (#11468), ReMatCh (#6067), Ruby-Tk (#6613), SBCL (#11413), scikit-uplift (#11432), SDL (#6202), SDL2 (#6203), SDL2_image (#6203), SDL_image (#6202), SeqKit (#11538), silx (#11517), SiNVICT (#11404), sonic (#11236), speech_tools (#11236), Statistics-R (#11274), SUMO (#11435), tidybayes (#11335), treatSens (#11431), tsne (#11283), wandb (#11450), WisecondorX (#11399)
                • added additional easyconfigs for various supported software packages, including:
                  • ABINIT 9.2.1, ASE 3.20.1, Autotools 20200321, Bazel 3.6.0, Biopython 1.78, CCL 1.12, CMake 3.18.4, CUDA 11.0.2, cURL 7.72.0, deepdiff 5.0.2, fmt 7.0.3, GATK 4.1.8.1, GLib 2.66.1, GROMACS 2020.3, GTK+ 3.24.23, git 2.28.0, HMMER 3.3.1, Horovod 0.20.3, ICU 67.1, IPython 7.18.1, ichorCNA 0.3.2, JupyterHub 1.1.0, JupyterLab 2.2.8, LLVM 11.0.0, libarchive 3.4.3, libcircle 0.3, libevent 2.1.12, libfabric 1.11.0, libglvnd 1.3.2, libunwind 1.4.0, libxcb 1.13, MAFFT 7.471, MDSplus 7.96.12, MEGAHIT 1.2.9, MMseqs2 11-e1a1c, Mako 1.1.3, Mesa 20.2.1, Meson 0.55.3, medaka 1.1.3, mpifileutils 0.10.1, NASM 2.15.05, NSPR 4.29, NSS 3.57, Ninja 1.10.1, nettle 3.6, nglview 2.7.7, nodejs 12.19.0, OpenImageIO 2.1.12.0, OpenRefine 3.4.1, OpenSSL 1.1.1h, PCRE2 10.35, PSI4 1.3.2, Pango 1.47.0, PyGEOS 0.8, PyOpenGL 3.1.5, PyQt5 5.15.1, PyQtGraph 0.11.0, PyRETIS 2.5.0, Python 3.8.6, pandas 1.1.2, phonopy 2.7.1, picard 2.22.1, pixman 0.40.0, protobuf 3.13.0, pyEGA3 3.4.0, pytest 6.0.1, ReFrame 3.2. re2c 2.0.3, SAMtools 1.11, SCons 4.0.1, SQLite 3.33.0, Spyder 4.1.5, Subversion 1.14.0, sbt 1.3.13, spglib-python 1.16.0, spoa 4.0.0, TINKER 8.8.1, TRIQS 3.0.0, Taiyaki 5.1.0, TensorFlow 2.3.1, Tkinter 2.7.18 + 3.8.6, torchvision 0.7.0, UCX 1.9.0, V8 3.2.0, VirtualGL 2.6.2, vsc mympirun 5.2.0 X11 20201008, XGBoost 1.2.0, XZ 5.2.5, Xerces-C++ 3.2.3, xarray 0.16.1, ZeroMQ 4.3.3, zstd 1.4.5
                • minor enhancements, including:
                  • use more EasyBuild installed dependencies for TensorFlow 2.2.0 (#11224)
                  • add additional extensions to R 4.0.0 easyconfig (#11340, #11430, #11487)
                  • add additional extensions to Bioconductor 3.11 bundle (#11341, #11488)
                  • make libtirpc easier to use as replacement of rpc in glibc (for RHEL8) (#11355)
                  • add libevent, libfabric and PMIx dependencies to OpenMPI 4.0.3 (for foss/2020a & iomkl/2020a) (#11387, #11568)
                  • build LibTIFF with -fPIC (#11527)
                  • update Java/1.8 wrapper to also support aarch64 (#11545)
                • various bug fixes, including:
                  • add Python 3 as build dep for Xvfb 1.20.8 easyconfigs (#10745)
                  • patch out bug in collective primitive in TensorFlow 2.2.0 (#11175)
                  • add missing groff build dependency for Perl (provides nroff tool requires to install man pages) (#11200)
                  • add pocl dependency to GDAL easyconfig using fosscuda/2019b toolchain to make sure it builds on POWER (#11273)
                  • add libtirpc as a build dep for HDF to fix installation on RHEL8 (#11279)
                  • fix build problems with make 4.2.1 on RHEL8 (#11282, #11371)
                  • change $LIBS in Ghostscript 9.27 easyconfig to include location of zlib library to link with (#11291)
                  • remove --no-dist-info configuration option for SIP in recent PyQt5 easyconfigs (#11307)
                  • make sure correct zlib is used in recent Ghostscript easyconfigs (#11319)
                  • remove GLog and GFlags from PyTorch 1.2.0 (#11327), 1.3.1 (#11325), 1.4.0 (#11322) and 1.6.0 (#11323)
                  • use PyTorch easyblock for PyTorch 1.3.1 (#11325)
                  • add missing git build dependency for OpenImageIO 2.0.12 (#11328)
                  • fix HDF 4.2.14 easyconfigs for RHEL8 (#11330)
                  • add patch to fix installation of LAMMPS 7Aug2019 on AMD Epyc systems (#11334)
                  • fix dependency on Bowtie of v0.x in seq2HLA easyconfigs (#11339)
                  • fix installation of Hadoop v2.10.0 on RHEL8 (#11358)
                  • add patch to fix installation of Sailfish v0.10.1 on RHEL8 (#11364)
                  • add patch to fix installation of FuSeq v1.1.2 on RHEL8 (#11365)
                  • fix installation of Qt5 5.14.1 on top of zlib provided by Gentoo + stick to Python 2 as build dep (#11385, #11386)
                  • add patch for LAME configure script to make it check for correct ncurses symbol (#11388)
                  • add protobuf-python as a dependency and corresponding sanity check to PyTorch 1.6 (#11390)
                  • fix Multiwfn 3.6 installation on RHEL8 (#11402)
                  • fix OpenFOAM 2.3.1 installation with intel/2019b on RHEL8 (#11409)
                  • fix broken worker easyconfigs (#11412)
                  • add ncurses runtime dependency to Clang easyconfigs (#11415, #11416, #11419, #11472)
                  • fix installation of Bioconductor 3.11 bundle on aarch64 (#11417)
                  • add patch to libunwind fixing a failure on POWER (#11421)
                  • fix infinite loop build bug on ppc64le for R 4.0.0 (#11428)
                  • fix compilation of Qt5 v5.12.3 and v5.13.1 on Ubuntu 20.04 (#11434)
                  • fix PyVCF easyconfig, only supports Python 2 (#11437)
                  • add patches to fix miscomputation (on POWER) and performance issues for OpenBLAS (#11443, #11444, #11445)
                  • add missing DB dependency (required for DB_File) to easyconfigs for Perl (#11451, #11452)
                  • fix dbarts extension in R v4.0.0 easyconfigs for non-x86_64 (#11453)
                  • use Homebrew source mirror to auto-download sources for DB v18.1.25 and v18.1.32 (#11454)
                  • add missing UnZip dependency for Python 3.8.2 (#11458)
                  • add support for building OpenBLAS on ARM TSV110 with GCC 8.3 (#11464)
                  • allow Kent_tools to build when MySQL installed at the OS level (#11471)
                  • add missing moduleclass to easyconfigs for:
                    • Arlequin 3.5.2.2 (#11473), MEGAHIT 1.2.8 (#11474) and 1.2.9 (#11475), PyCUDA 2019.1.2 (#11476)
                  • fix source for SQLite 3.31.1 (#11483)
                  • fix installation of worker 1.6.11 with intel/2019b on RHEL 8.2 (#11498)
                  • fix checksum in NAMD 2.12 easyconfigs + add source URL (#11515)
                  • add BLAS/LAPACK check to GPAW patch adding EasyBuild configuration files (#11523)
                  • backport fixes for Score-P v6.0 (#11540)
                  • add XZ build dep to easyconfigs for libarchive v3.4.0 and v3.4.2 (#11561)
                  • add patch for OpenMPI 3.1.4 adding device parameters for ConnectX-6 (#11575)
                • other changes:
                  • update README on constructing source file for MATLAB (#6341)
                  • remove easyconfigs for Taiyaki that depend on PyTorch 1.3.1, since latest version still requires PyTorch 1.2.0 (#11301)
                  • make CI error messages less confusing (\"is\" -> \"should be\") (#11314)
                  • remove extensions from R-bundle-Bioconductor 3.11 easyconfigs that are also included in R 4.0.0 (#11429)
                  • cache M4 source tarball to avoid test failures because of download problems (#11469)
                  • rename jupyterhub to JupyterHub (#11571)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb430","title":"EasyBuild v4.3.0 (September 13th 2020)","text":"

                feature release

                framework

                • various enhancements, including:
                  • add script to create sources entries for git submodules (#3369, #3436)
                  • add templates for CUDA compute capabilities (#3382)
                    • %(cuda_compute_capabilities)s, %(cuda_sm_comma_sep)s, %(cuda_sm_space_sep)s
                  • add EasyBuild configuration option --generate-devel-module (#3388)
                    • to allow disabling generating of \"devel\" modules via --disable-generate-devel-module
                  • set up a minimal build environment when using system compiler (#3399)
                    • by default, $CC is set to gcc and $CXX is set to g++ when using system toolchain
                    • minimal build environment can be customized via --minimal-build-env configuration option
                  • add --sysroot configuration option to specify alternative location of system root (#3419)
                    • this is useful when installing software in a Gentoo Prefix environment (for example)
                • various bug fixes, including:
                  • allow including easyblocks from multiple locations, by combining --include-easyblocks and --include-easyblocks-from-pr (#3311)
                  • also escape backslashes in quote_py_str() (#3386)
                  • use one argument module swap statements in Tcl modulefiles (required by Modules 4.2.3+) (#3397)
                  • fix copying of (non-existing) file with apply_patch (#3400)
                  • create symlink from lib64 to lib subdir in installation directories to avoid that GCC prefers /lib64 system directories (#3401)
                  • fix default value for lib64_fallback_sanity_check build option (#3402)
                  • correctly determine commit status in --merge-pr (#3406)
                  • stop installing ccache wrapper for Fortran compiler (#3409)
                  • fix issues with applying PR patch in --from-pr (#3414)
                  • make RPATH wrapper script more robust by using python -E -s -S to run rpath_args.py (#3422)
                  • don't inject -Wl,-rpath options when -x c++-header compiler option is used (#3424)
                  • fix lack of -mno-recip on aarch64 by tweaking GCC options used when precise toolchain option is enabled (#3425)
                  • make sure self.start_dir is set in ExtensionEasyBlock (#3426, #3435)
                  • exclude local variables from typo check in easyconfig files (#3427)
                • other changes:
                  • stick to cryptography 2.9.2 when using Python 2.7 to avoid broken test suite in CI (#3392)
                  • automatically enable --ignore-locks with --fetch (#3404)
                  • switch to status badge based on tests run in GitHub Actions CI in README (#3415)
                  • make flake8 code style checks pass (#3416, #3417)
                  • limit Travis to only test with Python 2.6 + Lmod 7 (#3418)
                  • ignore deprecation warning raised for cryptography when using Python 3.5 produced by output of test suite (#3423)

                easyblocks

                • 2 new software-specific easyblocks:
                  • pybind11 (#2115), PyTorch (#2104)
                • minor enhancements, including:
                  • update MATLAB easyblock to use new binary installer for versions >= 2020a (#2058)
                  • add use_pip_requirement custom easyconfig parameter to PythonPackage easyblock to allow providing a requirements file to the pip command, as a source (#2064)
                  • update CP2K easyblock for recent versions (>= 7.0) (#2069)
                  • add multi_deps support into custom easyblock for QScintilla (#2077)
                  • update Mothur easyblock for v1.44.0 and higher (#2084)
                  • update MotionCor2 easyblock to add support for v1.3.2 (#2100)
                  • update Tinker easyblock to handle skipping of tests depending on version and link with fftw_omp (#2102)
                  • launch test & sanity check commands through mpirun for netcdf4-python if MPI support is enabled (#2106)
                  • check for installation of pip & setuptools in Python 3.4+ (#2108)
                  • update QuantumESPRESSO easyblock to support version 6.6 (#2112)
                  • allow NAMD to be built on POWER, and also use the CUDA arch info (#2113, #2123)
                  • update Libint easyblock for versions >= 2.6.0 + add custom easyconfig parameter to enable Fortran support (#2116)
                  • update TensorFlow easyblock to use system/EasyBuild installed libraries (#2117, #2165, #2163, #2172)
                  • add support in NAMD easyblock to pass additional C++ compiler options for building Charm++ component with + wrap them in single quotes (#2118)
                  • automatically add required -G Ninja option when using CMakeNinja easyblock + add generator custom easyconfig parameter for CMakeMake (#2120)
                  • make several easyblocks aware of --sysroot EasyBuild configuration option: binutils (#2147, #2159), CMakeMake (#2152), GCC (#2143), Perl (#2142), Python (#2148, #2149)
                  • make Mesa easyblock aware of aarch64 (#2153)
                  • enhance sanity check in custom Doxygen easyblock to catch broken installation (#2171)
                • various bug fixes, including:
                  • make TensorFlow easyblock ignore the PKG_REVISION identifier if NCCL version if it exists (#2085)
                  • remove version check against the version.txt file in CUDA easyblock (#2097)
                  • add lib symlink in tbb installation directory when building from source (#2103)
                  • handle GNUInstallDirs special cases in CMakeMake easyblock (#2105, #2124)
                  • patch ELPA's manual_cpp script to fix hardcoded /usr/bin/python (#2107)
                  • make TensorFlow easyblock also set $GCC_HOST_COMPILER_PREFIX to specify binutils location (#2110)
                  • ensure stand-alone Python package being installed is in view when running pip check by loading fake module first (#2114)
                  • be more patient when running interactive configure script for WRF (#2119)
                  • make sure self.start_dir is set to a full path before constructing installation command in RPackage easyblock (#2125)
                  • correctly check whether modinc easyconfig parameter is set to True in CP2K easyblock (#2138)
                  • update PSI easyblock to correctly find Python and enable PCMSolver/CheMPS2 (#2141)
                  • fix running GROMACS tests when using eb --rpath (#2144, #2154)
                  • remove existing Python installation directory if both eb --rpath and --enable-optimizations configuration option are used (#2146)
                  • ensure libQt5Core.so is compatible with older Linux kernels by disabling renameat2 and getentropy features (#2151)
                  • solve issue where pybind11 picks up on the system Python instead of one provided by a module (#2158)
                  • fix Qt5 easyblock to support installation on Arm/aarch64 (requires platform to be linux-g++) (#2160)
                  • fix OpenFOAM easyblock to support installation on Arm/aarch64 systems (#2162)
                  • explicitly enable/disable CUDA options in PyTorch easyblock + fix download check in sanity check + fix for disabling of *NNPACK on POWER systems (#2164)
                  • fix sanity check in Mathematica easyblock for 11.x versions older than 11.3 (#2168)
                  • unset $COLUMNS if it is set to 0 before running Perl's configure script (#2169)
                • other changes:
                  • filter out Python in SLEPc configure (#2101)
                  • switch to status badge based on tests run in GitHub Actions CI in README (#2126)
                  • fix code style issues to make flake8 checks pass (#2128 - #2137, #2140, #2145, #2155)
                  • limit test configurations in Travis CI to only Python 2.6 (#2139)

                easyconfigs

                • added easyconfigs for 2 new toolchains:
                  • gomkl/2020a and iomkl/2020a (#11036)
                • added example easyconfig files for 49 new software packages:
                  • almosthere (#11152), arcasHLA (#10867), BioPP (#11113), Bracken (#10829), BUFRLIB (#11140), Calib (#11111), CellRanger-ATAC (#11186), edlib (#10470, #11246), flatbuffers (#11109), gengetopt (#11117), graphite2 (#11168), HeFFTe (#10990), hierfstat (#11249), immunedeconv (#11136), ioapi (#10959), itpp (#10958), LiBis (#11059), libosmium (#11024), limix-bgen (#11152), minibar (#10470, #11246), misha (#11127), MOABS (#10747), moonjit (#11163), NGLess (#11128), nsync (#11109), openCARP (#11117), OpenForceField (#11048), OpenMMTools (#11046), OpenMS (#10994), PennCNV (#10986), plantcv (#10968), PlasmaPy (#10732), Portcullis (#11038), PycURL (#11169), PyGEOS (#11110), pySCENIC (#11115), Reapr (#9296), RnBeads (#11142), sf (#11248), SLiM (#11172), stars (#11215, #11248), Sumo (#11071), Telescope (#10943), tensorflow-probability (#10312), texlive (#11168), tidymodels (#11010), Trycycler (#11207), umi4cPackage (#11127), variant_tools (#11169)
                • added additional easyconfigs for various supported software packages, including:
                  • Bazel 3.4.1, Bonito 0.2.2, binutils 2.35, CP2K 7.1, Clang 10.0.1, ccache 3.7.11, ctffind 4.1.14, datamash 1.5, ELPA 2020.05.001, Emacs 26.3, Flye 2.8.1, GCC(core) 10.2.0, googletest 1.10.0, HDF 4.2.15, Horovod 0.19.5, imageio 2.9.0, JUBE 2.4.0, Julia 1.5.1, Kent_tools 401, Libint 2.6.0, libxsmm 1.16.1, MDSplus 7.96.8, MDTraj 1.9.4, MariaDB 10.4.13, Meson 0.55.1, MotionCor2 1.3.2, NAMD 2.14, NCO 4.9.3, OpenFOAM 8, OpenMPI 4.0.5, OptiX 6.5.0, Pandoc 2.10, Perl 5.32.0, PostgreSQL 12.4, PyCUDA 2019.1.2, PyFR 1.9.0, PyTorch 1.6.0, PyZMQ 18.1.1, patchelf 0.12, pocl 1.5, pycocotools 2.0.1, pyproj 2.6.1.post1, QuantumESPRESSO 6.6, RDKit 2020.03.3, rgdal 1.5, Salmon 1.3.0, Spark 3.0.0, scikit-image 0.17.1, scipy 1.4.1, snpEff 5.0, sympy 1.6.2, TINKER 8.7.2, tqdm 4.47.0, Unicycler 0.4.8, VMD 1.9.4a43
                • minor enhancements, including:
                  • also build Python libraries for ParaView 5.8.0 (#10927)
                  • add extensions to recent Bioconductor easyconfigs: FlowSorted.Blood.EPIC (#11021), DRIMSeq + stageR (#11053)
                  • add extensions to recent R easyconfigs: AICcmodavg + biomod2 (#11030), qqman (#11052), poLCA (#11081), coxed (#11094), testit + data.tree (#11135), celestial + fasterize (#11206)
                  • add Config::Simple extension to Perl 5.30.x easyconfigs (#11051)
                  • update TensorFlow v2.1.0 (#11109) and v2.0.0 (#11233) easyconfigs to provide more dependencies via EasyBuild
                  • add CUDA compute capabilities to torchvision-0.5.0 (#11241)
                • various bug fixes, including:
                  • patch to fix exporting images with PyQtGraph v0.10.0 (#10848)
                  • add missing Python dependency to PETSc 3.11.1 (#10907) and PETSc 3.12.x (#10908) easyconfigs
                  • use CMakeMake easyblock for installing magma to avoid C++11 related failures on POWER (#10929)
                  • fix source URL for Graphviz v2.40.1 (#10944)
                  • fix lapack.h for use with C++ in OpenBLAS 0.3.9 easyconfigs (#10960)
                  • add missing build dep on M4 for 2019b versions of netCDF-Fortran (#10972)
                  • update easyconfig for PyTorch 1.4 to use custom easyblock and run on POWER (#11000)
                  • create symlinks to incorrectly named directories in OpenBabel-3.1.1 so $BABEL_LIBDIR and $BABEL_DATADIR work properly (#11004)
                  • add missing Python build dep to recent ELPA easyconfigs (#11011)
                  • use is_generic_easyblock from filetools in easyconfigs test suite (#11020)
                  • fix sources in Portcullis v1.2.2 easyconfigs (#11038)
                  • add patch for FFTW 3.3.8 to avoid use of -no-gcc when building with Intel compilers, to fix installation on CentOS 8 (cfr. #10932) (#11050)
                  • add missing Python build dep for BEDTools 2.29.x (#11054)
                  • add missing SciPy-bundle and Kent_tools (for bedPartition command) dependencies to FLAIR (#11057)
                  • add patch to fix bug in LiBiS v20200428 easyconfig (#11059)
                  • use FFTW provided via EasyBuild for ScaFaCoS (#11060)
                  • fix undefined reference to qfloat16::mantissatable in Qt5.14.1 (#11063)
                  • add alternative checksum for rstantools 2.0.0 extension (#11081)
                  • update checksums for R 3.6.0 packages and add patch for ppc (#11088)
                  • install scikit-learn 0.23.1 as a bundle and include required threadpoolctl extension (#11089)
                  • update pybind11 easyconfigs to use custom easyblock to install with pip (#11091)
                  • add recent six as extension to archspec installed on top of Python 3.7.4 (#11092)
                  • add missing Seaborn dependency to LiBis easyconfig (#11095)
                  • add missing dependencies for OpenPIV + switch to PythonBundle easyblock and include progressbar2 as extension (#11096)
                  • add missing argparse dep to TEtranscripts easyconfig (#11097)
                  • add missing pkg-config build dep in Octave 5.1.0 easyconfigs (#11100)
                  • don't statically link MUSCLE, to avoid requiring that glibc-static is installed in OS (#11102)
                  • add missing pkg-config build dependency in recent R-bundle-Bioconductor easyconfigs (#11104)
                  • add patch to h5py 2.8.0 (#11119) and 2.9.0 (#11118) easyconfigs to avoid MPI_Init on import h5py
                  • add patch to support libbfd 2.34 API change in Score-P 6.0 (#11123)
                  • use pip to install protobuf-python in 2019b toolchain (requires re-downloading source tarball!) (#11143, #11260)
                  • add missing Keras-Applications extension to TensorFlow 2.2.0 easyconfigs with foss*/2019b toolchain (#11156)
                  • add missing pocl dependency in R 3.6.0 (#11157)
                  • update Meson build dep to 0.55.1 for GLib, X11, Mesa & co to fix aggressive RPATH stripping (#11178)
                  • disable generating of man pages in recent libdrm easyconfigs to avoid installation failure if docbook-xsl is not installed (#11182)
                  • add fontconfig and bzip2 as direct dependencies for Qt5 to fix installation with --rpath (#11183)
                  • fix failing make check for MPFR 4.x (#11187) and GMP (#11188) when installing with eb --rpath
                  • add pkg-config as a build dependency for libglvnd (#11189)
                  • add missing libiconv dep in recent Doxygen easyconfigs (#11191, #11257)
                  • enhance Java/11 wrapper to also support for aarch64/Arm (#11192)
                  • add pkg-config as a build dependency to Ghostscript 9.52, needed on aarch64/arm (#11194)
                  • add patch for pycrypto extension in recent Python easyconfigs to remove hardcoded /usr/include which causes problems when eb --sysroot is used (#11202)
                  • fix installation of R v3.6.3 and v4.0.0 with foss/2020a on Arm (aarch64) (#11213)
                  • update PyTorch 1.4 easyconfigs to use custom easyblock (and do less downloading during installations) (#11219)
                • other changes:
                  • don't require custom sanity_check_paths for CUDA bundle easyconfigs (#10936)
                  • move intervaltree and sortedcontainers to main Python easyconfigs (#10969, #10970)
                  • disable qtwayland in Qt5 v5.14.1 (#11107)
                  • remove mklml (small MKL) from PyTorch 1.3.1 and 1.4.0 easyconfigs (#11019)
                  • use pip to install h5py 2.10.0 (#11044)
                  • stop testing easyconfig PRs with Travis, only use GitHub Actions from now on (#11008, #11055)
                  • switch to Kent_tools built from source as dep for FusionCatcher (#11057)
                  • fall back to using PR target branch when determining \"merge base\" between PR branch & target branch fails in test suite (#11069)
                  • rename gtest to googletest (#11082)
                  • rename sdsl-lite to SDSL (to use one single name) (#11084)
                  • stop using remove_usr_bin patch in TensorFlow easyconfig, no longer required with updated TensorFlow easyblock (#11087)
                  • extend timeout for libxc-4.3.4 to avoid failing tests (#11126)
                  • move GitHub Actions status badge to top of README (#11138)
                  • fix code style issues in test (#11146)
                  • enable flake8 on CI and fix issues (#11147)
                  • prefer gc GitHub site for source downloads (#11208)
                  • prefer https over ftp in source_urls of IgBLAST easyconfig (#11244)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb422","title":"EasyBuild v4.2.2 (July 8th 2020)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add support for using sources and git_config for extensions in exts_list (#3294)
                  • add support for software minver template (like %(pyminver)s, etc.) (#3344, #3345)
                  • add support for updating dictionary or tuple easyconfig parameters with self.cfg.update (#3356)
                • various bug fixes, including:
                  • fix crash in --avail-easyconfig-constants when using --output-format=rst + ensure sorted output (#3341)
                  • always take into account builddependencies when generating template values, also when we're not iterating over builddependencies (#3346)
                  • fix running command as easybuild user in generated Singularity definition file (#3347)
                  • allow ignoring versionsuffix in --try-update-deps (#3350, #3353)
                  • retain order of paths when generating prepend_path statements for module file (don't sort them alphabetically) (#3367)
                  • also put easyblocks used by extensions in reprod directory (#3375)
                  • also copy template values in EasyConfig.copy method to ensure they are defined when installing extensions (#3377)
                  • skip lines that start with module-version when determining whether a module exists in ModulesTool.exist (#3379)

                easyblocks

                • 3 new software-specific easyblocks:
                  • LLVM (#2065), Scipion (#1847), XALT (#1942)
                • minor enhancements, including:
                  • use wclean -platform instead of wcleanPlatform for OpenFOAM v2006 & newer (#2088)
                • various bug fixes, including:
                  • only build OpenCV with IPP support on x86_64 systems (#2056)
                  • make sure CFLAGS and MYCFLAGS are used in Lua easyblock (#2062)
                  • also accept exist_lic as valid value for license_file in IntelBase easyblock (#2067)
                  • fix minor bug in shared libs handling and correctly setup SuiteSparse variables in Trilinos easyblock (#2071)
                  • make sure PythonBundle uses correct python command in extensions filter + also add lib64/python*/site-packages to $PYTHONPATH (if it exists) (#2075, #2081)
                  • fix build environment for WRF by patching shebang in compile script (#2079)
                  • fix order of intel64/lib paths in generated module for impi (and drop intel64/lib/release_mt) (#2080)
                  • set $XDG_CACHE_HOME to avoid abuse of $HOME/.cache/pip when installing DOLFIN (#2082)
                  • make VMD easyblock Python 3 compatible (#2083)
                  • rename include-fixed subdirectory in GCC installation to avoid problems after OS upgrade (#2087, #2093, #2094)
                  • use glob pattern to determine name of Mathematica installation script (#2089)
                  • use mpirun for sanity check commands in LAMMPS easyblock (#2096)

                easyconfigs

                • added easyconfigs for 2 new toolchains:
                  • golf/2020a (#10672)
                  • intel/2020.06, based on intel/2020a but with impi 2018 update 5 (#10864)
                • added example easyconfig files for 36 new software packages:
                  • AmrPlusPlus (#9919), arrow (#10882), attrdict (#10827), Cartopy (#10685), dm-tree (#10775), dotNET-SDK (#10661), FLAIR (#10860), fastqsplitter (#10706), GLFW (#10709), git-extras (#10440), hl7apy (#10728), hyperopt (#10735), IgBLAST (#10889), IntelDAAL (#9848), ichorCNA (#10595), MARS (#10691), MITObim (#10897), MUST (#10849), mhcnuggets (#9743), PAUP (#10830), Percolator (#10665), PyBerny (#10885), poetry (#10884), pycocotools (#10806), python-hl7 (#10673), SHAPEIT4 (#10814), SYMPHONY (#10058), SunPy (#10676), sdsl-lite (#10691), TEtranscripts (#10909, #10921), Tombo (#10646), tensorboardX (#10774), Unidecode (#10828), WHAM (#10736), XALT (#9792), Xvfb (#10512)
                • added additional easyconfigs for various supported software packages, including:
                  • Armadillo 9.900.1, astropy 4.0.1, BLAST+ 2.10.1, BioPerl 1.7.7, Blitz++ 1.0.2, Bonito 0.2.0, bokeh 2.0.2, CFITSIO 3.48, CGAL 4.14.3, CLHEP 2.4.1.3, cutadapt 2.10, dask 2.18.1, Elk 6.3.2, GATE 9.0, GLM 0.9.9.8, GRASS 7.8.3, Geant4 10.6, geopandas 0.8.0, giflib 5.2.1, HDF5 1.12.0, HISAT2 2.2.0, Hadoop 2.10.0, IPython 7.15.0, inferCNV 1.2.1, Julia 1.4.2, LibSoup 2.70.0, MATIO 1.5.17, MRtrix 3.0.0, Mathematica 12.1.1 MultiQC 1.9, NGS 2.10.5, NiBabel 3.1.0, Nipype 1.4.2, ncbi-vdb 20.10.7, numba 0.50.0, OpenBabel 3.1.1, OpenFOAM v2006, PDT 3.25.1, PRSice 2.3.1, ParaView 5.8.0, ParmEd 3.2.0, PyQt5 5.13.2, Pysam 0.16.0.1, parallel 20200522, plotly.py 4.8.1, pybedtools 0.8.1, ROOT 6.20.04, ReFrame 3.0, Roary 3.13.0, rjags 4-10, rstudio 1.3.959, SPAdes 3.14.1, SRA-Toolkit 2.10.8, Saxon-HE 9.9.1.7, Seaborn 0.10.1, Seurat 3.1.5, SimPEG 0.14.1, Spark 2.4.5, StringTie 2.1.3, scikit-allel 1.2.1, scikit-learn 0.23.1, snpEff 4.3t, Valgrind 3.16.1, VarScan 2.4.4, vsc-mympirun 5.1.0, WebKitGTK+ 2.27.4, wxPython 4.0.7.post2, zarr 2.4.0
                • minor enhancements, including:
                  • add extensions to R 4.0.0 easyconfig: drgee + stdReg (#10833), copCAR (#10911), ngspatial (#10913), drugCombo (#10914)
                  • add extensions to R-bundle-Bioconductor 3.11 easyconfig: BSgenome.Cfamiliaris.UCSC.canFam3 (#10840), SingleR (#10904)
                  • include extra extension and support for MPI in MAFFT v7.453 and v7.470 (#10853)
                  • add Array::Transpose to Perl (#10878)
                • various bug fixes, including:
                  • fix dependencies and configuration of CoinUtils ecosystem (#10450)
                  • fix Togl configure patch so that it completely ignores TCL_SRC_DIR and TK_SRC_DIR (#10662)
                  • change Xerces-C++ to official CMakeMake build (fixes missing links to curl) (#10664)
                  • add -fPIC to toolchainopts in easyconfig for Lua 5.3.5 with system toolchain (#10671)
                  • remove hardcoded X86 target in LLVM easyconfigs (#10677)
                  • switch to https homepage and source_urls in libGLU easyconfigs (#10686)
                  • add patch for h5py 2.10.0 to avoid triggering MPI_Init at import (#10687)
                  • add alternative checksum for pkgmaker, doRNG, cobs extension in R 3.6.0 easyconfigs (#10692)
                  • update UDUNITS source_urls to https sources (#10693)
                  • add missing M4 to netCDF-Fortran easyconfigs using 2020a toolchain (#10695, #10697)
                  • add Rgraphviz patch to R-bundle-Bioconductor easyconfigs (#10710)
                  • add M4 builddependency to SuiteSparse 2019b easyconfigs (#10720)
                  • make sure WHAM is built with correct compiler (#10736)
                  • define MAX_JOBS in easyconfigs of PyTorch from v1.1.0 to v1.4.0 (#10772)
                  • add dm-tree and lz4 as dependencies to Ray v0.8.4 (#10775)
                  • fix source URL in recent ant easyconfigs (#10790)
                  • bump versions of GO.gb/org.Hs.eg.db/PFAM.db extensions in Bioconductor 3.11 bundle, since sources for old versions have disappeared (#10791)
                  • add patch to Armadillo easyconfigs using the foss toolchain to prevent it from picking up MKL if installed system-wide (#10812)
                  • add missing kerneltree extension in FLAIR easyconfig (#10860)
                  • fix source URLs in Eigen 3.2. (#10872) and 3.3. (#10869) easyconfigs
                  • refer to issue in GitHub repo in configparser patch, since Bitbucket repo is disappearing (#10873)
                  • switch to github.com source URL for MetaPhlAn (#10874)
                  • switch to GitHub sources for ScientificPython 2.9.4 (#10875)
                  • switch to GitHub source URL for HPDBSCAN (#10876)
                  • download x265 3.2/3.3 sources from bitbucket.org/multicoreware/x265_git (#10905)
                  • fix download URL for libatomic in gc 7.6.12 easyconfigs (#10915)
                  • fix sanity_check_paths in CFITSIO-3.48-GCCcore-9.3.0.eb easyconfig (#10917)
                  • add missing dependencies for geopandas 0.7.0 (#10923)
                • other changes:
                  • rename OpenPyXL 2.6.4 easyconfig to openpyxl (#10916)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb421","title":"EasyBuild v4.2.1 (May 20th 2020)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • also mention CPU architecture (x86_64, POWER) in comment for test reports (#3281)
                  • add support for enhancing existing sanity check in easyconfigs, as opposed to overwriting paths/commands (#3288)
                  • clean up locks when EasyBuild session is cancelled with a signal like SIGTERM (#3291, #3321)
                  • add find_glob_pattern function to filetools module (#3297)
                  • add constants for common OS dependencies (OS_PKG_IBVERBS_DEV, OS_PKG_OPENSSL_DEV, ...) (#3309, #3334)
                  • flesh out get_mpi_cmd_template function from Mpi.mpi_cmd_for method (#3312)
                  • add variable moddependpaths to specify extra $MODULEPATH entry to consider for loading dependency modules (#3324)
                  • allow copying of tweaked easyconfigs when using --try-* with --copy-ec (#3332)
                • various bug fixes, including:
                  • make ModulesTool.exist more robust w.r.t. module wrappers, aliases, defaults, etc. (#3216, #3337)
                  • clean up rst output of --list-toolchains (#3246)
                  • cast CPU arch name provided by archspec to a regular string (#3286)
                  • get pr_title and pr_descr build_options in new_pr_from_branch instead of new_pr (and commit_msg in both) (#3298)
                  • make pypi_source_urls more robust by using HTMLParser rather than xml.etree.ElementTree (#3303, #3329)
                  • fix broken test for --include-easyblocks-from-pr (#3304)
                  • don't use distutils.dir_util in copy_dir (#3310)
                  • print trace message for sanity check command before running it (#3316)
                  • fix problems with processing of easyconfigs using a Cray* toolchain when there are no actual external modules (#3319)
                  • make test_find_eb_script more robust in case $EB_SCRIPT_PATH is already set (#3320)
                  • fix several small problems with --try-update-deps (experimental feature) (#3325, #3326, #3330)
                  • add --disable-job in eb command used in jobs, to prevent infinite job cycle (#3328)
                  • avoid empty entries in $LD_LIBRARY_PATH and other path-like environment variables (#3333)
                • other changes:
                  • fix code style issues in easybuild.tools + add flake8 linting test (#3282)
                  • introduce contextmanager for disabling templating and reduce resolving errors (#3287)
                  • add change_into_dir named argument to extract_file + print deprecation warning if it's not specified (#3292)
                  • improve install_eb_dep.sh script to install EasyBuild dependencies in CI environment (#3314)

                easyblocks

                • add generic easyblock for installing Go packages: GoPackage (#2042)
                • minor enhancements, including:
                  • update config.guess for all R packages, required installing R + extensions on Linux/POWER systems (#1949)
                  • add support for preinstallopts and install in subdirectory to Tarball generic easyblock (#1989, #2049)
                  • rewrite GROMACS easyblock to install all four variations (single/double precision, with/without MPI) in the same directory (#1991)
                  • add custom subdir_version easyconfig parameter for FLUENT (#2021)
                  • use updated config.guess in GCC easyblock (#2033, #2059)
                  • add extra question pattern to support installing CPLEX 12.10 (#2038)
                  • add support for building NWChem on top of external GlobalArrays + also define $LAPACK_LIB (required for NWChem 7.x) (#2043)
                  • execute minimal test in sanity check commands in impi easyblock (#2045)
                  • update for MotionCor2 easyblock for v1.3.1 (#2046)
                  • fixes + enhancements for PETSc easyblock (#2048)
                • various bug fixes, including:
                  • use correct version in ELPA preprocessor flag used for QuantumESPRESSO v6.x (#2027)
                  • generically find the arch folder and add top-level bin/lib symlinks in PDT & TAU easyblocks (#2029)
                  • fix typo in LAMMPS easyblock preventing disabling the USER-INTEL package via configopts (#2031)
                  • let CMakeMake remove easybuild_obj build directory if it already exists (#2032)
                  • include own lib dir in RPATH before system lib dirs in binutils easyblock (#2044)
                  • clean $CPATH before building ROOT to avoid clash between external LLVM loaded as a dependency and internal LLVM used by ROOT (#2047)
                  • don't let extract_file change directory in various easyblocks (#2051)
                  • make postinstallcmds available to Mathematica easyconfigs + add bin/Executables to $PATH (#2052)
                  • fix the extra dirs added to PATH in FreeSurfer easyblock (#2053)
                  • correct download url for test data in WPS easyblock (#2055)
                  • fix typo in warning in TensorFlow easyblock (#2057)
                  • fix failing sanity check under --module-only in GCC easyblock (#2059)
                • other changes:
                  • add configure options for CubeLib/CubeWriter dependencies in Score-P easyblock (#2030)
                  • remove local find_glob_pattern in Blender & ROOT easyblocks, use function provided by filetools instead (#2037)

                easyconfigs

                • added easyconfigs for new common toolchains: foss/2020a (#10483, #10492), intel/2020a (#10494)
                • added example easyconfig files for 66 new software packages:
                  • Alpha (#9994), antiSMASH (#10589), Arlequin (#10620), artic-ncov2019 (#10459), augur (#10405), AutoMap (#10419), Bio-EUtilities (#10037), CaSpER (#10593), cdbfasta (#10547), cddlib (#10429), CoCoALib (#10429) dftd3-lib (#10351), DoubletFinder (#10603), E-ANTIC (#10429), FastViromeExplorer (#10571), FIX (#8870), FusionCatcher (#10134), geopandas (#10322), goalign (#10469), gotree (#10459), gretl (#10413), harmony (#10604), HDF-EOS (#10534), HDF-EOS5 (#10536), HMMER2 (#10588), HyPo (#10642), king (#10365), libdeflate (#10459), libfabric (#10616), libgit2 (#10453), libuv (#10444), mbuffer (#10524), MDAnalysis (#10545), MEM (#10605), MESS (#10597), metaerg (#10037), MinCED (#10037), MitoZ (#7735), nauty (#10429), nifti2dicom (#10598), NLMpy (#10029), ntCard (#10502), NTL (#10431), pIRS (#10508), popscle (#10550), ProtHint (#10549), protozero (#10495), pysndfx (#10452), PyVCF (#10564), PyWavelets (#10501), rampart (#10459), rickflow (#10641), RNA-Bloom (#10502), root_numpy (#10424), rstudio (#10619), ScaFaCoS (#10537), Scythe (#10524), SDSL (#10642), SHAP (#10379), SNPomatic (#10524), SoX (#10452), swissknife (#10037),) Taiyaki (#10573), TCLAP (#10598), torchaudio (#10516), wtdbg2 (#10524)
                • added additional easyconfigs for various supported software packages, including:
                  • ADF 2019.303, BRAKER 2.1.5, Bazel 2.0.0, Bonito 0.1.4, Boost.Python 1.72.0, Bowtie2 2.4.1, CMake 3.16.4, CPLEX 12.10, CVXOPT 1.2.4, Coreutils 8.32, cURL 7.69.1, DFTB+ 19.1, ecCodes 2.17.0, expat 2.2.9, FFmpeg 4.2.2, FriBidi 1.0.9, GATK 4.1.5.0, GCC(core) 10.1.0, GDAL 3.0.4, GEOS 3.8.1, GLib 2.64.1, GMP 6.2.0, GROMACS 2020.1, GTK+ 3.24.17, GenomeThreader 1.7.3, GffCompare 0.11.6, Ghostscript 9.52, GlimmerHMM 3.0.4c, GlobalArrays 5.7.2, gmpy2 2.1.0b4, gmsh 4.5.6, gpustat 0.6.0, gradunwarp 1.2.0, HDF5 1.10.6, hwloc 2.2.0, hypothesis 5.6.0, ICU 66.1, IPython 7.13.0, ImageMagick 7.0.10, Julia 1.4.1, KMC 3.1.2rc1, Kraken2 2.0.9, LMfit 1.0.0, Longshot 0.4.1, libarchive 3.4.2, libffcall 2.2, libffi 3.3, libgd 2.3.0, libjpeg-turbo 2.0.4, librsvg 2.48.4, libsigsegv 2.12, lrslib 7.0a, MEME 5.1.1, MPC 1.1.0, Mako 1.1.2, Mesa 20.0.2, Meson 0.53.2, MotionCor2 1.3.1, MultiQC 1.8, matplotlib 3.2.1, NGS-Python-2.10.4, NGS 2.10.4, NSPR 4.25, NSS 3.51, NWChem 7.0.0, Nextflow 20.04.1, Ninja 1.10.0, Normaliz 3.7.4, nanopolish 0.13.1, ncbi-vdb 2.10.4 netCDF 4.7.4, OpenBLAS 0.3.9, OpenEXR 2.4.1, OpenMPI 4.0.3, OpenSSL 1.1.1e, openpyxl 3.0.3, PAPI 6.0.0, PCRE 8.44, PCRE2 10.34, PLUMED 2.6.0, PMIx 3.1.5, PROJ 7.0.0, Perl 5.30.2, Pillow 7.0.0, PyYAML 5.3, Python 2.7.18 + 3.8.2, parallel 20200422, Qt5 5.14.1, R-bundle-Bioconductor 3.11, R 3.6.3 + 4.0.0, RMBlast 2.9.0, Racon 1.4.13, Ray 0.8.4, Rust 1.42.0, re2c 1.3, rioxarray 0.0.24, rootpy 1.0.1, rstudio 1.2.5042, SCons 3.1.2, SDL2 2.0.10, SIONlib 1.7.6, SQLite 3.31.1, SRA-Toolkit 2.10.4, Salmon 1.2.0, ScaLAPACK 2.1.0, SciPy-bundle 2020.03, Stacks 2.53, StringTie 2.1.1, SuiteSparse 5.7.1, snappy 1.1.8, spaln 2.4.03, sympy 1.5.1, Tcl 8.6.10, TensorFlow 2.2.0, Tk 8.6.10, Tkinter 3.8.2, tbl2asn 20200302, torchvision 0.5.0, UCX 1.8.0, UMI-tools 1.0.1, utf8proc 2.5.0, util-linux 2.35, worker 1.6.12, wxWidgets 3.1.3, X11 20200222, XZ 5.2.5, x264 20191217, x265 3.3, zsh 5.8, zstd 1.4.4
                • minor enhancements, including:
                  • add additional extensions for recent versions of R (#10359, #10585, #10586, #10621) and R-bundle-Bioconductor (#10585, #10596, #10621)
                  • add additional extensions for recent versions of Perl (#10412, #10546, #10623)
                  • include LLVM linker in Clang 7.0.1 on GCC 7.3.0-2.30(#10458)
                  • include static lib and header in nimimap2 easyconfigs for foss-2018b and GCC-8.2.0* (#10464)
                  • add alternate checksum for EMBOSS (#10607)
                • various bug fixes, including:
                  • fix incorrect checksums for Amber patches (#8870)
                  • add patches to fix installation of R 3.6.2 on POWER (#9830)
                  • add missing build dep. pkg-config in GObject-Introspection 1.63.1 w/ Python 3.7.4 easyconfig (#10380)
                  • add Perl as a build dependency for recent Autoconf/Automake easyconfigs (#10408, #10426)
                  • fix source_urls in ICU easyconfigs (#10417)
                  • disable USER-INTEL package in LAMMPS easyconfigs using intel/2019b, since it results in an installation that produces incorrect results (#10418)
                  • fix undefined reference to qfloat16::mantissatable in Qt5-5.13.1-GCCcore-8.3.0 (#10425)
                  • get rid of double '-' in versionsuffix of torchtext easyconfig (#10472)
                  • fix broken Mako easyconfigs (#10480, #10627)
                  • move builddependencies to dependencies in OTF2 and Score-P easyconfigs (#10496)
                  • add missing cURL dep for LAMMPS (#10527)
                  • add Python 2 build dependency for OpenPGM (#10539)
                  • use OS_PKG_IBVERBS_DEV constant for OS dependency in PyTorch 1.4.0 easyconfigs (#10540)
                  • add missing Bison build dep in Graphviz easyconfigs (#10541)
                  • use https in homepage for Mathematica 12.0.0 + clean up sanity check commands (now done by easyblock) (#10559)
                  • add missing PyVCF dependency for BAMSurgeon (#10564)
                  • remove FFTW dependencies from LAMMPS easyconfigs, no longer needed (MKL can be used too now) (#10565)
                  • fix ITK v5.0.1 easyconfig w.r.t. locale and location of libjpeg-turbo library (#10592)
                  • add patch to fix missing const qualifiers for ncurses (#10606)
                  • fix OS dependency for rstudio for Debian-based systems (#10608)
                  • fix Rmath paths in easyconfig for FastQTL v2.184 (#10612)
                  • add symlink for Arlequin commands + fix sanity check commands (#10620)
                  • fix recent binutils easyconfigs using system toolchain for Fedora 32 / GCC 10 (#10633)
                  • replace '/path/to' with actual installation prefix in FuSeq scripts (#10640)
                • other changes:
                  • check sdist with different Python versions in CI (#10388)
                  • use Bison 3.3.2 as build dep for flex 2.6.4 (#10403)
                  • mention http:// Pfam website rather than ftp:// in load message of BiG-SCAPE easyconfig (#10439)
                  • archive old Singularity configs (#10591)
                    • Singularity is not well suited to install via EasyBuild because it requires admin privileges to enable setuid
                  • stop using old hpcugent URL for cloning framework/easyblocks repos in CI (#10635)
                  • use SYSTEM constant for toolchain in easyconfigs already use system toolchain (#10638)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb420","title":"EasyBuild v4.2.0 (April 14th 2020)","text":"

                feature release

                framework

                • add support for --try-update-deps (experimental feature), to upgrade dependencies based on available easyconfigs (#2599)
                • adding locking to prevent two parallel builds of the same installation directory (#3009)
                  • for more information, see https://easybuild.readthedocs.io/en/latest/Locks.html
                • significantly speed up -D/--dry-run by avoiding useless 'module show' (#3203)
                • add support for creating an index & using it when searching for easyconfigs (#3210)
                  • for more information, see https://easybuild.readthedocs.io/en/latest/Easyconfigs_index.html
                • additional GitHub integration features:
                  • add support for targeting easyblocks and framework repositories in --new-pr (#1876, #3189)
                  • add support for --include-easyblocks-from-pr (#3206)
                  • for more information, https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html
                • various other enhancements, including:
                  • add a contrib/hooks dir with some examples of hooks used (#2777)
                  • also mention working directory + input passed via stdin (if any) in trace output of run_cmd (#3168)
                  • probe external modules for missing metadata that is not provided via external module metadata file (#3174)
                  • also update $CMAKE_PREFIX_PATH and $CMAKE_LIBRARY_PATH in generated module file (#3176)
                  • optionally call log.warning in print_warning (#3195)
                  • add an option to git_config to retain the .git directory (#3197)
                  • allow use of SYSTEM as --try-toolchain option (#3213)
                  • mention CPU arch name in comment for uploaded test report, if it's known by archspec (#3227)
                  • make --merge-pr take into account --pr-target-branch (#3236)
                  • make --check-contrib print a warning when None is used for checksums (#3244)
                  • update install-EasyBuild-develop.sh script and create script for 2020a merge sprint (#3245)
                  • add template for mpi_cmd_prefix (#3264)
                  • update copy_dir to include option to merge directories (#3270)
                  • support template name for CUDA version (#3274)
                • various bug fixes, including:
                  • use correct module for errors_found_in_log (#3119)
                  • fix EasyConfig.update code to handle both strings and lists as input (#3170)
                  • fix removing temporary branch on --check-github (#3182)
                  • fix shebang even if first line doesn't start with '#!' (#3183)
                  • make bootstrap script work with Python 3 (#3186)
                  • read patch files as bytestring to avoid UnicodeDecodeError for patches that include funky characters (#3191)
                  • fix online check in --check-github: try repeatedly and with different URLs to cater for HTTP issues (#3194)
                  • don't crash when GitPython is not installed when using Python 3 (#3198)
                  • fix os_name_map for RHEL8 (#3201)
                  • don't add shebang to binary files (#3208)
                  • use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#3219)
                  • don't filter out None values in to_checksums, leave them in place (#3225)
                  • fix defining of $MPI_INC_* and $MPI_LIB_* environment variables for impi version 2019 and later (#3229)
                  • use correct target account/repo when creating test report & posting comment in PR (#3234)
                  • reorganize EasyBlock.extensions_step to ensure correct filtering of extensions (#3235)
                  • also support %(installdir)s and %(builddir)s templates for extensions (#3237)
                  • unset $GITHUB_TOKEN in Travis after installing token, to avoid failing test_from_pr_token_log (#3252)
                  • fix reporting when skipping extensions (#3254)
                  • avoid API rate limit errors on online check in --check-github (#3257)
                  • show easyconfig filenames for parallel build (#3258)
                  • make EasyConfig.dump aware of toolchain hierarchy, to avoid hardcoded subtoolchains in dependencies easyconfig parameters (#3261)
                  • fix use of --copy-ec with a single argument, assume copy to current working directory (#3262)
                  • fix posting of comment in PR with --upload-test-report (#3272)
                  • take into account dependencies marked as external modules when composing template values like %(pyver)s (#3273)
                • other changes:
                  • increase timeout & use api.github.com for connectivity check in check_github (#3192)
                  • restore flake8 default ignores (#3193)
                  • enable tracking of test suite coverage using coveralls (#3204)
                  • make tests use easybuilders/testrepository rather than hpcugent/testrepository after it was moved (#3238)
                  • improve raised error in remove_dir and deprecate rmtree2 (#3228)

                easyblocks

                • 7 new software-specific easyblocks:
                  • BerkeleyGW (#1951), CMake (#1936), ELSI (#1883), LAMMPS (#1964, #1975, #1978, #1982, #1997), libdrm (#1983), Mesa (#1892, #2006), SEPP (#1998)
                • minor enhancements, including:
                  • make ParMETIS easyblock compatible with custom configopts (#1774)
                  • update Trinity easyblock for v2.9.0 (#1906)
                  • disable ROCM and Android workspace explicitly in TensorFlow easyblock (#1944)
                  • update QuantumESPRESSO easyblock for version 6.5 (#1947)
                  • update Siesta easyblock to support MaX-1.0 release (#1954)
                  • update Ferret easyblock for versions >= 7.5.0 (#1956)
                  • update XCrySDen easyblock to support Togl dependency (#1959)
                  • pass value for TARGET specified in buildopts to testopts and installopts in OpenBLAS easyblock (#1960)
                  • fix netCDF(-Fortran) support in Siesta easyblock (#1967, 1971)
                  • add NCDF_PARALLEL and METIS support to Siesta easyblock (#1973)
                  • add support for use_pip_extras custom easyconfig parameter in PythonPackage easyblock (#1980)
                  • update Open Babel easyblock for version 3.0.0 (#1992)
                  • allow differing names for TensorFlow wheel (#1995)
                  • make MATLAB runtime available from MATLAB (#2008)
                • various bug fixes, including:
                  • fix linking of Hypre to external BLAS/LAPACK + support building (only) static/shared library (#1885)
                  • fix MPI-CXX dependency of PETSc (#1917)
                  • limit amount of parallelism in TensorFlow easyblock (#1934)
                  • support GCCcore and gcc4.8 (if that dir exists) in function get_tbb_gccprefix in tbb easyblock (#1943)
                  • restore default flake8 warnings (#1950)
                  • remove tests from build_step and raise error on failed tests in OpenBLAS easyblock (#1952, #1955, #1962)
                  • add optional runtest to the catch for FATAL ERRORS to OpenBLAS easyblock (#1958)
                  • ensure right 'python' command is used to determine Python lib dir when system Python is used with PythonBundle easyblock (#1961)
                  • make sure lib/python*/lib-dynload exists in Python installation (#1966)
                  • in version 6.0 of TensorRT, libnvinfer.a is renamed libnvinfer_static.a (#1970)
                  • handle configopts without configure args in CMake easyblock (#1974)
                  • use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#1976)
                  • don't insist that pylibdir always exists in OpenCV easyblock (#1977)
                  • also set $TRINITY_HOME environment variable in Trinity easyblock (#1979)
                  • fix sanity check for OpenFOAM-Extend >= 4.1 (#1981)
                  • fix pattern matching in regex subst for I_MPI_ROOT in impi easyblock (#1986)
                  • use remove_dir instead of deprecated rmtree2 in various easyblocks (#1993)
                  • fix \"AttributeError: module 'git' has no attribute 'Git'\" that may occur when using Python 3 (#1994)
                  • don't sanity check for QtWebEngine in Qt easyblock when building for POWER (#2000)
                  • fix installation of TensorFlow in some environments, by setting $PYTHONNOUSERSITE (& more) (#2002, #2020)
                  • make sure libxml2 is built with XZ provided as dependency (#2005)
                  • look for Python version directories with suffixes in ROOT easyblock (#2010)
                  • enable TK, FLTK and OPENGL configure options in VMD easyblock (#2013)
                  • update the contributing docs (#2014)
                  • fix numexpr easyblock to allow (correctly) installing it as extension (#2022)
                • other changes:
                  • simplify various CMakeMake-based easyblocks by enhancing CMakeMake (w.r.t. CMAKE_BUILD_TYPE, shared vs static libs, -fPIC) (#1929)
                  • enable out of tree build by default in CMakeMake easyblock (#1933)
                  • force building Clang without CUDA when it is not found as a proper dependency (#1968)

                easyconfigs

                • added example easyconfig files for 114 new software packages:
                  • ABRA2 (#10272), ABRicate (#10310), ADIOS (#10036), aNCI (#9929), any2fasta (#10310), apex (#10269), archspec (#9898), ArviZ (#10366), autopep8 (#9626), BAMSurgeon (#10330), BatMeth2 (#10323), BiG-SCAPE (#10352), BinSanity (#10001), Bonito (#10269), BSMAPz (#10283), BSseeker2 (#10039), BUStools (#9838), Cbc (#10052), Cgl (#10048), CGmapTools (#10288), Clp (#10033), CoinUtils (#9937), dtcwt (#9695), ELSI (#9857), EnsEMBLCoreAPI (#8734), fastq-pair (#9894), FigureGen (#10076), Fiona (#10321), FuSeq (#10004), GenomeTools (#9797), GraphMap2 (#10299), GRASP (#9896), Groovy (#9809), gsport (#9821), gubbins (#9689), igv-reports (#9977), inferCNV (#9686), iVar (#10291), joypy (#10212), JupyterLab (#9752), kma (#10259), LAMMPS (#10371), lancet (#10271), libBigWig (#10006), libGridXC (#9858), libPSML (#5859), LtrDetector (#10343), manta (#5104), medImgProc (#10228), MedPy (#9748), Mini-XML (#10036), mkl_fft (#9887), Monocle3 (#9825), MoreRONN (#10255), motionSegmentation (#10228), NanoComp (#10212), NanoFilt (#10212), nanoget (#10212), nanomath (#10212), NanoPlot (#10212), ngspice (#9922), ntEdit (#9836), ntHits (#9833), occt (#9939), OCNet (#9955), OpenAI-Gym (#10347), OpenPIV (#9959), OpenPyXL (#10115), orca (#9518), Osi (#10361), PartitionFinder (#9983), pauvre (#10212), polymake (#9904), pretty-yaml (#10041)), PRSice (#9988), pycodestyle (#9626), pydot (#9899), pygraphviz (#9969), pylift (#10051), PyMC3 (#10279), pyparsing (#9983), PyRe (#10095), python-weka-wrapper3 (#9704), PyTorch-Geometric (#9995), qcat (#10244), RAxML-NG (#9990), Ray (#10302), rclone (#7934), Red (#9856), rstanarm (#9964), scikit-build (#9762), scVelo (#9805), SECAPR (#9721), segmentation-models (#10211), SentencePiece (#10192), SEPP (#10047), Shapely (#10309), Singular (#10030), SLATEC (#7529), spatialreg (#9767), split-seq (#9749), spoa (#9705), SSN (#9955), STEAK (#10337), stpipeline (#9736), SVG (#9905), Togl (#9868), torchtext (#10193), units (#9682), UQTk (#10279), WildMagic (#10044), Winnowmap (#10005), xtb (#9993), Zip (#9972)
                • added additional easyconfigs for various supported software packages, including:
                  • ABySS 2.1.5, Arrow 0.16.0, BCFtools 1.10.2, BEDTools 2.29.2, BUSCO 4.0.5, BerkeleyGW 2.1.0, binutils 2.34, CVXPY 1.0.28, CharLS 2.1.0, CheckM 1.1.2, Clang 10.0.0, CppUnit 1.15.1, canu 1.9, cutadapt 2.8, DIAMOND 0.9.30, davix 0.7.5, ELPA 2019.11.001, FastANI 1.3, FastQC 0.11.9, Ferret 7.5.0, GATK 4.1.4.1, GCCcore 9.3.0, GDB 9.1, GMAP-GSNAP-2019-09-12, GObject-Introspection 1.63.1, GPAW 20.1.0, GROMACS 2020, GTDB-Tk 1.0.2, GTK+ 3.24.13, Go 1.14.1, Gradle 6.1.1, GraphicsMagick 1.3.34, Graphviz 2.42.2, Gurobi 9.0.1, gSOAP 2.8.100, gnuplot 5.2.8, gtest 1.10.0, HDDM 0.7.5, HTSlib 1.10.2, HarfBuzz 2.6.4, Horovod 0.19.1, Hypre 2.18.2, IGV 2.8.0, IQ-TREE 1.6.12, IRkernel 1.1, iccifort 2020.0.166, igraph 0.8.0, impi 2019.6.166, ispc 1.12.0, Java 13(.0.2), Julia 1.4.0, Keras 2.3.1, Kraken2 2.0.8-beta, kim-api 2.1.3, LAST 1045, LASTZ 1.04.03, LLVM 9.0.1 + 10.0.0, LMfit 0.9.14, LS-PrePost 4.7.8, likwid 5.0.1, MAFFT 7.453, MATLAB 2019b, MMseqs2 10, Maven 3.6.3, Meson 0.53.1, MethylDackel 0.5.0, Mono 6.8.0.105, medaka 0.12.0, Nextflow 20.01.0, ncdf4 1.17, netcdf4-python 1.5.3, nodejs 12.16.1, numba 0.47.0, numexpr 2.7.1, Octave 5.1.0, OpenBLAS 0.3.8, OpenBabel 3.0.0, OpenCV 4.2.0, OpenFOAM-Extend 4.1-20191120, OrthoFinder 2.3.11, PETSc 3.12.4, PGI 19.10, PMIx 2.2.1, Pango 1.44.7, PyTables 3.6.1, PyTorch 1.4.0, parasail 2.4.1, pydicom 1.4.2, pyproj 2.4.2, Qhull 2019.1, QuantumESPRESSO 6.5, R-bundle-Bioconductor 3.10, RDKit 2019.09.3 Racon 1.4.10, ReFrame 2.21, Ruby 2.7.1, rjags 4-9, rpy2 3.2.6, SLEPc 3.12.2, SPAdes 3.14.0, SPAdes 3.14.0, STAR-Fusion 1.8.1, STAR 2.7.3a, Seaborn 0.10.0, SeqAn 1.4.2, Seurat 3.1.2, SimpleElastix 1.1.0, SimpleITK 1.2.4, Stacks 2.5, Stata 16, StringTie 2.1.0, scikit-optimize 0.7.4, statsmodels 0.11.0, TensorFlow 1.15.2 + 2.0.1, Tkinter 2.7.16, Trim_Galore 0.6.5, Trimmomatic 0.39, Trinity 2.10.0, tbb 2020.2, tqdm 4.41.1, XCrySDen 1.6.2, XGBoost 0.90, xarray 0.15.1, xmlf90 1.5.4
                • minor enhancements, including:
                  • add easyconfig for Java 11.0.6 on ppc64le and alter the Java 11 wrapper to support both x86_64 and ppc64le (#9371)
                  • add additional extensions for R: HiddenMarkov (#9685), lmerTest (#9853), VSURF + Rborist (#10355)
                  • change Mesa 19.1.7 + 19.2.1 easyconfigs to use custom easyblock for Mesa (#9764)
                  • build shared libs and install header files for Ghostscript (#9785)
                  • add MUMPS as dependency in PETSc 3.12.4 easyconfigs (#9880, #9891)
                  • add Perl extensions: Term::ReadLine::Gnu (#9901), URI::Escape and Set::IntervalTree (#10049)
                  • add dat directory to aNCI (#9929)
                  • add patch to create a symlink from libsvm.so.$(SHVER) to libsvm.so in LIBSVM easyconfigs (#10045)
                  • build SUNDIALS with 'pic' (#10278)
                  • add BSgenome.Hsapiens.UCSC.hg38 + MEDIPS extensions to R-bundle-Bioconductor v3.10 (#10298)
                  • fix checksums for mkl-dnn and tbb extensions (moved to oneAPI repo) in PyTorch easyconfigs (#10367)
                  • update Java/1.8 wrapper to Java/1.8.0_241.eb (#10305)
                • various bug fixes, including:
                  • use CMake for building double-conversion (#9659)
                  • update recent libdrm easyconfigs to use custom easyblock & avoid hardcoded x86-specific sanity check (#9694)
                  • add alternate checksum for OpenMolcas 18.09 (#9701)
                  • use Github to download releases for MariaDB-connector-c (#9702)
                  • add -DOMPI_SKIP_MPICXX in configopts for MathGL, to avoid using mpicxx during build (#9703)
                  • make installing independent of build folder in pybind11 easyconfig (#9738)
                  • add Lua as a dependency to gnuplot (#9773)
                  • stick to http:// source URLS for ISL in GCCcore easyconfigs, since https:// doesn't work (#9784)
                  • add alternative checksums for farver/fracdiff/pkgmaker/rngtools/doRNG/cobs extensions in R 3.6.2 easyconfigs (#9789)
                  • add patch for OpenBLAS 0.3.4 w/ GCC/8.2.0-2.31.1 to fix broken tests (#9865)
                  • revert removal of AVX512 vmovd with 64-bit operands in binutils 2.32 easyconfigs (#9866)
                  • fix inline asm in dscal: mark x, x1 as clobbered, in OpenBLAS 0.3.8 (#9867)
                  • add missing sanity_check_commands to cutadapt v1.18 and v2.7 easyconfigs (#9869)
                  • don't overwrite configopts in BLAST+ easyconfigs, append to it (#9875)
                  • add alternate checksum for LaplacesDemon in R 3.6.x easyconfigs (#9879, #10382)
                  • fix redefining of preconfigopts in OpenCV easyconfigs (#9895)
                  • use symlinks for terminfo files instead of hard links in ncurses 6.1 easyconfigs (#9912)
                  • fix NCIPLOT build flags (#9915)
                  • add missing patch to iccifort libxc easyconfigs (#9918)
                  • use checkout@v2 in GitHub Actions to fix broken re-triggered tests (#9925)
                  • re-enable building utils in Siesta 4.1-MaX-1.0 release (#9936)
                  • fix homepage and source URLs in SLEPc easyconfigs by using https (#9943)
                  • fix source URLs for rgeos after source tarball was moved to CRAN archive (#9954)
                  • add dependencies on Python 3 and SciPy-bundle in Trinity v2.9.1 easyconfig (#9957)
                  • patch GCC lisanitizer for glibc 2.31 (#9966)
                  • add Zip as build dependency for recent Bazel versions (#9972)
                  • fix checksums in Jellyfish v2.3.0 easyconfigs (#9997)
                  • fix source URLs for ParMGridGen easyconfigs (#10019)
                  • disable unintended Octave support in all libsndfile easyconfigs (#10027)
                  • fix sources for LS-PrePost 4.6 (#10236)
                  • security update for vsc-mympirun 4.1.9 (#10185)
                  • configure libwebp to also install libwebpmux (#10274)
                  • ensure that CVS easyconfigs are included in source tarball produced by 'python setup.py sdist' (#10326)
                  • fix undefined reference error due to libxc 4.3.4 built with CMake (#10356)
                  • fix source_urls for tbb: use (new) official 'oneapi-src' GitHub repository (#10361)
                  • update checksums and homepage in tbb easyconfigs (#10285)
                • other changes:
                  • use new custom easyblock in recent CMake easyconfigs (#9871, #9923)
                  • add check for redefined easyconfig parameters in easyconfig tests (#9876)
                  • use M4-1.4.18.eb for test installation in easyconfigs test suite (#9926)
                  • use https:// in homepage/source_urls of zlib-1.2.11.eb (#10018)
                  • add -GCCcore-9.2.0 versionsuffix for intel/2020.00 components (#10083)
                  • add checksum of new tbb 2019_U9 source tarball, next to original one + update homepage (#10237)
                  • add comment informing about manually setting Gallium drivers in easyconfigs for Mesa v19.1.7 and v19.2.1 (#10276)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb412","title":"EasyBuild v4.1.2 (March 16th 2020)","text":"

                bugfix release

                Note

                This release includes a bug fix for the leaking of your GitHub token in the EasyBuild (debug) log file.

                We strongly encourage that you revoke the GitHub tokens you are using currently, via https://github.com/settings/tokens, and to replace them using a new token (using eb --install-github-token --force ).

                More information in https://github.com/easybuilders/easybuild-framework/pull/3248.

                framework

                • fix gitdb dependency on Python 2.6 in test configuration (#3212)
                • fix broken test for --review-pr by using different PR to test with (#3226)
                • censor authorization part of headers before logging ReST API request (#3248)

                easyblocks

                (no changes)

                easyconfigs

                (no changes)

                ","boost":0.5},{"location":"release-notes/#release_notes_eb411","title":"EasyBuild v4.1.1 (January 16th 2020)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add check_log_for_errors function (in easybuild.tools.run) to detect and handle multiple errors (#3118)
                  • implement support for eb --show-ec to show contents of specified easyconfig file (#3132)
                  • also update $XDG_DATA_DIR (share/) and $GI_TYPELIB_PATH environment variables (lib/girepository-) in generated module files (#3133)
                  • add support for --copy-ec to copy easyconfig file to specified location (#3142)
                  • mention --disable-* option in --help output for boolean options enabled by default (#3151)
                  • add --cuda-compute-capabilities configuration option (#3161)
                • various bug fixes, including:
                  • ignore imports from vsc namespace made from pkgutil.py (#3120)
                  • only actually change permissions using os.chmod in adjust_permissions if the current permissions are not correct already (#3125)
                  • use shutil.copyfile to just copy file contents if target path exists and is owned by someone else (#3127)
                  • fix or avoid warnings that commonly arise in build log (#3129)
                  • disable buffering in asyncprocess.Popen using bufsize=0, to fix run_cmd_qa missing output (#3130)
                  • update pip & install wheel package in generated Singularity container recipes (#3136)
                  • avoid crash in modify_env & unset unset_env_vars when using (older versions) of Python 3.5 & 3.6 by using list(...) (#3140)
                  • take into account that lib64 could be a symlink to lib (or vice versa) in get_software_libdir function (#3141)
                  • only parse docstring if it exists in gen_easyblock_doc_section_rst function (#3144)
                  • only add useful entries for $CPATH, $(LD_)LIBRARY_PATH and $PATH (non-empty directories) (#3145, #3152)
                  • fix --list-software=detailed when using Python 3 by leveraging sort_looseversions function from py2vs3 module (#3146)
                  • ensure subdirectories in software install directory have correct search (exec) permission (#3147)
                  • take into account that a checksum value may be a tuple of valid checksum in EasyBlock.check_checksums (#3153)
                • other changes:
                  • bump to Lmod 8.2.9 in GitHub CI config (#3115)
                  • update copyright statements for 2020 (#3149)
                  • make Hound CI code style checker ignore \"Black would make changes\" produced by flake8-black (#3162)

                easyblocks

                • new software-specific easyblock for cryptography (to fix missing -pthread for all versions) (#1874)
                • minor enhancements, including:
                  • update WPS easyblock for v3.6 & newer (#1315)
                  • update FSL easyblock to support FSL v6.0.2 & newer (#1860)
                  • add setup_cmake_env function in CMakeMake easyblock which can be leveraged in other easyblocks, and use it for OpenFOAM (#1869)
                  • remove obsolete configure options for Python + build with optimizations/LTO enabled for recent Python versions (#1876)
                  • update WPS easyblock for recent versions: set $WRF_DIR to point to location of WRF installation (#1886)
                  • make sure $LIBLAPACK_MT is set before using it in ESMF easyblock (#1887)
                  • remove useless PATH entries + add PKG_CONFIG_PATH in imkl easyblock (#1900)
                  • enhance tbb easyblock to support building on POWER (#1912)
                  • enhance TensorFlow easyblock to pick up on --cuda-compute-capabilities, and issue a warning if no CUDA compute capabilities are specified (#1913)
                  • add custom easyconfig parameter build_type to generic CMakeMake easyblock (#1915, #1922)
                • various bug fixes, including:
                  • fix for conda packages that rely on particular versions of Python (#1836)
                  • fix path for intel and netCDF lib directories in NCL easyblock (#1862)
                  • fix CUDA 10.1 installation on POWER (#1871)
                  • change Bazel easyblock to prefer using Java dependency rather than included JDK (fix for POWER9) (#1875)
                  • remove optarch warning in GROMACS for Cray toolchains (#1879)
                  • also fix $WM_COMPILE_OPTION in OpenFOAM rc scripts to make debug builds work correctly (#1880)
                  • limit MPI ranks used for running WRF test cases to max. 4 + include contents of rsl.error.0000 output file in case test failed (#1884)
                  • update $PYTHONPATH + add python -c 'import mrtrix3' as sanity check command for recent MRtrix versions (#1889)
                  • update sanity check in SAMtools easyblock for version 1.10 (#1890)
                  • make sure $PYTHONNOUSERSITE it set when performing sanity check for (bundles of) Python package(s) (#1891)
                  • fix install dir subdir for WPS v4.0+ that is considered for $PATH and $LD_LIBRARY_PATH (#1895)
                  • impi: don't rebuild libfabric if the source code is not present (#1896)
                  • also copy component patches to self.cfg in Bundle generic easyblock (#1897)
                  • skip patch step in Bundle generic easyblock (per-component patches are still applied) (#1898)
                  • derive easyblock for iccifort only from icc easyblock (not ifort), to avoid adding include subdir to $CPATH (#1899)
                  • add export LANG=C to preinstallopts instead of install_script path in CUDA easyblock (#1902)
                  • stop setting updating $CPATH and $LIBRARY_PATH for GCC and GCCcore, not required (#1903)
                  • remove $LIBRARY_PATH entries in iccifort easyblock, already known to icc et al (#1904)
                  • use major/minor version of Python command being used if req_py_majver/req_py_minver are not specified (#1907)
                  • define $EB_PYTHON in module for EasyBuild installation, to make sure correct Python version is used at runtime (#1908)
                  • fix Python easyblock to allow configuring build of Python v3.8 (Setup.dist script was renamed to Setup) (#1909)
                  • fix netCDF easyblock for version 4.4.0 (#1911)
                  • correct comment about when we set RUNPARALLEL in HDF5 easyblock (#1914)
                  • do not sanity check on MATLAB compiler, since it requires a separate license (#1916)
                  • build HDF5 without MPI C++ extension to avoid breaking linkage for C software that requires HDF5 (#1918, #1919)
                  • override set_pylibdirs method in VersionIndependentPythonPackage to hard set self.pylibdir to 'lib' (#1924)
                • other changes:
                  • increase timeout for interactive installation command in CUDA easyblock to 1000 sec. (#1878)
                  • disable running of sudo apt-get update in GitHub CI config, since it's failing (and we don't really need it) (#1882)
                  • stop requiring Python dep for SWIG, just configure with --without-python if Python is not a dependency (#1894)
                  • update copyright statements for 2020 (#1905)
                  • make Hound CI code style checker ignore \"Black would make changes\" produced by flake8-black (#1923)

                easyconfigs

                • added example easyconfig files for 27 new software packages:
                  • Autoconf-archive (#9658), breseq (#9603), CrossMap (#9483), CSBDeep (#9560), CNT-ILP (#9323), cytoolz (#9453), Faber (#9553), Fiji (#8748), GARLI (#9404), Globus-CLI (#9565), GtkSourceView (#9526), gradunwarp (#9648), gsettings-desktop-schemas (#9529), HyPhy (#9405), horton (#7449), IGMPlot (#9438), LEMON (#9323), Meld (#9530), mhcflurry (#9554), NCIPLOT (#9419), ncl (#9632), OpenSlide (#9499), openslide-python (#9499), pythran (#9488, #9594), Qualimap (#9411), TinyDB (#9555), TreeShrink (#9381)
                • added additional easyconfigs for various supported software packages, including:
                  • Beast 1.10.4, Boost.Python 1.71.0, Clang 9.0.1, ESMF 8.0.0, FSL 6.0.3, fastp 0.20.0, freeglut 3.2.1, GDAL 3.0.2, GEOS 3.8.0, GROMACS 2019.4, GSL 2.6, hwloc 2.1.0, Jellyfish 2.3.0, Julia 1.3.1, LibTIFF 4.1.0, libxml2 2.9.10, lxml 4.4.2, Mothur 1.43.0, mayavi 4.7.1, molmod 1.4.5, netCDF-C++4 4.3.1, netCDF-Fortran 4.5.2, numactl 2.0.13, OpenFOAM 7, OpenFOAM v1912, OpenMM 7.4.1, OpenMPI 4.0.2, PLUMED 2.5.3, PROJ 6.2.1, plotly.py 4.4.1, pocl 1.4, QuickFF 2.2.4, R 3.6.2 w/ foss/2019b and fosscuda/2019b, ReFrame 2.20, SAMtools 1.10, SUNDIALS 5.1.0, SWIG 4.0.1, Salmon 1.0.0, SuiteSparse 5.6.0, snakemake 5.7.1, TensorFlow 2.1.0 w/ fosscuda/2019b, torchvision 0.4.2, WPS 4.1, WRF 4.1.3
                • added easyconfigs for intel/2020.00 toolchain (#9575)
                • minor enhancements, including:
                  • add POWER9 support to CUDA 10.1 easyconfigs (#9442)
                  • build CMake in parallel (#9543)
                  • use NCCL for GPU ops in Horovod 0.18.2 easyconfig (#9562)
                  • update Java/1.8 wrapper to Java/1.8.0_231 (for x86_64) (#9585)
                • various bug fixes, including:
                  • fix remote launch of broker and workers for SCOOP (#9366)
                  • fix failing RPATH sanity check for NCL 6.6.2 due to missing dependencies (+ add easyconfig using foss/2018b) (#9388)
                  • add missing 'wheel' extensions to Spark 2.4.0 easyconfig using intel/2018b toolchain (#9424)
                  • add missing OS dependencies in Java 1.8 easyconfig used on POWER systems (#9454)
                  • fix build of recent Bazel versions on Power9 + stick to Java/1.8 as dependency (#9455)
                  • fix CMake 3.15.3 build on Power (+ enable building in parallel) (#9469)
                  • fix source URLs in xorg-macros easyconfigs (#9477, #9578)
                  • add missing wcwidth extension to Python 2.7.15 + 2.7.16 easyconfigs & enable 'pip check' in sanity check (#9479)
                  • remove (wrong) GI_TYPELIB_PATH and XDG_DATA_DIRS in various easyconfigs (#9528, #9577, #9615)
                  • use xorg-macros as dependency in X11 easyconfigs (rather than installing it as a bundle component) (#9546)
                  • fix lpsymphony extension for R-bundle-Bioconductor (#9548)
                  • add correct 'old-versions' source URL to all Mesa easyconfigs (#9569)
                  • add missing SHA256 checksums for Armadillo (#9572)
                  • also define $AUGUSTUS_BIN_PATH and $AUGUSTUS_SCRIPTS_PATH in generated module file for AUGUSTUS (#9579)
                  • add SSL OS dependencies for GDAL 3.0.0 (#9586)
                  • add missing jupyter_contrib_core extension for IPython 7.7.0+ + consistently include jupyter_nbextensions_configurator extension (#9587)
                  • patch libcxx (Clang 8.0.0) on pcc64le for incomplete IBM128 long double in GCC (#9590)
                  • patch for GCCcore 8.2.0 to fix '__float128 is not supported on this target' on ppc64le (#9591)
                  • fix broken easyconfigs for cyvcf2 v0.11.5 by adding missing 'monotonic' extension (#9601)
                  • use absolute path for extraction to allow relocating the build dir for g2log-1.0 (#9604)
                  • add alternate SHA256 checksum for kallisto-0.43.1 after re-release under same version without code changes (#9611)
                  • add additional valid checksum for MASS 7.3-51.4 extension in R 3.6.0 easyconfigs (#9621)
                  • update ctffind website (#9622)
                  • make sure we use easybuild Clang in pocl easyconfigs (#9624)
                  • make postinstallcmds independent of current working directory in OpenCV 3.1.0 easyconfigs (#9628)
                  • update source_urls to include old releases folder in libsodium easyconfigs (#9632)
                  • fix source URLs for ant v1.10.5 - v1.10.7 (#9633)
                  • update URLs to new location of libxc (#9635)
                  • add alternate SHA256 checksum for rda_1.0.2-2.1 extension in R 3.6.0 (#9644)
                  • update source URLs in QCA 2.1.0 easyconfigs (#9647)
                  • fix Python 3.5.1 easyconfig: bitstring 3.1.3 sources no longer available on PyPI (#9649)
                  • fix tesseract 4.1.0 dependencies (#9650)
                  • make ICU 64.2 depend on Python3 instead of Python 2, to avoid picking up system Python 3.x (#9652)
                  • use True (boolean value) rather than 'True' (string value) for boolean easyconfig parameters (#9657)
                  • fix pyfits easyconfig by adding missing d2to1 extension (#9687)
                • other changes:
                  • disable running of sudo apt-get update in GitHub CI config, since it's failing (and we don't really need it) (#9492)
                  • require that sanity_pip_check is enabled in new/changed easyconfigs (#9516, #9576)
                  • update copyright statements for 2020 (#9598)
                  • allow missing '-Python-*' versionsuffix for existing easyconfig files changed in PRs (#9634)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb410","title":"EasyBuild v4.1.0 (December 4th 2019)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • performance improvements:
                    • skip validation when copying EasyConfig object for extension (#3071)
                    • correctly specify that ActiveMNS & co are singleton classes when using Python 3 (#3073)
                    • don't call out to prohibitively expensive getRootLoggerName in getLogger, just use 'root' instead (#3074)
                    • fix inconsistent module path usage that leads to repeated reloading in HMNS (#3099)
                  • add support for specifying different dependency version based on processor architecture (#3047)
                  • support use of glob patterns for paths to files with external modules metadata (#3075)
                  • take into account that external modules may not be visible directly (due to module hierarchy) (#3083)
                  • add support for including 'extensions' statement in Lua modules with Lmod 8.2.8+ (#3085, #3107, #3110)
                  • add support for --sync-pr-with-develop (#3087)
                  • add support for --new-branch-github, --new-pr-from-branch, --sync-branch-with-develop, --update-branch-github (#3103)
                  • fix typo in docstring for new_branch_github (#3106)
                • various bug fixes, including:
                  • correctly handle iccifortcuda toolchain with standalone iccifort in det_toolchain_compilers (#3055)
                  • init git repo with git.repo.clone() instead of copy_dir() (#3062)
                  • fix regular expression so depends-on statements are recognized correctly in Tcl module files (#3065)
                  • update GitPython to latest version that supports Python 2.6 in requirements.txt to fix broken test_new_update_pr (#3066)
                  • imply --disable-pre-create-installdir with --inject-checksums (#3069)
                  • handle patches in extensions more like normal patches (#3067)
                  • take into account that platform.linux_distribution and platform.dist was removed in Python 3.8 (#3078)
                  • always include mandatory easyconfig parameters in dumped easyconfig (#3081)
                  • hide backup module file when using Lmod 6.x (fixes #9302) (#3089)
                  • add better error message when mandatory key is missing from a dictionary easyconfig parameter (#3092)
                  • also create symlinks for default modules in class module folders (#3093)
                  • fix semantics of --set-default-module: only set default for specified easyconfigs, not for the ones that are installed as dependencies via --robot (#3094)
                  • fix various issues in extracting comments from original easyconfig file and including them again in dumped easyconfig (#3095)
                  • don't use %(version)s template in exts_default_options in dumped easyconfig (#3096)
                  • fix generated module statements in case only a single version is listed in multi_deps (#3097)
                  • fix broken test_show_system_info on macOS due to 'Python' binary (#3105)
                  • take into account that dependency version could be a dict rather than a string value in template_constant_dict (#3111)
                • other changes:
                  • deprecate running EasyBuild with Python 2.6 via new check_python_version() function (#3076)
                  • deprecate support for using Lmod 6.x (#3077)
                  • trim set of test configurations in Travis CI (#3086)
                  • flesh out env_vars_external_module from Toolchain._simulated_load_dependency_module (#3088)

                easyblocks

                • new software-specific easyblock for cuDNN, to allow setting cudnnarch (#1855)
                • refactored software-specific easyblock for Xmipp, based on Scons (#1837)
                • minor enhancements, including:
                  • add prebuildopts to Bazel build command (#1838)
                  • add support to Toolchain generic easyblock for defining $EB* environment variables for toolchain components that use an external module (#1849)
                  • add support for running 'pip check' during sanity check in generic PythonPackage easyblock (#1853)
                • various bug fixes, including:
                  • clean up /tmp/cuda-installer.log in CUDA easyblock, to avoid segfault in cuda-installer (#1835)
                  • minor fix to name of Gctf binary (#1840)
                  • move BLAS toolchain existence check earlier in SuperLU easyblock (#1842)
                  • fixes for TensorFlow easyblocks w.r.t. Bazel build options & __init__ in top-level google-protobuf package dir (#1843)
                  • fix support for sequential version in MUMPS easyblock (#1845)
                  • change default value of files_to_copy to None in MakeCp generic easyblock + code cleanup & use change_dir, copy_dir, copy_file and mkdir function from filetools (#1848)
                  • prepend -L$EBROOTZLIB/lib to LDFLAGS in SCOTCH easyblock (#1850)
                  • improve configuration in netCDF and netcdf4_python easyblocks (#1852)
                  • fix CUDA header paths for TensorFlow versions < 1.14 (#1854)
                  • handle incorrect regex better in generic CmdCp easyblock (#1861)
                  • add missing docstrings in cmakeninja easyblock (#1867)
                • other changes:
                  • add GitHub Actions workflow to run easybuild-easyblocks test suite (#1844)

                easyconfigs

                • added example easyconfig files for 46 new software packages:
                  • Amara (#9340), anvio (#9387), Arriba (#9226, #9244), attr (#7824), bibtexparser (#9284), bwa-meth (#9217), CITE-seq-Count (#9237), CoordgenLibs (#9374), dtcmp (#9052), fatslim (#9193), GromacsWrapper (#9177), GULP (#9243), hdf5storage (#9195), ITSTool (#7260), kim-api (#8786), kwant (#9238), libarchive (#9052), libcircle (#9052), libxml2-python (#7260), lifelines (#9215), lwgrp (#9052), maeparser (#9374), MaxQuant (#9281), MethylDackel (#9216), MoviePy (#9205), mpifileutils (#9052), mpiP (#9059), nanofilt (#8502), NOVOPlasty (#9326), openkim-models (#8786), parallel-fastq-dump (#9218), pasta (#9348), pyqstem (#9277), python-Levenshtein (#9237), RapidJSON (#9373), RDFlib (#9346), RQGIS3 (#9125), Short-Pair (#9376), SpliceMap (#9375), TRIQS-cthyb (#9230), TRIQS-dft_tools (#9230), TRIQS-tprf (#9230), UMI-tools (#9237), VarDict (#7283), Xmipp (#9257), XSD (#9347)
                • added additional easyconfigs for various supported software packages, including:
                  • awscli 1.16.290, BLIS 0.6.0, Bazel 1.1.0, Biopython 1.75, Blender 2.81, bokeh 1.4.0, CONCOCT 1.1.0, CUDA 10.2.89, Catch2 2.11.0, CellRanger 3.1.0, CheckM 1.0.18, dask 2.8.0, deepTools 3.3.1, FastANI 1.2, Flye 2.6, GDCM 3.0.4, GTDB-Tk 0.3.2, Glade 3.8.6, Hadoop 2.9.2, h5py 2.10.0, hypothesis 4.44.2, IPython 7.9.0, Kaiju 1.7.2, Kraken 1.1.1, libsodium 1.0.18, MEGAHIT 1.2.8, Mesa 19.2.1, MetaBAT 2.14, matplotlib 3.1.1, metaWRAP 1.2.2,cNCCL 2.4.8, NGS 2.10.0, NiBabel 2.5.1, netCDF 4.7.1, networkx 2.4, numba 0.46.0, OpenCV 3.4.7, OpenCoarrays 2.8.0, OpenEXR 2.4.0, OpenFOAM v1906, OpenImageIO 2.0.12, ParaView 5.6.2, Pillow 6.2.1, PyTorch 1.3.1, PyYAML 5.1.2, Pysam 0.15.3, picard 2.21.1, prokka 1.14.5, protobuf 3.10.0, R-keras 2.2.5.0, Racon 1.4.7, SCOTCH 6.0.9, SRPRISM 3.1.1, Salmon 0.14.2, SciPy-bundle 2019.10, Subread 2.0.0, scikit-image 0.16.2, scikit-learn 0.21.3, TRIQS 2.2.1, TensorFlow 1.15.0, TensorFlow 2.0.0 w/ fosscuda/2019b, Tkinter 3.7.4, ToFu 1.4.1, tbb 2019_U9, Xerces-C++ 3.2.2, Xmipp 3.19.04, yaff 1.6.0
                • added easyconfigs for intelcuda/2019a toolchain (#9271)
                • minor enhancements, including:
                  • tweak Java 1.8 wrapper to use different Java version on POWER systems (#9081)
                  • add jupyter_nbextensions_configurator extension to IPython 7.7.0 easyconfigs (#9133)
                  • add additional extensions to R 3.6.0 easyconfigs (#9184, #9275)
                  • add additional extensions to R-bundle-Bioconductor 3.9 easyconfig (#9185, #9349, #9410)
                  • enhance sanity check in cutadapt 1.18 easyconfigs + consistently use PythonBundle & use_pip (#9219)
                  • update cuDNN 7.6.4.38 easyconfigs to support both x86_64 and ppc64le (#9331)
                  • tweak NCCL 2.4.8 easyconfig to support x86_64 and ppc64le (#9336)
                  • define $SPARK_HOME in generated module file for Spark 2.4.0 (#9408)
                  • add sanity check command for matplotlib 3.x with Python 3 to check import from mpl_toolkits (#9413, #9414)
                • various bug fixes, including:
                  • explicitly set SYSCONFDIR configure option in TurboVNC easyconfig (#9137)
                  • patch pigz Makefile so zlib provided by EasyBuild is picked up (#9138)
                  • add libjpeg-turbo as dependency to recent LibTIFF easyconfigs, to avoid picking up LibTIFF installed in system (#9146)
                  • add freetype as dependency to OpenImageIO, to avoid picking up freetyype installed in system (#9147, #9152)
                  • fix definition of fosscuda/2019b to make sure it works with hierarchical MNS (#9178)
                  • add missing setuptools_scm extension required to build dateutil extension in Python 3.7.0 easyconfigs (#9209)
                  • add Python as build dependency for recent Bazel versions (#9223, #9299, #9342)
                  • fix homepage & description in Bioconductor easyconfigs (#9225)
                  • fix checksum in Stacks 2.41 easyconfig after sneaky re-release (#9232)
                  • apply fixes to ImageJ 1.51k easyconfig (#9245)
                  • consistently use patch for OpenCV 3.4.7 (#9279)
                  • use protobuf 3.10.0 as build dep for TensorFlow 2.0.0 w/ fosscuda/2019b + use nodocs variant of git as build dep (#9298)
                  • add Jasper dependency to Qt5 v.5.13.1 (#9313)
                  • fix Python 3.7.2 required OpenSSL version for old OS to the one provided on the same toolchain (#9324)
                  • add missing extensions required by Sphinx & pytest to easyconfigs for Python 3.7.2 and 3.7.4 (#9329)
                  • update TensorFlow v1.14.0 + v2.0.0 CUDA patch to handle compiler wrappers like ccache (#9333)
                  • patch binutils 2.31.1 and 2.32 to fix compatibility with RHEL8 (#9335)
                  • add missing extensions in TensorFlow 2.0.0 easyconfigs (+ update to tensorboard/tensorflow-estimator 2.0.1) (#9338)
                  • fix logic to determine location of scripts dir + ensure right compiler flags are used in KAT easyconfigs (#9360)
                  • add missing GCCcore-6.3.0_fix-sanitizer_linux.patch in GCCcore 6.4.0 easyconfig (#9362)
                  • fix linker errors when linking with libhts.a for MetaBAT 2.12.1 (#9379)
                  • add egg-info file via patch in VTK v8.2.0, for Python 2.7.15, 3.7.2, 3.7.4 (#9386)
                  • promote binutils to a runtime dependency for Python in GCCcore based builds (#9402)
                  • fix archive URL typo for ncdf4 (#9407)
                  • fix problems with mpl_toolkits namespace for matplotlib easyconfigs using Python 2 (#9415, #9416, #9417)
                • other changes:
                  • ignore commented out lines in easyconfig files when checking for http:// URLs (#9224)
                  • add GitHub Actions workflow to run easybuild-easyconfigs test suite (#9231, #9255)
                  • archive old patches for Xmipp 3.1 (#9256)
                  • speed up easyconfigs test suite by avoiding re-parsing and re-ordering of easyconfigs (#9236)
                  • only run easyconfigs test suite with Python 2.7 & 3.6 + Lmod 7 in Travis CI (#9297)
                  • archive ACML easyconfigs (#9367)
                  • update CMake build in Eigen 3.3.7 to use more recent toolchain (#9398)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb401","title":"EasyBuild v4.0.1 (October 15th 2019)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add 'parallel' to list of config templates (#3036)
                  • add GitHub Actions workflow to run easybuild-framework test suite (#3039)
                  • add 'retest' as a reason to --close-pr, to close/re-open PRs to trigger re-test in Travis (#3040)
                  • define $EB_SCRIPT_PATH in 'eb' wrapper script, and consider it before location of 'eb' determined via $PATH in get_paths_for function (#3046)
                  • add support for --remove-ghost-install-dirs configuration option, and warn about (potential) ghost install dirs by default when --force/--rebuild is used (#3050)
                • various bug fixes, including:
                  • update bootstrap script to support installing EasyBuild v4.0 (#3017)
                  • fix broken test_download_repo due to archiving of easyconfigs (#3019, #3023)
                  • avoid that --inject-checksums introduces list of patches for extensions as a single long line (#3025, #3034)
                  • enhance regex in fix_shebang method to fix more Python/Perl shebangs + avoid patching binary files (#3029)
                  • delete test gist that is created by --check-github (#3031)
                  • disable templates when defining easyconfig parameters in EasyConfig.set_keys() (#3037)
                  • avoid setting GC3Pie's max_in_flight to None if --job-max-jobs is not specified (#3038)
                  • fix use of obtain_file method for extensions (#3042)
                  • error out if some GC3Pie job failed (#3044)

                easyblocks

                • one new generic easyblock: CMakeNinja (#1829)
                • new software-specific easyblock for Gctf (#1827), MotionCor2 (#1819)
                • minor enhancements, including:
                  • update OpenFOAM easyblock for changes in version 1906 w.r.t. wamke rules (#1772)
                  • add %(cudaarch)s template variable so that it can be used in sources (#1797)
                  • update Boost easyblock for versions >=1.71.0 (#1814)
                  • update RepeatMasker easyblock for version 4.0.9 (#1815)
                  • add --verbose flag to 'pip install' when running EB in debug mode (#1822)
                  • update TensorFlow easyblock to support TensorFlow 2.0 (#1823)
                  • add support in TensorFlow easyblock to run a custom test script as smoke test (#1824)
                  • add support for installing QScintilla on top of PyQt5 (#1825)
                  • update VEP easyblock to make installation compatible with Bio::EnsEMBL::XS (#1828)
                • various bug fixes, including:
                  • enhance TensorFlow easyblock to support installing TF 1.14.0 with CUDA and MPI support (#1811, #1816)
                  • avoid UnicodeDecodeError when reading 'configure' script and checking for 'Generated by GNU Autoconf' in ConfigureMake (#1817, #1821)
                  • don't require 'python' command to install libxml2 without Python bindings (#1818)
                  • make sure \"generic=True\" actually turns on generic build in GCC easyblock (#1826)
                  • fix compatibility of Trilinos easyblock with Python 3 (#1831)

                easyconfigs

                • added example easyconfig files for 58 new software packages:
                  • ADOL-C (#9098), ALFA (#9106), ASTRID (#9088), Annif (#8536), bnpy (#8989), bpp-core (#9064), bpp-phyl (#9064), bpp-seq (#9064), Clang-Python-bindings (#9084), CPB (#5869), Centrifuge (#8714), Chromaprint (#9047), Con3F (#8755), DeepSurv (#8096), Essentia (#9054), FastRFS (#9088), GAT (#5871), Gaia (#9049), Gctf (#9097), GenomeMapper (#5872), Infomap (#9091), kpcalg (#8740), libglvnd (#9111, #9130), libsamplerate (#9046), libssh (#8865), libzip (#9073), MetaboAnalystR (#8773), Metaxa2 (#8939), MotionCor2 (#8942), NFFT (#9085), PhyML (#9103), PlaScope (#8714), PyCharm (#9100), pbcopper (#8928), pbmm2 (#8929), phylokit (#9088), phylonaut (#9088), phyx (#9090), pycma (#8834), Q6 (#9069), Qt5Webkit (#9120), ROME (#9050, #9062), rioxarray (#9007), SVDquest (#9088), savvy (#9124), sciClone (#7806), shapAAR (#8983), shrinkwrap (#9124), Structure (#5866), trimAl (#9063), thurstonianIRT (#9080), TurboVNC (#9110, #9111, #9128), Tracer (#8970), TagLib (#9048), TRIQS (#8835), THetA (#8875), vcfnp (#5862), WebSocket++ (#8842)
                • added additional easyconfigs for various supported software packages, including:
                  • Armadillo 9.700.2, arpack-ng 3.7.0, BLASR 5.3.3, Bazel 0.26.1 + Bazel 0.29.1, Cufflinks 20190706, DL_POLY_Classic 1.10, FFmpeg 4.2.1, Go 1.13.1, Horovod 0.18.1, IOR 3.2.1, Julia 1.2.0, LLVM 9.0.0, Mesa 19.1.7, Molden 6.1, Mono 6.4.0.198, NCO 4.8.1, , Net-core 3.0.0, Nim 1.0.0, OpenFOAM 2.2.x, PGI 19.7, PLUMED 2.5.2, PMIx 3.1.4, PostgreSQL 11.3, psycopg2 2.8.3, QGIS 3.4.12, QScintilla 2.11.2, Qt5 5.13.1, ReFrame 2.19, Rust 1.37.0, Spack 0.12.1, TAMkin 1.2.6, TensorFlow 1.14.0 w/ fosscuda/2019a, TensorFlow 2.0.0 w/ foss/2019a, UCX 1.6.1, VEP 96.0, xarray 0.13.0
                • added easyconfigs for fosscuda/2019a toolchain (#9066)
                • minor enhancements, including:
                  • add EBImage extension to easyconfig for R-bundle-Bioconductor 3.9 (#8982)
                  • add check for http:// URLs in easyconfig files added/changed in PRs (#9012)
                  • add bbmle/emdbook/SOAR/rasterVis/tictoc extensions to R 3.6.0 easyconfigs (#9037)
                  • updated PyQt5 5.12.1 easyconfig to also build sip files + minor readability changes (#9071)
                  • enabled SQLITE_ENABLE_COLUMN_METADATA, which is needed for GDAL (and QGIS) (#9118)
                  • also install include/GL/internal/ for recent Mesa installations (#9129)
                • various bug fixes, including:
                  • add ncurses as dependency to lftp (#8646)
                  • add patch for gettext 0.19.8* to avoid picking up global git config that could break the installation (#8957)
                  • fix source URLs in GlimmerHMM easyconfigs (#8980)
                  • add patch for PyTorch 1.2.0 to use version of torchvision that is compatible with PyTorch 1.2.0 (#8986)
                  • clarify the comment regarding the optarch setting in ITK-5.0.1 (#8991)
                  • fix homepage & description in easyconfig file for YAPS (#8993)
                  • add patch for PyTorch 1.2.0 to fix failing softmax test on Intel Sandy Bridge (#9010)
                  • fix permissions for TRF (#9034)
                  • ICU needs Python 2.7+ to build, so add that as builddependency (#9053)
                  • fix urls for Anaconda and Miniconda (#9087)
                  • use a cuDNN version that has support for the CUDA version in fosscuda/2019a (CUDA 10.1) in PyTorch, TensorFlow and Theano easyconfigs (#9112)
                • other changes:
                  • make sources in CUDA 10.1.105 use %(cudaarch)s template value (to use different source on POWER systems) (#8136)
                  • update Java/1.8 wrapper to Java/1.8.0_221 (#9038)
                  • allow divergent Java dep version as long as it's indicated by versionsuffix (#9041)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb400","title":"EasyBuild v4.0.0 (September 20th 2019)","text":"

                feature release (incl. backwards-incompatible changes)

                framework

                • fixed compatibility with Python 3.5+ (#2708, #2713, #2714, #2719, #2721, #2723, #2729, #2743, #2744, #2751, #2756, #2759, #2761, #2762, #2765, #2766, #2767, #2768, #2774, #2775, #2778, #2780, #2785, #2787, #2789, #2791, #2792, #2794, #2800, #2801, #2805, #2806, #2895, #2932, #2982, #2992, #3007, #3011)
                  • supported Python versions: 2.6, 2.7, 3.5, 3.6, 3.7
                  • some functionality from the Python standard library should be imported from the new easybuild.tools.py2vs3 package
                  • see Compatibility with Python 2 and Python 3 & Overview of relocated functions, classes and constants in EasyBuild v4.0
                • ingested relevant code from vsc-base & vsc-install (#2708, #2713, #2714, #2763, #2790, #2993)
                  • vsc-base & vsc-install are no longer required as dependencies
                  • the functionality that was provided by these packages is now (mostly) available from the easybuild.base package
                  • any import statements from the 'vsc' namespace will result in an error
                  • see also Ingested functionality from vsc-base and vsc-install and Overview of relocated functions, classes and constants in EasyBuild v4.0
                • setuptools is longer required (neither for installing or using EasyBuild) (#2836, #2837, #2984, #2986, #2988)
                  • see also No more required Python packages
                  • this required moving some classes and constants, see Overview of relocated functions, classes and constants in EasyBuild v4.0
                • the 'dummy' toolchain is deprecated and replaced by the 'system' toolchain (#2877, #3001)
                  • if 'dummy' is still used as a toolchain in easyconfig files, a warning will be printed
                  • use \"toolchain = SYSTEM\" instead
                  • for more information, see System toolchain
                • a warning is printed when local variables in easyconfig file don't follow the recommended naming scheme (#2938, #2968)
                  • see also Local variables in easyconfig files
                • names of software installation directories are independent of module naming scheme by enabling --fixed-installdir-naming-scheme by default (#2999)
                  • see --fixed-installdir-naming-scheme enabled by default for more information
                • various other small enhancements, including:
                  • use requests instead of urllib2 for 403 errors (#2695)
                  • use pip requirements file in Travis (#2874)
                  • add support for --fix-deprecated-easyconfigs (#2881, 2898, #2938)
                  • add -L$EBROOTIMKL/lib/intel64 to $LDFLAGS for MKL (#2930)
                  • handle dict-type checksums in check_checksums_for (#2974)
                  • allow that icc & ifort are not actual dependencies in iccifort toolchain module (#2995)
                  • define mapping for iccifort->intel for iccifort compiler-only toolchain for HMNS (#2996)
                  • also consider concatenation of compiler module names to determine details of toolchain compiler component (#2997)
                  • update metadata for Cray-provided external modules (#3013)
                • various bug fixes, including:
                  • update the PyPI trove classifiers in setup.py (#2875)
                  • reverse lists for $LDFLAGS and $CPPFLAGS (#2931)
                  • enhance/fix to_template_str function to do a better job at using template values in dumped easyconfigs (#2948)
                  • also take into account --filter-deps when finalizing parsed dependencies to fix problem with dependency filters using version ranges (#2983)
                  • fix broken --from-pr tests due to archiving of easyconfigs (#2985)
                  • fixes required to avoid breaking Cray support (#3008)
                  • fixes for --read-only-installdir: avoid crash with ModuleRC easyblock + also make log file in installdir read-only (#3012)
                • other changes:
                  • add check to ensure that --robot argument specifies an existing directory (#2086)
                  • remove old scripts that are no longer useful (+ minor fixes to others) (#2897)
                  • use 'command -v' to avoid requiring 'which' in 'eb' command (#2979)
                  • add modluafooter & modtclfooter at the end of the generated module file (#3003)
                  • print warning when 'eb' command is not found in $PATH and for empty robot search path (#3006)

                easyblocks

                • fixes due to backwards-incompatible changes in easybuild-framework v4.0.0
                  • use is_system_toolchain() rather than checking toolchain name against DUMMY_TOOLCHAIN_NAME constant (#1690, #1728)
                • fix compatibility of various easyblocks with Python 3 (#1640, #1644, #1648, #1721, #1794, #1808, #1795, #1796, #1807, #1809)
                • new software-specific easyblocks for OpenMPI (#1789, #1801), iccifort (#1799) and numexpr (#1803, #1804)
                • various other enhancements, including:
                  • removed checks for Boussinesq and sonic solvers for OpenFOAM 7, since those have been deprecated (#1733)
                  • update Paraver easyblock to support recent versions (#1790)
                • various bug fixes, including:
                  • update the PyPI trove classifiers (#1723)
                  • make the plugins build use the correct Tcl library version in VMD easyblock (#1786)
                  • use *_MT libs for BLAS/LAPACK only if openmp is enabled in Trilinos easyblock (#1791)
                  • filter out empty entries in $CPATH or $C_INCLUDE_PATH when building Perl, since that breaks the build (#1800)
                  • set $XDG_CACHE_HOME in TensorFlow easyblock to avoid that pip (ab)uses $HOME/.cache (#1802)
                  • don't load modules for dependencies in CrayToolchain.prepare_step (#1805)
                • other changes:
                  • drop requirement for setuptools as runtime dependency (#1689)
                  • enable 'check_ldshared' in generic PythonPackage easyblock by default for recent Python versions (#1788)
                  • stop trying to use setuptools.setup in setup.py, always use distutils.core.setup instead (#1793)

                easyconfigs

                • fixes due to changes in easybuild-framework v4.0.0
                  • use SYSTEM toolchain rather than deprecated dummy toolchain (#8369, #8711, #8822)
                  • fix names of local variables (#8682-#8688, #8690, #8695-#8702, #8709, #8710, #8715, #8717, #8718, #8720-#8732, #8822)
                  • enable --local-var-naming-check=error for easyconfigs tests (#8784)
                  • stick to 'dummy' toolchain for now in easyconfig for latest EasyBuild 3.x (#8829)
                • fix compatibility with Python 3: also run easyconfigs tests with Python 3.5, 3.6 and 3.7 (#7778, #7836, #8293)
                • added easyconfigs for new common toolchains: foss/2019b (#8567), intel/2019b (#8681)
                  • iccifort is now installed as a single entity (no more separate icc/ifort installations from intel/2019b onwards) (see also #8879)
                  • versionsuffix has been stripped down for toolchain components (GCC/binutils/OpenBLAS versions are no longer included)
                  • see also https://easybuild.readthedocs.io/en/latest/Common-toolchains.html
                • added example easyconfig files for 28 new software packages:
                  • AGFusion (#8840), Bonmin (#8855), causalml (#8871), ClonalFrameML (#6082), Control-FREEC (#8794), corner (#8886), CVXPY (#8662), cytosim (#8368), dill (#8885), Dsuite (#8713), GDCHART (#8679), gifsicle (#8664), guenomu (#8677), JsonCpp (#8841), libxml++ (#8896), LOHHLA (#7227), Longshot (#8830), MDBM (#8850), nglview (#8860), ownCloud (#6804), ptemcee (#8884), pubtcrs (#7500), pyiron (#8860), qpth (#8665), QtKeychain (#6804), rgdal (#8826), smallgenomeutilities (#8507), umis (#8812)
                • added additional easyconfigs for various supported software packages, including:
                  • Blosc 1.17.0, bokeh 1.3.4, cURL 7.66.0, csvkit 1.0.4, dask 2.3.0, Extrae 3.7.1, FSL 6.0.1, GLibmm 2.49.7, git 2.23.0, IPython 7.7.0, numexpr 2.7.0, OSU-Micro-Benchmarks 5.6.2, OpenBLAS 0.3.7, OpenSSL 1.1.1d, ParaView 5.5.2, Paraver 4.8.1, Perl 5.30.0, PnetCDF 1.10.0, Porechop 0.2.4, PyTables 3.5.2, PyTorch 1.2.0, Python 2.7.16 + 3.7.4, parallel 20190622, phonopy 2.2.0, QIIME2 2019.7, Qiskit 0.12.0, REMORA 1.8.3, scikit-image 0.15.0, spglib-python 1.14.1.post0, torchvision 0.3.0, X11 20190717
                • various additional minor enhancements, including:
                  • add several extensions to R 3.6.0 easyconfigs (#8843, #8881)
                  • add pRoloc to R-bundle-Bioconductor v3.9 (#8882)
                  • clean up OpenMPI 3.1.* and 4.* easyconfigs to use custom OpenMPI easyblock (#8889, #8890)
                  • update numexpr easyconfigs to use custom easyblock for numexpr (#8901)
                  • switch to PythonBundle & enable use_pip in old dask easyconfig files (#8922)
                  • update CrayCCE, CrayGNU, CrayIntel and CrayPGI toolchains to 19.06 (#8944)
                • various bug fixes, including:
                  • make TensorFlow 1.7.0 work for AMD CPUs (#6256)
                  • make sure that right Python wrapper is used in VTK8 (#7296)
                  • update the PyPI trove classifiers (#8298)
                  • add missing checksum for matplotlib v3.0.3 (#8643)
                  • add patch to plugins/Make-arch to use the correct Tcl library version in VMD (#8820)
                  • fix issue where 'print_qiime_config.py -t' sanity check command fails for QIIME 1.9.1 because of missing subdir in $PYTHONPATH (#8838)
                  • update homepage info in likwid (#8846)
                  • disable threading in preprocessCore extension included with Bioconductor 3.9 to work around conflict with OpenBLAS's threading (#8847)
                  • add -lrt patch to PyTorch 1.1.0 easyconfig (#8852)
                  • fix incorrect escaping in SIP configure options in PyQt5 easyconfigs (#8856)
                  • add missing Autotools build dep for fastq-tools (#8858)
                  • add missing deps for zlib, bzip2, and XZ for angsd (#8867)
                  • apply patch to R package uroot in R 3.6.0 (#8872)
                  • consider archive source URL for all extensions in R-tesseract easyconfig (#8897)
                  • add pkg-config build dep for tesseract v4.0.0 (#8898)
                  • fix source_urls in byacc easyconfig files (#8899, #8908)
                  • add missing cairo dependency to PRINSEQ easyconfig file (#8902)
                  • configure OpenMPI 1.10.x with --without-ucx to avoid problems when ucx-devel is installed in the OS (#8903)
                  • add GDAL 3.0.0 for Python 2.7.15 and fix the Python 3.7.2 version (#8912)
                  • fix homepage & description in scikit-image easyconfigs (#8916)
                  • add faulthandler patches to Python 3.7.0 easyconfigs (#8832)
                • other changes:
                  • archive ancient CUDA 5.0.35 easyconfigs with creative way of determining sources (#7796)
                  • remove ancient easyconfigs from archive (#8542)
                  • archive easyconfigs using deprecated toolchains (#8557, #8558, #8585)
                  • archive ancient versions of GC3Pie/GCC/OpenMPI/ORCA (#8586) & CPLEX (#8765)
                  • rename SALMON to SALMON-TDDFT to fix name clash with Salmon (#8613)
                  • bump AnnotationDb version in bundle for Bioconductor 3.9 (#8854)
                  • stop trying to use setuptools.setup in setup.py, always use distutils.core.setup instead (#8866, #8892, #8894)
                  • archive easyconfigs using ancient Cray* toolchains (#8945)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb394","title":"EasyBuild v3.9.4 (August 23rd 2019)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add support for specifying checksum via dict providing a filename-to-checksum mapping (#2946)
                  • enhance 'completed' message with how much time was needed for the installation (#2956)
                  • add support for specifying tuple of alternative checksums (#2958)
                  • support using 'system' as alias for 'dummy' toolchain + SYSTEM constant (#2960)
                  • ensure 'docurls' easyconfig parameter value is a list of string values, not a single string value (#2963)
                  • automatically enable --ignore-osdeps when using --check-contrib or --check-style (#2965)
                • various bug fixes, including:
                  • escape '+' in search queries + handle invalid search queries better (#2967)
                  • also consider extension patches when determining for which easyconfig a given patch file is intended in --new-pr/--update-pr (#2969)
                  • unset $CDPATH early on if it is defined (#2970)
                  • create specified temporary log directory if it doesn't exist yet in init_logging (#2972)
                  • don't indicate first multi_deps version as default in module help text when multi_deps_load_default=False (#2973)
                • other changes:
                  • deprecate toolchains older than gompi/2016a and foss/2016a (#2951)

                easyblocks

                • new software-specific easyblock for MSM (#1770, #1775, #1776)
                • minor enhancements, including:
                  • allow specifying the license file directly in MATLAB easyblock (#1712)
                  • enhance CPLEX easyblock to also build Python bindings (#1738)
                  • workaround for XCrySDen for Tcl 8.6 (#1749)
                  • update WIEN2k easyblock to support version 19.1 (#1758)
                  • resolve custom %(cudaarch)s template value for CUDA sources (#1766)
                  • enhance sanity check for Blender to make sure that Cycles render engine is available (#1779)
                • various bug fixes, including:
                  • only check for qtwebengine in custom easyblock for Qt(5) if glibc is sufficiently recent (#1771)
                  • correctly define comp.src in Bundle easyblock, to fix compatibility with easyblocks that leverage self.src (#1777)
                  • fix Bundle.check_checksums to checksums for extensions are also checked (#1778)

                easyconfigs

                • added example easyconfig files for 36 new software packages:
                  • ArrayFire (#8461), BRAKER (#8437), bwidget (#8477), Catch2 (#8703), core-counter (#8749), CubeGUI (#6328), CubeLib (#6328), CubeWriter (#6328), dagitty (#8606), enaBrowserTool (#8795), GEMMA (#8270), GeneMark-ET (#8437), GenomeThreader (#8437), ieeg-cli (#8793, #8811), Judy (#8543), Julia (#8578), libaio (#8543), libtirpc (#8792), magick (#8545), MSM (#8556), MSPC (#8531), mygene (#8809), OpenMolcas (#7699), PhiPack (#8750), plc (#8796), plotly.py (#8756), pymemcache (#8663), PySCF (#8736), qcint (#8736), Qiskit (#7592), QuaZIP (#8672), re2c (#8543), SeqAn3 (#8651), snippy (#8635), spaln (#8437), V8 (#8676)
                • added additional easyconfigs for various supported software packages, including:
                  • ASE 3.18.0, BEDTools 2.28.0, Bowtie 1.2.3, bzip2 1.0.8, CPLEX 12.9, CUDA 10.1 update 2, cyvcf2 0.11.5, EIGENSOFT 7.2.1, GC3Pie 2.5.2, GCC(core) 9.2.0, GPAW 19.8.1, GlobalArrays 5.7, IMB 2019.3, imageio 2.5.0, jemalloc 5.2.0, nodejs 10.15.3, PyTorch 1.1.0, pybedtools 0.8.0, Quandl 3.4.8, R 3.6.0 w/ intel/2019a, R-bundle-Bioconductor 3.9, Salmon 0.14.1, Scalasca 2.5, Score-P 6.0, Stacks 2.41, TensorFlow 1.14.0, ToFu 1.4.0, WIEN2k 19.1, Wannier90 3.0.0, XCrySDen 1.5.60
                • minor enhancements, including:
                  • add patch and dependencies to easyconfig for Qt5 5.12.3 to fix Xlib support & enhance the installation (#8544)
                  • update nodejs to version 10.15.3 and build libnode and libv8 shared libs (#8546)
                  • add extensions to R 3.6.0 easyconfig: MIIVsem (#8565), medflex (#8680), Rserve/spls (#8758), Boruta/CovSel/ctmle/BayesPen (#8805)
                  • include PyQtWebEngine bindings in easyconfig for PyQt5 5.12.1 using Python 3.7.2 (#8572)
                  • switch GLX backend to Gallium in Mesa-19.0.1 (#8594)
                • various bug fixes, including:
                  • fix typo in description in GroopM easyconfig file (#8346)
                  • add missing bugfix patch to easyconfig for OpenMPI 3.1.4 (#8566)
                  • downgrade AtomPAW to last supported version in ABINIT 8.10.3 (#8571)
                  • switch easyconfig for glew 2.1.0 to ConfigureMake easyblock (#8595)
                  • fix checksum for source tarball in foss/2018b easyconfig of NAMD v2.13 (#8602)
                  • update URL for bzip2 easyconfigs (#8614)
                  • add patch for M4 1.4.17 to fix installation on top of glibc 2.28 (#8666)
                  • add patch for Bison 3.0.4 to fix installation on top of glibc 2.28 (#8675)
                  • avoid needless requirement for matplotlib < 3.0.0 in MultiQC easyconfigs (#8691)
                  • fix checksum in OpenMPI 1.8.8 easyconfigs (#8692)
                  • add alternative checksums for nlme/mgcv/foreign/boot extensions in R 3.5.1 and 3.6.0 easyconfigs (#8564, #8762)
                  • add missing core-counter dependency for worker 1.6.8 (#8749)
                  • add missing pkg-config build dependency in various easyconfigs for (#8763, #8775, #8777, #8776, #8764, #8787, #8816)
                  • add patch to Python 3.7.2 easyconfig to fix faulthandler segfault (#8781)
                  • set $CPLUS_INCLUDE_PATH in easyconfigs for older matplotlib versions (#8785)
                  • patch out removed glibc 2.28 header from GCC libsanitizer (#8789)
                  • include sysmacros.h directly to work around removal from glibc header in numactl easyconfig (#8790)
                  • adapt gzip's bundled gnulib for glibc 2.28 (#8791)
                  • add libtirpc and depend on it in easyconfig for libdap 3.20.3 (#8792)
                  • add missing YAML extension to Perl 5.28.0 easyconfig (required by BioPerl scripts) (#8806)
                • other changes:
                  • remove broken easyconfigs for ciftify due to non-trivial missing dependencies (#8560)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb393","title":"EasyBuild v3.9.3 (July 8th 2019)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add a URL whatis line to generated module files (#2933)
                • various bug fixes, including:
                  • stick to Ubuntu Trusty when testing with Python 2.6 in Travis (#2928)
                  • honor --tmp-logdir when determining location of temporary log file (#2937)

                easyblocks

                • minor enhancements, including:
                  • also install docs and demos in Rosetta easyblock (#1745)
                  • update HEALPix easyblock to work with latest version of HEALPix' configure.sh (#1752)
                  • make HPCG log pattern more generic, it changed in 3.1 (#1753)
                  • allow bootstrapping GCC with profile-guided optimizations (#1756)
                  • only require vsc-base for EasyBuild 2.x and 3.x in EasyBuildMeta easyblock (#1757)
                  • extend question patterns with 'https' URL entry in Modeller easyblock for recent versions (#1762)
                  • modextrapaths implemented on easyblock level, sanity_check_step, gcc_target added in HEALPix easyblock (#1763)
                  • update OpenBLAS easyblock to be aware of POWER9 support in OpenBLAS 0.3.6 (#1765)
                • various bug fixes, including:
                  • stick to Ubuntu Trusty when testing with Python 2.6 in Travis (#1751)
                  • fix scripts installation path in SNPhylo easyblock (#1759)
                  • be more patient when running interactive Allwmake.firstInstall command for recent OpenFOAM-Extend versions (#1761)
                  • also add --without-go configure option for SWIG as we \"disable everything by default\" (#1754)
                  • don't assume cmake arguments when configure_cmd is set in CMakeMake easyblock (#1750)

                easyconfigs

                • added example easyconfig files for 25 new software packages:
                  • Arb (#8137), AtomPAW (#8506), ciftify (#8457), cysignals (#8459), deal.II (#8440), FastQTL (#8449), FLINT (#8137), gdbgui (#8488), gearshifft (#8482), jbigkit (#8442), lavaan (#8539), libRmath (#8449), OR-Tools (#8364, #8523), p4est (#8440), ppl (#8459), pplpy (#8459), PRISMS-PF (#8440), PyAPS3 (#8398), pyEGA3 (#8418), ReFrame (#8481), S4 (#8487), SALMON (#8478), TM-align (#8510), UnZip (#8474), XTandem (#8517)
                • added additional easyconfigs for various supported software packages, including:
                  • ABINIT 8.10.3, CFITSIO 3.47, GDB 8.3, GROMACS 2019.3, HEALPix 3.50, HPCG 3.1, Nilearn 0.5.2, OpenBLAS 0.3.6, Xerces-C++ 3.2.0
                • minor enhancements, including:
                  • update easyconfig for CFITSIO 3.45 with https and sanity check (#8472)
                  • add AtomPAW and Wannier90 support to ABINIT 8.10.2 easyconfig (#8506)
                  • add 'resample' extension to R 3.5.1 + 3.6.0 easyconfigs (#8538)
                • various bug fixes, including:
                  • fix source URLs for Mesa 17.{2,3} with fosscuda toolchain (#8446)
                  • add in Boost dependency to canu-1.8 easyconfigs using foss toolchain (#8470)
                  • stick to Ubuntu Trusty when testing with Python 2.6 in Travis (#8483)
                  • fix incorrect order of extensions for Python-2.7.14 easyconfigs (pycparser and cffi must come before cryptography) (#8495)
                  • suppress installation of libbfd and libopcode for GDB (#8496)
                  • fix KronaTools easyconfigs to make sure symlinks in bin are not broken (#8508)
                  • make additional configopts in PETSc easyconfigs work after uncommenting (#8522)
                  • add pkg-config build dep to easyconfig for pocl 1.2 (#8528)
                  • download correct source tarball for Net-core 2.1.8 (#8530)
                  • fix 'Permission denied' error when running 'cp -a' for ANTs 2.3.1 installation by first removing the .git subdirectories causing them (#8535)
                  • fix checksum for boot 1.3-22 extension in R 3.6.0 easyconfig (#8537)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb392","title":"EasyBuild v3.9.2 (June 9th 2019)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • enhance (experimental) support for generating Singularity container recipes/images (#2884, #2900, #2902, #2903, #2907, #2909, #2910, #2913, #2915)
                    • add support for specifying container configuration via --container-config (--container-base option has been removed)
                    • add support for providing custom template for container recipe via --container-template-recipe
                    • add support for 'sif' Singularity 3.x container image format
                    • add support for specifying non-image based Singularity bootstrap agents
                    • install default set of OS packages in container recipes starting from scratch
                    • configure Lmod and update Lmod spider cache in generated Singularity container recipes
                    • configure EasyBuild via environment variables (to allow overriding configuration settings via options to 'eb' command)
                    • also consider /tmp/easybuild/sources in source path (to allow seeding in sources in container build environment)
                    • updated documentation is available at https://easybuild.readthedocs.io/en/latest/Containers.html
                • various bug fixes, including:
                  • make sure that easyconfig file for EasyBuild version being bootstrapped is found in robot search path (#2899)
                  • remove interpreter options when fixing script shebang (#2905, #2906)
                  • fix crash on iterated installation when using Cray toolchains (#2914)
                  • disable checking of read/exec permissions when checking for availability of 'sudo' command (#2918)
                • other changes:
                  • stick to vsc-base < 2.9.0 in bootstrap script to avoid requiring 'future' dependency (#2892)

                easyblocks

                • new software-specific easyblock for ELPA (#1621)
                • minor enhancements, including:
                  • allow Boost to build both Python 2 and Python 3 libraries (#1718)
                  • update CPLEX sanity check: convert tool was removed in CPLEX 12.8 (#1737)
                  • don't try to patch CROSSTOOL script for recent Bazel versions (since it's no longer there) (#1741)
                • various bug fixes, including:
                  • fix version check on using '-log' option to 'Allwmake' in OpenFOAM easyblock (#1739)
                  • fix GROMACS easyblock for list-type configopts (#1740)
                  • fix configure step for GROMACS version < 4.6 (#1742)

                easyconfigs

                • added example easyconfig files for 17 new software packages:
                  • adjustText (#8354), cowsay (#8380), fxtract (#8426), google-java-format (#8373), libtar (#8379), mkl-service (#8390), msprime (#8371), pygrib (#8395), pyhdf (#8394), pyproj (#8395), PyStan (#8410), Racon (#8358), rapidtide (#8256), SingleM (#8428), smafa (#8420), SVDetect (#8399), Unicycler (#8376)
                • added additional easyconfigs for various supported software packages, including:
                  • BLAST+ 2.9.0, Boost.Python 1.70.0, DIAMOND 0.9.24, EMAN2 2.3, ecCodes 2.12.5, GDAL 3.0.0, ImageMagick 7.0.8-46, Libint 2.5.0, matplotlib 2.2.4, NLopt 2.6.1, OrfM 0.7.1, PGI 19.4, PostgreSQL 11.3, R 3.6.0, R-bundle-Bioconductor 3.8, Rust 1.35.0, STAR 2.7.1a
                • minor enhancements, including:
                  • use CMake rather than configure script for libxc 4.3.4 (#8361, #8453)
                  • add 'cobs' extension to R 3.5.1 easyconfigs (#8389)
                  • add sanity check command to PSI4 1.2.1 easyconfigs to ensure that 'import psi4' works (#8393)
                  • include the provided backports patch in QuantumESPRESSO-6.4.1 (#8405)
                  • add Logger::Simple, Scalar::Util::Numeric, YAML, Object::InsideOut extensions to Perl 5.28.1 easyconfig (#8432)
                  • update Java 1.8 to 1.8.0_212 (#8443)
                • various bug fixes, including:
                  • add missing build dependency on gettext to ATK/2.28.1 for fosscuda/2018b (#8402)
                  • add patch to fix OpenBLAS v0.3.1 matrices multiplication issue (#8396)
                  • make Eigen a build dependency for nanopolish (#8448)
                • other changes:
                  • clean up ELPA 2018.11.001 easyconfig to use custom easyblock for ELPA (#8360)
                  • remove unused checksum for ballgown extension in Bioconductor 3.7 easyconfigs (#8363)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb391","title":"EasyBuild v3.9.1 (May 20th 2019)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add function to determine whether specified easyblock is generic or not (#2838)
                  • add support to apply_regex_substitutions function to skip creation of backup (#2844)
                  • add support for %(pymajver)s (& co) (#2850)
                  • add support for 'fix_python_shebang_for' and 'fix_perl_shebang_for' easyconfig parameters (#2878)
                  • add multi_deps information to generated module, help and whatis sections (#2882)
                  • add support for 'eb --missing' ('eb -M') (#2883)
                    • see also https://easybuild.readthedocs.io/en/latest/Using_the_EasyBuild_command_line.html#getting-an-overview-of-missing-installations-missing-m
                • various bug fixes, including:
                  • only call 'scontrol release' when there's at least one job submitted (#2834)
                  • fix small bug in find_eb_script + various minor issues with tests (related to environment in which tests are run) (#2835)
                  • list build dependencies before runtime dependencies, so dependencies listed via multi_deps are loaded first in toolchain environment (#2839)
                  • allow setting parallel to 0 or False to disable adding the -j argument (#2842)
                  • be more careful when using single quotes for Tcl syntax (#2847)
                  • append to existing .modulerc file rather than overwriting it (if --force is used) (#2848)
                  • correctly resolve template values used for extensions (#2852)
                  • update template values after updating iterative easyconfig parameters (#2854)
                  • add top-level directories of hierarchical module naming scheme to $MODULEPATH before loading dependencies (#2857)
                  • inject dependencies specified via multi_deps before normal build dependencies (#2861)
                  • include Python version(s) in PR titles auto-generated by --new-pr (#2863, #2880)
                  • update HierarchicalMNS for GCCcore toolchain (#2870)
                  • bump iteration index counter at the correct time (#2886)
                  • don't specify --ntasks-per-node when submitting Slurm jobs (#2887)
                  • fix order of easyconfig parameters in output generated by 'eb --avail-easyconfig-params --output-format rst' (#2888)
                • other changes:
                  • lower required version in Slurm job backend to 16.05 (#2833)
                  • add Lmod 8 to test suite (#2849)
                  • deprecate useless 'skip_lower' named argument in template_constant_dict, always define *lower templates (#2856)
                  • fix Python classifiers in setup.py, should be (only) Python 2.6 & 2.7 (#2876)

                easyblocks

                • one new generic easyblock: CMakeMakeCp (#1725)
                • new software-specific easyblock for Blender (#1595), Lua (#1396), OpenBLAS (#1693, #1697)
                  • OpenBLAS easyblock also supports installation on POWER systems
                • minor enhancements, including:
                  • enhance VMD easyblock to also build Surf & Stride + pick up netCDF for VMD >= 1.9.3 (#1314)
                  • update CGAL easyblock to support CGAL 4.12 & newer (#1679)
                  • update QuantumESPRESSO easyblock for v6.4.1 (#1692)
                  • enhance Advisor & VTune easyblocks, since no license is required starting with version 2019 update 3 (#1694, #1695)
                  • handle new multi-deps Python setup with $EBPYTHONPREFIXES for Tensorflow (#1702)
                  • make CHARMM easyblock pick up on prebuildopts and runtest (#1707)
                  • change default value for 'use_pip' to None, so we can discriminate from 'use_pip' being set to False explicitly (#1709)
                  • make PythonPackage aware of (pre)testopts (#1715)
                  • enable GPU offloading in Clang if CUDA is included as a dep (#1716)
                  • add support to Clang easyblock for also building libc++ and RTTI (#1717)
                  • rebuild internal libfabric for impi 2019.x & more recent (#1730)
                  • update Q&A patterns in SAS easyblock for version 9.4 + add support for custom license file path (#1731)
                • various bug fixes, including:
                  • only install mkl-dnn by default with TensorFlow on x86-64 systems (#1666)
                  • make sure ldconfig can be found before using it in CUDA easyblock (#1684)
                  • use temporary directory for pip cache (rather than $HOME/.cache/pip) in PythonPackage easyblock (#1687)
                  • allow oversubscription when testing FFTW on top of OpenMPI >= 3.0 (#1688)
                  • make sure $HOME/.cache/pip isn't used while installing Tkinter (#1691)
                  • set default exts_filter in PythonBundle, so already installed extensions in a bundle can be skipped (#1701)
                  • instruct Bazel to not use $HOME/.cache/bazel in TensorFlow easyblock (#1704)
                  • also set $XDG_CACHE_HOME during installation of Python, to ensure that 'pip' that comes along with it doesn't touch $HOME/.cache/pip (#1705)
                  • use -fp-model precise if FMA instructions are missing in GROMACS easyblock (#1706)
                  • make sure Perl install dir follows a standard format (#1708)
                  • attach source_urls directly to sources for components in generic Bundle easyblock (#1711)
                  • avoid that --no-build-isolation option is specified multiple times in PythonPackage easyblock (#1713)
                  • fix prefix in impi compiler wrappers (#1727)
                  • only embed zlib in binutils if it is listed a build dependency (#1732)
                • other changes:
                  • fix Python classifiers in setup.py, should be (only) Python 2.6 & 2.7 (#1724)

                easyconfigs

                • added easyconfigs for new toolchains:
                  • fosscuda/2019a (#8063), gimkl/2018b (#8287), gomkl/2018b (#8216), gomkl/2019a (#8218), intelcuda/2019a (#8069)
                • added example easyconfig files for 52 new software packages:
                  • ADDA (#8207), AMD-LibM (#7164), AMD-RNG (#7165), AMD-SecureRNG (#7165), ARGoS (#8039, #8104), ARWEN (#8213), Canvas (#7716), cdsapi (#7970), charmm (#8202), emcee (#7989), FlexiDot (#8228, #8275), FreeImage (#8039), Hello (#7704), HLAminer (8094), hypothesis (#8307), imgaug (#8229), INTEGRATE (#8193, #8304), INTEGRATE-Neo (#8094), IRkernel (#8050, #8099), JiTCODE (#7148, #8327), libFLAME (#7163), libpsml (#5859), LibSoup (#8116), libutempter (#6426), LS-PrePost (#8070), LUSCUS (#7191, #8105, #8285), memory-profiler (#8255), metaWRAP (#7896), Net-core (#7716), netMHC (#8094), Nextflow (#8195), nvtop (#8024), openpyxl (#8121), py-cpuinfo (#8245), pyFFTW (#8198), PyQtGraph (#7525, #8253), R-tesseract (#7933), RBFOpt (#8178), rnaQUAST (#8040), RStan (#7996), scikit-multilearn (#8142), simpy (#8177, #8250), SMARTdenovo (#7630), socat (#8305), SymEngine (#7148, #8327), unixODBC (#8074), VAtools (#7938), VirtualGL (#8008), WebKitGTK+ (#8118, #8241), xmlf90 (#5858), YAPS (#7976), zingeR (#7264)
                • added additional easyconfigs for various supported software packages, including:
                  • Boost 1.70.0, cairo 1.16.0, CGAL 4.14, Clang 8.0, cutadapt 2.1, dask 1.1.4, ELPA 2018.11.001, FFmpeg 4.1.3, GCC 9.1.0, GEOS 3.7.2, GLib 2.60.1, gmsh 4.2.2, GROMACS 2019.2, GTK+ 3.24.8, h5py 2.9.0, hwloc 1.11.12, Hypre 2.15.1, Mathematica 12.0.0, matplotlib 3.0.3, Mesa 19.0.1, NBO 7.0, NCL 6.6.2, NCO 4.7.9, NiBabel 2.4.0, numba 0.43.1, OpenMPI 3.1.4, OrthoFinder 2.3.3, PCMSolver 1.2.3, PETSc 3.11.1, PROJ 6.0.0, PyQt5 5.12.1, PyTorch 1.0.1, PyYAML 5.1, Qt5 5.12.3, QuantumESPRESSO 6.4.1, R 3.5.1 (w/ intel/2018b), RNAIndel 1.0.0, Ruby 2.6.3, scikit-learn 0.20.3, SLEPc 3.11.0, sympy 1.4, Tkinter 3.7.2, Vim 8.1.1209, VTK 8.2.0, wrf-python 1.3.1, wxPython 4.0.4, wxWidgets 3.0.4, xarray 0.12.1, zstd 1.4.0
                • minor enhancements, including:
                  • enable auto-download of VMD 1.9.3 + add patches for Surf and Stride (#7305)
                  • add mlegp extension in R 3.5.1 easyconfigs (#7814)
                  • add pkg-config file to bzip2 easyconfigs (#8200)
                  • allow use of 'use_pip = False' in easyconfigs if pip doesn't work (#8220)
                • various bug fixes, including:
                  • fix checksums for nlme extensions in R easyconfigs (#7814, #8054)
                  • add missing XZ dependency for Pysam > 0.12 (#7971)
                  • define $GRACE_HOME in Grace easyconfigs, so that font dir can be located (#8048)
                  • $XDG_DATA_DIRS must be set for GTK+ (#8089)
                  • add missing FriBidi dependency for Pango 1.43.0 (#8103)
                  • add (back) custom sanity_check_paths in recent Pango easyconfigs (#8106)
                  • fix missing extensions in cutadapt 1.16 easyconfigs (#8130)
                  • add missing cURL dependency for recent SAMtools versions (#8131)
                  • add singledispatch extension to Python 2.7.15 easyconfig using GCCcore/8.2.0 toolchain (#8164)
                  • add missing X11 dependency for Gdk-Pixbuf 2.38.1 (#8222)
                  • make sure hdf5r picks up HDF5 dependency in R 3.5.1 easyconfigs (#8223)
                  • enable zstd compression in GRASS 7.6.0 easyconfig (#8224)
                  • add missing ICU dependency on ICU for Harfbuzz 2.4.0 (#8226)
                  • disable AVX512 DGEMM kernels in OpenBLAS 0.3.5 (#8227)
                  • fix homepage/description in OrthoFinder easyconfig (#8234)
                  • add Parallel::ForkManager extension to Perl 5.28.x easyconfigs (#8247)
                  • replace LibUUID dependencies with util-linux (#8258)
                  • add jemalloc & pkg-config as build deps for Salmon 0.12.0 (#8264)
                  • fix MAJIQ easyconfig by fixing order of extensions + avoid numpy test hang (#8272)
                  • fix shebang in GLib Python script + clarify runtime dependency on Python (#8277)
                  • add pkg-config and expat as (build) dependency for DBus (#8283)
                  • define $GI_TYPELIB_PATH in GTK+ and Pango easyconfigs (#8246, #8286)
                  • add pkg-config build dep to PROJ 6.0.0 easyconfig (#8309)
                  • fix source URLS in recent libcerf easyconfigs (#8332, #8243)
                  • make zlib a real dependency rather than a build dep in recent binutils easyconfigs (>= 2.28) (#8340)
                  • add fix-ib-query patch to OpenMPI 2.1.x and 3.0.x easyconfigs (#8341)
                  • set $XDG_CACHE_HOME to $TMPDIR before 'pip install' in Arrow 0.12.0 easyconfigs (#8347)
                • other changes:
                  • remove xbitmaps dependency from motif (#7530)
                  • require custom sanity_check_paths in easyconfigs touched in PRs when generic easyblock is used (#8101, #8123)
                  • use CMake built with GCCcore toolchain when installing Eigen 3.3.4+ (#8261)
                  • fix Python classifiers in setup.py, should be (only) Python 2.6 & 2.7 (#8299)
                  • use custom easyblock for OpenBLAS in OpenBLAS 0.3.x easyconfigs (#8345, #8339)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb390","title":"EasyBuild v3.9.0 (April 12th 2019)","text":"

                feature release

                framework

                • various enhancements, including:
                  • add (pre)testopts easyconfig parameters (#2793)
                  • add support for multi_deps easyconfig parameter (#2741, #2810, #2811, #2812, #2813, #2825, #2826, #2827, #2828)
                • various bug fixes, including:
                  • fix argument name in close_pr (#2752)
                  • fix undefined variable 'prefix' in Compiler._set_compiler_vars (#2757)
                  • fix test account for GitHub-related tests (#2760)
                  • make sure read permissions are always set in permissions_step (#2770)
                  • make test for dep_graph function robust against changing order of lines in resulting dot file (#2772)
                  • fix problem with import_available_modules when running from easybuild-framework directory (#2786)
                  • prepend location of test easyblocks to $PYTHONPATH to test_generate_software_list, rather than append (#2788)
                  • use pid in backup name candidate to reduce risk of two processes colliding (#2796)
                  • automatically enable --ignore-osdeps when using --preview-pr (#2799)
                  • use temporary checkout of repository as robot path for --new-pr and --update-pr to determine locations for patch files (#2803)
                  • avoid relying on order in which keys are processed in to_dependency (#2804)
                  • fix yeb format to work with PyYAML 5 (#2809)
                  • fix typo in error message for use of unknown easyconfig parameter (#2817)
                  • enhance log_file_format to fix problem when %(name)s template value is used for log directory (#2818)
                  • iterate over subdirectories in order in find_egg_dir_for of bootstrap script, to ensure oldest vsc-install is picked (#2819)
                  • replace -Wl,--enable-new-dtags compiler option with -Wl,--disable-new-dtags in RPATH wrapper script (#2821)
                  • updated COMPILER_F77 for PGI >= 19.1 (#2823)
                  • added FFTW_STATIC_LIBS_MT to FFTW_MAP_CLASS, otherwise FFTW_STATIC_LIBS_MT are incorrectly defined (#2822)
                  • sort available version list when selecting/generating easyconfig (#2732)
                • other changes:
                  • use assertEqual rather than assertEquals (which is deprecated) (#2746)
                  • test with Tmod 4.1.4 (packaged in RHEL8) in Travis CI (#2747)
                  • replace deps by hidden deps instead of removing them from the lists (#2748)
                  • ensure non-zero exit code for all test subsuites (+ fix trivial style issues) (#2773)
                  • silence printed deprecation warnings for easyconfigs/toolchains while running (easyconfigs) test suite (#2781)
                  • avoid printing of messages/warnings in framework test suite (#2782)
                  • enable silent mode for --new-pr and --update-pr (#2802)
                  • update Travis config to reflect that PyYAML 5.x is no longer compatible with Python 2.6 (#2807)

                easyblocks

                • new software-specific easyblock for TensorRT (#1627)
                • minor enhancements, including:
                  • make sure CMake doesn't pick up on system Boost in CMakeMake generic easyblock (#1618)
                  • modified ConfigureMake and CMakeMake generic easyblocks to allow changing configure_cmd, build_cmd and install_cmd to fit various needs (#1628, #1658)
                  • update ANSYS easyblock to deal with changed versioning scheme (#1631)
                  • add extra path to builddir for SNPhylo >= 20160204 (#1632)
                  • add better support for TensorRT to TensorFlow (#1634)
                  • add support for newer versions of wxPython to wxPython easyblock (#1635)
                  • update OCaml easyblock to support OPAM 2.x (#1638)
                  • update sanity check in TensorFlow easyblock for TensorFlow 1.13.x (#1642)
                  • make ConfigureMake, MesonNinja and SCons generic easyblocks aware of pretestopts (#1645)
                  • add support for installing Python packages with 'pip' without using --ignore-installed (#1647)
                  • add support to CMakeMake easyblock to specify compilers using absolute file path (#1652, #1655)
                  • stop checking for deprecated pgf77 in sanity check of PGI easyblock (#1653)
                  • accommodate version 10.1 in CUDA easyblock (#1654)
                  • install sitecustomize.py with Python to support Python package installations for multiple Python versions in a single directory (#1657)
                  • enhance SAMtools easyblock to also install libhts.a and include/htslib (when applicable) (#1661)
                  • tweak PythonPackage & PythonBundle to update $EBPYTHONPREFIXES rather than $PYTHONPATH for multi-Python installations + make sanity_check_step aware of multi_deps (#1664, #1678)
                  • replace -openmp with -fopenmp when building TINKER with Intel compilers (+ modernize easyblock) (#1668)
                  • make sure Meson is configured with -Dlibdir=lib so it doesn't install libraries in lib/x86_64-linux-gnu on Debian/Ubuntu multiarch systems (#1673)
                  • allow for external libfabric via ofi_libfabric parameter in impi easyblock (#1676)
                  • pass down compiler names and options to Qt5 5.8 & more recent via corresponding QMAKE_* configuration options (#1677)
                • various bug fixes, including:
                  • create symlinks to .modulerc in symlinked module directories (#1636)
                  • add missing import in FFTW easyblock (#1641)
                  • fix finding of Python 3 include subdir + libpython*.so in OpenBabel easyblock (#1633)
                  • add no_qa pattern for interactive installation command for ABAQUS (#1637)
                  • make serial, smpar and dm+sm builds of WRF work and pass tests (#1646)
                  • configure CP2K with correct DATA_DIR value rather than relying on $CP2K_DATA_DIR environment variable (#1650)
                  • CP2K fixes: only call configure_LAPACK/ScaLAPACK when imkl is not used, prefer using 2^2 MPI processes for tests (#1651)
                  • also take into account custom easyconfig parameters from CMakeMake in BamTools easyblock (#1656)
                  • make sure Perl scripts are installed in the right location (#1660)
                  • make sure setenv is used for CUDA_PATH etc. (#1663)
                  • cleanup sanity_check_paths in numpy & scipy easyblocks (#1665, #1667)
                  • always set self.pylibdir in PythonPackage.set_pylibdirs(), which is important when installing Python packages for multiple Python versions via multi_deps (#1671)
                  • fix custom definition of load_module method in LAPACK module (#1675)
                • other changes:
                  • replace 'except OSError, err:' pattern with 'except OSError as err:' (for compatibility with Python 3.x) (#1639)
                  • clean up Java easyblock to use filetools functionality (#1649)

                easyconfigs

                • added easyconfigs for new toolchains: intel/2019.02 (#7598), intel/2019.03 (#7846)
                • added example easyconfig files for 68 new software packages:
                  • ACT (#7928), aiohttp (#7728), at-spi2-atk and at-spi2-core (#7658), Bader (#7804), barrnap (#7738), BCEL (#7937), biscuit (#5868), bitarray (#7772), BlobTools (#7565, #7583), bmtagger (#7890), bsddb3 (#7642), CheckM (#7712), Cheetah (#7952), CONCOCT (#7891), cyvcf2 (#8031), DAS_Tool (#7741), ExaBayes (#7801), FastANI (#7992), fastp (#7693), Flask (#7734), giflib (#7663), Giza (#7843), glew (#7685), gpustat (#8025), GRASS (#7489), GTDB-Tk (#7995), HPCX (#7725), IntelPython (#7920), KNIME (#7554), KronaTools (#7721), KyotoCabinet (#7955), Leptonica (#7932), libepoxy (#7655), libpsl (#7666), MAGMA (#7829), MATLAB-Engine (#7758), MaxBin (#7767), MetaBAT (#7746, #7931), MinPath (#7763), ncdu (#7505), NGSadmix (#7524), NIMBLE (#7564), PCAngsd (#7727), pizzly (#7724), Ploticus (#7545), pocl (#7681), POT (#8011), ProjectQ (#7576), pullseq (#7740), pyBigWig (#7600), Pyke3 (#8034), PyRETIS (#8041), RDKit (#7973), RNAIndel (#8009), scikit-optimize (#7613), SciPy-bundle (#7922), sep (#8032), slidingwindow (#7909), SPLASH (#7843), SqueezeMeta (#7771), SRPRISM (#7890), taxator-tk (#7894), TensorRT (#7584), tesseract (#7932), Transrate (#5108), VCF-kit (#7786, #7882), VV (#7297)
                • added additional easyconfigs for various supported software packages, including:
                  • AFNI 19.0.01, Arrow 0.7.1, BLAST+ 2.8.1, CUDA 10.1.105, GCC(core) 8.3.0, GTK+ 3.22.30, Java (OpenJDK) 11(.0.2), Meson 0.50.0, MultiQC 1.7, Nim 0.19.2, Ninja 1.9.0, netCDF 4.6.2, netCDF-Fortran 4.4.5, PCRE 8.43, Perl 5.28.1, PGI 19.1, Python 3.7.2, RELION 3.0.4, Ruby 2.6.1, SCons 3.0.4, SQLite 3.27.2, SuiteSparse 5.4.0, TINKER 8.6.1, TensorFlow 1.13.1, X11 20190311
                • minor enhancements, including:
                  • add various extensions to R 3.5.1 easyconfigs: asnipe (#7572), liquidSVM (#7597), oddsratio/mltools/h2o (#7744), mlegp (#7814), bartMachine/lqa (#7865), PresenceAbsence/GUTS/GenSA (#7905), parsedate (#7935), circular (#7975)
                  • add ujson extension in recent Python easyconfigs (#7517)
                  • run various checks on easyconfigs that are touched in pull requests and involve Python packages (#7754)
                  • add cpanminus extension to recent Perl easyconfigs (#7866)
                  • also install ANTs scripts (and set $ANTSPATH as required by those scripts) (#7940)
                  • add missing configopts in GATE 8.1 easyconfig to enable Davis feature (#8000)
                • various bug fixes, including:
                  • add patch for Mesa 18.1.1 to detect MIT-SHM (#7536)
                  • add proper description to MINC-2.4.03 (#7551)
                  • add libunwind dependency to recent Mesa easyconfig when building with foss/GCC (#7629)
                  • add/reorder missing/misplaced extensions in Python 2.7.15 and 3.6.6 easyconfigs (#7696)
                  • fix Jellyfish dependency in easyconfig for Kraken 1.0 (Jellyfish 1.x is required) (#7743)
                  • use https:// in most recent XZ easyconfigs (#7782)
                  • add patch for OpenMPI 3.1.x to fix ib-query 'Invalid argument' error (#7789)
                  • build OpenBLAS with -fno-tree-vectorize (asm constraint bugs for <0.3.6) + cleanup & SHA256 checksums (#7790, #7793)
                  • extra patch for TensorFlow 1.12.0 to remove -B/usr/bin from linker_bin_path_flag in cuda_configure.bzl (#7800)
                  • fix easyconfig for STAR-Fusion 1.5.0 (#7802)
                  • fix checksums for boot/nlme extensions in R easyconfigs (#7814, #8054)
                  • add patch for OpenMPI 3.x to fix UCX memory leak (#7535, #7824)
                  • replace ncurses-devel OS dependency in CMake easyconfigs using dummy toolchain with proper ncurses dependency (#7834)
                  • use PythonBundle for snakemake-5.2.4-foss-2018b-Python-3.6.6.eb (+ fix moduleclass) (#7842)
                  • use correct buildopts + add missing zlib dependency in StringTie 1.3.5 easyconfig (#7845)
                  • update GStreamer to not enable dw and fix some missing dependencies (#7889)
                  • add missing XZ dependency to most recent Pysam easyconfigs (#7897)
                  • expat: add configure option --without-docbook to avoid docbook2X dependency (#7930)
                  • fix source URLs for mawk (#7960)
                  • fix LWM2, OTF2, OPARI2, and Score-P download URLs (#7994)
                  • use https:// in homepage & source_urls for OpenMPI and hwloc easyconfigs (#8013, #8014, #8015 and #8016)
                  • add missing bokeh dependency for dask 1.0.0 (+ add dask-jobqueue) (#8029)
                  • fix checking of binutils build dep in easyconfig tests (#8038)
                • other changes:
                  • avoid use of .items() in R (bundle) easyconfigs, to fix compatibility with EasyBuild running on top of Python 3 (#7791)
                  • trim down test configuration: only test with Lmod 6.x with Tcl/Lua on Python 2.6/2.7 (#7795, #7798)
                  • use %(pyshortver)s template in (old) SIP easyconfigs (#7797)
                  • add PyTorch to whitelist for not having 'use_pip' enabled (#7844)
                  • don't use local variable 'pylibdir' in list comprehension in PyQt easyconfig, since that doesn't work in Python 3 (#7848)
                  • use pip instead of setup.py with h5py/2.7.1 and 2017b toolchains (#7864)
                  • prefer https:// over ftp:// for source_urls in recent GROMACS easyconfigs (#7948)
                  • rename arrow to Arrow for old easyconfig (#8007)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb381","title":"EasyBuild v3.8.1 (January 29th 2019)","text":"

                bugfix/update release

                framework

                • various minor enhancements, including:
                  • speed up checking of OS dependencies (#2703)
                  • add support for 'eb --show-system-info' (#2722)
                  • add support for '%(arch)s' template value in easyconfig files (x86-64, aarch64, ppc64le, ...) (#2728)
                • various bug fixes, including:
                  • add timestamp to reprod dir while in tmp space (#2705)
                  • avoid '+' in directory name for g++ rpath wrapper (#2710)
                  • pre-install vsc-install < 0.11.4 in bootstrap script to avoid requiring 'mock' Python package (#2717)
                  • fix check in --merge-pr whether PR is eligible for merging in to only consider the status of the last test report (#2720)
                  • don't recreate build directory when 'buildininstalldir' is enabled for iterative installations (#2724)
                  • filter (CUDA) lib*/stubs paths in RPATH wrapper script (#2725)
                • other changes:
                  • replace 'except IOError, err:' pattern with 'except IOError as err:' for compatibility with Python 3.x (#2711)
                  • make all print statements compatible with Python 3 (#2715)
                  • avoid use of sys.maxint in dependencies_for (#2716)

                easyblocks

                • minor enhancements, including:
                  • update Ferret easyblock to handle Ferret 7.3 (#1349)
                  • add support for defining $LDSHARED when installing Python packages if Python's value doesn't use toolchain compiler ($CC) (#1455)
                  • update CP2K easyblock to add support for CP2K 6.1, and fix incorrect LibInt references (#1545)
                  • make OpenFOAM easyblock handle debug build (#1609)
                  • handle multiple installation keys for MATLAB (#1610)
                  • run 'make check' in parallel for GROMACS since it involves more compilation (#1611)
                  • update OpenCV easyblock for recent versions (3.4.x >= 3.4.4 + 4.0.x) (#1616)
                • various bug fixes, including:
                  • check current start_dir value before appending 'src' subdirectory in MrBayes easyblock (#1582)
                  • avoid that (system) Intel compilers are always considered when building SuiteSparse (#1612)
                  • fix missing import statement in ROOT easyblock (#1614)
                  • answer SELinux question with 'no' in Mathematica easyblock (#1617)
                  • disable \"build isolation\" feature in pip > 10.x in PythonPackage generic easyblock (#1623)
                • other changes
                  • cleanup in Perl and PerlModule easyblocks (#1603)

                easyconfigs

                • added easyconfigs for new toolchains foss/2019a (#7371), intel/2019a (#7372) and iomkl/2019.01 (#7375)
                  • see also https://easybuild.readthedocs.io/en/latest/Common-toolchains.html
                • added example easyconfig files for 43 new software packages:
                  • Assimulo (#6740), C3D (#7059), CellMix (#7422), CESM-deps (#6654, #6675, #6823), DSA (#7422), DeMixT (#7422), deconf (#7422), DeconICA (#7422), double-conversion (#7307), dxpy (#7079), EPIC (#7422), expect (#7387), Flye (#7430), FMILibrary (#6740), FMRIprep (#7059), FUSE (#7078), GDCM (#7310), HDDM (#7396), ICA-AROMA (#7059), IntaRNA (#7334), imageio (#6738), KWIML (#7308), kWIP (#7444), MagresPython (#7395), medaka (#7426), MINC (#7311), MuSiC (#7422), netMHCIIpan (#7377), NIfTI (#7311), OPERA (#7408), psrecord (#7331), pyfits (#7273), PyFMI (#6740), PyGWAS (#5852), Pylint (#6675), QDD (#7284), RERconverge (#7289), samclip (#7226), SCIPhI (#7419), swarm (#7453), VXL (#7309), wrf-python (#6736), xCell (#7422)
                • added additional easyconfigs for various supported software packages, including:
                  • Amber 18, Arrow 0.12.0, Biopython 1.73, Boost 1.69.0, CP2K 6.1, canu 1.8, Ferret 7.3, GATE 8.1.p01, GROMACS 2019, Geant4 10.5, HPL 2.3, libxsmm 1.10, matplotlib 3.0.2, NEURON 7.6.5, Octave 4.4.1, OpenBLAS 0.3.5, OpenCV 3.4.5 + 4.0.1, OpenFOAM v1812, PGI 18.10, PLUMED 2.5.0, ROOT 6.14.06, Theano 1.0.3, TopHat 2.1.2, Yade 2018.02b
                • minor enhancements, including:
                  • add additional extensions to R 3.5.1 easyconfigs:
                    • statnet (#7370), NMF, ComICS, dtangle, MCMCpack, shinythemes (#7420), csSAM (#7423), bridgedist (#7477)
                  • add DeconRNASeq and GSVA extensions to R-bundle-Bioconductor 3.7 easyconfigs (#7421)
                  • also install header files and CMake module for SeqAn 2.4.0 built with foss/2018b (#7434)
                  • add download URL for intel/2018a components (#7436)
                  • add missing checksums for protobuf easyconfigs using dummy toolchain (#7492)
                • various bug fixes, including:
                  • fix source URL in Doxygen easyconfigs (#7324)
                  • add fallback source URL for recent pigz versions (#7346)
                  • promote FriBiDi to runtime dep of Pango rather than only build dep (#7369)
                  • add --without-systemdsystemunitdir configure option to recent DBus easyconfigs (#7373)
                  • fix issue of building M4 1.4.18 with glibc 2.28 (#7384)
                  • fix broken source URLs in MariaDB easyconfigs (#7413)
                  • bump up build dependency of flex 2.6.4 from Bison 3.0.4 to 3.0.5 (#7414)
                  • disable building of OpenColorIO Python bindings since Python is not included as a dependency (#7416)
                  • add missing build dependencies in old Harfbuzz/Pango easyconfigs (2016a generation) (#7433)
                  • fix XML-LibXML linking with Intel compiler and GCCcore Perl (#7440)
                  • prevent non-critical error from stopping Guile v1.8.8 build (#7446)
                  • use %(arch)s template rather than hardcoding 'x86_64' in XML-Parser easyconfigs (#7450)
                  • use uniform configopts for Guile 1.8.8 (#7452)
                  • fix configopts in PyQt5 easyconfig files to avoid installation of files in Python/Qt5 installation directories (#7470)
                • other changes:
                  • fix homepage in easyconfigs for foss toolchains (#7482) and intel toolchains (#7483)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb380","title":"EasyBuild v3.8.0 (December 18th 2018)","text":"

                feature release

                framework

                • various enhancements, including:
                  • support use of version ranges in --filter-deps (#2357)
                  • add support for --list-prs (#2400, #2668)
                  • add support for --close-pr (#2401)
                  • allow setting optarch compiler flags in the easyconfig via toolchainopts easyconfig parameter (#2595)
                  • add option to skip pre-creation of install directory: --disable-pre-create-installdir (#2629, #2637)
                  • flesh out setting up of configuration into dedicated 'set_up_configuration' function (#2638)
                  • clean error when 'eb' is cancelled by user (#2641)
                  • add support for using Slurm as backend for --job, via --job-backend=Slurm (#2642, #2666)
                  • save easyblocks along with easyconfig in 'reprod' subdirectory of install directory (#2653)
                  • add support for deprecating easyconfig files & toolchains (#2656)
                  • changed EasyConfig.update to be able to specify not to allow duplicate values (#2657)
                  • move adding of dependencies to prepare step instead of check readiness step (#2674)
                  • add support for disabling mapping of (sub)toolchains when --try-toolchain is used, via --disable-map-toolchains (#2682)
                  • add 'astro' and 'quantum' module classes (#2693)
                • various bug fixes, including:
                  • make --from-pr always try to apply PR patch on top of PR target branch (#2631)
                  • fix bug that could cause to silently overwrite an existing easyconfig when using --try-* (#2635)
                  • don't pass down specific environment variables into submitted jobs (#2643)
                  • update template constants for source URLs to use https (#2648)
                  • fix lib64 fallback for 'lib'/'lib64' dirs entry in sanity_check_paths (#2649)
                  • change PGI F90 Fortran compiler to pgf90 (#2650)
                  • use --set-upstream-to in install-EasyBuild-develop.sh script to deal with deprecated/no longer supported --set-upstream (#2651)
                  • fix order of keys in 'toolchain' value for dumped easyconfig file (name, version) + run style check on dumped easyconfigs in dump tests (#2660)
                  • ensure checksums beside sources in dumped easyconfigs (#2661)
                  • fix problems with easyconfig file saved in 'reprod' directory by copying it before running any installation steps (#2664)
                  • make print functions more robust w.r.t. arguments being passed to format the message to be printed (#2670)
                  • use 'git am' to apply patch for PRs in fetch_easyconfigs_from_pr (#2680)
                  • correctly define $LIBFFT_MT for Intel MKL (#2688)
                  • don't always require easyconfig files to resolve dependencies (#2690, #2692, #2697, #2698, #2699)
                • fixes for Travis CI config:
                  • stop testing with Lmod 6.6.3, testing with Lmod 6.5.1 is sufficient (#2627)
                  • Python 2.6 requires python-daemon 1.x as dep for GC3Pie (#2673)
                  • stick to idna<2.8 with Python 2.6 in Travis + distable broken test for HgRepository (#2678)
                • other changes:
                  • always skip symlinks in adjust_permissions (#2644)
                  • flesh out 'avail_easyblocks' function from support for --list-easyblocks (#2663)
                  • deprecate the ictce toolchain (#2667)
                  • deprecate goolf and goolfc toolchains (#2676)
                  • deprecate intel toolchains older than intel/2016a (+ iccifort & iimpi subtoolchains) (#2677)
                  • deprecate ancient gompi toolchain versions (#2684)
                  • use 'tar xzf' (gzip) rather than 'tar xZf' (ancient compress) to unpack *.tar.Z source files (#2686)
                  • flesh out 'set_parallel' method to it can be called separately (#2687)

                easyblocks

                • new generic easyblocks:
                  • PythonBundle for installing a bundle of Python packages (#1553)
                  • MesonNinja for installing using Meson & Ninja (#1561)
                • new software specific easyblock for RepeatMasker (#1600)
                • minor enhancements, including:
                  • add -fno-delete-null-pointer-checks compiler flag for OpenFOAM versions older than v3.0 (#1311)
                  • add support for building Tau with OTF included as dependency (#1313)
                  • add support for Intel MPI version 2019 (#1546)
                  • also populate the include dir for CP2K (#1554)
                  • add custom easyconfig parameter in GCC easyblock to control use of gold linker: use_gold_linker (#1555)
                  • replace '-' with '_' in default 'import' check for Python packages (#1560)
                  • update WRF and WPS to support version 4 (#1563)
                  • adapt PSI easyblock for PSI4 > 1.2 (#1568)
                  • update Siesta easyblock to 4.1-b4 and add custom test_step (#1573)
                  • enhance Mothur easyblock to support use of Boost and HDF5 as dependencies (#1576)
                  • enhance sanity check for icc & ifort: also check for compilers_and_libraries_*/linux subdirectory (#1577)
                  • update Trinity easyblock for latest version 2.8 (#1579)
                  • add version check in sanity check step of SCOTCH easyblock (+ code cleanup) (#1580)
                  • add support in Clang easyblock to skip running of all tests (#1584)
                  • update WRF easyblock to allow serial HDF5 + pick up on parallel netCDF (#1592)
                  • avoid hardcoding 'PREFIX=<installdir>' in build/install options when using SCons easyblock (#1594)
                  • enable TensorFlow to detect any MPI runtime (#1597)
                  • enhance Bundle easyblock to allow installation of bundle components with additional easyblocks + build components in parallel (#1598)
                  • enhance Trilinos easyblock to support building against MKL (#1601)
                • various bug fixes, including:
                  • make FDTD_Solutions easyblock do the install by copying files instead of 'rpm rebuild' (#1307)
                  • re-add missing VT_(S)LIB_DIR env variable to itac module (#1309)
                  • fix in QuantumESPRESSO easyblock: ifort compiler needs -assume byterecl (#1556)
                  • extract targets from buildopts in Quantumespresso easyblock (#1558)
                  • fixes for TensorFlow easyblock (#1559)
                    • pass $PYTHONPATH while building TensorFlow
                    • disable cross-compilation mode if optarch is set
                    • fix sanity check for installing TensorFlow as extension
                  • added a test to disable compiling FFTW with MPI if the toolchain does not support MPI (#1562)
                  • fix permissions problem with CUDA nvvp tar files + correctly handle numactl symlink in LLVM subdir in PGI easyblock (#1569)
                  • fix TensorFlow test tempdir problem (#1572)
                  • tweak VMD easyblock so that configopts don't contain duplicate values (otherwise it fails to rebuild) (#1575)
                  • fix running netcdf4-python tests to also support installation as extension (#1578)
                  • added the openmp flags in the linker flags in MUMPS easyblock (#1585)
                  • avoid hardcoding --with-rdma configure option in MVAPICH2 easyblock (#1586)
                  • fix location of path-to-source argument in configure command of CMakeMake (#1591)
                  • fix GROMACS use of MKL for non-Intel compilers (e.g. gomkl toolchain) (#1596)
                • other changes
                  • inform Hound CI about Python 2 builtins (#1604)

                easyconfigs

                • added easyconfigs for new toolchains: intel/2018.04 (#7171), intel/2019.00 (#7218), intel/2019.01 (#7219)
                • added example easyconfig files for 36 new software packages:
                  • 4ti2 (#7040), ARPACK++ (#6750), CellRanger (#7242), CharLS (#6762) cscope (#7057), ctags (#7057), datamash (#6693), dcm2niix (#6762), DCMTK (#6761), deepdiff (#7109), Drake (#7182), fast5 (#7250), gap (#7040), Gerris (#7211), GPAW-setups (#6984), iCount (#7080), ipyparallel (#6797), Kratos (#7149), LCov (#7160), libvdwxc (#6984), libwebp (#7065), lrslib (#7040), MuPeXI (#6991), netMHCpan (#6991), Normaliz (#7040), OpenColorIO (#7146), OpenJPEG (#7216), PHLAT (#7036), poppler (#7069), RECON (#7042), RepeatMasker (#7281), TreeMix (#7133), unrar (#7117), utf8proc (#7083), VSEARCH (#7153), XMDS2 (#7121)
                • added additional easyconfigs for various supported software packages, including:
                  • CheMPS2 1.8.8, Clang 6.0.1 + 7.0.0, dask 1.0.0, FFmpeg 4.1, GCC(core) 6.5.0 + 7.4.0, GPAW 1.4.0, HMMER 3.2.1, IPython 7.2.0, ITK 4.13.1, Keras 2.2.4, LLVM 7.0.0, Mothur 1.41.0, MultiQC 1.6, NAMD 2.13, OpenBLAS 0.3.4, OpenMPI 3.1.3 + 4.0.0, PSI4 1.2.1, Qt5 5.11.2, QuantumESPRESSO 6.3, Rust 1.30.1, Spark 2.4.0, Spyder 3.3.1, TensorFlow 1.11.0 + 1.12.0
                • minor enhancements, including:
                  • install misc tools for angsd (#6995)
                  • add libXp component to X11 bundle for GCCcore 6.4.0 (#7062)
                  • also install shared libraries for LZO (#7073)
                  • add extensions to R 3.5.1 easyconfigs: gllvm (#7123), grpreg (#7140), gamlss + gamlss.tr (#7263)
                  • install Tk private headers (#7155)
                  • add File::Next extension to Perl 5.28.0 easyconfig (#7276)
                • various bug fixes, including:
                  • fix installation of scikit-image 0.13.x by including missing required PyWavelets extension (#7061)
                  • add missing dependencies to easyconfig for GC3Pie 2.5.0 (#7066)
                  • stop setting ignored 'full_sanity_check' easyconfig parameter in easyconfigs (#7094)
                  • add missing checksums in X11/2016* easyconfigs (#7095)
                  • add missing checksums in X11/2017* easyconfigs (#7096)
                  • add missing cffi & pycparser extensions to recent Python easyconfigs (#7105, #7118)
                  • fix homepage in QuantumESPRESSO easyconfigs (#7114)
                  • use empty toolchain version in picard easyconfigs to ensure Java dependency is loaded during installation (#7116)
                  • fix checksum for mgcv extension in R 3.5.* easyconfigs (#7122)
                  • add missing 'patsy' extension in ARCH easyconfig + switch to using PythonBundle easyblock (#7124)
                  • add missing (dummy) sklearn extension in NeuroKit easyconfig (#7126)
                  • fix order of extensions in recent IPython easyconfigs to make 'pip check' pass (#7131)
                  • fix missing required Python packages in ASE 3.16.2 easyconfigs (#7139)
                  • fix source_urls in CP2K easyconfigs (for official releases) (#7240)
                  • update SCOTCH 6.0.5 easyconfigs in-place to 6.0.6 to fix wrong download URL (#7159)
                  • add Autotools build dep in patchelf easyconfig (#7175)
                  • STREAM fixes: use https + versioned source (#7193)
                  • fix checksum in Molden easyconfig (#7251)
                  • fix source URL for ADMIXTURE (#7258)
                  • fix source URLs & versions + build procedure for SKESA (#7275)
                  • fix checksum for TRF 4.09 (#7278)
                  • add missing zlib dependency for NSS (#7293)
                  • add required build deps for QtWebEngine in recent Qt5 easyconfigs (#7300)
                  • fix ImageMagick source URLs: use launchpad.net for old versions, switch to GitHub for 7.0.8-* onwards (#7301)
                • other changes:
                  • update Java/1.8 wrapper to Java 1.8.0_192 (#7097)
                  • don't enable optarch toolchain option in VCFtools easyconfigs, since it's enabled by default (#7106)
                  • stop using lowopt in libxc 4.2.3 easyconfigs (#7115)
                  • deprecate easyconfigs for ictce toolchains + intel toolchains older than intel/2016a (#7231)
                  • deprecate easyconfigs for goolf(c) + corresponding gompi(c) subtoolchains (#7243)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb371","title":"EasyBuild v3.7.1 (October 18th 2018)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • generate .modulerc.lua when Lua syntax and Lmod >= 7.8 is used (#2597)
                  • allow --force to use regex if --try-toolchain can not map intelligently (#2605)
                  • add support for disabling modules tool version check (#2610)
                  • add support to ModuleGenerator.modulerc method to also write .modulerc file (#2611)
                  • check whether module file being wrapped exists in same directory as module wrapper when using Lmod 6.x (#2611)
                • various bug fixes, including:
                  • stop relying on 'easy_install' in bootstrap script, use 'python -m easy_install' instead (#2590)
                  • fix templating of values in list_software function (#2591)
                  • fix composing of lib64 fallback paths in sanity check (#2602)
                  • determine file_info for all easyconfigs before any actual copying in copy_easyconfigs function (#2604)
                  • also check for module wrappers in ModulesTool.exist method (#2606)
                  • add trailing newline to module load message if it's not there yet (#2613)
                  • retain all dependencies when determining dependency tree of a toolchain (#2617)
                  • protect exts_lists from templating in dump method (#2619)
                  • making CUDA capability detection more robust (#2621)
                • other changes:
                  • lower required Lmod version to 6.5.1 (#2593)

                easyblocks

                • new software specific easyblocks for fastStructure (#1529)
                • minor enhancements, including:
                  • support bypassing use of system type obtained with recent config.guess in ConfigureMake (#1531)
                  • enhance generated module file for FreeSurfer (#1543)
                  • add option in Qt easyblock to check for QtWebEngine component in sanity check (#1544)
                  • also install CP2K as a library + code cleanup in CP2K easyblock (#1547)
                • various bug fixes, including:
                  • fix checking for downloaded dependencies for stand-alone installations in PythonPackage generic easyblock (#1530)
                  • also specify --host option to configure script based on config.guess result in ConfigureMake easyblock (#1532)
                  • use short module name when creating module wrapper in ModuleRC generic easyblock (#1535)
                  • use DOT_MODULERC constant in ModuleRC easyblock rather than hardcoding '.modulerc' (#1533)
                  • use --no-deps when installing .whl in TensorFlow easyblock if extension are being installed, move test run to sanity check (#1537)
                  • use os.getcwd() rather than self.startdir in TensorFlow easyblock to fix installation of TensorFlow as extension in a bundle (#1540)
                  • add symlink to wrapped module file when creating .modulerc in temporary location (#1539)
                  • properly handle Python dependency in Qscintilla easyblock (#1499)
                • other changes:
                  • cleanup Tarball easyblock by using copy_dir function (#1541)

                easyconfigs

                • added easyconfigs for new toolchain foss/2018.08 with GCC/8.2.0 (#6992)
                • added example easyconfig files for 26 new software packages:
                  • ARCH (#6939), fbm (#6948), GenomeTester4 (#6970), GlobusConnectPersonal (#6974), MMseqs2 (#6964), NAG (#5772), NAGfor (#5772), NSPR (#7005), NSS (#7005), NeuroKit (#6947), novoalign (#6944), OptiType (#6924), OrthoFinder (#6964), pandas-datareader (#6938), pFUnit (#6949), PMIx (#6930), PSolver (#6888), PyDatastream (#6951), PyFR (#6846), Pyomo (#6910), Quandl (#6950), RTG-Tools (#6862), seq2HLA (#6969), suds (#6951), UCX (#6931), XMLSec (#6929)
                • added additional easyconfigs for various supported software packages, including:
                  • binutils 2.31.1, dask 0.19.4, GCC(core) 8.2.0, OpenBLAS 0.3.3, OpenMPI 3.1.2, Pillow 5.3.0, PyCUDA 2018.1
                • minor enhancements, including:
                  • add clustree + plotly extensions (+ deps) for R 3.5.1 (#6901)
                  • add tclsh symlink to recent Tcl easyconfigs (#6915)
                  • update GROMACS 2016.3 with NVML patches (#6936)
                  • use make=make in build options for ParMGridGen easyconfigs (#6952)
                  • add Data::Dump as extension to Perl (dependency for GIMIC) (#7004)
                • various bug fixes, including:
                  • inhibit -Werror in binutils 2.26 as new system GCC has case fallthrough warnings (#5793)
                  • change fastStructure easyconfig to use custom easyblock (#6893)
                  • fix toolchain for tbb dependency in Bowtie2-2.3.4.2-foss-2018b.eb (#6927)
                  • fix uroot installation in R-3.5.1-foss-2018b (#6934)
                  • add missing Python packages in TensorFlow 1.10.x easyconfigs (#6940)
                  • add missing dep for Szip in 2017b builds of netCDF (#6942)
                  • fix missing comment from OpenBabel-2.4.1-fix-link-path-tests.patch (#6943)
                  • add patch to Python 3.6.1 - 3.6.3 that removes comment in comment (#6946)
                  • add missing ulimit_unlimited=True (see issue #6484) in the newest Python builds (#6959)
                  • solve 'version UUID_1.0 not found' problem in LibUUID easyconfigs (#6962)
                  • eliminate dependency on ancient problematic LibUUID library, replace with util-linux (#6963)
                  • force building of ccmake for CMake 3.12.1 + fix deps (#6967)
                  • fix broken installation for Python 3.6.2 & 3.6.3 with PyNaCl as dep for paramiko extension by explicitly including previous PyNaCl version as extension (#6971)
                  • fix source URL for ADMIXTURE (no https) + add SHA256 checksum (#6982)
                  • add missing NSS/DBus dependencies to Qt 5.10.1 easyconfigs built with foss toolchain to ensure that QtWebEngine component gets installed (#7005)
                  • add 'openssl' OS deps in Perl 5.28.0 easyconfig for Net::ssleay (#7008)
                  • add missing checksum for ipaddress extension in Python easyconfigs (#7021 and #7033)
                  • add missing extensions to Python 2.7.14 (#7022 and #7023), 3.6.2 (#7025), 3.6.3 (#7027) and 3.6.4 (#7029 and #7030)
                  • add missing OS dependencies for git (#7028)
                  • create default configuration for RTG-Tools (#7032)
                  • also run checks on changed files when target branch for PR is something different than 'develop' (#7034)
                • other changes:
                  • removed dead 'bzip.org' source URL for bzip2 source tarball (#6983)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb370","title":"EasyBuild v3.7.0 (September 25th 2018)","text":"

                feature release

                framework

                • minimal Lmod version requirement bumped to 6.6.3 (#2575)
                • various enhancements, including:
                  • add support to bootstrap script to force install specific EasyBuild version (#2382, #2580)
                  • consider potential of multiple subtoolchains when resolving dependencies (#2464, #2465, #2466, #2585)
                  • fall back to downloading using the requests Python package (if installed) when urllib2 fails due to SSL error (#2538)
                  • make --try-toolchain more aware of subtoolchains (#2539)
                    • subtoolchain of original toolchains are now mapped to subtoolchains of target toolchain
                  • add support for BLIS and goblf toolchain that uses BLIS for BLAS (#2540)
                  • allow skipping of sanity check step via 'skipsteps' easyconfig parameter (#2549)
                  • add support for --check-contrib (#2551)
                    • equivalent with --check-style, but also verifies presence of SHA256 checksums (+ more checks in the future)
                  • added support to 'download' sources from git (#2555)
                    • see https://easybuild.readthedocs.io/en/latest/Writing_easyconfig_files.html#downloading-from-a-git-repository
                  • add 'parse' hook to add support for applying site-specific customisations to the 'raw' easyconfig (#2562, #2566)
                    • see https://easybuild.readthedocs.io/en/develop/Hooks.html
                  • lift invalidating of module caches into helper method that can be used by easyblocks (#2571)
                  • always dump a fully parsed easyconfig to the 'reprod' subdir of the installation directory (#2574)
                  • add 'modulerc' method to ModuleGenerator class (#2575)
                • various bug fixes, including:
                  • make GC3Pie stop build process if a dependency failed (#2474)
                  • filter out patched files in test/ in fetch_easyconfigs_from_pr (#2547)
                  • check GC3pie version using the pkg_resources API rather than using __version__ (which was removed in GC3Pie 2.5.0) (#2554)
                  • fix enforcing of checksums for extensions (#2561, #2570, #2579)
                  • skip running of configuration checks while only a single configuration level is taken into account during --show-config (#2567)
                  • fix error statements in modules tool version checks (#2576)
                  • fix finding of software subdirectory for specified patch file in --new-pr/--update-pr (#2577)
                  • take into account dependency 'wrappers' in check_conflicts (#2583)
                  • stick to pycparser < 2.19 with Python 2.6 in Travis config (#2584)
                • other changes:
                  • use namelower as default for 'github_account' easyconfig parameter (#2528)
                  • use .counts() rather than deprecated .stats() for GC3Pie (#2573)

                easyblocks

                • new generic easyblock: ModuleRC (#1503, #1518)
                • new software specific easyblocks for BWISE (#1497) and VEP (#1512)
                • minor enhancements, including:
                  • update QuantumESPRESSO easyblock: stop building in installation dir, do not use external FoX dependency, support for recent versions (#1312)
                  • updates to TensorFlow easyblock:
                    • require cuDNN if CUDA support is enabled, enable mkl-dnn by default, fix problem with internal protobuf problem, add awareness for TensorRT & NCCL (#1453)
                    • add support for IntelMPI (#1507)
                  • update WIEN2k easyblock for version 18.1 (#1460)
                  • add CUDA 'stubs' subdirectory to $LIBRARY_PATH (#1464)
                  • add support for building ScaLAPACK on top of BLIS (#1467)
                  • handle X11 better and make 'static' a build flag in Amber easyblock (#1468)
                  • update Boost easyblock for Boost 1.67.0 (name change in Python 3.x library files) (#1472)
                  • add CEI/bin to $PATH for ANSYS 19 & newer (#1476)
                  • enhance SCons easyblock to enable building in parallel (#1477)
                  • add awareness for CCOLAMD and CAMD in Trilinos easyblock (#1480)
                  • add support to apply (binary) patches after main CUDA install (#1481, #1483)
                  • add support for only building Python bindings (+ code cleanup) in Boost easyblock (#1484, #1495)
                  • provide control over subdirectory in which R packages are installed (#1485)
                  • added regex to fix $WM_PROJECT_VERSION correctly in OpenFOAM easyblock (#1489)
                  • improve PGI siterc so it allows -pthread switch (#1494)
                  • customise check_checksums method in Bundle easyblock to fix checking of checksums for components (#1496)
                  • include a pkgconfig file 'hdf5.pc' to HDF5 installations (#1504)
                  • (download &) use an updated config.guess script in generic ConfigureMake easyblock (#1506, #1522, #1523, #1524)
                  • make IntelBase generic easyblock aware of (pre)installopts (#1509)
                  • update Siesta easyblock for v3.2 to 4.1-b3 (#1510)
                  • take (pre)installopts into account in RPackage generic easyblock (#1513)
                  • update DOLFIN easyblock for latest version (#2018.1) (#1521)
                • various bug fixes, including:
                  • drop useless definition of $NLSPATH in IntelBase + fix ipp library paths (#1442)
                  • fix order of arguments in log message in PythonPackage easyblock (#1459)
                  • run ldconfig in post-install step of CUDA easyblock to create missing symlinks in 'stubs' subdirectory (#1473)
                  • take into account that only name/version may be specified for some components in Bundle easyblock (#1474)
                  • make SuperLU easyblock consider both lib and lib64 subdirectories (#1479)
                  • use short build dir for Trilinos to dance around \"Argument list too long\" problem + link with libmetis.a (#1486)
                  • correct check for Red Hat 6 based OS in TensorFlow easyblock (#1487)
                  • improve configuration choice in FSL easyblock (#1498)
                  • don't check for mcc in MATLAB sanity check as it requires a specific toolbox license (#1514)
                  • make sure Bazel doesn't write files in $HOME/.cache when building TensorFlow (#1519)
                  • enable VSX on POWER for FFTW >= 3.3.7 (#1520)
                  • add librt as dependency when linking Trilinos with SuiteSparse (#1525)
                • other changes:
                  • switch to using CMake install procedure for Eigen 3.3.4 & newer (#1482)
                  • bump Lmod version used in Travis config to 6.6.3 (now required by framework) (#1505)

                easyconfigs

                • added easyconfigs for new toolchains: fosscuda/2017b (#6706), intelcuda/#2017b (#6709), iomkl/2018b (#6661)
                • added example easyconfig files for 49 new software packages:
                  • alleleCount (#6676), BCALM (#6796), BDBag (#6672), BFC (#6647), Bio-DB-HTS (#6854), bioawk (#6865), biomart-perl (#6745), BLIS (#6614), Boost.Python (#6763), BWISE (#6802), CapnProto (#6542), CaVEMan (#6708), CCL (#5802), cDNA_Cupcake (#6787), cget (#6780), coevol (#6589, #6642), Delly (#6735), earthengine-api (#6556), fineRADstructure (#6586), GIMIC (#6575), GitPython (#6850), HiC-Pro (#5873), Inelastica (#6831), JAXFrontCE (#6837), jq (#6632), KAT (#6808), KMC (#6553), Kraken2 (#6569), Lighter (#6553), Mash (#6542), MetaPhlAn2 (#6600), Minimac4 (#6781), mordecai (#6670), NCCL (#5802), NxTrim (#6646), parasail (#6601), PheWAS (#6030), Pilon (#6553), python-parasail (#6601), SearchGUI (#6637), shovill (#6553), SKESA (#6553), snakemake (#6851), strelka (#6742), SWIPE (#6795), ToFu (#6322), tqdm (#6721), TRUST (#6601), VEP (#6854)
                • added additional easyconfigs for various supported software packages, including:
                  • Bazel 0.16.0, Boost 1.67.0 + 1.68.0, CUDA 10.0.1, DOLFIN (FEniCS) 2018.1, FSL 5.0.11, GC3Pie 2.5.0, GROMACS 2018.3, HTSlib + SAMtools 1.9, IPython 6.4.0, matplotlib 3.0.0, OpenCoarrays 2.2.0, OpenFOAM 6 & v1806, PyTorch 0.4.1, Python 3.6.6, R 3.5.1, TensorFlow 1.10.1, Trilinos 12.12.1, WIEN2k 18.1
                • minor enhancements, including:
                  • add test to enforce SHA256 checksums in touched files in pull requests to develop (#5005)
                  • add various extensions to recent R easyconfigs (#6590, #6686, #6858)
                  • add mpmath extension to Python 3.6.4 + 3.7.0 easyconfigs (#6607, #6713)
                  • add Java 1.8 easyconfig that can be updated in-place to more recent JDK 1.8.x (#6712)
                    • see also https://easybuild.readthedocs.io/en/latest/Wrapping_dependencies.html
                  • add iso_c_binding support to arpack-ng 3.6.2 (#6718)
                  • add XML::Parser, XML::RegExp & XML::DOM extensions to Perl(#6744)
                  • add tabulate extension to all Python > 3.6 easyconfigs (#6809)
                  • enable MPI version of arpack-ng 3.5.0 (#6840)
                  • add wish symlink to wish8.6 in recent Tk easyconfigs (#6870)
                  • add libXp and printproto to X11 bundle (#6873)
                • various bug fixes, including:
                  • define '_GNU_SOURCE' to ensure that 'reallocarray' is defined in flex 2.6.4 easyconfigs, fixes bootstrap crash (#5792, #6766)
                  • added tabix dependency in VCFtools (#6584)
                  • added zlib dependency to BWA (#6591), BEDTools (#6592), VCFtools (#6653)
                  • add checksums to googletest easyconfigs (#6611)
                  • fix source URL + add checksum to wkhtmltopdf-0.12.3-Linux-x86_64.eb (#6628, #6641)
                  • don't use external FoX dependency in QuantumESPRESSO 6.2 (#6638)
                  • update hwloc easyconfigs with libxml2 and libpciaccess dependencies (#6639)
                  • fix gettext build dep for Mono-5.10.0.160 (#6640)
                  • remove no longer existing config option --enable-mpi-thread-multiple in OpenMPI 3.x easyconfigs (#6645)
                  • fix homepage in recent HDF5 easyconfigs (#6687)
                  • add expat dependency to Mesa v18.1.1 (#6706)
                  • add missing --with-trio-flavor=netcdf flag to ABINIT 8.x easyconfigs (#6711)
                  • remove useless definition of $TORCH_CUDA_ARCH_LIST in PyTorch easyconfig that doesn't use CUDA (#6719)
                  • fix building GCCcore 6.3.0 on recent OSs by backporting patches from 6.4.0 (#6727)
                  • fix source_urls in bzip2 easyconfigs (#6728)
                  • specify location of dependencies in configure options for libgd (to avoid system libraries being used instead) (#6731)
                  • also install docs/man pages in recent git easyconfigs (versions 2.1x.y) (#6751)
                  • add CMake build dep for Eigen 3.3.4 (#6756, #6784)
                  • add expat dependency to Perl 5.26.0 (#6758)
                  • add ncurses OS dependency to CMake for Debian distros (#6783)
                  • fix checksums for pkgmaker, rngtools & RcppProgress extensions in R 3.4.3 easyconfigs (#6815)
                  • add pkg-config build dependency to GTS (#6819)
                  • do not check if hwloc-dump-hwdata utility was installed, since it's only built on x86 systems (#6836)
                  • patch libxc 3.x and 4.0.x to compile on POWER (#6868)
                  • consistently add patch for paycheck extension in Python 3.6/3.7 to fix UTF8 issue with README (#6892)
                • other changes:
                  • bump Lmod version used in Travis config to 6.6.3 (now required by framework) (#6834)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb362","title":"EasyBuild v3.6.2 (July 11th 2018)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add support for including environment variable that is resolved at \"module load time\" in user module path (#2395)
                    • {RUNTIME_ENV::EXAMPLE} is replaced by value of $EXAMPLE when module is loaded
                  • also support generating Docker container recipes & image via --containerize (still experimental) (#2479)
                  • add support for specifying source URLs directly in 'sources' (#2520)
                  • perform early 'raw' parse of provided easyconfig file to check for syntax error or faulty inputs (#2523)
                  • add 'bitbucket_account' easyconfig parameter and template, and let BITBUCKET* templates use it (#2525)
                • various bug fixes, including:
                  • take into account --filter-deps when re-loading build dependencies in extensions_step (#2516)
                  • fix for offline use of bootstrap script: ignore errors when determining source URLs if source tarballs are provided (#2517)
                  • fix error message that is raised for incorrect type of value in sanity_check_paths (#2524)
                • other changes:
                  • move flake8 config into setup.cfg + fix style issues in easybuild/tools/options.py (#2511)
                  • make test that verifies that BuildOptions does not support updating a bit more flexible (#2518)

                easyblocks

                • new software-specific easyblock for OpenCV (#1444)
                • minor enhancements, including:
                  • use $CPATH/$LD_LIBRARY_PATH for CMake's find_path/find_library functions in CMakeMake easyblock (#1165)
                  • make cdft lib compilation optional for Intel MKL, by detecting MPI availability (#1393)
                  • add use_glibcxx11_abi easyconfig parameter in Boost easyblock (#1434)
                  • enable filtering of paths in $CPATH and $LIBRARY_PATH in TensorFlow easyblock (#1436)
                  • add support for building GROMACS with --optarch=GENERIC (#1440)
                  • check current stack limit and set it to 'unlimited' if possible in Python easyblock (#1441)
                  • trivial update for Q&A in SAS easyblock (#1448)
                  • allow skipping tests when installing Perl extensions, by setting 'runtest' to False (#1451)
                  • add support for installing Intel products using serial numbers (#1452)
                  • update version check to FFTW 3.3.8 for tests to pass on POWER (ppc64le) (#1454)
                • various bug fixes, including:
                  • build MPFR in GCC stage 1 without LTO if (system) GCC used is too old (#1435)
                  • make sure xmlpatterns always gets built with Qt (#1437)
                  • fix symlink check in NWChem easyblock + use change_dir/remove_file/symlink functions (#1438)
                • other changes:
                  • move flake8 configuration to setup.cfg and make HoundCI aware of it (#1430)

                easyconfigs

                • added easyconfigs for new toolchains: foss/2018b (#6424), fosscuda/2018b (#6555) and intel/2018b (#6409)
                • added example easyconfig files for 28 new software packages:
                  • CUnit (#6469), eggnog-mapper (#6513), FANN (#6468), FTGL (#6421), FreeFem++ (#5918), fastStructure (#6448), fastq-tools (#5396), fullrmc (#6422), GDGraph (#6529), heaptrack (#6450), libgpuarray (#5429), lz4 (#6449), MAJIQ (#5983), makedepf90 (#6504), nanopolish (#6464), opencv_contrib (#6441), PRC (#6477), Pillow-SIMD (#6152), Pytorch (#6152), poretools (#6467), pystran (#6395), R-keras (#6530), Scoary (#6521), Scrappie (#6469), torchvision (#6152), WISExome (#6524), WannierTools (#6539), zstd (#6449, #6452)
                • added additional easyconfigs for various supported software packages, including:
                  • GROMACS 2018.2, HDF5 1.10.2, IPython 6.3.1, Kraken 1.0, Mesa 18.1.1, netCDF 4.6.1, NWChem 6.8, OpenBLAS 0.3.1, OpenMPI 3.1.1, Perl 5.28.0, Python 2.7.15, R 3.5.0, X11 20180604
                • minor enhancements, including:
                  • add hint on file name differences between downloaded and expected in cuDNN easyconfig (#6042)
                  • add 'gee' extension to R 3.4.4 easyconfigs (#6376)
                  • enable building of MPI libraries in VTK 8.1.0 easyconfigs (#6460, #6429)
                • minor changes, including:
                  • rename 'Canu' to 'canu' for v1.7 (#6389)
                  • update existing easyconfigs for OpenCV 3.4.1 to use new custom easyblock for OpenCV (#6509)
                  • fix software name in Bsoft easyconfig (#6557)
                • various bug fixes, including:
                  • fix SAMtools dependency for ChimPipe, required SAMtools < 1.0 (#5930)
                  • skip installing of documentation in easyconfig for jemalloc 5.0.1 (#6428)
                  • stop including GCCcore 6.4.0 as build dep for GCCcore 8.1.0 (#6431)
                    • no longer needed with updated GCC easyblock
                  • add patch for GCCcore 6.4.0 to fix compilation problems on glibc 2.26 systems (#6432, #6495)
                  • fix checksums for pkgmaker/rngtools/RWeka/RcppProgress/mgcv extensions in R 3.4.4 easyconfigs (#6446, #6502)
                  • added necessary compiler flag for Guile 1.8.8 (#6457)
                  • build hwloc 1.11.10 with -fno-tree-vectorize to avoid segfaulting lstopo on Intel Skylake (#6461)
                  • add patch for binutils 2.30 to fix assertion failure (#6463)
                  • sync extensions in Python-3.6.4-iomkl-2018a.eb easyconfig with other Python 3.6.4 easyconfigs using 2018a toolchain (#6471)
                  • enable checking/setting of unlimited stack limit in Python 3.6.x easyconfigs using an 'intel' toolchain (#6485, #6492)
                  • add missing libxml2 dependency for HDF5 1.10.1 (#6498)
                  • also copy eggnog-mapper scripts (#6522)
                  • fix missing dependencies for Perl modules included as extensions for Perl 5.26.1 (#6532) and 5.28.0 (#6533)
                  • fix location of include directory in libffi 3.2.1 easyconfigs (#6565)
                • other changes
                  • also check for multiple dependency variants in easyconfigs using GCCcore 7.3.0 & newer (#6444)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb361","title":"EasyBuild v3.6.1 (May 26th 2018)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add support for enabling fallback in sanity check to consider lib64 equivalent for seemingly missing libraries (#2477)
                  • add GITHUB_LOWER_SOURCE constant (#2491)
                  • add 'exts_download_dep_fail' as known easyconfig parameter (#2493)
                  • add support for passing custom messages on failing sanity check for extensions (#2494)
                  • add definition for fosscuda toolchain (#2507)
                • various bug fixes, including:
                  • make --inject-checksums always re-order source_urls/sources/patches/checksums (#2487)
                  • fix git remote url in CONTRIBUTING.md (#2490)
                  • make flake8 happy in easyblock.py (#2492)
                  • handle missing permissions for adding labels in --new-pr (#2497)
                  • restore tweaked $TMPDIR value after loading module (for sanity check) (#2498)
                  • enhance get_module_path function to auto-detect generic vs software-specific easyblock class names (#2502)
                  • don't blindly overwrite an existing easyconfig in tweak_one (#2504)
                  • take account that PlaintextKeyring may be provided via keyrings.alt (#2505)
                  • prepend location for temporary module file to $MODULEPATH with high priority + mark it as default in load_fake_module method (#2506)

                easyblocks

                • minor enhancements, including:
                  • add support for detecting auto-downloaded dependencies in PythonPackage easyblock (#1377)
                    • disabled by default, can be enabled using \"download_dep_fail = True\" in easyconfig file
                  • add support to enable integration of pscom in psmpi easyblock (#1397)
                  • set $CMAKE_*_PATH when CMake is loaded in PythonPackage easyblock (#1398)
                  • update WIEN2k easyblock for v17 (#1405)
                  • disable jemalloc support in TensorFlow on CentOS 6 & co (+ minor cleanups) (#1412)
                  • update Maple easyblock to support recent versions (#1414)
                  • enable nc-config usage for netCDF in ESMF >=7.1 (#1419)
                  • enhance PETSc easyblock for version 3.9 (#1421)
                  • check output of MATLAB installation command for invalid installation key error (#1423)
                  • fix suffix for Boost Python library in Boost 1.67.0 & newer (#1424)
                  • support adding specific paths to $PATH for generic Binary easyblock via 'prepend_to_path' custom easyconfig parameter (#1426)
                • minor changes, including:
                  • assume PGI Community edition is used when no license file is specified (#1427)
                • various bug fixes, including:
                  • fix imkl sanity check overwriting base libs with interface libs (#1392)
                  • install Chimera in a subdirectory to avoid its dependencies being added to the environment (#1413)
                  • add conditional so \"--with-x\" is only added to configopts if left unspecified in R easyblock (#1415)
                  • make configure and make look for FoX in $EBROOTFOX in QuantumESPRESSO easyblock (#1420)
                  • fix path for $ICEM_ACN in ANSYS easyblock (#1422)
                  • avoid hardcoding defaults in question patterns in Doris easyblock (#1428)

                easyconfigs

                • added easyconfigs for new toolchains fosscuda/2018a (#6363) and giolfc/2017b (#5799)
                • added example easyconfig files for 24 new software packages:
                  • BAGEL (#6332), Bottleneck (#6334), cisTEM (#6370), cftime (#6337), dotNET-Core-Runtime (#6345), ecCodes (#6235), feh (#6300), Graphene (#5043), gffread (#6306), HOME (#6227), HiCExplorer (#6342), ICU (#6371), Imlib2 (#6300), KmerGenie (#5929), libgeotiff (#6262), NetPIPE (#6062), Pandoc (#6247), Pisces (#6347), Proteinortho (#6333), pyshp (#6364), SIMPLE (#6019), STIR (#6349), SimpleElastix (#6114), wxWidgets (#6370)
                • added additional easyconfigs for various supported software packages, including:
                  • Boost 1.67.0, ESMF 7.1.0r, GATK 4.0.4.0, GCC 8.1.0, GROMACS 2018, OpenBLAS 0.3.0, PETSc 3.9.1, PGI 18.4, TensorFlow 1.8.0, WIEN2k 17.1
                • minor enhancements, including:
                  • add py_expression_eval extension to (recent) Python 2.7.14 & 3.6.4 easyconfigs (#6285)
                  • add README for Java with information on downloading source tarball (#6294)
                  • add several extensions to Perl 5.26.1 easyconfigs, incl Dist::Zilla & dependencies (#6297)
                  • also include archive URLs for Bioconductor 3.6 (#6311)
                  • add README.md file for installing icc/ifort (#6317)
                • various bug fixes, including:
                  • consistently specify 'intel-mkl' component in recent Intel MKL easyconfigs (#6234)
                  • add pkg-config as build dependency to libdrm (#6243)
                  • add pkg-config build dep to most recent libdrm easyconfigs (#6244)
                  • fix checksum for foreign extension in R 3.4.3 and R 3.4.4 easyconfigs (#6245)
                  • fix installation of Libint 2.4.2 by building with -std=c++11 (#6251)
                  • fix source spec for networkx 2.1 extension in scikit-image easyconfig (#6254)
                  • avoid that Nipype downloads dependencies for included extensions (#6261, #6263)
                  • consistently include patch for FLTK 1.3.4 (#6265)
                  • fix Perl shebang in MCL v14.137 scripts (#6269)
                  • add patch to build particular source file of matrixStats extension in R 3.4.4 easyconfig with -O1 to work around ICE in Skylake systems (#6278)
                  • add pkg-config build dependency to FFmpeg >= 3.3.1 (#6291)
                  • change back checksum for libdap 3.19.1 (#6305)
                  • add patch for Automake 1.15 to fix issue with recent Perl versions (#6358)
                  • fix glog causing intel error in Intel compilers on Intel Skylake (#6360)
                  • include ICU as dependency in recent R easyconfigs (v3.4.3 & v3.4.4) (#6371)
                  • fix checksum for RSEM 1.3.0 after sneaky re-release (#6379)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb360","title":"EasyBuild v3.6.0 (April 26th 2018)","text":"

                feature release

                framework

                • (experimental) support for generating Singularity container recipes & (optionally) images via 'sudo singularity' (#2332, #2480, #2481, #2482, #2483)
                  • see documentation at http://easybuild.readthedocs.io/en/latest/Containers.html
                • include -ftree-vectorize and -fno-math-errno in default compiler optimisation flags for GCC (#2388)
                  • this significantly improves performance of generated binaries when building with a GCC-based toolchain
                  • can be disabled if needed via the vectorize toolchain option
                • several enhancements/fixes to GitHub integration support:
                  • loosen commit message requirements for --new-pr w.r.t. to patches as long as all easyconfigs are new (#2438)
                  • automatically add 'new' and/or 'update' labels in --new-pr (#2384)
                  • add force_in_dry_run=True to copy_file in copy_patch_files (#2442)
                  • test for custom commit message when deleting a file instead of when adding a patch (#2443)
                  • make diff_stat pattern also match output of older git versions in tests for --new/update-pr (#2444)
                  • remove duplicates from --new-pr title (#2478)
                • add support for \"eb --fetch\" to only download sources (even without having a modules tool installed) (#2457)
                • add definitions for a bunch of new toolchains:
                  • golf (#2458), gmkl (#2460), gomkl (#2455), pmkl (#2460)
                  • toolchains including CUDA: gmklc, gomklc, iimklc, iompic, iomklc (#2461)
                • various minor enhancements, including:
                  • avoid that '--inject-checksums' adds lines longer than 120 characters (#2434)
                  • enable caching of $HOME/.cache/pip in Travis config (#2435)
                  • replace raw strings with bytes literal as iterator sentinels in checksum calculation (#2446)
                  • new command-line option '--job-max-jobs' to cap nr of submitted build jobs with GC3Pie (#2378)
                  • add configuration for houndci + flake8 (#2451)
                  • add Accept header when downloading file (#2437)
                  • include running of 'eb --check-github' in Travis config (#2449, #2454)
                  • flesh out common code blocks in test/framework/options.py (#2452)
                  • support 'depends_on' load statements in generated modules via --module-depends-on and module_depends_on easyconfig parameter (#2391)
                  • fix compatibility with Modules v4.1.x (#2470)
                  • add support to run_cmd to enable streaming output (#2476)
                • various bug fixes, including:
                  • determine whether included easyblocks are generic or not based on class they define (#2432)
                  • make sure GitHub token is used in test for --preview-pr (#2436)
                  • take into account that toolchain components may be hidden when determining toolchain composition (#2440)
                  • stick to autopep8 1.3.4 when testing with Python 2.6 (#2462)
                  • strip off .lua extension when backing up modules to ensure Lmod 6.x doesn't pick up on them (#2463)
                  • check for modulecmd.tcl before modulecmd in bootstrap script to discriminate between Modules 4.1.x vs 3.2.10 (#2468)
                  • fix derive_alt_pypi_url after PyPI switching to sha256 in package URLs + fix broken test for pypi_source_urls + fix bootstrap script (#2471)
                  • make sure that both 'get_git_revision' and 'this_is_easybuild' return regular strings rather than Unicode strings (#2472)

                easyblocks

                • new software-specific easyblock for Nim (#1402)
                • minor enhancements, including:
                  • enhance RPackage easyblock to support installing from unpacked sources (#1383)
                  • add support to PythonPackage easyblock to install with 'pip install --editable' (#1384)
                  • add $EBROOTIFORT/include in $CPATH for ifort (#1385)
                  • add houndci + flake8 configuration (#1388)
                  • add additional location to $PATH for FLUENT installations (#1389)
                  • make PythonPackage generic easyblock aware of 'unpack_options' easyconfig parameter (#1391)
                  • minor updates to ABAQUS easyblock to support latest version (#1394)
                  • add support for extracting sources in Binary easyblock (#1401)
                • various bug fixes, including:
                  • fix linking to FFTW for Doris: should be -lfftw3f (#1387)
                  • fix for installing TensorFlow 1.6.0: use the absolute path for the C compiler when compiling with GPU support (#1386)
                  • also take lib64 into account for binutils libraries (#1399)
                  • make sanity check in MPICH easyblock aware of libraries in lib64 subdir (#1403)
                  • take into account that self.debuggerpath may not be set in icc easyblock (#1408)
                  • extend noqa in configure step of Qt easyblock (#1409)

                easyconfig

                • added easyconfigs for new toolchain golf/2018a (#6080)
                • added example easyconfig files for 39 new software packages:
                  • ARAGORN (#6138, #6219), amask (#6105), BamBam (#5490), Bandage (#6053), bcgTree (#6057), biobambam2 (#6040), CODEX2 (#5972), coverage (#5964), DANPOS2 (#5870), EasyQC (#6175), elastix (#6074), FRANz (#6035), Filtlong (#6050), FriBidi (#6181), Gblocks (#6057), Grace (#6036), LMfit (#6119), libmaus2 (#6040), MathGL (#6033), MiGEC (#6047), MiXCR (#6045), Miniconda3 (#6075), Multiwfn (#5403), mosdepth (#6169), Nim (#6167), Porechop (#6051), propy (#6091), Roary (#6056), Rtree (#6222), SALib (#6145), SMRT-Link (#6218), SimpleITK (#6172), spectral.methods (#6104), supernova (#6193), TEToolkit (#5912), tbl2asn (#6139), udocker (#5770), vartools (#6102), XCfun (#5975)
                • added new easyconfigs for existing toolchains:
                  • gmpich/2017.08 (#6143), goolfc/2018a (#6129), intel/2018.02 (#6077), iomkl/2018.02 (#6088)
                • added additional easyconfigs for various supported software packages, including:
                  • ABINIT 8.6.3, Anaconda2 5.1.0, Anaconda3 5.1.0, binutils 2.30, dask 0.17.2, FFmpeg 4.0, GCC(core) 7.3.0, GROMACS 2016.5, HTSlib 1.8, LLVM 6.0.0, Mesa 17.3.6, netCDF 4.6.0, Octave 4.2.2, OpenCV 3.4.1, PLUMED 2.4.1, PROJ 5.0.0, PostgreSQL 10.3, Qt5 5.10.1, R 3.4.4, SAMtools 1.8, Spack 0.11.2, TensorFlow 1.7.0, VTK 8.1.0
                • minor enhancements, including:
                  • add test to ensure there's only one variant for each dependency in dep graph of easyconfigs using particular toolchains (#5970, #6023)
                  • add extensions required by CODEX2 v20180227 to Bioconductor w/ R 3.4.3 (#5972)
                  • add config file for https://pre-commit.com/ (#5785)
                  • add custom sanity check paths for GraphicsMagick consistently (#5997)
                  • add custom sanity check paths to recent Ghostscript easyconfigs (#5998)
                  • add svd, Rssa, JBTools, RUnit, DistributionUtils and gapfill extensions for R 3.4.3 (#6099)
                  • add additional extensions to Bioconductor 3.6 bundle (#6136)
                  • add xlrd extension to recent Python 2.x and 3.x easyconfigs (#6162)
                • minor changes, including:
                  • use gettext 0.19.8.1 on top of libxml2 2.9.7 as dep for git built with foss/2018a (#5993)
                  • bump hwloc dep for OpenMPI 2.1.2 that is part of iomkl/2018a to v1.11.8 (#5994)
                  • use non-interactive plotting backend by default for matplotlib 2.1.2 (#6024)
                  • don't use bare Perl as dependency for git with foss/2018a, use variant with extensions (#6058)
                • various bug fixes, including:
                  • fix moduleclass & add custom sanity_check_paths in gettext easyconfigs (#5991)
                  • drop use of --disable-dlopen in (recent) OpenMPI easyconfigs due to negative performance impact (#6060)
                  • add missing XZ dep in Python 3.6.4 easyconfigs built with */2018a toolchain (#6065)
                  • add 10 packages that were previously downloaded in Python 3.6.4 easyconfigs (#6081)
                  • add patch for Tensorflow 1.6 & 1.7 to include missing -lrt link flag (needed in CentOS6) (#6089)
                  • fix checksums for R extensions that were updated in place in easyconfigs for R versions 3.4.3 & 3.4.4 (#6118)
                  • include pkg-config as build dep in recent R easyconfigs (required for at least nloptr) (#6122)
                  • remove Intel-specific workaround for 'undefined symbol: __stack_chk_guard' issue from Python 3.6.4 foss/2018a easyconfig (#6130)
                  • add configopt --without-matlab/octave to all NLopt easyconfigs (#6132)
                  • also consider lib64 in sanity_check_paths for Bison 3.0.4 (#6170)
                  • don't use libyaml built with dummy as dep for PyYAML (#6208)
                  • add missing pkg-config build dep in recent GObject-Introspection, GLib & cairo easyconfigs (#6216)
                  • don't include (ancient version of) Time::HiRes as Perl extension, since it's a core Perl module (#6225)
                    • this fixes problems with the installation of BioPerl and proovread
                  • add missing XML-LibXML dependency in recent BioPerl easyconfigs (#6226)
                  • add --without-ada configure option in recent ncurses easyconfigs (#6228)
                  • add patch for snaphu to fix segmentation fault due to use of short integer (#6230)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb353","title":"EasyBuild v3.5.3 (March 7th 2018)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • re-enable testing against environment modules, bump Lmod to 7.7.16 (#2425)
                  • print which hook is being executed in the command line output (#2427)
                • various bug fixes, including:
                  • fix order in result of gen_list_easyblocks and gen_easyblocks_overview_rst (#2421)
                  • fix target account for branch pushed when using --new-pr (#2426)

                easyblocks

                • minor enhancements, including:
                  • make GROMACS easyblock select build type based on value for 'debug' in 'toolchainopts' (#1374)
                  • re-enable testing against environment modules, bump Lmod to 7.7.16 (#1376)
                  • enhance Gurobi easyblock to support installing Python bindings (#1378)

                easyconfigs

                • added example easyconfig files for 2 new software packages:
                  • CNVkit and hmmlearn (#5954)
                • added additional easyconfigs for various supported software packages, including:
                  • matplotlib 2.1.2, TensorFlow 1.6.0
                • minor enhancements, including:
                  • re-enable testing against environment modules, bump Lmod to 7.7.16 (#5944)
                  • add cghFLasso extension to R 3.4.3 easyconfigs (#5953)
                  • add 'Math::CDF' extension to recent Perl modules (#5957)
                • various bug fixes, including:
                  • add missing --enable-ld-version-script configure option for LibTIFF 4.0.9 built with GCCcore/6.4.0 (#5945)
                  • hard disable UCX support in recent OpenMPI versions, to dance around bug in OpenMPI configure script (#5949)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb352","title":"EasyBuild v3.5.2 (March 2nd 2018)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add functionality to skip devel module with naming scheme (#2374)
                  • add pagination support in clean_gists.py (#2379)
                  • allow basic compiler modulenames to be specified as keys in --optarch (#2387)
                  • initial set of OHPC module meta data for EasyBuild (#2392)
                  • allow different target account in post_comment_in_issue (#2399)
                  • declare support for RPATH linking stable (#2409)
                • various bug fixes, including:
                  • update bootstrap script to be compatible with Modules v4 (#2390)
                  • avoid fatal error when determining glibc version on non-glibc Linux system (e.g. Alphine Linux) (#2398)
                  • exclude location of RPATH wrappers from $PATH to avoid fork bomb (#2410)
                  • fix target account for --update-pr in case it's different from GitHub account being used to push branch (#2419)

                easyblocks

                • new software-specific easyblocks for COMSOL (#1317), Stata (#1241) and TensorFlow (#1287, #1361)
                • enhance GCC easyblock to support building generically (via 'generic' easyconfig parameter or --optarch=GENERIC) (#1336)
                • minor enhancements, including:
                  • make GROMACS easyblock aware of building for KNL via --optarch=MIC-AVX512 (#1360)
                  • unset $PERL_MM_OPT and $PERL_MB_OPT when installing Perl modules to avoid problems (#1362)
                  • add custom 'use_pip_for_deps' easyconfig parameter to PythonPackage easyblock (#1366)
                  • add support for 'default_component_specs' easyconfig parameter in Bundle easyblock (#1369)
                • various bug fixes, including:
                  • fix logic in icc easyblock w.r.t. location of debugger libraries (libipt library for gdb) (#1224)
                  • fix Tkinter easyblock to install Tkinter 3.x (#1347)
                  • let impi modules also update $MANPATH (#1354)
                  • enhance Octave extension filter to avoid false positives (#1355)
                  • make CUDA easyblock aware of 'preinstallopts' easyconfig parameter (#1367)
                  • fix handling of per-component (checksums for) patches in Bundle easyblock (#1369)

                easyconfigs

                • added example easyconfig files for 24 new software packages:
                  • AMPL-MP (#5800), AmberTools (#5632), bcolz (#5864), detonate (#5709), dropEst (#5734), EvidentialGene (#5627), faceswap (#5825), fineSTRUCTURE (#5663), Gradle (#5828), gbs2ploidy (#5877), HIPS (#5725), Ipopt (#5800), libMemcached (#5804), MEGAHIT (#5748), Mmg (#5807), methylpy (#5874), pstoedit (#5884), python-igraph (#5905), RNAcode (#5854), Seq-Gen (#5695), Stata (#5102), scikit-allel (#5864), TetGen (#5681), zarr (#5864)
                • added new easyconfigs for existing toolchains: giolf/2018a (#5777), goolfc/2017b (#5768), iomkl/2018a (#5878)
                • added additional easyconfigs for various supported software packages, including:
                  • CP2K 5.1, IPython 6.2.1, OpenFOAM v1712, Perl 5.26.1, Python 3.6.4, TensorFlow 1.5.0, X11 20180131
                • minor enhancements, including:
                  • add feather and tidyverse as extensions for R 3.4.3 (#5693)
                  • build recent PLUMED versions with all modules enabled (#5696)
                  • add MAST/splatter/scDD to Bioconductor 3.6 bundle (#5704)
                  • add dummies as extension for R 3.4.3 + monocle/scde/ROTS (+ deps) to Bioconductor 3.6 bundle (#5724)
                  • include io and statistics extensions to Octave 4.2.1 easyconfigs (#5798)
                  • switch to using TensorFlow as backend for recent versions of Keras (#5821)
                • various bug fixes, including:
                  • using the correct binutils in jemalloc 5.0.1 easyconfig using GCCcore/6.4.0 (#5659)
                  • fix source URLs for MPC (#5662)
                  • add Tkinter as dependency for ASE & matplotlib using Python 3.6.3 (#5658)
                  • fix versions for updated extensions in Bioconductor 3.6 bundle (#5704, #5724, #5880)
                  • fix missing M4 build dependency in nettle easyconfigs (#5722)
                  • fix homepage for OpenFOAM 4.x & 5.x, should be openfoam.org (#5422, #5780)
                  • add matplotlib, cairo & PyCairo dependencies for graph-tool 2.26 + enhance sanity check (#5787)
                  • fix hardcoded version in scikit-image easyconfigs (#5822)
                  • fix pkgconfig moduleclass, 'data' doesn't make much sense (#5817)
                  • add sanity check in recent matplotlib easyconfigs to ensure that Tkinter is available (#5689, #5896)
                  • correct MPI path when building ABINIT with 'foss' toolchain (#5760)
                  • patch Hyperopt to make it work with networkx 2.0 (#5642)
                  • add Tkinter sanity check to ASE easyconfigs (#5691, #5909)
                  • include autotools as build dep in git easyconfigs (#5718)
                  • fix sanity check paths for Debian OS in JasPer easyconfigs (#5897)
                  • fix source_urls for recent versions of ABINIT (#5908)
                  • add patch for recent GDAL easyconfigs using intel toolchain to fix icc get stuck on compiling ceos.c (#5915)
                  • add explicit zlib dependency in Tkinter 2.x and 3.x (#5797, #5926)
                  • fix source URLs & homepage in Singularity easyconfigs (#5927)
                  • fix installation of TensorFlow 1.3 via binary wheel after introducing TensorFlow easyblock (#5938)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb351","title":"EasyBuild v3.5.1 (January 16th 2018)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add definition of giolfc toolchain (#2359)
                  • add support for Environment Modules 4 (#2365)
                • various bug fixes, including:
                  • install SQLAlchemy < 1.2.0 with Python 2.6 in Travis config (#2367)
                  • make code in easybuild/tools/job/gc3pie.py forward-compatible with GC3Pie 2.5 (#2373)

                easyblocks

                • minor enhancements, including:
                  • auto-detect default build target for Clang (#1115)
                  • build GROMACS for target architecture based on --optarch (#1163)
                  • ensure correct $PYTHONPATH for recent OpenBabel versions (#1219)
                  • enhance Amber easyblock with support for OpenBLAS and better Intel MPI support (#1305)
                  • also support only installing AmberTools through Amber easyblock (#1305)
                  • also pick locations for CUPTI headers & libraries in CUDA easyblock (#1306)
                  • update patching out of sanitizer tests for recent Clang versions (>=5.0) (#1327)
                  • update known questions for Qt5 to support installing recent versions (#1328)
                  • update BamTools easyblock for v2.5.0 (#1332, #1337)
                  • disable libfox target if external module found in QuantumESPRESSO easyblock (#1333)
                  • add support for linking Octave with multi-threaded BLAS/LAPACK library (#1340)
                  • support install_target in PythonPackage + deprecate use_easy_install & use_setup_py_develop (#1341, #1342)
                • various bug fixes, including:
                  • make RubyGem easyblock use $GEM_* environment variables except if as extension of Ruby itself (#1247)
                  • move initialisation in SystemCompiler & SystemMPI easyblocks to the prepare step (#1282)
                  • enable skipping sanitizer tests by default in Clang easyblock, they can't be relied on (#1329)
                  • fix quotes when using $ORIGIN in RPATH locations for DOLFIN (#1338)
                  • fix sanity check for shared libraries in Trilinos easyblock (#1339)

                easyconfigs

                • added easyconfigs for foss/2018a and intel/2018a common toolchains (#5577), (#5578)
                • added example easyconfig files for 26 new software packages:
                  • BeautifulSoup (#5601), Calendrical (#5588), ChimPipe (#5560), crb-blast (#5124)), dammit (#5125), deepTools (#5536), FastQ_Screen (#5404), FoX (#5496), GffCompare (#5581), GlimmerHMM (#5559), LocARNA (#5548), MapSplice (#5566), MariaDB-connector-c (#5557), NextGenMap (#5430), nd2reader (#5545), PIMS (#5545), Pysolar (#5585), phono3py (#5551), preseq (#5569), proovread (#5513), QUAST (#5610), RNA-SeQC (#5589), RNAclust (#5607), Ragout (#5608), SOAPfuse (#5417), TransDecoder (#5125)
                • added additional easyconfigs for various supported software packages, including:
                  • BLAST+ 2.7.1, BamTools 2.5.0, Boost 1.66.0, Clang 5.0.0, dask 0.16.0, FFmpeg 3.4.1, GROMACS 2016.4, HDF5 1.8.20, matplotlib 2.1.1, PLUMED 2.4.0, Pillow 5.0.0, Qt5 5.9.3, QuantumESPRESSO 6.2, Ruby 2.5.0, Rust 1.22.1
                • minor enhancements, including:
                  • include gomms in list of extensions for R 3.4.3 (#5547)
                  • clean up BamTools easyconfigs to rely on updated easyblock + add SHA256 checksums (#5575)
                  • add Time::HiRes to recent Perl versions (#5616)
                  • add DNAcopy & dupRadar extensions to bundle for Bioconductor 3.6 (#5587, #5618)
                  • switch to using install_target rather than now deprecated use_easy_install and use_setup_py_develop (#5625)
                • various bug fixes, including:
                  • avoid auto-downloading of parcel in gdc-client 1.3.0 easyconfig (#5523)
                  • fix permissions on make_raw_alos.pl script in ROI_PAC installation (#5546)
                  • remove erroneous patch for Intel compiler support in Perl 5.26.0 easyconfig built with GCCcore/6.4.0 (#5561)
                  • include HWxtest as extension to fix issue with diveRsity in R 3.4.3 easyconfig file (#5570)
                  • add pkg-config as build dependency for fontconfig, harfbuzz, gnuplot, pango (#5580)
                  • fix versions of updated extensions in BioConductor bundle (#5587, #5618)
                  • add missing libpng dependency in ROOT 6.10.08 easyconfigs (#5595)
                  • fix option passed to configure in M4 (#5606)
                  • rename SIBELia to Sibelia (#5603)
                  • add patch for binutils 2.26 to fix compatibility with GCC 6.x (#5611)
                  • fix for dependencies was set twice in OpenMPI 3.0.0 easyconfig (#5619)
                  • fix download URL in comment of Kent tools easyconfigs (#5633)
                  • add SHA256 checksums to various easyconfigs (#5635, #5636, #5639)
                  • add rdma-core-devel to OS dependencies for OpenMPI 3.0.0 (#5648)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb350","title":"EasyBuild v3.5.0 (December 15th 2017)","text":"

                feature release

                framework

                • add support for implementing pre- and post-step hooks (#2343)
                  • documentation available at http://easybuild.readthedocs.io/en/latest/Hooks.html
                • various enhancements, including:
                  • add support for foss-like toolchain with Spectrum MPI: gsolf (#2329)
                  • add support for --preview-pr (#2331, #2337, #2348)
                    • see also http://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html#previewing-easyconfig-pull-requests-preview-pr
                  • flesh out find_extension function, hoist dict with extract commands into a constant (#2336)
                  • add support for using self.start_dir rather than using self.cfg['start_dir'] (#2339)
                  • add support for 'exts_default_options' easyconfig parameter (#2345, #2346)
                  • allow use of 'start_dir' easyconfig parameter in extensions (#2353)
                • various bug fixes, including:
                  • fix typo in 'giolf' toolchain definition (#2327)
                  • fix minor issues with --inject-checksums (#2333)
                  • fix error message when 'gv' Python package is not available (#2340)
                  • install paramiko version < 2.4.0 for Python 2.6 in Travis config (#2344)
                  • disable broken log rotation, avoid duplicate logging of output of executed commands under '--debug' (#2347)
                  • also include $ORIGIN and absolute paths to 'lib' and 'lib64' subdirectories in RPATH locations (#2358)
                  • fix repo references in install-EasyBuild-develop.sh script (#2360)

                easyblocks

                • new software-specific easyblock for Bazel (#1286) and Octave (#1304)
                • new generic easyblock for installing Octave packages as extensions (#1304, #1318)
                • minor enhancements, including:
                  • remove foamExec & wdot from sanity checks, add blockMesh & checkMesh + enable logging for recent OpenFOAM versions (#1205, #1272)
                  • add exceptions for FFTW/3.3.6 on POWER with GCC 5/6/7 (#1274)
                  • add support for Spectrum MPI to the SystemMPI easyblock (#1275)
                  • allow skipping of steps for Bundle components + fix issues with templates & formatting of error message (#1278)
                  • update HPCG easyblock for v3.0 by changing configure syntax (#1284)
                  • correctly configure for BLAS/LAPACK in R easyblock & check configure output (#1292, #1300)
                  • make R easyblock set configure options for dependencies (#1297, #1303)
                  • allow tuning of build command in PythonPackage via custom 'buildcmd' easyconfig parameter (#1299)
                  • set default Java encoding to UTF8 when installing Trinity (#1302)
                  • also define $CUDA_ROOT in generated module for CUDA (#1234)
                  • make the ScaLAPACK easyblock capable of building in parallel (#1288, #1321, #1324)
                • various bug fixes, including:
                  • avoid changing $CPATH, $LD_LIBRARY_PATH an $LIBRARY_PATH in generated modules for Intel Advisor, Inspector, and VTune (#1229)
                  • fix check for Intel MKL in PSI easyblock (#1273)
                  • fix missing space in fftw easyblock (#1277)
                  • fix use of FFTW on top of Intel MKL in CP2K easyblock (#1281)
                  • fix wrong sanity check for Boost when using Python 3.x (#1283)
                  • pick up per-component checksums in Bundle generic easyblock (#1285)
                  • correctly pass down optimization flags in CP2K easyblock (#1293)

                easyconfigs

                • added example easyconfig files for 39 new software packages:
                  • AmberMini (#5476), arrow (#5416), bat (#5416), CIRCexplorer (#5356), CIRCexplorer2 (#5470), CIRI (#5358), FALCON (#5265), FastaIndex (#5465), find_circ (#5348), future (#5236), GapCloser (#5465), glibc (#5428), GRNBoost (#5373), HDFView (#5391), Horovod (#5239), HPDBSCAN (#5371), Hyperopt (#5455), IntelClusterChecker (#4970), ITK (#5434), LAST (#5465), MDTraj (#5317), Meson (#5228), mkl-dnn (#5319, #5362), Ninja (#5228), OpenKIM-API (#5479), ParmEd (#5476), PCRaster (#5386), piSvM (#5308), piSvM-JSC (#5316), PTESFinder (#5359), pybedtools (#5347), pymbar (#5476), pyScaf (#5465), QIIME2 (#5355), QTLtools (#5361), Redundans (#5465), Rmath (#5361), sbt (#5373), SNAP (#5465)
                • added new easyconfigs for existing toolchains: intel/2017.09 (#5303), intel/2018.00 (#5129), intel/2018.01 (#5345)
                • added additional easyconfigs for various supported software packages, including:
                  • CGAL 4.11, CMake 3.10.0, Caffe 1.0, FFTW 3.3.7, GATE 8.0, gnuplot 5.2.2, HPCG 3.0, HTSlib 1.6, Keras 2.1.2, LLVM 5.0.0, Mesa 17.2.5, mpi4py 3.0.0, netCDF 4.5.0, OpenFOAM 5.0, ParaView 5.4.1, R 3.4.3, Ruby 2.4.2, Rust 1.21.0, SCons 3.0.1, Szip 2.1.1, Theano 1.0.0, VTK 8.0.1, X11 20171023
                • minor enhancements, including:
                  • add SHA256 checksums to Autoconf (#5304), Automake (#5305), libtool (#5306) and M4 (#5307) easyconfigs
                  • avoid hardcoding extension versions in worker easyconfig, include 'perl' as OS dep (#5324)
                  • enable building ScaLAPACK in parallel with enhanced ScaLAPACK easyblock (#5331)
                  • include RInside extension in R 3.4.0 easyconfig (#5354)
                  • clean up configure options that are now handled by R easyblock (#5478, #5485)
                  • update Octave easyconfigs to use Octave easyblock, add extensions for latest Octave versions (#5484, #5503, #5507)
                  • add Log4perl extension to Perl 5.26.0 easyconfigs (#5511)
                • various bug fixes, including:
                  • add missing extensions required by MultiQC & stick to networkx 1.11 (#5240)
                  • disable optarch when using Intel compilers and enable tests in all libxc easyconfigs (#5256, #5257)
                  • avoid downloads when installing matplotlib 2.1.0 w/ Python 2.7.14 (#5267)
                  • fix $CPATH in recent libffi easyconfigs + enhance sanity check & add checksum (#5271)
                  • use Github source URL, run autogen.sh + include Autotools build dep for numactl (#5286, #5296, #5297, #5299, #5302)
                  • add hwloc to GROMACS dependencies (#5295)
                  • fix source_urls (& sources spec) for GATE (#5367)
                  • consistently add Autotools build dep in recent netCDF easyconfigs (#5394)
                  • fix check in test suite for binutils build dep when GCCcore used as toolchain (#5436)
                  • libdap 3.19.1 checksum changed (#5473)
                  • disable new rfkill feature in easyconfig for util-linux 2.31 since it requires a recent kernel (#5480)
                  • add missing PROJ dependency in recent GDAL easyconfigs (#5481)
                  • fix name in TensorFlow easyconfigs (was 'TensorFlow') (#5495)
                  • fix checksum for Szip 2.1.1 (#5517)
                  • fix order of extensions for FSLeyes, add missing MarkupSafe (dep for Jinja2) (#5520)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb341","title":"EasyBuild v3.4.1 (October 17th 2017)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • improve trace output for executed commands + drop requirement for --experimental for --trace (#2306)
                  • add giolf toolchain definition: GCC, IntelMPI, OpenBLAS, (Sca)LAPACK and FFTW (#2310)
                  • add support for --force-download and --ignore-checksums (#2313, #2314)
                  • flesh out pypi_source_urls from derive_alt_pypi_url (#2319)
                • various bug fixes, including:
                  • also check for use of --rebuild next to --force to skip sanity check with --module-only (#2307)
                  • ensure $TMPDIR is set to a short path for OpenMPI v2.x (#2311)
                  • guard 'module load' commands in generated modules under --recursive-unload to avoid load storms (#2316)
                  • correctly deal with use of special characters in description & co (#2320)
                  • fix incorrect FFT_INC_DIR for Intel MKL (#2323)

                easyblocks

                • add generic 'SystemMPI' easyblock (#1106, #1261, #1262)
                • add software-specific easyblock for SAS (#1263)
                • minor enhancements, including:
                  • run 'wcleanAll' or 'wcleanPlatform -all' before building OpenFOAM (#780, #1258)
                  • enhance generic 'SystemCompiler' easyblock (#1106)
                  • clean up --trace output for Python & Python packages (#1248)
                  • update Intel MPI easyblock to support 2018.* versions (#1253)
                  • add support for Intel MPI and Intel MKL to ScaLAPACK easyblock (#1255)
                  • enhance GCC easyblock to also put symlinks in place for cc/c++/f77/f95 commands (#1256)
                • various bug fixes, including:
                  • allow that 'gcc -print-multiarch' fails in icc easyblock (#1249)
                  • fix prefix subdirectory for older versions of icc (in particular 2011.3.174) (#1250)
                  • use remove_file rather than os.remove in generic IntelBase easyblock to correctly deal with broken symlinks (#1251)
                  • fix sanity check for MXNet easyblock + correctly detect unpacked source directory (#1257)
                  • avoid building CP2K twice due to incorrect attempt at running 'make clean' first (#1266)

                easyconfigs

                • added easyconfigs for new toolchain giolf/2017b (#5140)
                • added example easyconfig files for 13 new software packages:
                  • ASAP3 (#5200), Albacore (#5153), CatMAP (#5225), DLCpar (#5209), FSLeyes (#5192), IQ-TREE (#3695), NEST (#5515), nanonet (#5149), OMA (#5211), , oxford_asl (#5193), QEMU (#5220), REMORA (#5159), SAS (#5208), supermagic (#5187)
                • added additional easyconfigs for various supported software packages, including:
                  • Anaconda2/3 4.4.0, Blender 2.79, Boost 1.65.1, CMake 3.9.4, FFmpeg 3.3.4, GCC 5.5.0, h5py 2.7.1, Keras 2.0.8, matplotlib 2.1.0, mympingpong 0.8.0, OpenCV 3.3.0, OpenFOAM-Extend 4.0, OpenMPI 2.1.2 + 3.0.0, Pillow 4.3.0, Python 2.7.14 + 3.6.3, SAMtools 1.6, scikit-image 0.13.0, scikit-learn 0.19.0, Tensorflow 1.3.0, vsc-mympirun 4.0.2
                • minor enhancements, including:
                  • add xkeyboard-config component in X11 bundle (#5066)
                  • clean up use of wcleanAll in OpenFOAM-Extend easyconfigs, now handled by OpenFOAM easyblock (#5131)
                  • also install run_rcorrector.pl with Rcorrector (#5135)
                  • add SHA256 checksum to PyCUDA easyconfig (#5154)
                  • fix/improve description in HDF5 easyconfigs (#5182)
                  • include heatmap3 extension for R 3.4.0 (#5185)
                  • add ComplexHeatmap to Bioconductor 3.5 bundle + dep pkgs in R 3.4.0 easyconfig (#5195)
                • various bug fixes, including:
                  • fix source URLs for AUGUSTUS 3.2.3 (#5119)
                  • fix building Bison 2.5 on systems with recent glibc (#5130)
                  • also consider rdma-core-devel as alternative to libibverbs-devel OS dependency (#5132)
                  • consistently use empty toolchain version in icc & ifort easyconfigs to ensure that GCC(core) dep is loaded during installation (#5133, #5134)
                  • add patches for Boost 1.64.0 to fix known issues (#5148)
                  • remove PyCUDA easyconfig for intel/2017a, doesn't work due to incompatibility between GCC 6.3.0 & CUDA 8 (#5156)
                  • add missing Perl extensions in easyconfig for Worker 1.6.7 (#5157)
                  • fix checksums for packages that download from github.com/x/y/archive (#5162)
                  • add missing libpng dependency to g2lib-1.4.0 easyconfig using intel-2017a (#5196)
                  • fix source_urls for Szip 2.1 & include SHA256 checksum (#5206)
                  • remove unneeded --with-fft-incs configure option for ABINIT (#5207)
                  • disable optarch for libjpeg-turbo 1.5.1 built with intel/2017a (#5214)
                  • update $R_LIBS in plotly easyconfig (#5215)
                  • include NLopt as a dependency in R easyconfigs that include nloptr as extension (#5217)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb340","title":"EasyBuild v3.4.0 (September 10th 2017)","text":"

                feature release

                framework

                • various enhancements, including:
                  • add support for backing up modules via --backup-modules (#2134)
                    • enabled automatically with --module-only and --skip
                    • see also http://easybuild.readthedocs.io/en/latest/Backup_modules.html
                  • add support for --search-paths to extend list of locations considered by --search/-S (#2255)
                  • include userInGroup check in Lua modules when installation is group-restricted (#2274)
                  • add experimental support for 'eb --trace' (#2285)
                    • see also http://easybuild.readthedocs.io/en/latest/Tracing_progress.html
                  • add support for 'eb --inject-checksums' (#2286, #2292, #2293)
                    • see also http://easybuild.readthedocs.io/en/latest/Writing_easyconfig_files.html#adding-or-replacing-checksums-using-inject-checksums
                  • add support for append_paths in module generator (#2294)
                • various bug fixes, including:
                  • strip provided GitHub token of spaces in --install-github-token (#2270)
                  • remove 'provides' line from setup.py (#2275)
                  • pass down stdin in 'import' check for extensions during sanity check (#2276)
                  • make sure location to 'eb' installed during stage 1 is included in $PATH during stage 2 of bootstrap procedure (#2281)
                  • make resolve_path robust against None path being provided (#2282)
                  • ensure clean error message on easyconfig file parse failure (#2290)
                  • fix regex to avoid sucking up additional lines prior to module file path in modulefile_path (#2291)
                  • fix error message when --use-ccache is used but ccache is not available in $PATH (#2295)

                easyblocks

                • minor enhancements, including:
                  • update Siesta easyblock for versions 4.0.1 and 4.1-b3 (#1218)
                  • updates GAMESS-US easyblock for version 20170420R1 + move ddikick.x when ddi_comm is set to 'sockets' (#1221)
                  • update MRtrix easyblock for 3.0 & beyond + use copy function (#1230)
                  • update ROOT easyblock to support recent versions that require using CMake, add sanity check, clean up/enhance make_module* (#1236)
                  • enhance icc easyblock to include multipath include dir in $CPATH (#1237, #1242)
                • various bug fixes, including:
                  • use plumed-patch command rather than 'plumed patch' in GROMACS easyblock (#1212)
                  • remove 'provides' line from setup.py (#1217)
                  • fixed wrong use of build_type in self.cfg in WRF easyblock that resulted in an raised exception (#1220)
                  • added a call to super post_install_step in CUDA easyblock (#1226)
                  • fix $MCRROOT definition in generated module file under --module-only in MCR easyblock (#1228)
                  • fix permissions for directories in SuiteSparse (#1238)
                  • fix function signature for fetch_extension_sources in OCaml easyblock (#1240)

                easyconfigs

                • added easyconfigs for foss/2017b and intel/2017b common toolchains (#4768), (#4618)
                • added new easyconfigs for existing toolchains:
                  • iomkl/2017b (#5097)
                • added example easyconfig files for 31 new software packages:
                  • BAMM (#4650), BamM (#4650), bcl2fastq2 (#4902), CGNS (#5078), CLAPACK (#5096), CLISP (#4926, #4986), cadaver (#4873), destiny (#5009), GroopM (#4650), Lucene-Geo-Gazetteer (#5064), libffcall (#4850), libsigsegv (#4840), MERCKX (#5056), minimap2 (#4991), ncompress (#4852), OpenNLP (#5059, #5061), OpenRefine (#5058), PHAST (#5096), PYTHIA (#5083), ParallelIO (#5071), PnetCDF (#5071), plotly (#5010), QML (#5101), Quorum (#5095), Rcorrector (#5095), SCnorm (#5008), SOAPdenovo-Trans (#5095), Shannon (#5095), Tika (#5063), UNAFold (#4997), VERSE (#4843)
                • added additional easyconfigs for various supported software packages, including:
                  • Boost 1.65.0, binutils 2.29, GAMESS-US 20170420-R1, GCC(core) 7.2.0, gzip 1.8, HDF5 1.8.19, LLVM 4.0.1, MRtrix 3.0_RC2, Perl 5.26.0, ROOT 6.10.04, Spark 2.2.0
                • minor enhancements, including:
                  • add checksums to Perl 5.24.1 easyconfigs (#4973, #4992)
                  • add additional extensions for R 3.4.0 and Bioconductor 3.5 bundle (#5007, #5028, #5029, #5062, #5079)
                  • also define $INCLUDEPATH and $LIBRARY_PATH in Tesla-Deployment-Kit easyconfig (#5018)
                  • add check to see whether binutils is included as build dep when GCCcore toolchain is used (#5084)
                • various bug fixes, including:
                  • added Rmpi patch file for R built with intel toolchains incl. impi 5.x (#4623)
                  • use single-line description in setup.py (#4881)
                  • fix version and source for Seurat + add extensions required by Seurat in R 3.4.0 easyconfig (#4889)
                  • add zlib as dependency to util-linux easyconfigs (#4900, #4998)
                  • use modextrapaths instead of modextravars in OpenMM easyconfig (#4903)
                  • update deprecated PLINK urls (#4920, #5006)
                  • fix moduleclass for Cookiecutter (#4947)
                  • fix order of OpenMPI dependency in iomkl/2016.09* easyconfigs, must come after icc/ifort (#5024)
                  • fix typo in comment in util-linux easyconfigs & add SHA256 checksums (#5052)
                  • remove superfluous $CPATH update in GLib 2.44.0 easyconfig (#5053)
                  • update ncurses to not build a separate libtinfo but provide a soft link instead + force linking to ncurses in libreadline (#5067, #5074)
                  • include Autotools as build dep for netCDF (#5077)
                  • add missing binutils build dep for texinfo (#5099)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb331","title":"EasyBuild v3.3.1 (July 12th 2017)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • add support for 'allow_prepend_abs_path' easyconfig parameter (#2254)
                  • support for --merge-pr (#2266)
                • various bug fixes, including:
                  • resolve symlinks to location of 'eb' in get_paths_for (#2248)
                  • fall back to checking location relative to 'eb' location in find_eb_script (#2249)
                  • respect --suffix-modules-path value for user-specific module path extensions (#2250)
                  • update EasyBuild bootstrap script to download distribute tarball from http://easybuilders.github.io/easybuild/files (#2256)
                  • fix default target GitHub account/organisation for --new-pr & co + fix tests that got broken by migration to github.com/easybuilders (#2258)
                  • fix checking for new easyconfigs in copy_easyconfigs, pick up specified commit message as PR title if none was provided (#2259)
                  • get rid of references to hpcugent after move to github.com/easybuilders (#2261)
                  • automatically enable --ignore-osdeps under --new-pr and --update-pr (#2262)

                easyblocks

                • minor enhancements, including:
                  • enhance HDF5 easyblock: define $HDF5_DIR & include -DMPICH_IGNORE_CXX_SEEK in $CXXFLAGS (#1200)
                  • consistently pass down (named) arguments in prepare_step, and check for it in the tests (#1202)
                  • remove no longer supported VersionIndependentPythonPackage generic easyblock (#1202)
                  • update ABAQUS easyblock for recent versions, incl. support for installing hotfixes (#1203)
                  • get rid of references to 'hpcugent' organisation after move to github.com/easybuilders (#1206)
                  • make Boost easyblock fully aware of (pre)configopts, (pre)buildopts and (pre)installopts (#1207)
                  • drop check for 'ipython' in sanity check of Anaconda easyblock, to also support Miniconda (#1210)

                easyconfigs

                • added example easyconfig files for 6 new software packages:
                  • FastME (#4811), geopy (#4821), Miniconda2 (#4841), ngmlr (#4818), OpenCoarrays (#4799), Seurat (#4832)
                • added additional easyconfigs for various supported software packages, including:
                  • ABAQUS 2017, GCC(core) 6.4.0, Keras 2.0.5, NCBI-Toolkit 18.0.0, numpy 1.13.0, Tensorflow 1.2.0
                • minor enhancements, including:
                  • add SVG and Statistics::Basic to recent Perl versions (#4796)
                  • remove buildopts from HDF5 easyconfigs, taken care of by updated HDF5 easyblock now (#4779)
                  • include joblib as extension in recent Python easyconfigs (#4805)
                  • changed moduleclass in mpi4py to better reflect what it is and to not confuse HMNS (#4807)
                  • get rid of references to 'hpcugent' organisation after move to github.com/easybuilders (#4815, #4837)
                  • add Rtsne as extension to R 3.4.0 (#4831)
                • various bug fixes, including:
                  • use PYPI_SOURCE as source URL in Tensorflow easyconfigs (#4786)
                  • fix homepage for skewer (#4791)
                  • sync/fix source_urls & homepage in HDF5 easyconfigs (#4800)
                  • fix ubsan error blocking build of GCCcore 6.1.0, 6.2.0, 6.3.0 with system GCC 7.1 (#4813)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb330","title":"EasyBuild v3.3.0 (June 26th 2017)","text":"

                feature release

                framework

                • various enhancements, including:
                  • clean up easyconfigs that are copied for inclusion in pull request (#2197, #2227)
                  • use devel logging where relevant in easybuild.tools.toolchain (#2198)
                  • check exit code for executed module commands (#2200)
                  • also copy patches to installation directory & easyconfigs archive along with easyconfig file (#2202, #2241)
                  • add support for SHA256 checksums (#2215)
                    • also auto-detect whether provided checksum is MD5 or SHA256 based on length (if not checksum type is specified)
                    • add support for --enforce-checksums, to require availability of checksums for sources/patches
                    • see http://easybuild.readthedocs.io/en/latest/Writing_easyconfig_files.html#source-files-patches-and-checksums
                  • add support for renaming sources on download (#2223)
                    • also involves deprecating use of 2-tuple elements in list of sources, see http://easybuild.readthedocs.io/en/latest/Deprecated-functionality.html#depr-sources-2-element-tuple
                  • add support for --detect-loaded-modules (#2228)
                  • give extensions access to module_generator of parent (#2229)
                  • pass down additional arguments to copy_dir down to shutil.copytree (#2230)
                  • avoid reloading already loaded modules that extend $MODULEPATH (#2232)
                • various bug fixes, including:
                  • make sure test account & accompanying token is used in tests for github.py (#2220, #2224)
                  • only use MPD for old versions of Intel MPI (<4.1) in mpi_cmd_for (#2221)
                  • escape dots in package filename to ensure correct match in derive_alt_pypi_url (#2225)
                  • fix GNU_SOURCE template by adding missing /gnu/ (#2235)
                  • catch exception shutil.Error in copy_file (#2239)
                  • report full error and traceback on unhandled exception in test report (#2240)
                  • fix --set-default-module flag (#2243)

                easyblocks

                • added easyblocks for MXNet (#1135), Tkinter(#1184)
                • minor enhancements, including:
                  • enhance sanity check for NCL (#1169, #1179)
                  • enable building of shared FFTW libraries (#1180)
                  • include update statements for $CPATH and $*LIBRARY_PATH in generated module in numpy easyblock (#1183)
                  • stop using deprecated 'copytree' function from easybuild.tools.filetools (#1185)
                  • update SAMtools easyblock for v0.1.17 (#1189)
                  • update MATLAB easyblock for 2016b & 2017a versions (adjust permissions and change dir) (#1182, #1197)
                  • consider $EB_*_LICENSE_SERVER(_PORT) in MATLAB and ANSYS easyblocks (#1195)
                  • add omp_num_threads custom parameter in CP2K easyblock to allow defining $OMP_NUM_THREADS during testing (#1196)
                • various bug fixes, including:
                  • fix Siesta easyblock to enable and verify parallel build (#1186)
                  • fix bug in alias definition in impi easyblock for mpigxx, mpiicpc and mpiifort (#1192)

                easyconfigs

                • enable automatic style checks in easyconfig tests (#2506)
                • added example easyconfig files for 28 new software packages:
                  • ada (#4594), Aspera-CLI (#4635), AUGUSTUS (#4624), ada (#4594), Bio-SamTools (#4637), Bpipe (#4590), BUSCO (#4624), CNVnator (#4649), davix (#4755), EricScript (#4594), FUNWAVE-TVD (#4743), gmpy2 (#4609), gSOAP (#4755), libsndfile (#4628), lpsolve (#4264), LUMPY (#4682), MaSuRCA (#4706), modred (#4729), MXNet (#4765), NRGLjubljana (#4651), OrfM (#4703), Perl4-CoreLibs (#4670), prodigal (#4468), pydlpoly (#4756), SeqAn (#4603), sharutils (#4745), Spyder (#4627), Tkinter (#4620), VariantMetaCaller (#4632)
                • added new easyconfigs for existing toolchains:
                  • gimkl/2017a (#4646)
                • added additional easyconfigs for various supported software packages, including:
                  • ABINIT 8.2.2, BLAST+ 2.6.0, Bowtie2 2.3.2, FFmpeg 3.3.1, NCL 6.4.0, Rust 1.18.0, SAMtools 1.5, VTK 7.1.1
                • minor enhancements, including:
                  • use 'git diff --name-only' and $TRAVIS_COMMIT_RANGE in Travis config to get list of changed files (#4606, #4619)
                  • add tuneR, seewave, soundecology, vcfR extensions for R 3.4.0 (+ libsndfile as dep) (#4628, #4680, #4747)
                  • also copy README for GapFiller (#4631)
                  • enable inclusion of version symbol by using --enable-ld-version-script configure option for LibTIFF (#4639)
                  • add SHA256 checksums for libpciaccess to discriminate from old tarballs that required running autogen.sh (#4688)
                  • fix NE_GLOBAL_DIR path for ne by also specifying PREFIX in buildopts (#4698)
                  • more (trivial) style fixes (#4761)
                  • avoid use of import in ANSYS & MATLAB easyconfigs (#4762)
                  • set $OMP_NUM_THREADS during CP2K test step via dedicated easyconfig parameter (#4763)
                  • avoid use of 'import' in BFAST easyconfigs, just strip of 'a' from version (#4764)
                  • add the docopt module to all Python 2017a easyconfigs (#4770)
                  • stop using deprecated 2-element tuple format in sources, use equivalent dict format instead (#4774)
                • various bug fixes, including:
                  • fix typo in statsmodels source url (/sources/ -> /source/) (#4612)
                  • add location to DotLib.pm to $PERL5LIB for SSPACE_Basic (#4638)
                  • add missing /gnu/ in ftpmirror.gnu.org source_urls, or use GNU_SOURCE where possible (#4653)
                  • consistently use --with-harfbuzz=no configure option in freetype easyconfigs (#4668)
                  • use --with-x=yes in R easyconfigs that include X11 as a dependency (#4701)
                  • remove '4.0' in tbb description (#4707)
                  • add lib sanity check paths for Debian compatibility in nettle (#4722)
                  • fix source URLs for HDF5 (#4749)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb321","title":"EasyBuild v3.2.1 (May 12th 2017)","text":"

                bugfix/update release

                framework

                • various enhancements, including:
                  • make hardcoded max ratio for failures in adjust_permissions configurable (#2213)
                  • allow https:// on direct download in sources (#2214)
                • various bug fixes, including:
                  • bump version bootstrap script to sync with latest update (#2208)
                  • fix crash during module generation when '%' character is used in description (#2209)

                easyblocks

                • added easyblock for Siesta (#1105)
                • minor enhancements, including:
                  • enhance GROMACS easyblock to build with PLUMED support (#1121)
                  • enhance NAMD easyblock: add OpenMP support, update for recent NAMD versions (2.12), fix compatibility with Tcl versions other than 8.5 (#1173)

                easyconfigs

                • added example easyconfig files for 12 new software packages:
                  • AdapterRemoval (#4509), blasr_libcpp (#4566), canu (#4473), enchant (#4567), hunspell (#4567), memkind (#4544), NLTK (#4565), pbbam (#4566), pbdagcon (#4566), pyenchant (#4567), Siesta (#4562), xarray (#4556)
                • added new easyconfigs for existing toolchains:
                  • goolfc 2017.01 (#4577)
                • added additional easyconfigs for various supported software packages, including:
                  • HDF5 1.10.1, NAMD 2.12, OpenFOAM 4.1, pandas 0.20.1, ParaView 5.2.0, R 3.4.0, R-bundle-Bioconductor 3.5, Tensorflow 1.1.0
                • minor enhancements, including:
                  • update source URLs in libpciaccess easyconfigs (#3960)
                  • enable use of double precision floating point in METIS 5.1.0 foss/2016a easyconfig (#4555)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb320","title":"EasyBuild v3.2.0 (May 5th 2017)","text":"

                feature release

                framework

                • various enhancements, including:
                  • add support for marking installed module file as new default version using --set-default-module (#2110)
                  • additional easyconfig parameters for documentation: docpaths, examples, site_contacts, upstream_contacts, usage (#2113)
                  • add support for --allow-use-as-root-and-accept-consequences (#2123)
                  • enable extraction of patches from compressed files before applying them (#2128)
                  • alphabetically sort functions and methods in module_generator module (#2132)
                  • introduce function ensure_iterable_license_specs (#2157)
                  • bump Travis config to use Lmod 7.4 (#2176)
                  • implement copy_dir function in filetools (#2177)
                  • clarify error message when no software-specific easyblock was found (#2178)
                  • make log.deprecated more verbose by also printing deprecation warnings to stderr (#2179)
                  • add copy function to filetools for easy copying of lists of files/directories (#2180)
                  • add support for --verify-easyconfig-filenames (#2185)
                  • add support for --package-tool-options (#2187)
                  • take into account inline trailing comments in fetch_parameters_from_easyconfig (#2192)
                  • add support for customising easyconfig parameters on a per-extension basis (#2194)
                  • perform sanity check after stage 2 of EasyBuild bootstrap script, module file should be in place (#2199)
                  • change order in which module commands are checked, consider Lmod first (#2201)
                • various bug fixes, including:
                  • fix use of compiler-specific --optarch value in combination with --job (#2183)
                  • call run_all_steps in regtest mode rather than running steps individually (#2203)

                easyblocks

                • added easyblocks for Doris (#1154, #1161), VMD (#1148) and WRF-Fire (#1153, #1159)
                • minor enhancements, including:
                  • update IntelBase, PGI and TotalView easyblocks to allow list of license files/servers via 'license_file' easyconfig parameter (#1129)
                  • update Bowtie2 easyblock to set correct build options, copy more files, extend sanity check (#1146)
                  • added the option to build Boost with multi-threading support (#1147)
                  • allow libpng as OS dependency for WPS (#1150)
                  • extend Boost TIME_UTC patch to Boost versions <= 1.49.0 (#1152)
                  • enhance Python sanity check to check for Tkinter support if Tk is included as a dependency (#1156, #1158)
                  • add support to install Python extensions without unpacking (#1166)
                  • enhance TBB easyblock to also support building open source versions (#1168)
                • various bug fixes, including:
                  • update FFTW easyblock: --enable-avx-128-fma depends on the fma4 CPU feature (AMD), not fma (#1142)
                  • fix problems when usempi not defined in toolchain in NAMD easyblock (#1162)

                easyconfigs

                • added example easyconfig files for 34 new software packages:
                  • ACTC (#4386), atomate (#4484), BreakDancer (#4455), bx-python (#4486), ClusterShell (#4432), custodian (#4484), DFTB+ (#4398), Doris (#4404), ED2 (#4402), FireWorks (#4484), GETORB (#4414), GapFiller (#4462), IPy (#4450), imbalanced-learn (#4373), ipyrad (#4507), libiconv (#4499), MultiQC (#3564), NLopt (#1750), Node-RED (#4542), PyCUDA (#4523), pymatgen-db (#4484), QuTiP (#4371), ROI_PAC (#4414), Rascaf (#4459), RepastHPC (#4395), rootpy (#4242), SSPACE_Basic (#4461), Sambamba (#4442), Spack (#4431), SpiceyPy (#4406), StaMPS (#4454), samblaster (#4435), VMD (#4391), WRF-Fire (#4403)
                • added additional easyconfigs for various supported software packages, including:
                  • BamTools 2.4.1, Boost 1.64.0, GCC 7.1.0, IPython 5.3.0, LLVM 4.0.0, Mesa 17.0.2, Octave 4.2.1, OpenMPI 2.1.0, PETSc 3.7.5, PGI 17.3, Perl 5.24.1, Python 2.7.13 + 3.6.1 (incl. numpy 1.12.1, scipy 0.19.0), R 3.3.3, SuiteSparse 4.5.5
                • various enhancements, including:
                  • sync Bowtie2 easyconfigs, consistently use Bowtie2 easyblock (#4380)
                  • use pl2 source tarball for FFTW 3.3.6 which already includes patch for F03 interface (#4529)
                • various bug fixes, including:
                  • add missing XZ dep in easyconfig for libunwind 1.1 w/ GCC/4.9.2, sync sanity_check_paths across libunwind easyconfigs (#4369)
                  • use 'use_fma4' rather than deprecated 'use_fma' easyconfig parameter in FFTW easyconfigs using intel toolchain (#4384)
                  • fix pkgconfig patch for Qhull (#4451)
                  • also use patch for METIS 5.1.0 to enable use of doubles in easyconfig for foss/2016b (#4467)
                  • add dependency NLopt for R extension nloptr (#4481)
                  • fix issue with configparser and backports namespace blocking inclusion of nbconvert with IPython (#4504)
                  • change source_urls of pycrypto to encrypted https://pypi.python.org/... (#4505)
                  • fix sources spec for HMMER 3.1b2 + minor style fixes + better sanity check (#4531)
                  • also build IMB-IO in IMB 4.1 easyconfig using foss/2016a (#4539)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb312","title":"EasyBuild v3.1.2 (March 20th 2017)","text":"

                bugfix/update release

                framework

                • fix broken packaging support by fixing run_cmd bug with shell=False (#2153)
                • minor enhancements, including:
                  • implement change_dir function in filetools module (#2155)
                  • use checker_state in trailing whitespace style check + add dedicated test (#2160, #2169)
                  • consider both pycodestyle and pep8 Python modules in style checks (#2161)
                  • make bootstrap script aware various modules-related $EASYBUILD_* environment variables (#2170)
                • various bug fixes, including:
                  • interpret statements that extend $MODULEPATH in modpath_extensions_for method (#2104)
                    • also fixes inclusion of superfluous load statements in modules installed in user HMNS module tree (cfr. #2172)
                  • take into account that $PATH or $PYTHONPATH may be empty when running tests (#2149)
                  • handle duplicates in --include-* (#2151)
                  • exclude dependencies of dependencies that extend $MODULEPATH (#2152)
                  • add ld.bfd to RPATH wrappers (#2156)
                  • fix test_vsc_location, vsc.__file__ may not be available when vsc is installed as a namespace package (#2159)
                  • fix reported problems with scripts & docs tests (#2164)
                  • fix --try-software-version using non-greedy matching + lookahead assertion, add test for tweak_one (#2166)
                  • avoid creating empty modulefile directories when using modaltsoftname (#2168)
                  • fix fftw_libs for MKL without interface libraries (#2171)

                easyblocks

                • add easyblock for QScintilla (#1127)
                • minor enhancements, including:
                  • auto-disable quad precision on POWER and ARM in FFTW (#1102, #1138)
                  • allow \"download install\" for PETSc (#1114)
                  • modify Trinity sanity check for versions 2.3 and above (#1133)
                  • make unpacking Python extensions optional (#1134)
                  • update SAMtools easyblock for version 1.4 (#1139)
                • various bug fixes, including:
                  • reduce number of environment variables in icc and ifort modules (#1126, #1143)
                  • also run tests with Tcl module syntax, Lua is the default in EasyBuild v3.x (#1128)
                  • rename member variable to avoid conflict with member of base class in PGI (#1137)
                  • don't set $FPATH environment variable in multiple easyblocks (#1140)

                easyconfigs

                • add patch to FFTW 3.3.6 easyconfigs to fix MPI F03 interface (#4334)
                  • note that this warrants rebuilding FFTW that is a part of foss/2017a
                • added example easyconfig files for 14 new software packages:
                  • DBG2OLC (#4281), disambiguate (#4125), fqtrim (#4280), GFOLD (#4293), Kaiju (#4349), LSMS (#4335), L_RNA_scaffolder (#4282), PileOMeth (#4289), psycopg2 (#4319), QGIS (#4307, #4332), QJson (#4305), QScintilla (#4306, #4313), sketchmap (#4360), snaphu (#4362)
                • added additional easyconfigs for various supported software packages, including GROMACS 2016.3, PGI 17.1, SAMtools 1.4
                • various enhancements, including:
                  • fix style in several easyconfigs (#4267-#4271, #4274, #4275, #4277, #4279, #4286-#4288, #4318)
                • various bug fixes, including:
                  • correctly set $PYTHONPATH in ROOT easyconfigs (#4239, #4331)
                  • correct libjpeg turbo references in GDAL (#4276)
                  • make sure that HDF5 provided via EasyBuild is used in BLASR easyconfigs (#4278)
                  • fix issues with miRDeep2 installation (#4291, #4301, #4316)
                  • also run tests with Tcl module syntax, Lua is the default in EasyBuild v3.x (#4315)
                  • fix PostgreSQL homepage + minor style fixes (#4318)
                  • detect use of '$root', which is not compatible with module files in Lua syntax (#4330)
                  • fix homepage/source_urls for ViennaRNA (#4338)
                  • pass down $FFLAGS via FLAGS_OPT in SWASH easyconfigs (#4341)
                  • remove include/GL/wglext.h from Mesa sanity check (#4354)
                  • rename S.A.G.E. to SAGE, can't have directories with trailing dot in Windows (#4368)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb311","title":"EasyBuild v3.1.1 (March 7th 2017)","text":"

                bugfix/update release

                framework

                • minor enhancements, including:
                  • print more useful error message when no compiler-specific optarch flag is defined (#1950)
                  • add ec parameter to expand_toolchain_load() (#2103)
                  • clarify unstable/closed PR warning message (#2129)
                • various bug fixes, including:
                  • ensure that $EBEXTSLIST* is also included in generated module under --module-only (#2112)
                  • fix formatting issues in generated documentation for --list-software and --avail-easyconfig-licenses (#2121)
                  • fix problem with backticks in description breaking 'fpm' packaging command (#2124)
                  • replace --enable-new-dtags with --disable-new-dtags instead of removing it in RPATH wrapper script (#2131)
                  • only perform is_short_modname_for sanity check in det_short_module_name if modaltsoftname is available (#2138)
                  • fix logic in make_module_dep w.r.t. excluding loads for toolchain & toolchain components (#2140)
                  • skip test_check_style if pep8 is not available (#2142)

                easyblocks

                • minor enhancements, including:
                  • change the sanity check for MCR 2016b since the directory structure has changed (#1096)
                  • update NWChem easyblock for version 6.6.x and to handle different versions of OpenMPI for older versions (#1104)
                  • allow per-component source_urls with templating in Bundle easyblock (#1108)
                  • add slib to $LD_LIBRARY_PATH for itac (#1112)
                  • consider both lib and lib64 in CGAL sanity check (#1113)
                  • add support for installing Intel tools that do not require license at installation time (#1117)
                    • required for Intel MPI and Intel MKL version 2017.2.174
                  • remove prefix_opt as custom easyconfig parameter for Qt easyblock (#1120)
                • various bug fixes, including:
                  • use '-prefix <path>' rather than '--prefix=<path>' for configure in Qt (#1109)
                  • fix indentation problem in PETSc easyblock (#1111)

                easyconfigs

                • added example easyconfig files for 16 new software packages:
                  • Caffe (#3667), DIAMOND (#4107), fmt (#4131), googletest (#4132), igraph (#4172), MEGA (#4202), meRanTK (#4175), meshio (#4178), miRDeep2 (#4229, #4255), OOMPA (#4211), PBSuite (#4224, #4230), randfold (#4217), skewer (#4246), Smoldyn (#4110), SpiecEasi (#4215), stress (#4180)
                • added additional easyconfigs for various supported software packages, including:
                  • binutils 2.28, Cantera 2.3.0, CGAL 4.9, GMP 6.1.2, IPython 5.2.2, JasPer 2.0.10, NWChem 6.6, matplotlib 2.0.0, PCRE 8.40, Qt5 5.8.0, Vim 8.0, X11 bundle v20170129, VTK 7.1.0, Yade 2017.01a
                • added new easyconfigs for existing toolchains:
                  • iomkl/2017a (#4216), intel/2017.02 (#4248)
                • various enhancements, including:
                  • fix style in several easyconfigs (#4174, #4176, #4190, #4233)
                  • add sanity check command to Yade easyconfig to make sure that 'import yade' works, include bzip2 as dep (#4193)
                  • add PDF::API2 extension to Perl 5.24.0 easyconfigs + sync exts_list (#4221)
                • various bug fixes, including:
                  • add Bison and gettext as build deps for X11 (#4111)
                  • clean up dependencies in libdrm (#4113)
                  • make sure Ghostscript picks up external libraries (#4118)
                  • fix ippicv source download and library install for OpenCV v3.1.0 (#4126)
                  • fix software name for OrthoMCL + modernise OrthoMCL easyconfigs (#4134, #4135)
                  • get rid of backticks in gettext descriptions, causes problems when packaging with FPM (#4146)
                  • remove duplicate sources specification in OpenMPI (#4150)
                  • fix definition of buildopts/installopts in Cantera easyconfig (#4133, #4164, #4177)
                  • use http:// rather than ftp:// source URLs in CFITSIO easyconfigs (#4167)
                  • add patch for XZ 5.2.2 to include 5.1.2alpha symbols required by 'rpm' command on CentOS 7.x (#4179)
                  • add patch for Boost v1.61-1.63 to fix problem with make_array/array_wrapper in Boost serialization library (#4192)
                  • set CMAKE_PREFIX_PATH to ncurses install directory in CMake easyconfigs (#4196)
                  • switch to lowopt=True for libxc v2.2.* and v3.* (#4199)
                  • remove custom sanity_check_paths, since it's identical to that used by the R easyblock (#4200)
                  • fix version (& homepage) in ea-utils easyconfigs (#4205)
                  • remove --with-threads configure option in OpenMPI-2.* (#4213)
                  • fix check for Szip library in configure script for netCDF 4.1.3 (#4226)
                • fix source_urls in several easyconfigs, including:
                  • bsoft, cutadapt, EMBOSS, GnuTLS, ImageMagick, LibTIFF, Mercurial, netCDF, netCDF-Fortran, pigz, ROOT and Subversion (#4227)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb310","title":"EasyBuild v3.1.0 (February 3rd 2017)","text":"

                feature release

                framework

                • various enhancements, including:
                  • ARM: GCC optimal/generic architecture compiler flags (#1974)
                  • add support for --check-style to check style in easyconfig files (#1618, #2038)
                  • add HOME and USER from env to available cfg file constants (#2063)
                  • --optarch can now be specified on a toolchain basis (#2071)
                  • implement get_cpu_features function in systemtools (#2074, #2078)
                  • support use of linalg without MPI, add iimkl toolchain definition (#2082)
                  • spoof HTTP request header with empty agent (#2083)
                  • exclude dependencies of dependencies that extend $MODULEPATH in make_module_dep (#2091)
                • various bug fixes, including:
                  • make fetch_github_token more robust against RuntimeError from keyring (#2070)
                  • POWER: Fix --optarch=GENERIC for GCC (#2073)
                  • fix docstring in toolchain class (#2075)
                  • skip test cases involving .yeb if PyYAML is not installed, silence test in options subsuite (#2081)
                  • fix traceback with 'eb --check-github' if GitPython is not installed (#2085)
                  • fix regex for determining list of patched files in GitHub diff (#2088)
                  • modify robot so that it only appends dependencies of tweaked easyconfigs (#2090)
                  • escape metacharacters in paths passed to re.compile in dry_run_set_dirs (#2098)
                  • fix broken error message in get_toolchain_hierarchy + dedicated test case (#2099)

                easyblocks

                • new easyblock for FFTW (#1083)
                • various enhancements, including:
                  • update sanity check for flex 2.6.3, no more libfl_pic.a library (#1077)
                  • cleanup build before proceeding with full Boost (#1080)
                  • update CP2K easyblock: copy data dir, support version 4.1, support ELPA, fix psmp build with foss toolchain (#996, #1020, #1043, #1084)
                  • add sanity check support for OpenSSL 1.1 (#1087)
                  • support the latest changes in Inspector 2017 (#1047)
                  • update NEURON easyblock to support the lack of hoc_ed in 7.4 (#987)
                  • add support for WPS 3.8 (#1079)
                  • also consider setuptools in EasyBuildMeta easyblock (#1093)
                • various bug fixes, including:
                  • (correctly) define $ROSETTA3_DB in Rosetta easyblock (#1092)

                easyconfigs

                • added easyconfigs for foss/2017a and intel/2017a common toolchains (#3968, #3969)
                • added example easyconfig files for 16 new software packages:
                  • ack (#3983), cclib (#4065), ConnectomeWorkbench (#3411), GroIMP (#3994), hyperspy (#3991), I-TASSER (#1216), ImageJ (#4023, #4062), libconfig (#4051), libspatialindex (#4002), mahotas (#3990), Minia (#3949), muParser (#4007), NetLogo (#3941), QIIME (#3868), QwtPolar (#4019), Tensorflow (#4084, #4095)
                • added additional easyconfigs for various supported software packages, including:
                  • Boost 1.62.0 + 1.63.0, CP2K 4.1, GSL 2.3, PLUMED 2.3.0, Qt5 5.7.1, WRF 3.8, WPS 3.8, Yade 2016.06a, zlib 1.2.11
                • various enhancements, including:
                  • update FFTW 3.3.5 easyconfigs to use FFTW easyblock & enable running of tests (#3985)
                  • add FME extensions (+ deps) in R 3.3.1 easyconfigs (#4063)
                • various bug fixes, including:
                  • add libxml2 dependency on HDF5 (#3759)
                  • remove unnecessary dependency in libmatheval (#3988)
                  • fix permissions on SWASH binaries (#4003)
                  • add conda-forge channel to perl-app-cpanminus (#4012)
                  • add missing deps (libpthread-stubs, libpciaccess) to libdrm 2.4.70 (#4032)
                  • modloadmsg style fixes in multiple easyconfigs (#4035)
                  • include X11 as dep for Molden (#4082)
                  • remove incorrect definition for $ROSETTA3_DB, now (correctly) defined via Rosetta easyblock (#4083)
                • fix source URLs for several easyconfigs, including:
                  • arpack-ng 3.1.3 + 3.1.5 (#4050), ChIP-Seq 1.5-1 (#4050), Ghostscript 9.10, 9.14 + 9.16 (#4050), Git 1.7.12, 1.8.2 + 1.8.3.1 (#4050), HBase 1.0.2 (#4043), libevent 2.0.22 (#4037), libsodium 1.0.3 (#4046), lynx 2.8.7 (#4050), Maven 3.2.2 and 3.3.3 (#4039), MEME 4.8.0 (#4050), PCC 20131024 (#4044), S-Lang 2.3.0 (#4045), Spark 1.3.0 (#4041), splitRef 0.0.2 (#4040)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb302","title":"EasyBuild v3.0.2 (December 22nd 2016)","text":"

                bugfix release

                framework

                • various bug fixes, including:
                  • also skip dependencies of dependencies marked as external module in get_toolchain_hierarchy (#2042)
                  • disable verbose setvar in modules.py (#2044)
                  • force copying of easyconfigs in --new-pr/--update-pr, even when combined with -x (#2045)
                  • fix verification of filename for easyconfigs used to resolve deps (#2051)
                  • skip RPATH sanity check when toolchain did not use RPATH wrappers (#2052)
                  • check whether file-like paths are readable before reading them in systemtools module (#2065)
                • various small enhancements, including:
                  • add 'rpath' toolchain option to selectively disable use of RPATH wrappers (#2047)

                easyblocks

                • various enhancements, including:
                  • enhance DL_POLY_Classic easyblock to support building with Plumed support (REVIEW) (#829)
                  • make the Allinea easyblock search for the templates in the easyconfig paths (#1025)
                  • make FortranPythonPackage aware of (pre)buildopts (#1065)
                  • update sanity check for Mono to support recent versions (#1069)
                  • fix Eigen sanity check for latest version 3.3.1 (#1074)
                • various bug fixes, including:
                  • skip RPATH sanity check for binary installations (#1056)
                  • pass CXXFLAGS and LDFLAGS to Boost bjam (#1064)
                  • make pip ignore already installed versions of the package being installed (#1066)
                  • don't pass empty string as custom installopts for numpy in test_step (#1067)
                  • make the Rosetta EasyBlock work in --module-only mode (#1073)

                easyconfigs

                • added example easyconfig files for 13 new software packages:
                  • CryptoMiniSat (#3952), MATSim (#3902), Molcas (#2084), ne (#3376), psmc (#3910), PyCogent (#3897), PyNAST (#3897), RASPA2 (#3903, #3946), SimPEG (#3876), SolexaQA++ (#3892), taco (#3882), UCLUST (#3896), USPEX (#3767)
                • added additional easyconfigs for various supported software packages, including:
                  • Mono 4.6.2.7, PGI 16.10, ROOT 6.08.02
                • various enhancements, including:
                  • trivial style fixes (#3878, #3893, #3895)
                • various bug fixes, including:
                  • add X11 develop libs to ncview easyconfig (#3881)
                  • fix source_urls in pkg-config easyconfigs (#3907)
                  • install numpy/scipy as .egg to ensure shadowing of numpy/scipy in parent Python installation (#3921)
                  • fix broken source URL + homepage for Infernal (#3928)
                  • fix test that verifies dumped easyconfig, take into account that dumped dependencies may include hardcoded dependency (#3932)
                  • include libGLU as dependency in freeglut easyconfigs with recent Mesa (#3936)
                  • add patch for FreeSurfer to fix issue with MATLAB 2013 (#3954)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb301","title":"EasyBuild v3.0.1 (November 30th 2016)","text":"

                bugfix release

                framework

                • important changes
                  • always use Intel-specific MPI compiler wrappers (mpiicc, mpiicpc, mpiifort) for toolchains using both Intel compilers and Intel MPI (#2005)
                • various small enhancements, including:
                  • use setvar in modules.py to define environment variables (#2011)
                  • include output of sanity_check_commands in the build log (#2020)
                • various bug fixes, including:
                  • fix testing of bootstrap script in Travis config (#2003)
                  • use correct module syntax in bootstrap script if Lmod is not used (i.e. Tcl) (#2007)
                  • fix packaging issue with non-Python scripts in easybuild/scripts (#2015)
                    • fixes issue where RPATH wrapper template script (rpath_wrapper_template.sh.in) was not included in the v3.0.0 release
                  • make tests more robust against running headless (#2016)
                  • avoid rewrapping already wrapped compiler/linker command with RPATH wrapper script (#2022)
                  • fix log.error traceback due to 'raise EasyBuildError' involving a '%s' in error message (#2024)
                  • make sure 'modules_tool' attribute is also defined for extensions (#2026)
                  • only dump easyconfig with modified deps due to --minimal-toolchains to 'reprod' subdir of install dir (#2028)
                  • avoid appending '-h' to sanity check commands specified as a string (#2030)
                  • fix bug in list_software_rst: always include version suffix regardless of value (#2032)

                easyblocks

                • various enhancements, including:
                  • update SAMtools easyblock for recent versions (#1048)
                • various bugfixes, including:
                  • fix QuantumESPRESSO easyblock to handle gipaw correctly (#1041)
                  • always specify name of serial Fortran compiler to ALADIN, it already knows to use MPI wrapper commands (#1050)

                easyconfigs

                • added example easyconfig files for 7 new software packages:
                  • Cookiecutter (#3827), ETE (#3857), findhap (#3860), graphviz (Python bindings, #3826), LoFreq (#3856), PhyloBayes-MPI (#3859), XGBoost (#3849)
                • added additional easyconfigs for various supported software packages
                • various enhancements, including:
                  • add ipywidgets and widgetsnbextension extensions to IPython 5.1.0 easyconfigs (#3818, #3823)
                  • run dadi test suite as a sanity check command (#3858)
                • various bug fixes, including:
                  • fix incorrect descriptions for ifort (#3817)
                  • fix modulename for Jinja2 and Pygments (#3823)
                  • fix download URL in BLAST 2.2.26 easyconfig (#3861)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb300","title":"EasyBuild v3.0.0 (November 16th 2016)","text":"

                feature release

                framework

                • backward-incompatible changes:
                  • make robot always consider subtoolchains, even without --minimal-toolchains (but in reverse order) (#1973)
                  • clean up behaviour that was deprecated for EasyBuild v3.0 (#1978)
                  • change default config to use Lmod/Lua for modules tool/syntax, GC3Pie as job backend (#1985)
                  • the minimal required version of Lmod was bumped to 5.8 (#1985)
                • major new features:
                  • (experimental) support for RPATH linking via --rpath (#1942)
                    • see http://easybuild.readthedocs.org/en/latest/RPATH-support.html
                  • add support for --consider-archived-easyconfigs (#1972)
                    • see http://easybuild.readthedocs.org/en/latest/Archived-easyconfigs.html
                  • stabilize --new-pr and --update-pr (#1979)
                    • see http://easybuild.readthedocs.org/en/latest/Integration_with_GitHub.html
                • various other small enhancements, including:
                  • add support for 'devel' log level (#1815)
                  • make remove_file aware of --extended-dry-run + add dedicated unit test (#1932)
                  • add support for filtering out setting/updating particular environment variables from generated modules (#1943)
                    • see --filter-env-vars
                  • clean up output of EasyBuild bootstrap script & add version (#1944)
                  • improved ARM platform/CPU detection (#1953)
                  • use '0' as letter dir for funky software names that don't start with a letter, e.g., 3to2 (#1954)
                  • make bootstrap script aware of vsc-install for offline installation (#1955)
                  • add support for blas_family() and lapack_family() methods in Toolchain instances (#1961)
                  • make copy_file dry-run aware (#1963)
                  • reorganise test easyconfigs to match structure in easyconfigs repo (#1970)
                  • add a toolchain compiler option for enforcing IEEE-754 conformance (#1975)
                  • support for intelcuda compiler toolchain (#1976)
                  • check that each glob pattern matches at least one file expand_glob_paths (important for --include-*) (#1980)
                  • enhance bootstrap to auto-skip stage 0 in case a suitable setuptools is already available (#1946, #1984)
                  • simplify GC3Pie version check (#1987)
                  • include suggestion on how to change configuration w.r.t. modules tool/syntax (#1989)
                • various bug fixes, including:
                  • fix test for find_easybuild_easyconfig (#1931)
                  • remove existing module file under --force/--rebuild (#1933)
                  • fix combining --search and --try-* (#1937)
                  • fix appending to existing buildstats in FileRepository.add_easyconfig (#1948)
                  • fix handling of iterate easyconfig parameters, restore them during cleanup (#1949)
                  • fix filtering loads for (hidden) build deps from generated module (#1959)
                  • handle multi-flag compiler options on all types of options (#1966)
                  • fix --list-software by making letter_dir_for function aware of '*' wildcard name (#1969)
                  • skip dependencies of toolchain marked as external modules when determining module hierarchy (#1977)
                  • bump page limit in fetch_latest_commit_sha, spit out more meaningful error if too many branches were encountered (#1981)
                  • fix CUDA-related issues in HierarchicalMNS (#1986)

                easyblocks

                • backwards incompatible changes:
                  • remove deprecated GenomeAnalysisTK/GATK easyblock (#1001)
                  • remove deprecated 'get_netcdf_module_set_cmds' function from netCDF easyblock (#1015)
                  • remove deprecated 'get_blas_lib' function from LAPACK easyblock (#1016)
                  • remove QLogicMPI easyblock (#1023)
                • new easyblock for installing Anaconda (#950)
                • add generic easyblock for Conda installations (#950)
                • various enhancements, including:
                  • enable use of GCCcore as toolchain for Clang, fail if no GCC prefix is found (#1002)
                  • also build Boost MPI library in parallel (#1005, #1038)
                  • enhance g2clib easyblock to allow to install 1.6.0 or higher (#1006)
                  • update QuantumESPRESSO easyblock to support packaging changes in 6.0 (#1007)
                  • add support to Scons generic easyblock to provide argument to specify installation prefix (#1008)
                  • update IntelBase and imkl easyblocks to handle the 2017 versions of compilers/imkl (#1012)
                  • leverage toolchain.linalg functionality in ScaLAPACK easyblock, use copy_file (#1014)
                  • allow netCDF-C++4 to be used with ESMF (#1019)
                  • update Advisor easyblock to support latest versions (#1021)
                  • update CBLAS easyblock to build with foss toolchain (#1024)
                  • update Gurobi easyblock to use copy_file (#1028)
                  • add support for giving /lib preference over /lib64 & co in GCC installation (#1030, #1035)
                  • enable installation of libiberty by default for binutils (#1030)
                  • avoid CMake fiddling with the RPATHs injected by EasyBuild via --rpath in CMakeMake and METIS easyblocks (#1031, #1034)
                  • simplify scipy sanity check to make it more robust w.r.t. version updates (#1037)
                • various bug fixes, including:
                  • make sure 'None' doesn't appear in modules generated with --module-only (#998)
                  • fix ATLAS easyblock for non-x86 systems (#1003)
                  • fix 'usempi' and 'with_mpi' usage to allow for a serial build of Amber 16 (#1013)
                  • add both lib/python2.7/site-packages/{,wx-3.0-gtk2} to $PYTHONPATH for wxPython (#1018)
                  • only hard inject RPATH for /usr/lib* directories when building binutils with dummy toolchain (#1026)
                  • make HDF5 easyblock handle --filter-deps correctly (#1027)
                  • update Travis config w.r.t. changes framework config defaults and required Lmod version (#1029)
                  • be more patient when running Mathematica Q&A installer (#1036)

                easyconfigs

                • backwards incompatible changes:
                  • archive easyconfigs using old inactive toolchains
                    • see #3725, #3728, #3729, #3730, #3731, #3732, #3733, #3735, #3736, #3737, #3738
                    • only taken into account by EasyBuild if --consider-archived-easyconfigs is enabled
                    • no easyconfigs available outside of archive for QLogicMPI + 15 toolchains:
                      • ClangGCC, cgmpich, cgmpolf, cgmvapich2, cgmvolf, cgompi, cgoolf, gmacml, goalf, gpsmpi, gpsolf, iiqmpi, intel-para, ipsmpi, iqacml
                  • fix name in PyTables easyconfigs (was 'pyTables') (#3785)
                • added example easyconfig files for 32 new software packages:
                  • 3to2 (#3655), Anaconda2 (#3337), Anaconda3 (#3337), ART (#3724), atools (#3631), awscli (#3645), behave (#3751), Blosc (#3785), bokeh (#3790), Cantera (#3655), Cargo (#3764), dadi v1.7.0, distributed (#3786), ea-utils (#3634), Elk (#3644), FGSL (#3638), gencore_variant_detection (#3337), help2man (#3768), lbzip2 (#3791), Log-Log4perl (#3574), Minimac2 (#3783), mypy (#3694), OBITools (#3573), perl-app-cpanminus (#3337), PGDSpider (#3625), prokka (#3755), Reads2snp (#3609), spglib-python (#3620), SUNDIALS (#3654, #3655), SelEstim (#3626), XMLStarlet (#3797), x265 (#3090)
                • added easyconfigs for new 'intelcuda' toolchain (#3750)
                • added new easyconfigs for existing toolchains:
                  • goolfc/2016.08 (#3796), goolfc/2016.10 (#3666, #3775), intel/2017.00 (#3543), intel/2017.01 (#3757), iomkl/2016.09-GCC-4.9.3-2.25 (#3680), iomkl/2016.09-GCC-5.4.0-2.26 (#3772)
                • added additional easyconfigs for various supported software packages, including:
                  • Advisor 2017 update 1, Amber 16, ATLAS 3.10.2, GROMACS 2016, Octave 4.0.3, OpenFOAM 3.0.1, PyTables 3.3.0, QuantumESPRESSO 6.0, Rust v1.12.1
                • various other enhancements, including:
                  • STREAM builds using ~56GiB and ~111GiB (#3670)
                • various bug fixes, including:
                  • fix source spec in VASP easyconfig, ensure static linking with Intel MKL (#3381)
                  • fix source URL in GCCcore 6.2.0 easyconfig (#3608)
                  • correct STAMP dependency in i-cisTarget, must be 1.3 (#3613)
                  • consistently specify to use -fgnu89-inline flag in M4 1.4.17 easyconfigs (#3623)
                  • fix source URLs for Cython (#3636)
                  • add Bison as build dep and M4 as runtime dep for flex 2.6.0 (#3656)
                  • enable parallel building of flex 2.6.0 (#3630)
                  • add zlib and bzip2 dependencies to X11 bundle (#3662)
                  • use 'letter_dir_for' function rather than just grabbing 1st letter of software name in easyconfigs tests (#3664)
                  • add patch to fix typo in GRIT 2.0.5 (#3675)
                  • fix typo in patch for WRF 3.8.0 (#3702)
                  • use $CC, $CXX rather than $I_MPI_CC, $I_MPI_CXX in patch for OpenFOAM 4.0 (#3703)
                  • patch FLTK to fix 'undefined symbol' issue when building Octave (#3704)
                  • include Pillow as a proper dep for scikit-image rather than as extension, since it has deps itself (#3723)
                  • update Travis config w.r.t. changes framework config defaults and required Lmod version (#3773)
                  • don't limit parallellism to 4 in recent GCC easyconfigs (#3776, #3777, #3778)
                  • include M4 as dependency in flex 2.5.39 easyconfigs + fix consistency issues (#3782)
                  • consistently apply patch for ncurses 6.0 (#3792)
                  • eliminate dependency on mpi-mic-rt in ifort (#3793)
                  • include Autotools as build dependency in all beagle-lib and MrBayes easyconfigs (#3794)
                  • make OpenBLAS use the LAPACK version specified in the easyconfig (v0.2.18 & v0.2.19) (#3795)
                  • include original download URL for ISL source tarball in GCC easyconfigs (#3798)
                  • disable installing libiberty for binutils built with intel toolchain (#3802)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb290","title":"EasyBuild v2.9.0 (September 23rd 2016)","text":"

                feature release

                framework

                • note: vsc-base 2.5.4 or more recent is now required
                • various small enhancements, including:
                  • change option --color choices to auto/always/never (#1701, #1898, #1911)
                  • add support for 'hidden' easyconfig parameter (#1837)
                  • add support for using ccache and f90cache compiler caching tools (#1844, #1912)
                    • see --use-ccache and --use-f90cache
                  • update Cray metadata for 16.06 CrayPE release (#1851)
                  • also include patch files in --new-pr and --update-pr (#1852)
                  • handle deleted files in --new-pr (#1853)
                  • add support for --install-latest-eb-release (#1861)
                  • add support for hiding toolchains, see --hide-toolchains and 'hidden' key in 'toolchain' spec (#1871)
                  • add template for GitHub source URL (#1872)
                  • add support for combining --new-pr/--update-pr and --robot (#1881)
                  • add support for --list-software and --list-installed-software (#1883, #1910, #1917)
                  • print message on which extension is being installed, incl. progress counter (#1886, #1914)
                  • add support for --github-org to specify GitHub organisation rather than GitHub user (#1894)
                  • add support for running Lmod in debug mode (#1895)
                  • avoid needless use of deepcopy, speed up support for templating in easyconfigs (#1897)
                  • convert all_dependencies to a property in EasyConfig class (#1909)
                  • add support for --mpi-cmd-template (#1918)
                  • add support for --disable-mpi-tests (#1920)
                • various bug fixes, including:
                  • merge with develop when using --from-pr (#1838, #1867)
                  • ensure --new-pr doesn't open empty pull requests (#1846)
                  • better error handling for outdated GitPython module in --check-github (#1847)
                  • fix formatting for generated easyblocks documentation (#1860)
                  • make sure the robot ignores filtered dependencies when creating toolchain cache (#1862)
                  • honor --filter-deps under --minimal-toolchains (#1863)
                  • correct format for 'param' and 'author' tags in docstrings (#1866)
                  • ignore failing bootstrap test in Travis config file (#1870)
                  • make sure all output of executed command is included in generated temporary log file (#1873, #1874)
                  • ensure --show_hidden is used in the correct location for 'avail' with Lmod (#1875)
                  • make sure self.path is passed down in copy method of EasyConfig object (#1884)
                  • take into account possible multi-line modloadmsg in ModuleGeneratorLua (#1885)
                  • fix extracting .bz2 source files (#1889)
                  • don't resolve path to Lmod command (#1892)
                  • fix skipping of stage 0 in bootstrap script (#1893)
                  • fix function signature of log.deprecated compared to fancylogger.deprecated (#1896, #1899)
                  • apply patch to Tcl/C environment modules tool for Tcl 8.6 support in Travis config (#1901)
                  • fix combining --extended-dry-run with --from-pr (#1902)
                  • also template dict keys (#1904)
                  • don't pass '--try-*' command-line options to EB instance running within job script (#1908)
                  • add workaround for incorrectly passing command line arguments with --job (#1915)
                  • fix issues with --module-only (#1919, #1924, #1925)
                    • correctly deal with specified start_dir
                    • do not remove installation directory when build-in-installdir is enabled
                  • make sure 'which' function returns path to a file (#1921)
                  • fix :param:, :return: tags in docstrings & add test for it (#1923)

                easyblocks

                • new easyblocks for 6 software packages that require customized support:
                  • cppcheck (#983), HEALPix (#982), IMOD (#847), IronPython (#321), Mono (#321), MyMediaLite (#321)
                • various enhancements, including:
                  • extend OpenFoam-Extend sanity check for decomp libraries (#784)
                  • enhance Java easyblock to support installing Java 6.x (#940)
                  • make QuantumESPRESSO easyblock aware of multithreaded FFT (#954)
                  • extend PSI easyblock to use PCMSolver and CheMPS2 (#967)
                  • make Boost easyblock add definition for $BOOST_ROOT to generated module file (#976)
                  • add support to Bundle easyblock to install list of components (#980)
                  • enhance & clean up libxml2 easyblock to also enable installing without Python bindings (#984)
                  • update Libint easyblock for Libint 2.1.x (#985)
                  • update sanity check for OpenFOAM to support OpenFOAM 4.x (#986)
                  • make easyblocks that run MPI tests aware of 'mpi_tests' build option (#993)
                • various bug fixes, including:
                  • fix compatibility of OpenFOAM easyblock with --module-only (#784)
                  • fix testing of --module-only compatibility for OpenFOAM and IMOD easyblocks (#784)
                  • add 'include/libxml2' to $CPATH in libxml2 easyblock (#981)
                  • fix compatibility of IntelBase generic easyblock with --module-only (#994)
                  • make sure correct config script is used for Tcl/Tk deps of R (#995)

                easyconfigs

                • added example easyconfig files for 88 new software packages:
                  • ADMIXTURE (#3359), angsd (#3593), ASHS (#3429), AutoDock (#3465), AutoGrid (#3466), BayeScan (#2748, #3356), BayPass (#3451), Bazel (#3379), Blender (#3553, #3558), bwakit (#3567), BXH_XCEDE_TOOLS (#3410), CastXML (#3403), CHASE (#3304), configparser (#3368, #3424), configurable-http-proxy (#3380), cppcheck (#3508), CRPropa (#779), DicomBrowser (#3432), DMTCP (#3422), entrypoints (#3368, #3424), f90cache (#3570), fastPHASE (#3343), fastQValidator (#3192), FFindex (#1135), FragGeneScan (#1198), gdc-client (#3399), gflags (#3417), glog (#3417), GRIT (#3561), H5hut (#3431), HAPGEN2 (#3344), HEALPix (#779), IMOD (#1187, #3347), IronPython (#607), jhbuild (#3476), jupyterhub (#3380), Keras (#3581), khmer (#1158), LeadIT (#3345, #3599), LevelDB (#3417), libbitmask (#3481), libcpuset (#3481), LMDB (#3417), log4cplus (#1136), MACH (#3346), Mako (#3460), Maq (#3428), MetaGeneAnnotator (#3307), Metal (#3324), Mono (#607), MyMediaLite (#607), nco (#2575), nose-parameterized (#3579), OpenEXR (#3553), OpenImageIO (#3553), path.py (#3368, #3424), PCRE2 (#3325), pftoolsV3 (#3317), PHASE (#3385), PLAST (#3288), PLINKSEQ (#3402), POV-Ray (#3551), ProbABEL (#3108), prompt-toolkit (#3368, #3424), protobuf-python (#3563), PSORTb (#3317), py (#3403, #3482), pygccxml (#3403, #3482), pyGIMLi (#3403, #3482), pyplusplus (#3403, #3482), PyQt5 (#3533), Pyro4 (#3527), pytest (#3403, #3482), QCA (#3595), RDMC (#1137), S.A.G.E. (#3427), SDL2 (#3551), SHORE (#3531), SimVascular (#3555), SortMeRNA (#3326), SUMACLUST (#3316), SUMATRA (#3316), Text-CSV (#3323), Triangle (#3403), VEGAS (#3457), VirSorter (#3307), wcwidth (#3368, #3424), X11 (#3340)
                • added new easyconfigs for existing toolchains:
                  • CrayGNU + CrayIntel 2016.06 (#3377)
                  • foss 2016.07 (#3517) + 2016.09 (#3523)
                  • iomkl 2016.07 (#3458)
                  • pomkl 2016.09 (#3516)
                • added additional easyconfigs for various supported software packages, including:
                  • FFTW 3.3.5, GCC 4.9.4 + 6.2.0, GROMACS 5.1.4, IPython 5.1.0, LLVM 3.9.0, Mesa 12.0.1, OpenCV 3.1.0, OpenFOAM 4.0, OpenMPI 2.0.1, ParaView 5.1.2, PGI 16.7, QuantumESPRESSO 5.4.0, Qt5 5.7.0, R-bundle-Bioconductor 3.3, VTK 7.0.0, Yade 2016.06a
                • various enhancements, including:
                  • adjust PSI4 easyconfigs for updated easyblock (#3312)
                  • clean up libxml2 easyconfigs according to updated libxml2 easyblock (#3479, #3509)
                  • significantly speed up verifying of dumped easyconfig by resorting to 'shallow' parsing (#3520)
                  • include sanity checks for all MATIO config files (#3528)
                  • remove --with-tcl-config/--with-tk-config from R easyconfig, already done in R easyblock (#3580)
                • various bug fixes, including:
                  • disable testing in all ParaView 4.4.0 easyconfigs, required download is too much of a PITA (#3178)
                  • add SQLite as dep to GDAL 2.1.0 easyconfigs (#3342)
                  • add zlib/SQLite/LibTIFF as dep to R 3.3.1 easyconfigs (#3342)
                  • add bzip2 as a dependency of freetype (#3464)
                  • specify correct MPI target in FDS easyconfigs (#3488)
                  • add tcsh as OS dep in NAMD easyconfigs (#3491)
                  • statically link ncurses/libreadline in Lua easyconfig with 'dummy' toolchain (#3545)
                  • add M4 as dep for flex 2.6.x (#3542, #3550)
                  • add bzip2 and libxcb dependencies to FFmpeg 3.x easyconfigs (#3548)
                  • make sure & check that Graphviz does not install Tcl bindings in Tcl install prefix (#3556)
                  • add missing patches for extensions in Python 3.x easyconfigs (#3557)
                  • add missing XZ dependency to libxml2 2.9.4 easyconfigs, change gettext dep of XZ to build-only dep (#3568)
                  • enable running of tests for HPCG (#3578)
                  • fix buildopts in tabix easyconfigs (#3584)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb282","title":"EasyBuild v2.8.2 (July 13th 2016)","text":"

                bugfix release

                framework

                • various small enhancements, including:
                  • add support for rst output for --list-* and --avail-* (#1339)
                  • add support for 'eb --check-conflicts' (#1747, #1807, #1833)
                  • ensure nice error message when non-existing path is passed to apply_regex_substitutions (#1788)
                  • add check for module output, empty stdout is a sign of trouble with Lmod (#1793)
                  • add multi-threaded FFT to toolchain (#1802)
                  • avoid special characters like '[', ']' in path to temporary directory (#1808)
                  • add support for --zip-logs (#1820)
                  • add support for --extra-modules (#1821)
                  • add type conversion for 'checksums' and 'patches' parameter in .yeb easyconfigs (#1826, #1840)
                  • add support for filtering tests by name (#1828)
                  • add support for --avail-toolchain-opts (#1830, #1839)
                  • use absolute path for robot and easyconfig files (#1834)
                  • add backup URL for tarballs hosted on SourceForge in install_eb_dep.sh script (#1843)
                • various bug fixes, including:
                  • fix installation of Lua in install_eb_dep.sh script (#1789)
                  • fix OpenMP flag for Cray compiler wrappers (#1794)
                  • only reset $MODULEPATH before loading a module if environment was reset (#1795)
                  • include vsc-install as dependency in setup.py (#1805)
                  • cache $PATH & $PYTHONPATH in test setUp, restore them in tests where 'eb' is used (#1806)
                  • don't reset $MODULEPATH in stage 2 of bootstrap script, support forced installation during stage 2 (#1810)
                  • fix issue with templates defined by deps being required while still parsing deps (#1812)
                  • skip unneeded unuse/use commands on tail of $MODULEPATH in check_module_path (#1813)
                  • fix auto-convert for all *dependencies params in .yeb easyconfigs, ensure version is a string (#1818)
                  • fix keyring version in Travis config (#1819)
                  • fix dumping of .yeb easyconfig files in easyconfigs archive (#1822)
                  • fix format of supported easyconfig templates in help output (#1825)
                  • stick to pydot 1.1.0 for Python 2.6 in Travis config (#1827)

                easyblocks

                • new easyblocks for 5 software packages that require customized support:
                  • Amber (#958), Extrae (#955), Gurobi (#962), Paraver (#956), Tau (#887)
                • various enhancements, including:
                  • add support for building & installing old GROMACS versions (#569, #960)
                  • add support for building Boost with Cray toolchain (#849)
                  • libxsmm support for CP2K (#942)
                  • pick up specified components for imkl (#943)
                  • add support for building GROMACS with double precision (#946, #960)
                  • add support for building GROMACS with CUDA support and using dynamic libraries using Cray toolchains (#951, #960)
                  • also install vsc-install in EasyBuildMeta easyblock, if tarball is provided (#957)
                  • enhance PSI easyblock to support PSI4 1.0 (#965)
                • various bug fixes, including:
                  • also install scripts with MRtrix 0.3.14 (#941)
                  • enhance Qt easyblock to support Qt3 (#944)
                  • create 'release' symlink in MRtrix install dir (#947)
                  • fix make_installdir in Inspector & VTune easyblocks (#952)
                  • make Binary and MakeCp easyblocks aware of 'keepsymlinks' (#959)
                  • correctly define $G4* environment variables in Geant4 easyblock (#961, #970)
                  • prepend tmp install path to $PYTHONPATH in numpy test step, move to build dir when removing 'numpy' subdir (#963)
                  • correct full path to ALADIN config file & patch it to use right Fortran compiler flags (#964)
                  • ensure correct compiler command/flags are used for SAMtools (#966)

                easyconfigs

                • added example easyconfig files for 54 new software packages:
                  • Amber (#3200), Bullet (#3175), CONTRAlign (#690), Cluster-Buster (#3191), damageproto (#3222, #3308), DCA++ (#3219), EIGENSOFT (#3147, #3163), Extrae (#507), fdstools (#3237), ffnet (#3273), GP2C (#3257), Gurobi (#3239), gc (#3202, #3261), gputools (#546), IMa2p (#3300), IOzone (#3253), i-cisTarget (#3191, #3194), icmake (#3243), io_lib (#3255), Kent_tools (#3191), libcmaes (#3256), libpsortb (#3259), libxsmm (#3099), MEGACC (#3263), MM-align (#1428), MOSAIK (#880), MView (#1345), MySQL-python (#3172, #3189), magma (#3219), mrFAST (#862), mrsFAST (#862), mysqlclient (#3172, #3232), NTL (#3183), PARI-GP (#3257), Paraver (#508), psutil (#3171, #3231), PSI4 (#3293), Qwt (#3157), RMBlast (#3142), STAMP (#3191), Seqmagick (#3264), splitRef (#946), TAU (#509), TRF (#3141), TVB (#3053, #3247, #3251), TVB-deps (#3053, #3247, #3251), tvb-data (#3053, #3247, #3251), tvb-framework (#3053, #3247, #3251), tvb-library (#3053, #3247, #3251), VampirTrace (#509), Voro++ (#3174), wheel (#3235), wxPropertyGrid (#508), xonsh (#3159)
                • added easyconfigs for update of common toolchains: foss/2016b (#3271), intel/2016b (#3270)
                • added new easyconfigs for existing toolchains: CrayGNU/2016.03 & CrayGNU/2016.04 (#3291), foss/2016.06 (#3184), intel/2016.03-GCC-5.4 (#3185)
                • added additional easyconfigs for various supported software packages, including:
                  • Boost 1.61.0, GCC 5.4.0, GROMACS 3.3.3, HDF5 1.8.17, netCDF 4.4.1, numpy 1.11.0, Perl 5.24.0, PETSc 3.7.2, Python 2.7.12, Python 3.5.2, Qt 3.3.8, R 3.3.1
                • various enhancements, including:
                  • use check_conflicts function in easyconfigs tests (#2981)
                  • also include vsc-install in list of sources for recent EasyBuild easyconfigs, to support offline installation (#3203)
                  • enable building of libmysqld.* in MariaDB easyconfigs (#3230)
                  • add ALDEx2, phyloseq to bundles for Bioconductor 3.2 (#3211, #3241)
                  • add biom, geepack, lubridate, pim to list of R 3.2.3 extensions (#3186, #3211, #3275)
                • various bug fixes, including:
                  • add patch for Boost 1.60.0 to fix bug resulting in TypeError (#3162)
                  • add fftw dependency to CP2K 2.6.0 easyconfigs using CrayGNU (#3176)
                  • fix location of libelf.h, only (also) installed as include/libelf.h is there's no /usr/include/libelf.h (#3201)
                  • fix software name for Guile & GnuTLS (was 'guile' & 'gnutls') (#3207)
                  • added missing space in Geant4 configopts to specify -DGEANT4_INSTALL_DATA (#3209)
                  • fix Cython download URL in Python 2.7.11 easyconfigs (#3212)
                  • add missing build deps for X stack in easyconfigs using foss/2016a or intel/2016a (#3222, #3308)
                  • fix overruling of exts_list in Perl 5.22.2 easyconfig (#3224)
                  • add missing dependency on GMP in R 3.2.3 easyconfigs (#3226)
                  • don't hard specify toolchain for binutils build dep in likwid easyconfig, since it matches parent toolchain (#3240)
                  • fix homepage & source_urls in HMMER easyconfigs (#3246)
                  • stick to pydot 1.1.0 for Python 2.6 in Travis config (#3282)
                  • add python-dev(el) to OS deps in GC3Pie easyconfigs (#3310)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb281","title":"EasyBuild v2.8.1 (May 30th 2016)","text":"

                bugfix release

                framework

                • various bug fixes, including:
                  • fix error message on missing module command in bootstrap script (#1772)
                  • expand '~' in paths specified to --include-* (#1774)
                  • break after deleting cache entry to avoid attempt to delete cache entry again (#1776)
                  • avoid changing $MODULEPATH when prepending with symlink of path already at head of $MODULEPATH (#1777)
                  • filter out duplicates in find_flexlm_license (#1779)
                  • stick with GitPython < 2.0 with Py2.6 in Travis configuration (#1781)
                  • don't use LooseVersion to define version_major/version_minor (#1783)

                easyblocks

                • various enhancements, including:
                  • update MRtrix easyblock for version 0.3.14 (#932)
                  • update Inspector easyblock for recent versions (#934)
                  • update VTune easyblock for recent versions (#935)
                  • add debug message to IntelBase easyblock w.r.t. switching to 'exist_lic' (#936)

                easyconfigs

                • added example easyconfig files for 13 new software packages:
                  • drFAST (#906), git-lfs (#2478), grabix (#3127), JWM (#3007), libcroco (#3007), librsvg (#3007), MaCH (#3136), mayavi (#3106), OpenMM (#2762), Pysam (#3080), SeqPrep (#3097), vt (#3128), wkhtmltopdf (#3098)
                • added new easyconfigs for existing toolchains: intel/2016.03-GCC-4.9 (#3088)
                • added additional easyconfigs for various supported software packages, including:
                  • Boost 1.61.0, ESMF 7.0.0, Inspector 2016 update 3, IPython 4.2, netCDF-C++4 4.3.0, netCDF-Fortran 4.4.4, Perl 5.22.2, VTune 2016 update 3
                • various bug fixes, including:
                  • apply libreadline patch to fix bug triggering segmentation fault (#3086)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb280","title":"EasyBuild v2.8.0 (May 18th 2016)","text":"

                feature + bugfix release

                framework

                • significant speedup improvements of EasyBuild itself, thanks to:
                  • stop creating ModulesTool instances over and over again (#1735)
                  • cache result of 'module avail' calls (#1742)
                • add support for using PGI as toolchain compiler (#1342, #1664, #1759, #1761, #1764)
                  • incl. new toolchain definitions pompi and pomkl (#1724)
                • add test configuration for Travis (#1733, #1737, #1743, #1767)
                • various other enhancements, including:
                  • add get_total_memory() function in systemtools module (#1623)
                  • ignore __init__.py files in --include-* (#1704)
                  • use -fopenmp rather than -openmp for Intel compilers, since -openmp is deprecated (#1718)
                  • add modules to metadata for Cray modules (#1721)
                  • make sure user write permissions are set after failed removal attempt of installation directory (#1722)
                  • escape special characters in software name in find_related_easyconfigs (#1726)
                  • add support for CrayPGI compiler toolchain (#1729)
                  • ensure read permission to all installed files for everybody (unless other options specify otherwise) (#1731)
                  • also consider $LMOD_CMD in bootstrap script (#1736)
                  • translate PyPI download URL to alternate URL with a hash (#1749)
                  • make get_software_libdir compatible with -x (#1750)
                  • set $LMOD_REDIRECT to 'no' when initialising Lmod (#1755)
                  • add test for broken modules tool setup affecting 'module use' (#1758)
                • various bug fixes, including:
                  • isolate 'options' tests from easyblocks other than the ones included in the tests (#1699)
                  • don't run 'module purge' in tests, since EasyBuild may be made available through a module (#1702)
                  • avoid rehandling --include-* options over and over again during --show-config (#1705)
                  • remove useless test_cwd (#1706)
                  • fix bootstrap script: make sure setuptools installed in stage0 is still available at end of stage1 (#1727)
                  • forcibly create target branch in --update-pr (#1728)
                  • remove check whether 'easybuild' is being imported from dir that contains easybuild/__init__.py (#1730)
                  • (re)install vsc-base during stage1 using --always-copy in bootstrap script, if needed (#1732)
                  • use os.path.realpath in test_wrong_modulepath to avoid symlinked path breaking the test (#1740)
                  • unset $PYTHONPATH in before tested bootstrapped EasyBuild module (#1743)
                  • take into account that paths in modulepath may be symlinks in test_module_caches (#1745)
                  • change to install dir rather than buildpath in sanity check of extension, latter may not exist (#1746, #1748)
                  • only load modules using short module names (#1754)
                  • (re)load modules for build deps in extensions_step (#1762)
                  • fix modpath_extensions_for method: take into account modules in Lua syntax (#1766)
                  • fix broken link to VSC website in license headers (#1768)

                easyblocks

                • add test configuration for Travis (#895, #897, #900, #926)
                • new easyblocks for 4 software packages that require customized support:
                  • binutils (#907), libQGLViewer (#890), SuperLU (#860), wxPython (#883)
                • various other enhancements, including:
                  • update SuiteSparse easyblock for version >= 4.5 (#863)
                  • enhance imkl easyblock to install on top of PGI (#866, #916)
                  • enable runtime logging of install cmd in IntelBase (#874)
                  • enhance Qt easyblock to support installing with dummy toolchain (#881)
                  • delete libnuma symbolic links in PGI installation directory (#888)
                  • enhance PDT easyblock to support installing with dummy toolchain (#894)
                  • add support for building Clang with OpenMP support (#898)
                  • update Score-P easyblock for additional compilers, MPI libraries & dependencies (#889)
                  • drop deprecated 'testrb' from sanity check in Ruby easyblock (#901)
                  • enhance WRF easyblock to support versions >= 3.7 (#902)
                  • update QuantumESPRESSO easyblock for version 5.3.0 (#904)
                  • add support in PythonPackage easyblock to use 'setup.py develop' (#905)
                  • update Qt easyblock for Qt 5.6.0 (#908)
                  • extend bzip2 easyblock to also build dynamic libraries (#910)
                  • make threading an explicit option rather than relying on MPI library in SCOTCH easyblock (#914)
                  • update PGI easyblock to install siterc file so PGI picks up $LIBRARY_PATH (#919)
                  • enhance sanity check paths for compiler commands in PGI easyblock (#919)
                  • also filter out -ldl from $LIBBLAS & co for Intel MKL in numpy easyblock (#920)
                  • define $MIC_LD_LIBRARY_PATH for impi (#925)
                • various bug fixes, including:
                  • don't hardcode Python version in test_make_module_pythonpackage (#876)
                  • make PythonPackage easyblock compatible with --module-only (#884, #906)
                  • remove check whether 'easybuild' is being imported from dir that contains easybuild/__init__.py (#891)
                  • fix passing compiler configure option in PDT easyblock (#894)
                  • fix bug in Score-P easyblock w.r.t. --with-libbfd (#889)
                  • fix extension filter for Ruby (#901)
                  • fix ACTIVATION_TYPES list in IntelBase + minor style change (#913)
                  • correctly define $MIC_LD_LIBRARY_PATH in imkl 11.3.x and newer (#915)
                  • fix broken link to VSC website in license headers (#927)

                easyconfigs

                • added example easyconfig files for 69 new software packages:
                  • ALPS (#2888), annovar (#3010), BayeScEnv (#2765), BayesAss (#2870), BerkeleyGW (#2925), Blitz++ (#2784, #3004), bam-readcount (#2850), Commet (#2938), CrossTalkZ (#2939), cuDNN (#2882), DBus (#2855), DFT-D3 (#2107), DIAL (#3056), dask (#2885), dbus-glib (#2855), FFLAS-FFPACK (#2793), FLAC (#2824), FLANN (#3015, #3029), FLEUR (#3043), GConf (#2855), GROMOS++ (#1297), GST-plugins-base (#2855), GStreamer (#2855), GTOOL (#2805), Givaro (#2793), gdist (#2935), gromosXX (#1297), HISAT2 (#2809), i-PI (#2940), Kraken (#3037, #3041), LAME (#2823), LASTZ (#3002), LinBox (#2793), Loki (#2839), libQGLViewer (#2923, #3008), libXxf86vm (#2855), MDSplus (#2787, #2838, #3027), MRIcron (#2831), Mawk (#2732), minieigen (#2839), mpmath (#3058), NBO (#3047, 3048), NGS (#2803), NGS-Python (#2810), ncbi-vdb (#2808), OptiX (#2795), PCL (#3024), PEAR (#2731), PLplot (#2990), Postgres-XL (#2891), PyGTS (#2969), RSeQC (#2788), Rust (#2920, #2943), rainbow (#2730), SHAPEIT (#2806), SIONlib (#2908), Saxon-HE (#2773), Singularity (#2901), SoX (#2825), Subread (#2790), SuperLU (#2665), travis (#2953), VASP (#2950), Wannier90 (#2906, #3042), wget (#3041), wxPython (#2855), xf86vidmodeproto (#2855), Yade (#2839), Yambo (#2932)
                • add test configuration for Travis (#2942, #2944, #2954, #3061)
                • added easyconfigs for new PGI-based toolchains
                  • pomkl/2016.03 (#2899, #2900, #3046), pomkl/2016.04 (#3044), CrayPGI/2016.04 (#2927)
                • added new easyconfigs for existing toolchains:
                  • foss/2016.04 (#3013), intel/2016.02-GCC-5.3 (#2523), intel/2016.03-GCC-5.3 (#3009)
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • incl. CGAL 4.8, Clang 3.8.0, icc/ifort 2016.2.181 & 2016.3.210, imkl 11.3.2.181 & 11.3.3.210, impi 5.1.3.181, LLVM 3.8.0, OpenCV 2.4.12, pandas 0.18.0, Qt 5.6.0, Scalasca 2.3, Score-P 2.0.1, SuiteSparse 4.5.2, WRF 3.8
                • various other enhancements, including:
                  • enhance ORCA easyconfig for compatibility with SLURM (#1819)
                  • enable -fPIC in GraphicsMagick easyconfig, required by Octave (#2764)
                  • clean up binutils easyconfigs to use binutils easyblock (#3006)
                  • add include/GraphicsMagick to $CPATH in GraphicsMagick easyconfigs (#3034)
                  • update SuiteSparse easyconfigs according to updated SuiteSparse easyblock (#3050)
                • various bug fixes, including:
                  • fix Perl extensions download urls (#2738)
                  • add Autoconf as build dep for GCCcore (#2772)
                  • fix versions of extensions in Bioconductor 3.2 bundles (#2769)
                  • fix (build) deps for intel/2016a easyconfigs of cairo, libXext, libXrender (#2785, #2874)
                  • use 'env' wherever preconfig/build/installopts is used to set environmental variables (#2807, #2811, #2812)
                  • add zlib as explicit dep in Tk easyconfigs (#2815)
                  • consistently specify to use -fgnu89-inline flag in M4 1.4.17 easyconfigs (#2774, #2779, #2816)
                  • fix homepage and description in Pygments easyconfigs (#2822)
                  • include pkg-config as build dependencies for libXau, libXdmcp, libxcb (#2827)
                  • consistently use XORG_*_SOURCE constants (#2829, #2830, #2848)
                  • update source URLs in ScientificPython easyconfig files (#2847)
                  • add checksums in SuiteSparse easyconfigs (#2849)
                  • fix build deps for GObject-Introspection (#2852)
                  • correctly specify Perl location in git easyconfig (#2866)
                  • fix bitstring 3.1.3 download URL in Python easyconfigs, source tarball on PyPI disappeared (#2880)
                  • fix Perl dependency in worker easyconfigs, it requires non-standard Perl modules (#2884)
                  • add XZ as dependency in Python 3.5.1 easyconfigs, required for lzma (#2887)
                  • fix download URL for packmol (#2902)
                  • drop usempi toolchain in numexpr easyconfigs, not needed (#2937)
                  • fix use of resolve_dependencies in tests according to changes in framework (#2952)
                  • add dependency extensions for MarkupSafe and jsonscheme in IPython 3.2.3 easyconfigs (#2967)
                  • add patch for matplotlib 1.5.1 to fix Tcl/Tk library paths being used (#2971)
                  • add xproto build dependency for makedepend v1.0.5 (#2982)
                  • disable parallel build for Doxygen (#2986)
                  • fix source URLs for FreezeThaw and Tie::Function extensions for Perl v5.22.1 (#2988)
                  • add sed command in worker easyconfig files to fix module_path in conf/worker.conf (#2997, #3000)
                  • drop toolchainopts from Eigen easyconfigs, since it is headers-only (#3025)
                  • clean up dummy bzip2 easyconfig, define buildopts rather than defining $CC and $CFLAGS via os.environ (#3036)
                  • use %(pyshortver)s template rather than hardcoding 2.7 in VTK easyconfigs (#3052)
                  • correct install location of OpenCV Python bindings (#3054)
                  • include XZ as dependency for libunwind (#3055)
                  • add patch to fix broken OpenSSL tests due to expired certificates (#3057)
                  • fix broken link to VSC website in license headers (#3062)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb270","title":"EasyBuild v2.7.0 (March 20th 2016)","text":"

                feature + bugfix release

                framework

                • stabilize Cray support
                  • enable 'dynamic' toolchain option by default for Cray* toolchains (#1581)
                  • remove FFTW from the Cray toolchains definition (#1585)
                  • add external modules metadata for Cray systems (#1638)
                  • fix independency of Cray toolchains w.r.t. toolchain build environment (#1641, #1647)
                  • remove requirement to use --experimental for Cray toolchains (#1663)
                • enable Python optimization mode in 'eb' (#1357)
                • improved GitHub integration
                  • improve error handling on git commands + better logging for --new-pr/--update-pr (#1590)
                  • use git rather than https in --new-pr/--update-pr (#1602)
                  • add -u as shorthand for --upload-test-report (#1605)
                  • fix --from-pr for PRs that include renamed/deleted files (#1615)
                  • add support for --install-github-token and --check-github (#1616)
                  • fix fetch_easyconfigs_from_pr w.r.t. duplicate files in PRs (#1628)
                • various other enhancements, including:
                  • add support for --search-filename and --terse (#1577)
                  • support complete bash completion (#1580)
                  • add support for %(*ver)s and %(*shortver)s templates (#1595, #1604)
                    • incl. %(javaver)s, %(javashortver)s, %(perlver)s, %(perlshortver)s, %(pyver)s, %(pyshortver)s, %(rver)s, %(rshortver)s
                  • define HOME constant that can be used in easyconfig files (#1607)
                  • implement support for generating 'swap' statements in module files (#1609)
                  • add support for --show-config (#1611, #1620)
                  • simplified support for --minimal-toolchains (#1614, #1619, #1622, #1625, #1646)
                  • add support for --dump-env-script (#1624)
                  • enhance ModulesTool.exist to also recognize partial module names (#1630)
                  • improve error message for toolchain definition errors (#1631)
                  • make default is_short_modname_for check less strict to support versionless external modules as deps (#1632)
                  • mention hostname in comment made by --upload-test-report (#1635)
                  • support providing additional relative path for prefix in external module metadata (#1637)
                  • add ThematicModuleNamingScheme (#1645)
                  • enhance logging format: remove logger name, mention location instead (#1649, #1654)
                  • update kernel versions for SLES12 (#1659)
                  • raise EasyBuildError rather than ImportError in only_if_module_is_available decorator (#1662)
                • various bug fixes, including:
                  • fix Lmod spider output in generated modules (#1583)
                  • correctly define 'easybuild' namespaces (#1593, #1666, #1680)
                    • this change requires that the setuptools Python package is available (at runtime)
                    • using custom easyblocks by adding them in the Python search path ($PYTHONPATH) may require adjustments, i.e. also using pkg_resources.declare_namespace in the __init__.py files; we highly recommend to use --include-easyblocks instead, see http://easybuild.readthedocs.org/en/latest/Including_additional_Python_modules.html
                    • note: this has the side-effect of not being able anymore to reliably use 'eb' in the parent directory of the easybuild-framework repository (#1667)
                  • fix template for savannah.gnu.org source URL (#1601)
                  • stop running 'module purge', only restore environment (#1608)
                  • fix license headers: Hercules foundation is now FWO (#1629)
                  • avoid that fancylogger tries to import mpi4py to determine MPI rank (#1648)
                  • fix error in tests when 'file' backend is not available in Python keyring (#1650)
                  • update develop install script (#1651)
                  • handle allowed system deps during prepare_step rather than during parsing of easyconfig (#1652)
                  • add function to find FlexLM licenses: find_flexlm_license (#1633, #1653)
                  • fix availability check for external modules with partial module name (#1634, #1643)
                  • fix bootstrap script to ensure setuptools is also installed (#1655)
                  • fix issue in bootstrap script with vsc-base being picked up from the OS (#1656)
                  • fix bootstrap script for environment where 'python' is Python 3.x (#1660)
                  • remove --experimental for tests related to --package (#1665)
                  • ensure path to setuptools is included in $PYTHONPATH being used to test scripts (#1671)
                  • sanitize environment before initializing easyblocks (#1676)
                  • remove reload statements in include.py, since they are not required and break --include-toolchains (#1679)

                easyblocks

                • new easyblocks for 6 software packages that require customized support:
                  • ADF (#826), MPICH (#844, #852, #868), mutil (#859), pplacer (#835), psmpi (#852), SNPhylo (#865)
                • various other enhancements, including:
                  • implement support for 'use_pip' in PythonPackage easyblock (#719, #831)
                  • add support in CUDA easyblock to install wrappers for host compilers (#758)
                  • update sanity check for picard version 1.124 and above (#796)
                  • use 'module swap' for all components in CrayToolchain (#823)
                  • update PSI4 easyblock to cope with changed name of PSI4 data dir (#824)
                  • use find_flexlm_license function and avoid defining $CPATH in PGI easyblock (#837)
                  • use find_flexlm_license function in IntelBase generic easyblock (#839)
                  • add unit test to check module file generated by PythonPackage easyblock (#841)
                  • rework MVAPICH2 easyblock on top of new MPICH easyblock (#844)
                  • add CUDA support in CP2K easyblock (#850)
                  • also define $LD in buildopts for GATE (#855)
                  • use find_flexlm_license function in TotalView easyblock (#839)
                  • enhance MakeCp easyblock to also support renaming of files while copying them (#859)
                  • hunt for usable 'python' command in PythonPackage easyblock when system Python is used (#861)
                  • add sanity check in easybuild/__init__.py w.r.t. current working dir (#869)
                  • change suffix of original file to .easybuild when using fileinput in impi easyblock (#870)
                • various bug fixes, including:
                  • make sure Python unicode settings match that of the system Python (#817)
                  • remove FFTW related statements in HPL easyblock, since HPL doesn't require FFTW at all (#822)
                  • use pkg_resources.declare_namespace rather than pkgutil.extend_path to declare 'easybuild' namespaces (#827)
                  • fix license headers: Hercules foundation is now FWO (#836)
                  • fix check for non-empty lib dirs in PythonPackage easyblock (#840)
                  • consider all Python lib dirs in sanity check for libxml2 (#842)
                  • correctly handle deprecated configure options (--with-hwloc/--enable-mpe) in MVAPICH2 easyblock (#853)
                  • use correct configure option for checkpoint/restart in MVAPICH2 easyblock (#854)
                  • ensure list of Python lib dirs always has a 'lib/...' entry (#858)
                  • check whether rpm/rpmrebuild commands are available using 'which', rather than checking for OS deps (#864)
                  • fix test_step in UFC easyblock (#872)

                easyconfigs

                • added example easyconfig files for 63 new software packages:
                  • ATSAS (#616, #2587), astropy (#2724, #2727), attr (#2706), BamUtil (#2654), BBMap (#2322), BH (#2508), CheMPS2 (#2445), CosmoloPy (#2723, #2727), csvkit (#2639), Firefox (#2648), FreeXL (#2422), GL2PS (#2667), Glade (#2631), htop (#2538), IGV (#2019), IGVTools (#2019), ImageMagick (#2438), jModelTest (#2529), KEALib (#2420), libcerf (#2656), libgcrypt (#2201), libglade (#2631), libgpg-error (#2201), libspatialite (#2431), LittleCMS (#2438), MAST (#2542), MLC (#2577), MPJ-Express (#2529), mutil (#2201), neon (#758), NextClip (#2544), npstat (#2686, #2703), Octopus (#2643), QuickFF (#2721), p4vasp (#2328), PCMSolver (#2445), PFFT (#2643), PHYLIP (#2694), pkgconfig (#2475, #2476), Platypus (#2618), pplacer (#1056), PRINSEQ (#2437, #2444, #2585), PyFFmpeg (#2501, #2519), PyGObject (#2443), PyGTK (#2443), PyOpenGL (#2628), pyringe (#2533), qrupdate (#2675), rgeos (#2635), rpmrebuild (#2402), shift (#2201), SNAPE-pooled (#2688), SNPhylo (#2701), sratoolkit (#2715), STAR-Fusion (#2463), statsmodels (#2719), StringTie (#2527), synchronicity (#2508), testpath (#2461), USEARCH (#2537), VarScan (#2464), vsc-install (#2165), Whoosh (#2725), xprop (#2645)
                • added new easyconfigs for existing toolchains:
                  • intel/2016.02-GCC-4.9 (#2620), gmpolf/2016a & gmvolf/2016a (#2589)
                • stable Cray-specific easyconfigs
                  • delete deprecated Cray toolchains and easyconfig files (#2400)
                  • don't hardcode PrgEnv version, remove craype and fftw components in Cray toolchains (#2554)
                  • remove -XC versionsuffix for stable definitions for Cray* toolchains (#2714)
                  • support for various software packages with CrayGNU and CrayIntel toolchains: CP2K, GROMACS, WRF
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • including BWA 0.7.13, CMake 3.4.3, GATE 7.2, GROMACS 5.1.2, Mesa 11.1.2, netCDF 4.4.0, Perl 5.22.1, Python 3.5.1, R 3.2.3, R-bundle-Bioconductor 3.2, scipy 0.17.0, SuiteSparse 4.5.1
                • various other enhancements, including:
                  • copy contrib dir in Velvet easyconfigs so scripts are also available (#2456)
                  • redefine matplotlib 1.5.1 easyconfig as a bundle, also include cycler extension (dep for matplotlib) (#2470)
                  • add bitstring extension to Python 2.7.11 easyconfigs (#2471)
                  • enable building of MetaVelvet in Velvet 1.2.10 easyconfigs (#2473)
                  • add custom sanity check for libjpeg-turbo (#2480)
                  • add Velvet easyconfigs that include BioPerl dependency, so VelvetOptimizer can use it (#2495, #2729, #2733)
                  • add source URL in RAxML 7.2.6 easyconfigs (#2536)
                  • update MPICH easyconfigs to use new MPICH easyblock (#2589)
                  • free libX11 & co from unneeded Python dependency/versionsuffix (#2549, #2563, #2605, #2664)
                  • add '--enable-utf --enable-unicode-properties' configure options in PCRE easyconfigs (#2561)
                    • required for latest R versions
                  • add HCsnip, metagenomeSeq in Bioconductor 3.1 bundles (#2553, #2578)
                  • add additional extensions in R 3.2.x easyconfigs that are required for extra Bioconductor extensions (#2547, #2556)
                  • update psmpi easyconfig files to use the new psmpi easyblock (#2619)
                  • add easyconfig for Python 2.7.11 on top of X11-enabled Tk (#2614, #2621)
                  • add virtualenv as extension in Python 2.7.11 easyconfigs (#2660)
                • various bug fixes, including:
                  • fix software name for GTK+ (was 'gtk+'), PyCairo (was 'pycairo') and Gdk-Pixbuf (was 'gdk-pixbuf') (#2468)
                  • don't hardcode CC/CXX in OpenMPI easyconfigs (#2472)
                  • remove Google Code source URL for mpi4py (#2474)
                  • rename ffmpeg to FFmpeg (#2425, #2481)
                  • use available easyblock for flex (#2486)
                  • fix determining list of easyconfigs in unit test suite, don't assume locations are correct (#2530)
                  • fix specifying DB dependency in DB_File easyconfigs (#2539)
                  • remove hard-coded -xSSE4.2 for numpy/scipy with Intel compilers (#2546)
                  • fix license headers: Hercules foundation is now FWO (#2550)
                  • add --with-zlib configure argument in libxml easyconfigs (#2555)
                  • don't hardcode optarch=True in xextproto/xtrans easyconfigs (#2601)
                  • change toolchain version to '' in easyconfigs that use dummy toolchain and include dependencies (#2612)
                  • GLib doesn't require libxml2 with Python bindings (#2632)
                  • add patch file to imkl 10.2.6.038 32-bit easyconfig to fix installer not being able to deal with '--' in build path (#2634)
                  • add missing 'pkgconfig' dependency for h5py (#2476, #2650)
                  • correct software name in FastQC easyconfigs (was 'fastqc'), use 'dummy' toolchain for all FastQC version (#2657, #2666)
                  • add missing libxml2 dependencies in GLib easyconfigs (#2658)
                  • fix Xerces-C++ download location (#2668)
                  • enable XML::Bare extension in all Perl easyconfigs (#2672)
                  • update dead link for SuiteSparse (#2679)
                  • remove custom exts_filter in easyconfigs used PythonPackage easyblock (#2683, #2685)
                  • add M4 as build dep for binutils & flex (#2681)
                  • add missing dependencies in Python 3.5.x easyconfigs: SQLite, Tk, GMP (#2704)
                  • fix (OS) deps, add checksums, remove parameter definition with default values in MVAPICH2 easyconfigs (#2707)
                • style cleanup in various easyconfigs (#2378, #2387, #2395, #2396, #2488-#2493, #2496-#2500, #2502-#2504, #2602)
                  • working towards automated style review of pull requests
                ","boost":0.5},{"location":"release-notes/#release_notes_eb260","title":"EasyBuild v2.6.0 (January 26th 2016)","text":"

                feature + bugfix release

                framework

                • add (experimental) support for opening/updating (easyconfigs) pull requests (--new-pr, --update-pr) (#1528)
                • sanitize environment before each installation by undefining $PYTHON* (#1569, #1572)
                • various other enhancements, including:
                  • allow user-local modules with hierarchical naming schemes (--subdir-user-modules) (#1472)
                  • enhance --extended-dry-run output to include paths for requirements in make_module_req (#1520)
                  • rewrite read_file to use 'with' (#1534)
                  • add support for eb --last-log (#1541)
                  • support using fixed install dir scheme (--fixed-installdir-naming-scheme) (#1546)
                  • add edge attributes for build dependencies in --dep-graph output (#1548)
                  • check whether dependencies marked as external module are hidden (#1552)
                  • implement support for --modules-header (#1558)
                  • add support to specify 'else' body for conditional statements in modules (#1559)
                  • add extra test for --include-easyblocks for generic easyblocks (#1562)
                  • allow user to define the default compiler optimization level (--default-opt-level) (#1565)
                  • make toolchain.get_variable more robust w.r.t. dummy toolchain (#1566)
                • various bug fixes, including:
                  • fix missing 'yaml' module check in tests (#1525)
                  • fix 'develop' install script (#1529)
                  • correctly quote FPM option values in packagin support (#1530)
                  • correctly handle '.' in software name w.r.t. $EB* environment variables (#1538)
                  • exclude logs and test reports from packages (#1544)
                  • also pass down --job-cores for pbs_python job backend (#1547)
                  • skip dependencies marked as external modules when packaging (#1550)
                  • fix syntax for set_alias statement in Lua syntax (#1554)
                  • handle the case of all 'offline' nodes correctly for --job (#1560)
                  • fix test_modules_tool_stateless unit test for stateless ModulesTool with Lmod as modules tool (#1570)

                easyblocks

                • add generic easyblock for Cray toolchains (#766)
                • new easyblocks for 2 software packages that require customized support:
                  • EggLib (#811), PGI (#658)
                • various other enhancements, including:
                  • update BamTools easyblock for versions 2.3.x and newer: some shared libraries are now static) (#785)
                  • don't hardcode .so, use get_shared_lib_ext instead (#789, #790, #791, #793, #794, #803, #815)
                  • enhance CPLEX easyblock by adding more subdirs to $PATH, define $LD_LIBRARY and $CPLEXDIR (#797)
                  • make sanity check for netcdf4-python work with both egg and non-egg installs (#799)
                  • update sanity check in PETSc/SLEPc easyblocks for v3.6.x (#800)
                  • update Trinity easyblock for 2.x versions (#802)
                  • update DOLFIN easyblock for v1.6.0 (#804)
                  • check for libkokkoscore.a rather than libkokkos.a for Trilinos 12.x (#805)
                  • add an option to skip the sanitizer tests of Clang (#806)
                  • update Molpro easyblock to support binary installs and 2015 version (#807)
                  • make ConfigureMake more robust w.r.t. custom easyconfig parameters (#810)
                • various bug fixes, including:
                  • add back support for Eigen 2.x in Eigen easyblock (#798)
                  • fix for vsc-base being picked up from OS in EasyBuildMeta easyblock (#813)
                  • remove setuptools.pth if it includes absolute paths after installing EasyBuild (#813)

                easyconfigs

                • add easyconfigs for foss/2016a and intel/2016 common toolchains (#2310, #2311, #2339, #2363)
                  • incl. easyconfigs for Boost, CMake, Python, Perl using these toolchains
                • added example easyconfig files for 21 new software packages:
                  • BLASR (#922), BioKanga (#2247), BoltzTraP (#2365), basemap (#2221), CppUnit (#2271), EggLib (#2335), FLASH (#2281), GLM (#2288), hub (#2249), MACS2 (#1983), MotEvo (#843), numba (#2243), PGI (#1833, #2367), PLY (#2305), PaStiX (#2319, #2326), patchelf (#2327), pip (#2284), RSEM (#2316), RcppArmadillo (#2289), SCDE (#2289), slepc4py (#2318)
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • including BamTools 2.4.0, Boost 1.60.0, Clang 3.7.1, DOLFIN/FFC/FIAT/Instant/UFL 1.6.0, GATE 7.0, GCC 5.3.0, LLVM 3.7.1, pandas 0.17.1, PETSc 3.6.3, SAMtools 1.3, scipy 0.16.1, SLEPc 3.6.2, Trilinos 12.4.2, Trinity 2.1.1, VTK 6.3.0
                • various other enhancements, including:
                  • added new Cray* toolchain versions with pinned dependency versions (#2222)
                  • don't hardcode .so, use SHLIB_EXT constant instead (#2245)
                  • add custom sanity check in GEOS easyconfigs (#2285)
                • various bug fixes, including:
                  • add Autotools (M4) as a build dependency in GMP v6.x easyconfigs (#2096)
                  • remove argparse from list of extensions in Python 3.2+ easyconfigs, since it became part of stdlib (#2323)
                • various style fixes, including:
                  • get rid of tabs (#2302)
                  • remove trailing whitespace (#2341)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb250","title":"EasyBuild v2.5.0 (December 17th 2015)","text":"

                feature + bugfix release

                framework

                • add support for IBM XL compilers on Power7 and PowerPC (BlueGene) (#1470)
                • add support for generic compilation using --optarch=GENERIC (#1471)
                  • see also Controlling compiler optimization flags
                • update experimental support for .yeb easyconfigs (#1515)
                  • support clean way to specify toolchain + dependencies in .yeb easyconfigs
                • various other enhancements, including:
                  • add support for 'whatis' easyconfig parameter (#1271)
                  • add support for SLES 12 and kernel 3.12.x (#1412)
                  • add GCCcore toolchain definition (#1451)
                  • use 'diff --git' lines to determine patched files in pull request with --from-pr (#1460)
                  • add proper option parser to bootstrap script (#1468)
                  • add get_gcc_version() function in systemtools module (#1496)
                  • don't load fake module in sanity_check_step during a dry run (#1499)
                  • allow string values to be passed in make_module_req by hoisting them into a list (#1502)
                  • add support for listing build dependencies as hidden dependencies (#1503)
                  • also consider lib32/pkgconfig and lib64/pkgconfig for $PKG_CONFIG_PATH (#1505)
                  • add support to make_module_dep to specify module to unload before loading a dependency module (#1506)
                  • add support to make_module_extra to specify alternative root/version for $EBROOT/$EBVERSION (#1508)
                  • packaging support is no longer considered experimental (#1510)
                • various bug fixes, including:
                  • also consider lib64 in sanity check performed during EasyBuild bootstrap (#1464)
                  • also add description/homepage to packages created with FPM (#1469)
                  • fix develop setup script to install EasyBuild-develop module in subdirectory (#1480)
                  • don't create a whole set of temporary 'minimal-easyconfigs' subdirs with --minimal-toolchains (#1484)
                  • only keep polling if exit code is None in run_cmd_qa, to correctly deal with negative exit codes (#1486)
                  • fix bootstrap script for missing sys_platform by using newer distribute 0.6.49 in stage 0 (#1490)
                  • make sure that extra custom easyconfig parameters are known for extensions (#1498)
                  • add missing import for EasyBuildError in easybuild/toolchains/linalg/libsci.py (#1512)
                  • isolate tests from possible system-wide configuration files (#1513)
                  • only use glob in make_module_req on non-empty strings (#1519)
                    • this fixes the problem where $CUDA_HOME and $CUDA_PATH are not defined in module files for CUDA

                easyblocks

                • update easyblocks for Intel tools to support 2016 versions (#691, #745, #756, #777)
                  • IntelBase easyblock has been enhanced to support specifying which components to install
                • new easyblocks for 3 software packages that require customized support:
                  • Intel Advisor (#767), DIRAC (#778), MRtrix (#772)
                • various other enhancements, including:
                  • update numpy and SuiteSparse easyblock to use scikit-umfpack (#718)
                  • add an option to allow removal of the -Dusethreads flag in Perl easyblock (#724)
                  • update Doxygen easyblock for 1.10.x (CMake) (#734)
                  • update sanity check in Qt easyblock for Qt 5.x (#740)
                  • add support for multilib build of GCC on PowerPC (#741)
                  • add support to OpenFOAM and SCOTCH easyblocks to support 64-bit integers, via 'i8' toolchain option (#744)
                  • fix sanity check to support numpy 1.10 (dropped _dotblas.so) (#757, #761, #762)
                  • update IPP easyblock for v9.x (#759)
                  • cleaner output for PythonPackage under dry run, make numpy easyblock dry-run aware (#760, #671)
                  • add support for using netCDF-Fortran as dependency in ALADIN easyblock (#764)
                  • add support for tbb 4.4.x in tbb easyblock (#769)
                  • add support for specifying altroot/altversion in Bundle easyblock (#773)
                  • update OpenFOAM easyblock for OpenFOAM-Extend 3.2 + use apply_regex_substitutions (#770)
                • various bug fixes, including:
                  • fix module path extension of system compiler in HMNS setup (#742)
                  • only restore $PYTHONPATH if it was defined in EasyBuildMeta easyblock (#743)
                  • make sure $PYTHONPATH is defined correctly in module file for Python packages created with --module-only (#748)
                  • fix WRF easyblock to produce correct module under --module-only --force (#746, #752)
                  • don't hardcode 'openPBS' in GATE easyblock, use value for default_platform easyconfig parameter (#753)
                  • avoid adding lib subdirs to $*LIBRARY_PATH if no libraries are there in PythonPackage easyblock (#755)
                  • fix installing Python bindings for libxml2 to correct installation prefix (#765)

                easyconfigs

                • add GCCcore easyconfig that can be used as base for all compilers (without getting in the way) (#2214)

                  • along with easyconfig for GCC/4.9.3-2.25: bundle of GCCcore 4.9.3 and binutils 2.25
                  • intended to replace the GNU toolchain
                • added example easyconfig files for 39 new software packages:

                  • DIRAC (#2212), GeoIP (#2172, #2185), GeoIP-C (#2172, #2185), graph-tool (#1591), gtkglext (#2217), Intel Advisor (#2210), InterProScan (#2225, #2227, #2234), intltool (#2136), kallisto (#2173), LibUUID (#1930), LuaJIT (#2153), libXcursor (#2136), libXrandr (#2136), libXtst (#2143), libdap (#1930), libtasn1 (#2208), libxkbcommon (#2136), MRtrix (#2217, #2218), MultiNest (#2166, #2168), Nipype (#2150), PPfold (#2183, #2187), p11-kit (#2208), pangox-compat (#2217), Qt5 (#2136), randrproto (#2136), rhdf5 (#2175), Stampy (#2180, #2182), scikit-umfpack (#2061), scp (Python pkg) (#2196), sleuth (#2175), traits (#2150), vincent (#2169, #2185), XKeyboardConfig (#2136), xcb-util (#2136), xcb-util-image (#2136), xcb-util-keysyms (#2136), xcb-util-renderutil (#2136), xcb-util-wm (#2136), zlibbioc (#2175)
                • added new easyconfigs for existing toolchains:

                  • intel/2015.08 (#2194), intel/2016.00 (#2209), intel/2016.01 (#2219), iomkl/2015.03 (#2155)
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...

                  • including CMake 3.4.1, HDF5 1.8.16, netCDF 4.3.3.1, netCDF-Fortran 4.4.2, numpy 1.10.1, Octave 4.0.0, OpenFOAM 3.0.0, OpenFOAM-Extend 3.2, Python 2.7.11
                • various other enhancements, including:

                  • add tidyr to R 3.2.1 easyconfigs (#2174)
                  • enable C++ support in MIGRATE-N (#2178)
                  • also installed shared libraries for AMD and UMFPACK in SuiteSparse (#2061)
                  • fix software name for ParaView (was: Paraview) (#2132)
                  • enable building of shared libraries for binutils (#2133)
                  • harden binutils built with dummy toolchain by linking to system libraries via RPATH (#2228)
                  • enhance easyconfig unit tests to check that each easyconfig file is in the right subdirectory (#2232)
                • various bug fixes, including:

                  • fix ALADIN patch file to not use relative paths, and adjust list of ALADIN sources accordingly ((#2207), (#2213))
                  • rename patch files for OpenFOAM to be in line with other patches (#2226)
                  • fix typo in bzip2 source URLs (#2204)
                  • force linking of ncurses in libreadline (#2206)
                  • enable -fPIC in all zlib 1.2.8 easyconfigs (#2220)
                  • move Net-LibIDN/SRA-Toolkit/bbftpPRO/o2scl easyconfigs to right location (#2232)
                  • restrict parallel build in OpenFOAM-Extend easyconfigs via 'maxparallel', not 'parallel' (#2233)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb240","title":"EasyBuild v2.4.0 (November 10th 2015)","text":"

                feature + bugfix release

                framework

                • add support for --extended-dry-run/-x (#1388, #1450, #1453, #1455)
                  • detailed documentation is available at Extended dry run
                • fix checking of sanity check paths w.r.t. discriminating between files and directories (#1436)
                  • this impacts several easyconfig files where sanity_check_paths was not 100% correct
                • make 'eb' script aware of Python v3.x, fall back to using python2 if required (#1411)
                • add experimental support for parsing .yeb easyconfig files in YAML syntax (#1447, #1448, #1449)
                  • see also Writing easyconfig files in YAML syntax
                • add experimental support for resolving dependencies with minimal toolchains (#1306)
                  • see also Using minimal toolchains for dependencies
                • various other enhancements, including:
                  • refactor extract_cmd function to get rid of if/elif/else spaghetti blob (#1382)
                  • add support for --review-pr (#1383)
                  • add apply_regex_substitutions function to perform runtime patching from easyblocks (#1388, #1458)
                  • add support for specifying alternate name to be part of generated module name (#1389)
                    • via 'modaltsoftname' easyconfig parameter
                  • support overriding # used cores via --parallel (#1393)
                  • also define $FC and $FCFLAGS in build environment (#1394)
                  • add support extracting for .tar.Z files (#1396)
                  • include easybuild/scripts in installation (#1397)
                  • ignore hidden directories in find_base_dir (#1413, #1415)
                  • add only_if_module_is_available decorator function to guard functionality that uses optional dependencies (#1416)
                  • give easyblocks the possibility to choose maxhits for run_cmd_qa (#1417)
                  • use class name (string) rather than License instances as values for software license constants (#1418)
                  • support controlling recursive unloading of dependencies via 'recursive_module_unload' easyconfig parameter (#1425)
                  • implement basic support for type checking of easyconfig parameters (#1427)
                  • support auto-converting to expected value type for easyconfig parameters (enabled by default) (#1428, #1437)
                  • add support for --rebuild command line option, alternative for --force which doesn't imply --ignore-osdeps (#1435)
                  • add support for Mercurial easyconfig repository (#979, #1446)
                  • add dedicated class for psmpi toolchain MPI component, and use it in gpsmpi and ipsmpi toolchains (#1454)
                • various bug fixes, including:
                  • fix extracting of comments from an easyconfig file that includes 'tail' comments (#1381)
                  • fix dev version to follow PEP-440, as required by recent setuptools versions (#1403)
                    • required to avoid that setuptools transforms the version itself
                    • see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
                  • allow get_cpu_speed to return None if CPU freq could not be determined (#1421)
                  • relax sanity_check_paths in EasyBuild bootstrap script to deal with possible zipped .egg (#1422)
                  • use empty list as default value for src/patches in Extension class (#1434)
                  • skip symlinked files in adjust_permissions function (#1439)
                  • fix HierarchicalMNS to always use full version number (#1440)

                easyblocks

                • 3 new generic easyblocks: OCamlPackage (#467), SCons (#689, #700), Waf (#722)
                • new easyblocks for 2 software packages that require customized support:
                  • OCaml (#467), Samcef (#678)
                • various other enhancements, including:
                  • add support for installing OpenFOAM with external METIS, CGAL and Paraview (#497)
                  • update netCDF easyblock updated for netCDF v4.3.3.1 (#674)
                  • update Rosetta easyblock for recent Rosetta versions (#677)
                  • make unpacked source dir detection in easyblock for VSC-tools a little bit more flexible (#679)
                  • add support for building with Plumed support enabled in CP2K easyblock (#681)
                  • update Go easyblock for Go v1.5 (#683)
                  • use apply_regex_substitutions function in WRF easyblock (#685)
                  • update MUMPS easyblock for 5.x (#686)
                  • implement runtime patching of $WM_* and compiler variables for OpenFOAM (#688)
                  • specify sequential compiler to use in compiler command that gets injected in OpenFOAM easyblock (#692)
                  • make PythonPackage and WRF easyblocks dry-run aware (#696)
                    • see also Guidelines for easyblocks
                  • add support in PythonPackage for installing with easy_install + installing zipped eggs (#698, #711, #715)
                  • update Bowtie easyblock for recent Bowtie versions (#707)
                  • update CUDA easyblock for CUDA 7.x(#708)
                  • also consider config/make.sys.in for want in QuantumESRESSO easyblock (#714)
                  • define $NWCHEM_LONG_PATH if needed in NWChem easyblock (#720)
                  • remove custom post-install step in PDT easyblock (#723)
                    • no longer needed now that adjust_permissions functions ignores symlinks
                  • use $LIBS in HPL easyblock (#727, #736)
                • various bug fixes, including:
                  • also define $MCRROOT for MCR in module (#687)
                  • add missing 'super' call in configure_step of easyblock for python-meep (#694)
                  • only prepend existing non-empty paths to $PYTHONPATH in PythonPackage easyblock (#697)
                  • fix extra_options definition in CMakePythonPackage easyblock (#698)
                  • fix dev version to follow PEP-440, as required by recent setuptools versions (#702, #703, #704)
                    • required to avoid that setuptools transforms the version itself
                    • see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
                  • consider both lib and lib64 in sanity check paths for flex (#705)
                  • also copy signature file and don't copy CMake files in Eigen easyblock (#709)
                  • fix directory names in make_module_req_guess of ANSYS easyblock (#713)
                  • fix imports for set_tmpdir in easyblock unit tests after function was moved in EasyBuild framework (#726)
                  • use --with-tcltk* configure options for Python to point to ensure Tcl/Tk deps are picked up (#729)
                  • fix order of subdirs for QuantumESPRESSO binaries (#730)
                  • correctly handle having both $FC/$FCFLAGS and $F90/$F90FLAGS defined when building MVAPICH2 (#732)
                  • fix OpenSSL sanity check paths: lib/engines is a directory (#731, #733)
                  • fix sanity check paths for netcdf-python (#735)

                easyconfigs

                • added example easyconfig files for 45 new software packages:
                  • animation (#2007), ANSYS CFD (#1969), ANTLR (#1191, #1980), APR (#1970), APR-util (#1970), Aspera Connect (#2005), ChIP-Seq (#2119), deap (#2082), DISCOVARdenovo (#1932), FastQC (#1984), fontsproto (#1618, #2038), GraphicsMagick (#2007), HBase (#1990), ISIS (#1972), libedit (#293), libfontenc (#1618, #2038), libGLU (#1627), libXdamage (#1618, #2038), libXfont (#1618, #2038), LLVM (#1620, #1989, #2031), MIGRATE-N (#1944), MIRA (#1938), mympingpong (#2049), MySQLdb (#2011), NCO (#1191, #1980), NIPY (#2064), Nilearn (#2064), NiBabel (#2064), PBZIP2 (#1038), PIL (#2062), PhyloCSF (#2018), pycairo (#2085), pydicom (#2063), Salmon (#2051), Samcef (#1941), scikit-image (#1974, #2006), Serf (#1970), SSAHA2 (#1039), Subversion (#1970), SWASH (#2059), time (#1954), Trim_Galore (#1984), Trimmomatic (#1987), WEKA (#1986), x264 (#2017)
                • added new easyconfigs for existing toolchains: gimkl/2.11.5 (#2093)
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • including Clang + LLVM 3.7.0, CMake 3.3.2, CUDA 7.5.18, hanythingondemand v3.0.1, Mesa 11.0.2, mpi4py v2.0.0, ncurses 6.0, OpenFOAM 2.4.0, Paraview 4.4.0, Python 3.5.0, QuantumESPRESSO v5.2.1
                • various other enhancements, including:
                  • enable 'pic' toolchain option in libxml2 easyconfigs (#1993)
                  • extend list of R libraries included in R v3.2.1 easyconfigs (#2042, #2046, #2067, #2072)
                  • add Rsubread in Bioconductor easyconfigs (#1971)
                • various bug fixes, including:
                  • fix software name for BEEF (was 'libbeef') (#1679)
                  • add patch to install qhull.pc (pkgconfig) file with Qhull (#1975)
                  • don't enable experimental nouveau API in libdrm easyconfigs (#1994)
                  • fix dev version to follow PEP-440, as required by recent setuptools versions (#1997)
                    • required to avoid that setuptools transforms the version itself
                    • see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
                  • correct homepage in Cufflinks easyconfigs (#2060)
                  • fix imports for set_tmpdir in easyblock unit tests after function was moved in EasyBuild framework (#2097)
                  • add patch for Tk 8.6.4 to fix problem with tk.tcl not being found (#2102)
                  • don't use %(version)s template in toolchain version, causes problems with HierarchicalMNS (#2104)
                  • fix sanity check paths in several easyconfig (#2109, #2120, #2121, #2125)
                    • required because of bug fix in sanity_check_step implementation
                    • CVXOPT, h5py, LIBSVM, libunistring, MDP, monty, PhyloCSF, Pyke, pandas, pycosat, pyhull, pymatgen, python-dateutils, Seaborn, Theano, XML-LibXML, XML-Simple
                ","boost":0.5},{"location":"release-notes/#release_notes_eb230","title":"EasyBuild v2.3.0 (September 2nd 2015)","text":"

                feature + bugfix release

                framework

                • requires vsc-base v2.2.4 or more recent (#1343)
                  • required for mk_rst_table function in vsc.utils.docs
                • various other enhancements, including:
                  • add support for generating documentation for (generic) easyblocks in .rst format (#1317)
                  • preserve comments in easyconfig file in EasyConfig.dump() method (#1327)
                  • add --cleanup-tmpdir option (#1365)
                    • enables to preserve the used temporary directory via --disable-cleanup-tmpdir
                  • enhance EasyConfig.dump() to reformat dumped easyconfig according to style guidelines (#1345)
                  • add support for extracting .iso files using 7z (p7zip) (#1375)
                • various bug fixes, including:
                  • correctly deal with special characters in template strings in EasyConfig.dump() method (#1323)
                  • rework easybuild.tools.module_generator module to avoid keeping state w.r.t. fake modules (#1348)
                  • fix dumping of hidden deps (#1354)
                  • fix use of --job with hidden dependencies: include --hidden in submitted job script when needed (#1356)
                  • fix ActiveMNS.det_full_module_name() for external modules (#1360)
                  • fix EasyConfig.all_dependencies definition, fix tracking of job dependencies (#1359, #1361)
                  • fix ModulesTool.exist() for hidden Lua module files (#1364)
                  • only call EasyBlock.sanity_check_step for non-extensions (#1366)
                    • this results in significant speedup when installing easyconfigs with lots of extensions, but also results in checking the default sanity check paths if none were defined for extensions installed as a module
                  • fix using module naming schemes that were included via --include-module-naming-schemes (#1370)

                easyblocks

                • new easyblocks for 2 software packages that require customized support:
                  • MCR (#623), Molpro (#665)
                • various other enhancements, including:
                  • enhance BWA easyblock to also install man pages (#650)
                  • enhance tbb easyblock to consider lib dirs in order and also define $CPATH, $LIBRARY_PATH, $TBBROOT (#653, #654)
                  • call PythonPackage.configure_step in ConfigureMakePythonPackage.configure_step (#668)
                  • add 'foldx3b6' as possible binary name in FoldX easyblock (#671)
                  • enhance/cleanup MATLAB easyblock (#672)
                  • move preparing of 'intel' subdir in $HOME to configure_step in IntelBase easyblock (#673)
                • various bug fixes, including:
                  • add missing super call in post_install_step of imkl easyblock (#648, #660)
                  • fix regex used to correct I_MPI_ROOT in impi mpivars.sh scripts (#662)
                  • fix regex used to patch .mk file in configure step of SuiteSparse easyblock (#666)
                  • correctly specify installation prefix via $GEM_HOME in RubyGem easyblock (#667)
                  • add custom sanity check in scipy easyblock (#669)
                  • specify to always use the bfd linker for OpenFOAM, to stay away from using ld.gold (#670)

                easyconfigs

                • added example easyconfig files for 19 new software packages:
                  • ATK (#1780), Atkmm (#1780), cairomm (#1780), GLibmm (#1780), GlobalArrays (#1868), gdk-pixbuf (#1780), gtk+ (#1780), Gtkmm (#1780), libbeef (#1827), libsigc++ (#1780), libsodium (#1876), MACS (#1869), MCR (#1677), Molpro (#1880), NFFT (#1921), p7zip (#1931), Pangomm (#1780), pygraphviz (#1861), pycosat (#1859)
                • added new easyconfigs for existing toolchains: GNU/4.9.3-2.25 (#1836), foss/2015b (#1695), intel/2015b (#1696)
                  • add easyconfigs using this toolchain for BLAST+ 2.2.31, Boost 1.58.0, CP2K 2.6.1, OpenFOAM 2.3.1, Perl 5.20.2 + 5.22.0 (bare), Python 2.7.10, R 3.2.1
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • including Boost 1.59.0, CP2K 2.6.1, GCC 5.2.0
                • various other enhancements, including:
                  • enhance texinfo easyconfig w.r.t. texmf, only use it as a build dependency (#1840)
                  • enable building of ld.gold in binutils 2.25 (#1885)
                • various bug fixes, including:
                  • fix enabling MPI support for h5py 2.5.0 (#1825)
                  • fix versions of Bioconductor packages + add a couple extra (#1828, #1852, #1895, #1917)
                  • put dummy values in place for builddir/installdir templates in easyconfigs unit tests (#1835)
                  • fix easyconfigs unit tests w.r.t. changes made in framework (#1853, #1870, #1874, #1875)
                  • add GMP as missing dep in Python 2.7.10 easyconfigs, required for pycrypto extension (#1858)
                  • specify installation prefix for SIP (#1888, #1892)
                  • add custom sanity check paths in various easyconfigs (#1889, #1894, #1897 - #1909)
                    • required because of fix in EasyBuild framework, causing default sanity check paths to be considered for extensions that are installed as a module
                    • affected easyconfigs include: AnalyzeFMRI, Biggus, bibtexparser, DB_File, DBD-Pg, DBD-SQLite, DBD-mysql, evmix, fmri, FPM, GraphViz, gsl, GSSAPI, MDP, mpi4py, ncdf, ncdf4, netifaces, NetLibIDN, networkx, ordereddict, Parallel-ForkManager, paycheck, PyQuante, Pyke, PyQt, r2py, rjags, runjags, scikit-learn, SOBAcl, vsc-processcontrol, vsc-mympirun-scoop, XML, XML-Dumper, XML-Parser, XML-Twig, YAML-Syck
                  • don't enable 'static' toolchain option in SuiteSparse 4.4.3 easyconfig (#1911)
                  • add --exclude unpack options for OpenFOAM 2.3.1 to avoid cyclic symlink causing problems when unpacking (#1925)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb220","title":"EasyBuild v2.2.0 (July 15th 2015)","text":"

                feature + bugfix release

                framework

                • add support for using GC3Pie as a backend for --job (#1008)
                  • see also Submitting jobs using --job
                • add support for --include-* configuration options to include additional easyblocks, toolchains, etc. (#1301)
                  • see Including additional Python modules
                • add (experimental) support for packaging installed software using FPM (#1224)
                  • see Packaging support
                • various other enhancements, including:
                  • use https for PyPI URL templates (#1286)
                  • add GNU toolchain definition (#1287)
                  • make bootstrap script more robust (#1289, #1325):
                    • exclude 'easyblocks' pkg from sys.path to avoid that setup.py for easybuild-easyblocks picks up wrong version
                    • undefine $EASYBUILD_BOOTSTRAP* environment variables, since they do not correspond with known config options
                  • improve error reporting/robustness in fix_broken_easyconfigs.py script (#1290)
                  • reset keep toolchain component class 'constants' every time (#1294)
                  • make --strict also a build option (#1295)
                  • fix purging of loaded modules in unit tests' setup method (#1297)
                  • promote MigrateFromEBToHMNS to a 'production' MNS (#1302)
                  • add support for --read-only-installdir and --group-writable-installdir configuration options (#1304)
                  • add support for not expanding relative paths in prepend_paths (#1310)
                  • enhance EasyConfig.dump() method to use easyconfig templates where possible (#1314), #1319), #1320), #1321)
                • various bug fixes, including:
                  • fix issue with cleaning up (no) logfile if --logtostdout/-l is used (#1298)
                  • stop making ModulesTool class a singleton since it causes problems when multilple toolchains are in play (#1299)
                  • don't modify values of 'paths' list passed as argument to prepend_paths in ModuleGenerator (#1300)
                  • fix issue with EasyConfig.dump() + cleanup (#1308), #1311)
                  • re-enable (and fix) accidentally disabled test (#1316)

                easyblocks

                • modified easybuild.easyblocks package declaration to support giving preference to custom easyblocks (#617)
                • 2 new generic easyblocks: RubyGem (#565), SystemCompiler (#633)
                • new easyblocks for 5 software packages that require customized support:
                  • NEMO (#564), pbdMPI (#612), #620), pbdSLAP (#620), PDT (#624), Ruby (#565)
                • various other enhancements, including:
                  • update CUDA easyblock for v6.x (#476)
                  • make METIS easyblock take into account configopts (#494)
                  • enable building of EOMIP and EOMEA for NWChem versions 6.5 and up (#508)
                  • make out-of-source build with CMake truly out-of-source (#615)
                  • add support in Bundle easyblock to run full sanity check (#627)
                  • also take platform-specific Python lib dirs into account in PythonPackage easyblock (#628)
                  • fix mpivars scripts in Intel MPI installation for versions where the installation is moved (#629)
                  • don't restrict det_pylibdir function to only EasyBuild-provided Python (#631), #641)
                  • support snappy and other optional native libs in Hadoop easyblock (#632), #638), #640), #642)
                • various bug fixes, including:
                  • fix Xmipp easyblock, use provided install.sh script (#630)
                  • update Clang easyblock to disable tests that may fail when unlimited stack size is used (#622)
                  • fix setting of $INTEL_LICENSE_FILE for port@server values (#635)

                easyconfigs

                • added example easyconfig files for 62 new software packages:
                  • ADF (#899), AutoDock_Vina (#808), bibtexparser (#1726), Biggus (#1770), Bismark (#990), blasr (#1662), BSMAP (#1171), Check (#811), Circuitscape (#1222), CONTRAfold (#689), cramtools (#1741), DBD-Pg (#1066), DendroPy (#995), EMAN2 (#1737), ETSF_IO (#727), eudev (#1578), fastqc (#1636), FDS (#814), #1617), #1625), FPM (#1440), frealign (#1619), g2log (#1035), GC3Pie (#1692), #1756), #1768), GenotypeHarmonizer (#1672), gensim (#1762), GraphViz (#1658), hisat (#1674), IDBA-UD (#1045), IMa2 (#828), IMPUTE2 (#824), JUBE (#1396), LAMARC (#760), libXScrnSaver (#1653), MATIO (#1004), MuTect (#1483), ncdf (#617), NEMO (#1640), ngspice (#1116), ordereddict (#1774), OSU Micro-Benchmarks (#1777), Parallel-ForkManager (#847), pBWA (#1009), PeakSeq (#1412), Pillow (#1702), Pindel (#1126), PLUMED (#1596), #1665), PostgreSQL (#1066), PROJ (#1006), PyAMG (#1222), Pyke (#1776), rpy2 (#1775), Sailfish (#1035), SCANMS (#1386), Seaborn (#1763), snpEff (#1680), SOBAcl (#1658), SPIDER (#1624), #1723), STAR (#1043), #1676), system GCC (#1778), tabix (#1059), tecplot360ex (#1100), Vampir (#512), VampirServer (#512), verifyBamID (#1675)
                • added easyconfigs for 4 new software bundles:
                  • R-bundle-Bioconductor (#1573), #1795), R-bundle-devtools (#1621), #1759), R-bundle-extra (#1387), #1759), R-bundle-pbd (#1659)
                • added easyconfigs for new GNU toolchain (#1346), #1669)
                • added new easyconfigs for existing toolchains: goolf/1.5.16, intel/2014.06
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • including BLAST 2.2.31+, Clang 3.6.1, CUDA 6.x, GCC 4.9.3, GROMACS 5.0.5, HDF5 1.8.15 + 1.8.15-patch1, Python 2.7.10, R 3.2.0 + 3.2.1, WRF 3.6.1
                • various other enhancements, including:
                  • update all ncurses easyconfigs to enable ncursesw and use ConfigureMake easyblock (#1337)
                  • update PDT easyconfigs to use PDT easyblock (#1687)
                  • add custom sanity_check_paths in libxml2 easyconfigs (#1690)
                  • enhance unit tests to also cover EasyConfig.dump() method on all easyconfigs (#1761)
                  • include snappy as dependency in Hadoop easyconfigs (#1758), #1773)
                  • enable SSL support in CMake v3.2.3 easyconfigs (#1784)
                  • add additional extensions in R easyconfigs (#1637)
                • various bug fixes, including:
                  • add patch file required for correct CUDA-aware OpenMPI v1.7.3 build (#631)
                  • fix issue with OpenMPI dependency in ECore easyconfigs (#777)
                  • don't run the Bloom tests for Jellyfish, they can randomly fail (#1016)
                  • fix source URLs in BioPerl easyconfigs (#1075)
                  • patch out svnversion command in Python 2.5.6 to fix build on recent systems (#1576)
                  • consistently use https for PyPI URLs in homepage/source_urls (#1616), #1722)
                  • include Tcl and Tk as dependencies in R easyconfig (#1623)
                  • add patch for installing paycheck as Py3 extension (#1629)
                  • add Perl dependency in git 2.x easyconfigs (#1631)
                  • fix easyconfig for GMP 6.0.0, don't use 6.0.0a sources (#1635)
                  • fix source_urls in QuantumESPRESSO 5.0.2 easyconfigs (#1652)
                  • include Tk as dependency in Python 2.7.9 easyconfigs (#1654)
                  • include tk-devel is list of OS deps for Python 2.7.9 Cray easyconfigs, make sure 'import Tkinter' works (#1655)
                  • drop gpfs versionsuffix and stop using no longer existing --enable-gpfs configopt for recent HDF5 versions (#1657)
                  • include missing libxml2 dep in GLib easyconfigs (#1666)
                  • fix source URLs in Qt easyconfigs (#1673)
                  • fix source URLs for argparse Python extension (#1697)
                  • fix source URLs for deap Python extension (#1699)
                  • fix easyconfigs unit tests after making ModulesTool a non-singleton class (#1708)
                  • fix names for Xmipp easyconfigs and patches (#1719)
                  • add patch for Qt 4.8.6 to fix build issue on RHEL6 with intel/2015a (#1734)
                  • add M4 as build dep for GCC 5.1.0 (#1735)
                  • fix Bioconductor extension versions in R 3.1.3 easyconfigs (#1748)
                  • remove custom exts_filter definition from Python 3.4.3 easyconfig (#1765)
                  • fix source_urls in netCDF easyconfigs (#1766)
                  • fix source_urls in netCDF-C++ and netCDF-Fortran easyconfigs (#1767)
                ","boost":0.5},{"location":"release-notes/#release_notes_eb211","title":"EasyBuild v2.1.1 (May 18th 2015)","text":"

                bugfix release

                framework

                • fix issue with missing load statements when --module-only is used, don't skip ready/prepare steps (#1276)
                • enhance --search: only consider actual filename (not entire path), use regex syntax (#1281)
                • various other bug fixes, including:
                  • fix generate_software_list.py script w.r.t. dependencies marked as external modules (#1273)
                  • only use $LMOD_CMD value if lmod binary can't be found in $PATH (#1275)
                  • fix location of module_only build option w.r.t. default value (#1277)
                  • fix combined use of --hide-deps and hiddendependencies (#1280)
                  • remove log handlers that were added during tests, to ensure effective cleanup of log files (#1282)
                    • this makes the unit test suite run ~3x faster!
                  • define $CRAYPE_LINK_TYPE if 'dynamic' toolchain option is enabled for Cray compiler wrappers (#1283)

                easyblocks

                • fix compatibility of easyblocks with --module-only + dedicated unit test module (#610)
                • minor enhancements, including:
                  • update GROMACS easyblock for version 5 (#513)
                • various other bug fixes, including:
                  • only check compiler being used if FFTW interfaces are being built in Intel MKL easyblock (#606)

                easyconfigs

                • added example easyconfig files for 3 new software packages:
                  • networkx (#1592), Platanus (#1597), SaguaroGW (#1600)
                • added new easyconfigs for existing toolchains: ictce/7.3.5, CrayCCE/5.2.40, CrayGNU/5.2.40, CrayIntel/5.2.40
                • added easyconfigs using CrayGNU/5.2.25 and CrayGNU/5.2.40 toolchains (#1610, #1611)
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • including Boost 1.58.0, GROMACS 5.0.4, Python 3.4.3
                • various bug fixes, including:
                  • enable usempi in GROMACS easyconfig using CrayGNU toolchain (as required by GROMACS easyblock) (#1590)
                  • use system-provided tcsh when building WRF on Cray systems, to avoid hanging build (#1595)
                  • only use 'dynamic' toolchain option, not 'shared', in easyconfigs using Cray toolchain (#1609)
                ","boost":0.5},{"location":"release-notes/#release_notes_v2.1.0","title":"EasyBuild v2.1.0 (April 30th 2015)","text":"

                feature + bugfix release

                framework

                • requires vsc-base v2.2.0 or more recent
                  • added support for LoggedException (vsc-base#160, vsc-base#163, vsc-base#165, vsc-base#167)
                  • added support for add_flex action in GeneralOption (vsc-base#162)
                  • added support to GeneralOption to act on unknown configuration environment variables (vsc-base#162)
                • add support for only (re)generating module files: --module-only (#1018)
                  • module naming scheme API is enhanced to include det_install_subdir method
                  • see Only (re)generating (additional) module files using --module-only
                • add support for generating module files in Lua syntax (note: requires Lmod as modules tool) (#1060, #1255, #1256, #1270)
                  • see --module-syntax configuration option and Module files syntax
                • deprecate log.error method in favor of raising EasyBuildError exception (#1218)
                  • see error and exception log methods no longer raise an exception
                • add support for using external modules as dependencies, and to provide metadata for external modules (#1230, #1265, #1267)
                  • see Using external modules
                • add experimental support for Cray toolchains on top of PrgEnv modules: CrayGNU, CrayIntel, CrayCCE (#1234, #1268)
                  • see https://github.com/easybuilders/easybuild/wiki/EasyBuild-on-Cray
                • various other enhancements, including:
                  • clear list of checksums when using --try-software-version (#1169)
                  • sort the results of searching for files (e.g., --search output) (#1214)
                  • enhance test w.r.t. use of templates in cfgfile (#1217)
                  • define '%(DEFAULT_REPOSITORYPATH)s' template for cfgfiles (see eb --avail-cfgfile-constants) (#1220)
                  • also reset $LD_PRELOAD when running module commands, in case module defined $LD_PRELOAD (#1222)
                  • move location of 'module use' statements in generated module file (after 'module load' statements) (#1232)
                  • add support for --show-default-configfiles (#1240)
                    • see Default configuration files
                  • report error on missing configuration files, rather than ignoring them (#1240)
                  • clean up commit message used in easyconfig git repository (#1248)
                  • add --hide-deps configuration option to specify names of software that must be installed as hidden modules (#1250)
                    • see Installing dependencies as hidden modules using --hide-deps
                  • add support for appending/prepending to --robot-paths to avoid overwriting default robot search path (#1252)
                    • see Prepending/appending to the default robot search path
                  • enable detection of use of unknown $EASYBUILD-prefixed environment variables (#1253)
                    • see Environment variables
                  • add --installpath-modules and --installpath-software configuration options (#1258)
                    • see Software and modules install path
                  • use dedicated subdirectory in temporary directory for each test to ensure better cleanup (#1260)
                  • get rid of $PROFILEREAD hack when running commands, not needed anymore (#1264)
                • various bug fixes, including:
                  • make bootstrap script robust against having vsc-base already available in Python search path (#1212, #1215)
                  • set default value for unpack_options easyconfig parameter to '', so self.cfg.update works on it (#1229)
                  • also copy rotated log files (#1238)
                  • fix parsing of --download-timeout value (#1242)
                  • make test_XDG_CONFIG_env_vars unit test robust against existing user config file in default location (#1259)
                  • fix minor robustness issues w.r.t. $XDG_CONFIG* and $PYTHONPATH in unit tests (#1262)
                  • fix issue with handling empty toolchain variables (#1263)

                easyblocks

                • replace 'log.error' with 'raise EasyBuildError' in all easyblocks (#588)
                • one new generic easyblock: ConfigureMakePythonPackage (#540)
                • new easyblocks for 2 software packages that require customized support:
                  • TINKER (#578), Xmipp (#581)
                • various other enhancements, including:
                  • enhance WIEN2k easyblock for recent versions + cleanup (#486)
                  • define $PYTHONNOUSERSITE in PythonPackage easyblock so user-installed packages are not picked up (#577)
                  • add support in CP2K easyblock for building on top of MPICH/MPICH2 (#579)
                  • enhance Hadoop easyblock to support parallel builds (#580)
                  • drop -noroot for recent FLUENT versions, honor installopts, enable -debug (#582)
                  • include prebuildopts in build command for Python packages (#585)
                  • also install rosetta_tools subdirectory for Rosetta (#586)
                  • update SLEPc easyblock for v3.5 + style cleanup (#593)
                  • minor fix in HPL easyblock w.r.t. checking defined environment variables (#595)
                  • tweak CP2K easyblock w.r.t. LAPACK/FFTW support (#596)
                  • minor update to GCC easyblock to support GCC v5.x (#598)
                  • update sanity check in R easyblock for version 3.2.0 (#602)
                • various bug fixes, including:
                  • fix Score-P easyblock for compiler-only toolchains, include Qt as optional dependency (#552)
                  • fix definition of $MKLROOT, should be set to 'mkl' subdir of install dir (#576)
                  • add -libmpichf90 to list of MPI libraries in NWChem easyblock (#584)
                  • stop using '$root' to make easyblocks compatible with module files in Lua syntax (#590)
                  • also set $PYTHONPATH before installing Python package in temporary directory in test_step (#591)
                  • unset buildopts/installopts before installing Python extensions in Python easyblock (#597)
                  • allow not including vsc-base sources when installing EasyBuild (gets installed with easybuild-framework) (#600)
                  • use self.initial_environ rather than self.orig_environ in EasyBuildMeta easyblock (#600)
                  • make GCC easyblock compatible with --module-only by setting default value for self.platform_lib in constructor (#603)

                easyconfigs

                • added example easyconfig files for 27 new software packages:
                  • AFNI (#1322, #1521), BCFtools (#1492), getdp (#1518), gmsh (#1518), gtest (#1244), hanythingondemand (#1530), mawk (#1369), Minimac (#815), Minimac3 (#1502), monty (#1548), Octave (#1563), pbs_python (#1530), pigz (#1036), Pygments (#1536), pyhull (#1539), pymatgen (#1549), PyQt (#1322, #1521), Ray (#1494), requests (#1536), seqtk (#1524), SIP (#1322, #1521), S-Lang (#1369), Spark (#1554), spglib (#1549), TINKER (#1465), tmux (#1369), Xmipp (#1489)
                • added easyconfigs for new (Cray-specific) toolchains (#1538): CrayGNU, CrayIntel, CrayCCE
                  • initially supported software (using CrayGNU toolchains): CP2K, GROMACS, HPL, Python + numpy/scipy, WRF (#1558)
                  • see also https://github.com/easybuilders/easybuild/wiki/EasyBuild-on-Cray
                • added new easyconfigs for existing toolchains: goolf/1.5.16, intel/2014.06
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • including GCC v5.1.0, OpenFOAM v2.3.1, R v3.1.3 and v3.2.0, PETSc/SLEPc v3.5.3, WIEN2k v14.1
                • various other enhancements, including:
                  • include pbr dependency for lockfile Python extension in Python v2.7.9 easyconfigs + mock/pytz/pandas (#1462, #1540)
                  • include SQLite as dependency in Python v2.7.9 easyconfigs (#1468)
                  • set $LD_PRELOAD for Hoard and jemalloc (#1470)
                  • fix homepage in SCOTCH easyconfigs (#1485)
                  • adding missing six/ecdsa dependencies for dateutil/paramiko Python packages in Python easyconfigs (#1504, #1505, #1506, #1507, #1508, #1509, #1510)
                  • enable pic toolchain option in expat easyconfigs (#1562)
                  • extend list of source URLs for Bioconductor packages in R easyconfigs to include 'release' source URLs (#1568)
                • various bug fixes, including:
                  • adding missing zlib dependency in all Tcl easyconfig files (#1344)
                  • fix homepage in FLUENT easyconfigs (#1472)
                  • use --with-verbs rather than deprecated --with-openib in OpenMPI configure options (#1511)
                  • stop relying on OS_NAME constant to specify OS dependencies in OpenMPI easyconfigs (#1512)
                  • replace use of '$root' with '%(installdir)s' to ensure compatibility with module files in Lua syntax (#1532)
                  • stop relying on '$MKLROOT' in ROOT easyconfigs (#1537)
                  • use proper Bundle easyblock for biodeps/PRACE (#1566)
                  • make source_urls in Cube and Scalasca easyconfigs compatible with --try-software-version (#1574)
                  • add patch for Cube to fix configure script w.r.t. Qt dependency, add --without-java-reader configure option (#1574)
                ","boost":0.5},{"location":"release-notes/#release_notes_v2.0.0","title":"EasyBuild v2.0.0 (March 6th 2015)","text":"

                feature + bugfix release

                framework

                • requires vsc-base v2.0.3 or more recent
                  • avoid deprecation warnings w.r.t. use of message attribute (vsc-base#155)
                  • fix typo in log message rendering --ignoreconfigfiles unusable (vsc-base#158)
                • removed functionality that was deprecated for EasyBuild version 2.0 (#1143)
                  • see Removed functionality
                  • the fix_broken_easyconfigs.py script can be used to update easyconfig files suffering from this (#1151, #1206, #1207)
                • stop including a crippled copy of vsc-base, include vsc-base as a proper dependency instead (#1160, #1194)
                  • vsc-base is automatically installed as a dependency for easybuild-framework, if a Python installation tool is used
                  • see Required Python packages
                • various other enhancements, including:
                  • add support for Linux/POWER systems (#1044)
                  • major cleanup in tools/systemtools.py + significantly enhanced tests (#1044)
                  • add support for 'eb -a rst', list available easyconfig parameters in ReST format (#1131)
                  • add support for specifying one or more easyconfigs in combination with --from-pr (#1132)
                    • see Specifying particular easyconfig files
                  • define __contains__ in EasyConfig class (#1155)
                  • restore support for downloading over a proxy (#1158)
                    • i.e., use urllib2 rather than urllib
                    • this involved sacrificing the download progress report (which was only visible in the log file)
                  • let mpi_family return None if MPI is not supported by a toolchain (#1164)
                  • include support for specifying system-level configuration files for EasyBuild via $XDG_CONFIG_DIRS (#1166)
                    • see Default configuration files
                  • make unit tests more robust (#1167, #1196)
                    • see Unit tests
                  • add hierarchical module naming scheme categorizing modules by moduleclass (#1176)
                  • enhance bootstrap script to allow bootstrapping using supplied tarballs (#1184)
                  • disable updating of Lmod user cache by default, add configuration option --update-modules-tool-cache (#1185)
                    • for now, only the Lmod user cache can be updated using --update-modules-tool-cache
                  • use available which() function, rather than running 'which' via run_cmd (#1192)
                  • fix install-EasyBuild-develop.sh script w.r.t. vsc-base dependency (#1193)
                  • also consider robot search path when looking for specified easyconfigs (#1201)
                    • see Specifying what to install
                • various bug fixes, including:
                  • stop triggering deprecated/no longer support functionality in unit tests (#1126)
                  • fix from_pr test by including dummy easyblocks for HPL and ScaLAPACK (#1133)
                  • escape use of '%' in string with command line options with --job (#1135)
                  • fix handling specified patch level 0 (+ enhance tests for fetch_patches method) (#1139)
                  • fix formatting issues in generated easyconfig file obtained via --try-X (#1144)
                  • use log.error in tools/toolchain/toolchain.py where applicable (#1145)
                  • stop hardcoding /tmp in mpi_cmd_for function (#1146, #1200)
                  • correctly determine variable name for $EBEXTLIST when generating module file (#1156)
                  • do not ignore exit code of failing postinstall commands (#1157)
                  • fix rare case in which used easyconfig and copied easyconfig are the same (#1159)
                  • always filter hidden deps from list of dependencies (#1161)
                  • fix implementation of path_matches function in tools/filetools.py (#1163)
                  • make sure plain text keyring is used by unit tests (#1165)
                  • suppress creation of module symlinks for HierarchicalMNS (#1173)
                  • sort all lists obtained via glob.glob, since they are in arbitrary order (#1187)
                  • stop modifying $MODULEPATH directly in setUp/tearDown of toolchain tests (#1191)

                easyblocks

                • one new generic easyblock for installing a bundle of modules: Bundle (#550)
                  • and let the Toolchain generic easyblock derive from Bundle
                • new easyblocks for 2 software packages that require customized support:
                  • GAMESS-US (#470, #544, #558), Hadoop (#563)
                • various other enhancements, including:
                  • move support for staged_install from CPLEX easyblock to generic Binary easyblock (#502)
                  • fix sanity check in picard easyblock for v1.119 that doesn't include sam.jar (#522)
                  • log warning message when unlinking jellyfish symlink fails in Trinity easyblock (#534)
                  • revamp EB_libint2 easyblock into EB_Libint that works for both Libint v1x and v2.x (#536)
                  • update CP2K easyblock for recent versions (no more 'fes') (#537)
                  • update SuiteSparse easyblock for recent versions (#541)
                  • fix easyblock unit tests after dropping support for deprecated behaviour in framework (#543)
                  • rework PSI easyblock to support future releases (#545)
                  • enable always generating a 'verbose' Makefile in the generic CMakeMake easyblock (#546)
                  • remove functionality in (generic) easyblocks that was deprecated for EasyBuild v2.0 (#547)
                  • enhance generic RPackage easyblock to support installing extensions in a separate prefix (#551)
                  • deprecate GenomeAnalysisTK easyblock, since it's basically equivalent to Tarball (#557)
                  • update SAMtools easyblock for v1.2 (#562)
                  • take preconfigopts easyconfig parameter into account in ROOT easyblock (#566)
                  • update easyblock for installing EasyBuild
                    • to support bootstrapping with provided source tarballs (#559)
                    • to also cover vsc-base dependency, and verify easy-install.pth (#567)
                  • update disabling sanitizer tests for Clang 3.6 (#570)
                • various bug fixes, including:
                  • fix handling of LTO in GCC easyblock (#535)
                  • relocate FDTD RPM to fix installation on SL6 (#538)

                easyconfigs

                • added example easyconfig files for 29 new software packages:
                  • bsoft (#1353), Coot (#1400), Cuby (#1258), DSRC (#1242), Exonerate (#568), fastqz (#1242), FSA (#568), fqzcomp (#1242), GAMESS-US (#1153, #1406), Grep (#1308), Hadoop (#1418), Hoard (#1415), IMB (#1284), ISL (#1389), jemalloc (#1416), libdwarf (#1283), libelf (#1283), MPC (#1310), multitail (#1327), Pmw (#1403), Quip (#1242), rCUDA (#720), SCALCE (#1242), SMALT (#568), STREAM (#1332), worker (#1307), Xerces-C++ (#1370), XQilla (#1370), ZPAQ (#1242)
                • added easyconfigs for new (common) toolchains
                  • foss/2015a (#1239), gompi/1.5.16 (#1380), gmvolf/1.7.20 (#1397), goolf/1.7.20 (#1294), intel/2015a (#1238), intel/2015.02 (#1393), iomkl/2015.01 (#1325), iomkl/2015.02 (#1401)
                • added new software bundle: Autotools (#1385)
                • various other enhancements, including:
                  • don't define $LDSHARED in zlib easyconfigs (#1350)
                    • this fixes the long-standing \"no version information available\" issue with zlib
                    • see also framework#108
                  • add unit test to check that all extra_options keys are defined in EasyConfig instance (#1378)
                  • add source MD5 checksums in all GCC easyconfigs (#1391)
                  • speeding up the unit tests by avoiding rereading of same easyconfig file (#1432)
                  • fix conflict detection in unit tests by considering build deps separately from runtime deps (#1447)
                  • fix toolchain for Bison build dep in MVAPICH2-1.9-iccifort-2011.13.367.eb easyconfig (#1448)
                  • use Bundle generic easyblock for HPCBIOS bundles and fix moduleclass (#1451)
                • various bug fixes, including:
                  • revert version of Libint dependency to 1.1.4 in CP2K v2.5.1 easyconfig (#1144)
                  • added Java dependencies to EMBOSS easyconfigs (#1167)
                  • don't list 'lto' as a language in GCC easyconfigs (#1286)
                    • related to the fixes in the GCC easyblock, see easyblocks#535
                  • rename libint2 easyconfigs as Libint v2 easyconfigs (#1287)
                  • fix mpi4py source_urls in Python easyconfigs (#1306)
                  • consistently use CLooG 0.18.0 for GCC 4.8 series (#1392)
                  • rename GenomeAnalysisTk easyconfigs to GATK (#1399)
                  • include openssl-devel SLES11 OS dependency in cURL/MySQL/Python easyconfigs (#1422)
                  • add missing Perl dependency in parallel easyconfigs (#1430)
                  • correct name in BLAST+ easyconfigs (#1443)
                  • fix name for sparsehash easyconfigs (#1452)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1162-march-6th-2015","title":"EasyBuild v1.16.2 (March 6th 2015)","text":"

                bugfix release

                framework

                (no changes compared to v1.16.1, simple version bump to stay in sync with easybuild-easyblocks)

                easyblocks

                • make EB_EasyBuildMeta easyblock aware of vsc-base to make upgrading to EasyBuild v2.0.0 possible (#573)

                easyconfigs

                (no changes compared to v1.16.1, simple version bump to stay in sync with easybuild-easyblocks)

                ","boost":0.5},{"location":"release-notes/#easybuild-v1161-december-19th-2014","title":"EasyBuild v1.16.1 (December 19th 2014)","text":"

                bugfix release

                framework

                • fix functionality that is broken with --deprecated=2.0 or with $EASYBUILD_DEPRECATED=2.0
                  • don't include easyconfig parameters for ConfigureMake in eb -a, since fallback is deprecated (#1123)
                  • correctly check software_license value type (#1124)
                  • fix generate_software_list.py script w.r.t. deprecated fallback to ConfigureMake (#1127)
                • other bug fixes
                  • fix logging issues in tests, sync with vsc-base v2.0.0 (#1120)

                easyblocks

                • fix EasyBuild versions for which $EASYBUILD_DEPRECATED=1.0 is set in EasyBuild sanity check (#531)

                easyconfigs

                • set default easyblock to ConfigureMake in TEMPLATE.eb (#1277)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1160-december-18th-2014","title":"EasyBuild v1.16.0 (December 18th 2014)","text":"

                feature + bugfix release

                framework

                • deprecate automagic fallback to ConfigureMake easyblock (#1113)
                  • easyconfigs should specify easyblock = 'ConfigureMake' instead of relying on the fallback mechanism
                  • note: automagic fallback to ConfigureMake easyblock will be removed in EasyBuild v2.0
                  • see also Automagic fallback to ConfigureMake
                • stop triggering deprecated functionality, to enable use of --deprecated=2.0 (#1107, #1115, #1119)
                  • see Deprecated functionality for more information
                • various other enhancements, including:
                  • add script to clean up gists created via --upload-test-report (#958)
                  • also use -xHost when using Intel compilers on AMD systems (as opposed to -msse3) (#960)
                  • add Python version check in eb command (#1046)
                  • take versionprefix into account in HierarchicalMNS module naming scheme (#1058)
                  • clean up and refactor main.py, move functionality to other modules (#1059, #1064, #1075, #1087)
                  • add check in download_file function for HTTP return code + show download progress report (#1066, #1090)
                  • include info log message with name and location of used easyblock (#1069)
                  • add toolchains definitions for gpsmpi, gpsolf, impich, intel-para, ipsmpi toolchains (#1072, #1073)
                    • support for Parastation MPI based toolchains
                  • enforce that hiddendependencies is a subset of dependencies (#1078)
                    • this is done to avoid that site-specific policies w.r.t. hidden modules slip into contributed easyconfigs
                  • enable use of --show_hidden for avail subcommand with recent Lmod versions (#1081)
                  • add --robot-paths configure option (#1080, #1093, #1095, #1114)
                  • support use of %(DEFAULT_ROBOT_PATHS)s template in EasyBuild configuration files (#1100)
                    • see also Controlling the robot search path
                  • use -xHost rather than -xHOST, to match Intel documentation (#1084)
                  • update and cleanup README file (#1085)
                  • deprecate self.moduleGenerator in favor of self.module_generator in EasyBlock (#1088)
                  • also support MPICH MPI family in mpi_cmd_for function (#1098)
                  • update documentation references to point to http://easybuild.readthedocs.org (#1102)
                  • check for OS dependencies with both rpm and dpkg (if available) (#1111)
                • various bug fixes, including:
                  • fix picking required software version specified by --software-version and clean up tweak.py (#1062, #1063)
                  • escape $ characters in module load message specified via modloadmsg easyconfig parameter) (#1068)
                  • take available hidden modules into account in dependency resolution (#1065)
                  • fix hard crash when using patch files with an empty list of sources (#1070)
                  • fix Intel MKL BLACS library being used for MPICH/MPICH2-based toolchains (#1072)
                  • fix regular expression in fetch_parameter_from_easyconfig_file function (#1096)
                  • don't hardcode queue names when submitting a job (#1106)
                  • fix affiliation/mail address for Fotis in headers (#1105)
                  • filter out /dev/null entries in patch file in det_patched_files function (#1108)
                  • fix gmpolf toolchain definition, to have gmpich as MPI components (instead of gmpich2) (#1101)
                    • 'MPICH' refers to MPICH v3.x, while MPICH2 refers to MPICH(2) v2.x (MPICH v1.x is ancient/obsolete)
                    • note: this requires to reinstall the gmpolf module, using the updated easyconfig from easybuild-easyconfigs#1217

                easyblocks

                • new easyblocks for 2 software packages that requires customized support:
                  • Chimera (#524), GATE (#518)
                • fix use of deprecated functionality, enhance unit tests to check for it (#523)
                • various other enhancements, including:
                  • update PETSc easyblock for recent versions (v3.5) (#446)
                  • only include major/minor version numbers for FLUENT subdir (#480)
                  • factor out 'move after install' code from impi easyblock to IntelBase, use it for itac (#487)
                  • support custom easyconfig parameters in EB_impi easyblock to correct behavior of MPI wrapper commands (#493)
                  • consider both lib and lib64 in sanity check for GROMACS (#501)
                  • take preinstallopts and installopts into account in Binary easyblock (#503)
                  • add sanity check command abaqus information=all for ABAQUS (#504)
                  • update and clean up README, refer to http://easybuild.readthedocs.org documentation (#505, #516)
                  • rename deprecated self.moduleGenerator to self.module_generator (#506)
                    • see also easybuild-framework#1088
                  • check whether specified type value is a known value (psmp or popt) in CP2K easyblock (#509)
                  • add support to SAMtools easyblock for installing recent versions (v1.x) (#512)
                  • fix version check + sanity check in Geant4 easyblock + style fixes (#517)
                  • added $root/modlib to $PYTHONPATH guesses in Modeller easyblock (#525)
                  • mark license custom easyconfig parameter as deprecated in IntelBase (#527)
                • various bug fixes, including:
                  • fix Libxc version check in CP2K easyblock (#478)
                  • correctly specify mkl_libs when building numpy with GCC and imkl (#485)
                  • extend noqa for OpenFOAM-Extend in build_step (#488, #520)
                  • correctly set $LD_LIBRARY_PATH, $LIBRARY_PATH and $PKG_CONFIG_PATH for R (#495)
                  • fix default value for files_to_copy in MakeCp easyblock (#500)
                  • treat MPICH MPI family as MPICH v3.x instead of MPICH v1.x (#519)
                    • see also easybuild-framework#1112
                  • fix affiliation/mail address for Fotis in headers (#521)
                  • clean up in extra_options methods, avoid casting return value to dict or returning via parent (#528)

                easyconfigs

                • added example easyconfig files for 39 new software packages:
                  • ANTs (#1232), BEOPS (#1264), Chhimera (#1255), ctffind (#1249), DBD-SQLite (#1064), DBD-mysql (#1063), DIALIGN-TX (#668), ffmpeg (#1088), GObject-Introspection (#1079), GTS (#1079), Graphviz (#1079), GraphViz2 (#1079), grace (#1131), HarfBuzz (#1079), HTSlib (#1161), GSSAPI (#1048), Kerberos_V5 (#1048), libevent (#1063), libXdmcp (#1129), libXft (#1017), libXinerama (#1017), libXrender (#1017), Maven (#1094), MySQL (#1063), Net-LibIDN (#1060), OpenCV (#1088), OpenMD (#1105), Qhull (#1105), Pango (#1079), psmpi (#1245, #1246), RELION (#1017), renderproto (#1017), rjags (#1125), runjags (#1125), SPRNG (#1138, #1141), xineramaproto (#1017), XML-Dumper (#1061), XML-Parser (#1061), XML-Twig (#1061)
                • added easyconfigs for new toolchains
                  • intel/2014.10 & intel/2014.11 (#1219), intel-para/2014.12 (#1246), gpsolf/2014.12 (#1245), iompi/6.6.4 (#1215)
                • include easyblock = 'ConfigureMake' in relevant easyconfigs to deal with deprecation of automagic fallback to ConfigureMake (#1248)
                  • see also easybuild-framework#1113 and Automagic fallback to ConfigureMake
                • clean up use of deprecated functionality in existing easyconfigs (#1252, #1259)
                  • stop using deprecated makeopts, premakeopts and shared_lib_ext
                  • check for use of deprecated functionality in easyconfigs unit tests
                  • see also http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html#easyconfig-parameters
                • various other enhancements, including:
                  • also build fftw3_threads libraries, and enhance sanity checks (#1013)
                  • add unit test to verify specified sanity_check_paths (#1119)
                  • update and clean up README, refer to http://easybuild.readthedocs.org documentation (#1184, #1224)
                • various bug fixes, including:
                  • fix unit tests w.r.t. changes in framework (#1146)
                  • remove unnecessary build dependencies for OpenMPI (#1168)
                  • remove duplicate line in OpenMPI easyconfigs (#1207)
                  • fix affiliation/mail address for Fotis in headers (#1237)
                  • fix permissions of easyconfig files for consistency (#1210)
                  • disable symbol lookup feature in cairo to fix build on SL6 (#1241)
                  • fix easyconfig gmpolf toolchain w.r.t. MPICH software name (#1217)
                    • see also easybuild-framework#1112
                  • fix source_urls for WRF and WPS (#1225)
                  • fix and clean up GATE easyconfigs (#1228)
                  • fix broken CLHEP builds by including -gcc in $CXXFLAGS (#1254)
                  • add patch to fix broken test in Go (#1257)
                  • fix name of GMAP easyconfigs, should be GMAP-GSNAP (#1268)
                  • fix easyconfig filenames, enhance unit test to check easyconfig filenames (#1271)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1152-october-7th-2014","title":"EasyBuild v1.15.2 (October 7th 2014)","text":"

                bugfix release

                framework

                • fix $MODULEPATH extensions for Clang/CUDA, to make goolfc/cgoolf compatible with HierarchicalMNS (#1050)
                • include versionsuffix in module subdirectory with HierarchicalMNS (#1050, #1055)
                • fix unit tests which were broken with bash patched for ShellShock bug (#1051)
                • add definition of gimpi toolchain, required to make gimkl toolchain compatible with HierarchicalMNS (#1052)
                • don't override COMPILER_MODULE_NAME obtained from ClangGCC in Clang-based toolchains (#1053)
                • fix wrong code in path_to_top_of_module_tree function (#1054)
                  • because of this, load statements for compilers were potentially included in higher-level modules under HierarchicalMNS

                easyblocks

                • only disable sanitizer tests for recent Clang versions (#481, #482)
                • pass down installopts to CUDA install command (#483)

                easyconfigs

                • disable parallel build for slalib (#968)
                • fix compatibility of goolfc with HierarchicalMNS by using GCC toolchain for installing CUDA (#1106, #1115)
                • fix zlib OS dependency spec for Debian in Boost easyconfigs (#1109)
                • fix compatibility of gimkl with HierarchicalMNS by using gimpi subtoolchain (#1110)
                • make both GCC and Clang first-class members in Clang-based toolchains to fix compatibility with HierarchicalMNS (#1113)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1151-september-23rd-2014","title":"EasyBuild v1.15.1 (September 23rd 2014)","text":"

                bugfix release

                framework

                • take into account that multiple modules may be extending $MODULEPATH with the same path, when determining path to top of module tree (see #1047)
                  • this bug caused a load statement for either icc or ifort to be included in higher-level modules installed with an Intel-based compiler toolchain, under the HierarchicalMNS module naming scheme
                • make HierarchicalMNS module naming scheme compatible with cgoolf and goolfc toolchain (#1049)
                • add definition of iompi (sub)toolchain to make iomkl toolchain compatible with HierarchicalMNS (#1049)

                easyblocks

                (no changes compared to v1.15.0, simple version bump to stay in sync with easybuild-framework)

                easyconfigs

                • minor bug fixes, including:
                  • use SHLIB_EXT in GMP/MPFR easyconfigs (#1090)
                  • fix TopHat homepage and source_urls since page moved (#1092)
                  • make iomkl toolchain compatible with HierarchicalMNS (#1099)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1150-september-12th-2014","title":"EasyBuild v1.15.0 (September 12th 2014)","text":"

                feature + bugfix release

                framework

                • various other enhancements, including:
                  • fetch extension sources in fetch_step to enhance --stop=fetch (#978)
                  • add iimpi toolchain definition (#993)
                  • prepend robot path with download location of files when --from-pr is used (#995)
                  • add support for excluding module path extensions from generated modules (#1003)
                    • see include_modpath_extensions easyconfig parameter
                  • add support for installing hidden modules and using them as dependencies (#1009, #1021, #1023)
                    • see --hidden and hiddendependencies easyconfig parameter
                  • stop relying on conflict statement in module files to determine software name of toolchain components (#1017, #1037)
                    • instead, the is_short_modname_for method defined by the module naming scheme implementation is queried
                  • improve error message generated for a missing easyconfig file (#1019)
                  • include path where tweaked easyconfigs are placed in robot path (#1032)
                  • indicate forced builds in --dry-run output (#1034)
                  • fix interaction between --force and --try-toolchain --robot (#1035)
                  • add --software option, disable recursion for --try-software(-X) (#1036)
                • various bug fixes, including:
                  • fix HierarchicalMNS crashing when MPI library is installed with a dummy toolchain (#986)
                  • fix list of FFTW wrapper libraries for Intel MKL (#987)
                  • fix stability of unit tests (#988, #1027, #1033)
                  • make sure $SCALAPACK_INC_DIR (and $SCALAPACK_LIB_DIR) are defined when using imkl (#990)
                  • fix error message on missing FFTW wrapper libs (#992)
                  • fix duplicate toolchain elements in --list-toolchains output (#993)
                  • filter out load statements that extend the $MODULEPATH to make the module being installed available (#1016)
                  • fix conflict specification included in module files (#1017)
                  • avoid --from-pr crashing hard unless --robot is used (#1022)
                  • properly quote GCC version string in archived easyconfig (#1028)
                  • fix issue with --repositorypath not honoring --prefix (#1031)
                  • sync with latest vsc-base version to fix log order (#1039)
                  • increase # commits per page for --from-pr (#1040)

                easyblocks

                • added support for 2 new software packages that requires customized support:
                  • Modeller (#392), NAMD (#397)
                • various enhancements, including:
                  • fix locale used for running Perl unit tests (#425)
                  • fix Rmpi easyblock to correctly configure for Intel MPI (#435)
                  • add support in generic Rpackage easyblock for handling patches (#435)
                  • enhance OpenFOAM easyblock: fix building MPI build of Pstream and (pt)scotchDecomp + overall cleanup (#436)
                  • enhance NWChem easyblock for version 6.3, clean up running of test cases (#441)
                  • enhance noqa for interactive configuration of Qt build procedure (#447)
                  • add custom sanity check for R in easyblock (#449)
                  • make perlmodule take into account (pre){config,build,install}opts (#450)
                  • add support for specifying an activation key after installing Mathematica (#452)
                  • consider both lib and lib64 directories in netCDF sanity check (#453)
                  • fix sanity check for ANSYS for v15.0.x (#458)
                  • fix Trilinos easyblock for recent version (#462)
                  • enhance impi easyblock to handle install subdir for impi v5.0.1 and future version (#465, #472)
                  • include $CFLAGS in linker flags for HPL (#466)
                  • update sanity test checks for GROMACS 5.x (#471)
                • various bug fixes:
                  • fix building of FFTW wrappers for Intel MKL v11.1.x + cleanup of imkl easyblock (#445)

                easyconfigs

                • added example easyconfig files for 13 new software packages:
                  • Circos (#780), DB_File (#913), Emacs (#970), evmix (#1077), GD (#780), gsl (#1077), IOR (#949), JAGS (#1076), libgd (#780), MethPipe (#1070), Modeller (#825), NAMD (#835), netCDF-C++4 (#1015)
                • added easyconfigs for new toolchains (#986, #1051):
                  • gimkl/1.5.9, ictce/7.1.2
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • including Python 2.7.8/3.4.1, Perl 5.20.0, R 3.1.1, NWChem 6.3, OpenFOAM-Extend 3.1, GCC 4.9.1, Clang 3.4.2, ...
                • various enhancements, including:
                  • make existing ictce/intel toolchains compatible with HierarchicalMNS (#1069)
                    • this involves installing impi with an iccifort toolchain, and imkl with an iimpi toolchain
                • various bug fixes, including:
                  • download link for Perl modules changed to use cpan.metapan.org
                  • fix missing MPI-based OpenFOAM libraries (Pstream, (pt)scotchDecomp), make sure provided SCOTCH is used (#957)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1140-july-9th-2014","title":"EasyBuild v1.14.0 (July 9th 2014)","text":"

                feature + bugfix release

                framework

                • important changes
                  • required Lmod version bumped to v5.6.3 (#944)
                    • required due to enhancements and bug fixes in Lmod, e.g. making --terse avail significantly faster, and correctly handling a prepend-path statement that includes multiple directories at once
                  • required Tcl/C environment modules version set to 3.2.10 (
                    • hard requirement due to fixed modulecmd segmentation fault bug, that only tends manifests itself when making a large amount of changes in the environment (e.g. module load <toolchain>)
                  • renamed EasyBuildModuleNamingScheme to EasyBuildMNS
                • enhanced custom module naming schemes functionality to support hierarchical module naming schemes (#953, #971, #975)
                  • extended API for custom module naming schemes to allow tweaking different aspects of module naming
                    • see easybuild/tools/module_naming_scheme/mns.py for abstract ModuleNamingScheme class
                    • an example hierarchical module naming scheme is included, see HierarchicalMNS
                  • split up full module names into a module subdirectory part, which becomes part of $MODULEPATH), and a 'short' module name (is exposed to end-users)
                    • example: GCC/4.7.2 in Core subdir, OpenMPI/1.6.5 in Compiler/GCC/4.7.2 subdir
                  • make ModuleNamingScheme class a singleton, move it into easybuild.tools.module_naming_scheme.mns module
                  • implement ActiveMNS wrapper class for querying active module naming scheme
                  • implement toolchain inspection functions that can be used in a custom module naming scheme
                    • det_toolchain_compilers, det_toolchain_mpi in easybuild.tools.module_naming_scheme.toolchain
                  • significant code cleanup & enhanced unit tests
                • enhance & clean up tools/modules.py (#944, #953, #963, #964, #969)
                  • make ModulesTool a singleton to avoid repeating module commands over & over again needlessly
                  • use module use, module unuse rather than fiddling with $MODULEPATH directly
                  • improve debug logging (include full stdout/stderr output of module commands)
                  • remove deprecated functionality (add_module, remove_module, indirect module load)
                • various other enhancements, including:
                  • added toolchain definitions for 'common' toolchains: intel and foss (#956)
                  • implement caching for easyconfig files, parsed easyconfigs and toolchains (#953)
                  • enable --ignore-osdeps implicitly when -D, --dry-run or --dep-graph are used (#953)
                  • flesh out use_group and det_parallelism function, include them in easybuild.tools.systemtools (#953)
                  • make symlinking of module files part of module naming scheme API (#973)
                    • list of symlinks paths can be controlled using det_module_symlink_paths() method
                  • added support for new configuration options:
                    • tweaking compiler flags triggered by optarch toolchain options using --optarch (#949)
                    • filtering out dependencies from easyconfig files using --filter-deps (#957)
                    • filtering environment included in test reports with --test-report-env-filter (#959) e.g. --test-report-env-filter='^SSH|USER|HOSTNAME|UID|.*COOKIE.*'
                    • made suffix used for module files install path configurable, using --suffix-modules-path (#973)
                  • added support for additional easyconfig parameters:
                    • define aliases in module files (modaliases) (#952)
                    • add print message on module load (modloadmsg) and Tcl footer (modtclfooter) in module files (#954, #974)
                • various bug fixes, including:
                  • don't try to tweak generated easyconfigs when using --try-X (#942)
                  • currently create symlinks to module files modules/all under a custom module naming scheme (#953)
                  • restore traceback error reporting on hard crashes (#965)

                easyblocks

                • added one new generic easyblock: CmdCp (#395)
                • added support for 2 new software packages that requires customized support:
                  • ANSYS (#398), HPCG (#408)
                • various enhancements, including:
                  • updated ABAQUS easyblock so that it works for version 13.2 (#406)
                  • enhance BLAT easyblock by using super's build_step and prebuildopts/buildopts (#423)
                  • enhance Mothur easyblock to guess correct start dir for recent versions (#424)
                  • replace use of deprecated (pre)makeopts with (pre)buildopts in all easyblocks (#427)
                  • fix poor mans version of toolchain compiler detection in imkl easyblock (#429)
                • various bug fixes:
                  • only check for idb for older versions of icc (#426)
                  • fix issues with installing RPMS when rpmrebuild is required (#433)
                  • correctly disable parallel build for ATLAS (#434)
                  • fix sanity check for Intel MPI v5.x (only provides bin64) (#432)
                  • add $MIC_LD_LIBRARY_PATH for MKL v11.x (#437)

                easyconfigs

                • added example easyconfig files for 17 new software packages:
                  • ANSYS (#836), Beast (#912), ELPH (#910, #911), FastTree (#900, #947), GEM-library (#858), HPCG (#853), mdtest (#925), ncview (#648), PRANK (#917), RDP-Classifier (#903), SDPA (#955), SIBELia (#886), SOAPaligner (#857), SPAdes (#884), stemming (#891), WHAM (#872), YAXT (#656)
                • added easyconfigs for new toolchains (#935, #944, #948):
                  • foss/2014b, ictce/6.3.5, intel/2014b
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                • various enhancements, including:
                  • replace use of deprecated (pre)makeopts with (pre)buildopts in all easyblocks (#954)
                  • disable running embossupdate on installation of EMBOSS (#963)
                • various bug fixes, including:
                  • really enable OpenMP support in FastTree easyconfigs (#947)
                  • fix easyconfigs unit tests after changes in framework (#958)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1130-may-29th-2014","title":"EasyBuild v1.13.0 (May 29th 2014)","text":"

                feature + bugfix release

                framework

                • make --try-X command line options work recursively (i.e. collaborate with --robot) (#922)
                  • EasyBuild will first build a full dependency graph of the specified easyconfigs, and then apply the --try specifications
                    • the elements of the dependency graph for the used toolchain and its dependencies are left untouched
                  • this makes eb foo-1.0-goolf-1.4.10.eb --try-toolchain=ictce,5.5.0 --robot also work when foo has dependencies
                  • caveat: the specified easyconfig files must all use the same toolchain (version)
                • add support for testing easyconfig pull requests from EasyBuild command line (#920, #924, #925, #932, #933, #938)
                  • add --from-pr command line option for downloading easyconfig files from pull requests
                  • add --upload-test-report command line option for uploading a detailed test report to GitHub as a gist
                    • this requires specifying a GitHub username for which a GitHub token is available, using --github-user
                    • with --dump-test-report, the test report can simply be dumped to file rather than being uploaded to GitHub
                    • see also https://github.com/easybuilders/easybuild/wiki/Review-process-for-contributions#testing-result
                • the makeopts and premakeopts easyconfig parameter are deprecated, and replaced by buildopts and prebuildopts (#918)
                  • both makeopts and premakeopts will still be honored in future EasyBuild v1.x versions, but should no longer be used
                • various other enhancements, including:
                  • add --disable-cleanup-builddir command line option, to keep the build dir after a (successful) build (#853)
                    • the build dir is still cleaned up by default for successful builds, i.e. --cleanup-builddir is the default
                  • also consider lib32 in paths checked for $LD_LIBRARY_PATH and $LIBRARY_PATH (#912)
                  • reorganize support for file/git/svn repositories into repository package, making it extensible (#913)
                  • add support for postinstallcmds easyconfig parameter, to specify commands that need to be run after the install step (#918)
                  • make VERSION= part in version of C environment modules tool optional, which is required for older versions (#930)
                • various bug fixes, including:
                  • fix small issues in bootstrap script: correctly determine EasyBuild version and make sure modules path exists (#915)
                  • fix github unit tests (#916)
                  • disable useless debug logging for unit tests (#919)
                  • fix unit test for --skip (#929)
                  • make sure start_dir can be set based on location of unpacked first source file (#931)
                  • the vsc package shipped with easybuild-framework is synced with vsc-base v1.9.1 (#935)
                    • fancylogger (used for logging in EasyBuild) is now robust against strings containing UTF8 characters
                    • the deprecated logging function now does a non-strict version check (rather than an erroneous strict check)
                    • the easybuild.tools.agithub module is removed, vsc.utils.rest now provides the required functionality
                  • fix support for unpacking gzipped source files, don't unpack .gz files in-place in the source directory (#936)

                easyblocks

                • added support for 1 new software package that requires customized support:
                  • Go (#417)
                • various enhancements, including:
                  • enhance OpenFOAM easyblock so OpenFOAM-Extend fork can be built too + style fixes (#253, #416)
                  • enhance CPLEX easyblock by adding support for staged installation (#372)
                  • include support for configure_cmd_prefix easyconfig parameter in ConfigureMake generic easyblock (#393)
                  • enhance GCC easyblock for building v4.9.0 and versions prior to v4.5 (#396, #400)
                  • enhance easyblocks for Intel ipp and itac to support recent versions (#399)
                  • enhance Clang easyblock: install static analyzer (#402), be more robust against changing source dir names (#413)
                  • enhance FoldX easyblock, update list of potential FoldX binaries to support recent versions (#407)
                  • add runtime patching in Boost easyblock to fix build issue with old Boost versions and recent glibc (> 2.15) (#412)
                  • enhance MakeCp generic easyblock: use location of 1st unpacked source as fallback base dir for files_to_copy (#415)
                • various bug fixes:
                  • fix installing Mathematica when X forwarding is enabled (make sure $DISPLAY is unset) (#391)
                  • fix permissions of installed files in SAMtools easyblock, ensure read/execute for group/other (#409)
                  • fix implementation of det_pylibdir function in PythonPackage generic easyblock (#419, #420)
                    • determine Python lib dir via distutils Python, which works cross-OS (as opposed to hardcoding lib)

                easyconfigs

                • added example easyconfig files for 32 new software packages:
                  • APBS (#742), BayesTraits (#770), bc (#888), BitSeq (#791), CEM (#789), CVS (#888), eXpress (#786), file (#888), GEMSTAT (#861), GMAP (#594), Go (#887), iscp (#602), IsoInfer (#773), Jellyfish (#868), less (#888), libcircle (#883), mcpp (#602), MMSEQ (#795), MUSTANG (#800), OpenFOAM-Extend (#437), popt (#759), pscom (#759), psmpi2 (#759), QuadProg++ (#773), rSeq (#771), RSEQtools (#870), Ruby (#873), segemehl (#792), SOAPec (#879), SOAPdenovo2 (#874), SRA-Toolkit (#793), texinfo (#888)
                • added easyconfig for new toolchain goolfc/1.4.10
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • e.g., older versions of Boost (1.47.0), GCC (4.1-4.4), & recent versions of Clang, GCC, Lmod, etc.
                • various enhancements, including:
                  • add OpenSSL dependency for cURL, to enable HTTPS support (#881)
                  • also install esl-X binaries for HMMER (#889)
                • various bug fixes, including:
                  • properly pass down compiler flags for ParMGridGen (#437)
                  • specify proper make options for PLINK, fixing the build on SL6 (#594, #772)
                  • fix netloc version (0.5 rather than 0.5beta) (#707)
                  • remove Windows-style line ending in netCDF patch file (#796)
                  • bump version of OpenSSL dep for BOINC (#882)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1121-april-25th-2014","title":"EasyBuild v1.12.1 (April 25th 2014)","text":"

                bugfix release

                framework

                • return to original directory after executing a command in a subdir (#908)
                • fix bootstrap with Lmod, fix issue with module function check and Lmod (#911)

                easyblocks

                (no changes compared to v1.12.0, simple version bump to stay in sync with easybuild-framework)

                easyconfigs

                (no changes compared to v1.12.0, simple version bump to stay in sync with easybuild-framework)

                ","boost":0.5},{"location":"release-notes/#easybuild-v1120-april-4th-2014","title":"EasyBuild v1.12.0 (April 4th 2014)","text":"

                feature + bugfix release

                framework

                • various enhancements, including:
                  • completed support for custom module naming schemes (#879, #904)
                    • a fully parsed easyconfig file is now passed to the det_full_module_name function
                    • this does require that an easyconfig file matching the dependency specification is available
                  • added more features to better support using a shared install target with multiple users (#902, #903, #904)
                  • further development on support for new easyconfig format (v2.0) (#844, #848)
                    • not considered stable yet, so still requires using --experimental
                  • enhanced bootstrap script to also support Lmod and modulecmd.tcl module tools (#869)
                  • added support to run_cmd_qa function to supply a list of answers (#887)
                  • detect mismatch between definition of module function and selected modules tool (#871)
                    • allowing mismatch now requires --allow-modules-tool-mismatch; an empty module function is simply ignored
                  • provide lib64 fallback option for directories in default sanity check paths (#896)
                  • add support for adding JAR files to $CLASSPATH (#898)
                  • enhanced and cleaned up unit tests (#877, #880, #884, #899, #901)
                  • code cleanup and refactoring
                    • get rid of global variable for configuration settings in config.py, use singleton instead (#874, #888, #890, #892)
                    • track build options via singleton in config.py rather than passing them around all over (#886, #889)
                    • avoid parsing easyconfig files multiple times by passing a parsed easyconfig to the easyblock (#891)
                    • deprecate list of tuples return type of extra_options static method (#893, #894)
                    • move OS dependency check to systemtools.py module (#895)
                • bug fixes, including:
                  • fix linking with -lcudart if CUDA is part of the toolchain, should also include -lrt (#882)

                easyblocks

                • various enhancements, including:
                  • also run Perl Build build for Perl modules (usually not required, but sometimes it is) (#380)
                  • added glob support in generic makecp block (#367, #384)
                  • enhance sanity check in GCC easyblock such that it also passes/works on OpenSuSE (#365)
                  • add multilib support in GCC easyblock (#379)
                • various bug fixes:
                  • Clang: disable sanitizer tests when vmem limit is set (#366)
                  • make sure all libraries are installed for recent Intel MKL versions (#375)
                  • fix appending Intel MPI include directories to $CPATH (#371)
                  • statically link readline/ncurses libraries in Python and NWChem easyblocks (#370, #383, #385)
                  • fix easyblock unit tests after changes in framework (#376, #377, #378)

                easyconfigs

                • added example easyconfig files for 6 new software packages:
                  • CLooG (#653), ELPA (#738), LIBSVM (#788), netaddr (#753), netifcas (#753), slalib-c (#750)
                • added easyconfigs for new toolchains:
                  • ClangGCC/1.3.0 (#653), goolf/1.4.10-no-OFED (#749), goolf/1.5.14(-no-OFED) (#764, #767), ictce/6.2.5 (#726), iomkl (#747)
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                • various enhancements, including:
                  • tweak BOINC easyconfig to make use of glob support available for files_to_copy (#781)
                  • enable -fPIC for libreadline, so it can be linked into shared libs (e.g. libpython2.x.so) (#798)
                • various bug fixes, including:
                  • fix Qt source_urls (#756)
                  • enable -fPIC in ncurses 5.9 ictce/5.2.0 easyconfig, just like in the others (#801)
                  • fix unit tests after changes to framework (#763, #766, #769)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1111-february-28th-2014","title":"EasyBuild v1.11.1 (February 28th 2014)","text":"

                bugfix release

                framework

                • various bug fixes, including:
                  • fix hard crash when $LMOD_CMD specified full path to lmod binary, but spider binary is not in $PATH (#861, #873)
                  • fix bug in initialisation of repositories, causing problems when a repository subdirectory is specified (#852)
                  • avoid long wait when dependency resolution fails if --robot is not specified (#875)

                easyblocks

                (no changes compared to v1.11.0, simple version bump to stay in sync with easybuild-framework)

                easyconfigs

                (no changes compared to v1.11.0, simple version bump to stay in sync with easybuild-framework)

                ","boost":0.5},{"location":"release-notes/#easybuild-v1110-february-16th-2014","title":"EasyBuild v1.11.0 (February 16th 2014)","text":"

                feature + bugfix release

                framework

                • various enhancements, including:
                  • add checksum support for extensions (#807)
                  • make checksum functionality more memory efficient by reading in blocks (#836)
                  • rewrite of dependency solving for speed and better reporting of missing dependencies (#806, #818)
                  • refactoring of main.py (#815, #828)
                    • function/method signatures to pass down build options
                    • move functions from main.py into easybuild.framework.X or easybuild.tools
                  • provide better build statistics (#824)
                  • add --experimental, --deprecated and --oldstyleconfig command line options (#838)
                    • with --experimental, new but incomplete (or partially broken) features are enabled
                    • with --deprecated, removed of deprecated functionality can be tested (anything deprecated will fail hard)
                    • with --disable-oldstyleconfig, support for the old style configuration is disabled
                  • define $LIBRARY_PATH in generated module files (#832)
                  • more constants for source URLs (e.g. for downloads from bitbucket) (#831)
                  • prefer $XDG_CONFIG_HOME and ~/.config/easybuild over ~/.easybuild for configuration files (#820)
                  • add support for specifying footers to be appended to generated module files (#808)
                    • see --modules-footer command line option
                  • track version of modules tool + cleanup of modules.py (#839)
                  • move actual run_cmd and run_cmd_qa implementations from tools.filetools into tools.run (#842, #843)
                  • add support for generating modules that support recursive unloading (#830)
                    • see --recursive-module-unload command line option
                  • add flexibility support for specifying OS dependencies (#846)
                    • alternatives can be specified, e.g. (openssl-devel, libssl-dev)
                  • initial (incomplete) support for easyconfig files in new format (v2.0) (#810, #826, #827, #841)
                    • requires --experimental to be able to experiment with format v2 easyconfig files
                • various bug fixes, including:
                  • fix problems with use of new-style configuration file (#821)
                  • fix removal of old build directories, unless cleanupoldbuild easyconfig parameter is set (#809)
                  • fix support for different types of repository path specifications (#814)
                  • fix unit tests sensitive to $MODULEPATH and available easyblocks (#845)

                easyblocks

                • added one new generic easyblock: VSCPythonPackage (#348)
                • added support for 1 new software package that requires customized support:
                  • netcdf4-python (#347)
                • various enhancements, including:
                  • add support for installing recent tbb versions (#341)
                  • use makeopts in the build step of the generic PythonPackage easyblock (#352)
                  • define the $CMAKE_INCLUDE_PATH and $CMAKE_LIBRARY_PATH in the generic CMakeMake easyblock (#351, #360)
                  • update Clang easyblock to support v3.4 (#346)
                  • make sure Python is built with SSL support, adjust Python easyblock to pick up OpenSSL dep (#359)
                    • note: providing OpenSSL via an OS package is still recommended, such that security updates are picked up
                  • add support for recent netCDF versions (#347)
                  • update SuiteSparse easyblock for new versions, and clean it up a bit (#350)
                • various bug fixes:
                  • fix name of VersionIndependentPythonPackage easyblock, deprecate VersionIndependendPythonPackage easyblock (#348)
                  • fix detection of machine architecture in FSL easyblock (#353)
                  • fix bug in NWChem easyblock w.r.t. creating local dummy .nwchem file (#360)
                  • make sure $LIBRARY_PATH is set for Intel compilers and Intel MPI, fix 64-bit specific paths (#360)

                easyconfigs

                • added example easyconfig files for 30 new software packages:
                  • argtable (#669), Clustal-Omega (#669), Coreutils (#582), GMT (#560), gperftools (#596), grep (#582), h4toh5 (#597), libunwind (#596), Lmod (#600, #692), Lua (#600, #692), MAFFT (#654), Molekel (#597), NEdit (#597), netcdf4-python (#660), nodejs (#678), OCaml (#704), patch (#582), PhyML (#664), PRACE Common Production Environment (#599), protobuf (#680), python-dateutil (#438), sed (#582), sickle (#651), Tesla-Deployment-Kit (#489), TREE-PUZZLE (#662), VCFtools (#626), Vim (#665), vsc-mympirun-scoop (#661), vsc-processcontrol (#661), XZ (#582)
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • OpenSSL with ictce toolchain (#703)
                • various enhancements, including:
                  • using more constants and templates (#613, #615)
                  • specify OS dependency for SSL support, with OpenSSL dependency as fallback (#703)
                • various bug fixes, including:
                  • fix unit tests after (internal) framework API changes (#667, #672)
                  • fix homepage in vsc-mympirun easyconfig file (#681)
                  • align OpenMPI easyconfigs (#650)
                  • add additional source URL in Qt easyconfigs (#676)
                  • specify correct $PATH specification and define $CHPL_HOME for Chapel (#683)
                ","boost":0.5},{"location":"release-notes/#easybuild-v1100-december-24th-2013","title":"EasyBuild v1.10.0 (December 24th 2013)","text":"

                feature + bugfix release

                framework

                • various enhancements, including:
                  • set unique default temporary directory, add --tmpdir command line option (#695)
                  • add support for computing and verifying source/patch file checksums (#774, #777, #779, #801, #802)
                    • cfr. checksums easyconfig parameter
                  • add support for eb --confighelp, which prints out an example configuration file (#775)
                  • add initial support for eb tab completion in bash shells (#775, #797, #798)
                    • see also https://github.com/easybuilders/easybuild/wiki/Setting-up-tab-completion-for-bash
                    • note: may be quite slow for now
                  • enhancements for using Lmod as modules tool (#780, #795, #796):
                    • ignore Lmod spider cache by setting $LMOD_IGNORE_CACHE (requires Lmod 5.2)
                    • bump required Lmod version to v5.2
                    • get rid of slow workaround for detecting module directories (only required for older Lmod versions)
                    • fix version parsing for Lmod release candidates (rc)
                    • improve integration with lmod spider by adding Description: prefix to module-whatis field of module
                  • add --dry-short-short/-D and --search-short/-S command line options (#781)
                  • add toolchain definition for 'gompic', intended for using with CUDA-aware OpenMPI (#783)
                  • add support for specifying multiple robot paths (#786)
                  • add various source URL constants, add support for %(nameletter)s and %(nameletterlower)s templates (#793)
                  • add buildininstalldir easyconfig parameter (#794)
                  • add --ignore-osdeps command line option (#799, #802)
                • various bug fixes, including:
                  • enable -mt_mpi compiler flag if both usempi and openmp toolchain options are enabled (#771)
                  • only use libmkl_solver* libraries for Intel MKL versions prior to 10.3 (#776)
                  • fix toolchain support for recent Intel tools (#785)
                  • code style fixes in main.py to adhere more to PEP8 (#789)
                  • make sure easyblock easyconfig parameter is listed in eb -a (#791)
                  • fix error that may pop up when using skipsteps=source (#792)

                easyblocks

                • added one new generic easyblock: VersionIndependendPythonPackage (#329, #334)
                • added support for 2 new software packages that require customized support:
                  • Charmm (#318), GROMACS (#335, #339)
                • various enhancements, including:
                  • fix support for recent SAMtools version (>= 0.1.19) (#320)
                  • fix support for recent Intel tools (icc, ifort, imkl, impi) (#325, #327, #338)
                  • enhance generic easyblock for installing RPMs (#332)
                  • pick up preinstallopts in generic PythonPackage easyblock (#334)
                  • enhance CP2K easyblock (libxc support, new versions) + style cleanup (#336)
                • various bug fixes:
                  • use unwanted env var functionality to unset $MKLROOT rather than failing with an error (#273)
                  • always include -w flag for preprocessor to suppress warnings that may break QuantumESPRESSO configure (#317)
                  • link with multithreaded LAPACK libs for ESMF (#319)
                  • extend noqanda list of patterns in CUDA easyblock (#328, #337)
                  • add import _ctypes to Python sanity check commands to capture a common build issue (#329)
                  • bug fixes in generic IntelBase easyblock (#331, #333, #335)
                    • remove broken symlink $HOME/intel if present
                    • fix use of gettempdir to obtain a common (user-specific) tmp dir to symlink $HOME/intel to
                  • fix build of recent scipy versions with GCC-based toolchain (#334)
                  • fix use of gettempdir to obtain common (user-specific) tmp dir for $HOME/.nwchemrc symlink (#340, #342)
                  • extend noqanda list in Qt easyblock (#342)

                easyconfigs

                • added example easyconfig files for 18 new software packages:
                  • BEDTools (#579, #632, #635), CAP3 (#548), CHARMM (#584), cutadapt (#620), ErlangOTP (#556, #630), Ghostscript (#547, #632), HTSeq (#554, #632), Jansson (#545), libjpeg-turbo (#574), Molden (#566), netloc (#545), o2scl (#633), packmol (#566), PP (#405), qtop (#500), TAMkin (#566), vsc-base (#621), vsc-mympirun (#621)
                • added easyconfigs for new toolchains (#545, #609, #629):
                  • gcccuda/2.6.10, gompic/2.6.10, goolfc/2.6.10, ictce/6.0.5, ictce/6.1.5
                • added additional easyconfigs for various supported software packages: version updates, different toolchains, ...
                  • new versions of icc, ifort, imkl, impi (#609, #629)
                  • large collection of ictce/5.3.0 easyconfigs (#627)
                • various enhancements, including:
                  • extended list of Python packages as extensions to Python (#625)
                  • add MPI-enabled version of GROMACS + easyconfigs using ictce (#606, #636)
                  • clean up templating of source_urls (#637)
                • various bug fixes, including:
                  • provide alternative download URL for Mesa (#532)
                  • add Python versionsuffix in OpenBabel filenames (#566)
                  • apply no-gets patch in all M4 v1.4.16 easyconfigs (#623)
                  • fix patching of Python w.r.t. libffi/_ctypes issues (#625, #642)
                  • bug fixes in GROMACS easyconfigs (#606)
                    • change versionsuffix for non-MPI GROMACS easyconfigs to -mt
                    • stop using 'CMakeMake' easyblock for GROMACS now that there's a dedicated GROMACS easyblock, which correctly specifies building against external BLAS/LAPACK libraries
                  • fix Qt dependency for CGAL (#642)
                  • fix libctl, libmatheval, Meep, PSI build issues caused by full paths in guile-config/python-config shebang (#642)
                  • make sure HDF easyconfigs specify dedicated include/hdf include dir (#642)
                    • this is required to avoid build issues with NCL, because HDF ships it's own netcdf.h
                    • this also triggered removal of patch files for NCL that rewrote include/hdf to include
                  • fix WPS v3.5.1 patch file after upstream source tarball was changed, supply checksum for verification (#642)
                ","boost":0.5},{"location":"release-notes/#easybuild-v190-november-17th-2013","title":"EasyBuild v1.9.0 (November 17th 2013)","text":"

                feature + bugfix release

                framework

                • add support for Tcl environment modules (modulecmd.tcl) (#728, #729, #739)
                  • special care was taken to make sure also the DEISA variant of modulecmd.tcl can be used
                • code refactoring to prepare for supporting two formats for easyconfig files (#693, #750)
                  • this prepares the codebase for supporting easyconfig format v2.0
                  • some initial work on adding support for the new easyconfig format is included, but it's by no means complete yet
                  • the current easyconfig format (now dubbed v1.0) is still the default and only supported format, for now
                  • for more details, see https://github.com/easybuilders/easybuild/wiki/Easyconfig-format-two
                • various other enhancements, including:
                  • include a full version of vsc-base (see the vsc subdirectory) (#740)
                    • this is a first step towards switching to using vsc-base as a proper dependency
                  • implement get_avail_core_count function in systemtools module that takes cpusets and co into account (#700)
                    • the get_core_count function is now deprecated
                  • add impmkl toolchain definition (#736)
                  • make regtest more robust: put holds on jobs without dependencies, release holds once all jobs are submitted (#751)
                  • add support for specifying multiple alternatives for sanity check paths (#753)
                  • add get_software_libdir function to modules.py (along with unit tests) (#758)
                  • add support for more file extensions and constants w.r.t. sources (#738, #760, #761)
                  • add MPICH2 support in mpi_cmd_for function (#761)
                • various bug fixes, including:
                  • fix checking of OS dependencies on Debian/Ubuntu that have rpm command available (#732)
                  • make unit tests more robust w.r.t. non-writeable /tmp and loaded modules prior to starting unit tests (#752, #756)
                  • also call EasyBlock's sanity check in ExtensionEasyblock if paths/commands are specified in easyconfig (#757)
                  • set compiler family for dummy compiler, add definition of toolchain constant for dummy (#759)
                • other
                  • add build status badges for master/develop branches to README (#742)
                  • add scripts for installing EasyBuild develop version or setting up git development environment (#730, #755)

                easyblocks

                • added support for 8 new software packages that require customized support:
                  • Allinea DDT/MAP (#279), ARB (#291), GenomeAnalysisTK (#278), OpenBabel (#305, #309), picard (#278), PyQuante (#297), Scalasca v1.x (#304), Score-P (#304)
                    • the Score-P easyblock is also used for Cube 4.x, LWM2, OTF2, and Scalasca v2.x
                • various enhancements, including:
                  • add support building ScaLAPACK on top of MPICH2, required for gmpolf toolchain (#274)
                  • add support to ConfigureMake easyblock to customize configure --prefix option (#287)
                  • add support for specifying install command in Binary easyblock (#288)
                  • enhance CMakeMake easyblock to specify srcdir via easyconfig parameter, and to perform out-of-source builds (#303)
                • various bug fixes:
                  • use correct configure flag for Szip in HDF5 easyblocks, should be --with-szlib (#286, #301)
                  • add support for serial HDF5 builds (#290, #301)
                  • enhance robustness of Qt easyblock w.r.t. interactive configure (#295, #302)
                  • enhance support for picking up license specification via environment variables (#298, #307)
                  • extend list of values for $CPATH in libint2 easyblock (#300)
                  • fix extra_options super call in Clang easyblock (#306)
                  • add support in Boost easyblock to specify toolset in easyconfig file (#308)
                • other:
                  • add build status badges for master/develop branches to README (#289)

                easyconfigs

                • added example easyconfig files for 58 new software packages:
                  • Allinea (#468), ARB + dependencies (#396, #493, #495), arpack-ng (#451, #481), CDO (#484, #521), Cube (#505), ed (#503), FLTK (#503), GenomeAnalysisTK (#467), GIMPS (#527), GTI (#511), IPython (#485, #519), LWM2 (#510), MPICH2 (#460), MUST (#511), ncdf (#496, #522), OPARI2 (#505), OpenBabel (#504, #524), OTF (#505), OTF2 (#505), PandaSEQ (#475), ParaView (#498, #514), ParFlow (#483, #520), PCC (#486, #528), PDT (#505), picard (#467), PnMPI (#511), PyQuante (#499, #523), pysqlite (#519), Scalasca (#505), Score-P (#505), SDCC (#486, #528), Silo (#483, #520), Stride (#503), SURF (#503), TCC (#486, #528)
                  • ARB dependencies (23): fixesproto, imake, inputproto, kbproto, libICE, libSM, libX11, libXau, libXaw, libXext, libXfixes, libXi, libXmu, libXp, libXpm, libXt, lynx, motif, printproto, Sablotron, xbitmaps, xextproto, xtrans
                • added easyconfigs for new gmpich2/1.4.8, gmpolf/1.4.8 and goolf/1.6.10 toolchains (#460, #525, #530)
                • added additional easyconfigs for various software packages (list too long to include here)
                  • version updates, different toolchains, ...
                • various bug fixes, including:
                  • enable building of shared libraries for MPICH (#482)
                  • fix HDF configure option for Szip, should be --with-szlib (#533)
                    • for HDF5, this issue is fixed in the HDF5 easyblock
                • other
                  • add build status badges for master/develop branches to README (#490)
                ","boost":0.5},{"location":"release-notes/#easybuild-v182-october-18th-2013","title":"EasyBuild v1.8.2 (October 18th 2013)","text":"

                bugfix release

                framework

                • fix regular expression used for obtaining list of modules from module avail (#724)
                  • modules marked as default were being hidden from EasyBuild, causing problems when they are used as dependency

                easyblocks

                • fix installing of EasyBuild with a loaded EasyBuild module (#280)
                  • this is important to make upgrading to the latest EasyBuild version possible with a bootstrapped EasyBuild

                easyconfigs

                • port thread pool patch to PSI 4.0b4 and include it to avoid hanging tests (#471)
                ","boost":0.5},{"location":"release-notes/#easybuild-v181-october-14th-2013","title":"EasyBuild v1.8.1 (October 14th 2013)","text":"

                bugfix release

                • various bug fixes, including:
                  • fix bugs in regtest procedure (#713)
                    • force 2nd and 3rd attempt of build in case 1st attempt failed
                  • fix copying of install log to install directory (#716)
                  • only create first source path if multiple paths are specified (#718)
                  • detect failed PBS job submission by checking obtained job ID for None value (#713, #717, #719, #720)

                easyblocks

                • various bug fixes:
                  • fix problems in PSI easyblock causing build to fail (#270)
                  • fix issues with running NWChem test cases, fail early in case broken symlink is present (#275)

                easyconfigs

                • added additional easyconfigs for various software packages (#457):
                  • Boost, bzip2, libreadline, ncurses, PSI, Python, zlib
                • various bug fixes, including:
                  • fix faulty easyconfig file names for HPCBIOS_Math, MUSCLE, XML-LibXML and YAML-Syck (#459, #462)
                  • stop (re)specifying default maximum ratio for failed tests in NWChem easyconfig (#457)
                ","boost":0.5},{"location":"release-notes/#easybuild-v180-october-4th-2013","title":"EasyBuild v1.8.0 (October 4th 2013)","text":"

                feature + bugfix release

                framework

                • add support for using alternative module naming schemes (#679, #696, #705, #706, #707)
                  • see https://github.com/easybuilders/easybuild/wiki/Using-a-custom-module-naming-scheme for documentation
                  • module naming scheme classes that derive from the 'abstract' ModuleNamingScheme class can be provided to EasyBuild
                    • the Python module providing the class must be available in the easybuild.tools.module_naming_scheme namespace
                    • a function named det_full_module_name must be implemented, that determines the module name in the form of an string based on the supplied dictionary(-like) argument
                  • the active module naming scheme is determined by EasyBuild configuration option --module-naming-scheme
                  • for now, only the name/version/versionsuffix/toolchain easyconfig parameters are guaranteed to be provided
                    • consistently providing all easyconfig parameters (i.e., also for dependencies) requires more work (see #687)
                  • implementing this involved a number of intrusive changes:
                    • the API of the modules.py module needed to be changed, breaking backward compatibility
                      • the function for which the signatures were modified are considered to be internal to the framework, so this should have very minor impact w.r.t. easyblocks not included with EasyBuild
                      • affected functions include: available, exists, show, modulefile_path, dependencies_for
                    • the format for specifying dependencies was extended, to allow for specifying a custom toolchain
                      • this allows to fix inaccurate dependency specifications, for example: ('OpenMPI', '1.6.4-GCC-4.7.2')\" to \"('OpenMPI', '1.6.4', '', ('GCC', '4.7.2'))
                      • see also easyconfigs#431
                    • the recommended version for Lmod was bumped to v5.1.5
                      • using earlier 5.x version still works, but may be very slow when 'available' is used, due to bugs and a missing feature in Lmod versions prior to v5.1.5 on which we rely
                • various other enhancements, including:
                  • only (try to) change group id if it is different from what is wanted (#685)
                  • added toy build unit test (#688)
                  • support for specifying a list of source paths in EasyBuild configuration (#690, #702)
                  • add function to determine CPU clock speed in systemtools.py (#694, #699)
                • various bug fixes, including:
                  • avoid importing toolchain modules over and over again to make toolchain constants available in toolchain module (#679)
                  • only change the group id if current gid is different from what we want in adjust_permissions function (#685)
                  • restore original environment after running 'module purge' (#698)
                    • important sidenote: this results in resetting the entire environment, and has impact on the sanity check step;
                    • any environment variables that are set before the EasyBlock.sanity_check_step method fires, are no longer there when the sanity check commands are run (cfr. easyblocks#268)

                easyblocks

                • added one new generic easyblock: BinariesTarball (#255)
                • added support for 5 new software packages that require customized support:
                  • DB (#226), FDTD Solutions (#239), FoldX (#256), Mathematica (#240), MUMPS (#262)
                • various enhancements, including:
                  • support optionally running configure in generic MakeCp easyblock (#252)
                  • enhanced Clang easyblock to support building Clang 3.3 (#248)
                  • add support for $INTEL_LICENSE_FILE specifying multiple paths (#251)
                  • enhanced ATLAS easyblock to support building ATLAS 3.10.1 (#258)
                • various bug fixes:
                  • add zlib lib dir in link path dirs for WPS (#249)
                  • stop using deprecated add_module function in imkl easyblock (#250)
                  • fixed PSI easyblock w.r.t. support for building plugins (#254, #269)
                  • move OS check for Clang to check_readiness_step, to allow a build job to be submitted from SL5 (#263, #264)
                  • enable verbose build for DOLFIN, to allow for proper debugging if the build fails (#265)
                  • make sure $LDFLAGS and $INSTANT_*_DIR env vars are set for DOLFIN sanity check commands (#268)
                    • this is required after resetting the environment after running module purge (see framework release notes)
                  • don't try to load module in LAPACK test-only build (#264, #266)

                easyconfigs

                • added example easyconfig files for 9 new software packages:
                  • BOINC (#436), DB (#343, #449), fastahack (#374), FDTD Solutions (#387), FoldX (#440, #442), Mathematica (#394), Mesquite (#447), MUMPS (#447), ParMGridGen (#447)
                • added additional easyconfigs for goalf, gompi, ClangGCC, cgmvapich2, cgmvolf toolchains (#350, #441)
                • added additional easyconfigs for various software packages:
                  • ATLAS, Bison, bzip2, Clang, CMake, cURL, EasyBuild, expat, FFTW, GDB, gettext, git, HPL, LAPACK, libreadline, M4, METIS, MVAPICH2, Mercurial, ncurses, OpenBLAS, OpenMPI, ParMETIS, Python, ScaLAPACK, SCOTCH, Valgrind, zlib
                • various 'bug' fixes, including:
                  • fix source URL for lockfile in Python easyconfigs (#428)
                  • correct dependency specifications w.r.t. versionsuffix and toolchain (#431)
                    • this is required to support building the affected easyconfigs with a custom module naming scheme
                  • correct PSI patch file to avoid errors w.r.t. memcpy not being in scope (#446)
                  • fix gettext build with adding --without-emacs configure options, add gettext as dependency for a2ps (#448)
                  • exclude EMACS support in a2ps because of build failures (#452)
                ","boost":0.5},{"location":"release-notes/#easybuild-v170-september-2nd-2013","title":"EasyBuild v1.7.0 (September 2nd 2013)","text":"

                feature + bugfix release

                framework

                • various enhancements, including:
                  • also search for patch files in directory where easyconfig file is located (#667)
                  • reduce false positives in reporting of possible errors messages (#669)
                  • make module update $ACLOCAL if a share/aclocal subdir is found (#670)
                  • add unwanted_env_vars easyconfig parameter to list environment variables to unset during install procedure (#673)
                  • add support for updating list easyconfig values (next to string values) (#676)
                  • add --dry-run command line option which prints installation overview for specified easyconfig files (#677)
                • various bug fixes, including:
                  • ensure that all extensions are listed in $EBEXTSLISTX set by module, also when using --skip (#671)
                  • report reason for failed sanity check for extensions (#672, #678)
                  • fix --list-toolchains command line option (#675)

                easyblocks

                • added support for 3 new software packages that require customized support:
                  • Libint2 (#236), Qt (#210), Rosetta (#218)
                • various enhancements, including:
                  • allow building OpenFOAM without 3rd party tools (#230)
                  • also add sitelib path to $PERL5LIB, refactor code to add generic get_site_suffix function (#232, #233)
                  • support building imkl FFT wrappers using MVAPICH2 MPI library (#234)
                  • remove libnpp from CUDA sanity check to support installing CUDA v5.5 (#238)
                  • pick up $INTEL_LICENSE_FILE for Intel tools, if it is set (#243)
                    • note: gets preference over license_file easyconfig parameter
                • various bug fixes:
                  • call WRF build script with 'tcsh <script> to ensure that tcsh available in $PATH is used (#231)
                  • make sure some environment variables that may disrupt the GCC install procedure are unset (#237)
                    • e.g., $CPATH, $C_INCLUDE_PATH, $CPLUS_INCLUDE_PATH, $OBJC_INCLUDE_PATH, $LIBRARY_PATH
                  • code cleanup in GEANT4 easyblock: use self.version (instead of self.get_installversion()) (#242)
                  • enhance list of noqanda patterns for CUDA, to get less failing installations (#244)

                easyconfigs

                • added example easyconfig files for 15 new software packages:
                  • Glib (#294, #400), GLPK (#400), horton (#413), libint2 (#413), molmod (#413), Rosetta (#336), SCons (#336), Stacks (#367, #377), sympy (#413), Qt (#294), XML-LibXML (#397), XML-Simple (#397), yaff (#413), YAML-Syck (#380), zsh (#376)
                • added additional easyconfigs for various software packages:
                  • BLAST, BamTools, BioPerl, Bison, Boost, bzip2, CMake, Cython, CUDA, FFTW, FIAT, GCC, GMP, gettext, git, h5py, HDF5, libffi, libreadline, libxc, matplotlib, METIS, ncurses, Oases, Python, RAxML, ScientificPython, Szip, tcsh, imkl, MVAPICH2, TotalView, VTune, WRF, zlib
                • added toolchain easyconfig files for HPCBIOS policies (#402, #407)
                  • HPCBIOS_BioInfo, HPCBIOS_Debuggers, HPCBIOS_LifeSciences, HPCBIOS_Math, HPCBIOS_Profilers
                • various enhancements, including:
                  • added more XML Perl modules to non-bare Perl easyconfigs (#375)
                • various 'bug' fixes, including:
                  • fix website/description in scipy easyconfigs (#399)
                  • specify OpenMPI libibverbs-dev(el) OS dependency in an OS-dependent way (#403)
                  • add patch file for M4 to fix building on systems with recent glibc (>=2.16) (#406)
                  • align moduleclass in R easyconfigs (#411)
                  • fixed filename of Biopython/CD-HIT easyconfig files (#407)
                  • disable parallel building of otcl (#419)
                ","boost":0.5},{"location":"release-notes/#easybuild-v160-july-11th-2013","title":"EasyBuild v1.6.0 (July 11th 2013)","text":"

                feature + bugfix release

                framework

                • added support for using Lmod as module tool (#645)
                • various other enhancements, including:
                  • allow prepending to/appending to/overwriting list easyconfig parameters using --try-amend-X (#658, #664)
                • various bug fixes, including:
                  • add salt to temporary log file name (#656, #665)
                  • fix determining CPU architecture on Raspberry Pi (ARM) systems (#655, #662)
                  • fix support for determining base path of tarballs containing a single file (#660)

                easyblocks

                • added support for 2 new software packages that require customized support:
                  • BamTools (#224), BLAT (#214)
                • various enhancements, including:
                  • update impi easyblock to allow installing impi v4.1.1, which features a slight change in build procedure (#217)
                  • enhance PackedBinary easyblock to copy both files and directories (#212)
                  • added get sitearch_suffix to Perl search path and use it in PerlModule easyblock (#209)
                • various bug fixes:
                  • make sure EasyBuild configuration is initialized when running unit tests (#220)
                  • make Boost easyblock pick up configopts easyconfig parameter (#221)
                  • add -DMPICH_IGNORE_CXX_SEEK compiler flag for Mothur when MPI support is enabled (#222)
                  • fix Boost sanity check, only check for libboost_python.so if Python module is loaded (#223)
                  • enhance Trinity support w.r.t. jellyfish (#225, #227)
                  • fix checking for beagle-lib dep (deprecate checking for BEAGLE) for MrBayes (#228)

                easyconfigs

                • added example easyconfig files for 26 new software packages:
                  • ALLPATHS-LG (#359), AutoMake (#347), BamTools (#319, #338), BLAT (#340), Biopython (#356), cairo (#361), CCfits (#327), CD-HIT (#344), CFITSIO (#327), Diffutils (#347), FASTA (#358, #361), findutils (#347), fontconfig (#361), gawk (#347), gettext (#361), GLIMMER (#357, #361), libidn (#361), LibTIFF (#347), libungif (#347), make (#355), MUSCLE (#339), Oases (#354), pixman (#361), PLINK (#352), RCS (#347), SQLite (#347)
                • added additional easyconfigs for various software packages:
                  • ant, Bash, Bison, bzip2, cURL, expat, GCC, EasyBuild, freetype, FFTW, GDB, git, HMMER, JUnit, libreadline, libpng, libtool, libxml2, libxslt, M4, makedepend, Mothur, MVAPICH2, Mercurial, ncurses, OpenBLAS, Python, ScaLAPACK, Tcl, tcsh, TopHat, Trinity, Valgrind, Velvet, VTune, zlib (see #169, #297, #298, #301, #309, #323, #331, #332, #341, #347, #349, #351, #355, #361)
                • various enhancements, including:
                  • added easyconfigs for ictce/5.4.0, ictce/5.5.0 and gmvolf/1.7.12 toolchain modules (#297, #332, #349)
                  • added a template sanity_check_paths as 'MUST' in TEMPLATE.eb (#329)
                  • introduced biodeps 'toolchain' to ease keeping common dependencies for bio* software in sync (#309)
                  • added collection of easyconfigs for ictce/5.3.0 (#309, #323)
                    • bam2fastq, bbFTP, BLAST, Boost, DL_POLY Classic, EMBOSS, FFTW, libharu, libxml2, libxslt, libyaml, lxml, Mercurial, Mothur, mpi4py, ncurses, ns, orthomcl, otcl, PAML, Perl, PyYAML, pandas, problog, scikit-learn, TiCCutils, TiMBL, TinySVM, TopHat, tclcl, YamCha
                  • added missing dependencies for various software packages (#323, #328, #348, #361)
                  • style fixes in various easyconfigs (#309, #323, #345, #349, #355, #361)
                • various 'bug' fixes, including:
                  • added pic toolchain option for Perl goolf easyconfig (#299)
                  • fixed source URLs for R (use correct template %(version_major)s) (#302)
                  • synced libreadline easyconfigs w.r.t. ncurses dependency (#303)
                  • make sure EasyBuild configuration is initialized when running unit tests (#334)
                  • specify lowopt (-O1) optimization level for OpenIFS, to avoid floating-point related issues (#328)
                  • fix naming of 'beagle-lib' (used to be 'BEAGLE'), to avoid name clashes with other software package(s) (#346)
                ","boost":0.5},{"location":"release-notes/#easybuild-v150-june-1st-2013","title":"EasyBuild v1.5.0 (June 1st 2013)","text":"

                feature + bugfix release

                framework

                • various enhancements, including:
                  • define SHLIB_EXT constant for shared library extension (.so, .dylib), deprecate shared_lib_ext global var (#630)
                  • enhance support for sanity checking extensions (#632, #649)
                  • add support for modextrapaths easyconfig parameter (#634, #637)
                  • allow source_urls to be templated for extensions (#639, #646, #647)
                  • set OMPI_* environment variables for OpenMPI (#640)
                  • make BLACS optional as toolchain element, depending on ScaLAPACK version (#638)
                • various bug fixes, including:
                  • fixed --list-toolchains, avoid listing toolchains multiple times (#628)
                  • fix templating dictionary after parsing easyconfig file (#633)
                  • fix support for ACML as compiler toolchain element (#632)
                  • make unit tests clean up after themselves more thoroughly (#641, #642, #643)

                easyblocks

                • added one new generic easyblock: MakeCp (#208)
                • added support for 5 new software packages that require customized support:
                  • CBLAS (#192), FreeSurfer (#194), Mothur (#206), OpenIFS (#200), PSI (#191)
                • various enhancements, including:
                  • add support for building ScaLAPACK 2.x on top of QLogic MPI (#195)
                  • support newer BWA versions (#199)
                  • explicitly list license server type in ABAQUS install options, required for correct installation of v6.12 (#198)
                  • update SCOTCH and OpenFOAM easyblock for recent versions (#201)
                • various bug fixes:
                  • fix numpy easyblock to get an optimal build (w.r.t. numpy.dot performance) (#192)
                  • correct build procedure for MUMmer to yield a complete installation (#196, #197)
                  • make unit tests clean up after themselves more thoroughly (#203, #204)
                  • fix getting Perl version for extensions (#205)

                easyconfigs

                • added example easyconfig files for 23 new software packages:
                  • bam2fastq (#287), CBLAS (#263), EMBOSS (#265, #290), FCM (#272), FRC_align (#273), freeglut (#271), FreeSurfer (#271), FSL (#271), GATK (#287), libharu (#290), libxslt (#235), MariaDB (#292), Mothur (#265) mpi4py (#276), OpenIFS (#272), orthomcl (#265), PAML (#287), pandas (#262), phonopy (#235), problog (#277), PSI (#258), PyYAML (#235), RAxML (#277)
                • added additional example easyconfig files for:
                  • ABINIT (#235), ACML (#267), BLAST (#275), Boost (#273), BWA (#270), bzip2 (#263), Chapel (#240), CMake (#290), FFTW2 (#247, #267), flex (#267), freetype (#235), grib_api (#272), gzip (#265), Java (#279), libpng (#240, #279), libreadline (#267), libxml2 (#235), libxml (#235), matplotlib (#235), MCL (#265), MUMmer (#265), ncurses (#267), numpy (#267), OpenFOAM (#267), Perl (#265), Python (#276, #263), R (#240, #279), SCOTCH (#267), ScaLAPACK (#267), TopHat (#289), Valgrind (#255), zlib (#267)
                • various enhancements, including:
                  • enhance unit test suite, include testing for module conflicts (#256) and presence of patch files (#264)
                  • use provided constants and templates in easyconfig files where appropriate (#248, #266, #281)
                • various 'bug' fixes, including:
                  • get rid of hardcoded license_file paths for VTune, Inspector (#253)
                  • assign proper moduleclass where they were missing (#278)
                  • fix naming for LZO (#280)
                  • make unit tests clean up after themselves more thoroughly (#283, #284, #285, #286)
                  • fix TopHat dependencies (#289)
                  • fix source URLs for XML (#279)
                  • fix versions for all listed R extensions (#279)
                  • fix CUDA easyconfig file for use on Debian Squeeze (#291)
                  • correct easyconfig filename and module name mismatches (bbcp, DL_POLY Classic, ...) (#295)
                ","boost":0.5},{"location":"release-notes/#easybuild-v140-may-2nd-2013","title":"EasyBuild v1.4.0 (May 2nd 2013)","text":"

                feature + bugfix release

                framework

                • the unit tests for easybuild-framework were moved to test/framework, to make things consistent with easybuild-easyblocks and easybuild-easyconfigs (#611, #613, #624)
                  • running the framework unit tests should now be using python -m test.framework.suite
                • various other enhancements, including:
                  • extend unit test suite (#593, #599, #603, #618, #620, #622, #624, ...)
                  • extended list of constants and templates that can be used in easyconfig files (#566)
                  • add support for additional compiler toolchains
                    • CUDA-enabled toolchain: goolfc (#603, #624)
                    • Clang(+GCC)-based toolchains: cgoolf, cgmpolf, cgmvolf (#593, #598, #600)
                    • gmvolf (GCC+MVAPICH2+...) (#585)
                  • properly decode easyblock to module name using decode_* functions (#618)
                • various bug fixes, including:
                  • fixed default value for --stop (#601)
                  • remove useless sleep() calls in run_cmd, run_cmd_qa (#599)
                  • determine module path based on class name, not software name (#606)
                  • remove unwanted characters in build dirs (#591, #607)
                  • ignore some error codes spit out by modulecmd that are actually warnings (#609)
                  • fix agithub.py w.r.t. changes in GitHub API (user-agent string is now obligatory for non-authenticated connections) (#617)
                  • fix typo breaking the adjust_cmd decorator on SuSE (#615)
                  • fix prepending paths with absolute paths in module file (#621)
                  • clean up open file handles properly (#620, #624)
                  • fix --search help and implementation (#622)

                easyblocks

                • added a unit test suite for easyblocks (#175, #177, #178)
                  • every easyblock is parsed and instantiated as a sanity check
                • added one new generic easyblock: PerlModule (#183)
                • added support for 8 new software packages that require customized support:
                  • ABAQUS (#179), Bowtie (#174, #185, #186), Clang (#151), DL_POLY Classic (#118), ESMF (#171), Perl (#183), Intel VTune and Intel Inspector (#180)
                • the CMakeMake.configure_step parameter builddir was renamed to srcdir, because the name builddir is incorrect (#151)
                  • builddir will remain supported for legacy purposes up until v2.0
                • various enhancements, including:
                  • reverted back to hardcoding Python library path, since it's hardcoded by setuptools too (#184)
                  • added MPICH support in ScaLAPACK easyblock (#172)
                  • enhanced NCL easyblock: add support UDUNITS and ESMF dependencies (#171)
                  • enhanced MATLAB easyblock: avoid hardcoding Java options, make sure $DISPLAY is unset, extend list of sanity check paths (#181)
                  • enhanced TotalView easyblock: add support for license file (#146)

                easyconfigs

                • added a unit test suite for easyconfigs (#228, #230)
                • added example easyconfig files for 20 new software packages:
                  • ABAQUS (#231), BioPerl (#242), Bowtie (#227), Clang (#177), CRF++ (#131), DL_POLY Classic (#132), ESMF, GROMACS (#165), HH-suite (#219), Inspector (#232), likwid (#131), Perl (#242), scikit (#133), TiCCutils (#131), TiMBL (#131), TinySVM (#131), UDUNITS (#167), VTune (#232), YamCha (#131)
                • add example easyconfigs for new compiler toolchains (use eb --list-toolchains for a full list of supported toolchains):
                  • the newly added toolchains only differ in compilers/MPI library, and all feature OpenBLAS, LAPACK, ScaLAPACK and FFTW
                  • goolfc: GCC, CUDA (co-compiler), OpenMPI (#191)
                    • a goolfc easyconfig for GROMACS is included as proof-of-concept (#165)
                  • cgmpolf: Clang (C/C++ compilers), GCC (Fortran compilers), MPICH (#213)
                  • cgmvolf: Clang, GCC, MVAPICH2 (#218)
                  • cgoolf: Clang, GCC, OpenMPI (#213)
                  • gmvolf: GCC, MVAPICH (#202, #222)
                • ported already available easyconfigs to new compiler toolchains:
                  • ictce-5.3.0: 193 easyconfigs (#229)
                  • cgmpolf: 11 easyconfigs (#213)
                  • cgmvolf: 11 easyconfigs (#218)
                  • cgoolf: 12 easyconfigs (#213)
                  • gmvolf: 10 easyconfigs (#215)
                • added additional example easyconfig files for:
                  • CMake (#163), git (#210), Java (#206), #221, Mercurial (#201, #215), ncurses (#225), TotalView (#160)
                • various enhancements, including:
                  • added ESMF and UDUNITS dependencies to NCL easyconfigs (#211)
                  • changed value of source_urls in R easyconfigs, to be generic enough for version 3.0 and possibly beyond (#251)
                • various 'bug' fixes, including:
                  • add --enable-mpirun-prefix-by-default configure option for all OpenMPI easyconfigs (#205)
                ","boost":0.5},{"location":"release-notes/#easybuild-v130-april-1st-2013","title":"EasyBuild v1.3.0 (April 1st 2013)","text":"

                feature + bugfix release

                framework

                • added script to bootstrap EasyBuild with EasyBuild, see https://github.com/easybuilders/easybuild/wiki/Bootstrapping-EasyBuild (#531)
                • reorganize framework/easyconfig.py module into framework/easyconfig package with modules (#574, #580)
                • support EasyBuild configuration via command line, environment variables and configuration files (#529, #552, #556, #558, #559)
                • various other enhancements, including:
                  • extended set of unit tests for eb command line options and EasyBuild configuration (#517, #556, #559, #571)
                  • made --search also useful when easybuild-easyconfigs package is not installed (#524)
                  • extended set of default module classes (#525)
                  • add support for license easyconfig parameter (which will be mandatory in v2.x) (#526, #569)
                  • added setup.cfg for setup.py to allow creating RPMs (#528)
                  • added support for obtaining system information, see get_os_* functions in easybuild/tools/systemtools.py (#543, #546, #547)
                  • added support for iterated builds that require cycling over multiple sets of configure/build/install options, e.g. FFTW (#549)
                  • added support for OpenBLAS as toolchain lib for linear algebra (#537, #565)
                  • added support for tweaking prefix and separator for library toolchain variables (LIB*) (#572, #576)
                  • skip already built modules in regression testing mode, to ease regression testing (#582)
                • various bug fixes, including:
                  • added zip_safe flag to setup.py, to silence multitude of warnings (#521)
                  • only define LIBFFT for Intel MKL if FFTW interface libraries are available (#518, #567, #579)
                  • set POSIX group early in build process, make EasyBuild aware of consistent chmod/chown failures (#527)
                  • properly order the name/version keys for the toolchain easyconfig parameter when using --try-toolchain (#563)
                  • take the skipsteps easyconfig parameter into account in regression testing mode as well (#583)

                easyblocks

                • added support for 2 new software packages that require customized support:
                  • CUDA (#145), Ferret (#160, #163)
                • remove license easyconfig parameter from IntelBase, since it clashes with generic license parameter (#153, #158)
                  • license_file should be used instead (see framework#569)
                  • using license instead of license_file will be supported until v2.x for legacy purposes
                • various enhancements, including:
                  • stop hardcoding Python site-packages library dir, obtain it via distutils.sysconfig instead (#141, #156, #159, #161)
                  • stop hardcoding list of libraries for BLAS libs, ask toolchain modules or use $LIBBLAS instead (#150, #155)
                  • enhanced CP2K easyblock, following Intel guidelines for ictce builds (#138)
                  • added setup.cfg for setup.py to allow creating RPMs (#140)
                  • clean up specifying BLAS/LAPACK libs for building numpy, check whether requires patch is being used for IMKL builds (#155, #161)
                • various bug fixes, including:
                  • added zip_safe flag to setup.py, to silence multitude of warnings (#135)
                  • install EasyBuild packages in reversed order to avoid funky setuptools issues (#139)
                  • fixed a typo in the ScaLAPACK easyblock, and set CCFLAGS and FCFLAGS for v2.x (#149, #162)
                  • fix sanity check for python-meep (#159)
                  • exclude Python tests from DOLFIN sanity check, since they hang sometimes (#161)
                  • add support in ALADIN easyblock for answering question on location of libgrib_api.a (#165)

                easyconfigs

                • added example easyconfig files for 13 new software packages:
                  • Bash, CUDA, ccache, Ferret, gzip, libxc, ns, numactl, OpenBLAS, otcl, Tar, tclcl, tcsh
                  • several of these easyconfig files were contributed by attendees of the EasyBuild hackathon in Cyprus!
                • added example easyconfigs for goolf toolchain (#158)
                • added example easyconfigs for builds with goolf toolchain, i.e. for all goalf easyconfigs (#189)
                  • for several software packages, a patch file was needed to get them to build with GCC 4.7:
                    • AMOS, BEAGLE, Cufflinks, DOLFIN, GATE, ns, Pasha, Trilinos, Trinity
                  • for PETSc, a patch file was required to make it build with a toolchain that doesn't include BLACS
                • added additional example easyconfig files for:
                  • gompi, hwloc, LAPACK, MVAPICH2, OpenMPI, ScaLAPACK
                • various enhancements, including:
                  • define a proper module class in all easyconfigs, cfr. default module classes defined in framework (#150, #159, #161, #162, #179, #181)
                  • extend FFTW easyconfig to 'fat' builds that include single, double, long double and quad precision libraries in the same module
                    • quad precision is disabled for Intel compiler based builds (it requires GCC v4.6+)
                  • the imkl easyconfigs used for the ictce 3.2.2.u3 toolchain now also enable FFTW interfaces
                • various 'bug' fixes, including:
                  • fix filename for Mercurial and ROOT easyconfig files
                  • fix homepage/description for Hypre
                  • fix enabling OpenMP support in OpenMPI: use --enable-openmp, not --with-openmp
                  • use correct configure flag for enabling OpenMPI threading support in v1.6 (#186)
                    • --enable-mpi-thread-multiple instead of --enable-mpi-threads
                  • explicitly add --without-openib --without-udapl configure options in OpenMPI easyconfig using versionsuffix -no-OFED (#168)
                    • this avoids that OpenMPI auto-detects that it can enable Infiniband (OpenIB) support, which doesn't fit the -no-OFED versionsuffix
                    • Note: this makes goalf-1.1.0-no-OFED effectively not suitable to produce software builds that are IB-capable!
                  • remove explicit --with-udapl from OpenMPI easyconfigs, does more harm than good (#178)
                  • remove libibvers, libibmad, libibumad as explicit dependencies for OpenMPI/MVAPICH2 (#173, #182)
                    • leave it up to the OS to provide these, since the required version is too much tied to the version of IB drivers
                  • use license_file in Intel tools easyconfigs, as opposed to the new generic license parameter with a different meaning (#180)
                  • modify patch for impi to avoid installation problems due to hardcoded path in /tmp (#185)
                    • now uses $USER-$RANDOM subdir to avoid clashes between different users on the same system
                  • the patch file for numpy was extended to also supporting ATLAS and other BLAS libraries spread across multiple directories
                    • the extension for ATLAS is required because we now no longer rely on the automatic numpy mechanism to find the ATLAS libs
                  • fixed dependencies:
                    • libibumad as dependency for libibmad
                    • ncurses as dependency for libreadline
                    • ncurses and zlib as dependency for SAMtools (+ enhanced patch)
                    • remove explicit FFTW dependency for Meep, ... since toolchain already provided FFTW
                ","boost":0.5},{"location":"release-notes/#easybuild-v120-february-28th-2013","title":"EasyBuild v1.2.0 (February 28th 2013)","text":"

                feature + bugfix release

                framework

                • new backend module for option parsing: generaloption
                • support for using constants and string templates in easyconfig files
                  • currently disabled for exts_filter and exts_list easyconfig parameters, for backward compatibility
                • various other enhancements, including:
                  • support for iqacml and iiqmpi toolchains (Intel compilers + QLogic MPI based)
                  • clearer errors messages when sanity check failed
                  • unit tests for (about half of) the eb command line options
                  • support for specifying build/install steps to skip in easyconfig file (skipsteps)
                  • support for allowing certain dependencies to be resolved by the system instead of modules (allow_system_deps)
                  • cache ppn value required by regtest, clean up temporary files let behind by --regtest/--job
                  • make sure MPD is used as process manager for Intel MPI (required for impi v4.1 and later)
                  • rename template names name and version used in exts_filter to ext_name, ext_version
                    • name and version are still supported for legacy reasons
                  • cleaned up module docstrings w.r.t. list of authors
                • various bug fixes, including:
                  • print correct (lowercase) toolchain names with --list-toolchains
                  • correct easyconfig parameter name license_server_port
                  • fix string quoting in develop modules
                  • ensure modulecmd is run with original $LD_LIBRARY_PATH value
                    • to avoid breaking modulecmd, see https://bugzilla.redhat.com/show_bug.cgi?id=719785
                  • remove use of hardcoded files/dirs in unit tests
                  • fix various inconsistencies w.r.t. paths considered with --robot
                  • various cleanup and fixes w.r.t. logging
                    • use correct logger instance in main script
                    • stop passing logger instances around
                    • make module logging variables private
                  • get rid of ModuleGenerator deconstructor, clean up via EasyBlock.clean_up_fake_module
                  • fix disabling of optarch toolchain option (and extend unit tests to check on this)

                easyblocks

                • added one new generic easyblock: Rpm
                • added support for 6 new software packages that require customized support:
                  • EasyBuild, EPD (Enthought Python Distribution), freetype, MATLAB, QLogic MPI (RPM), TotalView
                  • support for installing EasyBuild with EasyBuild enables bootstrapping an EasyBuild installation!
                • various enhancements, including:
                  • corrections in WRF/WPS to also enable building with iqacml toolchain
                    • use mpi_cmd_for instead of hardcoding test commands, using correct Fortran compilers (F90)
                  • fix NCL easyblock to also support v6.1.x
                    • use correct Fortran compiler (F90), set correct lib/include paths for dependencies (netCDF-Fortran, GDAL)
                  • cleanup sweep of license headers and authors list in easyblock module docstrings
                  • use new ext_name template name in exts_filter in Python and R easyblocks
                • various bug fixes, including:
                  • general code cleanup
                    • don't set sanityCheckOK in Toolchain easyblock
                    • get rid of using os.putenv
                  • NEURON easyblock: don't hardcode number of processes used in test cases
                  • make sure easybuild.easyblocks.generic namespace is extendable

                easyconfigs

                • added example easyconfig files for 41 new software packages:
                  • a2ps, AnalyzeFMRI, aria, bbcp, bbFTP, bbftpPRO, binutils, Bonnie++, ccache, cflow, cgdb, Corkscrew, EasyBuild, Elinks, EPD, FLUENT, fmri, GDB, GDAL, gnuplot, gnutls, gperf, Iperf, lftp, libyaml, lzo, MATLAB, mc, nano, NASM, nettle, numexpr, parallel, pyTables, QLogic MPI, Stow, TotalView, Valgrind, VTK, Yasm, zsync
                • added example easyconfigs for iqacml and iiqmpi toolchains
                • added additional example easyconfig files for:
                  • ABINIT, ABySS, ACML, BFAST, Bison, BLACS, Cython, cURL, Doxygen, FFTW, flex, g2clib, g2lib, GHC, h5py, HDF, HDF5, HMMER, JasPer, icc, ictce, ifort, imkl, impi, libpng, libreadline, M4, matplotlib, MCL, MEME, mpiBLAST, NCL, ncurses, netCDF, netCDF-Fortran, NWChem, R, ScaLAPACK, Tcl, Tk, WPS, WRF, zlib
                • various enhancements, including:
                  • fix version of xtable R library in list of extensions for R, to avoid installation failures
                • various 'bug' fixes, including:
                  • fix toolchain and file names for ABINIT easyconfigs
                  • fix sanity check paths for cURL
                  • don't disable optarch for WRF, it's not needed (only disable heavy optimizations is required)
                  • fix homepage/description for ALADIN
                ","boost":0.5},{"location":"release-notes/#easybuild-v110-january-27th-2013","title":"EasyBuild v1.1.0 (January 27th 2013)","text":"

                feature + bugfix release

                framework

                • improvements w.r.t. support for software extensions (tested on Python and R, see easyblocks package)
                  • cleaned up support for building/installing extensions
                  • define ExtensionEasyblock class that implements support for installing extensions as stand-alone module as well
                  • return to build dir before building/installing each extension
                  • define EBEXTSLIST<NAME> environment variable in module if exts_list was defined
                  • make sure sanity check for extensions results in an error if it fails
                • various enhancements, including:
                  • log both framework and easyblocks versions
                  • add support for gimkl, gmacml, iccifort, iomkl and ismkl toolchains
                  • define *_SEQ compiler variables for sequential compilers
                  • add --list-toolchains command line option for listing supported toolchains
                  • add support for customizing software and modules install path suffixes
                  • support both setuptools and distutils installation methods for finding installed easyconfigs
                  • also consider robot path in list of paths searched for patch files
                  • allow skipping of default extension sanity check (by setting modulename to False in options)
                • various bug fixes, including:
                  • typos in toolchain Python modules w.r.t. imkl support, handling of i8/optarch/unroll options
                  • purge before loading 'fake' module, unload 'fake' module before removing it, use original $MODULEPATH
                  • restore environment after unloading fake module, set variables that were incorrectly unset, i.e., that were defined before as well
                  • unset $TMPDIR for builds submitted as jobs (required by IntelBase easyblock)
                  • correctly track easyconfig parse error
                  • always run all jobs in regtest, also if dependency jobs failed
                  • cosmetic adjustments to default EasyBuild configuration file to avoid confusion between e.g. build_dir and build_path (only latter matters)
                  • fix SuSe hack, only prefix command with sourcing of /etc/profile.d/modules.sh if it is there
                  • leave build directory before it is removed during cleanup step
                  • load generated module file before running test cases

                easyblocks

                • added 3 new generic easyblocks: CMakePythonPackage, JAR, RPackage
                • added support for 23 new software packages that require customized support:
                  • ACML, ALADIN, ant, Bioconductor (R packages), Chapel, Cufflinks, ESPResSo, FLUENT, Geant4, GHC, Java, NEURON, NWChem, PyZMQ, QuantumESPRESSO, R, Rmpi, ROOT, Rserve, SCOOP, Trinity, VSC-tools, XML
                • various enhancements, including:
                  • clean up of python.py easyblock:
                    • merge EB_DefaultPythonPackage and PythonPackage easyblocks into generic easyblock PythonPackage, which derives from ExtensionEasyblock
                    • move EB_FortranPythonPackage into dedicated generic FortranPythonPackage easyblock module
                    • split off support for building/installing nose, numpy, scipy into dedicated EB_* easyblock modules, which allows them to be built as stand-alone modules as well
                  • clean up testing of Python packages (PythonPackage easyblock)
                  • make sure there is no site.cfg in home dir when building Python packages, because e.g. scipy will pick it up
                  • added support for building Intel MKL wrappers with OpenMPI toolchain
                  • cleaning up of fake module that was loaded for running tests
                  • move calls to functions that rely on environment up in the chain of steps (mostly for cleanup reasons)
                  • use better module name for UFC sanity check, minor change to sanity check paths for UFC
                • various bug fixes, including:
                  • only call make ptcheck for ATLAS when multi-threading support is enabled
                  • use a symbolic link for $HOME/intel instead of a randomly suffixed subdirectory in home and patching of Intel install scripts
                    • latter does not work anymore with recent versions of Intel tools (2013.x)

                easyconfigs

                • added example easyconfig files for 48 new software packages:
                  • ABINIT, ABySS, ACML, ALADIN, ant, BFAST, BLAST, Chapel, CLHEP, Cufflinks, ESPRresSo, GATE, GHC, Geant4, Greenlet, google-sparsehash, grib_api, HMMER, Java, JUnit, libibmad, libibumad, libibverbs, MCL, MDP, MEME, mpiBLAST, NCBI Toolkit, NEURON, NWChem, numpy, MDP, Oger, OpenPGM, paycheck, PyZMQ, QuantumESPRESSO, R, ROOT, SCOOP, scipy, Tophat, Trinity, util-linux, VSC-tools, wiki2beamer, XML, ZeroMQ
                • added example easyconfigs for gmacml, gmvapich2, iccifort, ictce, iomkl toolchains
                • added additional example easyconfig files for:
                  • ATLAS, BLACS, Boost, Bowtie2, bzip2, CP2K, Doxygen, FFTW, GCC, HDF5, hwloc, icc, ifort, imkl, impi, JasPer, Libint, libreadline, libsmm, libxml, ncurses, netCDF, M4, Meep, MVAPICH2, OpenMPI, Python, ScaLAPACK, Szip, zlib
                • various enhancements, including:
                  • major style cleanup of all example easyconfig file (PEP008 compliance)
                  • added setuptools to list of Python extensions
                  • get rid of parallel versionsuffix for HDF5, as its meaningless (MPI-enabled build is always parallel)
                • various 'bug' fixes, i.e. added missing dependencies or replaced OS dependencies with proper dependencies
                ","boost":0.5},{"location":"release-notes/#easybuild-v102-december-8th-2012","title":"EasyBuild v1.0.2 (December 8th 2012)","text":"

                bugfix release

                framework

                • properly catch failing sanity check commands
                • fix bug in toolchain support which cause linking environment variables set by toolchain to include too many libraries
                  • elements in toolchain variables were being passed by reference instead of by value
                • fix selecting a compiler toolchain for a specified software package (--software-name) if only a template is a viable option
                • fix passing command line parameters with --job
                • fix list of valid stops (-s/--stop)
                • fix minor issues in help messages (-h/--help)

                easyblocks

                • fix typos in WIEN2k easyblock (missing commas after list elements)

                easyconfigs

                • fixed source URL for ligtextutils (toolchain refactoring error)
                ","boost":0.5},{"location":"release-notes/#easybuild-v101-november-24th-2012","title":"EasyBuild v1.0.1 (November 24th 2012)","text":"

                bugfix release

                framework

                • fix support for installing with distutils (broken import in setup.py)
                • fix support for ACML as a toolchain element (toolchains/linalg/acml.py)
                • add name to aggregated regtest XML so that is parsed correctly by Jenkins
                • reorder code in main.py so that regtest also works with incomplete easyconfig paths
                • add bash script for running regression test and sending a trigger to Jenkins to pull in the XML with results
                • get rid of assumption that loaded modules should have name like foo/bar, make it more flexible
                • retry failed builds in regtest twice to ignore fluke errors
                • report leaf nodes in dependency graph when regtest is submitted
                  • this is required for setting job dependencies in the regtest script for the Jenkins trigger job
                • implement and use rmtree2 as more (NFS) robust replacement for shutil.rmtree
                • bump max hit count for run_cmd_qa from 20 to 50, to make false positives of unasnwered questions less likely

                easyblocks

                • fix support for installing with distutils (broken import in setup.py)
                • only build GMP/CLooG/PPL libraries during GCC build in parallel, don't install in parallel
                  • make -j N install doesn't work consistently for GMP
                • fix GCC build on OS X
                  • location of libraries is slightly different (lib vs lib64 dir)
                • add support to ConfigureMake easyblock for pre-passing tar options to configure
                  • see tar_config_opts easyconfig parameter
                  • workaround for issue with pax hanging configure with an interactive prompt
                • enhance Q&A for WRF and WIEN2k by adding entries to qa dict and no_qa list
                • use rmtree2 from tools/filetools.py as more (NFS) robust replacement for shutil.rmtree

                easyconfigs

                • remove patch file for OpenMPI to resolve issue with pax hanging configure
                  • tar_config_opts should be enabled as needed
                • disable parallel build for PAPI, seems to be causing problems
                ","boost":0.5},{"location":"release-notes/#easybuild-v10-november-13th-2012","title":"EasyBuild v1.0 (November 13th 2012)","text":"
                • split up EasyBuild across three repositories: framework, easyblocks and easyconfigs
                • packaged EasyBuild, different parts can now be installed easily using easy_install

                framework

                • various changes to both internal and external API:
                  • renamed main script to main.py (from build.py)
                  • file and directory organisation
                  • module, class, function and function argument renaming and reorganisation
                  • split up Application into EasyBlock and ConfigureMake (see easybuild-easyblocks for the latter)
                  • created EasyConfig class for handling easyconfig files
                  • renaming of EasyBuild configuration parameters (non-camelCase)
                  • renaming of various easyconfig parameters (non-camelCase)
                  • rename SOFTROOT and SOFTVERSION environment variables set in generated module files to EBROOT and EBVERSION
                  • use 'extension' as generic terminology for Python packages, R libraries, Perl modules, ...
                • added support for building software packages in parallel via PBS jobs
                • added unit testing framework and initial set of unit tests for basic functionality
                  • and run them in Jenkins continuous integration service, see https://jenkins1.ugent.be/view/EasyBuild/
                • implement single-command regression test (e.g. to test building all supported software)
                  • eb --regtest --robot
                • switch to new style Python classes
                • replaced toolkit module with toolchain package (total rewrite), providing modular support for toolchains
                • adjust default EasyBuild configuration to only use $HOME/.local/easybuild by default
                • added support for running EasyBuild without supplying an easyconfig file
                  • make EasyBuild search for a matching easyconfig file
                  • support automatic rewriting of an existing partially-matching easyconfig file (use this with care!)
                  • support for automatically generating an easyconfig file according to given specifications (best effort!)
                • add support for looking for easyconfig file in Python search path if it can't be found on specified (relative) path (that way, easyconfig files available in the easybuild-easyconfigs package can be used easily)
                • various other enhancements and bug fixes, e.g.:
                  • extended sanity check capabilities
                  • cleaned up logging
                  • creating of devel module which allows to mimic environment that was used by EasyBuild to build the software
                  • support for creating dependency graphs for a set of easyconfig files
                  • grouped options in help output and categorised available easyconfig parameters
                  • more consistent code style

                easyblocks

                • implement class name encoding scheme, see wiki https://github.com/easybuilders/easybuild/wiki/Encode-class-names
                  • (non-generic) easyblock class names are now prefixed with EB_ and non-alphanumeric characters are escaped
                • split off generic easyblocks into separate package easyblocks.generic
                • added custom support for 39 software packages:
                  • Armadillo, BiSearch, Boost, Bowtie2, BWA, bzip2, CGAL, CPLEX, DOLFIN, Eigen, flex, FSL, Hypre, libxml2, MetaVelvet, METIS, MTL4, MUMmer, ncurses, OpenFOAM, OpenSSL, ParMETIS, Pasha, PETSc, Primer3, python-meep, SAMtools, SCOTCH, SHRiMP, SLEPc, SOAPdenovo, SuiteSparse, SWIG, Tornado, Trilinos, UFC, Velvet, WIEN2k, XCrySDen
                • various enhancements and bug fixes to existing easyblocks

                easyconfigs

                • added example easyconfig files for 106 new software packages:
                  • AMOS, Armadillo, ASE, Autoconf, BiSearch, Boost, Bowtie2, BWA, byacc, bzip2, CGAL, ClustalW2, CMake, CPLEX, cURL, CVXOPT, Cython, Docutils, DOLFIN, ECore, Eigen, expat, FASTX-Toolkit, FFC, FIAT, freetype, FSL, GEOS, git, glproto, GMP, gmvapich2, gompi, GPAW, GSL, guile, h5py, h5utils, Harminv, hwloc, Hypre, Infernal, Instant, Jinja2, libctl, libdrm, libffi, libgtextutils, libmatheval, libpciaccess, libpthread-stubs, libreadline, libtool, libunistring, libxcb, libxml2, makedepend, matplotlib, Meep, Mercurial, Mesa, MetaVelvet, METIS, MPFR, MTL4, MUMmer, ncurses, OpenFOAM, OpenSSL, ORCA, PAPI, ParMETIS, Pasha, PCRE, PETSc, petsc4py, pkg-config, Primer3, python-meep, RNAz, SAMtools, ScientificPython, SCOTCH, setuptools, Shapely, SHRiMP, SLEPc, SOAPdenovo, Sphinx, SuiteSparse, SWIG, Tcl, Theano, Tk, Tornado, Trilinos, UFC, UFL, Velvet, ViennaRNA, Viper, WIEN2k, xcb-proto, XCrySDen, xorg-macros, xproto
                • added additional example easyconfig files (versions, builds) for several software packages
                  • Bison, BLACS, Doxygen, flex, GCC, HDF5, icc, ifort, libpng, M4, MVAPICH2, OpenMPI, Szip, tbb, zlib
                • replaced GCC/OpenMPI based easyconfig files with equivalents using the gompi toolchain
                  • ATLAS, BLACS, FFTW, LAPACK, ScaLAPACK
                • enhanced Python example easyconfig files (more dependencies required for features, e.g. libreadline, bzip2, zlib, ...)
                • corrected file name of easyconfig files to adher to standard as followed by EasyBuild robot dependency resolver
                • style cleanup in existing easyconfig files
                ","boost":0.5},{"location":"release-notes/#easybuild-v08-june-29th-2012","title":"EasyBuild v0.8 (June 29th 2012)","text":"
                • added support for building/installing 17 additional software packages:
                  • BEAGLE, Doxygen, g2clib, g2lib, HDF, HDF5, JasPer, libpng, Maple, MrBayes, NCL, netCDF, netCDF-Fortran, Szip, WPS, WRF, zlib
                • the build procedure for WRF and WPS includes running the tests available for these packages
                • various bug fixes and enhancements:
                  • made support for interactive installers (run_cmd_qa) more robust
                  • fixed Python git package check
                  • implemented toolkit functions for determine compiler family, MPI type, MPI run command, ...
                ","boost":0.5},{"location":"release-notes/#easybuild-v07-june-18th-2012","title":"EasyBuild v0.7 (June 18th 2012)","text":"
                • fixed BLACS build
                  • diagnostic tools to determine INTERFACE and TRANSCOMM values are now used
                • added support for building Bison, CP2K, flex
                  • with regression test enabled for CP2K as part of build process
                  • note: BLACS built with EasyBuild prior to v0.7 needs to be rebuilt for CP2K to work correctly
                • added --enable-mpi-threads to OpenMPI example easyconfigs
                  • required for correct CP2K psmp build
                • adjusted libsmm example easyconfig for lower build time
                  • to make the full regression test finish in a reasonable amount of time
                • added script to make porting of easyblocks from old to new EasyBuild codebase easier
                  • takes care of refactoring, checks for PyLint warnings/errors, ...
                • fixed several small bugs
                • prefixed EasyBuild messages with ==
                • full regression test passed (58 easyconfigs tested)
                ","boost":0.5},{"location":"release-notes/#easybuild-v06-may-11th-2012","title":"EasyBuild v0.6 (May 11th 2012)","text":"
                • added support for Intel compiler toolkit (ictce)
                  • which included the Intel compilers, Intel Math Kernel Library (imkl) and Intel MPI library (impi)
                • added support for building Python with nose/numpy/scipy packages
                • added simple regression test
                • this version is able to build all supplied example easyconfigs
                ","boost":0.5},{"location":"release-notes/#easybuild-v05-april-6th-2012","title":"EasyBuild v0.5 (April 6th 2012)","text":"
                • first public release of EasyBuild
                  • after a thorough cleanup of the EasyBuild framework of the in-house version
                • supports building HPL with goalf compiler toolkit
                  • the goalf toolkit consists of the GCC compilers, and the OpenMPI, ATLAS, LAPACK, FFTW and ScaLAPACK libraries
                • also support build and installation of MVAPICH2
                ","boost":0.5},{"location":"removed-functionality/","title":"Removed functionality","text":"

                Some of the functionality that was available in previous EasyBuild versions is now removed, after it was deprecated first in an earlier EasyBuild version (see Deprecation policy).

                "},{"location":"removed-functionality/#overview_removed_40","title":"Overview of removed functionality since EasyBuild v4.0","text":"

                In EasyBuild v4.0, some intrusive changes were made that break backward compatibility with earlier versions.

                Note

                In addition, please take into account the additional changes in EasyBuild v4.0, which are documented here.

                For authors of easyconfig files:

                • use_fma custom easyconfig parameter for FFTW
                • Specifying source files as 2-element tuples to provide a custom extraction command
                • use_easy_install and use_setup_py_develop custom easyconfig parameters for PythonPackage easyblock

                For developers of easyblocks:

                • copytree function
                • skip_symlinks named argument for adjust_permissions

                For EasyBuild framework developers:

                • default_fallback named argument for get_easyblock_class
                • add_dependencies method in Toolchain class
                "},{"location":"removed-functionality/#depr_fftw_use_fma4","title":"use_fma custom easyconfig parameter for FFTW","text":"
                • deprecated since: EasyBuild v3.2.0 (May 5th 2017)
                • removed in: EasyBuild v4.0
                • alternatives: use use_fma4 easyconfig parameter instead

                The use_fma easyconfig parameter is no longer supported, and was replaced by the equivalent easyconfig parameter use_fma4.

                use_fma was introduced in EasyBuild v3.1.0 allow configuring FFTW with --enable-avx-128-fma. Since it is only supported on systems with AMD processors that have the FMA4 feature, it was replaced by the more fittingly named use_fma4 parameter in EasyBuild v3.2.0.

                "},{"location":"removed-functionality/#depr_sources_2_element_tuple","title":"Specifying source files as 2-element tuples to provide a custom extraction command","text":"
                • deprecated since: EasyBuild v3.3.0 (June 22nd 2017)
                • removed in: EasyBuild v4.0
                • alternatives: use extract_cmd key in Python dictionary format instead

                Specyfing a custom extraction command for a particular source file by using a 2-element tuple in sources is no longer supported.

                Instead, a Python dictionary containing the filename and extract_cmd keys should be used instead, see Alternative formats for sources.

                So, this:

                # source file is actually a gzipped tarball (filename should be .tar.gz)\n# DEPRECATED FORMAT, don't use this anymore!\nsources = [('example.gz', \"tar xfvz %s\")]\n

                should be replaced with:

                sources = [{\n  'filename': 'example-%(version)s.gz',\n  'extract_cmd': \"tar xfvz %s\",  # source file is actually a gzipped tarball (filename should be .tar.gz)\n}]\n
                "},{"location":"removed-functionality/#depr_pythonpackage_use_easy_install_setup_py_develop","title":"use_easy_install and use_setup_py_develop custom easyconfig parameters for PythonPackage easyblock","text":"
                • deprecated since: EasyBuild v3.5.1 (Jan 17th 2018)
                • removed in: EasyBuild v4.0
                • alternatives: use install_target easyconfig parameter instead

                The custom easyconfig parameters use_easy_install and use_setup_py_develop for the PythonPackage easyblock are no longer supported. They are obsolete since the install_target custom easyconfig parameter was added in https://github.com/easybuilders/easybuild-easyblocks/pull/1341.

                Rather than using use_easy_install = True, you should now use install_target = 'easy_install' instead.

                Rather than using use_setup_py_develop = True, you should now use install_target = 'develop' instead.

                "},{"location":"removed-functionality/#depr_copytree_function","title":"copytree function","text":"
                • deprecated since: EasyBuild v3.2.0 (May 5th 2017)
                • removed in: EasyBuild v4.0
                • alternatives: use copy_dir instead

                The copytree function, which was a copy of the shutil.copytree function (introduced when Python 2.4 was still supported) is no longer supported. It has been replaced by the superior copy_dir function in the easybuild.tools.filetools module.

                copy_dir graciously handles any exceptions that occur, and is aware of the EasyBuild dry run mode.

                "},{"location":"removed-functionality/#depr_adjust_permissions_skip_symlinks","title":"skip_symlinks named argument for adjust_permissions","text":"
                • deprecated since: EasyBuild v3.8.0 (Nov 2018)
                • removed in: EasyBuild v4.0
                • alternatives: (none required)

                The skip_symlinks argument for the adjust_permissions function is no longer supported since adjust_permissions has been changed to always skip symbolic links (this was already the default behaviour); see also https://github.com/easybuilders/easybuild-framework/pull/2644 .

                "},{"location":"removed-functionality/#depr_get_easyblock_class_default_fallback","title":"default_fallback named argument for get_easyblock_class","text":"
                • deprecated since: EasyBuild v3.2.0 (May 5th 2017)
                • removed in: EasyBuild v4.0
                • alternatives: use error_on_missing_easyblock named parameter instead

                The get_easyblock_class implementation was cleaned up to remove the support for falling back to the generic ConfigureMake easyblock in EasyBuild v3.2.0 (see https://github.com/easybuilders/easybuild-framework/pull/2178), following the disabling of the Automagic fallback to ConfigureMake in EasyBuild v2.0.

                The default_fallback named argument for get_easyblock_class was replaced by error_on_missing_easyblock, to retain support for ignoring a missing matching easyblock rather than raising an error.

                "},{"location":"removed-functionality/#depr_toolchain_add_dependencies","title":"add_dependencies method in Toolchain class","text":"
                • deprecated since: EasyBuild v3.8.0
                • removed in: EasyBuild v4.0
                • alternatives: pass list of dependencies to deps named argument of prepare method instead

                The add_dependencies method in the Toolchain class is no longer supported, to provide more flexibility in the EasyBuild framework w.r.t. handling of dependencies (see https://github.com/easybuilders/easybuild-framework/pull/2674).

                Instead, the list of dependencies should be passed to the Toolchain.prepare method, via the deps named argument.

                "},{"location":"removed-functionality/#overview_removed_30","title":"Overview of removed functionality since EasyBuild v3.0","text":"

                In EasyBuild v3.0, some intrusive changes were made that break backward compatibility with earlier versions.

                For EasyBuild users & authors of easyconfig files:

                • Archived easyconfigs

                For developers of easyblocks:

                • error and exception log methods no longer raise an exception
                • get_blas_lib function provided by LAPACK easyblock has been removed
                • get_netcdf_module_set_cmds function provided by netCDF easyblock was removed

                For EasyBuild framework developers:

                • error and exception log methods no longer raise an exception
                "},{"location":"removed-functionality/#depr_error_reporting","title":"error and exception log methods no longer raise an exception","text":"
                • deprecated since: EasyBuild v2.1.0 (April'15)
                • removed in: EasyBuild v3.0
                • alternative(s): use raise EasyBuildError(...) instead

                The error() and exception() log methods defined by EasyBuild (in the easybuild.tools.build_log module) did not match the semantics of the standard Python log methods, in the sense that they used to also raise an exception next to logging messages.

                This caused problems when 3rd party libraries (e.g., gc3pie) were being used by EasyBuild, since they may be using these log methods without expecting an exception being raised.

                The custom definitions for the error() and exception() log methods was removed in EasyBuild v3.0.

                Hence, these log methods should no longer be used to report errors since they will not raise an exception anymore once. Note that this applies both to the EasyBuild framework and to (custom) easyblocks.

                To report errors, an EasyBuildError should be raised instead. For example:

                # make sure config.sh script is there\nif not os.path.exists(os.path.join(self.builddir, 'config.sh')):\n    raise EasyBuildError(\"config.sh script is missing in %s\", self.builddir)\n
                "},{"location":"removed-functionality/#depr_lapack_get_blas_lib","title":"get_blas_lib function provided by LAPACK easyblock has been removed","text":"
                • deprecated since: EasyBuild v1.3.0 (April'13); see https://github.com/easybuilders/easybuild-easyblocks/pull/150
                • removed in: EasyBuild v3.0
                • alternative(s): leverage modules from easybuild.toolchain.linalg

                The get_blas_lib function provided by the LAPACK easyblock was removed, mainly because it included a hardcoded list of BLAS libraries.

                It was replaced by 'inlining' similar code into the easyblocks that rely on it (e.g. ScaLAPACK, cfr. https://github.com/easybuilders/easybuild-easyblocks/pull/1014), which only refers to the BLAS libraries that are relevant in that context.

                "},{"location":"removed-functionality/#depr_get_netcdf_module_set_cmds","title":"get_netcdf_module_set_cmds function provided by netCDF easyblock was removed","text":"
                • deprecated since: EasyBuild v2.1.0 (April'15); see https://github.com/easybuilders/easybuild-easyblocks/pull/590
                • removed in: EasyBuild v3.0
                • alternative(s): rely on set_netcdf_env_vars and use self.module_generator.set_environment

                The get_netcdf_module_set_cmds function provided by the netCDF easyblock was removed, because it returned setenv statements to be included in module files that are only compatible with module files in Tcl syntax; i.e. it did not take into account the --module-syntax configuration option.

                The use of get_netcdf_module_set_cmds should be replaced by using set_netcdf_env_vars to define the NETCDF* environment variables, in combination with self.module_generator.set_environment to obtain setenv statements that are compatible with the module syntax (Tcl or Lua) being used.

                See for example the changes made to the WRF and WPS easyblocks in https://github.com/easybuilders/easybuild-easyblocks/commit/7a05cbd823769e343b951002b4735dc7632e19c0.

                "},{"location":"removed-functionality/#overview_removed_20","title":"Overview of removed functionality since EasyBuild v2.0","text":"

                In EasyBuild v2.0, some intrusive changes were made that break backward compatibility with earlier versions.

                For EasyBuild users:

                • Python version compatibility
                • EasyBuild configuration
                • $SOFTX environment variables in generated module files

                For authors of easyconfig files:

                • Automagic fallback to ConfigureMake
                • Easyconfig parameters
                • BEAGLE dependency in MrBayes easyblock replaced by beagle-lib

                For developers of easyblocks:

                • Easyblocks API (EasyBlock class from easybuild.framework.easyblock)
                • Renamed/relocated functions
                • Changes in (generic) easyblocks

                For EasyBuild framework developers:

                • easybuild.tools.modules Python module
                "},{"location":"removed-functionality/#depr_python_version_compatibility","title":"Python version compatibility","text":"

                Compatibility with Python 2.6 is removed.

                • deprecated since: EasyBuild v4.1.0 (Nov'19)
                • removed in: EasyBuild v4.4.0
                • alternative(s): upgrade to Python v2.7.x or v3.5+

                Support for running EasyBuild on top of Python 2.6 was removed in EasyBuild version 4.4.0.

                You should upgrade to a newer version of Python (see also Compatibility with Python 2 and Python 3).

                Compatibility with Python 2.4 is removed.

                • deprecated since: EasyBuild v1.14.0 (July'14)
                • removed in: EasyBuild v2.0
                • alternative(s): upgrade to Python v2.6.x or v2.7.x

                Ever since EasyBuild v1.0, the codebase has been Python 2.4 compatible. One reason for this is that EasyBuild was being used on a daily basis on Scientific Linux 5, in which the Python 2.4.x is the system default.

                Starting with EasyBuild v2.0 support for Python 2.4 is removed, and only ensure compatibility with Python 2.6.x or a more recent Python 2.x.

                This will enable us to gradually also make the codebase compatible with Python 3.x, which is difficult to do without removing support for Python 2.4.

                "},{"location":"removed-functionality/#depr_easybuild_configuration_eb1","title":"EasyBuild configuration","text":"

                Old-style EasyBuild configuration is removed.

                • deprecated since: EasyBuild v1.3.0 (Apr'13)
                • removed in: EasyBuild v2.0
                • alternatives: new-style configuration (see Configuring EasyBuild)

                Early versions of EasyBuild v1.x provided support for configuring EasyBuild via a Python module that was automagically executed when available.

                Since EasyBuild v1.3 a safer and more consistent way of configuring EasyBuild is supported, which aligns the EasyBuild command line options, $EASYBUILD_X environment variables and key-value style configuration files.

                More information about the new(er) and recommended configuration style is available Configuring EasyBuild.

                For detailed information with respect to porting from the old to the new configuration style, see Legacy configuration.

                "},{"location":"removed-functionality/#location-of-default-configuration-file","title":"Location of default configuration file","text":"

                The default configuration file location $HOME/.easybuild/config.cfg is no longer considered.

                • deprecated since: EasyBuild v1.11.0 (Feb'14)
                • removed in: EasyBuild v2.0
                • alternatives: $XDG_CONFIG_HOME/easybuild/config.cfg (equivalent to $HOME/.config/easybuild/config.cfg)

                The default path for the new-style configuration path is $XDG_CONFIG_HOME/easybuild/config.cfg (or $HOME/.config/easybuild/config.cfg if $XDG_CONFIG_HOME is not set), see List of used configuration files.

                The previous default path $HOME/.easybuild/config.cfg that was in place since EasyBuild v1.3.0 is no longer considered.

                "},{"location":"removed-functionality/#depr_ConfigureMake_fallback_eb1","title":"Automagic fallback to ConfigureMake","text":"

                The automagic fallback to the ConfigureMake easyblock is removed.

                • deprecated since: EasyBuild v1.16.0 (Dec'14)
                • removed in: EasyBuild v2.0
                • alternative(s): specify easyblock = 'ConfigureMake' in easyconfig file

                If the easyblock easyconfig was not specified, EasyBuild tries to find a matching easyblock based on the software name. In EasyBuild v1.x, the generic ConfigureMake easyblock was used if no matching easyblock could be found.

                This behavior is now removed; instead, easyconfigs that require using the ConfigureMake easyblock must include the following:

                easyblock = 'ConfigureMake'\n
                "},{"location":"removed-functionality/#depr_easyconfig_parameters_eb1","title":"Easyconfig parameters","text":"

                Some easyconfig parameters are removed.

                "},{"location":"removed-functionality/#depr_premakeopts_makeopts_eb1","title":"Options for build command","text":"

                The premakeopts and makeopts easyconfig parameters are removed.

                • deprecated since: EasyBuild v1.13.0 (May'14)
                • removed in: EasyBuild v2.0
                • alternative(s): use prebuildopts/buildopts instead

                For consistency in terminology, the premakeopts and makeopts generic easyconfig parameters are removed, in favor of their alternative parameters, prebuildopts and buildopts, resp.

                (see also Configure/build/install command options)

                Note

                Since EasyBuild v1.13.0, buildopts is automatically defined with the value of makeopts, unless buildopts was specified by itself. When both values are specified, buildopts takes precedence of makeopts (analogous for prebuildopts/premakeopts).

                "},{"location":"removed-functionality/#depr_shared_lib_ext_eb1","title":"Shared library extension","text":"

                The shared_lib_ext 'constant' in easyconfigs is no longer defined.

                • deprecated since: EasyBuild v1.5.0 (June'13)
                • removed in: EasyBuild v2.0
                • alternative(s): use SHLIB_EXT instead

                The shared_lib_ext \"magic\" variable representing the extension for shared libraries (.so on Linux, .dylib on OS X) is no longer defined; the easyconfig constant SHLIB_EXT should be using instead.

                "},{"location":"removed-functionality/#depr_license_eb1","title":"Software license","text":"

                The license easyconfig parameter is removed.

                • deprecated since: EasyBuild v1.11.0 (Feb'14)
                • removed in: EasyBuild v2.0
                • alternative(s): use license_file or software_license instead

                The license easyconfig parameter, which was specific to the IntelBase generic easyblock and thus relevant for Intel tools, is removed. The generic license_file easyconfig parameter should be used instead, to specify the location of the license file (or server).

                This change was made to avoid confusion with the software_license generic easyconfig parameter, which can be used to specify the license under which the software was released (e.g., GPLv2, BSD, etc.). Here, the specified value must be a known license type (see eb --avail-easyconfig-licenses).

                Note

                The software_license easyconfig parameter will become mandatory at some point.

                "},{"location":"removed-functionality/#depr_mrbayes_beagle_eb1","title":"BEAGLE dependency in MrBayes easyblock replaced by beagle-lib","text":"

                The MrBayes easyblock no longer considers BEAGLE as a valid dependency.

                • deprecated since: EasyBuild v1.6.0 (Jul'14)
                • removed in: EasyBuild v2.0
                • alternative(s): use beagle-lib instead

                Due to a misnomer in the easyconfig files for beagle-lib (formerly named BEAGLE), the custom easyblock for MrBayes now no longer considers BEAGLE as a dependency.

                The library required by MrBayes must now be provided as a dependency named beagle-lib.

                "},{"location":"removed-functionality/#easybuild-api-changes","title":"EasyBuild API changes","text":"

                Some changes in the EasyBuild API were made, which potentially affects easyblocks and the EasyBuild framework itself.

                "},{"location":"removed-functionality/#depr_easyblocks_API_eb1","title":"Easyblocks API (EasyBlock class from easybuild.framework.easyblock)","text":"

                The API for easyblocks was modified slightly, to correct for a couple of historic mistakes.

                "},{"location":"removed-functionality/#return-type-of-extra_options-method","title":"Return type of extra_options method","text":"

                The list-of-tuples return type of the extra_options method must now be a dict instead.

                • deprecated since: EasyBuild v1.12.0 (Apr'14)
                • removed in: EasyBuild v2.0
                • alternative(s): ensure/assume dict return type

                The return type of the extra_options static method in the EasyBlock class has been changed to a dictionary (dict), rather than a list of key-value tuples.

                Custom easyconfig parameters should be added via a dict-typed value to the extra_options function of parent easyblock.

                For example (taken from the generic easyblock Binary):

                @staticmethod\ndef extra_options(extra_vars=None):\n\"\"\"Extra easyconfig parameters specific to Binary easyblock.\"\"\"\n    extra_vars = EasyBlock.extra_options(extra_vars)\n    extra_vars.update({\n        'install_cmd': [None, \"Install command to be used.\", CUSTOM],\n    })\n    return extra_vars\n
                "},{"location":"removed-functionality/#extension-filter-template","title":"Extension filter template","text":"

                The name and version templates in exts_filter are removed.

                • deprecated since: EasyBuild v1.2.0 (Feb'13)
                • removed in: EasyBuild v2.0
                • alternative(s): use ext_name and ext_version instead

                Only the ext_name, ext_version and src template strings can be used in the exts_filter extension filter easyconfig parameter; the name and version template strings are removed.

                For example (default extension filter for Python packages):

                exts_filter = (\"python -c 'import %(ext_name)s'\", \"\")\n
                "},{"location":"removed-functionality/#module-path-of-default-class-for-extensions","title":"Module path of default class for extensions","text":"

                Specifying the module path in exts_defaultclass is no longer possible.

                • deprecated since: EasyBuild v0.5 (Apr'12)
                • removed in: EasyBuild v2.0
                • alternative(s): (none required, module path is derived from specified class name)

                Explicitly specifying the module path for the default class to use for extensions (via exts_defaultclass) is no longer possible. Only the class name should be specified, the corresponding module path is derived from it.

                "},{"location":"removed-functionality/#module-path-for-easyblocks","title":"Module path for easyblocks","text":"

                Deriving the module path for easyblocks from the software name is removed.

                • deprecated since: EasyBuild v1.4.0 (May'13)
                • removed in: EasyBuild v2.0
                • alternative(s): use easyblock class name according to encoding scheme (e.g., EB_Foo)

                Determining the location of Python modules representing easyblocks based on the software name (name) is removed.

                EasyBuild must be able to determine the easyblock module path solely based on the name of the easyblock Python class.

                Easyblocks with a class name that is already honoring the encoding scheme implemented by the encode_class_name function will not be affected.

                "},{"location":"removed-functionality/#depr_easybuild_tools_modules_eb1","title":"easybuild.tools.modules Python module","text":"

                The API of the easybuild.tools.modules module has been updated, certain aspects of the old API are removed.

                • deprecated since: EasyBuild v1.8.0 (Oct'13) & v1.15.0 (Sept'15)
                • removed in: EasyBuild v2.0
                • alternative(s): use equivalents available in new API (see below)

                The API of the easybuild.tools.modules Python module has been changed extensively when implementing support for alternative module naming schemes:

                • the modules class variable and the add_module/remove_module methods are removed; modules should be (un)loaded using the load and unload methods instead
                • the mod_paths and modulePath named arguments for the run_module method are removed; the class instance should be created with a specific list of module paths instead
                • the Modules class to obtain a class instance representing a modules tool interface is removed; the modules_tool function should be used instead

                Additionally, the exists method which only takes a single module name is removed; it is replaced by the exist method, which takes a list of module names (since EasyBuild v1.15.0 (Sept'15)).

                Easyblocks should not be using easybuild.tools.modules directly, and hence should be unaffected.

                "},{"location":"removed-functionality/#depr_softroot_version_env_vars_eb1","title":"$SOFTX environment variables in generated module files","text":"

                $SOFTX environment variables set by module files generated with EasyBuild v0.x will no longer be taken into account.

                • deprecated since: EasyBuild v1.3.0 (Apr'13)
                • removed in: EasyBuild v2.0
                • alternative(s): reinstall (ancient) module files which are only defining the $SOFTX environment variables

                The get_software_root and get_software_version functions will only take $EBROOTFOO and $EBVERSIONFOO environment variables into account, as opposed to also considering the $SOFTROOTFOO and $SOFTVERSIONFOO environment variables (which were set in modules generated by EasyBuild v0.x). Likewise, adhering to the $SOFTDEVELFOO environment variables is removed.

                This is only relevant to early adopters who are still using module files generated by EasyBuild v0.x.

                "},{"location":"removed-functionality/#depr_renamed_relocated_functions_eb1","title":"Renamed/relocated functions","text":"

                Some functions/methods have been renamed or relocated, their equivalents under a previous location/name are removed.

                • deprecated since: (depends on function/method, see below)
                • removed in: EasyBuild v2.0
                • alternative(s): use new location/name

                A number of functions and methods that are part of the EasyBuild framework API have been renamed, mainly for consistency reasons.

                • the moduleGenerator handle to the ModuleGenerator object instance has been renamed to module_generator; hence, easyblock should be using self.module_generator rather than self.moduleGenerator (since EasyBuild v1.16.0 (Dec'14))
                • source_paths() (in easybuild.tools.config) replaces the removed source_path() (since EasyBuild v1.8.0 (Oct'13))
                • get_avail_core_count() (in easybuild.tools.systemtools) replaces the removed get_core_count() (since EasyBuild v1.9.0 (Nov'13))
                • get_os_type() (in easybuild.tools.systemtools) replaces the removed get_kernel_name (since EasyBuild v1.3.0 (Apr'13))
                • the det_full_ec_version function available from easybuild.tools.module_generator replaces the removed det_installversion function that was available from easybuild.framework.easyconfig.* (since EasyBuild v1.8.0 (Oct'13))

                Some functions have moved to a different location:

                • the read_environment function is now provided by the easybuild.tools.environment module, rather than by easybuild.tools.config or easybuild.tools.utilities (since EasyBuild v1.7.0 (Sept'13))
                • the modify_env function is now provided by the easybuild.tools.environment module, rather than by easybuild.tools.filetools (since EasyBuild v1.7.0 (Sep'13))
                • the run_cmd, run_cmd_qa and parse_log_for_error functions are now provided by the easybuild.tools.run module, rather than by easybuild.tools.filetools (since EasyBuild v1.11.0 (Feb'14))

                The get_log function provided by the easybuild.tools.build_log module has been removed entirely, no alternatives are provided (since none are needed). (since EasyBuild v1.3.0 (Apr'13))

                "},{"location":"removed-functionality/#depr_changes_generic_easyblocks_eb1","title":"Changes in (generic) easyblocks","text":""},{"location":"removed-functionality/#srcdir-replaces-builddir-as-named-argument-in-cmakemakeconfigure_step","title":"srcdir replaces builddir as named argument in CMakeMake.configure_step","text":"

                The named argument builddir in the configure_step method of the generic CMakeMake easyblock was replaced by srcdir .

                • deprecated since: EasyBuild v1.4.0 (May'13)
                • removed in: EasyBuild v2.0
                • alternative(s): equivalent srcdir named argument

                Since the builddir named argument in the configure_step method of the generic CMakeMake easyblock was a misnomer (it specifies the location of the source directory that should be provided to cmake), it was replaced with an equivalent named argument srcdir.

                "},{"location":"removed-functionality/#versionindependentpythonpackage-replaces-versionindependendpythonpackage","title":"VersionIndependentPythonPackage replaces VersionIndependendPythonPackage","text":"

                The generic easyblock VersionIndependendPythonPackage was replaced with the equivalent generic easyblock VersionIndependentPythonPackage .

                • deprecated since: EasyBuild v1.11.0 (Feb'14)
                • removed in: EasyBuild v2.0
                • alternative(s): VersionIndependentPythonPackage

                Because of to a typo in the name, the VersionIndependendPythonPackage generic easyblock was replaced by the equivalent VersionIndependentPythonPackage generic easyblock.

                "},{"location":"removed-functionality/#get_sitearch_suffix-function-in-perl-easyblock-is-removed","title":"get_sitearch_suffix function in Perl easyblock is removed","text":"

                The get_sitearch_suffix function in the Perl easyblock was replaced in favor of the more generic get_site_suffix function.

                • deprecated since: EasyBuild v1.7.0 (Sept'13)
                • removed in: EasyBuild v2.0
                • alternative(s): get_site_suffix('sitearch')

                The get_sitearch_suffix function provided by the Perl easyblock, which can be (and is) imported in/used by other easyblocks, has been replaced by the more generic get_site_suffix function.

                To obtain the same functionality as was provided by get_sitearch_suffix, use get_site_suffix('sitearch') instead.

                "},{"location":"rpath-support/","title":"Support for RPATH","text":"

                Since EasyBuild v3.5.2, (stable) support is available for using RPATH.

                "},{"location":"rpath-support/#rpath_support_what","title":"What is RPATH?","text":"

                RPATH is a mechanism to include a list of directories in a binary where required shared libraries may be available. These locations are considered by the dynamic loader (ld*.so) to locate the libraries that are required by a particular binary.

                Hence, instructing the dynamic linker (ld) to include RPATH entries in a binary is an alternative to specifying library locations through $LD_LIBRARY_PATH.

                For more information on RPATH, see https://linux.die.net/man/8/ld-linux

                "},{"location":"rpath-support/#rpath_support_why","title":"Why RPATH?","text":"

                Using RPATH can be interesting for a number of reasons:

                • it can help to avoid a (too) large environment, since:
                  • $LD_LIBRARY_PATH does not need to be set anymore for all dependencies providing libraries
                  • it leads to fewer runtime dependencies (and hence fewer modules need to be loaded)
                • binaries can be used without problems w.r.t. resolving required libraries in other environments
                • it may result in better startup performance, since $LD_LIBRARY_PATH does not have to be iterated over

                A minor downside is that it becomes less trivial to move installations of dependencies to a different location (which is something that you should not do without good reason anyway).

                "},{"location":"rpath-support/#rpath_support_enable","title":"Enabling RPATH linking","text":"

                To instruct EasyBuild to enable RPATH linking, use the --rpath configuration option.

                "},{"location":"rpath-support/#rpath_support_implementation","title":"Implementation","text":"

                When EasyBuild is configured to use RPATH, wrapper scripts are put in place for the dynamic linker commands (ld, ld.gold), as well as for every compiler command that is part of the toolchain being used. This is done during the prepare step.

                The wrapper scripts will analyze and rewrite the list of arguments supplied to the command they are wrapping as needed, i.e.:

                • inject an -rpath argument for every -L argument that specifies a library directory (with some exceptions, see also Filtering RPATH entries via --rpath-filter)
                • filter out arguments that affect RPATH (e.g., --enable-new-dtags)
                • ensure that the library subdirectories (lib, /lib64) of the installation directory also have an RPATH entry
                • include additional arguments related to RPATH (e.g. --disable-new-dtags)

                As such, ps may show something like:

                \\_ /bin/bash /tmp/eb-M3393U/tmpRVJqwr/rpath_wrappers/gcc -O2 example.c -L/example -lexample\n|  \\_ /example/software/GCCcore/4.9.3/bin/gcc -Wl,-rpath=$ORIGIN/../lib -Wl,-rpath=$ORIGIN/../lib64 -Wl,--disable-new-dtags -Wl,-rpath=/example -O2 example.c -L/example -lexample\n

                Here, /tmp/eb-M3393U/tmpRVJqwr/rpath_wrappers/gcc is the wrapper script for gcc, which tweaks the list of command line arguments for gcc before calling out to the real gcc command (i.e., /example/software/GCCcore/4.9.3/bin/gcc in this example).

                "},{"location":"rpath-support/#rpath_support_impl_logs","title":"RPATH wrapper script log files","text":"

                When EasyBuild is used in debug mode (--debug), the RPATH wrapper script will generate log files in the temporary directory used by EasyBuild, for debugging purposes:

                $ ls -l /tmp/eb-_hoff5/rpath_wrapper*log | sed 's/vsc40023/example/g'\n-rw-rw-r-- 1 example example  739692 Nov 16 15:50 /tmp/eb-_hoff5/rpath_wrapper_gcc.log\n-rw-rw-r-- 1 example example   27814 Nov 16 15:50 /tmp/eb-_hoff5/rpath_wrapper_g++.log\n-rw-rw-r-- 1 example example 1589626 Nov 16 15:50 /tmp/eb-_hoff5/rpath_wrapper_ld.gold.log\n-rw-rw-r-- 1 example example    8870 Nov 16 15:50 /tmp/eb-_hoff5/rpath_wrapper_ld.log\n

                These log files include details on every captured compiler/linker command, i.e. the original list of arguments, the tweaked list of arguments that includes the injected -rpath arguments, etc., and may be helpful to debug the RPATH support.

                "},{"location":"rpath-support/#rpath_support_impl_overhead","title":"Overhead of RPATH wrapper scripts","text":"

                Wrapping each compiler and linker command being executed comes at a cost, especially since the wrapper (shell) script calls out to a Python script (rpath_args.py) to do the heavy lifting.

                Some early benchmarking has shown that this overhead is quite limited however, with observed slowdowns of the build and installation procedure of 10-15%.

                "},{"location":"rpath-support/#rpath_support_filtered_paths","title":"Filtering RPATH entries via --rpath-filter","text":"

                To avoid that the wrapper scripts inject RPATH entries for particular locations, EasyBuild can be configured with an RPATH filter via --rpath-filter.

                The specified value should be a comma-separated list of (Python) regular expressions for paths. Only paths that match either of the specified patterns will be filtered out.

                For example, to filter out locations in either /opt/lib or /apps/lib, use:

                eb --rpath-filter='/opt/lib.*,/apps/lib.*'\n

                By default, no RPATH entries will be injected for system locations that start with either /lib (incl. /lib64) or /usr (which is equivalent with --rpath-filter='/lib.*,/usr.*').

                Note

                If you are specifying --rpath--filter, the default filter is overwritten, so if you want to retain the filtering for system locations you should also include /lib.* and /usr.*. For example, to also filter out paths starting with /example:

                eb --rpath-filter='/lib.*,/usr.*,/example.*'\n
                "},{"location":"rpath-support/#rpath_support_LD_LIBRARY_PATH","title":"Relation to $LD_LIBRARY_PATH","text":"

                As mentioned above (Why RPATH?), using RPATH avoids the need to update $LD_LIBRARY_PATH for every dependency.

                However, there is a chicken-or-egg situation: even though a particular dependency itself can be built and installed using RPATH, it does not mean that software packages that require it have to built with RPATH...

                Hence, EasyBuild does not automatically exclude $LD_LIBRARY_PATH update statements from the generated module files. You need to configure EasyBuild to do so, using the ---filter-env-vars configuration option.

                For example:

                eb --rpath --filter-env-vars=LD_LIBRARY_PATH example.eb\n

                To consistently configure EasyBuild to both use RPATH and not include $LD_LIBRARY_PATH update statements in generated module files, you can use either environment variables or a configuration file; see Configuring EasyBuild.

                "},{"location":"submitting-jobs/","title":"Submitting jobs using --job","text":"

                Topics:

                • Quick introduction to --job
                • Configuring --job
                • Usage of --job
                • Examples
                "},{"location":"submitting-jobs/#submitting_jobs_quick_intro","title":"Quick introduction to --job","text":"

                Using the --job command line option, you can instruct EasyBuild to submit jobs for the installations that should be performed, rather than performing the installations locally on the system you are on.

                If dependency resolution is enabled using --robot (see also Enabling dependency resolution, --robot / -r and --robot-paths), EasyBuild will submit separate jobs and set dependencies between them to ensure they are run in the order dictated by the software dependency graph(s).

                "},{"location":"submitting-jobs/#submitting_jobs_configuration","title":"Configuring --job","text":""},{"location":"submitting-jobs/#selecting-the-job-backend-job-backend","title":"Selecting the job backend (--job-backend)","text":"

                The job backend to be used can be specified using the --job-backend EasyBuild configuration option.

                Since EasyBuild 3.8.0, three backends are supported:

                • GC3Pie (default) (supported since EasyBuild 2.2.0)
                  • GC3Pie version 2.5.0 (or more recent) required (https://gc3pie.readthedocs.org)
                  • works with different resource managers and job schedulers, including TORQUE/PBS, Slurm, etc.
                  • note: requires that a GC3Pie configuration file is provided, see Configuring the job backend
                • PbsPython
                  • pbs_python version 4.1.0 (or more recent) required (https://oss.trac.surfsara.nl/pbs_python)
                  • note: requires TORQUE resource manager (https://adaptivecomputing.com/cherry-services/torque-resource-manager)
                • Slurm (supported since EasyBuild 3.8.0)
                  • requires Slurm version 17.0 (or more recent), (https://slurm.schedmd.com/)
                "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_backend_config","title":"Configuring the job backend (--job-backend-config)","text":"

                To configure the job backend, the path to a configuration file must be specified via --job-backend-config.

                • for PbsPython backend: (irrelevant, no configuration file required)
                • for GC3Pie backend: see https://gc3pie.readthedocs.org/en/latest/users/configuration.html
                  • example configuration files are available at Example configurations for GC3Pie job backend
                • for Slurm backend: (irrelevant, no configuration file required)
                "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_cores","title":"Number of requested cores per job (--job-cores)","text":"

                The number of cores that should be requested for each job that is submitted can be specified using --job-cores (default: not specified).

                The mechanism for determining the number of cores to request in case --job-cores was not specified depends on which job backend is being used:

                • if the PbsPython job backend is used, the (most common) number of available cores per workernode in the target resource is determined; this usually results in jobs requesting full workernodes (at least in terms of cores) by default
                • if the GC3Pie or Slurm job backend is used, the requested number of cores is left unspecified, which results in falling back to the default mechanism used by GC3Pie/Slurm to pick a number of cores; most likely, this results in single-core jobs to be submitted by default
                "},{"location":"submitting-jobs/#submitting_jobs_job_dependency_type","title":"Job dependency type (-job-deps-type)","text":"

                The type of dependency that is set by EasyBuild when submitting a job that depends on one or more other jobs can be specified via the --job-deps-type configuration setting:

                • with --job-deps-type=abort_on_error, job dependencies will be set such that a job that depends on other jobs will be aborted if one of those jobs completes with an error
                  • for both PbsPython and Slurm, this is equivalent with setting job dependencies using afterok
                • with --job-deps-type=always_run, job dependencies will be set such that a job that depends on other jobs are always run, regardless of whether or not those jobs completed successfully
                  • for both PbsPython and Slurm, this is equivalent with setting job dependencies using afterany

                The default value for -job-deps-type depends on the job backend being used (see [Configuring the job backend][submitting_jobs_cfg_job_backend_config):

                • for the GC3Pie and Slurm backends, --job-deps-type=abort_on_error is the default;
                • for the PbsPython backend, --job-deps-type=always_run is the default (because of historical reasons, and for the sake of backward compatibility)
                "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_max_walltime","title":"Maximum walltime of jobs (--job-max-walltime)","text":"

                An integer value specifying the maximum walltime for jobs (in hours) can be specified via --job-max-walltime (default: 24).

                For easyconfigs for which a reference required walltime is available via the build_stats parameter in a matching easyconfig file from the easyconfig repository (see Easyconfigs repository (--repository, --repositorypath)), EasyBuild will set the walltime of the corresponding job to twice that value (unless the resulting value is higher than the maximum walltime for jobs).

                If no such reference walltime is available, the maximum walltime is used.

                "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_output_dir","title":"Job output directory (--job-output-dir)","text":"

                The directory where job log files should be placed can be specified via --job-output-dir (default: current directory).

                "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_polling_interval","title":"Job polling interval (--job-polling-interval)","text":"

                The frequency with which the status of submitted jobs should be checked can be specified via --job-polling-interval, using a floating-point value representing the number of seconds between two checks (default: 30 seconds).

                Note

                This setting is currently only relevant to GC3Pie; see also [Submitting jobs to a GC3Pie backend]][submitting_jobs_usage_gc3pie].

                "},{"location":"submitting-jobs/#submitting_jobs_cfg_job_target_resource","title":"Target resource for job backend (--job-target-resource)","text":"

                The target resource that should be used by the job backend can be specified using --job-target-resource.

                • for PbsPython backend: hostname of TORQUE PBS server to submit jobs to (default: $PBS_DEFAULT)
                • for GC3Pie backend: name of resource to submit jobs to (default: none, which implies weighted round-robin submission across all available resources)
                • for Slurm backend: (not used)
                "},{"location":"submitting-jobs/#submitting_jobs_usage","title":"Usage of --job","text":"

                To make EasyBuild submit jobs to the job backend rather than performing the installations directly, the --job command line option can be used.

                This following assumes that the required configuration settings w.r.t. the job backend to use are in place, see Configuring --job.

                "},{"location":"submitting-jobs/#submitting_jobs_usage_pbs_python","title":"Submitting jobs to a PbsPython or Slurm backend","text":"

                When using the PbsPython or Slurm backend, EasyBuild will submit separate jobs for each installation to be performed, and then exit reporting a list of submitted jobs.

                To ensure that the installations are performed in the order dictated by the software dependency graph, dependencies between installations are specified via job dependencies (see also Job dependency type (-job-deps-type)).

                See also Example: submitting installations to TORQUE via pbs_python.

                Note

                Submitted jobs will be put on hold until all jobs have been submitted. This is required to ensure that the dependencies between jobs can be specified correctly; if a job would run to completion before other jobs that depend on it were submitted, the submission process may fail.

                "},{"location":"submitting-jobs/#submitting_jobs_usage_gc3pie","title":"Submitting jobs to a GC3Pie backend","text":"

                When using the GC3Pie backend, EasyBuild will create separate tasks for each installation to be performed and supply them to GC3Pie, which will then take over and pass the installations through as jobs to the available resource(s) (see also Configuring the job backend).

                To ensure that the installations are performed in the order dictated by the software dependency graph, dependencies between installations are specified to GC3Pie as inter-task dependencies. GC3Pie will then gradually feed the installations to its available resources as their dependencies have been satisfied.

                Any log messages produced by GC3Pie are included in the EasyBuild log file, and are tagged with gc3pie.

                See also Example: submitting installations to SLURM via GC3Pie.

                Note

                The eb process will not exit until the full set of tasks that GC3Pie was provided with has been processed. An overall progress report will be printed regularly (see also Job polling interval (--job-polling-interval)). As such, it is advised to run the eb process in a screen/tmux session when using the GC3Pie backend for --job.

                "},{"location":"submitting-jobs/#submitting_jobs_examples","title":"Examples","text":""},{"location":"submitting-jobs/#submitting_jobs_examples_gc3pie_cfg","title":"Example configurations for GC3Pie job backend","text":"

                When using GC3Pie as a job backend, a configuration file must be provided via --job-backend-config. This section includes a couple of examples of GC3Pie configuration files (see also https://gc3pie.readthedocs.org/en/latest/users/configuration.html).

                "},{"location":"submitting-jobs/#example-gc3pie-configuration-for-local-system","title":"Example GC3Pie configuration for local system","text":"
                [resource/localhost]\nenabled = yes\ntype = shellcmd\nfrontend = localhost\ntransport = local\nmax_memory_per_core = 10GiB\nmax_walltime = 100 hours\n# max # jobs ~= max_cores / max_cores_per_job\nmax_cores_per_job = 1\nmax_cores = 4\narchitecture = x86_64\nauth = none\noverride = no\nresourcedir = /tmp/gc3pie\n
                "},{"location":"submitting-jobs/#example-gc3pie-configuration-for-torquepbs","title":"Example GC3Pie configuration for TORQUE/PBS","text":"
                [resource/pbs]\nenabled = yes\ntype = pbs\n\n# use settings below when running GC3Pie on the cluster front-end node\nfrontend = localhost\ntransport = local\nauth = none\n\nmax_walltime = 2 days\n# max # jobs ~= max_cores / max_cores_per_job\nmax_cores_per_job = 16\nmax_cores = 1024\nmax_memory_per_core = 2 GiB\narchitecture = x86_64\n\n# to add non-std options or use TORQUE/PBS tools located outside of\n# the default PATH, use the following:\n#qsub = /usr/local/bin/qsub -q my-special-queue\n
                "},{"location":"submitting-jobs/#example-gc3pie-configuration-for-slurm","title":"Example GC3Pie configuration for SLURM","text":"
                [resource/slurm]\nenabled = yes\ntype = slurm\n\n# use settings below when running GC3Pie on the cluster front-end node\nfrontend = localhost\ntransport = local\nauth = none\n\nmax_walltime = 2 days\n# max # jobs ~= max_cores / max_cores_per_job\nmax_cores_per_job = 16\nmax_cores = 1024\nmax_memory_per_core = 2 GiB\narchitecture = x86_64\n\n# to add non-std options or use SLURM tools located outside of\n# the default PATH, use the following:\n#sbatch = /usr/bin/sbatch --mail-type=ALL\n
                "},{"location":"submitting-jobs/#submitting_jobs_examples_gc3pie_backend","title":"Example: submitting installations to SLURM via GC3Pie","text":"

                When submitting jobs to the GC3Pie job backend, the eb process will not exit until all tasks have been completed. A job overview will be printed every N seconds (see Job polling interval (--job-polling-interval)).

                Jobs are only submitted to the resource manager (SLURM, in this case) when all task dependencies have been resolved.

                $ export EASYBUILD_JOB_BACKEND=GC3Pie\n$ export EASYBUILD_JOB_BACKEND_CONFIG=$PWD/gc3pie.cfg\n$ eb GCC-4.6.0.eb OpenMPI-1.8.4-GCC-4.9.2.eb --robot --job --job-cores=16 --job-max-walltime=10\n== temporary log file in case of crash /tmp/eb-ivAiwD/easybuild-PCgmCB.log\n== resolving dependencies ...\n== GC3Pie job overview: 2 submitted (total: 9)\n== GC3Pie job overview: 2 running (total: 9)\n== GC3Pie job overview: 2 running (total: 9)\n...\n== GC3Pie job overview: 4 terminated, 4 ok, 1 submitted (total: 9)\n== GC3Pie job overview: 4 terminated, 4 ok, 1 running (total: 9)\n...\n== GC3Pie job overview: 8 terminated, 8 ok, 1 running (total: 9)\n== GC3Pie job overview: 9 terminated, 9 ok (total: 9)\n== GC3Pie job overview: 9 terminated, 9 ok (total: 9)\n== Done processing jobs\n== GC3Pie job overview: 9 terminated, 9 ok (total: 9)\n== Submitted parallel build jobs, exiting now\n== temporary log file(s) /tmp/eb-ivAiwD/easybuild-PCgmCB.log* have been removed.\n== temporary directory /tmp/eb-ivAiwD has been removed.\n

                Checking which jobs have been submitted to SLURM at regular intervals reveals that indeed only tasks for which all dependencies have been processed are actually submitted as jobs::

                $ squeue -u $USER\nJOBID       USER       ACCOUNT           NAME     REASON   START_TIME     END_TIME  TIME_LEFT NODES CPUS   PRIORITY\n6161545     easybuild  example      GCC-4.9.2       None 2015-07-01T1 2015-07-01T2    9:58:55     1 16       1242\n6161546     easybuild  example      GCC-4.6.0       None 2015-07-01T1 2015-07-01T2    9:58:55     1 16       1242\n\n$ squeue -u $USER\nJOBID       USER       ACCOUNT           NAME     REASON   START_TIME     END_TIME  TIME_LEFT NODES CPUS   PRIORITY\n6174527     easybuild  example Automake-1.15-  Resources          N/A          N/A   10:00:00     1 16       1120\n\n$ squeue -u $USER\nJOBID       USER       ACCOUNT           NAME     REASON   START_TIME     END_TIME  TIME_LEFT NODES CPUS   PRIORITY\n6174533     easybuild  example OpenMPI-1.8.4-       None 2015-07-03T0 2015-07-03T1    9:55:59     1 16       1119\n
                "},{"location":"submitting-jobs/#submitting_jobs_examples_pbs_python_backend","title":"Example: submitting installations to TORQUE via pbs_python","text":"

                Using the PbsPython job backend, eb submits jobs directly to TORQUE for processing, and exits as soon as all jobs have been submitted::

                $ eb GCC-4.6.0.eb OpenMPI-1.8.4-GCC-4.9.2.eb --robot --job\n== temporary log file in case of crash /tmp/eb-OMNQAV/easybuild-9fTuJA.log\n== resolving dependencies ...\n== List of submitted jobs (9): GCC-4.6.0 (GCC/4.6.0): 508023.example.pbs; GCC-4.9.2 (GCC/4.9.2): 508024.example.pbs;\nlibtool-2.4.2-GCC-4.9.2 (libtool/2.4.2-GCC-4.9.2): 508025.example.pbs; M4-1.4.17-GCC-4.9.2 (M4/1.4.17-GCC-4.9.2): 50\n8026.example.pbs; Autoconf-2.69-GCC-4.9.2 (Autoconf/2.69-GCC-4.9.2): 508027.example.pbs; Automake-1.15-GCC-4.9.2 (Au\ntomake/1.15-GCC-4.9.2): 508028.example.pbs; numactl-2.0.10-GCC-4.9.2 (numactl/2.0.10-GCC-4.9.2): 508029.example.pbs;\nhwloc-1.10.0-GCC-4.9.2 (hwloc/1.10.0-GCC-4.9.2): 508030.example.pbs; OpenMPI-1.8.4-GCC-4.9.2 (OpenMPI/1.8.4-GCC-4.9.\n2): 508031.example.pbs\n== Submitted parallel build jobs, exiting now\n== temporary log file(s) /tmp/eb-OMNQAV/easybuild-9fTuJA.log* have been removed.\n== temporary directory /tmp/eb-OMNQAV has been removed.\n\n$ qstat -a\n\nexample.pbs:\n                                                                              Req'd    Req'd       Elap\nJob ID              Username    Queue    Jobname          SessID  NDS   TSK   Memory   Time    S   Time\n------------------- ----------- -------- ---------------- ------ ----- ------ ------ --------- - ---------\n508023.example.pbs  easybuild   batch    GCC-4.6.0           --      1     16    --   24:00:00 R  00:02:16 \n508024.example.pbs  easybuild   batch    GCC-4.9.2           --      1     16    --   24:00:00 Q       -- \n508025.example.pbs  easybuild   batch    libtool-2.4.2-GC    --      1     16    --   24:00:00 H       -- \n508026.example.pbs  easybuild   batch    M4-1.4.17-GCC-4.    --      1     16    --   24:00:00 H       -- \n508027.example.pbs  easybuild   batch    Autoconf-2.69-GC    --      1     16    --   24:00:00 H       -- \n508028.example.pbs  easybuild   batch    Automake-1.15-GC    --      1     16    --   24:00:00 H       -- \n508029.example.pbs  easybuild   batch    numactl-2.0.10-G    --      1     16    --   24:00:00 H       -- \n508030.example.pbs  easybuild   batch    hwloc-1.10.0-GCC    --      1     16    --   24:00:00 H       -- \n508031.example.pbs  easybuild   batch    OpenMPI-1.8.4-GC    --      1     16    --   24:00:00 H       -- \n

                Holds are put in place to ensure that the jobs run in the order dictated by the dependency graph(s). These holds are released by the TORQUE server as soon as they jobs on which they depend have completed::

                $ qstat -a\n\nexample.pbs:\n                                                                              Req'd    Req'd       Elap\nJob ID              Username    Queue    Jobname          SessID  NDS   TSK   Memory   Time    S   Time\n------------------- ----------- -------- ---------------- ------ ----- ------ ------ --------- - ---------\n508025.example.pbs  easybuild   batch    libtool-2.4.2-GC    --      1     16    --   24:00:00 Q       -- \n508026.example.pbs  easybuild   batch    M4-1.4.17-GCC-4.    --      1     16    --   24:00:00 Q       -- \n508027.example.pbs  easybuild   batch    Autoconf-2.69-GC    --      1     16    --   24:00:00 H       -- \n508028.example.pbs  easybuild   batch    Automake-1.15-GC    --      1     16    --   24:00:00 H       -- \n508029.example.pbs  easybuild   batch    numactl-2.0.10-G    --      1     16    --   24:00:00 H       -- \n508030.example.pbs  easybuild   batch    hwloc-1.10.0-GCC    --      1     16    --   24:00:00 H       -- \n508031.example.pbs  easybuild   batch    OpenMPI-1.8.4-GC    --      1     16    --   24:00:00 H       -- \n\n...\n\n$ qstat -a\n\nexample.pbs:\n                                                                              Req'd    Req'd       Elap\nJob ID              Username    Queue    Jobname          SessID  NDS   TSK   Memory   Time    S   Time\n------------------- ----------- -------- ---------------- ------ ----- ------ ------ --------- - ---------\n508031.example.pbs  easybuild   batch    OpenMPI-1.8.4-GC    --      1     16    --   24:00:00 R  00:03:46\n
                "},{"location":"system-toolchain/","title":"System toolchain","text":"

                In EasyBuild v4.0, the infamous dummy toolchain has been deprecated, and replaced with the system toolchain.

                This page provides more information about this change, and how to deal with the transition.

                Note

                To ease the transition from dummy to system, EasyBuild v3.9.4 already supports using the system toolchain as an alias for the dummy toolchain.

                "},{"location":"system-toolchain/#system_toolchain_semantics","title":"Use case for the system toolchain","text":"

                The System toolchain is intended for the same use case as the dummy toolchain was: it should (only) be used for software installations where the compiler & libraries provided by the operating system are assumed to be sufficient.

                This includes installing binary software (for which no compiler is used at all), installations that boil down to only unpacking a source tarball, and building and installing a (base) toolchain compiler like GCC(core).

                For all intents and purposes, the system toolchain can be considered as a drop-in replacement for the (deprecated) dummy toolchain (see also Impact of deprecating dummy toolchain).

                "},{"location":"system-toolchain/#system_toolchain_usage","title":"Using the system compiler","text":"

                To use the system toolchain in an easyconfig file, simply use 'system' as toolchain name:

                toolchain = {'name': 'system', 'version': ''}\n

                Note

                The toolchain version you specify is totally irrelevant when using the system compiler, it could be 'system', '' or any other (string) value.

                EasyBuild does not interpret the version of the system toolchain in any way (as opposed to the dummy toolchain in EasyBuild versions prior to version 4.0, see Impact of version of dummy toolchain w.r.t. dependencies).

                "},{"location":"system-toolchain/#system_toolchain_SYSTEM_constant","title":"SYSTEM constant","text":"

                For convenience, a SYSTEM constant is available to easily specify the use of the system toolchain (and to make it stand out against using a regular toolchain):

                toolchain = SYSTEM\n

                We strongly recommend using the SYSTEM constant to specify the use of the system toolchain.

                "},{"location":"system-toolchain/#system_toolchain_impact_deprecated_dummy","title":"Impact of deprecating dummy toolchain","text":"

                The only impact of deprecating the dummy toolchain is that a warning will be printed whenever an easyconfig file that still uses the dummy toolchain is parsed:

                WARNING: Deprecated functionality, will no longer work in v5.0:\nUse of 'dummy' toolchain is deprecated, use 'system' toolchain instead;\nsee http://easybuild.readthedocs.org/en/latest/Deprecated-functionality.html for more information\n

                Other than this warning, there is no impact on the EasyBuild functionality whatsoever.

                Use of the dummy toolchain has been deprecated, but is still supported in EasyBuild v4.x; it is simply an alias for the system toolchain which replaces it.

                Hence, software installations for easyconfig files that are still using the dummy toolchain will proceed as before, and the contents of the easyconfig files will be interpreted exactly as before, with one exception: the (build) dependencies specified in the easyconfig files will always be loaded in the build environment, regardless of the toolchain version (see also Impact of version of dummy toolchain w.r.t. dependencies).

                Since the dummy toolchain has been deprecated, so has the --add-dummy-to-minimal-toolchains configuration option. It has been replaced with the --add-system-to-minimal-toolchains configuration option (see also Considering system as minimal toolchain).

                "},{"location":"system-toolchain/#system_toolchain_updating_dummy","title":"Updating easyconfig files that use the dummy toolchain","text":"

                To update easyconfig files that still use the dummy toolchain, you should simply change the definition of the toolchain parameter to use 'system' as a toolchain name (see also Using the system compiler).

                We recommend using the SYSTEM constant for this, see SYSTEM constant.

                To automatically update easyconfig files still using the dummy toolchain, you can also use eb --fix-deprecated-easyconfigs. Do take into account that this option could also result in additional changes being made to the easyconfig files, see Renaming local variables to match the recommended naming scheme using eb --fix-deprecated-easyconfigs.

                "},{"location":"system-toolchain/#system_toolchain_motivation_deprecating_dummy","title":"Motivation for deprecating the dummy toolchain","text":"

                Deprecating the dummy toolchain was done for a number of reasons:

                • dummy toolchain name
                • Impact of version of dummy toolchain w.r.t. dependencies
                "},{"location":"system-toolchain/#system_toolchain_motivation_deprecating_dummy_name","title":"dummy toolchain name","text":"

                The dummy name may be rather confusing, especially if you are new to EasyBuild. Just based on the name, it is unclear how the dummy toolchain is different from a regular toolchain.

                Hopefully, the name of the system toolchain does speak more for itself: when using it, you are relying on the compiler & libraries provided by the operating system (as opposed to compilers & libraries that are a part of a regular toolchain).

                "},{"location":"system-toolchain/#system_toolchain_motivation_deprecating_dummy_version_and_deps","title":"Impact of version of dummy toolchain w.r.t. dependencies","text":"

                The version that was being used for a dummy toolchain was interpreted by EasyBuild in a rather surprising way.

                If 'dummy' was specified as a toolchain version, then the (build) dependencies that were specified in the easyconfig file were not loaded in the build environment. module load statements for the (non-build) dependencies were included in the generated module file, however...

                Using any version other than 'dummy' resulted in the usual behaviour of loading the dependencies in the build environment.

                Why this mechanism was in place has been lost to the sands of time...

                This often led to outright confusing installation problems, and hence it was the main motivator for deprecating the dummy toolchain. Rather than just changing the semantics of the dummy toolchain, we saw this as an opportunity to also fix the name.

                "},{"location":"terminology/","title":"Concepts and terminology","text":"

                EasyBuild consists of a collection of Python modules and packages that interact with each other, dynamically picking up additional Python modules as needed for building and installing a (stack of) software package(s) specified via simple specification files.

                Or, in EasyBuild terminology: the EasyBuild framework leverages easyblocks to automatically build and install software using particular compiler toolchains, as specified by one or multiple easyconfig files.

                "},{"location":"terminology/#framework","title":"EasyBuild framework","text":"

                The EasyBuild framework embodies the core of the tool, providing functionality commonly needed when installing scientific software on HPC systems. For example, it deals with downloading, unpacking and patching of sources, loading module files for dependencies, setting up the build environment, autonomously running (interactive) shell commands, creating module files that match the specification files, etc.

                Included in the framework is an abstract implementation of a software build and install procedure, which is split up into different steps:

                • unpacking sources
                • configuration
                • build
                • installation
                • module generation
                • etc.

                Most of these steps, i.e., the ones which are generally more-or-less analogous across different software packages, have appropriate (default) implementations. The only exceptions are the configuration, build and installation steps that are purposely left unimplemented (since there is no common procedure for them).

                Each of the steps can be tweaked and steered via different parameters known to the framework, for which values are either obtained from the provided specification files or set to reasonable default values. See Easyconfig files.

                In EasyBuild version 4.8.0 the framework source code consists of about 31,500 lines of code, organized across about 225 Python modules in roughly 20 Python package directories, next to about 27,000 lines of code for tests. This provides some notion of the size of the EasyBuild framework and the amount of supporting functionality it has to offer.

                "},{"location":"terminology/#easyblocks","title":"Easyblocks","text":"

                The implementation of a particular software build and install procedure is done in a Python module, which is aptly referred to as an easyblock.

                Each easyblock ties in with the framework API by defining (or extending/replacing) one or more of the step functions that are part of the abstract procedure used by the EasyBuild framework. Easyblocks typically heavily rely on the supporting functionality provided by the framework, for example for (autonomously) executing (interactive) shell commands and obtaining the command's output and exit code.

                A distinction is made between software-specific and generic easyblocks. Software-specific easyblocks implement a build and install procedure which is entirely custom to one particular software package (e.g., WRF), while generic easyblocks implement a procedure using standard tools (e.g., CMake). Since easyblocks are implemented in an object-oriented scheme, the step methods implemented by a particular easyblock can be reused in others via inheritance, enabling code reuse across build procedure implementations.

                For each software package being built, the EasyBuild framework will determine which easyblock should be used, based on the name of the software package or the value of the easyblock specification parameter (see Easyblock specification). Since EasyBuild v2.0, an easyblock must be specified in case no matching easyblock is found based on the software name (cfr. Automagic fallback to ConfigureMake).

                "},{"location":"terminology/#toolchains","title":"Toolchains","text":"

                EasyBuild employs so-called compiler toolchains or, simply toolchains for short, which are a major concept in handling the build and installation processes.

                A typical toolchain consists of one or more compilers, usually put together with some libraries for specific functionality, e.g., for using an MPI stack for distributed computing, or which provide optimized routines for commonly used math operations, e.g., the well-known BLAS/LAPACK APIs for linear algebra routines.

                For each software package being built, the toolchain to be used must be specified in some way.

                The EasyBuild framework prepares the build environment for the different toolchain components, by loading their respective modules and defining environment variables to specify compiler commands (e.g., via $F90), compiler and linker options (e.g., via $CFLAGS and $LDFLAGS), the list of library names to supply to the linker (via $LIBS), etc. This enables making easyblocks largely toolchain-agnostic since they can simply rely on these environment variables; that is, unless they need to be aware of, for example, the particular compiler being used to determine the build configuration options.

                Recent releases of EasyBuild include out-of-the-box toolchain support for:

                • various compilers, including GCC, Intel, Clang, CUDA
                • common MPI libraries, such as Intel MPI, MPICH, MVAPICH2, OpenMPI
                • various numerical libraries, including ATLAS, Intel MKL, OpenBLAS, ScalaPACK, FFTW

                Please see the Common toolchains page for details about the two most common toolchains, one for \"free and open source software\" (foss) based on GCC and one based on the Intel compilers (intel).

                "},{"location":"terminology/#system_toolchain_terminology","title":"system toolchain","text":"

                The system toolchain is a special case. It is an empty toolchain, i.e. a toolchain without any components, and corresponds to using the readily available compilers and libraries (e.g., the ones provided by the operating system, or by modules which were loaded before issuing the eb command).

                When the system toolchain is used, a corresponding system module file is not required/loaded and no build environment is being defined.

                "},{"location":"terminology/#dummy_toolchain","title":"dummy toolchain (DEPRECATED)","text":"

                The dummy toolchain has been deprecated in EasyBuild v4.0, and replaced by the system toolchain.

                "},{"location":"terminology/#common-toolchains","title":"Common toolchains","text":"

                For more information on the concept of common toolchains, see Common toolchains.

                "},{"location":"terminology/#easyconfig_files","title":"Easyconfig files","text":"

                The specification files that are supplied to EasyBuild are referred to as easyconfig files (or simply easyconfigs), which are basically plain text files containing (mostly) key-value assignments for build parameters supported by the framework, also referred to as easyconfig parameters (see Writing easyconfig files: the basics for more information).

                Note that easyconfig files only provide the bits of information required to determine the corresponding module name; the module name itself is computed by EasyBuild framework by querying the module naming scheme being used. The complete list of supported easyconfig parameters can be easily obtained via the EasyBuild command line using eb -a (see also All available easyconfig parameters, --avail-easyconfig-params / -a).

                As such, each easyconfig file provides a complete specification of which particular software package should be installed, and which settings should be used for building it. After completing an installation, EasyBuild copies the used easyconfig file to the install directory, as a template, and also supports maintaining an easyconfig archive which is updated on every successful installation. Therefore, reproducing installations becomes trivial.

                "},{"location":"terminology/#extensions","title":"Extensions","text":"

                Some software packages support installing additional add-ons alongside the 'main' software, either in the same installation prefix, or in a separate location.

                In EasyBuild, we use the neutral term 'extensions' to refer these add-ons.

                Well-known examples include:

                • Perl modules
                • Python packages
                • R libraries
                • Ruby gems
                "},{"location":"tracing-progress/","title":"Tracing progress","text":"

                To trace the progress of EasyBuild while it is installing software, you can use eb --trace.

                Note

                Tracing support was added as an experimental feature in EasyBuild v3.4.0, and thus required using --experimental. Since EasyBuild v3.4.1, --trace is considered stable and no longer requires the use of --experimental.

                "},{"location":"tracing-progress/#trace_output","title":"Trace output","text":"

                When eb --trace is used, EasyBuild will print additional output on top of the standard output, which only mentions which step of the installation procedure is being executed (without any further details).

                This output includes:

                • location of build and install directories
                • list of sources and patches
                • modules being loaded
                • executed commands
                • results of the sanity check
                • location of generated module file

                For each (non-trivial) executed command, the location to a temporary log file will be provided so the output of that command can be monitored while it is running. In addition, the start time of the command is printed, to allow determining how long the command has been running.

                "},{"location":"tracing-progress/#trace_example","title":"Example","text":"
                $ eb HDF5-1.10.1-intel-2017a.eb -df --trace --experimental\n== temporary log file in case of crash /tmp/eb-ieEeg3/easybuild-Ouw3jV.log\n== processing EasyBuild easyconfig /home/example/HDF5/HDF5-1.10.1-intel-2017a.eb\n== building and installing HDF5/1.10.1-intel-2017a...\n  >> installation prefix: /prefix/software/HDF5/1.10.1-intel-2017a\n== fetching files...\n  >> sources:\n  >> /prefix/sources/h/HDF5/hdf5-1.10.1.tar.gz [SHA256: 048a9d149fb99aaa1680a712963f5a78e9c43b588d0e79d55e06760ec377c172]\n== creating build dir, resetting environment...\n  >> build dir: /tmp/HDF5/1.10.1/intel-2017a\n== unpacking...\n  >> running command 'tar xzf /prefix/sources/h/HDF5/hdf5-1.10.1.tar.gz' (output in /tmp/eb-ieEeg3/easybuild-run_cmd-P9kf6c.log) [started at: 2017-09-06 08:28:42]\n== patching...\n== preparing...\n  >> loading toolchain module: intel/2017a\n  >> (no build dependencies specified)\n  >> loading modules for (runtime) dependencies:\n  >>  * zlib/1.2.11-GCCcore-6.3.0\n  >>  * Szip/2.1-intel-2017a\n  >> defining build environment for intel/2017a toolchain\n== configuring...\n  >> running command './configure --prefix=/prefix/software/HDF5/1.10.1-intel-2017a  --with-szlib=/prefix/software/Szip/2.1-intel-2017a  --with-zlib=/prefix/software/zlib/1.2.11-GCCcore-6.3.0  --with-pic --with-pthread --enable-shared  --enable-cxx --enable-fortran FC=\"mpiifort\"  --enable-unsupported --enable-parallel' (output in /tmp/eb-ieEeg3/easybuild-run_cmd-dPat3D.log) [started at: 2017-09-06 08:28:44]\n== building...\n  >> running command 'make -j 24  CXXFLAGS=\"$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK\"  FC=\"mpiifort\"' (output in /tmp/eb-ieEeg3/easybuild-run_cmd-25vKdK.log) [started at: 2017-09-06 08:31:01]\n== testing...\n== installing...\n  >> running command 'make install' (output in /tmp/eb-ieEeg3/easybuild-run_cmd-BepE8P.log) [started at: 2017-09-06 08:34:09]\n== taking care of extensions...\n== postprocessing...\n== sanity checking...\n  >> file 'bin/h52gif' found: OK\n  >> file 'bin/h5c++' found: OK\n  >> file 'bin/h5copy' found: OK\n  >> file 'bin/h5debug' found: OK\n  >> file 'bin/h5diff' found: OK\n  >> file 'bin/h5dump' found: OK\n  >> file 'bin/h5import' found: OK\n  >> file 'bin/h5jam' found: OK\n  >> file 'bin/h5ls' found: OK\n  >> file 'bin/h5mkgrp' found: OK\n  >> file 'bin/h5perf_serial' found: OK\n  >> file 'bin/h5redeploy' found: OK\n  >> file 'bin/h5repack' found: OK\n  >> file 'bin/h5repart' found: OK\n  >> file 'bin/h5stat' found: OK\n  >> file 'bin/h5unjam' found: OK\n  >> file 'bin/gif2h5' found: OK\n  >> file 'bin/h5perf' found: OK\n  >> file 'bin/h5pcc' found: OK\n  >> file 'bin/h5pfc' found: OK\n  >> file 'bin/ph5diff' found: OK\n  >> file 'lib/libhdf5.so' found: OK\n  >> file 'lib/libhdf5_cpp.so' found: OK\n  >> file 'lib/libhdf5_fortran.so' found: OK\n  >> file 'lib/libhdf5_hl_cpp.so' found: OK\n  >> file 'lib/libhdf5_hl.so' found: OK\n  >> file 'lib/libhdf5hl_fortran.so' found: OK\n  >> (non-empty) directory 'include' found: OK\n== cleaning up...\n== creating module...\n  >> generating module file @ /prefix/modules/all/HDF5/1.10.1-intel-2017a.lua\n== permissions...\n== packaging...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file(s) /prefix/software/HDF5/1.10.1-intel-2017a/easybuild/easybuild-HDF5-1.10.1-20170906.083425.log\n== Build succeeded for 1 out of 1\n== Temporary log file(s) /tmp/eb-ieEeg3/easybuild-Ouw3jV.log* have been removed.\n== Temporary directory /tmp/eb-ieEeg3 has been removed.\n
                "},{"location":"typical-workflow-example/","title":"Typical workflow example: building and installing WRF","text":"

                This section shows an example case of building Weather Research and Forecasting (WRF) scientific software application, which is a notoriously complex software application to build and install. With EasyBuild however, WRF can be installed quite easily and here is how.

                First, you search which easyconfigs are available for WRF, using --search (see Searching for easyconfigs, --search / -S) and you select one based on the software version, toolchain, etc.

                Using the selected easyconfig file, you can get an overview of the planned installations using --dry-run (see Getting an overview of planned installations --dry-run / -D).

                Finally, building and installing WRF is done by specifying the matching easyconfig file in the eb command line, and using --robot (see Enabling dependency resolution, --robot / -r and --robot-paths) to enable dependency resolution. That way WRF and all of its dependencies are installed with a single command!

                "},{"location":"typical-workflow-example/#searching-for-available-easyconfigs-files","title":"Searching for available easyconfigs files","text":"

                Searching for build specification for a particular software package can be done using the --search/-S command line options (see Searching for easyconfigs, --search / -S); for example, to get a list of available easyconfig files for WRF:

                $ eb -S WRF\nCFGS1=/user/gent/445/vsc44588/easybuild/easybuild-easyconfigs/easybuild/easyconfigs\n * $CFGS1/w/WPS/WPS-4.0.1_find-wrfdir.patch\n * $CFGS1/w/WPS/WPS-4.0.2_find-wrfdir.patch\n [ . . . ]\n * $CFGS1/w/WRF/WRF-4.4-foss-2022a-dmpar.eb\n * $CFGS1/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb\n [ . . . ]\n\nNote: 16 matching archived easyconfig(s) found, use --consider-archived-easyconfigs to see them\n

                Various easyconfig files are found: for different versions of WRF (e.g., v4.4 and v4.4.1), for different (versions of) compiler toolchains (e.g., foss 2022a, foss 2022b), etc.

                For the remainder of this example, we will use the available WRF-4.4.1-foss-2022b-dmpar.eb easyconfig file to specify to EasyBuild to build and install WRF v4.4.1 using version 2022b of the foss toolchain, which is one of the Common toolchains. The foss toolchain stands for GCC, OpenMPI, OpenBLAS/LAPACK, ScaLAPACK, and FFTW. See List of known toolchains for a list of all available toolchains.

                "},{"location":"typical-workflow-example/#getting-an-overview-of-planned-installations","title":"Getting an overview of planned installations","text":"

                To get an overview of the software that EasyBuild is going to build and install we can use the --dry-run/-D (see Getting an overview of planned installations --dry-run / -D) command line option. This will show a list of easyconfig files that will be used, together with the module files that will be installed, as well as their current availability ([x] marks available modules).

                Note that EasyBuild will take care of all of the dependencies of WRF as well, and can even install the compiler toolchain as well if the corresponding modules are not available yet:

                $ eb WRF-4.4.1-foss-2022b-dmpar.eb -Dr\n== Temporary log file in case of crash /tmp/vsc44588/eb-n67uls6o/easybuild-2r30g117.log\nDry run: printing build status of easyconfigs and dependencies\nCFGS=/user/gent/445/vsc44588/easybuild/easybuild-easyconfigs/easybuild/easyconfigs\n * [x] $CFGS/m/M4/M4-1.4.19.eb (module: M4/1.4.19)\n * [x] $CFGS/b/Bison/Bison-3.8.2.eb (module: Bison/3.8.2)\n * [x] $CFGS/f/flex/flex-2.6.4.eb (module: flex/2.6.4)\n * [x] $CFGS/z/zlib/zlib-1.2.12.eb (module: zlib/1.2.12)\n * [x] $CFGS/b/binutils/binutils-2.39.eb (module: binutils/2.39)\n * [x] $CFGS/g/GCCcore/GCCcore-12.2.0.eb (module: GCCcore/12.2.0)\n * [x] $CFGS/z/zlib/zlib-1.2.12-GCCcore-12.2.0.eb (module: zlib/1.2.12-GCCcore-12.2.0)\n * [x] $CFGS/h/help2man/help2man-1.49.2-GCCcore-12.2.0.eb (module: help2man/1.49.2-GCCcore-12.2.0)\n * [x] $CFGS/m/M4/M4-1.4.19-GCCcore-12.2.0.eb (module: M4/1.4.19-GCCcore-12.2.0)\n * [x] $CFGS/b/Bison/Bison-3.8.2-GCCcore-12.2.0.eb (module: Bison/3.8.2-GCCcore-12.2.0)\n * [x] $CFGS/f/flex/flex-2.6.4-GCCcore-12.2.0.eb (module: flex/2.6.4-GCCcore-12.2.0)\n * [x] $CFGS/b/binutils/binutils-2.39-GCCcore-12.2.0.eb (module: binutils/2.39-GCCcore-12.2.0)\n * [x] $CFGS/l/libtool/libtool-2.4.7-GCCcore-12.2.0.eb (module: libtool/2.4.7-GCCcore-12.2.0)\n * [x] $CFGS/n/ncurses/ncurses-6.3-GCCcore-12.2.0.eb (module: ncurses/6.3-GCCcore-12.2.0)\n * [x] $CFGS/g/groff/groff-1.22.4-GCCcore-12.2.0.eb (module: groff/1.22.4-GCCcore-12.2.0)\n * [x] $CFGS/e/expat/expat-2.4.9-GCCcore-12.2.0.eb (module: expat/2.4.9-GCCcore-12.2.0)\n * [x] $CFGS/b/bzip2/bzip2-1.0.8-GCCcore-12.2.0.eb (module: bzip2/1.0.8-GCCcore-12.2.0)\n * [x] $CFGS/l/libreadline/libreadline-8.2-GCCcore-12.2.0.eb (module: libreadline/8.2-GCCcore-12.2.0)\n * [x] $CFGS/p/pkgconf/pkgconf-1.9.3-GCCcore-12.2.0.eb (module: pkgconf/1.9.3-GCCcore-12.2.0)\n * [ ] $CFGS/t/tcsh/tcsh-6.24.07-GCCcore-12.2.0.eb (module: tcsh/6.24.07-GCCcore-12.2.0)\n * [ ] $CFGS/t/time/time-1.9-GCCcore-12.2.0.eb (module: time/1.9-GCCcore-12.2.0)\n * [x] $CFGS/s/Szip/Szip-2.1.1-GCCcore-12.2.0.eb (module: Szip/2.1.1-GCCcore-12.2.0)\n * [ ] $CFGS/l/libiconv/libiconv-1.17-GCCcore-12.2.0.eb (module: libiconv/1.17-GCCcore-12.2.0)\n * [x] $CFGS/g/GCC/GCC-12.2.0.eb (module: GCC/12.2.0)\n * [x] $CFGS/p/pkgconf/pkgconf-1.8.0.eb (module: pkgconf/1.8.0)\n * [x] $CFGS/o/OpenSSL/OpenSSL-1.1.eb (module: OpenSSL/1.1)\n * [x] $CFGS/c/cURL/cURL-7.86.0-GCCcore-12.2.0.eb (module: cURL/7.86.0-GCCcore-12.2.0)\n * [x] $CFGS/d/DB/DB-18.1.40-GCCcore-12.2.0.eb (module: DB/18.1.40-GCCcore-12.2.0)\n * [x] $CFGS/p/Perl/Perl-5.36.0-GCCcore-12.2.0.eb (module: Perl/5.36.0-GCCcore-12.2.0)\n * [x] $CFGS/a/Autoconf/Autoconf-2.71-GCCcore-12.2.0.eb (module: Autoconf/2.71-GCCcore-12.2.0)\n * [x] $CFGS/a/Automake/Automake-1.16.5-GCCcore-12.2.0.eb (module: Automake/1.16.5-GCCcore-12.2.0)\n * [x] $CFGS/a/Autotools/Autotools-20220317-GCCcore-12.2.0.eb (module: Autotools/20220317-GCCcore-12.2.0)\n * [x] $CFGS/g/gzip/gzip-1.12-GCCcore-12.2.0.eb (module: gzip/1.12-GCCcore-12.2.0)\n * [x] $CFGS/f/FFTW/FFTW-3.3.10-GCC-12.2.0.eb (module: FFTW/3.3.10-GCC-12.2.0)\n * [x] $CFGS/l/lz4/lz4-1.9.4-GCCcore-12.2.0.eb (module: lz4/1.9.4-GCCcore-12.2.0)\n * [x] $CFGS/l/libevent/libevent-2.1.12-GCCcore-12.2.0.eb (module: libevent/2.1.12-GCCcore-12.2.0)\n * [x] $CFGS/n/numactl/numactl-2.0.16-GCCcore-12.2.0.eb (module: numactl/2.0.16-GCCcore-12.2.0)\n * [x] $CFGS/n/ncurses/ncurses-6.3.eb (module: ncurses/6.3)\n * [x] $CFGS/g/gettext/gettext-0.21.1.eb (module: gettext/0.21.1)\n * [x] $CFGS/x/XZ/XZ-5.2.7-GCCcore-12.2.0.eb (module: XZ/5.2.7-GCCcore-12.2.0)\n * [x] $CFGS/l/libxml2/libxml2-2.10.3-GCCcore-12.2.0.eb (module: libxml2/2.10.3-GCCcore-12.2.0)\n * [x] $CFGS/l/libarchive/libarchive-3.6.1-GCCcore-12.2.0.eb (module: libarchive/3.6.1-GCCcore-12.2.0)\n * [x] $CFGS/z/zstd/zstd-1.5.2-GCCcore-12.2.0.eb (module: zstd/1.5.2-GCCcore-12.2.0)\n * [x] $CFGS/c/CMake/CMake-3.24.3-GCCcore-12.2.0.eb (module: CMake/3.24.3-GCCcore-12.2.0)\n * [ ] $CFGS/d/Doxygen/Doxygen-1.9.5-GCCcore-12.2.0.eb (module: Doxygen/1.9.5-GCCcore-12.2.0)\n * [x] $CFGS/j/JasPer/JasPer-4.0.0-GCCcore-12.2.0.eb (module: JasPer/4.0.0-GCCcore-12.2.0)\n * [x] $CFGS/u/UCX/UCX-1.13.1-GCCcore-12.2.0.eb (module: UCX/1.13.1-GCCcore-12.2.0)\n * [x] $CFGS/u/UnZip/UnZip-6.0-GCCcore-12.2.0.eb (module: UnZip/6.0-GCCcore-12.2.0)\n * [x] $CFGS/l/libfabric/libfabric-1.16.1-GCCcore-12.2.0.eb (module: libfabric/1.16.1-GCCcore-12.2.0)\n * [x] $CFGS/x/xorg-macros/xorg-macros-1.19.3-GCCcore-12.2.0.eb (module: xorg-macros/1.19.3-GCCcore-12.2.0)\n * [x] $CFGS/l/libpciaccess/libpciaccess-0.17-GCCcore-12.2.0.eb (module: libpciaccess/0.17-GCCcore-12.2.0)\n * [x] $CFGS/h/hwloc/hwloc-2.8.0-GCCcore-12.2.0.eb (module: hwloc/2.8.0-GCCcore-12.2.0)\n * [x] $CFGS/p/PMIx/PMIx-4.2.2-GCCcore-12.2.0.eb (module: PMIx/4.2.2-GCCcore-12.2.0)\n * [x] $CFGS/l/libffi/libffi-3.4.4-GCCcore-12.2.0.eb (module: libffi/3.4.4-GCCcore-12.2.0)\n * [x] $CFGS/t/Tcl/Tcl-8.6.12-GCCcore-12.2.0.eb (module: Tcl/8.6.12-GCCcore-12.2.0)\n * [x] $CFGS/s/SQLite/SQLite-3.39.4-GCCcore-12.2.0.eb (module: SQLite/3.39.4-GCCcore-12.2.0)\n * [x] $CFGS/p/Python/Python-3.10.8-GCCcore-12.2.0-bare.eb (module: Python/3.10.8-GCCcore-12.2.0-bare)\n * [x] $CFGS/b/BLIS/BLIS-0.9.0-GCC-12.2.0.eb (module: BLIS/0.9.0-GCC-12.2.0)\n * [x] $CFGS/o/OpenBLAS/OpenBLAS-0.3.21-GCC-12.2.0.eb (module: OpenBLAS/0.3.21-GCC-12.2.0)\n * [x] $CFGS/f/FlexiBLAS/FlexiBLAS-3.2.1-GCC-12.2.0.eb (module: FlexiBLAS/3.2.1-GCC-12.2.0)\n * [x] $CFGS/u/UCC/UCC-1.1.0-GCCcore-12.2.0.eb (module: UCC/1.1.0-GCCcore-12.2.0)\n * [x] $CFGS/o/OpenMPI/OpenMPI-4.1.4-GCC-12.2.0.eb (module: OpenMPI/4.1.4-GCC-12.2.0)\n * [x] $CFGS/g/gompi/gompi-2022b.eb (module: gompi/2022b)\n * [x] $CFGS/f/FFTW.MPI/FFTW.MPI-3.3.10-gompi-2022b.eb (module: FFTW.MPI/3.3.10-gompi-2022b)\n * [x] $CFGS/s/ScaLAPACK/ScaLAPACK-2.2.0-gompi-2022b-fb.eb (module: ScaLAPACK/2.2.0-gompi-2022b-fb)\n * [x] $CFGS/f/foss/foss-2022b.eb (module: foss/2022b)\n * [x] $CFGS/h/HDF5/HDF5-1.14.0-gompi-2022b.eb (module: HDF5/1.14.0-gompi-2022b)\n * [ ] $CFGS/n/netCDF/netCDF-4.9.0-gompi-2022b.eb (module: netCDF/4.9.0-gompi-2022b)\n * [ ] $CFGS/n/netCDF-Fortran/netCDF-Fortran-4.6.0-gompi-2022b.eb (module: netCDF-Fortran/4.6.0-gompi-2022b)\n * [ ] $CFGS/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb (module: WRF/4.4.1-foss-2022b-dmpar)\n== Temporary log file(s) /tmp/eb-n67uls6o/easybuild-2r30g117.log* have been removed.\n== Temporary directory /tmp/eb-n67uls6o has been removed.\n
                "},{"location":"typical-workflow-example/#installing-a-software-stack","title":"Installing a software stack","text":"

                To make EasyBuild build and install WRF, including all of its dependencies, a single command is sufficient.

                By using the --robot/-r (see Enabling dependency resolution, --robot / -r and --robot-paths) command line option, we enable dependency resolution such that the entire software stack is handled:

                $ eb WRF-4.4.1-foss-2022b-dmpar.eb --robot\n== temporary log file in case of crash /tmp/eb-LfQa8b/easybuild-TBXLTy.log\n== resolving dependencies ...\n== processing EasyBuild easyconfig /home/example/.local/easybuild/software/EasyBuild/4.8.0/easybuild/easyconfigs/w/WRF/WRF-4.4.1-foss-2022b-dmpar.eb\n== building and installing ncurses/6.3-GCCcore-12.2.0...\n[...]\n== building and installing tcsh/6.20.00-GCCcore-12.2.0...\n[...]\n== building and installing CMake/3.24.3-GCCcore-12.2.0...\n[...]\n== building and installing JasPer/4.0.0-GCCcore-12.2.0...\n[...]\n== building and installing pkg-config/0.29.2-GCCcore-12.2.0...\n[...]\n== building and installing Doxygen/1.9.5-GCCcore-12.2.0...\n[...]\n== building and installing cURL/7.86.0-GCCcore-12.2.0...\n[...]\n== building and installing Szip/2.1.1-GCCcore-12.2.0...\n[...]\n== building and installing HDF5/1.14.0-gompi-2022b...\n[...]\n== building and installing netCDF/4.9.0-foss-2022b...\n[...]\n== building and installing netCDF-Fortran/4.6.0-foss-2022b...\n[...]\n== building and installing WRF/4.4.1-foss-2022b-dmpar...\n[...]\n== Build succeeded for 12 out of 12\n== Temporary log file(s) /tmp/eb-LfQa8b/easybuild-TBXLTy.log* have been removed.\n== Temporary directory /tmp/eb-LfQa8b has been removed.\n

                Once the installation has succeeded, modules will be available for WRF and all of its dependencies:

                $ module load WRF/4.4.1-foss-2022b-dmpar\n$ module list\n\nCurrently Loaded Modules:\n  1) EasyBuild/4.8.0                    18) OpenBLAS/0.3.21-GCC-12.2.0\n  2) GCCcore/12.2.0                     19) FlexiBLAS/3.2.1-GCC-12.2.0\n  3) zlib/1.2.12-GCCcore-12.2.0         20) FFTW/3.3.10-GCC-12.2.0 foss/2018b\n  4) binutils/2.39-GCCcore-12.2.0       21) gompi/2022b\n  5) GCC/12.2.0                         22) FFTW.MPI/3.3.10-gompi-2022b\n  6) numactl/2.0.16-GCCcore-12.2.0      23) foss/2022b\n  7) XZ/5.2.7-GCCcore-12.2.0            24) JasPer/4.0.0-GCCcore-12.2.0\n  8) libxml2/2.10.3-GCCcore-12.2.0      25) Szip/2.1.1-GCCcore-12.2.0\n  9) libpciaccess/0.17-GCCcore-12.2.0   26) HDF5/1.14.0-gompi-2022b\n 10) hwloc/2.8.0-GCCcore-12.2.0         27) cURL/7.86.0-GCCcore-12.2.0\n 11) OpenSSL/1.1                        28) gzip/1.12-GCCcore-12.2.0\n 12) libevent/2.1.12-GCCcore-12.2.0     29) lz4/1.9.4-GCCcore-12.2.0\n 13) UCX/1.13.1-GCCcore-12.2.0          30) zstd/1.5.2-GCCcore-12.2.0\n 14) libfabric/1.16.1-GCCcore-12.2.0    31) bzip2/1.0.8-GCCcore-12.2.0\n 15) PMIx/4.2.2-GCCcore-12.2.0          32) netCDF/4.9.0-gompi-2022b\n 16) UCC/1.1.0-GCCcore-12.2.0           33) netCDF-Fortran/4.6.0-gompi-2022b\n 17) OpenMPI/4.1.4-GCC-12.2.0           34) WRF/4.4.1-foss-2022b-dmpar\n

                For more information, see also Using EasyBuild.

                "},{"location":"unit-tests/","title":"Unit tests","text":"

                Since EasyBuild v1.0, an extensive suite of unit tests has been implemented. The unit tests have become an indispensable factor in keeping EasyBuild stable and backward-compatible during development.

                We refer to the available tests as unit tests, even though they may not be unit tests in the strict sense of the word. Some tests are actually end-to-end tests or integration tests, see also https://en.wikipedia.org/wiki/Software_testing#Testing_levels.

                Following the test-driven development paradigm, additional unit tests are implemented when new features are added or when bugs are uncovered (and fixed).

                "},{"location":"unit-tests/#unit_tests_what","title":"What the unit tests are not","text":"

                Each of the EasyBuild unit tests aim to test a specific characteristic of EasyBuild, e.g., a configuration option, a particular function or method in the EasyBuild framework, some specific feature, how EasyBuild handles a particular type of input, etc.

                The unit tests do not test the build and installation process of particular supported software packages (other than a handful of toy ones included in the tests themselves), let alone test the software installations obtained using EasyBuild themselves.

                Each stable EasyBuild release is subjected to a (time- and resource-consuming) regression test, however, which is out of scope here.

                "},{"location":"unit-tests/#unit_tests_suites","title":"Available unit test suites","text":"

                Three different unit test suites are available for EasyBuild, each of which tied to one of the EasyBuild code repositories on GitHub: EasyBuild framework, easyblocks, easyconfigs.

                "},{"location":"unit-tests/#unit_tests_framework","title":"EasyBuild framework unit tests","text":"

                The unit test suite for the EasyBuild framework is by far the most extensive one, in terms of code size, coverage and the amount of effort that is put into it.

                These tests probe the functionality provided by the EasyBuild framework, ranging from standard operation (building and installing software, and generating module files) to specific configuration options, selected functional aspects, optional features and edge cases.

                At the time of writing (EasyBuild v2.0), more than 250 tests were implemented, organised in 28 subgroups.

                Running the full EasyBuild framework unit test suite takes about 15-40 minutes, depending on your system resources and testing configuration.

                "},{"location":"unit-tests/#unit_tests_easyblocks","title":"easyblocks unit tests","text":"

                The easyblocks unit test suite consists of a coupe of light-weight tests that are run per easyblock:

                • initialising the easyblock, to check for Python syntax errors and faulty imports
                • checking for the use of deprecated (or no longer supported) functionality

                Running the full easyblocks unit test suite takes less than one minute.

                "},{"location":"unit-tests/#unit_tests_easyconfigs","title":"easyconfigs unit tests","text":"

                The easyconfigs unit test suite consists a couple of tests for each of the available easyconfig files, followed by two large-scale overall tests.

                For each of the available easyconfig files, the following aspects are tested:

                • parsing the easyconfig file, to make sure no syntax errors are present
                • verifying that the filename matches the contents of the easyconfig file (software name/version, version suffix and toolchain name/version)
                • creating an EasyBlock instance using the parsed easyconfig, to check whether mandatory easyconfig parameters are defined
                • ensuring that all required patch files are available (right next to the easyconfig file)
                • making sure that the specified sanity check paths adhere to the requirements, i.e. only (and both) the files/dirs keys are listed, with the value for either one being non-empty
                • checking for the use of deprecated (or no longer supported) functionality
                • verifying whether eb --check-style on the easyconfig file passes
                • ensuring SHA256 checksums are included in new or changed easyconfig files

                If these tests pass for each and every available easyconfig file, two additional overall tests are run, i.e.:

                • ensuring that an easyconfig file is available for each specified dependency
                • checking whether any version conflicts occur in the dependency graph for each easyconfig file

                Running the full easyconfigs unit test suite should only take a couple of minutes.

                "},{"location":"unit-tests/#unit_tests_applications","title":"Applications","text":"

                The unit test suites are automatically triggered for:

                • each pull request (update)
                • each (set of) change(s) that is merged in (usually via a pull request)

                The status of the different unit test suites is tracked separately for the main and develop branches of the EasyBuild code repositories:

                • main (stable, latest EasyBuild release)
                • develop (development, potentially unstable)

                We strictly adhere to the policy of only merging pull requests for which the corresponding (latest) run of the full unit test suite passes successfully.

                "},{"location":"unit-tests/#unit_tests_usage","title":"Usage","text":"

                Using the unit tests is deliberately kept very simple.

                "},{"location":"unit-tests/#unit_tests_config","title":"Configuration","text":"

                Since EasyBuild v2.0, the unit test suites are fully isolated from any (system- or user-level) EasyBuild configuration which is in place in the environment where the tests are being run.

                The easyblocks and easyconfigs unit test suite are oblivious to any defined configuration options.

                For the EasyBuild framework unit tests, all configuration files and EASYBUILD_-prefixed environment variables are ignored.

                To enable running the EasyBuild framework unit test suite under a specific configuration that differs from the default, environment variables can be defined for each of the configuration options supported by EasyBuild.

                Before starting a set of EasyBuild framework tests, all defined environment variables for which the name is prefixed by TEST_EASYBUILD_ will be injected into the test environment as environment variables prefixed with EASYBUILD_ instead. Thus, to set a particular configuration option --foo, you should define the environment variable $TEST_EASYBUILD_FOO.

                "},{"location":"unit-tests/#unit_tests_modules_tool","title":"Modules tool to use for running tests","text":"

                One particular configuration option worth mentioning explicitly is the modules tool that is to be used by the EasyBuild framework, which is by default the traditional Tcl/C environment modules, referred to as EnvironmentModulesC in EasyBuild configuration terms (see eb --help and eb --avail-modules-tools).

                To run the EasyBuild framework unit tests with a particular modules tool, simply define the $TEST_EASYBUILD_MODULES_TOOL environment variable with the corresponding value. For example::

                export TEST_EASYBUILD_MODULES_TOOL=Lmod\n

                Just like for EasyBuild itself, the EasyBuild framework unit test suite expects that the modules tool binary/script (modulecmd, modulecmd.tcl or lmod) is available via $PATH, see Required modules tool.

                "},{"location":"unit-tests/#unit_tests_github_token","title":"Installing a GitHub token for the unit tests","text":"

                Some of the EasyBuild framework unit tests require that a GitHub token is in place for the easybuild_test user, in a non-encrypted keyring (so it can be obtained without having to provide a password).

                This can be done as follows (copy-paste the GitHub token at the Password: prompt)::

                $ python\n>>> import getpass, keyring\n>>> keyring.set_keyring(keyring.backends.file.PlaintextKeyring())\n>>> keyring.set_password('github_token', 'easybuild_test', getpass.getpass())\nPassword:\n>>> exit()\n

                More details about obtaining and installing a GitHub token in your keyring are available at https://github.com/easybuilders/easybuild/wiki/Review-process-for-contributions#setting-things-up.

                "},{"location":"unit-tests/#unit_tests_running","title":"Running","text":"

                To run a full unit test suite, simply run the respective suite Python module.

                • EasyBuild framework: python -m test.framework.suite
                • easyblocks: python -m test.easyblocks.suite
                • easyconfigs: python -m test.easyconfigs.suite

                For the EasyBuild framework unit tests, each of the test subgroups can be run separately via a dedicated Python module other than suite, to focus on testing a particular aspect. See https://github.com/easybuilders/easybuild-framework/tree/main/test/framework for an overview of the available Python modules corresponding to subgroups of tests (note: __init__.py and utilities.py are not such modules).

                For example, to run the full EasyBuild framework unit test suite using Lmod as a modules tool::

                export TEST_EASYBUILD_MODULES_TOOL=Lmod\npython -m test.framework.suite\n

                To only run the subgroup of tests for filetools::

                python -m test.framework.filetools\n

                Since EasyBuild v2.8.2, tests can be filtered by name. Simply add the string to filter with to the test command.

                For example, to run only the tests containing the word load in the subgroup modules, run::

                $ python -m test.framework.modules load\n\nFiltered ModulesTest tests using 'load', retained 2/19 tests: test_load, test_load_in_hierarchy\n..\n----------------------------------------------------------------------\nRan 2 tests in 2.688s\n\nOK\n

                This works with as many filter words as you want to use. For example, to run every test method in modules containing the words load or bash:

                python -m test.framework.modules load bash\n
                "},{"location":"unit-tests/#unit_tests_results","title":"Results","text":"

                The test results will be printed as the unit test suite progresses, potentially producing a lot of information for failing tests to help determine the cause of the failure. It may thus be useful to capture the output for later inspection, for example::

                python -m test.framework.suite 2>&1 | tee eb_test.log\n

                Note

                Some tests will be skipped deliberately, because of missing optional dependencies or other provisions, for example a GitHub token. The output of the unit tests will clearly indicate which tests were skipped.

                "},{"location":"unit-tests/#unit_tests_examples","title":"Examples","text":"

                A successful run of the EasyBuild framework test suite, without skipped tests::

                $ python -m test.framework.suite\nRunning tests...\n----------------------------------------------------------------------\n..........................................................................................................................................................................................................................................................\n----------------------------------------------------------------------\nRan 250 tests in 1404.897s\n\nOK\n

                A run with a couple of deliberately skipped tests and a single failed test (denoted by F), along with the corresponding traceback::

                $ python -m test.framework.suite\nRunning tests...\n----------------------------------------------------------------------\n................Skipping test_from_pr, no GitHub token available?\n.Skipping test_from_pr, no GitHub token available?\n......F..............(skipping GitRepository test)\n..(skipping SvnRepository test)\n..................................................................................................................Skipping test_fetch_easyconfigs_from_pr, no GitHub token available?\n.Skipping test_read, no GitHub token available?\n.Skipping test_read_api, no GitHub token available?\n.Skipping test_walk, no GitHub token available?\n.............................................................................................\n======================================================================\nFAIL: Test listing easyblock hierarchy.\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"/tmp/example/easybuild-framework/test/framework/options.py\", line 544, in test_list_easyblocks\n    self.assertTrue(re.search(pat, outtxt), \"Pattern '%s' is found in output of --list-easyblocks: %s\" % (pat, outtxt))\nAssertionError: Pattern 'EasyBlock\\n' is found in output of --list-easyblocks:\n\n----------------------------------------------------------------------\nRan 250 tests in 2641.200s\n\nFAILED (failures=1)\nERROR: Not all tests were successful.\nLog available at /tmp/example/easybuild-dy2ZTx/easybuild-tests-l0doQ2.log\n
                "},{"location":"useful-scripts/","title":"Useful scripts","text":"

                A couple of useful stand-alone scripts are provided along with the EasyBuild framework.

                The latest stable version of these scripts is available in the easybuild-framework GitHub repository at https://github.com/easybuilders/easybuild-framework/tree/main/easybuild/scripts.

                This documentation provides some information on how to use these scripts.

                "},{"location":"useful-scripts/#install_EasyBuild_develop_script","title":"install-EasyBuild-develop.sh","text":"

                download from: https://github.com/easybuilders/easybuild-framework/blob/main/easybuild/scripts/install-EasyBuild-develop.sh

                A script to set up an EasyBuild development environment. For more information, see Installation of latest development version using provided script.

                "},{"location":"useful-scripts/#clean_gists_script","title":"clean_gists.py","text":"

                download from: https://github.com/easybuilders/easybuild-framework/blob/main/easybuild/scripts/clean_gists.py

                When using --from-pr in combination with --upload-test-report (see https://github.com/easybuilders/easybuild/wiki/Review-process-for-contributions#automated-testing-of-easyconfigs-pull-requests), you can end up with a bunch of gists in your GitHub account containing test reports, that may no longer be relevant.

                To help with that the clean_gists.py script is available, to clean up gists containing test reports:

                • clean_gists.py -p: delete all gists from closed pull requests (default action if no other action is specified)
                • clean_gists.py -a: delete all gists generated by Easybuild
                • clean_gists.py -o: delete all gists without a matching pull request (created by using --upload-test-report without --from-pr)

                By default, the script will use the same GitHub account that Easybuild uses (see --github-user); to specify a different GitHub account, use -g.

                The script expects that a valid GitHub token for the used GitHub account username is available, see Installing a GitHub token.

                "},{"location":"using-easybuild/","title":"Using the EasyBuild command line","text":"

                Basic usage of EasyBuild is described in the following sections, covering the most important range of topics if you are new to EasyBuild.

                eb is EasyBuild\u2019s main command line tool, to interact with the EasyBuild framework and hereby the most common command line options are being documented.

                "},{"location":"using-easybuild/#specifying_easyconfigs","title":"Specifying what to install","text":"

                To instruct EasyBuild which software packages it should build/install and which build parameters it should use, one or more easyconfig files must be specified.

                This can be done in a number of ways:

                • by providing a single easyconfig file
                • via command line options
                • by providing a set of easyconfig files
                • using eb --from-pr

                Whenever EasyBuild searches for explicitly specified easyconfig files, it considers a couple of locations, i.e. (in order of preference):

                • (i) the local working directory
                • (ii) the robot search path (see robot search path)
                • (iii) the path to easyconfig files that are part of the active EasyBuild installation (which is included in the default robot search path)

                These locations are only considered for easyconfig files that are specified only by filename or using a relative path, not for easyconfig files that are specified via an absolute path. The dependencies are resolved using the robot search path (see robot search path).

                Note

                For easyconfig files specified on the eb command line, the full robot search path is only considered since EasyBuild v2.0.0. Earlier versions only considered the local working directory and the easyconfig files that are part of the active EasyBuild installation for explicitly specified easyconfig files.

                "},{"location":"using-easybuild/#specifying_easyconfigs_single","title":"By providing a single easyconfig file","text":"

                The most basic usage is to simply provide the name of an easyconfig file to the eb command. EasyBuild will (try and) locate the easyconfig file, and perform the installation as specified by that easyconfig file.

                For example, to build and install HPL using the foss/2021b toolchain:

                $ eb HPL-2.3-foss-2021b.eb --robot\n[...]\n== building and installing GCC/11.2.0...\n[...]\n== building and installing foss/2021b...\n[...]\n== building and installing HPL/2.3-foss-2021b...\n== fetching files...\n== creating build dir, resetting environment...\n== unpacking...\n== patching...\n== preparing...\n== configuring...\n== building...\n== testing...\n== installing...\n== taking care of extensions...\n== packaging...\n== postprocessing...\n== sanity checking...\n== cleaning up...\n== creating module...\n== COMPLETED: Installation ended successfully\n== Results of the build can be found in the log file /home/example/.local/easybuild/software/HPL/2.3-foss-2021b/easybuild/easybuild-HPL-2.3-20221027.223237.log\n== Build succeeded for 9 out of 9\n

                Then, we can actually load the freshly installed HPL module:

                $ module load HPL/2.3-foss-2021b\n$ which xhpl\n/home/example/.local/easybuild/software/HPL/2.3-foss-2021b/bin/xhpl\n

                All easyconfig file names' suffixes are .eb and follow format: <name>-<version>-<toolchain><versionsuffix>

                This is a crucial design aspect, since the dependency resolution mechanism (see robot) relies upon this convention.

                Tip

                You may wish to modify the installation prefix (e.g., using --prefix or by defining $EASYBUILD_PREFIX), in order to redefine the build/install/source path prefix to be used; default value is: $HOME/.local/easybuild; see Configuration

                Note

                If you are not familiar with modules (module command), see Overview of basic module commands

                "},{"location":"using-easybuild/#specifying_easyconfigs_command_line","title":"Via command line options","text":"

                An alternative approach is to only use command line options to specify which software to build. Refer to the Software search and build options section in the eb --help output for an overview of the available command line options for this purpose (see also --help).

                Here is how to build and install last version of HPL (that EasyBuild is aware of) using the foss/2021b toolchain:

                $ eb --software-name=HPL --toolchain=foss,2021b\n[...]\n== building and installing HPL/2.3-foss-2021b...\n[...]\n== COMPLETED: Installation ended successfully\n[...]\n

                At this point, a module HPL/2.3-foss-2021b should have been installed.

                "},{"location":"using-easybuild/#specifying_easyconfigs_set_of_easyconfigs","title":"By providing a set of easyconfig files","text":"

                Multiple easyconfig files can be provided as well, either directly or by specifying a directory that contains easyconfig files.

                For example, to build and install both HPL and GCC with a single command, simply list the easyconfigs for both on the eb command line (note that HPL is not being reinstalled, since a matching module is already available):

                $ eb HPL-2.3-foss-2021b.eb GCC-12.2.0.eb\n[...]\n== HPL/2.3-foss-2021b is already installed (module found), skipping\n[...]\n== building and installing GCC/12.2.0...\n[...]\n== Build succeeded for 1 out of 1\n[...]\n

                When one or more directories are provided, EasyBuild will (recursively) traverse them to find easyconfig files. For example:

                $ find set_of_easyconfigs/ -type f\nset_of_easyconfigs/GCC-12.2.0.eb\nset_of_easyconfigs/foo.txt\nset_of_easyconfigs/tools/HPL-2.3-foss-2021b.eb\n
                $ eb set_of_easyconfigs/\n== temporary log file in case of crash /tmp/easybuild-1yxCvv/easybuild-NeNmZr.log\n== HPL/2.3-foss-2021b is already installed (module found), skipping\n== GCC/12.2.0 is already installed (module found), skipping\n== No easyconfigs left to be built.\n== Build succeeded for 0 out of 0\n

                Note

                EasyBuild will only pick up the files which end with .eb -- anything else will be ignored.

                Tip

                Calling EasyBuild is designed as an idempotent operation; if a module is available that matches with an provided easyconfig file, the installation will simply be skipped.

                "},{"location":"using-easybuild/#commonly-used-command-line-options","title":"Commonly used command line options","text":""},{"location":"using-easybuild/#command-line-help","title":"Command line help","text":"

                (--help, -H)

                Detailed information about the usage of the eb command is available via the --help, -H, -h help options.

                Note

                --help / -H spit out the long help info (i.e. including long option names), -h only includes short option names.

                Tip

                This is the best way to query for certain information, esp. recent features, since this is in sync with the actual EasyBuild version being used.

                "},{"location":"using-easybuild/#report-version","title":"Report version","text":"

                (--version)

                You can query which EasyBuild version you are using with --version:

                $ eb --version\nThis is EasyBuild 4.6.2 (framework: 4.6.2, easyblocks: 4.6.2) on host example.local.\n

                Tip

                Asking EasyBuild to print own its version is a quick way to ensure that $PYTHONPATH is set up correctly, so that the entire EasyBuild installation (framework and easyblocks) is available.

                "},{"location":"using-easybuild/#list_toolchains","title":"List of known toolchains","text":"

                (--list-toolchains)

                For an overview of known toolchains, use eb --list-toolchains.

                The complete table of available toolchains is available here.

                "},{"location":"using-easybuild/#list_easyblocks","title":"List of available easyblocks","text":"

                (--list-easyblocks)

                You can obtain a list of available easyblocks via --list-easyblocks.

                The --list-easyblocks command line option prints the easyblocks in a hierarchical way, showing the inheritance patterns, with the \"base\" easyblock class EasyBlock on top.

                Software-specific easyblocks have a name that starts with EB_; the ones that do not are generic easyblocks. (see easyblocks for the distinction between both types of easyblocks).

                For example, a list of easyblocks can be obtained with:

                eb --list-easyblocks\n

                To see more details about the available easyblocks, i.e., in which Python module the class is defined, and where it is located, use --list-easyblocks=detailed.

                "},{"location":"using-easybuild/#avail_easyconfig_params","title":"All available easyconfig parameters","text":"

                (--avail-easyconfig-params / -a)

                EasyBuild provides a significant amount of easyconfig parameters. An overview of all available easyconfig parameters can be obtained via eb --avail-easyconfig-params, or eb -a for short.

                See available easyconfig parameters for more information, the supported parameters are a very rich set.

                Combine -a with --easyblock/-e to include parameters that are specific to a particular easyblock.

                Overview of easyconfig parameters, including those specific to the easyblock for WRF (indicated with (*)):
                $ eb -a -e EB_WRF\n\nAvailable easyconfig parameters (* indicates specific for the EB_WRF EasyBlock)\nMANDATORY\n---------\nbuildtype(*):         Specify the type of build (serial, smpar (OpenMP), dmpar (MPI), dm+sm (hybrid OpenMP/MPI)). (default: None)\ndescription:          A short description of the software (default: None)\ndocurls:              List of urls with documentation of the software (not necessarily on homepage) (default: None)\nhomepage:             The homepage of the software (default: None)\nname:                 Name of software (default: None)\nsoftware_license:     Software license (default: None)\nsoftware_license_urls:        List of software license locations (default: None)\ntoolchain:            Name and version of toolchain (default: None)\nversion:              Version of software (default: None)\n\nEASYBLOCK-SPECIFIC\n------------------\nrewriteopts(*):       Replace -O3 with CFLAGS/FFLAGS (default: True)\nruntest(*):           Build and run WRF tests (default: True)\n\nTOOLCHAIN\n---------\nonlytcmod:            Boolean/string to indicate if the toolchain should only load the environment with module (True) or also set all other variables (False) like compiler CC etc (if string: comma separated list of variables that will be ignored). (default: False)\ntoolchainopts:        Extra options for compilers (default: None)\n\nBUILD\n-----\nbuildopts:            Extra options passed to make step (default already has -j X) (default: )\nchecksums:            Checksums for sources and patches (default: [])\nconfigopts:           Extra options passed to configure (default already has --prefix) (default: )\neasyblock:            EasyBlock to use for building (default: ConfigureMake)\neasybuild_version:    EasyBuild-version this spec-file was written for (default: None)\ninstallopts:          Extra options for installation (default: )\nmaxparallel:          Max degree of parallelism (default: None)\nparallel:             Degree of parallelism for e.g. make (default: based on the number of cores, active cpuset and restrictions in ulimit) (default: None)\npatches:              List of patches to apply (default: [])\npostinstallcmds:      Commands to run after the install step. (default: [])\nprebuildopts:         Extra options pre-passed to build command. (default: )\npreconfigopts:        Extra options pre-passed to configure. (default: )\npreinstallopts:       Extra prefix options for installation. (default: )\nruntest(*):           Indicates if a test should be run after make; should specify argument after make (for e.g.,\"test\" for make test) (default: None)\nsanity_check_commands:        format: [(name, options)] e.g. [('gzip','-h')]. Using a non-tuple is equivalent to (name, '-h') (default: [])\nsanity_check_paths:   List of files and directories to check (format: {'files':<list>, 'dirs':<list>}) (default: {})\nskip:                 Skip existing software (default: False)\nskipsteps:            Skip these steps (default: [])\nsource_urls:          List of URLs for source files (default: [])\nsources:              List of source files (default: [])\nstop:                 Keyword to halt the build process after a certain step. (default: None)\ntests:                List of test-scripts to run after install. A test script should return a non-zero exit status to fail (default: [])\nunpack_options:       Extra options for unpacking source (default: None)\nunwanted_env_vars:    List of environment variables that shouldn't be set during build (default: [])\nversionprefix:        Additional prefix for software version (placed before version and toolchain name) (default: )\nversionsuffix:        Additional suffix for software version (placed after toolchain name) (default: )\n\nFILE-MANAGEMENT\n---------------\nbuildininstalldir:    Boolean to build (True) or not build (False) in the installation directory (default: False)\ncleanupoldbuild:      Boolean to remove (True) or backup (False) the previous build directory with identical name or not. (default: True)\ncleanupoldinstall:    Boolean to remove (True) or backup (False) the previous install directory with identical name or not. (default: True)\ndontcreateinstalldir: Boolean to create (False) or not create (True) the install directory (default: False)\nkeeppreviousinstall:  Boolean to keep the previous installation with identical name. Experts only! (default: False)\nkeepsymlinks:         Boolean to determine whether symlinks are to be kept during copying or if the content of the files pointed to should be copied (default: False)\nstart_dir:            Path to start the make in. If the path is absolute, use that path. If not, this is added to the guessed path. (default: None)\n\nDEPENDENCIES\n------------\nallow_system_deps:    Allow listed system dependencies (format: (<name>, <version>)) (default: [])\nbuilddependencies:    List of build dependencies (default: [])\ndependencies:         List of dependencies (default: [])\nhiddendependencies:   List of dependencies available as hidden modules (default: [])\nosdependencies:               OS dependencies that should be present on the system (default: [])\n\nLICENSE\n-------\ngroup:                Name of the user group for which the software should be available (default: None)\nkey:                  Key for installing software (default: None)\nlicense_file:         License file for software (default: None)\nlicense_server:       License server for software (default: None)\nlicense_server_port:  Port for license server (default: None)\n\nEXTENSIONS\n----------\nexts_classmap:        Map of extension name to class for handling build and installation. (default: {})\nexts_defaultclass:    List of module for and name of the default extension class (default: None)\nexts_filter:          Extension filter details: template for cmd and input to cmd (templates for name, version and src). (default: None)\nexts_list:            List with extensions added to the base installation (default: [])\n\nMODULES\n-------\ninclude_modpath_extensions: Include $MODULEPATH extensions specified by module naming scheme. (default: True)\nmodaliases:           Aliases to be defined in module file (default: {})\nmodextrapaths:        Extra paths to be prepended in module file (default: {})\nmodextravars:         Extra environment variables to be added to module file (default: {})\nmodloadmsg:           Message that should be printed when generated module is loaded (default: {})\nmodtclfooter:         Footer to include in generated module file (Tcl syntax) (default: )\nmoduleclass:          Module class to be used for this software (default: base)\nmoduleforceunload:    Force unload of all modules when loading the extension (default: False)\nmoduleloadnoconflict: Don't check for conflicts, unload other versions instead  (default: False)\n\nOTHER\n-----\nbuildstats:           A list of dicts with build statistics (default: None)\n
                "},{"location":"using-easybuild/#enable-debug-logging","title":"Enable debug logging","text":"

                (--debug / -d)

                Use eb --debug/-d to enable debug logging, to include all details of how EasyBuild performed a build in the log file:

                eb HPL-2.3-foss-2021b.eb --debug\n

                Tip

                You may enable this by default via adding debug = True in your EasyBuild configuration file.

                Note

                Debug log files are significantly larger than non-debug logs, beware!

                "},{"location":"using-easybuild/#rebuild_option","title":"Rebuild installation","text":"

                (--rebuild)

                Use eb --rebuild to rebuild a given easyconfig/module.

                Warning

                Use with care, since the reinstallation of existing modules will be done without requesting confirmation first!

                Tip

                Combine --rebuild with --dry-run to get a good view on which installations will be rebuilt (see also Getting an overview of planned installations).

                Note

                To create a backup of existing modules that are regenerated when --rebuild is used, use --backup-modules (see also Backing up of existing modules).

                "},{"location":"using-easybuild/#force_option","title":"Forced reinstallation","text":"

                (--force / -f)

                Use eb --force/-f to force the reinstallation of a given easyconfig/module. The behavior of --force is the same as --rebuild and --ignore-osdeps.

                Warning

                Use with care, since the reinstallation of existing modules will be done without requesting confirmation first!

                Tip

                Combine --force with --dry-run to get a good view on which installations will be forced (see also Getting an overview of planned installations).

                Note

                To create a backup of existing modules that are regenerated when --rebuild is used, use --backup-modules (see also Backing up of existing modules).

                "},{"location":"using-easybuild/#searching_for_easyconfigs","title":"Searching for easyconfigs","text":"

                (--search / -S)

                Searching for available easyconfig files can be done using the --search (long output) and -S (short output) command line options. All easyconfig files available in the robot search path are considered (see robot search path), and searching is done case-insensitive.

                For example, to see which easyconfig files are available for the software package named Mesquite:

                $ eb --search mesquite\n== temporary log file in case of crash /tmp/eb-_TYdTf/easybuild-iRJ2vb.log\n== Searching (case-insensitive) for 'mesquite' in /home/example/easybuild-easyconfigs/easybuild/easyconfigs\n* /home/example/easybuild-easyconfigs/easybuild/easyconfigs/m/Mesquite/Mesquite-2.3.0-GCCcore-8.3.0.eb\n

                The same query with -S is more readable, when there is a joint path that can be collapsed to a variable like $CFGS1:

                $ eb -S mesquite\n== temporary log file in case of crash /tmp/eb-5diJjn/easybuild-nUXlkj.log\n== Searching (case-insensitive) for 'mesquite' in /home/example/easybuild-easyconfigs/easybuild/easyconfigs\nCFGS1=/home/example/easybuild-easyconfigs/easybuild/easyconfigs/m/Mesquite\n* $CFGS1/Mesquite-2.3.0-GCCcore-8.3.0.eb\n

                For more specific searching, a regular expression pattern can be supplied (since EasyBuild v2.1.1).

                For example, to search which easyconfig files are available for GCC v11.x, without listing easyconfig files that use GCC v11.x as a toolchain:

                $ eb -S ^GCC-11.\n== temporary log file in case of crash /tmp/eb-PpwTwm/easybuild-b8yrOG.log\n== Searching (case-insensitive) for '^GCC-11.' in /home/example/easybuild-easyconfigs/easybuild/easyconfigs\nCFGS1=/home/example/easybuild-easyconfigs/easybuild/easyconfigs/g/GCC\n * $CFGS1/GCC-11.1.0.eb\n * $CFGS1/GCC-11.2.0.eb\n * $CFGS1/GCC-11.3.0.eb\n

                Or, to find all easyconfig files for matplotlib versions 3.5.1 and 3.5.2 that use the intel toolchain:

                $ eb -S '^matplotlib-3.5.[12].*intel'\n== temporary log file in case of crash /tmp/eb-Dv5LEJ/easybuild-xpGGSF.log\n== Searching (case-insensitive) for '^matplotlib-3.5.[12].*intel' in /home/example/easybuild-easyconfigs/easybuild/easyconfigs\nCFGS1=/home/example/easybuild-easyconfigs/easybuild/easyconfigs/m/matplotlib\n * $CFGS1/matplotlib-3.5.1-intel-2020b.eb\n * $CFGS1/matplotlib-3.5.2-intel-2022a.eb\n
                "},{"location":"using-easybuild/#use_robot","title":"Enabling dependency resolution","text":"

                (--robot / -r and --robot-paths)

                EasyBuild supports installing an entire software stack, including the required toolchain if needed, with a single eb invocation.

                To enable dependency resolution, use the --robot command line option (or -r for short):

                $ eb binutils-2.39.eb --robot\n[...]\n== building and installing zlib/1.2.12...\n[...]\n== building and installing M4/1.4.19...\n[...]\n== building and installing Bison/3.8.2...\n[...]\n== building and installing flex/2.6.4...\n[...]\n== building and installing binutils/2.39...\n[...]\n== Build succeeded for 5 out of 5\n

                The dependency resolution mechanism will construct a full dependency graph for the software package(s) being installed, after which a list of dependencies is composed for which no module is available yet. Each of the retained dependencies will then be built and installed, in the required order as indicated by the dependency graph.

                Tip

                Using --robot is particularly useful for software packages that have an extensive list of dependencies, or when reinstalling software using a different compiler toolchain (you can use the --try-toolchain command line option in combination with --robot).

                Warning

                Unless dependency resolution is enabled, EasyBuid requires that modules are available for every dependency. If --robot is not used and one or more modules are missing, eb will exit with an error stating that a module for a particular dependency could not be found. For example:

                Missing modules for dependencies (use --robot?): zlib/1.2.12\n
                "},{"location":"using-easybuild/#robot_search_path","title":"Searching for easyconfigs: the robot search path","text":"

                For each dependency that does not have a matching module installed yet, EasyBuild requires a corresponding easyconfig file. If no such easyconfig file was specified on the eb command line, the dependency resolution mechanism will try to locate one in the robot search path.

                Searching for easyconfigs is done based on filename (see also What is an easyconfig (file)?), with filenames being derived from the dependency specification (i.e. software name/version, toolchain and version suffix). For each entry in the robot search path, a couple of different filepaths are considered, mostly determined by the software name.

                For example, when looking for an easyconfig for OpenMPI version 4.1.4 and version suffix -test with toolchain GCC/11.3.0, the following filepaths are considered (relative to each entry in the robot search path):

                • OpenMPI/4.1.4-GCC-11.3.0-test.eb
                • OpenMPI/OpenMPI-4.1.4-GCC-11.3.0-test.eb
                • o/OpenMPI/OpenMPI-4.1.4-GCC-11.3.0-test.eb
                • OpenMPI-4.1.4-GCC-11.3.0-test.eb

                Note

                Sometimes easyconfig files are needed even when the modules for the dependencies are already available, i.e., whenever the information provided by the dependency specification (software name/version, toolchain and version suffix) is not sufficient. This is the case when using --dry-run to construct the complete dependency graph, or when the active module naming scheme requires some additional information (e.g., the moduleclass).

                Warning

                If EasyBuild is unable to locate required easyconfigs, an appropriate error message will be shown. For example:

                Irresolvable dependencies encountered: GCC/4.7.2\n

                or:

                Failed to find easyconfig file 'GCC-4.7.2.eb' when determining module name for: {...}\n
                "},{"location":"using-easybuild/#default-robot-search-path","title":"Default robot search path","text":"

                By default, EasyBuild will only include the collection of easyconfig files that is part of the EasyBuild installation in the robot search path. More specifically, only directories listed in the Python search path (partially specified by the $PYTHONPATH environment variable) that contain a subdirectory named easybuild/easyconfigs are considered part of the robot search path (in the order they are encountered).

                "},{"location":"using-easybuild/#controlling_robot_search_path","title":"Controlling the robot search path","text":"

                To control the robot search path, you can specify a (colon-separated list of) path(s) to --robot/-r and/or --robot-paths (or, equivalently, $EASYBUILD_ROBOT and/or $EASYBUILD_ROBOT_PATHS):

                eb --robot=$PWD:$HOME ...\n

                These two configuration options each serve a particular purpose, and together define the robot search path:

                • --robot, -r:
                  • intended to be used (only) as a command line option to eb (although it can also be defined through another configuration type);
                  • enables the dependency resolution mechanism (which is disabled by default);
                  • optionally a list of paths can be specified, which is included first in the robot search path;
                  • by default, the corresponding list of paths is empty;
                • --robot-paths:
                  • intended to be defined in an EasyBuild configuration file, or via $EASYBUILD_ROBOT_PATHS;
                  • does not enable the dependency resolution mechanism;
                  • the specified list of paths is included last in the robot search path;
                  • by default, only the path to the easyconfig files that are part of the EasyBuild installation is listed;
                  • note: setting this configuration option implies redefining the default robot search path, unless a prepending/appending list of paths is specified, see Prepending/appending to the default robot search path;

                For both options, the list of paths should be specified as a colon-separated (:) list.

                By combining --robot and --robot-paths using the different configuration types (see also Supported configuration types), you have full control over the robot search path: which paths are included, the order of those paths, whether or not the easyconfig files that are part of the EasyBuild installation should be considered, etc.

                A constant named DEFAULT_ROBOT_PATHS is available that can be used (only) in EasyBuild configuration files to refer to the default robot search path, i.e. the path to the easyconfigs that are part of the EasyBuild installation. For more information on using constants in EasyBuild configuration files, see Templates and constants supported in configuration files.

                Tip

                Only use --robot to enable the dependency resolution mechanism; define robot-paths in your EasyBuild configuration file or via $EASYBUILD_ROBOT_PATHS to specify which sets of easyconfig files EasyBuild should consider, and in which order. By means of exception, a path can be specified to --robot to give a specific set of easyconfig files precedence over others, for example when testing modified easyconfig files.

                Note

                The paths specified on the configuration type with the highest order of preference replace any paths specified otherwise, i.e. values are not retained across configuration types. That is: --robot overrides the value in $EASYBUILD_ROBOT, $EASYBUILD_ROBOT_PATHS overrides the robot-paths specification in an EasyBuild configuration file, etc. Of course, the value specified for --robot does not directly affect the value specified for --robot-paths, on any configuration level, and vice versa. For more information on the relation between the different configuration types, see Supported configuration types.

                "},{"location":"using-easybuild/#robot_search_path_prepend_append","title":"Prepending/appending to the default robot search path","text":"

                Prepending or appending to the default robot search path is supported via the --robot-paths configuration option.

                To prepend one or more paths, a list of paths followed by a ':' should be specified.

                Analogously, to append one or more paths, a list of paths preceded by a ':' should be specified.

                For example:

                • \"export EASYBUILD_ROBOT_PATHS=/tmp:\" specifies to prepend /tmp to the robot search path;
                • \"--robot-paths :/tmp:$HOME/test\" specifies to append /tmp and $HOME/test to the robot search path (in that order);
                • \"--robot-paths=/tmp::$HOME/test\" specifies to prepend /tmp and to append $HOME/test to the robot search path;
                "},{"location":"using-easybuild/#example-use-case","title":"Example use case","text":"

                For example, say we want to configure EasyBuild to behave as follows w.r.t. the robot search path:

                • (i) (always) prefer easyconfig files in the archive/repository over the ones that are included in the EasyBuild installation;
                • (ii) consider easyconfig files located in the current directory or home directory first (in that order), before any others;

                Matching setup:

                • satisfy (i) using robot-paths in one of the active EasyBuild configuration files (see also List of configuration files):
                [basic]\nrepositorypath = /home/example/easybuild/easyconfigs_archive\nrobot-paths = %(repositorypath)s:%(DEFAULT_ROBOT_PATHS)s\n
                • satisfy (ii) via --robot on the eb command line:
                eb example.eb --robot $PWD:$HOME\n
                "},{"location":"using-easybuild/#get_an_overview","title":"Getting an overview of planned installations","text":"

                (--dry-run / -D)

                You can do a \"dry-run\" overview by supplying -D/--dry-run:

                $ eb binutils-2.39.eb -D\n== Temporary log file in case of crash /tmp/eb-3lh496ml/easybuild-hxmie76g.log\nDry run: printing build status of easyconfigs and dependencies\nCFGS=/Volumes/work/easybuild-easyconfigs/easybuild/easyconfigs\n * [x] $CFGS/z/zlib/zlib-1.2.12.eb (module: zlib/1.2.12)\n * [x] $CFGS/m/M4/M4-1.4.19.eb (module: M4/1.4.19)\n * [x] $CFGS/b/Bison/Bison-3.8.2.eb (module: Bison/3.8.2)\n * [ ] $CFGS/f/flex/flex-2.6.4.eb (module: flex/2.6.4)\n * [ ] $CFGS/b/binutils/binutils-2.39.eb (module: binutils/2.39)\n

                Note how the different status symbols denote distinct handling states by EasyBuild:

                • [ ] The build is not available, EasyBuild will deliver it
                • [x] The build is available, EasyBuild will skip building this module
                • [F] The build is available, however EasyBuild has been asked to force a rebuild via --force and will do so
                • [R] The build is available, and the application will be rebuilt as request via --rebuild

                Note

                Since EasyBuild v2.4.0, a detailed overview of the build and install procedure that EasyBuild will be execute can be obtained using --extended-dry-run or -x, see Extended dry run.

                "},{"location":"using-easybuild/#eb_missing","title":"Getting an overview of missing installations","text":"

                (--missing-modules / -M)

                Since EasyBuild v3.9.1, you can obtain a list of missing installations (i.e. easyconfigs for which no corresponding environment module file is available yet) using eb --missing-modules (or -eb -M for short):

                $ eb TensorFlow-1.13.1-foss-2019a-Python-3.7.2.eb --missing-modules\n== temporary log file in case of crash /tmp/eb-bjCz9b/easybuild-CSAvhK.log\n\n2 out of 54 required modules missing:\n\n* Bazel/0.20.0-GCCcore-8.2.0 (Bazel-0.20.0-GCCcore-8.2.0.eb)\n* TensorFlow/1.13.1-foss-2019a-Python-3.7.2 (TensorFlow-1.13.1-foss-2019a-Python-3.7.2.eb)\n

                Note that dependency resolution is enabled automatically (i.e., --robot is implied when using --missing-modules or -M).

                "},{"location":"using-easybuild/#tweaking_easyconfigs_using_try","title":"Tweaking existing easyconfig files","text":"

                (--try-*)

                Making minor changes to existing easyconfig files can be done straight from the eb command line. This way, having to manually copying and editing easyconfig files can be avoided.

                Tweaking existing easyconfig files can be done using the --try-* command line options. For each of the software build options that can be used as an alternative to specifying easyconfig file names, a matching --try-X command line options is available:

                • --try-toolchain to try using the toolchain with the given name and version

                  • format: --try-toolchain=<name>,<version>
                  • --try-toolchain-name to try using the latest toolchain version of a toolchain
                  • --try-toolchain-version to try using a different toolchain version
                • --try-software-version to try building a different software version

                • --try-amend to try tweaking a different easyconfig parameter

                  • format: --try-amend=<param>=<value>
                  • only supports string and list-of-strings value types
                  • example: --try-amend=sources='[\"<source_url>\"]'

                For example, to build and install BWA and its dependencies with a different toolchain version:

                $ eb BWA-0.7.17-GCC-10.3.0.eb --try-toolchain-version 11.2.0 -Dr\n== Temporary log file in case of crash /tmp/eb-93m2gyhf/easybuild-_c86e81n.log\nDry run: printing build status of easyconfigs and dependencies\n ...\n * [x] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/g/GCC/GCC-11.2.0.eb (module: GCC/11.2.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/g/groff/groff-1.22.4-GCCcore-11.2.0.eb (module: groff/1.22.4-GCCcore-11.2.0)\n * [ ] /tmp/eb-93m2gyhf/tweaked_dep_easyconfigs/expat-2.2.9-GCCcore-11.2.0.eb (module: expat/2.2.9-GCCcore-11.2.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/n/ncurses/ncurses-6.2-GCCcore-11.2.0.eb (module: ncurses/6.2-GCCcore-11.2.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/l/libreadline/libreadline-8.1-GCCcore-11.2.0.eb (module: libreadline/8.1-GCCcore-11.2.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/p/pkgconf/pkgconf-1.8.0.eb (module: pkgconf/1.8.0)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/o/OpenSSL/OpenSSL-1.1.eb (module: OpenSSL/1.1)\n * [ ] /home/example/easybuild-easyconfigs/easybuild/easyconfigs/d/DB/DB-18.1.40-GCCcore-11.2.0.eb (module: DB/18.1.40-GCCcore-11.2.0)\n * [ ] /tmp/eb-93m2gyhf/tweaked_dep_easyconfigs/Perl-5.32.1-GCCcore-11.2.0.eb (module: Perl/5.32.1-GCCcore-11.2.0)\n * [ ] /tmp/eb-93m2gyhf/tweaked_easyconfigs/BWA-0.7.17-GCC-11.2.0.eb (module: BWA/0.7.17-GCC-11.2.0)\n

                Note

                The --try-* command line options behave as expected when combined with --robot.

                For example: a modified toolchain specified via --try-toolchain only trickles down until the toolchain level (not deeper). This makes for a particularly powerful combo for rebuilding entire software stacks using a different toolchain.

                Note

                Modifying the software version does not trickle down the entire software stack, even when combined with --robot, since a software version is tied to a particular software package.

                "},{"location":"using-easybuild/#module_cmds_overview","title":"Overview of basic module commands","text":"

                In case you are not familiar with using modules, here is a simple cheatsheet of most common module commands used in combination with Easybuild:

                module avail - list the modules that are currently available to load

                module load foss/2022a - load the module foss/2022a

                module list - list currently loaded modules

                module show foss/2022a - see contents of the module foss/2022a (shows the module functions instead of executing them)

                module unload foss/2022a - unload the module foss/2022a

                module purge - unload all currently loaded modules

                "},{"location":"using-external-modules/","title":"Using external modules","text":"

                Since EasyBuild v2.1, support for using modules that were not installed via EasyBuild is available. We refer to such modules as external modules.

                This can be useful to reuse vendor-supplied modules, for example on Cray systems.

                "},{"location":"using-external-modules/#using-external-modules-as-dependencies","title":"Using external modules as dependencies","text":"

                External modules can be used as dependencies, by including the module name in the dependencies list (see Dependencies), along with the EXTERNAL_MODULE constant marker.

                For example, to specify the readily available module fftw/3.3.4.2 as a dependency:

                dependencies = [('fftw/3.3.4.2', EXTERNAL_MODULE)]\n

                For such dependencies, EasyBuild will:

                • load the module before initiating the software build and install procedure
                • include a 'module load' statement in the generated module file (for non-build dependencies)

                If the specified module is not available, EasyBuild will exit with an error message stating that the dependency can not be resolved because the module could not be found. It will not search for a matching easyconfig file in order to try and install the module to resolve the dependency.

                "},{"location":"using-external-modules/#using_external_modules_metadata","title":"Metadata for external modules","text":"

                Since very little information is available for external modules based on the dependency specification alone (i.e., only the module name), metadata can be supplied to EasyBuild for external modules.

                Using the --external-modules-metadata configuration option, the location of one or more files can be specified that provide such metadata. The files are expected to be in INI format, with a section per module name and key-value assignments denoting the metadata specific to that module.

                Format:

                [modulename]\nkey1 = value1\nkey2 = value2, value3\n
                "},{"location":"using-external-modules/#default","title":"Default","text":"

                Up until EasyBuild v2.6.0, no metadata for external modules was available by default.

                Since EasyBuild v2.7.0, a file providing metadata for Cray-provided modules on Cray systems is included, and is active by default (i.e., unless other files are specified via --external-modules-metadata); see https://github.com/easybuilders/easybuild-framework/blob/main/etc/cray_external_modules_metadata.cfg.

                "},{"location":"using-external-modules/#using-wildcards","title":"Using wildcards","text":"

                Since EasyBuild v4.1.0, you can use so-called glob patterns to specify a list of paths to --external-modules-metadata, using wildcard characters like * and ?.

                For example, to specify that the metadata for external modules in all *.cfg files in the directory /example should be taken into account, you can use:

                export EASYBUILD_EXTERNAL_MODULES_METADATA='/example/*.cfg'\n
                "},{"location":"using-external-modules/#example","title":"Example","text":"

                For example, the following file provides metadata for a handful of modules that may be provided on Cray systems:

                [cray-hdf5/1.8.13]\nname = HDF5\nversion = 1.8.13\nprefix = HDF5_DIR\n\n[cray-hdf5-parallel/1.8.13]\nname = HDF5\nversion = 1.8.13\nprefix = /opt/cray/hdf5-parallel/1.8.13/GNU/49\n\n[cray-netcdf/4.3.2]\nname = netCDF, netCDF-Fortran\nversion = 4.3.2, 4.3.2\nprefix = NETCDF_DIR\n\n[fftw/3.3.4.5]\nname = FFTW\nversion = 3.3.4.5\nprefix = FFTW_INC/..\n
                "},{"location":"using-external-modules/#supported-metadata-values","title":"Supported metadata values","text":"

                The following keys are supported:

                • name: specifies the software name(s) that is (are) provided by the module
                • version: specifies the software version(s) that is (are) provided by the module
                • prefix: specifies the installation prefix of the software that is provided by the module

                For prefix, a couple of different options are available, i.e.:

                • specifying an absolute path (cfr. cray-hdf5-parallel/1.8.13 in the example above)
                • specifying the environment variable that is defined by the module and provides the installation prefix (cfr. cray-netcdf/4.3.2 in the example above)
                • this can be optionally combined with a relative path that serves as a 'correction' (cfr. fftw/3.3.4.5 in the example above) [supported since EasyBuild v2.7.0]

                Any other keys are simply ignored.

                Note

                When both name and version are specified, they must provide an equal number of values (see for example the cray-netcdf example above).

                "},{"location":"using-external-modules/#handling-of-provided-metadata","title":"Handling of provided metadata","text":"

                Using the provided metadata, EasyBuild will define environment variables that are also defined by modules that are generated by EasyBuild itself, if an external module for which metadata is available is loaded as a dependency.

                In particular, for each software name that is specified:

                • the corresponding environment variable $EBROOT<NAME> is defined to the specified prefix value (if any)
                • the corresponding environment variable $EBVERSION<NAME> is defined to the corresponding version value (if any)

                For example, for the external modules for which metadata is provided in the example above, the following environment variables are set in the build environment when the module is used as a dependency:

                • for cray-hdf5/1.8.1.13:
                • $EBROOTHDF5 = $HDF5_DIR
                • $EBVERSIONHDF5 = 1.8.13
                • for cray-hdf5-parallel/1.8.13:
                • $EBROOTHDF5 = /opt/cray/hdf5-parallel/1.8.13/GNU/49
                • $EBVERSIONHDF5 = 1.8.13
                • for cray-netcdf/4.3.2:
                • $EBROOTNETCDF = $NETCDF_DIR
                • $EBROOTNETCDFMINFORTRAN = $NETCDF_DIR
                • $EBVERSIONNETCDF = 4.3.2
                • $EBVERSIONNETCDFMINFORTRAN = 4.3.2
                • for fftw/3.3.4.5:
                • $EBROOTFFTW = $FFTW_INC/../
                • $EBVERSIONFFTW = 3.3.4.5

                The get_software_root and get_software_version functions that are commonly used occasionally in easyblocks pick up the $EBROOT* and $EBVERSION* environment variables, respectively.

                "},{"location":"what-is-easybuild/","title":"What is EasyBuild?","text":"

                EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way. It is motivated by the need for a tool that combines the following features:

                • a flexible framework for building/installing (scientific) software
                • fully automates software builds
                • divert from the standard configure / make / make install with custom procedures
                • allows for easily reproducing previous builds
                • keep the software build recipes/specifications simple and human-readable
                • supports co-existence of versions/builds via dedicated installation prefix and module files
                • enables sharing with the HPC community (win-win situation)
                • automagic dependency resolution
                • retain logs for traceability of the build processes

                Some key features of EasyBuild:

                • build & install (scientific) software fully autonomously

                • also interactive installers, code patching, generating module file, ...

                • easily configurable: configuration files / environment variables / command line options

                • including aspects like module naming scheme

                • thorough logging and archiving (see Log files)

                • entire build process is logged thoroughly, logs are stored in install directory;

                • easyconfig file used for build is archived (install directory + file/svn/git repo)

                • automatic dependency resolution (see --robot)

                • build entire software stack with a single command, using --robot

                • building software in parallel

                • robust and thoroughly tested code base, fully unit-tested before each release
                • thriving, growing community

                Take a look at our HUST'14 workshop paper Modern Scientific Software Management Using EasyBuild and Lmod (PDF), and use that as a reference in case you present academic work mentioning EasyBuild.

                "},{"location":"wrapping-dependencies/","title":"Wrapping dependencies","text":"

                Since EasyBuild v3.7.0 a special-purpose generic easyblock named ModuleRC is available, which can be used to generate a (software-specific) .modulerc file (as opposed to generating an actual module file).

                Note

                For compatibility with the different modules tools supported by EasyBuild (see Modules tool (--modules-tool)), the .modulerc file is always generated in Tcl syntax (for now), regardless of the module syntax that is used for module files. Only Lmod 7.8 (or later) supports .modulerc.lua files in Lua syntax.

                The ModuleRC easyblock supports including module-version in the generated .modulerc file, which defines a so-called \"symbolic version\".

                This can be used to install a \"wrapper\" for a particular module, which can be useful in the context of dependencies. For example, it can be used to avoid depending on a specific version of a particular software package by specifying the dependency only on the <major>.<minor> version instead (i.e., without including the \"subminor\" version, which usually corresponds to a bugfix release).

                One particular example where this is employed is for Java. Since the 2018b generation of the Common toolchains, we use a wrapper for Java (e.g., Java/1.8), rather than depending on a specific version (e.g., Java/1.8.0_181):

                # specify dependency on Java/1.8 \"wrapper\", rather than a specific Java version\ndependencies = [('Java', '1.8', '', SYSTEM)]\n

                This has a couple of advantages:

                • it helps with avoiding version conflicts on the Java dependency used by two (or more) otherwise independent module files;
                • it allows to perform an in-place update of the Java wrapper to a more recent Java (bugfix) release in the blink of an eye, since it only involves re-generating a .modulerc file (as opposed to performing actual installation and generating a module file); in addition, it doesn't require updating/re-generating existing module files that depend on the Java wrapper (since the version of the wrapper does not change)

                Since ModuleRC is a generic easyblock , it can also be employed to install module \"wrappers\" for dependencies other than Java.

                "},{"location":"writing-easyconfig-files/","title":"Writing easyconfig files: the basics","text":"

                This page explains all the basic information about how to write easyconfig files.

                For software builds that follow established build patterns, an easyconfig is all that you need to create in order to build and install the software and the corresponding module file.

                Luckily, the majority of software delivery mechanisms are being designed around either autotools or CMake or, perhaps, some simple file extraction/copy pattern. In that case, a generic easyblock can be leveraged; see Overview of generic easyblocks.

                Yet, in case the software build calls for more elaborate steps (scientific software never fails to surprise us in this regard), a software-specific easyblock may be required; see Implementing easyblocks.

                "},{"location":"writing-easyconfig-files/#what_is_an_easyconfig","title":"What is an easyconfig (file)?","text":"

                An easyconfig file serves as a build specification for EasyBuild.

                It consists of a plain text file (in Python syntax) with mostly key-value assignment to define easyconfig parameters.

                Easyconfigs typically follow a (fixed) strict naming scheme, i.e. <name>-<version>[-<toolchain>][<versionsuffix>].eb.

                The -<toolchain> label (which includes the toolchain name and version) is omitted when a system toolchain is used. The <versionsuffix> label is omitted when the version suffix is empty.

                Note

                the filename of an easyconfig is only important w.r.t. dependency resolution (--robot), see Enabling dependency resolution.

                Example:

                # easyconfig file for GCC v4.8.3\nname = 'GCC'\nversion = '4.8.3'\n...\n

                Tip

                Comments can be included in easyconfig files using the hash (#) character (just like in Python code).

                "},{"location":"writing-easyconfig-files/#available-easyconfig-parameters","title":"Available easyconfig parameters","text":"

                About 50 different (generic) easyconfig parameters are supported currently. An overview of all available easyconfig parameters is available via the -a command line option.

                By default, the parameters specific to generic (default) easyblock ConfigureMake are included; using --easyblock/-e parameters that are specific to a particular easyblock can be consulted.

                See Available easyconfig parameters for more details.

                Example:

                $ eb -a -e Binary\nAvailable easyconfig parameters (* indicates specific for the Binary EasyBlock)\nMANDATORY\n---------\n[..]\nname:           Name of software (default: None)\n[...]\nEASYBLOCK-SPECIFIC\n------------------\ninstall_cmd(*):     Install command to be used. (default: None)\n[...]\n
                "},{"location":"writing-easyconfig-files/#mandatory-easyconfig-parameters","title":"Mandatory easyconfig parameters","text":"

                A handful of easyconfig parameters are mandatory:

                • name, version: specify what software (version) to build
                • homepage, description: metadata (used for module help)
                • toolchain: specifies name and version of compiler toolchain to use
                  • format: dictionary with name/version keys, e.g., {'name': 'foo', 'version': '1.2.3'}
                  • a list of supported toolchains can be found here

                Remarks:

                • some others are planned to be required in the future
                  • docurls, software license, software license urls

                Example:

                name = 'HPL'\nversion = '2.0'\n\nhomepage = 'http://www.netlib.org/benchmark/hpl/'\ndescription = \"High Performance Computing Linpack Benchmark\"\n\ntoolchain = {'name': 'goolf', 'version': '1.4.10'}\n[...]\n
                "},{"location":"writing-easyconfig-files/#common-easyconfig-parameters","title":"Common easyconfig parameters","text":"

                This section includes an overview of some commonly used (optional) easyconfig parameters.

                "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources","title":"Source files, patches and checksums","text":"
                • sources: list of source files (filenames only)
                • source urls: list of URLs where sources can be downloaded
                • patches: list of patch files to be applied (.patch extension)
                • checksums: list of checksums for source and patch files

                Remarks:

                • sources are downloaded (best effort), unless already available
                • proxy settings are taken into account, since the urllib2 Python package is used for downloading (since EasyBuild v2.0)
                • patches need to be EasyBuild-compatible
                  • unified diff format (diff -ruN)
                  • patched locations relative to unpacked sources
                • see Patches for more information on patches
                • see Checksums for more information on checksums
                • sources is usually specified as a list of strings representing filenames for source files, but other formats are supported too, see Alternative formats for sources

                Example:

                name = 'HPL'\nversion = '2.2'\n\n[...]\n\nsource_urls = ['http://www.netlib.org/benchmark/hpl']\nsources = ['hpl-%(version)s.tar.gz']\n\n# fix Make dependencies, so parallel build also works\npatches = ['HPL_parallel-make.patch']\n\nchecksums = ['ac7534163a09e21a5fa763e4e16dfc119bc84043f6e6a807aba666518f8df440']\n\n[...]\n

                Note

                Rather than hardcoding the version (and name) in the list of sources, a string template %(version)s can be used, see also Dynamic values for easyconfig parameters.

                "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources_patches","title":"Patches","text":"

                Patches can be provided via the patches easyconfig parameter (list). A patch can be defined as:

                • a string,
                • a tuple of 2 elements, or
                • a dict

                The most straight-forward use-case is string, which contains the name of the patch file (and must have .patch extension).

                A tuple adds the possibility to specify where patch should be applied. This is mostly needed if a patch file adds new files or it is generally not possible to determine the starting directory. The first element is the patch file and the second is either the patch level (as an integer) which is used in the patch command (patch -p<n>) or a directory relative to the unpacked source dir.

                Note

                tuple also has a special use case if the patch file has any other extension than .patch. In this case, the first tuple argument is a file which should be copied to the unpacked source dir and the second tuple argument is the target path, where the files should be copied to (relative to the unpacked source dir). See below for an example of this use case.

                A dict adds the ability to pass the patch command additional arguments. For example, the --binary flag is needed to patch files with CRLF endings. The dict has a required filename key, with level and opts being optional ones.

                Note

                Specifying only filename in dict is the same as using a plain string definition. Specifying filename and level is same as using a tuple definition.

                Example:

                patches = [\n  # a simple patch file\n  'name-versions-fix.patch',\n\n  # when creating only new files by patch file, you need to specify the level:\n  ('name-versions-fix.patch', 1),\n\n  # apply the patch in a (sub-)subdirectory inside the source tree\n  ('name-versions-fix.patch', 'src/subfolder'),\n\n  # copy file to target_path folder\n  ('Makefile', 'target_path'),\n\n  # specify patch file and optionally level and opts for patch command\n  {'filename': 'name-versions-fix.patch', 'level': 1, 'opts': '-l'}\n]\n
                "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources_checksums","title":"Checksums","text":"

                Checksums for source files and patches can be provided via the checksums easyconfig parameter.

                EasyBuild does not enforce checksums to be available for all source files and patches. Provided checksums will be 'consumed' first for the specified sources (in order), and subsequently also for patches.

                Nevertheless, providing checksums for all source files and patches is highly recommended.

                If checksums are provided, the checksum of the corresponding source files and patches is verified to match.

                The checksums easyconfig parameter is usually defined as a list of strings.

                Until EasyBuild v3.3.0, only MD5 checksums could be provided through a list of strings. Since EasyBuild v3.3.0, the checksum type is determined by looking at the length of the string:

                • 32-character strings are considered to be MD5 checksums (md5)
                • 64-character strings are considered to be SHA256 checksums (sha256)
                • (other lengths will result in an error message)

                The intention is to move towards making sha256 the recommended and default checksum type.

                Other checksum types are also supported: adler32, crc32, sha1, sha512, size (filesize in bytes). To provide checksum values of a specific type, elements of the checksums list can also be 2-element tuples of the form ('<checksum type>', '<checksum value>'). For example:

                checksums = [('sha512', 'f962008105639f58e9a4455c8057933ab0a5e2f43db8340ae1e1afe6dc2d24105bfca3b2e1f79cb242495ca4eb363c9820d8cea6084df9d62c4c3e5211d99266')]\n
                "},{"location":"writing-easyconfig-files/#inject_checksums","title":"Adding or replacing checksums using --inject-checksums","text":"

                Using the --inject-checksums command line option, you can let EasyBuild add or update checksums in one or more easyconfig files (which is significantly more convenient than doing it manually).

                With --inject-checksums, checksums are injected for all sources and patches (if any), as well as for all sources & patches of every extension listed in exts_list (if any, see Extensions).

                If the sources (& patches) are not available yet, EasyBuild will try to download them first; i.e., the fetch step is run prior to computing & injecting the checksums.

                A backup is created of every easyconfig file that is touched by --inject-checksums, to avoid accidental loss of information. Backups are given an additional extension of the form .bak_<year><month><day><hour><min><sec>.

                Note

                To clean up backup easyconfig files, you can use this one-liner:

                find . -name '*.eb.bak_*' | xargs rm -v\n

                The -v option makes rm print the path of files that are being removed.

                Do use this with care; just run find . -name '*.eb.bak_*' first in case of doubt!

                Multiple easyconfigs can be specified when using --inject-checksums, they will be processed in sequence. In addition, you can also combine --inject-checksums with --robot, see Synergy between --inject-checksums and --robot.

                "},{"location":"writing-easyconfig-files/#inject_checksums_adding","title":"Adding checksums when none are specified yet","text":"

                If the easyconfig file does not specify any checksums yet, they are simply injected after the sources (or patches, if present) specification when --inject-checksums is used.

                For example:

                $ eb bzip2-1.0.6.eb --inject-checksums\n== temporary log file in case of crash /tmp/eb-Vm6w3e/easybuild-cAVQl6.log\n== injecting sha256 checksums in /example/bzip2-1.0.6.eb\n== fetching sources & patches for bzip2-1.0.6.eb...\n== backup of easyconfig file saved to /example/bzip2-1.0.6.eb.bak_20170824200906...\n== injecting sha256 checksums for sources & patches in bzip2-1.0.6.eb...\n== * bzip2-1.0.6.tar.gz: a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd\n== Temporary log file(s) /tmp/eb-Vm6w3e/easybuild-cAVQl6.log* have been removed.\n== Temporary directory /tmp/eb-Vm6w3e has been removed.\n

                The backup easyconfig file can be used to double-check the difference between the original easyconfig file and the one produced by --inject-checksums:

                $ diff -u /example/bzip2-1.0.6.eb.bak_20170824200906 /example/bzip2-1.0.6.eb\ndiff --git a//example/bzip2-1.0.6.eb.bak_20170824200906 b/example/bzip2-1.0.6.eb\nindex 46b2debed..2eb73f15a 100644\n--- a/example/bzip2-1.0.6.eb.bak_20170824200906\n+++ b/example/bzip2-1.0.6.eb\n@@ -9,8 +9,9 @@ compressors), whilst being around twice as fast at compression and six times fas\n toolchain = SYSTEM\n toolchainopts = {'pic': True}\n\n-sources = [SOURCE_TAR_GZ]\n source_urls = ['http://www.bzip.org/%(version)s/']\n+sources = [SOURCE_TAR_GZ]\n+checksums = ['a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd']\n\n buildopts = \"CC=gcc CFLAGS='-Wall -Winline -O3 -fPIC -g $(BIGFILES)'\"\n

                Note

                Along with injecting checksums, EasyBuild will also reorder the source_urls, sources and patches specifications, in that order and if they are present, and include the checksums specification afterwards. This is done to facilitate working towards a uniform style in easyconfig files, which also applies to the order of specified easyconfig parameters.

                "},{"location":"writing-easyconfig-files/#inject_checksums_replacing","title":"Replacing existing checksums","text":"

                When one or more checksums are already specified, EasyBuild requires the use of --force together with --inject-checksums to replace those checksums. A clear warning will be printed to notify that existing checksums will be replaced.

                For example:

                $ eb bzip2-1.0.6.eb --inject-checksums\n== temporary log file in case of crash /tmp/eb-WhSwVH/easybuild-HCODnl.log\n== injecting sha256 checksums in /example/bzip2-1.0.6.eb\n== fetching sources & patches for bzip2-1.0.6.eb...\nERROR: Found existing checksums, use --force to overwrite them\n
                $ eb bzip2-1.0.6.eb --inject-checksums --force\n== temporary log file in case of crash /tmp/eb-dS2QLa/easybuild-JGxOzC.log\n== injecting sha256 checksums in /example/bzip2-1.0.6.eb\n== fetching sources & patches for bzip2-1.0.6.eb...\n\nWARNING: Found existing checksums in bzip2-1.0.6.eb, overwriting them (due to use of --force)...\n\n== backup of easyconfig file saved to /example/bzip2-1.0.6.eb.bak_20170824203850...\n== injecting sha256 checksums for sources & patches in bzip2-1.0.6.eb...\n...\n

                Note

                Any existing checksums are blindly replaced when --inject-checksums --force is used: the existing checksums are not verified to be correct as during normal use of EasyBuild (since that would kind of defeat the purpose of --inject-checksums). In addition, it also doesn't matter whether or not checksums are available for all sources & patches: with --inject-checksums, checksums will be added for all sources and patches, including for extensions listed in exts_list (if any).

                "},{"location":"writing-easyconfig-files/#inject_checksums_robot_synergy","title":"Synergy between --inject-checksums and --robot","text":"

                When --inject-checksums is combined with --robot, checksums are injected for each easyconfig file in the dependency graph for which no module is available yet.

                For example, to inject checksums in every easyconfig file required to build HPL 2.2 with the foss/2017a toolchain:

                $ MODULEPATH= eb HPL-2.2-foss-2017a.eb --installpath /tmp/$USER/sandbox --inject-checksums --robot\n== temporary log file in case of crash /tmp/eb-8HpJc3/easybuild-H35khM.log\n== resolving dependencies ...\n...\n== injecting sha256 checksums in /example/GCCcore-6.3.0.eb\n...\n== injecting sha256 checksums in /example/OpenMPI-2.0.2-GCC-6.3.0-2.27.eb\n...\n== injecting sha256 checksums in /example/FFTW-3.3.6-gompi-2017a.eb\n...\n== injecting sha256 checksums in /example/HPL-2.2-foss-2017a.eb\n...\n

                Note

                We are clearing $MODULEPATH and specifying a custom (empty) location to --installpath to avoid that EasyBuild skips any easyconfig because a corresponding module is already available.

                "},{"location":"writing-easyconfig-files/#inject_checksums_type","title":"Type of checksum to inject","text":"

                By default, --inject-checksums will compute & inject SHA256 checksums, but a different checksum type can be specified as an argument (e.g., --inject-checksums md5).

                Note

                Because of the optional argument that can be passed to --inject-checksums, you should not specify an easyconfig file name directly after the --inject-checksums, since it will be assumed to specify a checksum type, which will result in an error message like:

                $ eb --inject-checksums bzip2-1.0.6.eb\nUsage: eb [options] easyconfig [...]\n\neb: error: option --inject-checksums: invalid choice: 'bzip2-1.0.6.eb' (choose from 'adler32', 'crc32', 'md5', 'sha1', 'sha256', 'sha512', 'size')\n
                "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources_alt","title":"Alternative formats for sources","text":"

                In some cases, it can be required to provide additional information next to the name of a source file, e.g., a custom extraction command (because the one derived from the file extension is not correct), or an altername filename that should be used to download the source file.

                This can be specified using a Python dictionary value in the sources easyconfig parameter.

                Since EasyBuild v3.3.0, three keys are supported:

                • filename (mandatory): filename of source file
                • download_filename: filename that should be used when downloading this source file; the downloaded file will be saved using the filename value
                • extract_cmd: custom extraction command for this source file
                • source_urls: source URLs to consider for downloading this source file
                • git_config: see Downloading from a Git repository

                For example:

                sources = [{\n    'source_urls': ['https://example.com'],\n    'filename': 'example-%(version)s.gz',\n    'download_filename': 'example.gz',  # provided source tarball is not versioned...\n    'extract_cmd': \"tar xfvz %s\",  # source file is actually a gzipped tarball (filename should be .tar.gz)\n}]\n

                Note

                Custom extraction commands can also be specified as a 2-element tuple, but this format has been deprecated in favour of the Python dictionary format described above; see also Specifying source files as 2-element tuples to provide a custom extraction command.

                "},{"location":"writing-easyconfig-files/#using-download_instructions-for-user-side-part-of-installation","title":"Using download_instructions for user-side part of installation","text":"

                In some cases, getting some of the files required for an installation cannot be automated. Reasons for this include:

                • there is a manual stage to combine multiple downloaded files into the required installation file
                • the file requires a login to download

                You can use the download_instructions parameter to specify steps for the user to do. This parameter takes string value and prints it whenever build fails because any file needed was not found. If download_instructions is not specified, Easybuild prints the default message stating the paths that were tested.

                download_instructions = \"\"\"\n  Step 1: Go to example.com and download example.jar.\n  Step 2: Install example.jar (ensure Java is installed).\n  Step 3: Go to the installation directory and create Tarball of its contents (tar -czvf example.tar.gz *).\n  Step 4: Move created Tarball into the same directory, where your easyconfig is located and run build again.\n\"\"\"\n
                "},{"location":"writing-easyconfig-files/#common_easyconfig_param_sources_git_config","title":"Downloading from a Git repository","text":"

                Since EasyBuild v3.7.0, support for downloading directly from a Git repository is available.

                When git_config is provided for a particular source file (see Alternative formats for sources), EasyBuild will create a source tarball after downloading the specified Git repository.

                The value for git_config is a Python dictionary, where the following keys are mandatory:

                • url: the URL where the Git repository is located
                • repo_name: the name of the Git repository

                The value for filename in the source specification must end in .tar.gz (because a gzipped tarball will be created from the cloned repository).

                In addition, either of the following keys must also be defined:

                • tag: the specific tag to download
                • commit: the specific commit ID to download

                If a recursive checkout should be made of the repository, the recursive key can be set to True.

                To also retain the .git directory (which holds the Git metadata for the repository), you can set the keep_git_dir to True (supported since EasyBuild v4.2.0).

                A different name for the top-level directory can be specified via clone_into; by default the name of the repository is used.

                Examples:

                • creating a source tarball named example-main.tar.gz of the main branch of a (fictional) test repository from https://agitserver.org/example, and use example-test as top-level directory name:

                  sources = [{\n    'filename': 'example-main.tar.gz',\n    'git_config': {\n        'url': 'https://agitserver.org/example',\n        'repo_name': 'test',\n        'tag': 'main',\n        'clone_into': 'example-test',\n    },\n}]\n
                • creating a source tarball named example-20180920.tar.gz of the recursive checkout of commit abcdef12 of the test repository from https://agitserver.org/example:

                  sources = [{\n    'filename': 'example-20180920.tar.gz',\n    'git_config': {\n        'url': 'https://agitserver.org/example',\n        'repo_name': 'test',\n        'commit': 'abcdef12',\n        'recursive': True,\n        'keep_git_dir': True,\n    },\n}]\n

                Note

                Because the source tarball is created locally (by running tar cfvz on the directory containing the cloned repository), the (SHA256) checksum is not guaranteed to be the same across different systems.

                Whenever you have the option to download a source tarball (or equivalent) directly (for example from GitHub, which also allows downloading a tarball of a specific commit), we strongly recommend you to do so, git_config is intended for other Git repos.

                "},{"location":"writing-easyconfig-files/#dependency_specs","title":"Dependencies","text":"
                • dependencies: build/runtime dependencies
                • builddependencies: build-only dependencies (not in module)
                • hiddendependencies: dependencies via hidden modules (see also Installing dependencies as hidden modules using --hide-deps)
                • osdependencies: system dependencies (package names)

                Remarks:

                • modules must exist for all (non-system) dependencies
                • (non-system) dependencies can be resolved via --robot
                • format: (<name>, <version>[, <versionsuffix>[, <toolchain>]])

                Example:

                name = 'GTI'\n...\ntoolchain = {'name': 'goolf', 'version': '1.5.14'}\ndependencies = [('PnMPI', '1.2.0')]\nbuilddependencies = [('CMake', '2.8.12', '', ('GCC', '4.8.2'))]\n

                For each of the specified (build) dependencies, the corresponding module will be loaded in the build environment defined by EasyBuild. For the runtime dependencies, module load statements will be included in the generated module file.

                Note

                By default, EasyBuild will try to resolve dependencies using the same toolchain as specified for the software being installed. As of v3.0, if no easyconfig exists to resolve a dependency using the default toolchain EasyBuild will search for the dependency using a compatible subtoolchain.

                A different toolchain can be specified on a per-dependency level (cfr. the CMake build dependency in the example above).

                Alternatively, you can instruct EasyBuild to use the most minimal (sub)toolchain when resolving dependencies, see Using minimal toolchains for dependencies.

                "},{"location":"writing-easyconfig-files/#loading-of-modules-for-dependencies-with-a-system-toolchain","title":"Loading of modules for dependencies with a system toolchain","text":"

                When a system toolchain is used, the modules for each of the (build) dependencies are always loaded, regardless of the toolchain version (as opposed the behaviour with the dummy toolchain in EasyBuild versions prior to v4.0, see Motivation for deprecating the dummy toolchain).

                "},{"location":"writing-easyconfig-files/#specifying-dependencies-using-system-toolchain","title":"Specifying dependencies using system toolchain","text":"

                To make EasyBuild resolve a dependency using the system toolchain, simply use the SYSTEM template constant as the 4th value in the tuple representing the dependency specification.

                For example, to specify PnMPI version 1.2.0 built with the system toolchain as a (runtime) dependency:

                dependencies = [('PnMPI', '1.2.0', '', SYSTEM)]\n
                "},{"location":"writing-easyconfig-files/#using-external-modules-as-dependencies","title":"Using external modules as dependencies","text":"

                Since EasyBuild v2.1, specifying modules that are not provided via EasyBuild as dependencies is also supported. See Using external modules for more information.

                "},{"location":"writing-easyconfig-files/#module_extensions","title":"Extensions","text":"

                Besides dependencies, which are found outside the software being built but are part of the site's EasyBuild installation, it is also possible to incorporate extensions to the software within the build. This is done via the exts_list array.

                Each entry in exts_list is a three-component tuple, with the name and version number, and a dictionary of configuration options for the entry:

                exts_list = [\n    ('name', 'version', { 'option':'value', 'option':'value' })\n]\n

                The latter may contain essentially any of the full easyconfig parameters, including buildopts, installopts, etc. Among those options, the following exceptions and special cases should be noted:

                • nosource: If set True, no download will be done
                • source_tmpl: Template string for the file to be downloaded
                  • default is '%(name)s-%(version)s.tar.gz'
                  • %(name)s and %(version)s come from the exts_list entry (above)
                • sources: Dictionary specifying details of where to download the extension
                  • equivalent to a single entry from the easyconfig sources list
                  • preferred to use of source_tmpl
                • start_dir: If not set, will be derived; the easyconfig value will not be used
                exts_list = [\n    ('llvmlite', '0.26.0', {\n        'source_urls': ['https://pypi.python.org/packages/source/l/llvmlite/'],\n        'patches': ['llvmlite-0.26.0_fix-ffi-Makefile.patch'],\n        'checksums': [\n            '13e84fe6ebb0667233074b429fd44955f309dead3161ec89d9169145dbad2ebf',    # llvmlite-0.26.0.tar.gz\n            '40e6fe6de48709b45daebf8082f65ac26f73a4afdf58fc1e8099b97c575fecae',    # llvmlite-0.26.0_fix-ffi-Makefile.patch\n        ],\n    }),\n    ('singledispatch', '3.4.0.3', {\n        'source_urls': ['https://pypi.python.org/packages/source/s/singledispatch/'],\n        'checksums': ['5b06af87df13818d14f08a028e42f566640aef80805c3b50c5056b086e3c2b9c'],\n    }),\n    (name, version, {\n        'source_urls': ['https://pypi.python.org/packages/source/n/numba/'],\n        'checksums': ['c62121b2d384d8b4d244ef26c1cf8bb5cb819278a80b893bf41918ad6d391258'],\n    }),\n]\n

                That third instance uses the name and version variables defined in the easyconfig file. Since EasyBuild v4.2.2, a single-entry sources dictionary (see Alternative formats for sources) may be included in an exts_list entry. For example, to download Git sources from a private repository and convert them to a tar-ball for installation:

                exts_defaultclass = 'PythonPackage'\nexts_list = [\n    ('pyCAP', '0.1', {\n        'sources': {\n            'filename': '%(name)s-%(version)s.tar.gz',\n            'git_config': {\n                'url': 'ssh://nero.stanford.edu/data/git/Analysis',\n                'repo_name': 'pyCAP',\n                'tag': '%(version)s',\n            }\n        }\n    }),\n]\n

                Here, the template strings %(name)s and %(version)s will be substituted from the exts_list entry elements (\"pyCAP\" and \"0.1\", respectively), not from the easyconfig values.

                "},{"location":"writing-easyconfig-files/#configure_build_install_command_options","title":"Configure/build/install command options","text":"
                • configopts: options for configure command
                • preconfigopts: options used as prefix for configure command

                In analogy to configure, also build and install commands are tuneable:

                • buildopts, prebuildopts: options for build command
                • installopts, preinstallopts: options for install command

                Example:

                easyblock = 'ConfigureMake'\n...\n# configure with: ./autogen.sh && ./configure CC=\"$CC\" CFLAGS=\"$CFLAGS\"\npreconfigopts = \"./autogen.sh && \"\nbuildopts = 'CC=\"$CC\" CFLAGS=\"$CFLAGS\"'\n# install with: make install PREFIX=<installation prefix>\ninstallopts = 'PREFIX=%(installdir)s'\n

                Note

                For more details w.r.t. use of string templates like %(installdir)s, see Dynamic values for easyconfig parameters.

                "},{"location":"writing-easyconfig-files/#configure_build_install_command_options_iterate","title":"List of configure/build/install options","text":"

                In some cases, the configure-build-install cycle must be executed multiple times during a single installation, using different options for one or more steps.

                EasyBuild supports specifying a list of strings, each of which specifying a particular set of options to use.

                For example, to perform the installation procedure with three different sets of configuration options:

                configopts = [\n    \"--common-opt --one --one-more\",\n    \"--common-opt --two\",\n    \"--common-opt --three\",\n]\n

                This way, EasyBuild will perform the configure-build-install cycle three times:

                • configure using --common-opt --one --one-more, build and install
                • configure using --common-opt --two, build and install on top of the existing installation
                • configure using --common-opt --three, build and install once more on top of what is installed already

                During this process, the environment is reset and the build directory is cleaned up after each cycle, while the installation directory is left untouched (in order to not destroy the result of earlier cycles).

                If several (pre){config|build|install}opts parameters are defined as being a list of strings, the number of items in the lists must be the same. Any of these parameters defined as a single string value are just reused for each of the cycles performed. For example:

                easyblock = 'ConfigureMake'\nconfigopts = ['--one', '--two', '--three']\nbuildopts = 'lib'\npreinstallopts = ['TYPE=one', 'TYPE=two', 'TYPE=three']\n

                would result in:

                • ./configure --prefix=... --one; make lib; TYPE=one make install
                • ./configure --prefix=... --two; make lib; TYPE=two make install
                • ./configure --prefix=... --three; make lib; TYPE=three make install

                An example use case of this is building FFTW with different precisions, see the FFTW easyconfig files.

                "},{"location":"writing-easyconfig-files/#sanity-check","title":"Sanity check","text":"

                Custom paths and commands to be used in the sanity check step can be specified using the respective parameters. These are used to make sure that an installation didn't (partly) fail unnoticed.

                • sanity_check_paths: files/directories that must get installed
                • sanity_check_commands: (simple) commands that must work when the installed module is loaded

                Remarks:

                • format: Python dictionary with (only) files/dirs keys
                • values must be lists of (tuples of) strings, one of both must be non-empty
                  • paths are relative to installation directory
                  • for a path specified as a tuple, only one of the specified paths must be available
                • default values:
                  • paths: non-empty bin and lib or lib64 directories
                  • commands: none

                Example:

                sanity_check_paths = {\n    'files': [\"bin/xhpl\"],\n    'dirs': [],\n}\n
                "},{"location":"writing-easyconfig-files/#writing_easyconfigs_easyblock_spec","title":"Easyblock specification","text":"

                To make EasyBuild use a specific (usually generic) easyblock the easyblock parameter can be used.

                By default, EasyBuild will assume that the easyblock to use can be derived from the software name. For example: for GCC, EasyBuild will look for an easyblock class named EB_GCC in the Python module easybuild.easyblocks.gcc.

                A list of available easyblocks is available via --list-easyblocks (see also List of available easyblocks); generic easyblocks are the ones for which the name does not start with EB_.

                Example:

                easyblock = 'CMakeMake'\nname = 'GTI'\nversion = '1.2.0'\n...\n

                Tip

                It is highly recommended to use existing (generic) easyblocks, where applicable. This avoids the need for creating (and maintaining) new easyblocks. Typically, generic easyblocks support several custom easyconfig parameters which allow to steer their behavior (see also All available easyconfig parameters).

                Example:

                easyblock = 'Binary'\n[...]\ninstall_cmd = \"./install.bin\"\n[...]\n
                "},{"location":"writing-easyconfig-files/#module-class","title":"Module class","text":"

                The category to which the software belongs to can be specified using the moduleclass easyconfig parameter. By default, the base module class is used (which should be replaced with a more appropriate category).

                EasyBuild enforces that only known module classes can be specified (to avoid misclassification due to typos).

                The default list of module classes is available via --show-default-moduleclasses; additional module classes can be defined via the --moduleclasses configure option.

                Example:

                name = 'GCC'\n[...]\nmoduleclass = 'compiler'\n

                Note

                By default, EasyBuild will create a symlink to the generated module file in a module class-specific path. This behavior is configurable through the module naming scheme being used.

                Tip

                The module class may play a significant role in other aspects. For example, the alternative (hierarchical) module naming scheme HierarchicalMNS heavily relies on the moduleclass parameter for discriminating compilers and MPI libraries.

                "},{"location":"writing-easyconfig-files/#tweaking-existing-easyconfig-files","title":"Tweaking existing easyconfig files","text":"

                The ability to modify easyconfig files on the fly with EasyBuild, provides a very powerful and flexible feature to describe builds, without having to manually create all the input files.

                Tweaking existing easyconfigs can be done using the --try-* command lines options. See Tweaking existing easyconfig files for more details.

                Example:

                • GCC version update:

                  eb GCC-4.9.0.eb --try-software-version=4.9.1\n
                • install WRF + its dozen dependencies with a different toolchain (!):

                  eb WRF-3.5.1-ictce-5.3.0-dmpar.eb --try-toolchain=intel,2014b -r\n
                "},{"location":"writing-easyconfig-files/#easyconfig_param_templates","title":"Dynamic values for easyconfig parameters","text":"

                String templates are completed using the value of particular easyconfig parameters, typically name and/or version. These help to avoid hardcoding values in multiple locations.

                A list of available string templates can be obtained using --avail-easyconfig-templates.

                Additionally, constants that can be used in easyconfig files are available via --avail-easyconfig-constants.

                Example:

                name = 'GCC'\nversion = '4.8.3'\n...\nsource_urls = [\n    # http://ftpmirror.gnu.org/gcc/gcc-4.8.3\n    'http://ftpmirror.gnu.org/%(namelower)s/%(namelower)s-%(version)s',\n]\nsources = [SOURCELOWER_TAR_GZ]  # gcc-4.8.3.tar.gz\n...\n

                Note

                Proper use of string templates is important, in particular to avoid hardcoding the software version in multiple locations of an easyconfig file; this is critical to make --try-software-version behave as expected (see also Tweaking existing easyconfig files).

                "},{"location":"writing-easyconfig-files/#version-specific-documentation-relevant-to-easyconfigs","title":"Version-specific documentation relevant to easyconfigs","text":"
                • Available config file constants
                • Available easyconfig parameters
                • Constants available for easyconfig files
                • License constants available for easyconfig files
                • List of available easyblocks
                • List of available toolchain options
                • List of known toolchains
                • List of supported software
                • Overview of generic easyblocks
                • Templates available for easyconfig files
                "},{"location":"writing-easyconfig-files/#contributing-easyconfigs","title":"Contributing easyconfigs","text":"

                Contribute your working easyconfig files!

                Share your expertise with the community, avoid duplicate work, especially if:

                • the software package is not supported yet
                • an existing easyconfig needs (non-trivial) changes for a different version/toolchain
                • it is a frequently used software package (compilers, MPI, etc.)

                See Contributing for more information.

                "},{"location":"writing-yeb-easyconfig-files/","title":"Writing easyconfig files in YAML syntax (.yeb format) Deprecated","text":"

                Warning

                Use of .yeb easyconfigs is deprecated and will be removed in EasyBuild v5.0.

                Useful links:

                • YAML syntax specification: https://www.yaml.org/spec/1.2/spec.html
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_requirements","title":"Requirements","text":"

                To use .yeb easyconfigs, you need to have:

                • an EasyBuild (development) version which is aware of the .yeb format (i.e., version 2.3.0dev or higher)
                • PyYAML installed and available in your Python search path (via $PYTHONPATH for example), such that import yaml works
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax","title":"Syntax","text":""},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_YAML_header","title":"YAML header (optional)","text":"

                Easyconfig files in YAML syntax can start with a standard YAML header.

                It consists of two lines:

                • a line with a '%YAML' directive which also indicates the YAML version being used (the latest YAML version is 1.2, and dates from 2009);
                • followed by a document marker line '---' (which is used to separate directives from content)

                For example::

                %YAML 1.2\n---\n

                This header is optional, but we recommend including it; one advantage is that editor will use proper syntax highlighting for YAML when the %YAML directory is included.

                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_comments","title":"Comments","text":"

                Comments can be included anywhere, and are prefixed with a hash character #:

                # this is a comment\n
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_internal_variables","title":"Internal variables","text":"

                To define and use temporary/internal variables in easyconfig files, which can be useful to avoid hardcoding (partial) easyconfig parameter values, the YAML anchor/alias functionality can be used (see also https://www.yaml.org/spec/1.2/spec.html#id2765878).

                A value can be marked for future reference via an anchor, using the ampersand character '&'. Referring to it later is done using an asterisk character '*'.

                Typically, internal variables are defined at the top of the .yeb easyconfig file using a list named _internal_variables_, but this is just a matter of style; anchors can be defined throughout the entire file if desired.

                For example, referring to the Python version being used in both the versionsuffix and list of dependencies can be done as follows::

                _internal_variables_:\n- &pyver 2.7.10\n\nversionsuffix: !join [-Python-, *pyver]\ndependencies:\n- [Python, *pyver]\n

                In this example, the !join is used to concatenate two string values, see also Concatenating strings and/or variables.

                A more elaborate example of this is the goolf-1.4.10.yeb example easyconfig.

                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_string_concatenation","title":"Concatenating strings and/or variables","text":"

                The standard YAML format does not support the notion of string concatenation.

                Since concatenating string values is a common pattern in easyconfig files, the EasyBuild framework defines the !join operator to support this.

                For example, defining a versionsuffix that contains the Python version being used (which may be referred to elsewhere too) can be done as follows:

                _internal_variables_:\n- &pyver 2.7.10\n\nversionsuffix: !join [-Python-, *pyver]\n
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_escaping","title":"Escaping string values with single or double quotes","text":"

                Strings in YAML can be unquoted. However, when they contain special characters they need to be escaped by either single- or double-quoting the string.

                Special characters that require single quotes are: : { } [ ] , & * # ? | - < > = ! % @ and \\. When using single-quoted strings, any single quote inside the string must be doubled to escape it.

                If the string contains control characters such as \\n, it must be escaped with double quotes.

                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_easyconfig_parameters","title":"Easyconfig parameter values","text":"

                To define an easyconfig parameter, simply use <key>: <value> (i.e., use a colon : as a separator).

                In YAML terminology, an easyconfig file is expressed as a mapping, with easyconfig parameters as keys.

                Three types of values (nodes) are supported: scalars (strings, integers), sequences (lists) and mappings (dictionaries).

                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_scalars","title":"Scalar values","text":"

                Using scalar values is straight-forward, no special syntax is required.

                For string values, no quotes must be used (in general). However, quotes are sometimes required to escape characters that have special meaning in YAML (like ':'). (Also see: Escaping string values with single or double quotes) It's worth noting that there's a subtle difference between using single and double quotes, see Flow Scalar Styles.

                Examples:

                name: gzip\nversion: 1.6\n\n# single quotes are required for string values representing URLs, to escape the ':'\nhomepage: 'http://www.gnu.org/software/gzip/'\n\nparallel: 1\n

                Multiline strings can be expressed using indentation:

                description:\ngzip is a popular data compression program\nas a replacement for compress\n
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_sequences","title":"Sequences","text":"

                Sequence values (a.k.a. lists) can be expressed in different ways, depending on their size.

                If there are a limited number of (short) entries the value can be expressed on a single line, using square brackets '[' ']' and with comma ',' as separator.

                Example:

                # quotes are required to escape the ':'\nsource_urls: ['http://ftpmirror.gnu.org/gzip/', 'ftp://ftp.gnu.org/gnu/gzip/']\n

                Alternatively indentation can be used for scope, with each entry on its own line, indicated with a dash and a space - item

                Example:

                # no quotes required here, since there's no ambiguity w.r.t. ':'\nsource_urls:\n- http://ftpmirror.gnu.org/gzip/\n- http://ftp.gnu.org/gnu/gzip/\n- ftp://ftp.gnu.org/gnu/gzip/\n
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_mappings","title":"Mappings","text":"

                Mapping values (a.k.a. dictionaries) are expressed using a colon ':' and space as key-value separator, a comma ',' to key-value pairs, and curly braces '{' '}' to mark the start/end.

                For example:

                    toolchain: {name: intel, version: 2015b}\n
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_nesting","title":"Nesting","text":"

                Different types of values can be nested.

                For example, sequence values can be used in a mapping:

                sanity_check_paths: {\n    files: [bin/gunzip, bin/gzip, bin/uncompress],\n    dirs: [],\n}\n

                And sequences of sequences are also supported:

                osdependencies\n- zlib\n- [openssl-devel, libssl-dev, libopenssl-devel]\n
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_template_values_constants","title":"Templates values and constants","text":"

                Template values can be specified as a part of string values, using %(template_name).

                Template constants are injected by the easyconfig .yeb parser as node anchors, and can be referred to with an alias node, i.e. using an asterisk *.

                For example:

                    source_urls: [*GNU_SOURCE]\nsources: ['%(name)s-%(version)s.tar.gz']  # equivalent with [*SOURCE_TAR_GZ]\n

                See also Dynamic values for easyconfig parameters.

                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_syntax_dependencies","title":"Dependencies","text":"

                We updated the way dependencies are specified to match with the new toolchain format (OS dependencies and sanity check paths) The format is a bit more verbose than before, but easier to read. Each dependency is a list entry, indicated by a dash and space (- item). Each entry can specify a name: version key-value pair, and a versionsuffix and toolchain. Only the name: version pair is required.

                Dependencies can also be external modules. In this case, the dependency has to be specified with a name and the marker external_module: True. The boolean value is not case-sensitive.

                A straightforward example:

                dependencies:\n- libreadline: 6.3\n- Tcl: 8.6.4\n- name: fftw/3.3.4.4\nexternal_module: True\n\nbuilddependencies:\n# empty versionsuffix, different toolchain (GCC/4.9.2)\n- CMake: 3.2.2\ntoolchain: GCC, 4.9.2\n

                A more complicated example from a toolchain easyconfig, where also the !join operator (see Concatenating strings and/or variables) and internal variables (see Internal variables) are used:

                _internal_variables_:\n- &comp_name GCC\n- &comp_version 4.7.2\n- &comp [*comp_name, *comp_version]\n\n- &blaslib OpenBLAS\n- &blasver 0.2.6\n- &blas !join [*blaslib, -, *blasver]\n- &blas_suff -LAPACK-3.4.2\n\n- &comp_mpi_tc [gompi, 1.4.10]\n\ndependencies:\n- *comp_name: *comp_version\n- OpenMPI: 1.6.4\ntoolchain: *comp\n- *blaslib: *blasver\nversionsuffix: *blas_suff\ntoolchain: *comp_mpi_tc\n- FFTW: 3.3.3\ntoolchain: *comp_mpi_tc\n- ScaLAPACK: 2.0.2\nversionsuffix: !join [-, *blas, *blas_suff]\ntoolchain: *comp_mpi_tc\n

                For the full version of this easyconfig file, see the example .yeb easyconfig goolf-1.4.10.yeb.

                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_new","title":"OS dependencies and sanity check paths","text":"

                To specify parameters that used to contain tuples such as osdependencies and sanity_check_paths, simply use lists (sequences) instead of tuples.

                For example:

                # note: this is eb syntax, will not work in .yeb files\nosdependencies = [('openssl-devel', 'libssl-dev', 'libopenssl-devel')]\n

                Becomes:

                osdependencies: [[openssl-devel, libssl-dev, libopenssl-devel]]\n

                And:

                # note: this is eb syntax, will not work in .yeb files\nsanity_check_paths = {\n    'files': ['fileA', ('fileB', 'fileC')],\n    'dirs' : ['dirA', 'dirB'],\n}\n

                Becomes:

                sanity_check_paths: {\n    files: [fileA, [fileB, fileC]],\n    dirs: [dirA, dirB]\n}\n
                "},{"location":"writing-yeb-easyconfig-files/#shorthands-for-common-easyconfig-parameters","title":"Shorthands for common easyconfig parameters","text":""},{"location":"writing-yeb-easyconfig-files/#toolchain-format","title":"Toolchain format","text":"

                The easyconfig parameter toolchain in .eb files is defined as a dictionary {'name':'foo', 'version':'bar'}. In the .yeb format, this can be done much easier by just using name, version. E.g:

                # note: this is eb syntax, will not work in yeb files\ntoolchain = {'name':'intel', 'version':'2015b'}\n

                becomes:

                toolchain: intel, 2015b\n
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_examples","title":"Examples","text":""},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_examples_gzip16_GCC492","title":"gzip-1.6-GCC-4.9.2.yeb","text":"

                Example easyconfig for gzip v1.6 using the GCC/4.9.2 toolchain.

                %YAML 1.2\n---\neasyblock: ConfigureMake\n\nname: gzip\nversion: 1.6\n\nhomepage: 'http://www.gnu.org/software/gzip/'\ndescription:\ngzip is a popular data compression program\nas a replacement for compress\n\ntoolchain: GCC, 4.9.2\n\n# http://ftp.gnu.org/gnu/gzip/gzip-1.6.tar.gz\nsource_urls: [*GNU_SOURCE]\nsources: [%(name)s-%(version)s.tar.gz]\n\n# make sure the gzip, gunzip and compress binaries are available after installation\nsanity_check_paths: {\n    files: [bin/gunzip, bin/gzip, bin/uncompress],\n    dirs: [],\n}\n\nmoduleclass: tools\n
                "},{"location":"writing-yeb-easyconfig-files/#easyconfig_yeb_format_examples_goolf1410","title":"goolf-1.4.10.yeb","text":"

                Easyconfig file in YAML syntax for the goolf v1.4.10 toolchain.

                _internal_variables_:\n- &version 1.4.10\n\n- &comp_name GCC\n- &comp_version 4.7.2\n- &comp [*comp_name, *comp_version]\n\n- &blaslib OpenBLAS\n- &blasver 0.2.6\n- &blas !join [*blaslib, -, *blasver]\n- &blas_suff -LAPACK-3.4.2\n\n- &comp_mpi_tc [gompi, *version]\n\n\neasyblock: Toolchain\n\nname: goolf\nversion: *version\n\nhomepage: (none)\ndescription: |\nGNU Compiler Collection (GCC) based compiler toolchain, including\nOpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.\n\ntoolchain: {name: system, version: system}\n\n# compiler toolchain dependencies\n# we need GCC and OpenMPI as explicit dependencies instead of gompi toolchain\n# because of toolchain preparation functions\ndependencies:\n- *comp_name: *comp_version\n- OpenMPI: 1.6.4\ntoolchain: *comp\n- *blaslib: *blasver\nversionsuffix: *blas_suff\ntoolchain: *comp_mpi_tc\n- FFTW: 3.3.3\ntoolchain: *comp_mpi_tc\n- ScaLAPACK: 2.0.2\nversionsuffix: !join [-, *blas, *blas_suff]\ntoolchain: *comp_mpi_tc\n\nmoduleclass: toolchain\n
                "},{"location":"writing-yeb-easyconfig-files/#python-2710-intel-2015byeb","title":"Python-2.7.10-intel-2015b.yeb","text":"
                _internal_variables_:\n- &numpyversion 1.9.2\n- &scipyversion 0.15.1\n\neasyblock: ConfigureMake\n\nname: Python\nversion: 2.7.10\n\nhomepage: http://python.org/\ndescription: |\nPython is a programming language that lets you work more quickly and integrate your systems\nmore effectively.\n\ntoolchain: intel, 2015b\ntoolchainopts: {pic: True, opt: True, optarch: True}\n\nsource_urls: ['http://www.python.org/ftp/python/%(version)s/']\nsources: [*SOURCE_TGZ]\n\n# python needs bzip2 to build the bz2 package\ndependencies: [\n- bzip2: 1.0.6\n- zlib: 1.2.8\n- libreadline: 6.3\n- ncurses: 5.9\n- SQLite: 3.8.10.2\n- Tk: 8.4.6\nversionsuffix: -no-X11\n# - OpenSSL: 1.0.1m\n#   OS dependency should be preferred if the os version is more recent then this version, its\n#   nice to have an up to date openssl for security reasons\n]\n\nosdependencies: [[openssl-devel, libssl-dev, libopenssl-devel]]\n\n# order is important!\n# package versions updated May 28th 2015\nexts_list: [\n[setuptools, '16.0', {\n        source_urls: [\"https://pypi.python.org/packages/source/s/setuptools/\"],\n}],\n[pip, 7.0.1, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pip/\"],\n}],\n[nose, 1.3.6, {\n        source_urls: [\"https://pypi.python.org/packages/source/n/nose/\"],\n}],\n[numpy, *numpyversion, {\n        source_urls: [\n[!join [\"http://sourceforge.net/projects/numpy/files/NumPy/\", *numpyversion], download]\n],\n        patches: [\nnumpy-1.8.0-mkl.patch, # % numpyversion,\n],\n}],\n[scipy, *scipyversion, {\n        source_urls: [\n[!join [\"http://sourceforge.net/projects/scipy/files/scipy/\", *scipyversion], download]],\n}],\n[blist, 1.3.6, {\n        source_urls: [\"https://pypi.python.org/packages/source/b/blist/\"],\n}],\n[mpi4py, 1.3.1, {\n        source_urls: [\"http://bitbucket.org/mpi4py/mpi4py/downloads/\"],\n}],\n[paycheck, 1.0.2, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/paycheck/\"],\n}],\n[argparse, 1.3.0, {\n        source_urls: [\"https://pypi.python.org/packages/source/a/argparse/\"],\n}],\n[pbr, 1.0.1, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pbr/\"],\n}],\n[lockfile, 0.10.2, {\n        source_urls: [\"https://pypi.python.org/packages/source/l/lockfile/\"],\n}],\n[Cython, '0.22', {\n        source_urls: [\"http://www.cython.org/release/\"],\n}],\n[six, 1.9.0, {\n        source_urls: [\"https://pypi.python.org/packages/source/s/six/\"],\n}],\n[dateutil, 2.4.2, {\n        source_tmpl: python-%(name)s-%(version)s.tar.gz,\n        source_urls: [\"https://pypi.python.org/packages/source/p/python-dateutil/\"],\n}],\n[deap, 1.0.2, {\n# escaped with quotes because yaml values can't start with %\n        source_tmpl: \"%(name)s-%(version)s.post2.tar.gz\",\n        source_urls: [\"https://pypi.python.org/packages/source/d/deap/\"],\n}],\n[decorator, 3.4.2, {\n        source_urls: [\"https://pypi.python.org/packages/source/d/decorator/\"],\n}],\n[arff, 2.0.2, {\n        source_tmpl: liac-%(name)s-%(version)s.zip,\n        source_urls: [\"https://pypi.python.org/packages/source/l/liac-arff/\"],\n}],\n[pycrypto, 2.6.1, {\n        modulename: Crypto,\n        source_urls: [\"http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/\"],\n}],\n[ecdsa, '0.13', {\n        source_urls: [\"https://pypi.python.org/packages/source/e/ecdsa/\"],\n}],\n[paramiko, 1.15.2, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/paramiko/\"],\n}],\n[pyparsing, 2.0.3, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pyparsing/\"],\n}],\n[netifaces, 0.10.4, {\n        source_urls: [\"https://pypi.python.org/packages/source/n/netifaces\"],\n}],\n[netaddr, 0.7.14, {\n        source_urls: [\"https://pypi.python.org/packages/source/n/netaddr\"],\n}],\n[mock, 1.0.1, {\n        source_urls: [\"https://pypi.python.org/packages/source/m/mock\"],\n}],\n[pytz, '2015.4', {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pytz\"],\n}],\n[pandas, 0.16.1, {\n        source_urls: [\"https://pypi.python.org/packages/source/p/pandas\"],\n}],\n]\n\nmoduleclass: lang\n
                "},{"location":"api/","title":"API","text":"

                Warning

                This page will soon replace https://docs.easybuild.io/en/latest/api.html.

                ** It still needs to be ported from reStructuredText (.rst) to MarkDown (.md), and you can help with that! **

                • source: docs/api.rst in easybuilders/easybuild repo
                • target: docs/api/index.md in easybuilders/easybuild-docs repo

                See https://github.com/easybuilders/easybuild-docs for more information.

                "},{"location":"api/summary/","title":"Summary","text":"
                • easybuild
                  • base
                    • exceptions
                    • fancylogger
                    • frozendict
                    • generaloption
                    • optcomplete
                    • rest
                    • testing
                    • wrapper
                  • framework
                    • easyblock
                    • easyconfig
                      • constants
                      • default
                      • easyconfig
                      • format
                        • convert
                        • format
                        • one
                        • pyheaderconfigobj
                        • two
                        • version
                        • yeb
                      • licenses
                      • parser
                      • style
                      • templates
                      • tools
                      • tweak
                      • types
                    • easystack
                    • extension
                    • extensioneasyblock
                  • main
                  • scripts
                    • bootstrap_eb
                    • clean_gists
                    • findPythonDeps
                    • fix_docs
                    • mk_tmpl_easyblock_for
                    • rpath_args
                  • toolchains
                    • cgmpich
                    • cgmpolf
                    • cgmvapich2
                    • cgmvolf
                    • cgompi
                    • cgoolf
                    • clanggcc
                    • compiler
                      • clang
                      • craype
                      • cuda
                      • dummycompiler
                      • fujitsu
                      • gcc
                      • ibmxl
                      • intel_compilers
                      • inteliccifort
                      • nvhpc
                      • pgi
                      • systemcompiler
                    • craycce
                    • craygnu
                    • crayintel
                    • craypgi
                    • dummy
                    • fcc
                    • ffmpi
                    • fft
                      • fftw
                      • fujitsufftw
                      • intelfftw
                    • foss
                    • fosscuda
                    • fujitsu
                    • gcc
                    • gcccore
                    • gcccuda
                    • gfbf
                    • gimkl
                    • gimpi
                    • gimpic
                    • giolf
                    • giolfc
                    • gmacml
                    • gmkl
                    • gmklc
                    • gmpich
                    • gmpich2
                    • gmpit
                    • gmpolf
                    • gmvapich2
                    • gmvolf
                    • gnu
                    • goalf
                    • gobff
                    • goblf
                    • gofbf
                    • golf
                    • golfc
                    • gomkl
                    • gomklc
                    • gompi
                    • gompic
                    • goolf
                    • goolfc
                    • gpsmpi
                    • gpsolf
                    • gqacml
                    • gsmpi
                    • gsolf
                    • iccifort
                    • iccifortcuda
                    • ictce
                    • iibff
                    • iimkl
                    • iimklc
                    • iimpi
                    • iimpic
                    • iiqmpi
                    • impich
                    • impmkl
                    • intel-para
                    • intel
                    • intel_compilers
                    • intelcuda
                    • iomkl
                    • iomklc
                    • iompi
                    • iompic
                    • ipsmpi
                    • iqacml
                    • ismkl
                    • linalg
                      • acml
                      • atlas
                      • blacs
                      • blis
                      • flame
                      • flexiblas
                      • fujitsussl
                      • gotoblas
                      • intelmkl
                      • lapack
                      • libsci
                      • openblas
                      • scalapack
                    • mpi
                      • craympich
                      • fujitsumpi
                      • intelmpi
                      • mpich
                      • mpich2
                      • mpitrampoline
                      • mvapich2
                      • openmpi
                      • psmpi
                      • qlogicmpi
                      • spectrummpi
                    • nvhpc
                    • nvofbf
                    • nvompi
                    • nvompic
                    • nvpsmpi
                    • nvpsmpic
                    • pgi
                    • pmkl
                    • pomkl
                    • pompi
                    • system
                    • xlcxlf
                    • xlmpich
                    • xlmpich2
                    • xlmvapich2
                    • xlompi
                  • tools
                    • asyncprocess
                    • build_details
                    • build_log
                    • config
                    • configobj
                    • containers
                      • apptainer
                      • base
                      • common
                      • docker
                      • singularity
                      • utils
                    • convert
                    • deprecated
                    • docs
                    • environment
                    • filetools
                    • github
                    • hooks
                    • include
                    • jenkins
                    • job
                      • backend
                      • gc3pie
                      • pbs_python
                      • slurm
                    • loose_version
                    • module_generator
                    • module_naming_scheme
                      • categorized_hmns
                      • categorized_mns
                      • easybuild_mns
                      • hierarchical_mns
                      • migrate_from_eb_to_hmns
                      • mns
                      • toolchain
                      • utilities
                    • modules
                    • multidiff
                    • options
                    • output
                    • package
                      • package_naming_scheme
                        • easybuild_deb_friendly_pns
                        • easybuild_pns
                        • pns
                      • utilities
                    • parallelbuild
                    • py2vs3
                      • py2
                      • py3
                    • repository
                      • filerepo
                      • gitrepo
                      • hgrepo
                      • repository
                      • svnrepo
                    • robot
                    • run
                    • systemtools
                    • testing
                    • toolchain
                      • compiler
                      • constants
                      • fft
                      • linalg
                      • mpi
                      • options
                      • toolchain
                      • toolchainvariables
                      • utilities
                      • variables
                    • utilities
                    • variables
                    • version
                ","boost":0.5},{"location":"api/easybuild/","title":"easybuild","text":"
                • easybuild
                  • base
                    • exceptions
                    • fancylogger
                    • frozendict
                    • generaloption
                    • optcomplete
                    • rest
                    • testing
                    • wrapper
                  • framework
                    • easyblock
                    • easyconfig
                      • constants
                      • default
                      • easyconfig
                      • format
                        • convert
                        • format
                        • one
                        • pyheaderconfigobj
                        • two
                        • version
                        • yeb
                      • licenses
                      • parser
                      • style
                      • templates
                      • tools
                      • tweak
                      • types
                    • easystack
                    • extension
                    • extensioneasyblock
                  • main
                  • scripts
                    • bootstrap_eb
                    • clean_gists
                    • findPythonDeps
                    • fix_docs
                    • mk_tmpl_easyblock_for
                    • rpath_args
                  • toolchains
                    • cgmpich
                    • cgmpolf
                    • cgmvapich2
                    • cgmvolf
                    • cgompi
                    • cgoolf
                    • clanggcc
                    • compiler
                      • clang
                      • craype
                      • cuda
                      • dummycompiler
                      • fujitsu
                      • gcc
                      • ibmxl
                      • intel_compilers
                      • inteliccifort
                      • nvhpc
                      • pgi
                      • systemcompiler
                    • craycce
                    • craygnu
                    • crayintel
                    • craypgi
                    • dummy
                    • fcc
                    • ffmpi
                    • fft
                      • fftw
                      • fujitsufftw
                      • intelfftw
                    • foss
                    • fosscuda
                    • fujitsu
                    • gcc
                    • gcccore
                    • gcccuda
                    • gfbf
                    • gimkl
                    • gimpi
                    • gimpic
                    • giolf
                    • giolfc
                    • gmacml
                    • gmkl
                    • gmklc
                    • gmpich
                    • gmpich2
                    • gmpit
                    • gmpolf
                    • gmvapich2
                    • gmvolf
                    • gnu
                    • goalf
                    • gobff
                    • goblf
                    • gofbf
                    • golf
                    • golfc
                    • gomkl
                    • gomklc
                    • gompi
                    • gompic
                    • goolf
                    • goolfc
                    • gpsmpi
                    • gpsolf
                    • gqacml
                    • gsmpi
                    • gsolf
                    • iccifort
                    • iccifortcuda
                    • ictce
                    • iibff
                    • iimkl
                    • iimklc
                    • iimpi
                    • iimpic
                    • iiqmpi
                    • impich
                    • impmkl
                    • intel-para
                    • intel
                    • intel_compilers
                    • intelcuda
                    • iomkl
                    • iomklc
                    • iompi
                    • iompic
                    • ipsmpi
                    • iqacml
                    • ismkl
                    • linalg
                      • acml
                      • atlas
                      • blacs
                      • blis
                      • flame
                      • flexiblas
                      • fujitsussl
                      • gotoblas
                      • intelmkl
                      • lapack
                      • libsci
                      • openblas
                      • scalapack
                    • mpi
                      • craympich
                      • fujitsumpi
                      • intelmpi
                      • mpich
                      • mpich2
                      • mpitrampoline
                      • mvapich2
                      • openmpi
                      • psmpi
                      • qlogicmpi
                      • spectrummpi
                    • nvhpc
                    • nvofbf
                    • nvompi
                    • nvompic
                    • nvpsmpi
                    • nvpsmpic
                    • pgi
                    • pmkl
                    • pomkl
                    • pompi
                    • system
                    • xlcxlf
                    • xlmpich
                    • xlmpich2
                    • xlmvapich2
                    • xlompi
                  • tools
                    • asyncprocess
                    • build_details
                    • build_log
                    • config
                    • configobj
                    • containers
                      • apptainer
                      • base
                      • common
                      • docker
                      • singularity
                      • utils
                    • convert
                    • deprecated
                    • docs
                    • environment
                    • filetools
                    • github
                    • hooks
                    • include
                    • jenkins
                    • job
                      • backend
                      • gc3pie
                      • pbs_python
                      • slurm
                    • loose_version
                    • module_generator
                    • module_naming_scheme
                      • categorized_hmns
                      • categorized_mns
                      • easybuild_mns
                      • hierarchical_mns
                      • migrate_from_eb_to_hmns
                      • mns
                      • toolchain
                      • utilities
                    • modules
                    • multidiff
                    • options
                    • output
                    • package
                      • package_naming_scheme
                        • easybuild_deb_friendly_pns
                        • easybuild_pns
                        • pns
                      • utilities
                    • parallelbuild
                    • py2vs3
                      • py2
                      • py3
                    • repository
                      • filerepo
                      • gitrepo
                      • hgrepo
                      • repository
                      • svnrepo
                    • robot
                    • run
                    • systemtools
                    • testing
                    • toolchain
                      • compiler
                      • constants
                      • fft
                      • linalg
                      • mpi
                      • options
                      • toolchain
                      • toolchainvariables
                      • utilities
                      • variables
                    • utilities
                    • variables
                    • version
                ","boost":0.5},{"location":"api/easybuild/main/","title":"main","text":"

                Main entry point for EasyBuild: build software from .eb input file

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                • Ward Poelmans (Ghent University)
                • Fotis Georgatos (Uni.Lu, NTUA)
                • Maxime Boissonneault (Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.build_and_install_software","title":"build_and_install_software(ecs, init_session_state, exit_on_failure=True)","text":"

                Build and install software for all provided parsed easyconfig files.

                PARAMETER DESCRIPTION ecs

                easyconfig files to install software with

                init_session_state

                initial session state, to use in test reports

                exit_on_failure

                whether or not to exit on installation failure

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.clean_exit","title":"clean_exit(logfile, tmpdir, testing, silent=False)","text":"

                Small utility function to perform a clean exit.

                ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.find_easyconfigs_by_specs","title":"find_easyconfigs_by_specs(build_specs, robot_path, try_to_generate, testing=False)","text":"

                Find easyconfigs by build specifications.

                ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.main","title":"main(args=None, logfile=None, do_build=None, testing=False, modtool=None)","text":"

                Main function: parse command line options, and act accordingly.

                PARAMETER DESCRIPTION args

                command line arguments to use

                DEFAULT: None

                logfile

                log file to use

                DEFAULT: None

                do_build

                whether or not to actually perform the build

                DEFAULT: None

                testing

                enable testing mode

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.process_easystack","title":"process_easystack(easystack_path, args, logfile, testing, init_session_state, do_build)","text":"

                Process an EasyStack file. That means, parsing, looping over all items in the EasyStack file building (where requested) the individual items, etc

                PARAMETER DESCRIPTION easystack_path

                path to EasyStack file to be processed

                args

                original command line arguments as received by main()

                logfile

                log file to use

                testing

                enable testing mode

                init_session_state

                initial session state, to use in test reports

                do_build

                whether or not to actually perform the build

                ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.process_eb_args","title":"process_eb_args(eb_args, eb_go, cfg_settings, modtool, testing, init_session_state, hooks, do_build)","text":"

                Remainder of main function, actually process provided arguments (list of files/paths), according to specified options.

                PARAMETER DESCRIPTION eb_args

                list of arguments that were specified to 'eb' command (or an easystack file); includes filenames/paths of files to process (mostly easyconfig files, but can also includes patch files, etc.)

                eb_go

                EasyBuildOptions instance (option parser)

                cfg_settings

                as returned by set_up_configuration

                modtool

                the modules tool, as returned by modules_tool()

                testing

                bool whether we're running in test mode

                init_session_state

                initial session state, to use in test reports

                hooks

                hooks, as loaded by load_hooks from the options

                do_build

                whether or not to actually perform the build

                ","boost":0.5},{"location":"api/easybuild/main/#easybuild.main.run_contrib_style_checks","title":"run_contrib_style_checks(ecs, check_contrib, check_style)","text":"

                Handle running of contribution and style checks on specified easyconfigs (if desired).

                RETURNS DESCRIPTION

                boolean indicating whether or not any checks were actually performed

                ","boost":0.5},{"location":"api/easybuild/base/","title":"base","text":"
                • easybuild
                  • base
                    • exceptions
                    • fancylogger
                    • frozendict
                    • generaloption
                    • optcomplete
                    • rest
                    • testing
                    • wrapper
                ","boost":0.5},{"location":"api/easybuild/base/exceptions/","title":"exceptions","text":"

                Module providing custom exceptions.

                Authors:

                • Kenneth Hoste (Ghent University)
                • Riccardo Murri (University of Zurich)
                ","boost":0.5},{"location":"api/easybuild/base/exceptions/#easybuild.base.exceptions.LoggedException","title":"LoggedException","text":"

                Bases: Exception

                Exception that logs it's message when it is created.

                ","boost":0.5},{"location":"api/easybuild/base/exceptions/#easybuild.base.exceptions.LoggedException.__init__","title":"__init__(msg, *args, **kwargs)","text":"

                Constructor.

                PARAMETER DESCRIPTION msg

                exception message

                *args

                list of formatting arguments for exception message

                DEFAULT: ()

                logger

                logger to use

                ","boost":0.5},{"location":"api/easybuild/base/exceptions/#easybuild.base.exceptions.get_callers_logger","title":"get_callers_logger()","text":"

                Get logger defined in caller's environment

                RETURNS DESCRIPTION

                logger instance (or None if none was found)

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/","title":"fancylogger","text":"

                This module implements a fancy logger on top of python logging

                It adds: - custom specifiers for mpi logging (the mpirank) with autodetection of mpi - custom specifier for always showing the calling function's name - rotating file handler - a default formatter. - logging to an UDP server (vsc.logging.logdaemon.py f.ex.) - easily setting loglevel - easily add extra specifiers in the log record - internal debugging through environment variables FANCYLOGGER_GETLOGGER_DEBUG for getLogger FANCYLOGGER_LOGLEVEL_DEBUG for setLogLevel - set FANCYLOGGER_IGNORE_MPI4PY to disable mpi4py module import mpi4py (when available) is automatically used for mpi-aware log format In case mpi4py however that it is available but broken, set this variable to 1 to avoid importing it.

                usage:

                from easybuild.base import fancylogger

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger--will-log-to-screen-by-default","title":"will log to screen by default","text":"

                fancylogger.logToFile('dir/filename') fancylogger.setLogLevelDebug() # set global loglevel to debug logger = fancylogger.getLogger(name) # get a logger with a specific name logger.setLevel(level) # set local debugging level

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger--if-you-want-the-logger-to-be-showing-modulenamefunctionname-as-the-name-use","title":"If you want the logger to be showing modulename.functionname as the name, use","text":"

                fancylogger.getLogger(fname=True)

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger--you-can-use-the-handler-to-set-a-different-formatter-by-using","title":"you can use the handler to set a different formatter by using","text":"

                handler = fancylogger.logToFile('dir/filename') formatstring = '%(asctime)-15s %(levelname)-10s %(mpirank)-5s %(funcname)-15s %(threadName)-10s %(message)s' handler.setFormatter(logging.Formatter(formatstring))

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger--setting-a-global-loglevel-will-impact-all-logers","title":"setting a global loglevel will impact all logers:","text":"

                from easybuild.base import fancylogger logger = fancylogger.getLogger(\"test\") logger.warning(\"warning\") 2012-01-05 14:03:18,238 WARNING .test. MainThread warning logger.debug(\"warning\") fancylogger.setLogLevelDebug() logger.debug(\"warning\") 2012-01-05 14:03:46,222 DEBUG .test. MainThread warning

                Logging to a udp server: - set an environment variable FANCYLOG_SERVER and FANCYLOG_SERVER_PORT (optionally) - this will make fancylogger log to that that server and port instead of the screen.

                Authors:

                • Jens Timmerman (Ghent University)
                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogRecord","title":"FancyLogRecord","text":"

                Bases: logging.LogRecord

                This class defines a custom log record. Adding extra specifiers is as simple as adding attributes to the log record

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger","title":"FancyLogger","text":"

                Bases: logging.getLoggerClass()

                This is a custom Logger class that uses the FancyLogRecord and has extra log methods raiseException and deprecated and streaming versions for debug,info,warning and error.

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.__copy__","title":"__copy__()","text":"

                Return shallow copy, in this case reference to current logger

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.__deepcopy__","title":"__deepcopy__(memo)","text":"

                This behaviour is undefined, fancylogger will return shallow copy, instead just crashing.

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.deprecated","title":"deprecated(msg, cur_ver, max_ver, depth=2, exception=None, log_callback=None, *args, **kwargs)","text":"

                Log deprecation message, throw error if current version is passed given threshold.

                Checks only major/minor version numbers (MAJ.MIN.x) by default, controlled by 'depth' argument.

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.fail","title":"fail(message, *args)","text":"

                Log error message and raise exception.

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.get_parent_info","title":"get_parent_info(prefix, verbose=True)","text":"

                Return pretty text version

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.makeRecord","title":"makeRecord(name, level, pathname, lineno, msg, args, excinfo, func=None, extra=None, sinfo=None)","text":"

                overwrite make record to use a fancy record (with more options)

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.raiseException","title":"raiseException(message, exception=None, catch=False)","text":"

                logs message and raises an exception (since it can be caught higher up and handled) and raises it afterwards

                PARAMETER DESCRIPTION exception

                subclass of Exception to use for raising

                DEFAULT: None

                catch

                boolean, try to catch raised exception and add relevant info to message (this will also happen if exception is not specified)

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.setLevelName","title":"setLevelName(level_name)","text":"

                Set the level by name.

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.streamDebug","title":"streamDebug(data)","text":"

                Get a DEBUG loglevel streamLog

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.streamError","title":"streamError(data)","text":"

                Get a ERROR loglevel streamLog

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.streamInfo","title":"streamInfo(data)","text":"

                Get a INFO loglevel streamLog

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyLogger.streamLog","title":"streamLog(levelno, data)","text":"

                Add (continuous) data to an existing message stream (eg a stream after a logging.info()

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyStreamHandler","title":"FancyStreamHandler","text":"

                Bases: logging.StreamHandler

                The logging StreamHandler with uniform named arg in init for selecting the stream.

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.FancyStreamHandler.__init__","title":"__init__(stream=None, stdout=None)","text":"

                Initialize the stream (default is sys.stderr) - stream : a specific stream to use - stdout: if True and no stream specified, set stream to sys.stdout (False log to stderr)

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.disableDefaultHandlers","title":"disableDefaultHandlers()","text":"

                Disable the default handlers on all fancyloggers - if this is the last logger, it will just set the logLevel very high

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.enableDefaultHandlers","title":"enableDefaultHandlers()","text":"

                (re)Enable the default handlers on all fancyloggers

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getAllExistingLoggers","title":"getAllExistingLoggers()","text":"RETURNS DESCRIPTION

                the existing loggers, in a list of C{(name, logger)} tuples

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getAllFancyloggers","title":"getAllFancyloggers()","text":"

                Return all loggers that are not fancyloggers

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getAllNonFancyloggers","title":"getAllNonFancyloggers()","text":"RETURNS DESCRIPTION

                all loggers that are not fancyloggers

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getDetailsLogLevels","title":"getDetailsLogLevels(fancy=True, numeric=False)","text":"

                Return list of (name,loglevelname) pairs of existing loggers

                PARAMETER DESCRIPTION fancy

                if True, returns only Fancylogger; if False, returns non-FancyLoggers, anything else, return all loggers

                DEFAULT: True

                numeric

                if True, return the numeric value instead of the name

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getLevelInt","title":"getLevelInt(level_name)","text":"

                Given a level name, return the int value

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getLogger","title":"getLogger(name=None, fname=False, clsname=False, fancyrecord=None)","text":"

                Returns a Fancylogger instance if fname is True, the loggers name will be 'name[.classname].functionname' if clsname is True the loggers name will be 'name.classname[.functionname]'

                This will return a logger with a fancylog record, which includes the className template for the logformat This can make your code a lot slower, so this can be disabled by setting fancyrecord or class module FANCYLOG_FANCYRECORD to False, or will also be disabled if a Name is set (and fancyrecord and module constant FANCYLOG_FANCYRECORD are also not set).

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.getRootLoggerName","title":"getRootLoggerName()","text":"

                returns the name of the root module this is the module that is actually running everything and so doing the logging

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.is_fancyroot","title":"is_fancyroot()","text":"

                Return if the logging.root logger is a FancyLogger

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.logToDevLog","title":"logToDevLog(enable=True, name=None, handler=None)","text":"

                Log to syslog through /dev/log

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.logToFile","title":"logToFile(filename, enable=True, filehandler=None, name=None, max_bytes=MAX_BYTES, backup_count=BACKUPCOUNT)","text":"

                enable (or disable) logging to file given filename will log to a file with the given name using a rotatingfilehandler this will let the file grow to MAX_BYTES and then rotate it saving the last BACKUPCOUNT files.

                returns the filehandler (this can be used to later disable logging to file)

                if you want to disable logging to file, pass the earlier obtained filehandler

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.logToScreen","title":"logToScreen(enable=True, handler=None, name=None, stdout=False, colorize=Colorize.NEVER)","text":"

                enable (or disable) logging to screen returns the screenhandler (this can be used to later disable logging to screen)

                if you want to disable logging to screen, pass the earlier obtained screenhandler

                you can also pass the name of the logger for which to log to the screen otherwise you'll get all logs on the screen

                by default, logToScreen will log to stderr; logging to stdout instead can be done by setting the 'stdout' parameter to True

                The colorize parameter enables or disables log colorization using ANSI terminal escape sequences, according to the values allowed in the colorize parameter to function _screenLogFormatterFactory (which see).

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.logToUDP","title":"logToUDP(hostname, port=5005, enable=True, datagramhandler=None, name=None)","text":"

                enable (or disable) logging to udp given hostname and port.

                returns the filehandler (this can be used to later disable logging to udp)

                if you want to disable logging to udp, pass the earlier obtained filehandler, and set boolean = False

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.resetroot","title":"resetroot()","text":"

                Restore the original logging.root logger

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogFormat","title":"setLogFormat(f_format)","text":"

                Set the log format. (Has to be set before logToSomething is called).

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevel","title":"setLogLevel(level)","text":"

                Set a global log level for all FancyLoggers

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevelDebug","title":"setLogLevelDebug()","text":"

                shorthand for setting debug level

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevelError","title":"setLogLevelError()","text":"

                shorthand for setting loglevel to Error

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevelInfo","title":"setLogLevelInfo()","text":"

                shorthand for setting loglevel to Info

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setLogLevelWarning","title":"setLogLevelWarning()","text":"

                shorthand for setting loglevel to Warning

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setTestLogFormat","title":"setTestLogFormat()","text":"

                Set the log format to the test format (i.e. without timestamp).

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.setroot","title":"setroot(fancyrecord=FANCYLOG_FANCYRECORD)","text":"

                Set a FancyLogger instance as the logging root logger with (effective)loglevel of current root FancyLogger

                PARAMETER DESCRIPTION fancyrecord

                is enabled or not (default FANCYLOG_FANCYRECORD module constant) Detecting the loglevel is best-effort, better to set the loglevel after setroot()

                DEFAULT: FANCYLOG_FANCYRECORD

                ","boost":0.5},{"location":"api/easybuild/base/fancylogger/#easybuild.base.fancylogger.thread_name","title":"thread_name()","text":"

                returns the current threads name

                ","boost":0.5},{"location":"api/easybuild/base/frozendict/","title":"frozendict","text":"

                frozendict is an immutable wrapper around dictionaries that implements the complete mapping interface. It can be used as a drop-in replacement for dictionaries where immutability is desired.

                ","boost":0.5},{"location":"api/easybuild/base/frozendict/#easybuild.base.frozendict.FrozenDictKnownKeys","title":"FrozenDictKnownKeys","text":"

                Bases: FrozenDict

                A frozen dictionary only allowing known keys.

                ","boost":0.5},{"location":"api/easybuild/base/frozendict/#easybuild.base.frozendict.FrozenDictKnownKeys.__getitem__","title":"__getitem__(key, *args, **kwargs)","text":"

                Redefine getitem to provide a better KeyError message.

                ","boost":0.5},{"location":"api/easybuild/base/frozendict/#easybuild.base.frozendict.FrozenDictKnownKeys.__init__","title":"__init__(*args, **kwargs)","text":"

                Constructor, only way to define the contents.

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/","title":"generaloption","text":"

                A class that can be used to generated options to python scripts in a general way.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Jens Timmerman (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOption","title":"ExtOption","text":"

                Bases: CompleterOption

                Extended options class - enable/disable support

                Actions: - shorthelp : hook for shortend help messages - confighelp : hook for configfile-style help messages - store_debuglog : turns on fancylogger debugloglevel - also: 'store_infolog', 'store_warninglog' - add : add value to default (result is default + value) - add_first : add default to value (result is value + default) - extend : alias for add with strlist type - type must support + (add) and one of negate (neg) or slicing (getslice) - add_flex : similar to add / add_first, but replaces the first \"empty\" element with the default - the empty element is dependent of the type - for {str,path}{list,tuple} this is the empty string - types must support the index method to determine the location of the \"empty\" element - the replacement uses + - e.g. a strlist type with value \"0,,1\"` and default [3,4] and action add_flex will use the empty string '' as \"empty\" element, and will result in [0,3,4,1] (not [0,[3,4],1]) (but also a strlist with value \"\" and default [3,4] will result in [3,4]; so you can't set an empty list with add_flex) - date : convert into datetime.date - datetime : convert into datetime.datetime - regex: compile str in regexp - store_or_None - set default to None if no option passed, - set to default if option without value passed, - set to value if option with value passed

                Types: - strlist, strtuple : convert comma-separated string in a list resp. tuple of strings - pathlist, pathtuple : using os.pathsep, convert pathsep-separated string in a list resp. tuple of strings - the path separator is OS-dependent

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOption.__init__","title":"__init__(*args, **kwargs)","text":"

                Add logger to init

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOption.process","title":"process(opt, value, values, parser)","text":"

                Handle option-as-value issues before actually processing option.

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOption.take_action","title":"take_action(action, dest, opt, value, values, parser)","text":"

                Extended take_action

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionGroup","title":"ExtOptionGroup","text":"

                Bases: OptionGroup

                An OptionGroup with support for configfile section names

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionGroup.add_option","title":"add_option(*args, **kwargs)","text":"

                Extract configfile section info

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser","title":"ExtOptionParser","text":"

                Bases: OptionParser

                Make an option parser that limits the C{-h} / C{--shorthelp} to short opts only, C{-H} / C{--help} for all options.

                Pass options through environment. Like:

                • C{export PROGNAME_SOMEOPTION = value} will generate {--someoption=value}
                • C{export PROGNAME_OTHEROPTION = 1} will generate {--otheroption}
                • C{export PROGNAME_OTHEROPTION = 0} (or no or false) won't do anything

                distinction is made based on option.action in TYPED_ACTIONS allow C{--enable-} / C{--disable-} (using eg ExtOption option_class)

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.__init__","title":"__init__(*args, **kwargs)","text":"

                Following named arguments are specific to ExtOptionParser (the remaining ones are passed to the parent OptionParser class)

                :param help_to_string: boolean, if True, the help is written\n                       to a newly created StingIO instance\n:param help_to_file: filehandle, help is written to this filehandle\n:param envvar_prefix: string, specify the environment variable prefix\n                      to use (if you don't want the default one)\n:param process_env_options: boolean, if False, don't check the\n                            environment for options (default: True)\n:param error_env_options: boolean, if True, use error_env_options_method\n                          if an environment variable with correct envvar_prefix\n                          exists but does not correspond to an existing option\n                          (default: False)\n:param error_env_options_method: callable; method to use to report error\n                                 in used environment variables (see error_env_options);\n                                 accepts string value + additional\n                                 string arguments for formatting the message\n                                 (default: own log.error method)\n
                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.check_help","title":"check_help(fh)","text":"

                Checks filehandle for help functions

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_description","title":"format_description(formatter)","text":"

                Extend to allow docstring as description

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_epilog","title":"format_epilog(formatter)","text":"

                Allow multiple epilog parts

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_help","title":"format_help(formatter=None)","text":"

                For py2.4 compatibility reasons (missing epilog). This is the py2.7 / optparse 1.5.3 code

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_option_mdhelp","title":"format_option_mdhelp(formatter=None)","text":"

                Formatting for help in rst format

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.format_option_rsthelp","title":"format_option_rsthelp(formatter=None)","text":"

                Formatting for help in rst format

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.get_default_values","title":"get_default_values()","text":"

                Introduce the ExtValues class with class constant - make it dynamic, otherwise the class constant is shared between multiple instances - class constant is used to avoid _action_taken as option in the dict - only works by using reference to object - same for _logaction_taken

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.get_env_options","title":"get_env_options()","text":"

                Retrieve options from the environment: prefix_longopt.upper()

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.get_env_options_prefix","title":"get_env_options_prefix()","text":"

                Return the prefix to use for options passed through the environment

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.get_option_by_long_name","title":"get_option_by_long_name(name)","text":"

                Return the option matching the long option name

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.is_value_a_commandline_option","title":"is_value_a_commandline_option(opt, value, index=None)","text":"

                Determine if value is/could be an option passed via the commandline. If it is, return the reason why (can be used as message); or return None if it isn't.

                opt is the option flag to which the value is passed; index is the index of the value on the commandline (if None, it is determined from orig_rargs and rargs)

                The method tests for possible ambiguity on the commandline when the parser interprets the argument following an option as a value, whereas it is far more likely that it is (intended as) an option; --longopt=value is never considered ambiguous, regardless of the value.

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_confighelp","title":"print_confighelp(fh=None)","text":"

                Print help as a configfile.

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_help","title":"print_help(fh=None)","text":"

                Intercept print to file to print to string and remove the ENABLE/DISABLE options from help

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_mdhelp","title":"print_mdhelp(fh=None)","text":"

                Print help in MarkDown format

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_rsthelp","title":"print_rsthelp(fh=None)","text":"

                Print help in rst format

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.print_shorthelp","title":"print_shorthelp(fh=None)","text":"

                Print a shortened help (no longopts)

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.set_description_docstring","title":"set_description_docstring()","text":"

                Try to find the main docstring and add it if description is not None

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.ExtOptionParser.set_usage","title":"set_usage(usage)","text":"

                Return usage and set try to set autogenerated description.

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption","title":"GeneralOption","text":"

                Bases: object

                'Used-to-be simple' wrapper class for option parsing

                Options with go_ prefix are for this class, the remainder is passed to the parser - go_args : use these instead of of sys.argv[1:] - go_columns : specify column width (in columns) - go_useconfigfiles : use configfiles or not (default set by CONFIGFILES_USE) if True, an option --configfiles will be added - go_configfiles : list of configfiles to parse. Uses ConfigParser.read; last file wins - go_configfiles_initenv : section dict of key/value dict; inserted before configfileparsing As a special case, using all uppercase key in DEFAULT section with a case-sensitive configparser can be used to set \"constants\" for easy interpolation in all sections. - go_loggername : name of logger, default classname - go_mainbeforedefault : set the main options before the default ones - go_autocompleter : dict with named options to pass to the autocomplete call (eg arg_completer) if is None: disable autocompletion; default is {} (ie no extra args passed)

                Sections starting with the string 'raw_' in the sectionname will be parsed as raw sections, meaning there will be no interpolation of the strings. This comes in handy if you want to configure strings with templates in them.

                Options process order (last one wins) 0. default defined with option 1. value in (last) configfile (last configfile wins) 2. options parsed by option parser In case the ExtOptionParser is used 0. value set through environment variable 1. value set through commandline option

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.add_group_parser","title":"add_group_parser(opt_dict, description, prefix=None, otherdefaults=None, section_name=None)","text":"

                Make a group parser from a dict

                @type opt_dict: dict @type description: a 2 element list (short and long description) @section_name: str, the name of the section group in the config file.

                PARAMETER DESCRIPTION opt_dict

                options, with the form C{\"long_opt\" : value}. Value is a C{tuple} containing C{(help,type,action,default(,optional string=short option; list/tuple=choices; dict=add_option kwargs))} help message passed through opt_dict will be extended with type and default If section_name is None, prefix will be used. If prefix is None or '', 'DEFAULT' is used.

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.autocomplete","title":"autocomplete()","text":"

                Set the autocompletion magic via optcomplete

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.configfile_parser_init","title":"configfile_parser_init(initenv=None)","text":"

                Initialise the configparser to use.

                :param initenv: insert initial environment into the configparser.\n    It is a dict of dicts; the first level key is the section name;\n    the 2nd level key,value is the key=value.\n    All section names, keys and values are converted to strings.\n
                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.default_parseoptions","title":"default_parseoptions()","text":"

                Return default options

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.dict_by_prefix","title":"dict_by_prefix(merge_empty_prefix=False)","text":"

                Break the options dict by prefix; return nested dict.

                PARAMETER DESCRIPTION

                boolean (default False) also (try to) merge the empty prefix in the root of the dict. If there is a non-prefixed optionname that matches a prefix, it will be rejected and error will be logged.

                TYPE: merge_empty_prefix

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.generate_cmd_line","title":"generate_cmd_line(ignore=None, add_default=None)","text":"

                Create the commandline options that would create the current self.options. The result is sorted on the destination names.

                :param ignore : regex on destination :param add_default : print value that are equal to default

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.get_options_by_prefix","title":"get_options_by_prefix(prefix)","text":"

                Get all options that set with prefix. Return a dict. The keys are stripped of the prefix.

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.get_options_by_section","title":"get_options_by_section(section)","text":"

                Get all options from section. Return a dict.

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.main_options","title":"main_options()","text":"

                Create the main options automatically

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.make_option_metavar","title":"make_option_metavar(longopt, details)","text":"

                Generate the metavar for option longopt @type longopt: str @type details: tuple

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.make_options_option_name_and_destination","title":"make_options_option_name_and_destination(prefix, key)","text":"

                Make the options option name

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.parseconfigfiles","title":"parseconfigfiles()","text":"

                Parse configfiles

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.parseoptions","title":"parseoptions(options_list=None)","text":"

                Parse the options

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.postprocess","title":"postprocess()","text":"

                Some additional processing

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.set_go_debug","title":"set_go_debug()","text":"

                Check if debug options are on and then set fancylogger to debug. This is not the default way to set debug, it enables debug logging in an earlier stage to debug generaloption itself.

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.GeneralOption.validate","title":"validate()","text":"

                Final step, allows for validating the options and/or args

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.SimpleOption","title":"SimpleOption","text":"

                Bases: GeneralOption

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.SimpleOption.__init__","title":"__init__(go_dict=None, descr=None, short_groupdescr=None, long_groupdescr=None, config_files=None)","text":"

                Initialisation

                PARAMETER DESCRIPTION go_dict

                General Option option dict

                DEFAULT: None

                short_groupdescr

                short description of main options

                DEFAULT: None

                long_groupdescr

                longer description of main options

                DEFAULT: None

                config_files

                list of configfiles to read options from a general options dict has as key the long option name, and is followed by a list/tuple mandatory are 4 elements : option help, type, action, default a 5th element is optional and is the short help name (if any) the generated help will include the docstring

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.check_str_list_tuple","title":"check_str_list_tuple(option, opt, value)","text":"

                check function for strlist and strtuple type assumes value is comma-separated list returns list or tuple of strings

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.get_empty_add_flex","title":"get_empty_add_flex(allvalues, self=None)","text":"

                Return the empty element for add_flex action for allvalues

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.set_columns","title":"set_columns(cols=None)","text":"

                Set os.environ COLUMNS variable - only if it is not set already

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.simple_option","title":"simple_option(go_dict=None, descr=None, short_groupdescr=None, long_groupdescr=None, config_files=None)","text":"

                A function that returns a single level GeneralOption option parser

                PARAMETER DESCRIPTION go_dict

                General Option option dict

                DEFAULT: None

                short_groupdescr

                short description of main options

                DEFAULT: None

                long_groupdescr

                longer description of main options

                DEFAULT: None

                config_files

                list of configfiles to read options from a general options dict has as key the long option name, and is followed by a list/tuple mandatory are 4 elements : option help, type, action, default a 5th element is optional and is the short help name (if any) the generated help will include the docstring

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/base/generaloption/#easybuild.base.generaloption.what_str_list_tuple","title":"what_str_list_tuple(name)","text":"

                Given name, return separator, class and helptext wrt separator. (Currently supports strlist, strtuple, pathlist, pathtuple)

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/","title":"optcomplete","text":"

                Automatic completion for optparse module.

                This module provide automatic bash completion support for programs that use the optparse module. The premise is that the optparse options parser specifies enough information (and more) for us to be able to generate completion strings esily. Another advantage of this over traditional completion schemes where the completion strings are hard-coded in a separate bash source file, is that the same code that parses the options is used to generate the completions, so the completions is always up-to-date with the program itself.

                In addition, we allow you specify a list of regular expressions or code that define what kinds of files should be proposed as completions to this file if needed. If you want to implement more complex behaviour, you can instead specify a function, which will be called with the current directory as an argument.

                You need to activate bash completion using the shell script function that comes with optcomplete (see http://furius.ca/optcomplete for more details).

                Authors:

                • Martin Blais (blais@furius.ca)
                • Stijn De Weirdt (Ghent University)

                This is a copy of optcomplete.py (changeset 17:e0a9131a94cc) from source: https://hg.furius.ca/public/optcomplete

                Modification by stdweird: - cleanup

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.AllCompleter","title":"AllCompleter","text":"

                Bases: Completer

                Completes by listing all possible files in current directory.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.CmdComplete","title":"CmdComplete","text":"

                Bases: object

                Simple default base class implementation for a subcommand that supports command completion. This class is assuming that there might be a method addopts(self, parser) to declare options for this subcommand, and an optional completer data member to contain command-specific completion. Of course, you don't really have to use this, but if you do it is convenient to have it here.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.Completer","title":"Completer","text":"

                Bases: object

                Base class to derive all other completer classes from. It generates an empty completion list

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.Completer.__call__","title":"__call__(**kwargs)","text":"

                Check mandatory args, then return _call

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.CompleterMissingCallArgument","title":"CompleterMissingCallArgument","text":"

                Bases: Exception

                Exception to raise when call arg is missing

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.CompleterOption","title":"CompleterOption","text":"

                Bases: OPTION_CLASS

                optparse Option class with completer attribute

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.DirCompleter","title":"DirCompleter","text":"

                Bases: Completer

                Completes by listing subdirectories only.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.FileCompleter","title":"FileCompleter","text":"

                Bases: Completer

                Completes by listing all possible files in current directory. If endings are specified, then limit the files to those.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.KnownHostsCompleter","title":"KnownHostsCompleter","text":"

                Bases: Completer

                Completes a list of known hostnames

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.ListCompleter","title":"ListCompleter","text":"

                Bases: Completer

                Completes by filtering using a fixed list of strings.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.NoneCompleter","title":"NoneCompleter","text":"

                Bases: Completer

                Generates empty completion list. For compatibility reasons.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.RegexCompleter","title":"RegexCompleter","text":"

                Bases: Completer

                Completes by filtering all possible files with the given list of regexps.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.autocomplete","title":"autocomplete(parser, arg_completer=None, opt_completer=None, subcmd_completer=None, subcommands=None)","text":"

                Automatically detect if we are requested completing and if so generate completion automatically from given parser.

                'parser' is the options parser to use.

                'arg_completer' is a callable object that gets invoked to produce a list of completions for arguments completion (oftentimes files).

                'opt_completer' is the default completer to the options that require a value.

                'subcmd_completer' is the default completer for the subcommand arguments.

                If 'subcommands' is specified, the script expects it to be a map of command-name to an object of any kind. We are assuming that this object is a map from command name to a pair of (options parser, completer) for the command. If the value is not such a tuple, the method 'autocomplete(completer)' is invoked on the resulting object.

                This will attempt to match the first non-option argument into a subcommand name and if so will use the local parser in the corresponding map entry's value. This is used to implement completion for subcommand syntax and will not be needed in most cases.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.error_override","title":"error_override(self, msg)","text":"

                Hack to keep OptionParser from writing to sys.stderr when calling self.exit from self.error

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.extract_word","title":"extract_word(line, point)","text":"

                Return a prefix and suffix of the enclosing word. The character under the cursor is the first character of the suffix.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.gen_cmdline","title":"gen_cmdline(cmd_list, partial, shebang=True)","text":"

                Create the commandline to generate simulated tabcompletion output

                PARAMETER DESCRIPTION cmd_list

                command to execute as list of strings

                partial

                the string to autocomplete (typically, partial is an element of the cmd_list)

                shebang

                script has python shebang (if not, add sys.executable)

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.get_shell","title":"get_shell()","text":"

                Determine the shell, update class constant SHELL and return the shell Idea is to call it just once

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.guess_first_nonoption","title":"guess_first_nonoption(gparser, subcmds_map)","text":"

                Given a global options parser, try to guess the first non-option without generating an exception. This is used for scripts that implement a subcommand syntax, so that we can generate the appropriate completions for the subcommand.

                ","boost":0.5},{"location":"api/easybuild/base/optcomplete/#easybuild.base.optcomplete.set_optionparser","title":"set_optionparser(option_class, optionparser_class)","text":"

                Set the default Option and OptionParser class

                ","boost":0.5},{"location":"api/easybuild/base/rest/","title":"rest","text":"

                This module contains Rest api utilities, Mainly the RestClient, which you can use to easily pythonify a rest api.

                based on https://github.com/jpaugh/agithub/commit/1e2575825b165c1cb7cbd85c22e2561fc4d434d3

                Authors:

                • Jonathan Paugh
                • Jens Timmerman
                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client","title":"Client","text":"

                Bases: object

                An implementation of a REST client

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.__init__","title":"__init__(url, username=None, password=None, token=None, token_type='Token', user_agent=None, append_slash=False)","text":"

                Create a Client object, this client can consume a REST api hosted at host/endpoint

                If a username is given a password or a token is required. You can not use a password and a token. token_type is the typoe fo th the authorization token text in the http authentication header, defaults to Token This should be set to 'Bearer' for certain OAuth implementations.

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.delete","title":"delete(url, headers=None, body=None, **params)","text":"

                Do a http delete request on the given url with given headers, body and parameters Parameters is a dictionary that will will be urlencoded

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.get","title":"get(url, headers=None, **params)","text":"

                Do a http get request on the given url with given headers and parameters Parameters is a dictionary that will will be urlencoded

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.head","title":"head(url, headers=None, **params)","text":"

                Do a http head request on the given url with given headers and parameters Parameters is a dictionary that will will be urlencoded

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.patch","title":"patch(url, body=None, headers=None, **params)","text":"

                Do a http patch request on the given url with given body, headers and parameters Parameters is a dictionary that will will be urlencoded

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.post","title":"post(url, body=None, headers=None, **params)","text":"

                Do a http post request on the given url with given body, headers and parameters Parameters is a dictionary that will will be urlencoded

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.put","title":"put(url, body=None, headers=None, **params)","text":"

                Do a http put request on the given url with given body, headers and parameters Parameters is a dictionary that will will be urlencoded

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.Client.request","title":"request(method, url, body, headers, content_type=None)","text":"

                Low-level networking. All HTTP-method methods call this

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RequestBuilder","title":"RequestBuilder","text":"

                Bases: object

                RequestBuilder(client).path.to.resource.method(...) stands for RequestBuilder(client).client.method('path/to/resource, ...)

                Also, if you use an invalid path, too bad. Just be ready to catch a You can use item access instead of attribute access. This is convenient for using variables' values and required for numbers. bad status from github.com. (Or maybe an httplib.error...)

                To understand the method(...) calls, check out github.client.Client.

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RequestBuilder.__getattr__","title":"__getattr__(key)","text":"

                Overwrite getattr to build up the equest url this enables us to do bla.some.path['something'] and get the url bla/some/path/something

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RequestBuilder.__init__","title":"__init__(client)","text":"

                Constructor

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RequestBuilder.__str__","title":"__str__()","text":"

                If you ever stringify this, you've (probably) messed up somewhere. So let's give a semi-helpful message.

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RestClient","title":"RestClient","text":"

                Bases: object

                A client with a request builder, so you can easily create rest requests e.g. to create a github Rest API client just do

                g = RestClient('https://api.github.com', username='user', password='pass') g = RestClient('https://api.github.com', token='oauth token') status, data = g.issues.get(filter='subscribed') data ... [ list_, of, stuff ] status, data = g.repos.jpaugh64.repla.issues[1].get() data ... { 'dict': 'my issue data', } name, repo = 'jpaugh64', 'repla' status, data = g.reposname.issues[1].get() ... same thing status, data = g.funny.I.donna.remember.that.one.get() status ... 404

                That's all there is to it. (blah.post() should work, too.)

                NOTE: It is up to you to spell things correctly. Github doesn't even try to validate the url you feed it. On the other hand, it automatically supports the full API--so why should you care?

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RestClient.__getattr__","title":"__getattr__(key)","text":"

                Get an attribute, we will build a request with it

                ","boost":0.5},{"location":"api/easybuild/base/rest/#easybuild.base.rest.RestClient.__init__","title":"__init__(*args, **kwargs)","text":"

                We create a client with the given arguments

                ","boost":0.5},{"location":"api/easybuild/base/testing/","title":"testing","text":"

                Shared module for vsc software testing

                TestCase: use instead of unittest TestCase from easybuild.base.testing import TestCase

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase","title":"TestCase","text":"

                Bases: OrigTestCase

                Enhanced test case, provides extra functionality (e.g. an assertErrorRegex method).

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.assertEqual","title":"assertEqual(a, b, msg=None)","text":"

                Make assertEqual always print useful messages

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.assertErrorRegex","title":"assertErrorRegex(error, regex, call, *args, **kwargs)","text":"

                Convenience method to match regex with the expected error message. Example: self.assertErrorRegex(OSError, \"No such file or directory\", os.remove, '/no/such/file')

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.assertExists","title":"assertExists(path, msg=None)","text":"

                Assert the given path exists

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.assertNotExists","title":"assertNotExists(path, msg=None)","text":"

                Assert the given path exists

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.convert_exception_to_str","title":"convert_exception_to_str(err)","text":"

                Convert an Exception instance to a string.

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.get_stderr","title":"get_stderr()","text":"

                Return output captured from stderr until now.

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.get_stdout","title":"get_stdout()","text":"

                Return output captured from stdout until now.

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.is_string","title":"is_string(x)","text":"

                test if the variable x is a string)

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.mock_stderr","title":"mock_stderr(enable)","text":"

                Enable/disable mocking stdout.

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.mock_stdout","title":"mock_stdout(enable)","text":"

                Enable/disable mocking stdout.

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.mocked_stdout_stderr","title":"mocked_stdout_stderr(mock_stdout=True, mock_stderr=True)","text":"

                Context manager to mock stdout and stderr

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.setUp","title":"setUp()","text":"

                Prepare test case.

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.TestCase.tearDown","title":"tearDown()","text":"

                Cleanup after running a test.

                ","boost":0.5},{"location":"api/easybuild/base/testing/#easybuild.base.testing.nicediff","title":"nicediff(txta, txtb, offset=5)","text":"

                generate unified diff style output ndiff has nice indicators what is different, but prints the whole content each line that is interesting starts with non-space unified diff only prints changes and some offset around it

                return list with diff (one per line) (not a generator like ndiff or unified_diff)

                ","boost":0.5},{"location":"api/easybuild/base/wrapper/","title":"wrapper","text":"

                This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License with attribution required

                Original code by http://stackoverflow.com/users/416467/kindall from answer 4 of http://stackoverflow.com/questions/9057669/how-can-i-intercept-calls-to-pythons-magic-methods-in-new-style-classes

                ","boost":0.5},{"location":"api/easybuild/base/wrapper/#easybuild.base.wrapper.Wrapper","title":"Wrapper","text":"

                Bases: mk_wrapper_baseclass(WrapperMeta)

                Wrapper class that provides proxy access to an instance of some internal instance.

                ","boost":0.5},{"location":"api/easybuild/base/wrapper/#easybuild.base.wrapper.WrapperMeta","title":"WrapperMeta","text":"

                Bases: type

                Metaclass for type wrappers.

                ","boost":0.5},{"location":"api/easybuild/framework/","title":"framework","text":"
                • easybuild
                  • framework
                    • easyblock
                    • easyconfig
                      • constants
                      • default
                      • easyconfig
                      • format
                        • convert
                        • format
                        • one
                        • pyheaderconfigobj
                        • two
                        • version
                        • yeb
                      • licenses
                      • parser
                      • style
                      • templates
                      • tools
                      • tweak
                      • types
                    • easystack
                    • extension
                    • extensioneasyblock
                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/","title":"easyblock","text":"

                Generic EasyBuild support for building and installing software. The EasyBlock class should serve as a base class for all easyblocks.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                • Ward Poelmans (Ghent University)
                • Fotis Georgatos (Uni.Lu, NTUA)
                • Damian Alvarez (Forschungszentrum Juelich GmbH)
                • Maxime Boissonneault (Compute Canada)
                • Davide Vanzo (Vanderbilt University)
                • Caspar van Leeuwen (SURF)
                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock","title":"EasyBlock","text":"

                Bases: object

                Generic support for building and installing software, base class for actual easyblocks.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.full_mod_name","title":"full_mod_name property","text":"

                Full module name (including subdirectory in module install path)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.mod_subdir","title":"mod_subdir property","text":"

                Subdirectory in module install path

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.moduleGenerator","title":"moduleGenerator property","text":"

                Module generator (DEPRECATED, use self.module_generator instead).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.name","title":"name property","text":"

                Shortcut the get the module name.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.short_mod_name","title":"short_mod_name property","text":"

                Short module name (not including subdirectory in module install path)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.start_dir","title":"start_dir property","text":"

                Start directory in build directory

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.toolchain","title":"toolchain property","text":"

                Toolchain used to build this easyblock

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.version","title":"version property","text":"

                Shortcut the get the module version.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.__init__","title":"__init__(ec)","text":"

                Initialize the EasyBlock instance.

                PARAMETER DESCRIPTION ec

                a parsed easyconfig file (EasyConfig instance)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.apply_post_install_patches","title":"apply_post_install_patches(patches=None)","text":"

                Apply post-install patch files that are specified via the 'postinstallpatches' easyconfig parameter.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.banned_linked_shared_libs","title":"banned_linked_shared_libs()","text":"

                List of shared libraries which are not allowed to be linked in any installed binary/library. Supported values are pure library names without 'lib' prefix or extension ('example'), file names ('libexample.so'), and full paths ('/usr/lib64/libexample.so').

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.bin_lib_subdirs","title":"bin_lib_subdirs()","text":"

                List of subdirectories for binaries and libraries for this software installation. This is used during the sanity check to check RPATH linking and banned/required linked shared libraries.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.build_step","title":"build_step()","text":"

                Build software (abstract method).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.check_accepted_eula","title":"check_accepted_eula(name=None, more_info=None)","text":"

                Check whether EULA for this software is accepted in current EasyBuild configuration.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.check_checksums","title":"check_checksums()","text":"

                Check whether a SHA256 checksum is available for all sources & patches (incl. extensions).

                RETURNS DESCRIPTION

                list of strings describing checksum issues (missing checksums, wrong checksum type, etc.)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.check_checksums_for","title":"check_checksums_for(ent, sub='', source_cnt=None)","text":"

                Utility method: check whether SHA256 checksums for all sources/patches are available, for given entity

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.check_readiness_step","title":"check_readiness_step()","text":"

                Verify if all is ok to start build.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.checksum_step","title":"checksum_step()","text":"

                Verify checksum of sources and patches, if a checksum is available.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.clean_up_fake_module","title":"clean_up_fake_module(fake_mod_data)","text":"

                Clean up fake module.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.cleanup_step","title":"cleanup_step()","text":"

                Cleanup leftover mess: remove/clean build directory

                except when we're building in the installation directory or cleanup_builddir is False, otherwise we remove the installation

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.close_log","title":"close_log()","text":"

                Shutdown the logger.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.collect_exts_file_info","title":"collect_exts_file_info(fetch_files=True, verify_checksums=True)","text":"

                Collect information on source and patch files for extensions.

                PARAMETER DESCRIPTION fetch_files

                whether or not to fetch files (if False, path to files will be missing from info)

                DEFAULT: True

                verify_checksums

                whether or not to verify checksums

                DEFAULT: True

                RETURNS DESCRIPTION

                list of dict values, one per extension, with information on source/patch files.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.configure_step","title":"configure_step()","text":"

                Configure build (abstract method).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.det_iter_cnt","title":"det_iter_cnt()","text":"

                Determine iteration count based on configure/build/install options that may be lists.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.dry_run_msg","title":"dry_run_msg(msg, *args)","text":"

                Print dry run message.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.extensions_step","title":"extensions_step(fetch=False, install=True)","text":"

                After make install, run this. - only if variable len(exts_list) > 0 - optionally: load module that was just created using temp module file - find source for extensions, in 'extensions' (and 'packages' for legacy reasons) - run extra_extensions

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.extra_options","title":"extra_options(extra=None) staticmethod","text":"

                Extra options method which will be passed to the EasyConfig constructor.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.extract_step","title":"extract_step()","text":"

                Unpack the source files.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_extension_sources","title":"fetch_extension_sources(skip_checksums=False)","text":"

                Fetch source and patch files for extensions (DEPRECATED, use collect_exts_file_info instead).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_patches","title":"fetch_patches(patch_specs=None, extension=False, checksums=None)","text":"

                Add a list of patches. All patches will be checked if a file exists (or can be located)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_source","title":"fetch_source(source, checksum=None, extension=False, download_instructions=None)","text":"

                Get a specific source (tarball, iso, url) Will be tested for existence or can be located

                PARAMETER DESCRIPTION source

                source to be found (single dictionary in 'sources' list, or filename)

                checksum

                checksum corresponding to source

                DEFAULT: None

                extension

                flag if being called from collect_exts_file_info()

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_sources","title":"fetch_sources(sources=None, checksums=None)","text":"

                Add a list of source files (can be tarballs, isos, urls). All source files will be checked if a file exists (or can be located)

                PARAMETER DESCRIPTION sources

                list of sources to fetch (if None, use 'sources' easyconfig parameter)

                DEFAULT: None

                checksums

                list of checksums for sources

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fetch_step","title":"fetch_step(skip_checksums=False)","text":"

                Fetch source files and patches (incl. extensions).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.fix_shebang","title":"fix_shebang()","text":"

                Fix shebang lines for specified files.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.gen_builddir","title":"gen_builddir()","text":"

                Generate the (unique) name for the builddir

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.gen_installdir","title":"gen_installdir()","text":"

                Generate the name of the installation directory.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.get_checksum_for","title":"get_checksum_for(checksums, filename=None, index=None)","text":"

                Obtain checksum for given filename.

                PARAMETER DESCRIPTION checksums

                a list or tuple of checksums (or None)

                filename

                name of the file to obtain checksum for

                DEFAULT: None

                index

                index of file in list

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.get_checksums_from_json","title":"get_checksums_from_json(always_read=False)","text":"

                Get checksums for this software that are provided in a checksums.json file

                PARAMETER DESCRIPTION always_read

                always read the checksums.json file, even if it has been read before

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.get_steps","title":"get_steps(run_test_cases=True, iteration_count=1) staticmethod","text":"

                Return a list of all steps to be performed.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.guess_start_dir","title":"guess_start_dir()","text":"

                Return the directory where to start the whole configure/make/make install cycle from - typically self.src0 - start_dir option -- if abspath: use that -- else, treat it as subdir for regular procedure

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.handle_iterate_opts","title":"handle_iterate_opts()","text":"

                Handle options relevant during iterated part of build/install procedure.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.init_dry_run","title":"init_dry_run()","text":"

                Initialise easyblock instance for performing a dry run.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.init_ext_instances","title":"init_ext_instances()","text":"

                Create class instances for all extensions.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.install_extensions","title":"install_extensions(install=True)","text":"

                Install extensions.

                PARAMETER DESCRIPTION install

                actually install extensions, don't just prepare environment for installing

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.install_extensions_parallel","title":"install_extensions_parallel(install=True)","text":"

                Install extensions in parallel.

                PARAMETER DESCRIPTION install

                actually install extensions, don't just prepare environment for installing

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.install_extensions_sequential","title":"install_extensions_sequential(install=True)","text":"

                Install extensions sequentially.

                PARAMETER DESCRIPTION install

                actually install extensions, don't just prepare environment for installing

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.install_step","title":"install_step()","text":"

                Install built software (abstract method).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.invalidate_module_caches","title":"invalidate_module_caches(modpath)","text":"

                Helper method to invalidate module caches for specified module path.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.load_dependency_modules","title":"load_dependency_modules()","text":"

                Load dependency modules.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.load_fake_module","title":"load_fake_module(purge=False, extra_modules=None, verbose=False)","text":"

                Create and load fake module.

                PARAMETER DESCRIPTION purge

                boolean indicating whether or not to purge currently loaded modules first

                DEFAULT: False

                extra_modules

                list of extra modules to load (these are loaded before loading the 'self' module)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.load_module","title":"load_module(mod_paths=None, purge=True, extra_modules=None, verbose=True)","text":"

                Load module for this software package/version, after purging all currently loaded modules.

                PARAMETER DESCRIPTION mod_paths

                list of (additional) module paths to take into account

                DEFAULT: None

                purge

                boolean indicating whether or not to purge currently loaded modules first

                DEFAULT: True

                extra_modules

                list of extra modules to load (these are loaded before loading the 'self' module)

                DEFAULT: None

                verbose

                print modules being loaded when trace mode is enabled

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_builddir","title":"make_builddir()","text":"

                Create the build directory.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_devel_module","title":"make_devel_module(create_in_builddir=False)","text":"

                Create a develop module file which sets environment based on the build Usage: module load name, which loads the module you want to use. $EBDEVELNAME should then be the full path to the devel module file. So now you can module load $EBDEVELNAME.

                WARNING: you cannot unload using $EBDEVELNAME (for now: use module unload basename $EBDEVELNAME)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_dir","title":"make_dir(dir_name, clean, dontcreateinstalldir=False)","text":"

                Create the directory.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_extension_string","title":"make_extension_string(name_version_sep='-', ext_sep=', ', sort=True)","text":"

                Generate a string with a list of extensions.

                The name and version are separated by name_version_sep and each extension is separated by ext_sep

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_installdir","title":"make_installdir(dontcreate=None)","text":"

                Create the installation directory.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_dep","title":"make_module_dep(unload_info=None)","text":"

                Make the dependencies for the module file.

                PARAMETER DESCRIPTION unload_info

                dictionary with full module names as keys and module name to unload first as corr. value

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_deppaths","title":"make_module_deppaths()","text":"

                Add specific 'module use' actions to module file, in order to find dependencies outside the end user's MODULEPATH.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_description","title":"make_module_description()","text":"

                Create the module description.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_extend_modpath","title":"make_module_extend_modpath()","text":"

                Include prepend-path statements for extending $MODULEPATH.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_extra","title":"make_module_extra(altroot=None, altversion=None)","text":"

                Set extra stuff in module file, e.g. $EBROOT, $EBVERSION, etc.

                PARAMETER DESCRIPTION altroot

                path to use to define $EBROOT*

                DEFAULT: None

                altversion

                version to use to define $EBVERSION*

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_extra_extensions","title":"make_module_extra_extensions()","text":"

                Sets optional variables for extensions.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_footer","title":"make_module_footer()","text":"

                Insert a footer section in the module file, primarily meant for contextual information

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_group_check","title":"make_module_group_check()","text":"

                Create the necessary group check.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_req","title":"make_module_req()","text":"

                Generate the environment-variables to run the module.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_req_guess","title":"make_module_req_guess()","text":"

                A dictionary of possible directories to look for.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.make_module_step","title":"make_module_step(fake=False)","text":"

                Generate module file

                PARAMETER DESCRIPTION fake

                generate 'fake' module in temporary location, rather than actual module file

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.obtain_file","title":"obtain_file(filename, extension=False, urls=None, download_filename=None, force_download=False, git_config=None, no_download=False, download_instructions=None, alt_location=None)","text":"

                Locate the file with the given name - searches in different subdirectories of source path - supports fetching file from the web if path is specified as an url (i.e. starts with \"http://:\")

                PARAMETER DESCRIPTION filename

                filename of source

                extension

                indicates whether locations for extension sources should also be considered

                DEFAULT: False

                urls

                list of source URLs where this file may be available

                DEFAULT: None

                download_filename

                filename with which the file should be downloaded, and then renamed to

                DEFAULT: None

                force_download

                always try to download file, even if it's already available in source path

                DEFAULT: False

                git_config

                dictionary to define how to download a git repository

                DEFAULT: None

                no_download

                do not try to download the file

                DEFAULT: False

                download_instructions

                instructions to manually add source (used for complex cases)

                DEFAULT: None

                alt_location

                alternative location to use instead of self.name

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.package_step","title":"package_step()","text":"

                Package installed software (e.g., into an RPM), if requested, using selected package tool.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.patch_step","title":"patch_step(beginpath=None, patches=None)","text":"

                Apply the patches

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.permissions_step","title":"permissions_step()","text":"

                Finalize installation procedure: adjust permissions as configured, change group ownership (if requested). Installing user must be member of the group that it is changed to.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.post_init","title":"post_init()","text":"

                Run post-initialization tasks.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.post_install_step","title":"post_install_step()","text":"

                Do some postprocessing - run post install commands if any were specified

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.post_iter_step","title":"post_iter_step()","text":"

                Restore options that were iterated over

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.prepare_for_extensions","title":"prepare_for_extensions()","text":"

                Also do this before (eg to set the template)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.prepare_step","title":"prepare_step(start_dir=True, load_tc_deps_modules=True)","text":"

                Pre-configure step. Set's up the builddir just before starting configure

                PARAMETER DESCRIPTION start_dir

                guess start directory based on unpacked sources

                DEFAULT: True

                load_tc_deps_modules

                load modules for toolchain and dependencies in build environment

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.print_post_install_messages","title":"print_post_install_messages()","text":"

                Print post-install messages that are specified via the 'postinstallmsgs' easyconfig parameter.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.remove_module_file","title":"remove_module_file()","text":"

                Remove module file (if it exists), and check for ghost installation directory (and deal with it).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.report_test_failure","title":"report_test_failure(msg_or_error)","text":"

                Report a failing test either via an exception or warning depending on ignore-test-failure

                PARAMETER DESCRIPTION msg_or_error

                failure description (string value or an EasyBuildError instance)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.required_linked_shared_libs","title":"required_linked_shared_libs()","text":"

                List of shared libraries which must be linked in all installed binaries/libraries. Supported values are pure library names without 'lib' prefix or extension ('example'), file names ('libexample.so'), and full paths ('/usr/lib64/libexample.so').

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.reset_env","title":"reset_env()","text":"

                Reset environment. When iterating over builddependencies, every time we start a new iteration we need to restore the environment to where it was before the relevant modules were loaded.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.run_all_steps","title":"run_all_steps(run_test_cases)","text":"

                Build and install this software. run_test_cases (bool): run tests after building (e.g.: make test)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.run_post_install_commands","title":"run_post_install_commands(commands=None)","text":"

                Run post install commands that are specified via 'postinstallcmds' easyconfig parameter.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.run_step","title":"run_step(step, step_methods)","text":"

                Run step, returns false when execution should be stopped

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.sanity_check_linked_shared_libs","title":"sanity_check_linked_shared_libs(subdirs=None)","text":"

                Check whether specific shared libraries are (not) linked into installed binaries/libraries.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.sanity_check_load_module","title":"sanity_check_load_module(extension=False, extra_modules=None)","text":"

                Load module to prepare environment for sanity check

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.sanity_check_rpath","title":"sanity_check_rpath(rpath_dirs=None, check_readelf_rpath=True)","text":"

                Sanity check binaries/libraries w.r.t. RPATH linking.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.sanity_check_step","title":"sanity_check_step(*args, **kwargs)","text":"

                Do a sanity check on the installation - if any of the files/subdirectories in the installation directory listed in sanity_check_paths are non-existent (or empty), the sanity check fails

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.set_parallel","title":"set_parallel()","text":"

                Set 'parallel' easyconfig parameter to determine how many cores can/should be used for parallel builds.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.set_up_cuda_cache","title":"set_up_cuda_cache()","text":"

                Set up CUDA PTX cache.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.skip_extensions","title":"skip_extensions()","text":"

                Skip already installed extensions, by removing them from list of Extension instances to install (self.ext_instances).

                This is done in parallel when EasyBuild is configured to install extensions in parallel.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.skip_extensions_parallel","title":"skip_extensions_parallel(exts_filter)","text":"

                Skip already installed extensions (checking in parallel), by removing them from list of Extension instances to install (self.ext_instances).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.skip_extensions_sequential","title":"skip_extensions_sequential(exts_filter)","text":"

                Skip already installed extensions (checking sequentially), by removing them from list of Extension instances to install (self.ext_instances).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.skip_step","title":"skip_step(step, skippable)","text":"

                Dedice whether or not to skip the specified step.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.stage_install_step","title":"stage_install_step()","text":"

                Install in a stage directory before actual installation.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.test_cases_step","title":"test_cases_step()","text":"

                Run provided test cases.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.test_step","title":"test_step()","text":"

                Run unit tests provided by software (if any).

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.update_config_template_run_step","title":"update_config_template_run_step()","text":"

                Update the the easyconfig template dictionary with easyconfig.TEMPLATE_NAMES_EASYBLOCK_RUN_STEP names

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.EasyBlock.update_exts_progress_bar","title":"update_exts_progress_bar(info, progress_size=0, total=None)","text":"

                Update extensions progress bar with specified info and amount of progress made

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.StopException","title":"StopException","text":"

                Bases: Exception

                StopException class definition.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.build_and_install_one","title":"build_and_install_one(ecdict, init_env)","text":"

                Build the software

                PARAMETER DESCRIPTION ecdict

                dictionary contaning parsed easyconfig + metadata

                init_env

                original environment (used to reset environment)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.build_easyconfigs","title":"build_easyconfigs(easyconfigs, output_dir, test_results)","text":"

                Build the list of easyconfigs.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.get_easyblock_instance","title":"get_easyblock_instance(ecdict)","text":"

                Get an instance for this easyconfig

                PARAMETER DESCRIPTION ecdict

                parsed easyconfig (EasyConfig instance) returns an instance of EasyBlock (or subclass thereof)

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.inject_checksums","title":"inject_checksums(ecs, checksum_type)","text":"

                Inject checksums of given type in specified easyconfig files

                PARAMETER DESCRIPTION ecs

                list of EasyConfig instances to inject checksums into corresponding files

                checksum_type

                type of checksum to use

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.inject_checksums_to_json","title":"inject_checksums_to_json(ecs, checksum_type)","text":"

                Inject checksums of given type in corresponding json files

                PARAMETER DESCRIPTION ecs

                list of EasyConfig instances to calculate checksums and inject them into checksums.json

                checksum_type

                type of checksum to use

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.print_dry_run_note","title":"print_dry_run_note(loc, silent=True)","text":"

                Print note on interpreting dry run output.

                ","boost":0.5},{"location":"api/easybuild/framework/easyblock/#easybuild.framework.easyblock.reproduce_build","title":"reproduce_build(app, reprod_dir_root)","text":"

                Create reproducibility files (processed easyconfig and easyblocks used) from class instance

                PARAMETER DESCRIPTION app

                easyblock class instance

                reprod_dir_root

                root directory in which to create the 'reprod' directory

                RETURNS DESCRIPTION

                reprod_dir directory containing reproducibility files

                ","boost":0.5},{"location":"api/easybuild/framework/easystack/","title":"easystack","text":"

                Support for easybuild-ing from multiple easyconfigs based on information obtained from provided file (easystack) with build specifications.

                Authors:

                • Denis Kristak (Inuits)
                • Pavel Grochal (Inuits)
                • Kenneth Hoste (HPC-UGent)
                • Caspar van Leeuwen (SURF)
                ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStack","title":"EasyStack","text":"

                Bases: object

                One class instance per easystack. General options + list of all SoftwareSpecs instances

                ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStack.__str__","title":"__str__()","text":"

                Pretty printing of an EasyStack instance

                ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStack.get_general_options","title":"get_general_options()","text":"

                Returns general options (flags applicable to all sw (i.e. --robot))

                ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStackParser","title":"EasyStackParser","text":"

                Bases: object

                Parser for easystack files (in YAML syntax).

                ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStackParser.parse","title":"parse(filepath) staticmethod","text":"

                Parses YAML file and assigns obtained values to SW config instances as well as general config instance

                ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.EasyStackParser.parse_by_easyconfigs","title":"parse_by_easyconfigs(filepath, easyconfigs, easybuild_version=None, robot=False) staticmethod","text":"

                Parse easystack file with 'easyconfigs' as top-level key.

                ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.SoftwareSpecs","title":"SoftwareSpecs","text":"

                Bases: object

                Contains information about every software that should be installed

                ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.check_value","title":"check_value(value, context)","text":"

                Check whether specified value obtained from a YAML file in specified context represents is valid. The value must be a string (not a float or an int).

                ","boost":0.5},{"location":"api/easybuild/framework/easystack/#easybuild.framework.easystack.parse_easystack","title":"parse_easystack(filepath)","text":"

                Parses through easystack file, returns what EC are to be installed together with their options.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/","title":"extension","text":"

                Generic EasyBuild support for software extensions (e.g. Python packages). The Extension class should serve as a base class for all extensions.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension","title":"Extension","text":"

                Bases: object

                Support for installing extensions.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.name","title":"name property","text":"

                Shortcut the get the extension name.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.required_deps","title":"required_deps property","text":"

                Return list of required dependencies for this extension.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.toolchain","title":"toolchain property","text":"

                Toolchain used to build this extension.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.version","title":"version property","text":"

                Shortcut the get the extension version.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.__init__","title":"__init__(mself, ext, extra_params=None)","text":"

                Constructor for Extension class

                PARAMETER DESCRIPTION mself

                parent Easyblock instance

                ext

                dictionary with extension metadata (name, version, src, patches, options, ...)

                extra_params

                extra custom easyconfig parameters to take into account for this extension

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.async_cmd_check","title":"async_cmd_check()","text":"

                Check progress of installation command that was started asynchronously.

                RETURNS DESCRIPTION

                True if command completed, False otherwise

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.async_cmd_start","title":"async_cmd_start(cmd, inp=None)","text":"

                Start installation asynchronously using specified command.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.postrun","title":"postrun()","text":"

                Stuff to do after installing a extension.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.prerun","title":"prerun()","text":"

                Stuff to do before installing a extension.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.run","title":"run(*args, **kwargs)","text":"

                Actual installation of an extension.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.run_async","title":"run_async(*args, **kwargs)","text":"

                Asynchronous installation of an extension.

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.Extension.sanity_check_step","title":"sanity_check_step()","text":"

                Sanity check to run after installing extension

                ","boost":0.5},{"location":"api/easybuild/framework/extension/#easybuild.framework.extension.resolve_exts_filter_template","title":"resolve_exts_filter_template(exts_filter, ext)","text":"

                Resolve the exts_filter tuple by replacing the template values using the extension

                PARAMETER DESCRIPTION exts_filter

                Tuple of (command, input) using template values (ext_name, ext_version, src)

                ext

                Instance of Extension or dictionary like with 'name' and optionally 'options', 'version', 'source' keys

                RETURNS DESCRIPTION

                (cmd, input) as a tuple of strings

                ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/","title":"extensioneasyblock","text":"

                EasyBuild support for building and installing extensions as actual extensions or as stand-alone modules, implemented as an easyblock

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock","title":"ExtensionEasyBlock","text":"

                Bases: EasyBlock, Extension

                Install an extension as a separate module, or as an extension.

                Deriving classes should implement the following functions: * required EasyBlock functions: - configure_step - build_step - install_step * required Extension functions - run

                ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.__init__","title":"__init__(*args, **kwargs)","text":"

                Initialize either as EasyBlock or as Extension.

                ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.extra_options","title":"extra_options(extra_vars=None) staticmethod","text":"

                Extra easyconfig parameters specific to ExtensionEasyBlock.

                ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.make_module_extra","title":"make_module_extra(extra=None)","text":"

                Add custom entries to module.

                ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.run","title":"run(unpack_src=False)","text":"

                Common operations for extensions: unpacking sources, patching, ...

                ","boost":0.5},{"location":"api/easybuild/framework/extensioneasyblock/#easybuild.framework.extensioneasyblock.ExtensionEasyBlock.sanity_check_step","title":"sanity_check_step(exts_filter=None, custom_paths=None, custom_commands=None)","text":"

                Custom sanity check for extensions, whether installed as stand-alone module or not

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/","title":"easyconfig","text":"
                • easybuild
                  • framework
                    • easyconfig
                      • constants
                      • default
                      • easyconfig
                      • format
                        • convert
                        • format
                        • one
                        • pyheaderconfigobj
                        • two
                        • version
                        • yeb
                      • licenses
                      • parser
                      • style
                      • templates
                      • tools
                      • tweak
                      • types
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/constants/","title":"constants","text":"

                Easyconfig constants module that provides all constants that can be used within an Easyconfig file.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/default/","title":"default","text":"

                Easyconfig module that contains the default EasyConfig configuration parameters.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/default/#easybuild.framework.easyconfig.default.get_easyconfig_parameter_default","title":"get_easyconfig_parameter_default(param)","text":"

                Get default value for given easyconfig parameter.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/default/#easybuild.framework.easyconfig.default.is_easyconfig_parameter_default_value","title":"is_easyconfig_parameter_default_value(param, value)","text":"

                Return True if the parameters is one of the default ones and the value equals its default value

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/default/#easybuild.framework.easyconfig.default.sorted_categories","title":"sorted_categories()","text":"

                returns the categories in the correct order

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/","title":"easyconfig","text":"

                Easyconfig module that contains the EasyConfig class.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                • Ward Poelmans (Ghent University)
                • Alan O'Cais (Juelich Supercomputing Centre)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                • Maxime Boissonneault (Universite Laval, Calcul Quebec, Compute Canada)
                • Victor Holanda (CSCS, ETH Zurich)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS","title":"ActiveMNS","text":"

                Bases: BaseActiveMNS

                Wrapper class for active module naming scheme.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.__init__","title":"__init__(*args, **kwargs)","text":"

                Initialize logger.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.check_ec_type","title":"check_ec_type(ec, raise_error=True)","text":"

                Obtain a full parsed easyconfig file to pass to naming scheme methods if provided keys are insufficient.

                PARAMETER DESCRIPTION ec

                available easyconfig parameter specifications (EasyConfig instance or dict value)

                raise_error

                boolean indicating whether or not an error should be raised if a full easyconfig is required but not found

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_devel_module_filename","title":"det_devel_module_filename(ec, force_visible=False)","text":"

                Determine devel module filename.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_full_module_name","title":"det_full_module_name(ec, force_visible=False, require_result=True)","text":"

                Determine full module name by selected module naming scheme, based on supplied easyconfig.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_init_modulepaths","title":"det_init_modulepaths(ec)","text":"

                Determine initial modulepaths according to module naming scheme.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_install_subdir","title":"det_install_subdir(ec)","text":"

                Determine name of software installation subdirectory.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_modpath_extensions","title":"det_modpath_extensions(ec)","text":"

                Determine modulepath extensions according to module naming scheme.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_module_subdir","title":"det_module_subdir(ec)","text":"

                Determine module subdirectory according to module naming scheme.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_module_symlink_paths","title":"det_module_symlink_paths(ec)","text":"

                Determine list of paths in which symlinks to module files must be created.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_short_module_name","title":"det_short_module_name(ec, force_visible=False)","text":"

                Determine short module name according to module naming scheme.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.det_user_modpath_extensions","title":"det_user_modpath_extensions(ec)","text":"

                Determine user-specific modulepath extensions according to module naming scheme.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.expand_toolchain_load","title":"expand_toolchain_load(ec=None)","text":"

                Determine whether load statements for a toolchain should be expanded to load statements for its dependencies. This is useful when toolchains are not exposed to users.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.is_short_modname_for","title":"is_short_modname_for(short_modname, name)","text":"

                Determine whether the specified (short) module name is a module for software with the specified name.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.ActiveMNS.requires_full_easyconfig","title":"requires_full_easyconfig(keys)","text":"

                Check whether specified list of easyconfig parameters is sufficient for active module naming scheme.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig","title":"EasyConfig","text":"

                Bases: object

                Class which handles loading, reading, validation of easyconfigs

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.all_dependencies","title":"all_dependencies property","text":"

                Return list of all dependencies, incl. hidden/build deps & toolchain, but excluding filtered deps.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.name","title":"name property","text":"

                returns name

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.toolchain","title":"toolchain property","text":"

                returns the Toolchain used

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.version","title":"version property","text":"

                returns version

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__contains__","title":"__contains__(key)","text":"

                Check whether easyconfig parameter is defined

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__eq__","title":"__eq__(ec)","text":"

                Is this EasyConfig instance equivalent to the provided one?

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__getitem__","title":"__getitem__(key)","text":"

                Return value of specified easyconfig parameter (without help text, etc.)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__hash__","title":"__hash__()","text":"

                Return hash value for a hashable representation of this EasyConfig instance.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__init__","title":"__init__(path, extra_options=None, build_specs=None, validate=True, hidden=None, rawtxt=None, auto_convert_value_types=True, local_var_naming_check=None)","text":"

                initialize an easyconfig.

                PARAMETER DESCRIPTION path

                path to easyconfig file to be parsed (ignored if rawtxt is specified)

                extra_options

                dictionary with extra variables that can be set for this specific instance

                DEFAULT: None

                build_specs

                dictionary of build specifications (see EasyConfig class, default: {})

                DEFAULT: None

                validate

                indicates whether validation should be performed (note: combined with 'validate' build option)

                DEFAULT: True

                hidden

                indicate whether corresponding module file should be installed hidden ('.'-prefixed)

                DEFAULT: None

                rawtxt

                raw contents of easyconfig file

                DEFAULT: None

                auto_convert_value_types

                indicates wether types of easyconfig values should be automatically converted in case they are wrong

                DEFAULT: True

                local_var_naming_check

                mode to use when checking if local variables use the recommended naming scheme

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__ne__","title":"__ne__(ec)","text":"

                Is this EasyConfig instance equivalent to the provided one?

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__setitem__","title":"__setitem__(key, value)","text":"

                Set value of specified easyconfig parameter (help text & co is left untouched)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.__str__","title":"__str__()","text":"

                Return a string representation of this EasyConfig instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.asdict","title":"asdict()","text":"

                Return dict representation of this EasyConfig instance.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.builddependencies","title":"builddependencies()","text":"

                Return a flat list of the parsed build dependencies When builddependencies are iterable they are flattened lists with duplicates removed outside of the iterating process, because the callers want simple lists.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.check_deprecated","title":"check_deprecated(path)","text":"

                Check whether this easyconfig file is deprecated.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.copy","title":"copy(validate=None)","text":"

                Return a copy of this EasyConfig instance.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.count_files","title":"count_files()","text":"

                Determine number of files (sources + patches) required for this easyconfig.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.dep_is_filtered","title":"dep_is_filtered(dep, filter_deps_specs)","text":"

                Returns True if a dependency is filtered according to the filter_deps_specs

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.dependencies","title":"dependencies(build_only=False)","text":"

                Returns an array of parsed dependencies (after filtering, if requested) dependency = {'name': '', 'version': '', 'system': (False|True), 'versionsuffix': '', 'toolchain': ''} Iterable builddependencies are flattened when not iterating.

                PARAMETER DESCRIPTION build_only

                only return build dependencies, discard others

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.disable_templating","title":"disable_templating()","text":"

                Temporarily disable templating on the given EasyConfig

                Usage: with ec.disable_templating(): # Do what you want without templating # Templating set to previous value

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.dump","title":"dump(fp, always_overwrite=True, backup=False, explicit_toolchains=False)","text":"

                Dump this easyconfig to file, with the given filename.

                PARAMETER DESCRIPTION always_overwrite

                overwrite existing file at specified location without use of --force

                DEFAULT: True

                backup

                create backup of existing file before overwriting it

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.extend_params","title":"extend_params(extra, overwrite=True)","text":"

                Extend list of known parameters via provided list of extra easyconfig parameters.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.filename","title":"filename()","text":"

                Determine correct filename for this easyconfig file.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.filter_deps","title":"filter_deps(deps)","text":"

                Filter dependencies according to 'filter-deps' configuration setting.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.filter_hidden_deps","title":"filter_hidden_deps()","text":"

                Replace dependencies by hidden dependencies in list of (build) dependencies, where appropriate.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.generate_template_values","title":"generate_template_values()","text":"

                Try to generate all template values.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.get","title":"get(key, default=None, resolve=True)","text":"

                Gets the value of a key in the config, with 'default' as fallback.

                PARAMETER DESCRIPTION resolve

                if False, disables templating via calling get_ref, else resolves template values

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.get_cuda_cc_template_value","title":"get_cuda_cc_template_value(key)","text":"

                Get template value based on --cuda-compute-capabilities EasyBuild configuration option and cuda_compute_capabilities easyconfig parameter. Returns user-friendly error message in case neither are defined, or if an unknown key is used.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.get_parsed_multi_deps","title":"get_parsed_multi_deps()","text":"

                Get list of lists of parsed dependencies that correspond with entries in multi_deps easyconfig parameter.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.get_ref","title":"get_ref(key)","text":"

                Obtain reference to original/untemplated value of specified easyconfig parameter rather than a copied value with templated values.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.handle_external_module_metadata","title":"handle_external_module_metadata(mod_name)","text":"

                Helper function for _parse_dependency; collects metadata for external module dependencies.

                PARAMETER DESCRIPTION mod_name

                name of external module to collect metadata for

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.handle_multi_deps","title":"handle_multi_deps()","text":"

                Handle lists of dependency versions of which we should iterate specified in 'multi_deps' easyconfig parameter.

                This is basically just syntactic sugar to prevent having to specify a list of lists in 'builddependencies'.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.is_mandatory_param","title":"is_mandatory_param(key)","text":"

                Check whether specified easyconfig parameter is mandatory.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.local_var_naming","title":"local_var_naming(local_var_naming_check)","text":"

                Deal with local variables that do not follow the recommended naming scheme (if any).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.parse","title":"parse()","text":"

                Parse the file and set options mandatory requirements are checked here

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.parse_filter_deps","title":"parse_filter_deps()","text":"

                Parse specifications for which dependencies should be filtered.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.parse_version_range","title":"parse_version_range(version_spec)","text":"

                Parse provided version specification as a version range.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.probe_external_module_metadata","title":"probe_external_module_metadata(mod_name, existing_metadata=None)","text":"

                Helper function for handle_external_module_metadata.

                Tries to determine metadata for external module when there is not entry in the metadata file, by looking at the variables defined by the module file.

                This is mainly intended for modules provided in the Cray Programming Environment, but it could also be useful in other contexts.

                The following pairs of variables are considered (in order, first hit wins), where 'XXX' is the software name in capitals: 1. $CRAY_XXX_PREFIX and $CRAY_XXX_VERSION 1. $CRAY_XXX_PREFIX_DIR and $CRAY_XXX_VERSION 2. $CRAY_XXX_DIR and $CRAY_XXX_VERSION 2. $CRAY_XXX_ROOT and $CRAY_XXX_VERSION 5. $XXX_PREFIX and $XXX_VERSION 4. $XXX_DIR and $XXX_VERSION 5. $XXX_ROOT and $XXX_VERSION 3. $XXX_HOME and $XXX_VERSION

                If none of the pairs is found, then an empty dictionary is returned.

                PARAMETER DESCRIPTION mod_name

                name of the external module

                existing_metadata

                already available metadata for this external module (if any)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.set_keys","title":"set_keys(params)","text":"

                Set keys in this EasyConfig instance based on supplied easyconfig parameter values.

                If any unknown easyconfig parameters are encountered here, an error is raised.

                PARAMETER DESCRIPTION params

                a dict value with names/values of easyconfig parameters to set

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.start_iterating","title":"start_iterating()","text":"

                Start iterative mode.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.stop_iterating","title":"stop_iterating()","text":"

                Stop iterative mode.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.update","title":"update(key, value, allow_duplicate=True)","text":"

                Update an easyconfig parameter with the specified value (i.e. append to it). Note: For dictionary easyconfig parameters, 'allow_duplicate' is ignored (since it's meaningless).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.validate","title":"validate(check_osdeps=True)","text":"

                Validate this easyonfig - ensure certain easyconfig parameters are set to a known value (see self.validations) - check OS dependencies - check license

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.validate_iterate_opts_lists","title":"validate_iterate_opts_lists()","text":"

                Configure/build/install options specified as lists should have same length.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.validate_license","title":"validate_license()","text":"

                Validate the license

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.EasyConfig.validate_os_deps","title":"validate_os_deps()","text":"

                validate presence of OS dependencies osdependencies should be a single list

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.clean_up_easyconfigs","title":"clean_up_easyconfigs(paths)","text":"

                Clean up easyconfigs (in place) by filtering out comments/buildstats included by EasyBuild in archived easyconfigs (cfr. FileRepository.add_easyconfig in easybuild.tools.repository.filerepo)

                PARAMETER DESCRIPTION paths

                list of paths to easyconfigs to clean up

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.copy_easyconfigs","title":"copy_easyconfigs(paths, target_dir)","text":"

                Copy easyconfig files to specified directory, in the 'right' location and using the filename expected by robot.

                PARAMETER DESCRIPTION paths

                list of paths to copy to git working dir

                target_dir

                target directory

                RETURNS DESCRIPTION

                dict with useful information on copied easyconfig files (corresponding EasyConfig instances, paths, status)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.copy_patch_files","title":"copy_patch_files(patch_specs, target_dir)","text":"

                Copy patch files to specified directory, in the 'right' location according to the software name they relate to.

                PARAMETER DESCRIPTION patch_specs

                list of tuples with patch file location and name of software they are for

                target_dir

                target directory

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.create_paths","title":"create_paths(path, name, version)","text":"

                Returns all the paths where easyconfig could be located is the basepath should be a string can be a '*' if you use glob patterns, or an install version otherwise","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.det_file_info","title":"det_file_info(paths, target_dir)","text":"

                Determine useful information on easyconfig files relative to a target directory, before any actual operation (e.g. copying) is performed

                PARAMETER DESCRIPTION paths

                list of paths to easyconfig files

                target_dir

                target directory

                RETURNS DESCRIPTION

                dict with useful information on easyconfig files (corresponding EasyConfig instances, paths, status) relative to a target directory

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.det_installversion","title":"det_installversion(version, toolchain_name, toolchain_version, prefix, suffix)","text":"

                Deprecated 'det_installversion' function, to determine exact install version, based on supplied parameters.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.det_location_for","title":"det_location_for(path, target_dir, soft_name, target_file)","text":"

                Determine path to easyconfigs directory for specified software name, using specified target file name.

                PARAMETER DESCRIPTION path

                path of file to copy

                target_dir

                (parent) target directory, should contain easybuild/easyconfigs subdirectory

                soft_name

                software name (to determine location to copy to)

                target_file

                target file name

                RETURNS DESCRIPTION

                full path to the right location

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.det_subtoolchain_version","title":"det_subtoolchain_version(current_tc, subtoolchain_names, optional_toolchains, cands, incl_capabilities=False)","text":"

                Returns unique version for subtoolchain, in tc dict. If there is no unique version: * use '' for system, if system is not skipped. * return None for skipped subtoolchains, that is, optional toolchains or system toolchain without add_system_to_minimal_toolchains. * in all other cases, raises an exception.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.disable_templating","title":"disable_templating(ec)","text":"

                Temporarily disable templating on the given EasyConfig

                Usage: with disable_templating(ec): # Do what you want without templating # Templating set to previous value

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.fix_deprecated_easyconfigs","title":"fix_deprecated_easyconfigs(paths)","text":"

                Fix use of deprecated functionality in easyconfigs at specified locations.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.get_easyblock_class","title":"get_easyblock_class(easyblock, name=None, error_on_failed_import=True, error_on_missing_easyblock=None, **kwargs)","text":"

                Get class for a particular easyblock (or use default)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.get_module_path","title":"get_module_path(name, generic=None, decode=True)","text":"

                Determine the module path for a given easyblock or software name, based on the encoded class name.

                PARAMETER DESCRIPTION generic

                whether or not the easyblock is generic (if None: auto-derive from specified class name)

                DEFAULT: None

                decode

                whether or not to decode the provided class name

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.get_toolchain_hierarchy","title":"get_toolchain_hierarchy(parent_toolchain, incl_capabilities=False)","text":"

                Determine list of subtoolchains for specified parent toolchain. Result starts with the most minimal subtoolchains first, ends with specified toolchain.

                The system toolchain is considered the most minimal subtoolchain only if the add_system_to_minimal_toolchains build option is enabled.

                The most complex hierarchy we have now is goolfc which works as follows:

                goolfc\n/     \\\n

                gompic golfc() \\ / \\ () optional toolchains, not compulsory for backwards compatibility gcccuda golf() \\ / GCC / | GCCcore() | \\ | (system: only considered if --add-system-to-minimal-toolchains configuration option is enabled)

                PARAMETER DESCRIPTION parent_toolchain

                dictionary with name/version of parent toolchain

                incl_capabilities

                also register toolchain capabilities in result

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.handle_deprecated_or_replaced_easyconfig_parameters","title":"handle_deprecated_or_replaced_easyconfig_parameters(ec_method)","text":"

                Decorator to handle deprecated/replaced easyconfig parameters.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.is_generic_easyblock","title":"is_generic_easyblock(easyblock)","text":"

                Return whether specified easyblock name is a generic easyblock or not.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.is_local_var_name","title":"is_local_var_name(name)","text":"

                Determine whether provided variable name can be considered as the name of a local variable:

                One of the following suffices to be considered a name of a local variable: * name starts with 'local_' or '_' * name consists of a single letter * name is builtins (which is always defined)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.letter_dir_for","title":"letter_dir_for(name)","text":"

                Determine 'letter' directory for specified software name. This usually just the 1st letter of the software name (in lowercase), except for funky software names, e.g. ones starting with a digit.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.process_easyconfig","title":"process_easyconfig(path, build_specs=None, validate=True, parse_only=False, hidden=None)","text":"

                Process easyconfig, returning some information for each block

                PARAMETER DESCRIPTION path

                path to easyconfig file

                build_specs

                dictionary specifying build specifications (e.g. version, toolchain, ...)

                DEFAULT: None

                validate

                whether or not to perform validation

                DEFAULT: True

                parse_only

                only parse easyconfig superficially (faster, but results in partial info)

                DEFAULT: False

                hidden

                indicate whether corresponding module file should be installed hidden ('.'-prefixed)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.resolve_template","title":"resolve_template(value, tmpl_dict)","text":"

                Given a value, try to susbstitute the templated strings with actual values. - value: some python object (supported are string, tuple/list, dict or some mix thereof) - tmpl_dict: template dictionary

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.robot_find_easyconfig","title":"robot_find_easyconfig(name, version)","text":"

                Find an easyconfig for module in path, returns (absolute) path to easyconfig file (or None, if none is found).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.robot_find_subtoolchain_for_dep","title":"robot_find_subtoolchain_for_dep(dep, modtool, parent_tc=None, parent_first=False)","text":"

                Find the subtoolchain to use for a dependency

                PARAMETER DESCRIPTION dep

                dependency target dict (long and short module names may not exist yet)

                parent_tc

                toolchain from which to derive the toolchain hierarchy to search (default: use dep's toolchain)

                DEFAULT: None

                parent_first

                reverse order in which subtoolchains are considered: parent toolchain, then subtoolchains

                DEFAULT: False

                RETURNS DESCRIPTION

                minimal toolchain for which an easyconfig exists for this dependency (and matches build_options)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.toolchain_hierarchy_cache","title":"toolchain_hierarchy_cache(func)","text":"

                Function decorator to cache (and retrieve cached) toolchain hierarchy queries.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.triage_easyconfig_params","title":"triage_easyconfig_params(variables, ec)","text":"

                Triage supplied variables into known easyconfig parameters and other variables.

                Unknown easyconfig parameters that have a single-letter name, or of which the name starts with 'local_' are considered to be local variables.

                PARAMETER DESCRIPTION variables

                dictionary with names/values of variables that should be triaged

                ec

                dictionary with set of known easyconfig parameters

                RETURNS DESCRIPTION

                2-tuple with dict of names/values for known easyconfig parameters + unknown (non-local) variables

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/easyconfig/#easybuild.framework.easyconfig.easyconfig.verify_easyconfig_filename","title":"verify_easyconfig_filename(path, specs, parsed_ec=None)","text":"

                Check whether parsed easyconfig at specified path matches expected specs; this basically verifies whether the easyconfig filename corresponds to its contents

                PARAMETER DESCRIPTION path

                path to easyconfig file

                specs

                expected specs (dict with easyconfig parameter values)

                parsed_ec

                (list of) EasyConfig instance(s) corresponding to easyconfig file

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/","title":"licenses","text":"

                Easyconfig licenses module that provides all licenses that can be used within an Easyconfig file.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.License","title":"License","text":"

                Bases: object

                EasyBuild easyconfig license class This is also the default restrictive license

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.License.name","title":"name property","text":"

                Return license name.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.License.__init__","title":"__init__()","text":"

                License constructor.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGCC","title":"LicenseGCC","text":"

                Bases: LicenseGPLv3

                GPLv3 with GCC Runtime Library Exception. Latest GPLv2 GCC release was 4.2.1 (http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGCCOld","title":"LicenseGCCOld","text":"

                Bases: LicenseGPLv2

                GPLv2 with GCC Runtime Library Exception for older GCC versions. Latest GPLv2 GCC release was 4.2.1 (http://gcc.gnu.org/ml/gcc-announce/2007/msg00003.html).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGPL","title":"LicenseGPL","text":"

                Bases: LicenseOpen

                Hidden license class to subclass GPL licenses.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGPLv2","title":"LicenseGPLv2","text":"

                Bases: LicenseGPL

                GPLv2 license

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseGPLv3","title":"LicenseGPLv3","text":"

                Bases: LicenseGPLv2

                GPLv3 license

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseLibpng","title":"LicenseLibpng","text":"

                Bases: LicenseOpen

                The PNG license is derived from the zlib license, http://libpng.org/pub/png/src/libpng-LICENSE.txt

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseOpen","title":"LicenseOpen","text":"

                Bases: License

                Hidden license class to subclass open licenses. 'Open' here means, that source can be redistributed, and that both source and binaries do not need special groups (ie anyone can access/use it).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseUnknown","title":"LicenseUnknown","text":"

                Bases: LicenseVeryRestrictive

                A (temporary) license, could be used as default in case nothing was specified

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseVeryRestrictive","title":"LicenseVeryRestrictive","text":"

                Bases: License

                Default license should be very restrictive, so nothing to do here, just a placeholder

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.LicenseZlib","title":"LicenseZlib","text":"

                Bases: LicenseOpen

                The zlib License is a permissive free software license http://www.zlib.net/zlib_license.html

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/licenses/#easybuild.framework.easyconfig.licenses.what_licenses","title":"what_licenses()","text":"

                Return a dict of License subclasses names and license instances

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/","title":"parser","text":"

                This describes the easyconfig parser

                The parser is format version aware

                Authors:

                • Stijn De Weirdt (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser","title":"EasyConfigParser","text":"

                Bases: object

                Read the easyconfig file, return a parsed config object Can contain references to multiple version and toolchain/toolchain versions

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.__init__","title":"__init__(filename=None, format_version=None, rawcontent=None, auto_convert_value_types=True)","text":"

                Initialise the EasyConfigParser class

                PARAMETER DESCRIPTION filename

                path to easyconfig file to parse (superseded by rawcontent, if specified)

                DEFAULT: None

                format_version

                version of easyconfig file format, used to determine how to parse supplied easyconfig

                DEFAULT: None

                rawcontent

                raw content of easyconfig file to parse (preferred over easyconfig supplied via filename)

                DEFAULT: None

                auto_convert_value_types

                indicates whether types of easyconfig values should be automatically converted in case they are wrong

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.check_values_types","title":"check_values_types(cfg)","text":"

                Check types of easyconfig parameter values.

                PARAMETER DESCRIPTION cfg

                dictionary with easyconfig parameter values (result of get_config_dict())

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.dump","title":"dump(ecfg, default_values, templ_const, templ_val, toolchain_hierarchy=None)","text":"

                Dump easyconfig in format it was parsed from.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.get_config_dict","title":"get_config_dict(validate=True)","text":"

                Return parsed easyconfig as a dict.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.process","title":"process(filename=None)","text":"

                Create an instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.set_format_text","title":"set_format_text()","text":"

                Create the text for the formatter instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.set_specifications","title":"set_specifications(specs)","text":"

                Set specifications.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.EasyConfigParser.write","title":"write(filename=None)","text":"

                Write the easyconfig format instance, using content in self.rawcontent.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/parser/#easybuild.framework.easyconfig.parser.fetch_parameters_from_easyconfig","title":"fetch_parameters_from_easyconfig(rawtxt, params)","text":"

                Fetch (initial) parameter definition from the given easyconfig file contents.

                PARAMETER DESCRIPTION rawtxt

                contents of the easyconfig file

                params

                list of parameter names to fetch values for

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/style/","title":"style","text":"

                Style tests for easyconfig files using pycodestyle.

                Authors:

                • Ward Poelmans (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/style/#easybuild.framework.easyconfig.style.check_easyconfigs_style","title":"check_easyconfigs_style(easyconfigs, verbose=False)","text":"

                Check the given list of easyconfigs for style

                PARAMETER DESCRIPTION easyconfigs

                list of file paths to easyconfigs

                verbose

                print our statistics and be verbose about the errors and warning

                DEFAULT: False

                RETURNS DESCRIPTION

                the number of warnings and errors

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/style/#easybuild.framework.easyconfig.style.cmdline_easyconfigs_style_check","title":"cmdline_easyconfigs_style_check(ecs)","text":"

                Run easyconfigs style check of each of the specified easyconfigs, triggered from 'eb' command line

                PARAMETER DESCRIPTION ecs

                list of easyconfigs to check, could be either file paths or EasyConfig instances

                RETURNS DESCRIPTION

                True when style check passed on all easyconfig files, False otherwise

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/templates/","title":"templates","text":"

                Easyconfig templates module that provides templating that can be used within an Easyconfig file.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Fotis Georgatos (Uni.Lu, NTUA)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/templates/#easybuild.framework.easyconfig.templates.template_constant_dict","title":"template_constant_dict(config, ignore=None, skip_lower=None, toolchain=None)","text":"

                Create a dict for templating the values in the easyconfigs. - config is a dict with the structure of EasyConfig._config

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/templates/#easybuild.framework.easyconfig.templates.template_documentation","title":"template_documentation()","text":"

                Generate the templating documentation

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/templates/#easybuild.framework.easyconfig.templates.to_template_str","title":"to_template_str(key, value, templ_const, templ_val)","text":"

                Insert template values where possible

                PARAMETER DESCRIPTION key

                name of easyconfig parameter

                value

                string representing easyconfig parameter value

                templ_const

                dictionary of template strings (constants)

                templ_val

                (ordered) dictionary of template strings specific for this easyconfig file

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/","title":"tools","text":"

                Easyconfig module that provides functionality for dealing with easyconfig (.eb) files, alongside the EasyConfig class to represent parsed easyconfig files.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                • Fotis Georgatos (Uni.Lu, NTUA)
                • Ward Poelmans (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.alt_easyconfig_paths","title":"alt_easyconfig_paths(tmpdir, tweaked_ecs=False, from_prs=None, review_pr=None)","text":"

                Obtain alternative paths for easyconfig files.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.avail_easyblocks","title":"avail_easyblocks()","text":"

                Return a list of all available easyblocks.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.categorize_files_by_type","title":"categorize_files_by_type(paths)","text":"

                Splits list of filepaths into a 4 separate lists: easyconfigs, files to delete, patch files and files with extension .py

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.check_sha256_checksums","title":"check_sha256_checksums(ecs, whitelist=None)","text":"

                Check whether all provided (parsed) easyconfigs have SHA256 checksums for sources & patches.

                PARAMETER DESCRIPTION whitelist

                list of regex patterns on easyconfig filenames; check is skipped for matching easyconfigs

                DEFAULT: None

                RETURNS DESCRIPTION

                list of strings describing checksum issues (missing checksums, wrong checksum type, etc.)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.dep_graph","title":"dep_graph(filename, specs)","text":"

                Create a dependency graph for the given easyconfigs.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.det_copy_ec_specs","title":"det_copy_ec_specs(orig_paths, from_pr)","text":"

                Determine list of paths + target directory for --copy-ec.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.det_easyconfig_paths","title":"det_easyconfig_paths(orig_paths)","text":"

                Determine paths to easyconfig files.

                PARAMETER DESCRIPTION orig_paths

                list of original easyconfig paths

                RETURNS DESCRIPTION

                list of paths to easyconfig files

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.dump_env_script","title":"dump_env_script(easyconfigs)","text":"

                Dump source scripts that set up build environment for specified easyconfigs.

                PARAMETER DESCRIPTION easyconfigs

                list of easyconfigs to generate scripts for

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.find_related_easyconfigs","title":"find_related_easyconfigs(path, ec)","text":"

                Find related easyconfigs for provided parsed easyconfig in specified path.

                A list of easyconfigs for the same software (name) is returned, matching the 1st criterion that yields a non-empty list.

                The following criteria are considered (in this order) next to common software version criterion, i.e. exact version match, a major/minor version match, a major version match, or no version match (in that order).

                (i) matching versionsuffix and toolchain name/version (ii) matching versionsuffix and toolchain name (any toolchain version) (iii) matching versionsuffix (any toolchain name/version) (iv) matching toolchain name/version (any versionsuffix) (v) matching toolchain name (any versionsuffix, toolchain version) (vi) no extra requirements (any versionsuffix, toolchain name/version)

                If no related easyconfigs with a matching software name are found, an empty list is returned.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.find_resolved_modules","title":"find_resolved_modules(easyconfigs, avail_modules, modtool, retain_all_deps=False)","text":"

                Find easyconfigs in 1st argument which can be fully resolved using modules specified in 2nd argument

                PARAMETER DESCRIPTION easyconfigs

                list of parsed easyconfigs

                avail_modules

                list of available modules

                retain_all_deps

                retain all dependencies, regardless of whether modules are available for them or not

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.get_paths_for","title":"get_paths_for(subdir=EASYCONFIGS_PKG_SUBDIR, robot_path=None)","text":"

                Return a list of absolute paths where the specified subdir can be found, determined by the PYTHONPATH

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.parse_easyconfigs","title":"parse_easyconfigs(paths, validate=True)","text":"

                Parse easyconfig files

                PARAMETER DESCRIPTION paths

                paths to easyconfigs

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.review_pr","title":"review_pr(paths=None, pr=None, colored=True, branch='develop', testing=False, max_ecs=None, filter_ecs=None)","text":"

                Print multi-diff overview between specified easyconfigs or PR and specified branch.

                PARAMETER DESCRIPTION pr

                pull request number in easybuild-easyconfigs repo to review

                DEFAULT: None

                paths

                path tuples (path, generated) of easyconfigs to review

                DEFAULT: None

                colored

                boolean indicating whether a colored multi-diff should be generated

                DEFAULT: True

                branch

                easybuild-easyconfigs branch to compare with

                DEFAULT: 'develop'

                testing

                whether to ignore PR labels (used in test_review_pr)

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.run_contrib_checks","title":"run_contrib_checks(ecs)","text":"

                Run contribution check on specified easyconfigs.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.skip_available","title":"skip_available(easyconfigs, modtool)","text":"

                Skip building easyconfigs for existing modules.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tools/#easybuild.framework.easyconfig.tools.stats_to_str","title":"stats_to_str(stats, isyeb=False)","text":"

                Pretty print build statistics to string.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/","title":"tweak","text":"

                Easyconfig module that provides functionality for tweaking existing eaysconfig (.eb) files.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                • Fotis Georgatos (Uni.Lu, NTUA)
                • Alan O'Cais (Juelich Supercomputing Centre)
                • Maxime Boissonneault (Universite Laval, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.check_capability_mapping","title":"check_capability_mapping(source_tc_spec, target_tc_spec)","text":"

                Compare whether the capabilities of a source toolchain are all present in a target toolchain

                PARAMETER DESCRIPTION source_tc_spec

                specs of source toolchain

                target_tc_spec

                specs of target toolchain

                RETURNS DESCRIPTION

                boolean indicating whether or not source toolchain is compatible with target toolchain

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.ec_filename_for","title":"ec_filename_for(path)","text":"

                Return a suiting file name for the easyconfig file at , as determined by its contents.","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.find_matching_easyconfigs","title":"find_matching_easyconfigs(name, installver, paths)","text":"

                Find easyconfigs that match specified name/installversion in specified list of paths.

                PARAMETER DESCRIPTION name

                software name

                installver

                software install version (which includes version, toolchain, versionprefix/suffix, ...)

                paths

                list of paths to search easyconfigs in

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.find_potential_version_mappings","title":"find_potential_version_mappings(dep, toolchain_mapping, versionsuffix_mapping=None, highest_versions_only=True, ignore_versionsuffixes=False, quiet=False)","text":"

                Find potential version mapping for a dependency in a new hierarchy

                PARAMETER DESCRIPTION dep

                dependency specification (dict)

                toolchain_mapping

                toolchain mapping used for search

                versionsuffix_mapping

                mapping of version suffixes (required by software with a special version suffix, such as Python packages)

                DEFAULT: None

                highest_versions_only

                only return highest versions

                DEFAULT: True

                RETURNS DESCRIPTION

                list of dependencies that match

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.get_dep_tree_of_toolchain","title":"get_dep_tree_of_toolchain(toolchain_spec, modtool)","text":"

                Get list of dependencies of a toolchain (as EasyConfig objects)

                PARAMETER DESCRIPTION toolchain_spec

                toolchain spec to get the dependencies of

                modtool

                module tool used

                RETURNS DESCRIPTION

                The dependency tree of the toolchain spec

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.get_matching_easyconfig_candidates","title":"get_matching_easyconfig_candidates(prefix_stub, toolchain)","text":"

                Find easyconfigs that match specified requirements w.r.t. toolchain and partial filename pattern.

                PARAMETER DESCRIPTION prefix_stub

                stub used in regex (e.g., 'Python-' or 'Python-2')

                toolchain

                the toolchain to use with the search

                RETURNS DESCRIPTION

                list of candidate paths, toolchain_suffix of candidates

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.list_deps_versionsuffixes","title":"list_deps_versionsuffixes(ec_spec)","text":"

                Take an easyconfig spec, parse it, extracts the list of version suffixes used in its dependencies

                PARAMETER DESCRIPTION ec_spec

                location of original easyconfig file

                RETURNS DESCRIPTION

                The list of versionsuffixes used by the dependencies of this recipe

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.map_common_versionsuffixes","title":"map_common_versionsuffixes(software_name, original_toolchain, toolchain_mapping)","text":"

                Create a mapping of common versionssuffixes (like -Python-%(pyver)s) between toolchains

                PARAMETER DESCRIPTION software_name

                Name of software

                original_toolchain

                original toolchain

                toolchain_mapping

                toolchain mapping from that containing original to target

                RETURNS DESCRIPTION

                dictionary of possible mappings

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.map_easyconfig_to_target_tc_hierarchy","title":"map_easyconfig_to_target_tc_hierarchy(ec_spec, toolchain_mapping, targetdir=None, update_build_specs=None, update_dep_versions=False, ignore_versionsuffixes=False)","text":"

                Take an easyconfig spec, parse it, map it to a target toolchain and dump it out

                PARAMETER DESCRIPTION ec_spec

                location of original easyconfig file

                toolchain_mapping

                mapping between source toolchain and target toolchain

                targetdir

                directory to dump the modified easyconfig file in

                DEFAULT: None

                update_build_specs

                dict with names and values of easyconfig parameters to tweak

                DEFAULT: None

                update_dep_versions

                boolean indicating whether dependency versions should be updated

                DEFAULT: False

                RETURNS DESCRIPTION

                Location of the modified easyconfig file

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.map_toolchain_hierarchies","title":"map_toolchain_hierarchies(source_toolchain, target_toolchain, modtool)","text":"

                Create a map between toolchain hierarchy of the initial toolchain and that of the target toolchain

                PARAMETER DESCRIPTION source_toolchain

                initial toolchain of the easyconfig(s)

                target_toolchain

                target toolchain for tweaked easyconfig(s)

                modtool

                module tool used

                RETURNS DESCRIPTION

                mapping from source hierarchy to target hierarchy

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.map_versionsuffixes_cache","title":"map_versionsuffixes_cache(func)","text":"

                Function decorator to cache (and retrieve cached) versionsuffixes mapping between toolchains.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.match_minimum_tc_specs","title":"match_minimum_tc_specs(source_tc_spec, target_tc_hierarchy)","text":"

                Match a source toolchain spec to the minimal corresponding toolchain in a target hierarchy

                PARAMETER DESCRIPTION source_tc_spec

                specs of source toolchain

                target_tc_hierarchy

                hierarchy of specs for target toolchain

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.obtain_ec_for","title":"obtain_ec_for(specs, paths, fp=None)","text":"

                Obtain an easyconfig file to the given specifications.

                Either select between available ones, or use the best suited available one to generate a new easyconfig file.

                PARAMETER DESCRIPTION specs

                list of available easyconfig files

                paths

                a list of paths where easyconfig files can be found

                fp

                the desired file name

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.pick_version","title":"pick_version(req_ver, avail_vers)","text":"

                Pick version based on an optionally desired version and available versions.

                If a desired version is specifed, the most recent version that is less recent than or equal to the desired version will be picked; else, the most recent version will be picked.

                This function returns both the version to be used, which is equal to the required version if it was specified, and the version picked that matches that closest.

                PARAMETER DESCRIPTION req_ver

                required version

                avail_vers

                list of available versions

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.select_or_generate_ec","title":"select_or_generate_ec(fp, paths, specs)","text":"

                Select or generate an easyconfig file with the given requirements, from existing easyconfig files.

                If easyconfig files are available for the specified software package, then this function will first try to determine which toolchain to use. * if a toolchain is given, it will use it (possible using a template easyconfig file as base); * if not, and only a single toolchain is available, is will assume it can use that toolchain * else, it fails -- EasyBuild doesn't select between multiple available toolchains

                Next, it will trim down the selected easyconfig files to a single one, based on the following requirements (in order of preference): * toolchain version * software version * other parameters (e.g. versionprefix, versionsuffix, etc.)

                If a complete match is found, it will return that easyconfig. Else, it will generate a new easyconfig file based on the selected 'best matching' easyconfig file.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.tweak","title":"tweak(easyconfigs, build_specs, modtool, targetdirs=None)","text":"

                Tweak list of easyconfigs according to provided build specifications.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/tweak/#easybuild.framework.easyconfig.tweak.tweak_one","title":"tweak_one(orig_ec, tweaked_ec, tweaks, targetdir=None)","text":"

                Tweak an easyconfig file with the given list of tweaks, using replacement via regular expressions. Note: this will only work 'well-written' easyconfig files, i.e. ones that e.g. set the version once and then use the 'version' variable to construct the list of sources, and possibly other parameters that depend on the version (e.g. list of patch files, dependencies, version suffix, ...)

                The tweaks should be specified in a dictionary, with parameters and keys that map to the values to be set.

                Reads easyconfig file at path , and writes the tweaked easyconfig file to .

                If is not provided, a target filepath is generated based on and the contents of the tweaked easyconfig file. PARAMETER DESCRIPTION orig_ec

                location of original easyconfig file to read

                tweaked_ec

                location where tweaked easyconfig file should be written (if this is None, then filename for tweaked easyconfig is auto-derived from contents)

                tweaks

                dictionary with set of changes to apply to original easyconfig file

                targetdir

                target directory for tweaked easyconfig file, defaults to temporary directory (only used if tweaked_ec is None)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/","title":"types","text":"

                Support for checking types of easyconfig parameter values.

                Authors:

                • Caroline De Brouwer (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.as_hashable","title":"as_hashable(dict_value)","text":"

                Helper function, convert dict value to hashable equivalent via tuples.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_element_types","title":"check_element_types(elems, allowed_types)","text":"

                Check whether types of elements of specified (iterable) value are as expected.

                PARAMETER DESCRIPTION elems

                iterable value (list or dict) of elements

                allowed_types

                allowed types per element; either a simple list, or a dict of allowed_types by element name

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_key_types","title":"check_key_types(val, allowed_types)","text":"

                Check whether type of keys for specific dict value are as expected.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_known_keys","title":"check_known_keys(val, allowed_keys)","text":"

                Check whether all keys for specified dict value are known keys.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_required_keys","title":"check_required_keys(val, required_keys)","text":"

                Check whether all required keys are present in the specified dict value.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.check_type_of_param_value","title":"check_type_of_param_value(key, val, auto_convert=False)","text":"

                Check value type of specified easyconfig parameter.

                PARAMETER DESCRIPTION key

                name of easyconfig parameter

                val

                easyconfig parameter value, of which type should be checked

                auto_convert

                try to automatically convert to expected value type if required

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.convert_value_type","title":"convert_value_type(val, typ)","text":"

                Try to convert type of provided value to specific type.

                PARAMETER DESCRIPTION val

                value to convert type of

                typ

                target type

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.ensure_iterable_license_specs","title":"ensure_iterable_license_specs(specs)","text":"

                Ensures that the provided license file/server specifications are of correct type and converts them to a list. The input can either be None, a string, or a list/tuple of strings.

                PARAMETER DESCRIPTION specs

                License file/server specifications as provided via license_file easyconfig parameter

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.is_value_of_type","title":"is_value_of_type(value, expected_type)","text":"

                Check whether specified value matches a particular very specific (non-trivial) type, which is specified by means of a 2-tuple: (parent type, tuple with additional type requirements).

                PARAMETER DESCRIPTION value

                value to check the type of

                expected_type

                type of value to check against

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_checksums","title":"to_checksums(checksums)","text":"

                Ensure correct element types for list of checksums: convert list elements to tuples.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_dependencies","title":"to_dependencies(dep_list)","text":"

                Convert a list of dependencies obtained from parsing a .yeb easyconfig to a list of dependencies in the correct format

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_dependency","title":"to_dependency(dep)","text":"

                Convert a dependency specification to a dependency dict with name/version/versionsuffix/toolchain keys.

                Example: {'foo': '1.2.3', 'toolchain': 'GCC, 4.8.2'} to {'name': 'foo', 'version': '1.2.3', 'toolchain': {'name': 'GCC', 'version': '4.8.2'}}

                or {'name': 'fftw/3.3.4.1', 'external_module': True} to

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_list_of_strings","title":"to_list_of_strings(value)","text":"

                Convert specified value to a list of strings, if possible.

                Supported: single string value, tuple of string values.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_list_of_strings_and_tuples","title":"to_list_of_strings_and_tuples(spec)","text":"

                Convert a 'list of lists and strings' to a 'list of tuples and strings'

                Example: ['foo', ['bar', 'baz']] to ['foo', ('bar', 'baz')]

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_list_of_strings_and_tuples_and_dicts","title":"to_list_of_strings_and_tuples_and_dicts(spec)","text":"

                Convert a 'list of dicts and tuples/lists and strings' to a 'list of dicts and tuples and strings'

                Example: ['foo', ['bar', 'baz']] to ['foo', ('bar', 'baz')]

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_name_version_dict","title":"to_name_version_dict(spec)","text":"

                No longer supported, replaced by to_toolchain_dict.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_sanity_check_paths_dict","title":"to_sanity_check_paths_dict(spec)","text":"

                Convert a sanity_check_paths dict as received by yaml (a dict with list values that contain either lists or strings)

                Example: {'files': ['file1', ['file2a', 'file2b]], 'dirs': ['foo/bar']} to

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_sanity_check_paths_entry","title":"to_sanity_check_paths_entry(spec)","text":"

                Convert a 'list of lists and strings' to a 'list of tuples and strings' while allowing dicts of lists or strings

                Example: ['foo', ['bar', 'baz'], {'f42': ['a', 'b']}] to ['foo', ('bar', 'baz'), {'f42': ('a', 'b')}]

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/types/#easybuild.framework.easyconfig.types.to_toolchain_dict","title":"to_toolchain_dict(spec)","text":"

                Convert a comma-separated string or 2/3-element list of strings to a dictionary with name/version keys, and optionally a hidden key. If the specified value is a dict already, the keys are checked to be only name/version/hidden.

                For example: \"intel, 2015a\" => {'name': 'intel', 'version': '2015a'} \"foss, 2016a, True\" => {'name': 'foss', 'version': '2016a', 'hidden': True}

                PARAMETER DESCRIPTION spec

                a comma-separated string with two or three values, or a 2/3-element list of strings, or a dict

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/","title":"format","text":"
                • easybuild
                  • framework
                    • easyconfig
                      • format
                        • convert
                        • format
                        • one
                        • pyheaderconfigobj
                        • two
                        • version
                        • yeb
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/","title":"convert","text":"

                This module implements easyconfig specific formats and their conversions.

                Authors:

                • Stijn De Weirdt (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency","title":"Dependency","text":"

                Bases: Convert

                Handle dependency

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.__init__","title":"__init__(obj, name=None)","text":"

                Convert pass object to a dependency, use specified name if provided.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.__str__","title":"__str__()","text":"

                Return string

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.name","title":"name()","text":"

                Get dependency name.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.toolchain","title":"toolchain()","text":"

                Get toolchain spec for dependency (if any).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.version","title":"version()","text":"

                Get dependency version.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/convert/#easybuild.framework.easyconfig.format.convert.Dependency.versionsuffix","title":"versionsuffix()","text":"

                Get dependency versionsuffix (if any).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/","title":"format","text":"

                The main easyconfig format class

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj","title":"EBConfigObj","text":"

                Bases: object

                Enhanced ConfigObj, version/toolchain and other easyconfig specific aspects aware

                Given ConfigObj instance, make instance that represents a parser

                Mandatory/minimal (to mimic v1.0 behaviour); first version/toolchain is the default [SUPPORTED] versions=version_operator toolchains=toolchain_version_operator

                Optional [DEFAULT] ... [ ] ... [ ] [[ ]] ... ...","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.__init__","title":"__init__(configobj=None)","text":"

                Initialise EBConfigObj instance

                PARAMETER DESCRIPTION configobj

                ConfigObj instance

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.get_specs_for","title":"get_specs_for(version=None, tcname=None, tcversion=None)","text":"

                Return dictionary with specifications listed in sections applicable for specified info.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.get_version_toolchain","title":"get_version_toolchain(version=None, tcname=None, tcversion=None)","text":"

                Return tuple of version, toolchainname and toolchainversion (possibly using defaults).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.parse","title":"parse(configobj)","text":"

                Parse configobj using using recursive parse_sections. Then split off the default and supported sections.

                PARAMETER DESCRIPTION configobj

                ConfigObj instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.parse_sections","title":"parse_sections(toparse, current)","text":"

                Parse Section instance; convert all supported sections, keys and values to their respective representations

                Returns a dict of (nested) Sections

                PARAMETER DESCRIPTION toparse

                a Section (or ConfigObj) instance, basically a dict of (unparsed) sections

                current

                the current NestedDict

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EBConfigObj.squash","title":"squash(version, tcname, tcversion)","text":"

                Project the multidimensional easyconfig to single easyconfig It (tries to) detect conflicts in the easyconfig.

                PARAMETER DESCRIPTION version

                version to keep

                tcname

                toolchain name to keep

                tcversion

                toolchain version to keep

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat","title":"EasyConfigFormat","text":"

                Bases: object

                EasyConfigFormat class

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.comments","title":"comments property","text":"

                Return comments in easyconfig file

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.__init__","title":"__init__()","text":"

                Initialise the EasyConfigFormat class

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.dump","title":"dump(ecfg, default_values, templ_const, templ_val, toolchain_hierarchy=None)","text":"

                Dump easyconfig according to this format. This is highly version specific

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.extract_comments","title":"extract_comments(rawtxt)","text":"

                Extract comments from raw content.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.get_config_dict","title":"get_config_dict()","text":"

                Returns a single easyconfig dictionary.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.parse","title":"parse(txt, **kwargs)","text":"

                Parse the txt according to this format. This is highly version specific

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.set_specifications","title":"set_specifications(specs)","text":"

                Set specifications.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.EasyConfigFormat.validate","title":"validate()","text":"

                Verify the easyconfig format

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.NestedDict","title":"NestedDict","text":"

                Bases: dict

                A nested dictionary, with tracking of depth and parent

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.NestedDict.__init__","title":"__init__(parent, depth)","text":"

                Initialise NestedDict instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.NestedDict.copy","title":"copy()","text":"

                Return a copy. Any relation between key and value are deepcopied away.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.NestedDict.get_nested_dict","title":"get_nested_dict()","text":"

                Return an instance of NestedDict with this instance as parent

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed","title":"Squashed","text":"

                Bases: object

                Class to ease the squashing of OrderedVersionOperators and OrderedToolchainVersionOperators

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed.__init__","title":"__init__()","text":"

                Initialise Squashed instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed.add_toolchain","title":"add_toolchain(squashed)","text":"

                Add squashed instance from a toolchain section

                PARAMETER DESCRIPTION squashed

                a Squashed instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed.add_version","title":"add_version(section, squashed)","text":"

                Add squashed instance from version section

                PARAMETER DESCRIPTION section

                the version section versionoperator instance

                squashed

                a Squashed instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.Squashed.final","title":"final()","text":"

                Final squashing of version and toolchainversion operators and return the result

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.TopNestedDict","title":"TopNestedDict","text":"

                Bases: NestedDict

                The top level nested dictionary (depth 0, parent is itself)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.TopNestedDict.__init__","title":"__init__(parent=None, depth=None)","text":"

                Initialise TopNestedDict instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.get_format_version","title":"get_format_version(txt)","text":"

                Get the easyconfig format version as EasyVersion instance.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/format/#easybuild.framework.easyconfig.format.format.get_format_version_classes","title":"get_format_version_classes(version=None)","text":"

                Return the (usable) subclasses from EasyConfigFormat that have a matching version.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/","title":"one","text":"

                This describes the easyconfig format version 1.X

                This is the original pure python code, to be exec'ed rather then parsed

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero","title":"FormatOneZero","text":"

                Bases: EasyConfigFormatConfigObj

                Support for easyconfig format 1.x

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.comments","title":"comments property","text":"

                Return comments (and extract them first if needed).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.__init__","title":"__init__(*args, **kwargs)","text":"

                FormatOneZero constructor.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.dump","title":"dump(ecfg, default_values, templ_const, templ_val, toolchain_hierarchy=None)","text":"

                Dump easyconfig in format v1.

                PARAMETER DESCRIPTION ecfg

                EasyConfig instance

                default_values

                default values for easyconfig parameters

                templ_const

                known template constants

                templ_val

                known template values

                toolchain_hierarchy

                hierarchy of toolchains for easyconfig

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.extract_comments","title":"extract_comments(rawtxt)","text":"

                Extract comments from raw content.

                Discriminates between comment header, comments above a line (parameter definition), and inline comments. Inline comments on items of iterable values are also extracted.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.get_config_dict","title":"get_config_dict()","text":"

                Return parsed easyconfig as a dictionary, based on specified arguments. This is easyconfig format 1.x, so there is only one easyconfig instance available.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.parse","title":"parse(txt)","text":"

                Pre-process txt to extract header, docstring and pyheader, with non-indented section markers enforced.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.FormatOneZero.validate","title":"validate()","text":"

                Format validation

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.dump_dependency","title":"dump_dependency(dep, toolchain, toolchain_hierarchy=None)","text":"

                Dump parsed dependency in tuple format

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/one/#easybuild.framework.easyconfig.format.one.retrieve_blocks_in_spec","title":"retrieve_blocks_in_spec(spec, only_blocks, silent=False)","text":"

                Easyconfigs can contain blocks (headed by a [Title]-line) which contain commands specific to that block. Commands in the beginning of the file above any block headers are common and shared between each block.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/","title":"pyheaderconfigobj","text":"

                The main easyconfig format class

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj","title":"EasyConfigFormatConfigObj","text":"

                Bases: EasyConfigFormat

                Extended EasyConfig format, with support for a header and sections that are actually parsed (as opposed to exec'ed). It's very limited for now, but is already huge improvement.

                3 parts in easyconfig file: - header (^# style) - pyheader (including docstring) - contents is exec'ed, docstring and remainder are extracted - begin of regular section until EOF - feed to ConfigObj

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.__init__","title":"__init__(*args, **kwargs)","text":"

                Extend EasyConfigFormat with some more attributes

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse","title":"parse(txt, strict_section_markers=False)","text":"

                Pre-process txt to extract header, docstring and pyheader Then create the configobj instance by parsing the remainder

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse_header","title":"parse_header(header)","text":"

                Parse the header, assign to self.header

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse_pre_section","title":"parse_pre_section(txt)","text":"

                Parse the text block before the start of the first section

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse_pyheader","title":"parse_pyheader(pyheader)","text":"

                Parse the python header, assign to docstring and cfg

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.parse_section_block","title":"parse_section_block(section)","text":"

                Parse the section block by trying to convert it into a ConfigObj instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.EasyConfigFormatConfigObj.pyheader_env","title":"pyheader_env()","text":"

                Create the global/local environment to use with eval/execfile

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.build_easyconfig_constants_dict","title":"build_easyconfig_constants_dict()","text":"

                Make a dictionary with all constants that can be used

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/pyheaderconfigobj/#easybuild.framework.easyconfig.format.pyheaderconfigobj.build_easyconfig_variables_dict","title":"build_easyconfig_variables_dict()","text":"

                Make a dictionary with all variables that can be used

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/","title":"two","text":"

                This describes the easyconfig format versions 2.x

                This is a mix between version 1.0 and configparser-style configuration

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/#easybuild.framework.easyconfig.format.two.FormatTwoZero","title":"FormatTwoZero","text":"

                Bases: EasyConfigFormatConfigObj

                Support for easyconfig format 2.0 Simple extension of FormatOneZero with configparser blocks

                Doesn't set version and toolchain/toolchain version like in FormatOneZero; referencing 'version' directly in pyheader doesn't work => use templating '%(version)s'

                NOT in 2.0 - order preservation: need more recent ConfigObj (more recent Python as minimal version) - nested sections (need other ConfigParser/ConfigObj, eg INITools) - type validation - command line generation (--try-X command line options)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/#easybuild.framework.easyconfig.format.two.FormatTwoZero.extract_comments","title":"extract_comments(rawtxt)","text":"

                Extract comments from raw content.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/#easybuild.framework.easyconfig.format.two.FormatTwoZero.get_config_dict","title":"get_config_dict()","text":"

                Return the best matching easyconfig dict

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/two/#easybuild.framework.easyconfig.format.two.FormatTwoZero.validate","title":"validate()","text":"

                Format validation

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/","title":"version","text":"

                This describes the easyconfig version class. To be used in EasyBuild for anything related to version checking

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.EasyVersion","title":"EasyVersion","text":"

                Bases: LooseVersion

                Exact LooseVersion. No modifications needed (yet)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.EasyVersion.__hash__","title":"__hash__()","text":"

                Return hash for this object.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.EasyVersion.__len__","title":"__len__()","text":"

                Determine length of this EasyVersion instance.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators","title":"OrderedVersionOperators","text":"

                Bases: object

                Ordered version operators. The ordering is defined such that one can test from left to right, and assume that the first matching version operator is the one that is the best match.

                Example: '> 2', '> 3' should be ordered ['> 3', '> 2'], because for 4, both match, but 3 is considered more strict.

                Conflicting version operators are not allowed.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators.__init__","title":"__init__()","text":"

                Initialise the list of version operators as an empty list.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators.__str__","title":"__str__()","text":"

                Print the list and map

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators.add","title":"add(versop_new, data=None, update=None)","text":"

                Try to add argument as VersionOperator instance to current list of version operators. Make sure there is no conflict with existing versops, and that the ordering is maintained. After add, versop_new is in the OrderedVersionOperators. If the same versop_new was already in it, it will update the data (if not None) (and not raise an error)

                PARAMETER DESCRIPTION versop_new

                VersionOperator instance (or will be converted into one if type string)

                data

                additional data for supplied version operator to be stored

                DEFAULT: None

                update

                if versop_new already exist and has data set, try to update the existing data with the new data; instead of overriding the existing data with the new data (method used for updating is .update)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.OrderedVersionOperators.get_data","title":"get_data(versop)","text":"

                Return the data for versop from datamap

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator","title":"ToolchainVersionOperator","text":"

                Bases: VersionOperator

                Class which represents a toolchain and versionoperator instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.__hash__","title":"__hash__()","text":"

                Return hash for this object.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.__init__","title":"__init__(tcversop_str=None)","text":"

                Initialise VersionOperator instance.

                PARAMETER DESCRIPTION tcversop_str

                intialise with toolchain version operator string

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.__str__","title":"__str__()","text":"

                Return string representation of this instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.as_dict","title":"as_dict()","text":"

                Return toolchain version operator as a dictionary with name/version keys. Returns None if translation to a dictionary is not possible (e.g. non-equals operator, missing version, ...).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.is_valid","title":"is_valid()","text":"

                Check if this is a valid ToolchainVersionOperator

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.parse_versop_str","title":"parse_versop_str(tcversop_str)","text":"

                If argument matches a toolchain versop, return dict with toolchain name and version, and optionally operator. Otherwise, return None.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.set","title":"set(tcversop_str)","text":"

                Parse argument as toolchain version string, and set attributes. Returns None in case of failure (e.g. if supplied string doesn't parse), True in case of success.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.test","title":"test(name, version)","text":"

                Check if a toolchain with name name and version version would fit in this ToolchainVersionOperator

                PARAMETER DESCRIPTION name

                toolchain name

                version

                a version string or EasyVersion instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.ToolchainVersionOperator.versop_regex","title":"versop_regex()","text":"

                Create the regular expression for toolchain support of format ^ $ , with the name of one of the supported toolchains and in ' ' syntax","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator","title":"VersionOperator","text":"

                Bases: object

                VersionOperator class represents a version expression that includes an operator.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__bool__","title":"__bool__()","text":"

                Interpretation of a VersionOperator instance as a boolean expression: is it valid?

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__eq__","title":"__eq__(versop)","text":"

                Compare this instance to supplied argument.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__gt__","title":"__gt__(versop_other)","text":"

                Determine if this instance is greater than supplied argument.

                Returns True if it is more strict in case of overlap, or if self.version > versop_other.version otherwise. Returns None in case of conflict.

                PARAMETER DESCRIPTION versop_other

                a VersionOperator instance Examples: '> 2' > '> 1' : True, order by strictness equals order by boundaries for >, >= '< 8' > '< 10': True, order by strictness equals inversed order by boundaries for <, <= '== 4' > '> 3' : equality is more strict than inequality, but this order by boundaries '> 3' > '== 2' : there is no overlap, so just order the intervals according their boundaries '> 1' > '== 1' > '< 1' : no overlap, same boundaries, order by operator suffix: '> 2' > '> 1': both equal (both None), ordering like above '> 2 suffix:-x1' > '> 1 suffix:-x1': both equal (both -x1), ordering like above '> 2 suffix:-x1' > '> 1 suffix:-x2': not equal, conflict

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__hash__","title":"__hash__()","text":"

                Return hash for this object.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__init__","title":"__init__(versop_str=None, error_on_parse_failure=False)","text":"

                Initialise VersionOperator instance.

                PARAMETER DESCRIPTION versop_str

                intialise with version operator string

                DEFAULT: None

                error_on_parse_failure

                raise EasyBuildError in case of parse error

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__ne__","title":"__ne__(versop)","text":"

                Is self not equal to versop

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__repr__","title":"__repr__()","text":"

                Return instance as string (ignores begin_end)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.__str__","title":"__str__()","text":"

                Return string representation of this VersionOperator instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.get_version_str","title":"get_version_str()","text":"

                Return string representation of version (ignores operator).

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.is_valid","title":"is_valid()","text":"

                Check if this is a valid VersionOperator. Suffix can be anything.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.parse_error","title":"parse_error(msg)","text":"

                Special function to deal with parse errors

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.parse_versop_str","title":"parse_versop_str(versop_str, versop_dict=None)","text":"

                If argument contains a version operator, returns a dict with version and operator; returns None otherwise

                PARAMETER DESCRIPTION versop_str

                the string to parse

                versop_dict

                advanced usage: pass intialised versop_dict (eg for ToolchainVersionOperator)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.set","title":"set(versop_str)","text":"

                Parse argument as a version operator, and set attributes. Returns True in case of success, throws an error in case of parsing failure.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.test","title":"test(test_version)","text":"

                Convert argument to an EasyVersion instance if needed, and return self.operator(, self.version) Versions only, no suffix. PARAMETER DESCRIPTION test_version

                a version string or EasyVersion instance

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.test_overlap_and_conflict","title":"test_overlap_and_conflict(versop_other)","text":"

                Test if there is any overlap between this instance and versop_other, and if so, if there is a conflict or not.

                Returns 2 booleans: has_overlap, is_conflict

                PARAMETER DESCRIPTION versop_other

                a VersionOperator instance Examples: '> 3' and '> 3' : equal, and thus overlap (no conflict) '> 3' and '< 2' : no overlap '< 3' and '> 2' : overlap, and conflict (region between 2 and 3 is ambiguous) '> 3' and '== 3' : no overlap '>= 3' and '== 3' : overlap, and conflict (boundary 3 is ambigous) '> 3' and '>= 3' : overlap, no conflict ('> 3' is more strict then '>= 3') # suffix '> 2 suffix:-x1' > '> 1 suffix:-x2': suffix not equal, conflict

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/version/#easybuild.framework.easyconfig.format.version.VersionOperator.versop_regex","title":"versop_regex(begin_end=True)","text":"

                Create the version regular expression with operator support. This supports version expressions like '> 5' (anything strict larger than 5), or '<= 1.2' (anything smaller than or equal to 1.2)

                PARAMETER DESCRIPTION begin_end

                boolean, create a regex with begin/end match

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/","title":"yeb","text":"

                YAML easyconfig format (.yeb) Useful: http://www.yaml.org/spec/1.2/spec.html

                Authors:

                • Caroline De Brouwer (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb","title":"FormatYeb","text":"

                Bases: EasyConfigFormat

                Support for easyconfig YAML format

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.__init__","title":"__init__()","text":"

                FormatYeb constructor

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.dump","title":"dump(ecfg, default_values, templ_const, templ_val, toolchain_hierarchy=None)","text":"

                Dump parsed easyconfig in .yeb format

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.extract_comments","title":"extract_comments(txt)","text":"

                Extract comments from easyconfig file

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.get_config_dict","title":"get_config_dict()","text":"

                Return parsed easyconfig as a dictionary, based on specified arguments.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.parse","title":"parse(txt)","text":"

                Process YAML file

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.FormatYeb.validate","title":"validate()","text":"

                Format validation

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.is_yeb_format","title":"is_yeb_format(filename, rawcontent)","text":"

                Determine whether easyconfig is in .yeb format. If filename is None, rawcontent will be used to check the format.

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.quote_yaml_special_chars","title":"quote_yaml_special_chars(val)","text":"

                Single-quote values that contain special characters, specifically to be used in YAML context (.yeb files) Single quotes inside the string are escaped by doubling them. (see: http://symfony.com/doc/current/components/yaml/yaml_format.html#strings)

                ","boost":0.5},{"location":"api/easybuild/framework/easyconfig/format/yeb/#easybuild.framework.easyconfig.format.yeb.yaml_join","title":"yaml_join(loader, node)","text":"

                defines custom YAML join function. see http://stackoverflow.com/questions/5484016/ how-can-i-do-string-concatenation-or-string-replacement-in-yaml/23212524#23212524

                PARAMETER DESCRIPTION loader

                the YAML Loader

                node

                the YAML (sequence) node

                ","boost":0.5},{"location":"api/easybuild/scripts/","title":"Index","text":"
                • easybuild
                  • scripts
                    • bootstrap_eb
                    • clean_gists
                    • findPythonDeps
                    • fix_docs
                    • mk_tmpl_easyblock_for
                    • rpath_args
                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/","title":"bootstrap_eb","text":"

                Bootstrap script for EasyBuild

                Installs distribute with included (patched) distribute_setup.py script to obtain easy_install, and then performs a staged install of EasyBuild: * stage 0: install setuptools (which provides easy_install), unless already available * stage 1: install EasyBuild with easy_install to a temporary directory * stage 2: install EasyBuild with EasyBuild from stage 1 to specified install directory

                Authors: Kenneth Hoste (UGent), Stijn Deweirdt (UGent), Ward Poelmans (UGent) License: GPLv2

                inspired by https://bitbucket.org/pdubroy/pip/raw/tip/getpip.py (via http://dubroy.com/blog/so-you-want-to-install-a-python-package/)

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.check_easy_install_cmd","title":"check_easy_install_cmd()","text":"

                Try to make sure available 'easy_install' command matches active 'setuptools' installation.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.check_module_command","title":"check_module_command(tmpdir)","text":"

                Check which module command is available, and prepare for using it.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.check_setuptools","title":"check_setuptools()","text":"

                Check whether a suitable setuptools installation is already available.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.debug","title":"debug(msg)","text":"

                Print debug message.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.det_lib_path","title":"det_lib_path(libdir)","text":"

                Determine relative path of Python library dir.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.det_modules_path","title":"det_modules_path(install_path)","text":"

                Determine modules path.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.error","title":"error(msg, exit=True)","text":"

                Print error message and exit.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.find_egg_dir_for","title":"find_egg_dir_for(path, pkg)","text":"

                Find full path of egg dir for given package.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.info","title":"info(msg)","text":"

                Print info message.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.main","title":"main()","text":"

                Main script: bootstrap EasyBuild in stages.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.mock_stdout_stderr","title":"mock_stdout_stderr()","text":"

                Mock stdout/stderr channels

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.prep","title":"prep(path)","text":"

                Prepare for installing a Python package in the specified path.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.restore_stdout_stderr","title":"restore_stdout_stderr(orig_stdout, orig_stderr)","text":"

                Restore stdout/stderr channels after mocking

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.run_easy_install","title":"run_easy_install(args)","text":"

                Run easy_install with specified list of arguments

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.stage0","title":"stage0(tmpdir)","text":"

                STAGE 0: Prepare and install distribute via included (patched) distribute_setup.py script.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.stage1","title":"stage1(tmpdir, sourcepath, distribute_egg_dir, forcedversion)","text":"

                STAGE 1: temporary install EasyBuild using distribute's easy_install.

                ","boost":0.5},{"location":"api/easybuild/scripts/bootstrap_eb/#easybuild.scripts.bootstrap_eb.stage2","title":"stage2(tmpdir, templates, install_path, distribute_egg_dir, sourcepath)","text":"

                STAGE 2: install EasyBuild to temporary dir with EasyBuild from stage 1.

                ","boost":0.5},{"location":"api/easybuild/scripts/clean_gists/","title":"clean_gists","text":"

                This script cleans up old gists created by easybuild. It checks if the gists was created from a pull-request and if that PR is closed/merged, it will delete the gist. You need a github token for this. The script uses the same username and token as easybuild. Optionally, you can specify a different github username.

                Authors:

                • Ward Poelmans
                ","boost":0.5},{"location":"api/easybuild/scripts/clean_gists/#easybuild.scripts.clean_gists.main","title":"main()","text":"

                the main function

                ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/","title":"findPythonDeps","text":"","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.can_run","title":"can_run(cmd, argument)","text":"

                Check if the given cmd and argument can be run successfully

                ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.find_deps","title":"find_deps(pkgs, dep_tree)","text":"

                Recursively resolve dependencies of the given package(s) and return them

                ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.get_dep_tree","title":"get_dep_tree(package_spec, verbose)","text":"

                Get the dep-tree for installing the given Python package spec

                ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.run_cmd","title":"run_cmd(arguments, action_desc, capture_stderr=True, **kwargs)","text":"

                Run the command and return the return code and output

                ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.run_in_venv","title":"run_in_venv(cmd, venv_path, action_desc)","text":"

                Run the given command in the virtualenv at the given path

                ","boost":0.5},{"location":"api/easybuild/scripts/findPythonDeps/#easybuild.scripts.findPythonDeps.temporary_directory","title":"temporary_directory(*args, **kwargs)","text":"

                Resource wrapper over tempfile.mkdtemp

                ","boost":0.5},{"location":"api/easybuild/scripts/fix_docs/","title":"fix_docs","text":"

                Overhaul all @param and @author tags for rst API documentation (@param x --> :param x: and @author --> :author:)

                Authors:

                • Caroline De Brouwer (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/scripts/mk_tmpl_easyblock_for/","title":"mk_tmpl_easyblock_for","text":"

                Script to create a template easyblock Python module, for a given software package.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/scripts/rpath_args/","title":"rpath_args","text":"

                Utility script used by RPATH wrapper script; output is statements that define the following environment variables * $CMD_ARGS: new list of command line arguments to pass * $RPATH_ARGS: command line option to specify list of paths to RPATH

                author: Kenneth Hoste (HPC-UGent)

                ","boost":0.5},{"location":"api/easybuild/scripts/rpath_args/#easybuild.scripts.rpath_args.is_new_existing_path","title":"is_new_existing_path(new_path, paths)","text":"

                Check whether specified path exists and is a new path compared to provided list of paths.

                ","boost":0.5},{"location":"api/easybuild/toolchains/","title":"toolchains","text":"
                • easybuild
                  • toolchains
                    • cgmpich
                    • cgmpolf
                    • cgmvapich2
                    • cgmvolf
                    • cgompi
                    • cgoolf
                    • clanggcc
                    • compiler
                      • clang
                      • craype
                      • cuda
                      • dummycompiler
                      • fujitsu
                      • gcc
                      • ibmxl
                      • intel_compilers
                      • inteliccifort
                      • nvhpc
                      • pgi
                      • systemcompiler
                    • craycce
                    • craygnu
                    • crayintel
                    • craypgi
                    • dummy
                    • fcc
                    • ffmpi
                    • fft
                      • fftw
                      • fujitsufftw
                      • intelfftw
                    • foss
                    • fosscuda
                    • fujitsu
                    • gcc
                    • gcccore
                    • gcccuda
                    • gfbf
                    • gimkl
                    • gimpi
                    • gimpic
                    • giolf
                    • giolfc
                    • gmacml
                    • gmkl
                    • gmklc
                    • gmpich
                    • gmpich2
                    • gmpit
                    • gmpolf
                    • gmvapich2
                    • gmvolf
                    • gnu
                    • goalf
                    • gobff
                    • goblf
                    • gofbf
                    • golf
                    • golfc
                    • gomkl
                    • gomklc
                    • gompi
                    • gompic
                    • goolf
                    • goolfc
                    • gpsmpi
                    • gpsolf
                    • gqacml
                    • gsmpi
                    • gsolf
                    • iccifort
                    • iccifortcuda
                    • ictce
                    • iibff
                    • iimkl
                    • iimklc
                    • iimpi
                    • iimpic
                    • iiqmpi
                    • impich
                    • impmkl
                    • intel-para
                    • intel
                    • intel_compilers
                    • intelcuda
                    • iomkl
                    • iomklc
                    • iompi
                    • iompic
                    • ipsmpi
                    • iqacml
                    • ismkl
                    • linalg
                      • acml
                      • atlas
                      • blacs
                      • blis
                      • flame
                      • flexiblas
                      • fujitsussl
                      • gotoblas
                      • intelmkl
                      • lapack
                      • libsci
                      • openblas
                      • scalapack
                    • mpi
                      • craympich
                      • fujitsumpi
                      • intelmpi
                      • mpich
                      • mpich2
                      • mpitrampoline
                      • mvapich2
                      • openmpi
                      • psmpi
                      • qlogicmpi
                      • spectrummpi
                    • nvhpc
                    • nvofbf
                    • nvompi
                    • nvompic
                    • nvpsmpi
                    • nvpsmpic
                    • pgi
                    • pmkl
                    • pomkl
                    • pompi
                    • system
                    • xlcxlf
                    • xlmpich
                    • xlmpich2
                    • xlmvapich2
                    • xlompi
                ","boost":0.5},{"location":"api/easybuild/toolchains/cgmpich/","title":"cgmpich","text":"

                EasyBuild support for cgompi compiler toolchain (includes Clang, GFortran and MPICH).

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/cgmpich/#easybuild.toolchains.cgmpich.Cgmpich","title":"Cgmpich","text":"

                Bases: ClangGcc, Mpich

                Compiler toolchain with Clang, GFortran and MPICH.

                ","boost":0.5},{"location":"api/easybuild/toolchains/cgmpolf/","title":"cgmpolf","text":"

                EasyBuild support for cgmpolf compiler toolchain (includes Clang, GFortran, MPICH, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/cgmpolf/#easybuild.toolchains.cgmpolf.Cgmpolf","title":"Cgmpolf","text":"

                Bases: Cgmpich, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with Clang, GFortran, MPICH, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/cgmvapich2/","title":"cgmvapich2","text":"

                EasyBuild support for cgmvapich2 compiler toolchain (includes Clang, GFortran and MVAPICH2).

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/cgmvapich2/#easybuild.toolchains.cgmvapich2.Cgmvapich2","title":"Cgmvapich2","text":"

                Bases: ClangGcc, Mvapich2

                Compiler toolchain with Clang, GFortran and MVAPICH2.

                ","boost":0.5},{"location":"api/easybuild/toolchains/cgmvolf/","title":"cgmvolf","text":"

                EasyBuild support for cgmvolf compiler toolchain (includes Clang, GFortran, MVAPICH2, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/cgmvolf/#easybuild.toolchains.cgmvolf.Cgmvolf","title":"Cgmvolf","text":"

                Bases: Cgmvapich2, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with Clang, GFortran, MVAPICH2, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/cgompi/","title":"cgompi","text":"

                EasyBuild support for cgompi compiler toolchain (includes Clang, GFortran and OpenMPI).

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/cgompi/#easybuild.toolchains.cgompi.Cgompi","title":"Cgompi","text":"

                Bases: ClangGcc, OpenMPI

                Compiler toolchain with Clang, GFortran and OpenMPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/cgoolf/","title":"cgoolf","text":"

                EasyBuild support for cgoolf compiler toolchain (includes Clang, GFortran, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/cgoolf/#easybuild.toolchains.cgoolf.Cgoolf","title":"Cgoolf","text":"

                Bases: Cgompi, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with Clang, GFortran, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/clanggcc/","title":"clanggcc","text":"

                EasyBuild support for Clang + GCC compiler toolchain. Clang uses libstdc++. GFortran is used for Fortran code.

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/clanggcc/#easybuild.toolchains.clanggcc.ClangGcc","title":"ClangGcc","text":"

                Bases: Clang, Gcc

                Compiler toolchain with Clang and GFortran compilers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/craycce/","title":"craycce","text":"

                CrayCCE toolchain: Cray compilers (CCE) and MPI via Cray compiler drivers + LibSci (PrgEnv-cray) and Cray FFTW

                Authors:

                • Petar Forai (IMP/IMBA, Austria)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/craycce/#easybuild.toolchains.craycce.CrayCCE","title":"CrayCCE","text":"

                Bases: CrayPECray, CrayMPICH, LibSci

                Compiler toolchain for Cray Programming Environment for Cray Compiling Environment (CCE) (PrgEnv-cray).

                ","boost":0.5},{"location":"api/easybuild/toolchains/craygnu/","title":"craygnu","text":"

                CrayGNU toolchain: GCC and MPI via Cray compiler drivers + LibSci (PrgEnv-gnu) and Cray FFTW

                Authors:

                • Petar Forai (IMP/IMBA, Austria)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/craygnu/#easybuild.toolchains.craygnu.CrayGNU","title":"CrayGNU","text":"

                Bases: CrayPEGCC, CrayMPICH, LibSci

                Compiler toolchain for Cray Programming Environment for GCC compilers (PrgEnv-gnu).

                ","boost":0.5},{"location":"api/easybuild/toolchains/crayintel/","title":"crayintel","text":"

                CrayIntel toolchain: Intel compilers and MPI via Cray compiler drivers + LibSci (PrgEnv-intel) and Cray FFTW

                Authors:

                • Petar Forai (IMP/IMBA, Austria)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/crayintel/#easybuild.toolchains.crayintel.CrayIntel","title":"CrayIntel","text":"

                Bases: CrayPEIntel, CrayMPICH, LibSci

                Compiler toolchain for Cray Programming Environment for Intel compilers (PrgEnv-intel).

                ","boost":0.5},{"location":"api/easybuild/toolchains/craypgi/","title":"craypgi","text":"

                CrayPGI toolchain: Cray compilers (PGI) and MPI via Cray compiler drivers (PrgEnv-pgi) minus LibSci minus Cray FFTW Authors:

                • Jg Piccinali (CSCS)
                ","boost":0.5},{"location":"api/easybuild/toolchains/craypgi/#easybuild.toolchains.craypgi.CrayPGI","title":"CrayPGI","text":"

                Bases: CrayPEPGI, CrayMPICH

                Compiler toolchain for Cray Programming Environment for Cray Compiling Environment (PGI) (PrgEnv-pgi).

                ","boost":0.5},{"location":"api/easybuild/toolchains/dummy/","title":"dummy","text":"

                EasyBuild support for dummy compiler toolchain.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/dummy/#easybuild.toolchains.dummy.Dummy","title":"Dummy","text":"

                Bases: DummyCompiler

                Dummy toolchain.

                ","boost":0.5},{"location":"api/easybuild/toolchains/fcc/","title":"fcc","text":"

                EasyBuild support for Fujitsu Compiler toolchain.

                Authors:

                • Miguel Dias Costa (National University of Singapore)
                ","boost":0.5},{"location":"api/easybuild/toolchains/fcc/#easybuild.toolchains.fcc.FCC","title":"FCC","text":"

                Bases: FujitsuCompiler

                Compiler toolchain with Fujitsu Compiler.

                ","boost":0.5},{"location":"api/easybuild/toolchains/ffmpi/","title":"ffmpi","text":"

                EasyBuild support for ffmpi compiler toolchain (includes Fujitsu Compiler and MPI).

                Authors:

                • Miguel Dias Costa (National University of Singapore)
                ","boost":0.5},{"location":"api/easybuild/toolchains/ffmpi/#easybuild.toolchains.ffmpi.Ffmpi","title":"Ffmpi","text":"

                Bases: FCC, FujitsuMPI

                Compiler toolchain with Fujitsu Compiler and MPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/foss/","title":"foss","text":"

                EasyBuild support for foss compiler toolchain (includes GCC, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/foss/#easybuild.toolchains.foss.Foss","title":"Foss","text":"

                Bases: Gompi, OpenBLAS, FlexiBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/foss/#easybuild.toolchains.foss.Foss.__init__","title":"__init__(*args, **kwargs)","text":"

                Toolchain constructor.

                ","boost":0.5},{"location":"api/easybuild/toolchains/foss/#easybuild.toolchains.foss.Foss.banned_linked_shared_libs","title":"banned_linked_shared_libs()","text":"

                List of shared libraries (names, file names, paths) which are not allowed to be linked in any installed binary/library.

                ","boost":0.5},{"location":"api/easybuild/toolchains/foss/#easybuild.toolchains.foss.Foss.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/fosscuda/","title":"fosscuda","text":"

                EasyBuild support for fosscuda compiler toolchain (includes GCC+CUDA, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Davide Vanzo (Vanderbilt University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/fosscuda/#easybuild.toolchains.fosscuda.Fosscuda","title":"Fosscuda","text":"

                Bases: Gompic, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC+CUDA, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/fujitsu/","title":"fujitsu","text":"

                Fujitsu toolchain: Fujitsu compilers and MPI + Fujitsu SSL2 and Fujitsu FFTW

                Authors:

                • Miguel Dias Costa (National University of Singapore)
                ","boost":0.5},{"location":"api/easybuild/toolchains/fujitsu/#easybuild.toolchains.fujitsu.Fujitsu","title":"Fujitsu","text":"

                Bases: Ffmpi, FujitsuFFTW, FujitsuSSL

                Compiler toolchain for Fujitsu.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gcc/","title":"gcc","text":"

                EasyBuild support for GCC compiler toolchain.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gcc/#easybuild.toolchains.gcc.GccToolchain","title":"GccToolchain","text":"

                Bases: GCCcore

                Simple toolchain with just the GCC compilers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gcc/#easybuild.toolchains.gcc.GccToolchain.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gcccore/","title":"gcccore","text":"

                EasyBuild support for GCC compiler toolchain.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gcccore/#easybuild.toolchains.gcccore.GCCcore","title":"GCCcore","text":"

                Bases: Gcc

                Compiler-only toolchain, including only GCC and binutils.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gcccore/#easybuild.toolchains.gcccore.GCCcore.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gcccuda/","title":"gcccuda","text":"

                EasyBuild support for a GCC+CUDA compiler toolchain.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gcccuda/#easybuild.toolchains.gcccuda.GccCUDA","title":"GccCUDA","text":"

                Bases: GccToolchain, Cuda

                Compiler toolchain with GCC and CUDA.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gcccuda/#easybuild.toolchains.gcccuda.GccCUDA.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gfbf/","title":"gfbf","text":"

                EasyBuild support for gfbf compiler toolchain (includes GCC, FlexiBLAS and FFTW)

                Authors:

                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gfbf/#easybuild.toolchains.gfbf.Gfbf","title":"Gfbf","text":"

                Bases: GccToolchain, FlexiBLAS, Fftw

                Compiler toolchain with GCC, FlexiBLAS and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gimkl/","title":"gimkl","text":"

                EasyBuild support for gimkl compiler toolchain (includes GCC, Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gimkl/#easybuild.toolchains.gimkl.Gimkl","title":"Gimkl","text":"

                Bases: Gimpi, IntelMKL, IntelFFTW

                Compiler toolchain with GCC, Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gimpi/","title":"gimpi","text":"

                EasyBuild support for gimpi compiler toolchain (includes GCC and Intel MPI).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gimpi/#easybuild.toolchains.gimpi.Gimpi","title":"Gimpi","text":"

                Bases: GccToolchain, IntelMPI

                Compiler toolchain with GCC and Intel MPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gimpi/#easybuild.toolchains.gimpi.Gimpi.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gimpic/","title":"gimpic","text":"

                EasyBuild support for gimpic compiler toolchain (includes GCC and IntelMPI and CUDA).

                Authors:

                • Kenneth Hoste (Ghent University)
                • Fotis Georgatos (Uni.Lu, NTUA)
                • Ake Sandgren (HPC2N, Umea University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gimpic/#easybuild.toolchains.gimpic.Gimpic","title":"Gimpic","text":"

                Bases: GccCUDA, IntelMPI

                Compiler toolchain with GCC+CUDA and IntelMPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/giolf/","title":"giolf","text":"

                EasyBuild support for giolf compiler toolchain (includes GCC, IntelMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/giolf/#easybuild.toolchains.giolf.Giolf","title":"Giolf","text":"

                Bases: Gimpi, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC, IntelMPI, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/giolfc/","title":"giolfc","text":"

                EasyBuild support for giolfc compiler toolchain (includes GCC+CUDA, IntelMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                • Ake Sandgren (HPC2N, Umea University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/giolfc/#easybuild.toolchains.giolfc.Giolfc","title":"Giolfc","text":"

                Bases: Gimpic, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC+CUDA, IntelMPI, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmacml/","title":"gmacml","text":"

                EasyBuild support for gmacml compiler toolchain (includes GCC, MVAPICH2, ACML, BLACS, ScaLAPACK and FFTW.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gmacml/#easybuild.toolchains.gmacml.Gmacml","title":"Gmacml","text":"

                Bases: Gmvapich2, Acml, ScaLAPACK, Fftw

                Compiler toolchain with GCC, MVAPICH2, ACML, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmkl/","title":"gmkl","text":"

                EasyBuild support for gmkl compiler toolchain (includes GCC, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gmkl/#easybuild.toolchains.gmkl.Gmkl","title":"Gmkl","text":"

                Bases: GccToolchain, IntelMKL, IntelFFTW

                Compiler toolchain with GCC, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmklc/","title":"gmklc","text":"

                EasyBuild support for gmkl compiler toolchain (includes GCC, Intel Math Kernel Library (MKL), and Intel FFTW wrappers, and CUDA).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                • Maxime Boissonneault (Universite Laval, Calcul Quebec, Calcul Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gmklc/#easybuild.toolchains.gmklc.Gmklc","title":"Gmklc","text":"

                Bases: GccCUDA, Gmkl, IntelMKL, IntelFFTW

                Compiler toolchain with GCC, Intel Math Kernel Library (MKL) and Intel FFTW wrappers and CUDA.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmpich/","title":"gmpich","text":"

                EasyBuild support for gmpich compiler toolchain (includes GCC and MPICH).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gmpich/#easybuild.toolchains.gmpich.Gmpich","title":"Gmpich","text":"

                Bases: GccToolchain, Mpich

                Compiler toolchain with GCC and MPICH.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmpich2/","title":"gmpich2","text":"

                EasyBuild support for gmpich2 compiler toolchain (includes GCC and MPICH2).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gmpich2/#easybuild.toolchains.gmpich2.Gmpich2","title":"Gmpich2","text":"

                Bases: GccToolchain, Mpich2

                Compiler toolchain with GCC and MPICH2.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmpit/","title":"gmpit","text":"

                EasyBuild support for gmpit compiler toolchain (includes GCC and MPItrampoline).

                Authors:

                • Alan O'Cais (CECAM)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gmpit/#easybuild.toolchains.gmpit.Gmpit","title":"Gmpit","text":"

                Bases: GccToolchain, MPItrampoline

                Compiler toolchain with GCC and MPItrampoline.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmpit/#easybuild.toolchains.gmpit.Gmpit.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmpolf/","title":"gmpolf","text":"

                EasyBuild support for gmpolf compiler toolchain (includes GCC, MPICH2, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\") (copy from...)
                • Bart Verleye (University of Auckland)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gmpolf/#easybuild.toolchains.gmpolf.Gmpolf","title":"Gmpolf","text":"

                Bases: Gmpich, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC, MPICH, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmvapich2/","title":"gmvapich2","text":"

                EasyBuild support for gmvapich2 compiler toolchain (includes GCC and MVAPICH2).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gmvapich2/#easybuild.toolchains.gmvapich2.Gmvapich2","title":"Gmvapich2","text":"

                Bases: GccToolchain, Mvapich2

                Compiler toolchain with GCC and MVAPICH2.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gmvolf/","title":"gmvolf","text":"

                EasyBuild support for gmvolf compiler toolchain (includes GCC, MVAPICH2, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/gmvolf/#easybuild.toolchains.gmvolf.Gmvolf","title":"Gmvolf","text":"

                Bases: Gmvapich2, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC, MVAPICH2, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gnu/","title":"gnu","text":"

                EasyBuild support for GCC compiler toolchain.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gnu/#easybuild.toolchains.gnu.GNU","title":"GNU","text":"

                Bases: Gcc

                Compiler-only toolchain, including only GCC and binutils.

                ","boost":0.5},{"location":"api/easybuild/toolchains/goalf/","title":"goalf","text":"

                EasyBuild support for goalf compiler toolchain (includes GCC, OpenMPI, ATLAS, BLACS, ScaLAPACK and FFTW).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/goalf/#easybuild.toolchains.goalf.Goalf","title":"Goalf","text":"

                Bases: Gompi, Atlas, ScaLAPACK, Fftw

                Compiler toolchain with GCC, OpenMPI, ATLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gobff/","title":"gobff","text":"

                EasyBuild support for gobff compiler toolchain (includes GCC, OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW).

                Authors:

                • Sebastian Achilles (Forschungszentrum Juelich GmbH)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gobff/#easybuild.toolchains.gobff.Gobff","title":"Gobff","text":"

                Bases: Gompi, Blis, Flame, ScaLAPACK, Fftw

                Compiler toolchain with GCC, OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/goblf/","title":"goblf","text":"

                EasyBuild support for goblf compiler toolchain (includes GCC, OpenMPI, BLIS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/goblf/#easybuild.toolchains.goblf.Goblf","title":"Goblf","text":"

                Bases: Gompi, Blis, Lapack, ScaLAPACK, Fftw

                Compiler toolchain with GCC, OpenMPI, BLIS, LAPACK, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gofbf/","title":"gofbf","text":"

                EasyBuild support for gofbf compiler toolchain (includes GCC, OpenMPI, FlexiBLAS, ScaLAPACK and FFTW)

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gofbf/#easybuild.toolchains.gofbf.Gofbf","title":"Gofbf","text":"

                Bases: Gompi, FlexiBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC, OpenMPI, FlexiBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/golf/","title":"golf","text":"

                EasyBuild support for golf compiler toolchain (includes GCC, OpenBLAS, LAPACK, and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/golf/#easybuild.toolchains.golf.Golf","title":"Golf","text":"

                Bases: GccToolchain, OpenBLAS, Fftw

                Compiler toolchain with GCC, OpenBLAS, and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/golfc/","title":"golfc","text":"

                EasyBuild support for golfc compiler toolchain (includes GCC+CUDA, OpenBLAS, LAPACK, and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/golfc/#easybuild.toolchains.golfc.Golfc","title":"Golfc","text":"

                Bases: GccCUDA, Golf, OpenBLAS, Fftw

                Compiler toolchain with GCC+CUDA, OpenBLAS, and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gomkl/","title":"gomkl","text":"

                EasyBuild support for gomkl compiler toolchain (includes GCC, OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Ake Sandgren (Umea University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gomkl/#easybuild.toolchains.gomkl.Gomkl","title":"Gomkl","text":"

                Bases: Gompi, IntelMKL, IntelFFTW

                Compiler toolchain with GCC, OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gomklc/","title":"gomklc","text":"

                EasyBuild support for gimkl compiler toolchain (includes GCC, Open MPI, CUDA Intel Math Kernel Library (MKL) and Intel FFTW wrappers).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (Compute Canada)
                • Maxime Boissonneault (Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gomklc/#easybuild.toolchains.gomklc.Gomklc","title":"Gomklc","text":"

                Bases: Gompic, IntelMKL, IntelFFTW

                Compiler toolchain with GCC, Open MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers and Cuda.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gompi/","title":"gompi","text":"

                EasyBuild support for gompi compiler toolchain (includes GCC and OpenMPI).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gompi/#easybuild.toolchains.gompi.Gompi","title":"Gompi","text":"

                Bases: GccToolchain, OpenMPI

                Compiler toolchain with GCC and OpenMPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gompi/#easybuild.toolchains.gompi.Gompi.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gompic/","title":"gompic","text":"

                EasyBuild support for gompic compiler toolchain (includes GCC and OpenMPI and CUDA).

                Authors:

                • Kenneth Hoste (Ghent University)
                • Fotis Georgatos (Uni.Lu, NTUA)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gompic/#easybuild.toolchains.gompic.Gompic","title":"Gompic","text":"

                Bases: GccCUDA, OpenMPI

                Compiler toolchain with GCC+CUDA and OpenMPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/goolf/","title":"goolf","text":"

                EasyBuild support for goolf compiler toolchain (includes GCC, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/goolf/#easybuild.toolchains.goolf.Goolf","title":"Goolf","text":"

                Bases: Gompi, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/goolf/#easybuild.toolchains.goolf.Goolf.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/goolfc/","title":"goolfc","text":"

                EasyBuild support for goolfc compiler toolchain (includes GCC+CUDA, OpenMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/goolfc/#easybuild.toolchains.goolfc.Goolfc","title":"Goolfc","text":"

                Bases: Gompic, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC+CUDA, OpenMPI, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/goolfc/#easybuild.toolchains.goolfc.Goolfc.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gpsmpi/","title":"gpsmpi","text":"

                EasyBuild support for gpsmpi compiler toolchain (includes GCC and Parastation MPICH).

                ","boost":0.5},{"location":"api/easybuild/toolchains/gpsmpi/#easybuild.toolchains.gpsmpi.Gpsmpi","title":"Gpsmpi","text":"

                Bases: GccToolchain, Psmpi

                Compiler toolchain with GCC and Parastation MPICH.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gpsolf/","title":"gpsolf","text":"

                EasyBuild support for gmpolf compiler toolchain (includes GCC, Parastation MPICH, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                ","boost":0.5},{"location":"api/easybuild/toolchains/gpsolf/#easybuild.toolchains.gpsolf.Gpsolf","title":"Gpsolf","text":"

                Bases: Gpsmpi, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC, Parastation MPICH, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gqacml/","title":"gqacml","text":"

                EasyBuild support for gqacml compiler toolchain (includes GCC, QLogicMPI, ACML, BLACS, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gqacml/#easybuild.toolchains.gqacml.Gqacml","title":"Gqacml","text":"

                Bases: GccToolchain, QLogicMPI, Acml, ScaLAPACK, Fftw

                Compiler toolchain with GCC, QLogic MPI, ACML, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gsmpi/","title":"gsmpi","text":"

                EasyBuild support for gsmpi compiler toolchain (includes GCC and SpectrumMPI).

                Authors:

                • Kenneth Hoste (Ghent University)
                • Alan O'Cais (Juelich Supercomputing Centre)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gsmpi/#easybuild.toolchains.gsmpi.Gsmpi","title":"Gsmpi","text":"

                Bases: GccToolchain, SpectrumMPI

                Compiler toolchain with GCC and SpectrumMPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/gsolf/","title":"gsolf","text":"

                EasyBuild support for gsolf compiler toolchain (includes GCC, SpectrumMPI, OpenBLAS, LAPACK, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                • Alan O'Cais (Juelich Supercomputing Centre)
                ","boost":0.5},{"location":"api/easybuild/toolchains/gsolf/#easybuild.toolchains.gsolf.Gsolf","title":"Gsolf","text":"

                Bases: Gsmpi, OpenBLAS, ScaLAPACK, Fftw

                Compiler toolchain with GCC, SpectrumMPI, OpenBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iccifort/","title":"iccifort","text":"

                EasyBuild support for Intel compilers toolchain (icc, ifort)

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iccifort/#easybuild.toolchains.iccifort.IccIfort","title":"IccIfort","text":"

                Bases: IntelIccIfort

                Compiler toolchain with Intel compilers (icc/ifort).

                ","boost":0.5},{"location":"api/easybuild/toolchains/iccifort/#easybuild.toolchains.iccifort.IccIfort.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(name)","text":"

                Check whether a specific software name is listed as a dependency in the module for this toolchain.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iccifort/#easybuild.toolchains.iccifort.IccIfort.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iccifortcuda/","title":"iccifortcuda","text":"

                EasyBuild support for a iccifort+CUDA compiler toolchain.

                Authors:

                • Ake Sandgren (HPC2N)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iccifortcuda/#easybuild.toolchains.iccifortcuda.IccIfortCUDA","title":"IccIfortCUDA","text":"

                Bases: IccIfort, Cuda

                Compiler toolchain with iccifort and CUDA.

                ","boost":0.5},{"location":"api/easybuild/toolchains/ictce/","title":"ictce","text":"

                EasyBuild support for ictce compiler toolchain (includes Intel compilers (icc, ifort), Intel MPI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/ictce/#easybuild.toolchains.ictce.Ictce","title":"Ictce","text":"

                Bases: Iimpi, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/ictce/#easybuild.toolchains.ictce.Ictce.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iibff/","title":"iibff","text":"

                EasyBuild support for iibff compiler toolchain (includes Intel compilers + MPI, BLIS, libFLAME, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (HPC-UGent)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iibff/#easybuild.toolchains.iibff.Iibff","title":"Iibff","text":"

                Bases: Iimpi, Blis, Flame, ScaLAPACK, Fftw

                Compiler toolchain with GCC, OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/","title":"iimkl","text":"

                EasyBuild support for iimkl compiler toolchain (includes Intel compilers (icc, ifort), Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl","title":"Iimkl","text":"

                Bases: IccIfort, IntelCompilersToolchain, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl.__init__","title":"__init__(*args, **kwargs)","text":"

                Constructor for Iimkl toolchain class.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(*args, **kwargs)","text":"

                Check whether a specific software name is listed as a dependency in the module for this toolchain.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimkl/#easybuild.toolchains.iimkl.Iimkl.set_variables","title":"set_variables()","text":"

                Intel compilers-specific adjustments after setting compiler variables.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimklc/","title":"iimklc","text":"

                EasyBuild support for iimklc compiler toolchain (includes Intel compilers (icc, ifort), OpenMPI, CUDA, Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (Compute Canada)
                • Maxime Boissonneault (Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iimklc/#easybuild.toolchains.iimklc.Iimklc","title":"Iimklc","text":"

                Bases: IccIfortCUDA, Iimkl, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), CUDA, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/","title":"iimpi","text":"

                EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Intel MPI).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi","title":"Iimpi","text":"

                Bases: IccIfort, IntelCompilersToolchain, IntelMPI

                Compiler toolchain with Intel compilers (icc/ifort), Intel MPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi.__init__","title":"__init__(*args, **kwargs)","text":"

                Constructor for Iimpi toolchain class.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(*args, **kwargs)","text":"

                Check whether a specific software name is listed as a dependency in the module for this toolchain.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimpi/#easybuild.toolchains.iimpi.Iimpi.set_variables","title":"set_variables()","text":"

                Intel compilers-specific adjustments after setting compiler variables.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimpic/","title":"iimpic","text":"

                EasyBuild support for a iimpic compiler toolchain (includes iccifort, impi and CUDA).

                Authors:

                • Ake Sandgren (HPC2N)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iimpic/#easybuild.toolchains.iimpic.Iimpic","title":"Iimpic","text":"

                Bases: IccIfortCUDA, IntelMPI

                Compiler toolchain with Intel compilers (icc/ifort), Intel MPI and CUDA.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iimpic/#easybuild.toolchains.iimpic.Iimpic.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iiqmpi/","title":"iiqmpi","text":"

                EasyBuild support for iiqmpi compiler toolchain (includes Intel compilers, QLogicMPI).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iiqmpi/#easybuild.toolchains.iiqmpi.Iiqmpi","title":"Iiqmpi","text":"

                Bases: IccIfort, QLogicMPI

                Compiler toolchain with Intel compilers and QLogic MPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/impich/","title":"impich","text":"

                EasyBuild support for impich compiler toolchain (includes Intel compilers (icc, ifort), MPICH.

                ","boost":0.5},{"location":"api/easybuild/toolchains/impich/#easybuild.toolchains.impich.Impich","title":"Impich","text":"

                Bases: IccIfort, Mpich

                Compiler toolchain with Intel compilers (icc/ifort), MPICH.

                ","boost":0.5},{"location":"api/easybuild/toolchains/impmkl/","title":"impmkl","text":"

                EasyBuild support for impmkl compiler toolchain (includes Intel compilers (icc, ifort), MPICH, Intel Math Kernel Library (MKL) , and Intel FFTW wrappers.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/impmkl/#easybuild.toolchains.impmkl.Impmkl","title":"Impmkl","text":"

                Bases: Impich, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), MPICH, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/intel-para/","title":"intel-para","text":"

                EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Parastation MPICH, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

                ","boost":0.5},{"location":"api/easybuild/toolchains/intel-para/#easybuild.toolchains.intel-para.IntelPara","title":"IntelPara","text":"

                Bases: Ipsmpi, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), Parastation MPICH, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/intel/","title":"intel","text":"

                EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Intel MPI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/intel/#easybuild.toolchains.intel.Intel","title":"Intel","text":"

                Bases: Iimpi, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), Intel MPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/intel/#easybuild.toolchains.intel.Intel.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/intel_compilers/","title":"intel_compilers","text":"

                EasyBuild support for Intel compilers toolchain (icc, ifort), v2021.x or newer (oneAPI).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/intel_compilers/#easybuild.toolchains.intel_compilers.IntelCompilersToolchain","title":"IntelCompilersToolchain","text":"

                Bases: IntelCompilers

                Compiler toolchain with Intel compilers (icc/ifort).

                ","boost":0.5},{"location":"api/easybuild/toolchains/intelcuda/","title":"intelcuda","text":"

                EasyBuild support for a intel+CUDA compiler toolchain.

                Authors:

                • Ake Sandgren (HPC2N)
                ","boost":0.5},{"location":"api/easybuild/toolchains/intelcuda/#easybuild.toolchains.intelcuda.Intelcuda","title":"Intelcuda","text":"

                Bases: Iimpic, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), Intel MPI, Intel Math Kernel Library (MKL), Intel FFTW wrappers and CUDA

                ","boost":0.5},{"location":"api/easybuild/toolchains/iomkl/","title":"iomkl","text":"

                EasyBuild support for iomkl compiler toolchain (includes Intel compilers (icc, ifort), OpenMPI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iomkl/#easybuild.toolchains.iomkl.Iomkl","title":"Iomkl","text":"

                Bases: Iompi, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iomkl/#easybuild.toolchains.iomkl.Iomkl.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iomklc/","title":"iomklc","text":"

                EasyBuild support for iomkl compiler toolchain (includes Intel compilers (icc, ifort), OpenMPI, CUDA, Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iomklc/#easybuild.toolchains.iomklc.Iomklc","title":"Iomklc","text":"

                Bases: Iompic, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), OpenMPI, CUDA, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/","title":"iompi","text":"

                EasyBuild support for iompi compiler toolchain (includes Intel compilers (icc, ifort) and OpenMPI.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi","title":"Iompi","text":"

                Bases: IccIfort, IntelCompilersToolchain, OpenMPI

                Compiler toolchain with Intel compilers (icc/ifort) and OpenMPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi.__init__","title":"__init__(*args, **kwargs)","text":"

                Constructor for Iompi toolchain class.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(*args, **kwargs)","text":"

                Check whether a specific software name is listed as a dependency in the module for this toolchain.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi.is_deprecated","title":"is_deprecated()","text":"

                Return whether or not this toolchain is deprecated.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iompi/#easybuild.toolchains.iompi.Iompi.set_variables","title":"set_variables()","text":"

                Intel compilers-specific adjustments after setting compiler variables.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iompic/","title":"iompic","text":"

                EasyBuild support for iompic compiler toolchain (includes iccifort, OpenMPI and CUDA).

                Authors:

                • Bart Oldeman (Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iompic/#easybuild.toolchains.iompic.Iompic","title":"Iompic","text":"

                Bases: IccIfortCUDA, OpenMPI

                Compiler toolchain with Intel compilers (icc/ifort), OpenMPI and CUDA.

                ","boost":0.5},{"location":"api/easybuild/toolchains/ipsmpi/","title":"ipsmpi","text":"

                EasyBuild support for intel compiler toolchain (includes Intel compilers (icc, ifort), Parastation MPICH).

                ","boost":0.5},{"location":"api/easybuild/toolchains/ipsmpi/#easybuild.toolchains.ipsmpi.Ipsmpi","title":"Ipsmpi","text":"

                Bases: IccIfort, Psmpi

                Compiler toolchain with Intel compilers (icc/ifort), Parastation MPICH.

                ","boost":0.5},{"location":"api/easybuild/toolchains/iqacml/","title":"iqacml","text":"

                EasyBuild support for iqacml compiler toolchain (includes Intel compilers, QLogicMPI, ACML, BLACS, ScaLAPACK and FFTW).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/iqacml/#easybuild.toolchains.iqacml.Iqacml","title":"Iqacml","text":"

                Bases: Iiqmpi, Acml, ScaLAPACK, Fftw

                Compiler toolchain with Intel compilers, QLogic MPI, ACML, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/ismkl/","title":"ismkl","text":"

                EasyBuild support for ismkl compiler toolchain (includes Intel compilers (icc, ifort), MPICH2 (ScaleMP MPI), Intel Math Kernel Library (MKL), and Intel FFTW wrappers.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/ismkl/#easybuild.toolchains.ismkl.Ismkl","title":"Ismkl","text":"

                Bases: IccIfort, Mpich2, IntelMKL, IntelFFTW

                Compiler toolchain with Intel compilers (icc/ifort), MPICH2 (ScaleMP MPI), Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/nvhpc/","title":"nvhpc","text":"

                EasyBuild support for NVHPC compiler toolchain.

                Authors:

                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                • Andreas Herten (Forschungszentrum Juelich)
                ","boost":0.5},{"location":"api/easybuild/toolchains/nvhpc/#easybuild.toolchains.nvhpc.NVHPCToolchain","title":"NVHPCToolchain","text":"

                Bases: NVHPC

                Simple toolchain with just the NVIDIA HPC SDK compilers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/nvofbf/","title":"nvofbf","text":"

                EasyBuild support for nvofbf compiler toolchain (NVHPC + OpenMPI + FlexiBLAS + ScaLAPACK + FFTW).

                :author: Mikael \u00d6hman micketeer@gmail.com (Chalmers University of Technology)

                ","boost":0.5},{"location":"api/easybuild/toolchains/nvofbf/#easybuild.toolchains.nvofbf.Nvofbf","title":"Nvofbf","text":"

                Bases: Nvompi, FlexiBLAS, ScaLAPACK, Fftw

                Compiler toolchain with NVHPC, OpenMPI, FlexiBLAS, ScaLAPACK and FFTW.

                ","boost":0.5},{"location":"api/easybuild/toolchains/nvompi/","title":"nvompi","text":"

                EasyBuild support for nvompi compiler toolchain (NVHPC + Open MPI).

                Authors:

                • Robert Mijakovic robert.mijakovic@lxp.lu (LuxProvide)
                ","boost":0.5},{"location":"api/easybuild/toolchains/nvompi/#easybuild.toolchains.nvompi.Nvompi","title":"Nvompi","text":"

                Bases: NVHPCToolchain, OpenMPI

                Compiler toolchain with NVHPC and Open MPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/nvompic/","title":"nvompic","text":"

                EasyBuild support for nvompic compiler toolchain (includes NVHPC and OpenMPI, and CUDA as dependency).

                Authors:

                • Damian Alvarez (Forschungszentrum Juelich)
                • Sebastian Achilles (Forschungszentrum Juelich)
                ","boost":0.5},{"location":"api/easybuild/toolchains/nvompic/#easybuild.toolchains.nvompic.NVompic","title":"NVompic","text":"

                Bases: NVHPCToolchain, Cuda, OpenMPI

                Compiler toolchain with NVHPC and OpenMPI, with CUDA as dependency.

                ","boost":0.5},{"location":"api/easybuild/toolchains/nvpsmpi/","title":"nvpsmpi","text":"

                EasyBuild support for nvsmpi compiler toolchain (includes NVHPC and ParaStationMPI).

                Authors:

                • Robert Mijakovic robert.mijakovic@lxp.lu (LuxProvide)
                ","boost":0.5},{"location":"api/easybuild/toolchains/nvpsmpi/#easybuild.toolchains.nvpsmpi.NVpsmpi","title":"NVpsmpi","text":"

                Bases: NVHPCToolchain, Psmpi

                Compiler toolchain with NVHPC and ParaStationMPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/nvpsmpic/","title":"nvpsmpic","text":"

                EasyBuild support for npsmpi compiler toolchain (includes NVHPC and ParaStationMPI, and CUDA as dependency).

                Authors:

                • Damian Alvarez (Forschungszentrum Juelich)
                • Sebastian Achilles (Forschungszentrum Juelich)
                ","boost":0.5},{"location":"api/easybuild/toolchains/nvpsmpic/#easybuild.toolchains.nvpsmpic.NVpsmpic","title":"NVpsmpic","text":"

                Bases: NVHPCToolchain, Cuda, Psmpi

                Compiler toolchain with NVHPC and ParaStationMPI, with CUDA as dependency.

                ","boost":0.5},{"location":"api/easybuild/toolchains/pgi/","title":"pgi","text":"

                EasyBuild support for PGI compiler toolchain.

                Authors:

                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/pgi/#easybuild.toolchains.pgi.PgiToolchain","title":"PgiToolchain","text":"

                Bases: Pgi

                Simple toolchain with just the PGI compilers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/pmkl/","title":"pmkl","text":"

                EasyBuild support for pmkl compiler toolchain (includes PGI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/pmkl/#easybuild.toolchains.pmkl.Pmkl","title":"Pmkl","text":"

                Bases: PgiToolchain, IntelMKL, IntelFFTW

                Compiler toolchain with PGI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/pomkl/","title":"pomkl","text":"

                EasyBuild support for pomkl compiler toolchain (includes PGI compilers, OpenMPI, Intel Math Kernel Library (MKL), and Intel FFTW wrappers).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/pomkl/#easybuild.toolchains.pomkl.Pomkl","title":"Pomkl","text":"

                Bases: Pompi, IntelMKL, IntelFFTW

                Compiler toolchain with PGI compilers, OpenMPI, Intel Math Kernel Library (MKL) and Intel FFTW wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/pompi/","title":"pompi","text":"

                EasyBuild support for pompi compiler toolchain (includes PGI compilers and OpenMPI).

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/toolchains/pompi/#easybuild.toolchains.pompi.Pompi","title":"Pompi","text":"

                Bases: PgiToolchain, OpenMPI

                Compiler toolchain with PGI compilers and OpenMPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/system/","title":"system","text":"

                EasyBuild support for system compiler toolchain.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/system/#easybuild.toolchains.system.SystemToolchain","title":"SystemToolchain","text":"

                Bases: SystemCompiler

                System toolchain.

                ","boost":0.5},{"location":"api/easybuild/toolchains/xlcxlf/","title":"xlcxlf","text":"

                EasyBuild support for IBM XL compiler toolchain.

                Authors:

                • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
                ","boost":0.5},{"location":"api/easybuild/toolchains/xlcxlf/#easybuild.toolchains.xlcxlf.XLCXLFToolchain","title":"XLCXLFToolchain","text":"

                Bases: IBMXL

                Simple toolchain with just the IBM XL C and FORTRAN compilers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/xlmpich/","title":"xlmpich","text":"

                EasyBuild support for xlmpich compiler toolchain (includes IBM XL compilers (xlc, xlf) and MPICH).

                Authors:

                • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
                ","boost":0.5},{"location":"api/easybuild/toolchains/xlmpich/#easybuild.toolchains.xlmpich.Xlompi","title":"Xlompi","text":"

                Bases: IBMXL, Mpich

                Compiler toolchain with IBM XL compilers (xlc/xlf) and MPICH.

                ","boost":0.5},{"location":"api/easybuild/toolchains/xlmpich2/","title":"xlmpich2","text":"

                EasyBuild support for xlmpich2 compiler toolchain (includes IBM XL compilers (xlc, xlf) and MPICH2).

                Authors:

                • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
                ","boost":0.5},{"location":"api/easybuild/toolchains/xlmpich2/#easybuild.toolchains.xlmpich2.Xlompi","title":"Xlompi","text":"

                Bases: IBMXL, Mpich2

                Compiler toolchain with IBM XL compilers (xlc/xlf) and MPICH.

                ","boost":0.5},{"location":"api/easybuild/toolchains/xlmvapich2/","title":"xlmvapich2","text":"

                EasyBuild support for xlmpich compiler toolchain (includes IBM XL compilers (xlc, xlf) and MPICH).

                Authors:

                • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
                ","boost":0.5},{"location":"api/easybuild/toolchains/xlmvapich2/#easybuild.toolchains.xlmvapich2.Xlompi","title":"Xlompi","text":"

                Bases: IBMXL, Mvapich2

                Compiler toolchain with IBM XL compilers (xlc/xlf) and MPICH.

                ","boost":0.5},{"location":"api/easybuild/toolchains/xlompi/","title":"xlompi","text":"

                EasyBuild support for xlompi compiler toolchain (includes IBM XL compilers (xlc, xlf) and OpenMPI).

                Authors:

                • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
                ","boost":0.5},{"location":"api/easybuild/toolchains/xlompi/#easybuild.toolchains.xlompi.Xlompi","title":"Xlompi","text":"

                Bases: IBMXL, OpenMPI

                Compiler toolchain with IBM XL compilers (xlc/xlf) and OpenMPI.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/","title":"compiler","text":"
                • easybuild
                  • toolchains
                    • compiler
                      • clang
                      • craype
                      • cuda
                      • dummycompiler
                      • fujitsu
                      • gcc
                      • ibmxl
                      • intel_compilers
                      • inteliccifort
                      • nvhpc
                      • pgi
                      • systemcompiler
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/clang/","title":"clang","text":"

                Support for Clang as toolchain compiler.

                Authors:

                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/clang/#easybuild.toolchains.compiler.clang.Clang","title":"Clang","text":"

                Bases: Compiler

                Clang compiler class

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/","title":"craype","text":"

                Support for the Cray Programming Environment (craype) compiler drivers (aka cc, CC, ftn).

                The basic concept is that the compiler driver knows how to invoke the true underlying compiler with the compiler's specific options tuned to Cray systems.

                That means that certain defaults are set that are specific to Cray's computers.

                The compiler drivers are quite similar to EB toolchains as they include linker and compiler directives to use the Cray libraries for their MPI (and network drivers) Cray's LibSci (BLAS/LAPACK et al), FFT library, etc.

                Authors:

                • Petar Forai (IMP/IMBA, Austria)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECompiler","title":"CrayPECompiler","text":"

                Bases: Compiler

                Generic support for using Cray compiler drivers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECompiler.__init__","title":"__init__(*args, **kwargs)","text":"

                Constructor.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECompiler.prepare","title":"prepare(*args, **kwargs)","text":"

                Prepare to use this toolchain; define $CRAYPE_LINK_TYPE if 'dynamic' toolchain option is enabled.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECray","title":"CrayPECray","text":"

                Bases: CrayPECompiler

                Support for using the Cray CCE compiler wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPECray.__init__","title":"__init__(*args, **kwargs)","text":"

                CrayPEIntel constructor.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEGCC","title":"CrayPEGCC","text":"

                Bases: CrayPECompiler

                Support for using the Cray GNU compiler wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEGCC.__init__","title":"__init__(*args, **kwargs)","text":"

                CrayPEGCC constructor.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEIntel","title":"CrayPEIntel","text":"

                Bases: CrayPECompiler

                Support for using the Cray Intel compiler wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEIntel.__init__","title":"__init__(*args, **kwargs)","text":"

                CrayPEIntel constructor.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEPGI","title":"CrayPEPGI","text":"

                Bases: CrayPECompiler

                Support for using the Cray PGI compiler wrappers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/craype/#easybuild.toolchains.compiler.craype.CrayPEPGI.__init__","title":"__init__(*args, **kwargs)","text":"

                CrayPEPGI constructor.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/cuda/","title":"cuda","text":"

                Support for CUDA compilers as toolchain (co-)compiler.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/cuda/#easybuild.toolchains.compiler.cuda.Cuda","title":"Cuda","text":"

                Bases: Compiler

                CUDA compiler class.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/cuda/#easybuild.toolchains.compiler.cuda.Cuda.__init__","title":"__init__(*args, **kwargs)","text":"

                Constructor, with settings custom to CUDA.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/dummycompiler/","title":"dummycompiler","text":"

                Support for dummy compiler.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/dummycompiler/#easybuild.toolchains.compiler.dummycompiler.DummyCompiler","title":"DummyCompiler","text":"

                Bases: Compiler

                Dummy compiler : try not to even use system gcc

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/fujitsu/","title":"fujitsu","text":"

                Support for the Fujitsu compiler drivers (aka fcc, frt).

                The basic concept is the same as for the Cray Programming Environment.

                Authors:

                • Miguel Dias Costa (National University of Singapore)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/fujitsu/#easybuild.toolchains.compiler.fujitsu.FujitsuCompiler","title":"FujitsuCompiler","text":"

                Bases: Compiler

                Generic support for using Fujitsu compiler drivers.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/gcc/","title":"gcc","text":"

                Support for GCC (GNU Compiler Collection) as toolchain compiler.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/gcc/#easybuild.toolchains.compiler.gcc.Gcc","title":"Gcc","text":"

                Bases: Compiler

                GCC compiler class

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/ibmxl/","title":"ibmxl","text":"

                Support for IBM compilers (xlc, xlf) as toolchain compilers.

                Authors:

                • Jack Perdue j-perdue@tamu.edu - TAMU HPRC - http://sc.tamu.edu
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/intel_compilers/","title":"intel_compilers","text":"

                Support for Intel compilers (icc, ifort) as toolchain compilers, version 2021.x and newer (oneAPI).

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/intel_compilers/#easybuild.toolchains.compiler.intel_compilers.IntelCompilers","title":"IntelCompilers","text":"

                Bases: IntelIccIfort

                Compiler class for Intel oneAPI compilers

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/intel_compilers/#easybuild.toolchains.compiler.intel_compilers.IntelCompilers.set_variables","title":"set_variables()","text":"

                Set the variables.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/inteliccifort/","title":"inteliccifort","text":"

                Support for Intel compilers (icc, ifort) as toolchain compilers.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/inteliccifort/#easybuild.toolchains.compiler.inteliccifort.IntelIccIfort","title":"IntelIccIfort","text":"

                Bases: Compiler

                Intel compiler class - TODO: install as single package ? should be done anyway (all icc versions come with matching ifort version)

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/inteliccifort/#easybuild.toolchains.compiler.inteliccifort.IntelIccIfort.__init__","title":"__init__(*args, **kwargs)","text":"

                Toolchain constructor.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/inteliccifort/#easybuild.toolchains.compiler.inteliccifort.IntelIccIfort.set_variables","title":"set_variables()","text":"

                Set the variables.

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/nvhpc/","title":"nvhpc","text":"

                Support for NVIDIA HPC SDK ('NVHPC') compilers (nvc, nvc++, nvfortran) as toolchain compilers. NVHPC is the successor of the PGI compilers, on which this file is based upon.

                Authors:

                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                • Damian Alvarez (Forschungszentrum Juelich GmbH)
                • Andreas Herten (Forschungszentrum Juelich GmbH)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/nvhpc/#easybuild.toolchains.compiler.nvhpc.NVHPC","title":"NVHPC","text":"

                Bases: Compiler

                NVHPC compiler class

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/pgi/","title":"pgi","text":"

                Support for PGI compilers (pgcc, pgc++, pgf90/pgfortran) as toolchain compilers.

                Authors:

                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                • Damian Alvarez (Forschungszentrum Juelich GmbH)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/pgi/#easybuild.toolchains.compiler.pgi.Pgi","title":"Pgi","text":"

                Bases: Compiler

                PGI compiler class

                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/systemcompiler/","title":"systemcompiler","text":"

                Support for system compiler.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/compiler/systemcompiler/#easybuild.toolchains.compiler.systemcompiler.SystemCompiler","title":"SystemCompiler","text":"

                Bases: Compiler

                System compiler

                ","boost":0.5},{"location":"api/easybuild/toolchains/fft/","title":"fft","text":"
                • easybuild
                  • toolchains
                    • fft
                      • fftw
                      • fujitsufftw
                      • intelfftw
                ","boost":0.5},{"location":"api/easybuild/toolchains/fft/fftw/","title":"fftw","text":"

                Support for FFTW (Fastest Fourier Transform in the West) as toolchain FFT library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/fft/fftw/#easybuild.toolchains.fft.fftw.Fftw","title":"Fftw","text":"

                Bases: Fft

                FFTW FFT library

                ","boost":0.5},{"location":"api/easybuild/toolchains/fft/fujitsufftw/","title":"fujitsufftw","text":"

                Support for Fujitsu FFTW as toolchain FFT library.

                Authors:

                • Miguel Dias Costa (National University of Singapore)
                ","boost":0.5},{"location":"api/easybuild/toolchains/fft/fujitsufftw/#easybuild.toolchains.fft.fujitsufftw.FujitsuFFTW","title":"FujitsuFFTW","text":"

                Bases: Fftw

                Fujitsu FFTW FFT library

                ","boost":0.5},{"location":"api/easybuild/toolchains/fft/intelfftw/","title":"intelfftw","text":"

                Support for Intel FFTW as toolchain FFT library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/fft/intelfftw/#easybuild.toolchains.fft.intelfftw.IntelFFTW","title":"IntelFFTW","text":"

                Bases: Fftw

                FFTW wrapper functionality of Intel MKL

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/","title":"linalg","text":"
                • easybuild
                  • toolchains
                    • linalg
                      • acml
                      • atlas
                      • blacs
                      • blis
                      • flame
                      • flexiblas
                      • fujitsussl
                      • gotoblas
                      • intelmkl
                      • lapack
                      • libsci
                      • openblas
                      • scalapack
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/acml/","title":"acml","text":"

                Support for ACML (AMD Core Math Library) as toolchain linear algebra library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/acml/#easybuild.toolchains.linalg.acml.Acml","title":"Acml","text":"

                Bases: LinAlg

                Provides ACML BLAS/LAPACK support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/acml/#easybuild.toolchains.linalg.acml.Acml.__init__","title":"__init__(*args, **kwargs)","text":"

                Toolchain constructor.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/atlas/","title":"atlas","text":"

                Support for ATLAS as toolchain linear algebra library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/atlas/#easybuild.toolchains.linalg.atlas.Atlas","title":"Atlas","text":"

                Bases: LinAlg

                Provides ATLAS BLAS/LAPACK support. LAPACK is a build dependency only

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/blacs/","title":"blacs","text":"

                Support for BLACS as toolchain linear algebra library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/blacs/#easybuild.toolchains.linalg.blacs.Blacs","title":"Blacs","text":"

                Bases: LinAlg

                Trivial class, provides BLACS support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/blis/","title":"blis","text":"

                Support for BLIS as toolchain linear algebra library.

                Authors:

                • Kenneth Hoste (Ghent University)
                • Bart Oldeman (McGill University, Calcul Quebec, Compute Canada)
                • Sebastian Achilles (Forschungszentrum Juelich GmbH)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/blis/#easybuild.toolchains.linalg.blis.Blis","title":"Blis","text":"

                Bases: LinAlg

                Trivial class, provides BLIS support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flame/","title":"flame","text":"

                Support for FLAME as toolchain linear algebra library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Sebastian Achilles (Forschungszentrum Juelich GmbH)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flame/#easybuild.toolchains.linalg.flame.Flame","title":"Flame","text":"

                Bases: Lapack

                Less trivial module, provides FLAME support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flexiblas/","title":"flexiblas","text":"

                Support for FlexiBLAS as toolchain linear algebra library.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flexiblas/#easybuild.toolchains.linalg.flexiblas.FlexiBLAS","title":"FlexiBLAS","text":"

                Bases: LinAlg

                Trivial class, provides FlexiBLAS support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flexiblas/#easybuild.toolchains.linalg.flexiblas.FlexiBLAS.banned_linked_shared_libs","title":"banned_linked_shared_libs()","text":"

                List of shared libraries (names, file names, paths) which are not allowed to be linked in any installed binary/library.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/flexiblas/#easybuild.toolchains.linalg.flexiblas.det_flexiblas_backend_libs","title":"det_flexiblas_backend_libs()","text":"

                Determine list of paths to FlexiBLAS backend libraries.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/fujitsussl/","title":"fujitsussl","text":"

                Support for Fujitsu's SSL library, which provides BLAS/LAPACK support.

                Authors:

                • Miguel Dias Costa (National University of Singapore)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/fujitsussl/#easybuild.toolchains.linalg.fujitsussl.FujitsuSSL","title":"FujitsuSSL","text":"

                Bases: LinAlg

                Support for Fujitsu's SSL library, which provides BLAS/LAPACK support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/fujitsussl/#easybuild.toolchains.linalg.fujitsussl.FujitsuSSL.definition","title":"definition()","text":"

                Filter BLAS module from toolchain definition. The SSL2 module is loaded indirectly (and versionless) via the lang module, and thus is not a direct toolchain component.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/fujitsussl/#easybuild.toolchains.linalg.fujitsussl.FujitsuSSL.set_variables","title":"set_variables()","text":"

                Set the variables

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/gotoblas/","title":"gotoblas","text":"

                Support for GotoBLAS as toolchain linear algebra library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/gotoblas/#easybuild.toolchains.linalg.gotoblas.GotoBLAS","title":"GotoBLAS","text":"

                Bases: LinAlg

                Trivial class, provides GotoBLAS support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/intelmkl/","title":"intelmkl","text":"

                Support for Intel MKL as toolchain linear algebra library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/intelmkl/#easybuild.toolchains.linalg.intelmkl.IntelMKL","title":"IntelMKL","text":"

                Bases: LinAlg

                Support for Intel MKL.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/intelmkl/#easybuild.toolchains.linalg.intelmkl.IntelMKL.__init__","title":"__init__(*args, **kwargs)","text":"

                Toolchain constructor.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/intelmkl/#easybuild.toolchains.linalg.intelmkl.IntelMKL.set_variables","title":"set_variables()","text":"

                Set the variables

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/lapack/","title":"lapack","text":"

                Support for LAPACK as toolchain linear algebra library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/lapack/#easybuild.toolchains.linalg.lapack.Lapack","title":"Lapack","text":"

                Bases: LinAlg

                Trivial class, provides LAPACK support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/libsci/","title":"libsci","text":"

                Support for Cray's LibSci library, which provides BLAS/LAPACK support. cfr. https://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/

                Authors:

                • Petar Forai (IMP/IMBA, Austria)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/libsci/#easybuild.toolchains.linalg.libsci.LibSci","title":"LibSci","text":"

                Bases: LinAlg

                Support for Cray's LibSci library, which provides BLAS/LAPACK support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/libsci/#easybuild.toolchains.linalg.libsci.LibSci.definition","title":"definition()","text":"

                Filter BLAS module from toolchain definition. The cray-libsci module is loaded indirectly (and versionless) via the PrgEnv module, and thus is not a direct toolchain component.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/openblas/","title":"openblas","text":"

                Support for OpenBLAS as toolchain linear algebra library.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/openblas/#easybuild.toolchains.linalg.openblas.OpenBLAS","title":"OpenBLAS","text":"

                Bases: LinAlg

                Trivial class, provides OpenBLAS support.

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/scalapack/","title":"scalapack","text":"

                Support for ScaLAPACK as toolchain linear algebra library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/scalapack/#easybuild.toolchains.linalg.scalapack.ScaLAPACK","title":"ScaLAPACK","text":"

                Bases: Blacs

                Trivial class, provides ScaLAPACK support (on top of BLACS).

                ","boost":0.5},{"location":"api/easybuild/toolchains/linalg/scalapack/#easybuild.toolchains.linalg.scalapack.ScaLAPACK.is_required","title":"is_required(name)","text":"

                Determine whether BLACS is a required toolchain element, based on ScaLAPACK version.

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/","title":"mpi","text":"
                • easybuild
                  • toolchains
                    • mpi
                      • craympich
                      • fujitsumpi
                      • intelmpi
                      • mpich
                      • mpich2
                      • mpitrampoline
                      • mvapich2
                      • openmpi
                      • psmpi
                      • qlogicmpi
                      • spectrummpi
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/craympich/","title":"craympich","text":"

                MPI support for the Cray Programming Environment (craype).

                Authors:

                • Petar Forai (IMP/IMBA, Austria)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/craympich/#easybuild.toolchains.mpi.craympich.CrayMPICH","title":"CrayMPICH","text":"

                Bases: Mpi

                Generic support for using Cray compiler wrappers

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/fujitsumpi/","title":"fujitsumpi","text":"

                MPI support for Fujitsu MPI.

                Authors:

                • Miguel Dias Costa (National University of Singapore)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/fujitsumpi/#easybuild.toolchains.mpi.fujitsumpi.FujitsuMPI","title":"FujitsuMPI","text":"

                Bases: Mpi

                Generic support for using Fujitsu compiler wrappers

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/intelmpi/","title":"intelmpi","text":"

                Support for Intel MPI as toolchain MPI library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/intelmpi/#easybuild.toolchains.mpi.intelmpi.IntelMPI","title":"IntelMPI","text":"

                Bases: Mpich2

                Intel MPI class

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/intelmpi/#easybuild.toolchains.mpi.intelmpi.IntelMPI.set_variables","title":"set_variables()","text":"

                Intel MPI-specific updates to variables.

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpich/","title":"mpich","text":"

                Support for MPICH as toolchain MPI library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Jens Timmerman (Ghent University)
                • Dmitri Gribenko (National Technical University of Ukraine \"KPI\")
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpich/#easybuild.toolchains.mpi.mpich.Mpich","title":"Mpich","text":"

                Bases: Mpi

                MPICH MPI class

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpich2/","title":"mpich2","text":"

                Support for MPICH2 as toolchain MPI library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Jens Timmerman (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpich2/#easybuild.toolchains.mpi.mpich2.Mpich2","title":"Mpich2","text":"

                Bases: Mpich

                MPICH2 MPI class

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpitrampoline/","title":"mpitrampoline","text":"

                Support for MPItrampoline as toolchain MPI library.

                Authors:

                • Alan O'Cais (CECAM)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpitrampoline/#easybuild.toolchains.mpi.mpitrampoline.MPItrampoline","title":"MPItrampoline","text":"

                Bases: Mpi

                MPItrampoline MPI class

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mpitrampoline/#easybuild.toolchains.mpi.mpitrampoline.MPItrampoline.__init__","title":"__init__(*args, **kwargs)","text":"

                Toolchain constructor

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mvapich2/","title":"mvapich2","text":"

                Support for MVAPICH2 as toolchain MPI library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/mvapich2/#easybuild.toolchains.mpi.mvapich2.Mvapich2","title":"Mvapich2","text":"

                Bases: Mpich2

                MVAPICH2 MPI class

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/","title":"openmpi","text":"

                Support for OpenMPI as toolchain MPI library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/#easybuild.toolchains.mpi.openmpi.OpenMPI","title":"OpenMPI","text":"

                Bases: Mpi

                OpenMPI MPI class

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/#easybuild.toolchains.mpi.openmpi.OpenMPI.__init__","title":"__init__(*args, **kwargs)","text":"

                Toolchain constructor

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/#easybuild.toolchains.mpi.openmpi.OpenMPI.cleanup","title":"cleanup(*args, **kwargs)","text":"

                Clean up after using OpenMPI in toolchain.

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/openmpi/#easybuild.toolchains.mpi.openmpi.OpenMPI.prepare","title":"prepare(*args, **kwargs)","text":"

                Prepare for using OpenMPI library in toolchain environment

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/psmpi/","title":"psmpi","text":"

                Support for Parastation MPI as toolchain MPI library.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/psmpi/#easybuild.toolchains.mpi.psmpi.Psmpi","title":"Psmpi","text":"

                Bases: Mpich

                Parastation MPI class

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/qlogicmpi/","title":"qlogicmpi","text":"

                Support for QLogicMPI as toolchain MPI library.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/qlogicmpi/#easybuild.toolchains.mpi.qlogicmpi.QLogicMPI","title":"QLogicMPI","text":"

                Bases: Mpich2

                QLogicMPI MPI class

                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/spectrummpi/","title":"spectrummpi","text":"

                Support for Spectrum MPI as toolchain MPI library.

                Authors:

                • Alan O'Cais (Juelich Supercomputing Centre)
                ","boost":0.5},{"location":"api/easybuild/toolchains/mpi/spectrummpi/#easybuild.toolchains.mpi.spectrummpi.SpectrumMPI","title":"SpectrumMPI","text":"

                Bases: OpenMPI

                Spectrum MPI class

                ","boost":0.5},{"location":"api/easybuild/tools/","title":"tools","text":"
                • easybuild
                  • tools
                    • asyncprocess
                    • build_details
                    • build_log
                    • config
                    • configobj
                    • containers
                      • apptainer
                      • base
                      • common
                      • docker
                      • singularity
                      • utils
                    • convert
                    • deprecated
                    • docs
                    • environment
                    • filetools
                    • github
                    • hooks
                    • include
                    • jenkins
                    • job
                      • backend
                      • gc3pie
                      • pbs_python
                      • slurm
                    • loose_version
                    • module_generator
                    • module_naming_scheme
                      • categorized_hmns
                      • categorized_mns
                      • easybuild_mns
                      • hierarchical_mns
                      • migrate_from_eb_to_hmns
                      • mns
                      • toolchain
                      • utilities
                    • modules
                    • multidiff
                    • options
                    • output
                    • package
                      • package_naming_scheme
                        • easybuild_deb_friendly_pns
                        • easybuild_pns
                        • pns
                      • utilities
                    • parallelbuild
                    • py2vs3
                      • py2
                      • py3
                    • repository
                      • filerepo
                      • gitrepo
                      • hgrepo
                      • repository
                      • svnrepo
                    • robot
                    • run
                    • systemtools
                    • testing
                    • toolchain
                      • compiler
                      • constants
                      • fft
                      • linalg
                      • mpi
                      • options
                      • toolchain
                      • toolchainvariables
                      • utilities
                      • variables
                    • utilities
                    • variables
                    • version
                ","boost":0.5},{"location":"api/easybuild/tools/asyncprocess/","title":"asyncprocess","text":"

                Module to allow Asynchronous subprocess use on Windows and Posix platforms

                The 'subprocess' module in Python 2.4 has made creating and accessing subprocess streams in Python relatively convenient for all supported platforms, but what if you want to interact with the started subprocess? That is, what if you want to send a command, read the response, and send a new command based on that response?

                Now there is a solution. The included subprocess.Popen subclass adds three new commonly used methods: recv(maxsize=None) recv_err(maxsize=None) and send(input)

                along with a utility method: send_recv(input='', maxsize=None).

                recv() and recv_err() both read at most maxsize bytes from the started subprocess. send() sends strings to the started subprocess. send_recv() will send the provided input, and read up to maxsize bytes from both stdout and stderr.

                If any of the pipes are closed, the attributes for those pipes will be set to None, and the methods will return None.

                • downloaded 05/08/2010
                • modified -- added STDOUT handle

                Authors:

                • Josiah Carlson
                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/build_details/","title":"build_details","text":"

                All required to provide details of build environment and allow for reproducable builds

                Authors:

                • Kenneth Hoste (Ghent University)
                • Stijn De Weirdt (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/build_details/#easybuild.tools.build_details.get_build_stats","title":"get_build_stats(app, start_time, command_line)","text":"

                Return build statistics for this build

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/","title":"build_log","text":"

                EasyBuild logger and log utilities, including our own EasybuildError class.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildError","title":"EasyBuildError","text":"

                Bases: LoggedException

                EasyBuildError is thrown when EasyBuild runs into something horribly wrong.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildError.__init__","title":"__init__(msg, *args)","text":"

                Constructor: initialise EasyBuildError instance.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildError.__str__","title":"__str__()","text":"

                Return string representation of this EasyBuildError instance.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog","title":"EasyBuildLog","text":"

                Bases: fancylogger.FancyLogger

                The EasyBuild logger, with its own error and exception functions.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.caller_info","title":"caller_info()","text":"

                Return string with caller info.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.deprecated","title":"deprecated(msg, ver, max_ver=None, more_info=None, silent=False, *args, **kwargs)","text":"

                Print deprecation warning or raise an exception, depending on specified version(s)

                PARAMETER DESCRIPTION msg

                deprecation message

                ver

                if max_ver is None: threshold for EasyBuild version to determine warning vs exception else: version to check against max_ver to determine warning vs exception

                max_ver

                version threshold for warning vs exception (compared to 'ver')

                DEFAULT: None

                more_info

                additional message with instructions where to get more information

                DEFAULT: None

                silent

                stay silent (don't print deprecation warnings, only log them)

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.devel","title":"devel(msg, *args, **kwargs)","text":"

                Print development log message

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.error","title":"error(msg, *args, **kwargs)","text":"

                Print error message and raise an EasyBuildError.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.exception","title":"exception(msg, *args)","text":"

                Print exception message and raise EasyBuildError.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.experimental","title":"experimental(msg, *args, **kwargs)","text":"

                Handle experimental functionality if EXPERIMENTAL is True, otherwise log error

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.EasyBuildLog.nosupport","title":"nosupport(msg, ver)","text":"

                Raise error message for no longer supported behaviour, and raise an EasyBuildError.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.dry_run_msg","title":"dry_run_msg(msg, *args, **kwargs)","text":"

                Print dry run message.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.dry_run_set_dirs","title":"dry_run_set_dirs(prefix, builddir, software_installdir, module_installdir)","text":"

                Initialize for printing dry run messages.

                Define DRY_RUN_*DIR constants, so they can be used in dry_run_msg to replace fake build/install dirs.

                PARAMETER DESCRIPTION prefix

                prefix of fake build/install dirs, that can be stripped off when printing

                builddir

                fake build dir

                software_installdir

                fake software install directory

                module_installdir

                fake module install directory

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.dry_run_warning","title":"dry_run_warning(msg, *args, **kwargs)","text":"

                Print dry run message.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.init_logging","title":"init_logging(logfile, logtostdout=False, silent=False, colorize=fancylogger.Colorize.AUTO, tmp_logdir=None)","text":"

                Initialize logging.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.log_start","title":"log_start(log, eb_command_line, eb_tmpdir)","text":"

                Log startup info.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.print_error","title":"print_error(msg, *args, **kwargs)","text":"

                Print error message and exit EasyBuild

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.print_msg","title":"print_msg(msg, *args, **kwargs)","text":"

                Print a message.

                PARAMETER DESCRIPTION log

                logger instance to also message to

                silent

                be silent (only log, don't print)

                prefix

                include message prefix characters ('== ')

                newline

                end message with newline

                stderr

                print to stderr rather than stdout

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.print_warning","title":"print_warning(msg, *args, **kwargs)","text":"

                Print warning message.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.raise_easybuilderror","title":"raise_easybuilderror(msg, *args)","text":"

                Raise EasyBuildError with given message, formatted by provided string arguments.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.raise_nosupport","title":"raise_nosupport(msg, ver)","text":"

                Construct error message for no longer supported behaviour, and raise an EasyBuildError.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.stop_logging","title":"stop_logging(logfile, logtostdout=False)","text":"

                Stop logging.

                ","boost":0.5},{"location":"api/easybuild/tools/build_log/#easybuild.tools.build_log.time_str_since","title":"time_str_since(start_time)","text":"

                Return string representing amount of time that has passed since specified timestamp

                PARAMETER DESCRIPTION start_time

                datetime value representing start time

                RETURNS DESCRIPTION

                string value representing amount of time passed since start_time; format: \"[[%d hours, ]%d mins, ]%d sec(s)\"

                ","boost":0.5},{"location":"api/easybuild/tools/config/","title":"config","text":"

                EasyBuild configuration (paths, preferences, etc.)

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                • Ward Poelmans (Ghent University)
                • Damian Alvarez (Forschungszentrum Juelich GmbH)
                • Andy Georges (Ghent University)
                • Maxime Boissonneault (Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.BuildOptions","title":"BuildOptions","text":"

                Bases: BaseBuildOptions

                Representation of a set of build options, acts like a dictionary.

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.ConfigurationVariables","title":"ConfigurationVariables","text":"

                Bases: BaseConfigurationVariables

                This is a dict that supports legacy config names transparently.

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.ConfigurationVariables.get_items_check_required","title":"get_items_check_required()","text":"

                For all known/required keys, check if exists and return all key/value pairs. no_missing: boolean, when True, will throw error message for missing values

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.Singleton","title":"Singleton","text":"

                Bases: ABCMeta

                Serves as metaclass for classes that should implement the Singleton pattern.

                See http://stackoverflow.com/questions/6760685/creating-a-singleton-in-python

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.build_option","title":"build_option(key, **kwargs)","text":"

                Obtain value specified build option.

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.build_path","title":"build_path()","text":"

                Return the build path

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.container_path","title":"container_path()","text":"

                Return the path for container recipes & images

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.find_last_log","title":"find_last_log(curlog)","text":"

                Find location to last log file that is still available.

                PARAMETER DESCRIPTION curlog

                location to log file of current session

                RETURNS DESCRIPTION

                path to last log file (or None if no log files were found)

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_build_log_path","title":"get_build_log_path()","text":"

                Return (temporary) directory for build log

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_job_backend","title":"get_job_backend()","text":"

                Return job execution backend (PBS, GC3Pie, ...)

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_log_filename","title":"get_log_filename(name, version, add_salt=False, date=None, timestamp=None)","text":"

                Generate a filename to be used for logging

                PARAMETER DESCRIPTION name

                software name ('%(name)s')

                version

                software version ('%(version)s')

                add_salt

                add salt (5 random characters)

                DEFAULT: False

                date

                string representation of date to use ('%(date)s')

                DEFAULT: None

                timestamp

                timestamp to use ('%(time)s')

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_module_naming_scheme","title":"get_module_naming_scheme()","text":"

                Return module naming scheme (EasyBuildMNS, HierarchicalMNS, ...)

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_module_syntax","title":"get_module_syntax()","text":"

                Return module syntax (Lua, Tcl)

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_modules_tool","title":"get_modules_tool()","text":"

                Return modules tool (EnvironmentModulesC, Lmod, ...)

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_output_style","title":"get_output_style()","text":"

                Return output style to use.

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_package_naming_scheme","title":"get_package_naming_scheme()","text":"

                Return the package naming scheme

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_pretend_installpath","title":"get_pretend_installpath()","text":"

                Get the installpath when --pretend option is used

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_repository","title":"get_repository()","text":"

                Return the repository (git, svn or file)

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.get_repositorypath","title":"get_repositorypath()","text":"

                Return the repository path

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.init","title":"init(options, config_options_dict)","text":"

                Gather all variables and check if they're valid Variables are read in this order of preference: generaloption > legacy environment > legacy config file

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.init_build_options","title":"init_build_options(build_options=None, cmdline_options=None)","text":"

                Initialize build options.

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.install_path","title":"install_path(typ=None)","text":"

                Returns the install path - subdir 'software' for actual installation (default) - subdir 'modules' for environment modules (typ='mod')

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.log_file_format","title":"log_file_format(return_directory=False, ec=None, date=None, timestamp=None)","text":"

                Return the format for the logfile or the directory

                PARAMETER DESCRIPTION ec

                dict-like value that provides values for %(name)s and %(version)s template values

                DEFAULT: None

                date

                string representation of date to use ('%(date)s')

                DEFAULT: None

                timestamp

                timestamp to use ('%(time)s')

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.log_format","title":"log_format(ec=None)","text":"

                Return the logfilename format

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.log_path","title":"log_path(ec=None)","text":"

                Return the log path

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.mk_full_default_path","title":"mk_full_default_path(name, prefix=DEFAULT_PREFIX)","text":"

                Create full path, avoid '/' at the end.

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.module_classes","title":"module_classes()","text":"

                Return list of module classes specified in config file.

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.package_path","title":"package_path()","text":"

                Return the path where built packages are copied to

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.read_environment","title":"read_environment(env_vars, strict=False)","text":"

                NO LONGER SUPPORTED: use read_environment from easybuild.tools.environment instead

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.source_path","title":"source_path()","text":"

                NO LONGER SUPPORTED: use source_paths instead

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.source_paths","title":"source_paths()","text":"

                Return the list of source paths

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.update_build_option","title":"update_build_option(key, value)","text":"

                Update build option with specified name to given value.

                WARNING: Use this with care, the build options are not expected to be changed during an EasyBuild session!

                ","boost":0.5},{"location":"api/easybuild/tools/config/#easybuild.tools.config.update_build_options","title":"update_build_options(key_value_dict)","text":"

                Update build options as specified by the given dictionary (where keys are assumed to be build option names). Returns dictionary with original values for the updated build options.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/","title":"configobj","text":"","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj","title":"ConfigObj","text":"

                Bases: Section

                An object to read, create, and write config files.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.__init__","title":"__init__(infile=None, options=None, configspec=None, encoding=None, interpolation=True, raise_errors=False, list_values=True, create_empty=False, file_error=False, stringify=True, indent_type=None, default_encoding=None, unrepr=False, write_empty_values=False, _inspec=False)","text":"

                Parse a config file or create a config file object.

                ConfigObj(infile=None, configspec=None, encoding=None, interpolation=True, raise_errors=False, list_values=True, create_empty=False, file_error=False, stringify=True, indent_type=None, default_encoding=None, unrepr=False, write_empty_values=False, _inspec=False)

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.reload","title":"reload()","text":"

                Reload a ConfigObj from file.

                This method raises a ReloadError if the ConfigObj doesn't have a filename attribute pointing to a file.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.reset","title":"reset()","text":"

                Clear ConfigObj instance and restore to 'freshly created' state.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.validate","title":"validate(validator, preserve_errors=False, copy=False, section=None)","text":"

                Test the ConfigObj against a configspec.

                It uses the validator object from validate.py.

                To run validate on the current ConfigObj, call: ::

                test = config.validate(validator)\n

                (Normally having previously passed in the configspec when the ConfigObj was created - you can dynamically assign a dictionary of checks to the configspec attribute of a section though).

                It returns True if everything passes, or a dictionary of pass/fails (True/False). If every member of a subsection passes, it will just have the value True. (It also returns False if all members fail).

                In addition, it converts the values from strings to their native types if their checks pass (and stringify is set).

                If preserve_errors is True (False is default) then instead of a marking a fail with a False, it will preserve the actual exception object. This can contain info about the reason for failure. For example the VdtValueTooSmallError indicates that the value supplied was too small. If a value (or section) is missing it will still be marked as False.

                You must have the validate module to use preserve_errors=True.

                You can then use the flatten_errors function to turn your nested results dictionary into a flattened list of failures - useful for displaying meaningful error messages.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObj.write","title":"write(outfile=None, section=None)","text":"

                Write the current ConfigObj as a file

                tekNico: FIXME: use StringIO instead of real files

                filename = a.filename a.filename = 'test.ini' a.write() a.filename = filename a == ConfigObj('test.ini', raise_errors=True) 1 import os os.remove('test.ini')

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigObjError","title":"ConfigObjError","text":"

                Bases: SyntaxError

                This is the base class for all errors that ConfigObj raises. It is a subclass of SyntaxError.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigParserInterpolation","title":"ConfigParserInterpolation","text":"

                Bases: InterpolationEngine

                Behaves like ConfigParser.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ConfigspecError","title":"ConfigspecError","text":"

                Bases: ConfigObjError

                An error occurred whilst parsing a configspec.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.DuplicateError","title":"DuplicateError","text":"

                Bases: ConfigObjError

                The keyword or section specified already exists.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.InterpolationEngine","title":"InterpolationEngine","text":"

                Bases: object

                A helper class to help perform string interpolation.

                This class is an abstract base class; its descendants perform the actual work.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.InterpolationError","title":"InterpolationError","text":"

                Bases: ConfigObjError

                Base class for the two interpolation errors.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.InterpolationLoopError","title":"InterpolationLoopError","text":"

                Bases: InterpolationError

                Maximum interpolation depth exceeded in string interpolation.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.MissingInterpolationOption","title":"MissingInterpolationOption","text":"

                Bases: InterpolationError

                A value specified for interpolation was missing.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.NestingError","title":"NestingError","text":"

                Bases: ConfigObjError

                This error indicates a level of nesting that doesn't match.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ParseError","title":"ParseError","text":"

                Bases: ConfigObjError

                This error indicates that a line is badly written. It is neither a valid key = value line, nor a valid section marker line.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.ReloadError","title":"ReloadError","text":"

                Bases: IOError

                A 'reload' operation failed. This exception is a subclass of IOError.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.RepeatSectionError","title":"RepeatSectionError","text":"

                Bases: ConfigObjError

                This error indicates additional sections in a section with a __many__ (repeated) section.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section","title":"Section","text":"

                Bases: dict

                A dictionary-like object that represents a section in a config file.

                It does string interpolation if the 'interpolation' attribute of the 'main' object is set to True.

                Interpolation is tried first from this object, then from the 'DEFAULT' section of this object, next from the parent and its 'DEFAULT' section, and so on until the main object is reached.

                A Section will behave like an ordered dictionary - following the order of the scalars and sections attributes. You can use this to change the order of members.

                Iteration follows the order: scalars, then sections.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__delitem__","title":"__delitem__(key)","text":"

                Remove items from the sequence when deleting.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__getitem__","title":"__getitem__(key)","text":"

                Fetch the item and do string interpolation.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__init__","title":"__init__(parent, depth, main, indict=None, name=None)","text":"
                • parent is the section above
                • depth is the depth level of this section
                • main is the main ConfigObj
                • indict is a dictionary to initialise the section with
                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__repr__","title":"__repr__()","text":"

                x.repr() <==> repr(x)

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.__setitem__","title":"__setitem__(key, value, unrepr=False)","text":"

                Correctly set a value.

                Making dictionary values Section instances. (We have to special case 'Section' instances - which are also dicts)

                Keys must be strings. Values need only be strings (or lists of strings) if main.stringify is set.

                unrepr must be set when setting a value to a dictionary, without creating a new sub-section.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.as_bool","title":"as_bool(key)","text":"

                Accepts a key as input. The corresponding value must be a string or the objects (True or 1) or (False or 0). We allow 0 and 1 to retain compatibility with Python 2.2.

                If the string is one of True, On, Yes, or 1 it returns True.

                If the string is one of False, Off, No, or 0 it returns False.

                as_bool is not case sensitive.

                Any other input will raise a ValueError.

                a = ConfigObj() a['a'] = 'fish' a.as_bool('a') Traceback (most recent call last): ValueError: Value \"fish\" is neither True nor False a['b'] = 'True' a.as_bool('b') 1 a['b'] = 'off' a.as_bool('b') 0

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.as_float","title":"as_float(key)","text":"

                A convenience method which coerces the specified value to a float.

                If the value is an invalid literal for float, a ValueError will be raised.

                a = ConfigObj() a['a'] = 'fish' a.as_float('a') Traceback (most recent call last): ValueError: invalid literal for float(): fish a['b'] = '1' a.as_float('b') 1.0 a['b'] = '3.2' a.as_float('b') 3.2000000000000002

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.as_int","title":"as_int(key)","text":"

                A convenience method which coerces the specified value to an integer.

                If the value is an invalid literal for int, a ValueError will be raised.

                a = ConfigObj() a['a'] = 'fish' a.as_int('a') Traceback (most recent call last): ValueError: invalid literal for int() with base 10: 'fish' a['b'] = '1' a.as_int('b') 1 a['b'] = '3.2' a.as_int('b') Traceback (most recent call last): ValueError: invalid literal for int() with base 10: '3.2'

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.as_list","title":"as_list(key)","text":"

                A convenience method which fetches the specified value, guaranteeing that it is a list.

                a = ConfigObj() a['a'] = 1 a.as_list('a') [1] a['a'] = (1,) a.as_list('a') [1] a['a'] = [1] a.as_list('a') [1]

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.clear","title":"clear()","text":"

                A version of clear that also affects scalars/sections Also clears comments and configspec.

                Leaves other attributes alone : depth/main/parent are not affected

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.dict","title":"dict()","text":"

                Return a deepcopy of self as a dictionary.

                All members that are Section instances are recursively turned to ordinary dictionaries - by calling their dict method.

                n = a.dict() n == a 1 n is a 0

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.get","title":"get(key, default=None)","text":"

                A version of get that doesn't bypass string interpolation.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.items","title":"items()","text":"

                D.items() -> list of D's (key, value) pairs, as 2-tuples

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.iteritems","title":"iteritems()","text":"

                D.iteritems() -> an iterator over the (key, value) items of D

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.iterkeys","title":"iterkeys()","text":"

                D.iterkeys() -> an iterator over the keys of D

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.itervalues","title":"itervalues()","text":"

                D.itervalues() -> an iterator over the values of D

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.keys","title":"keys()","text":"

                D.keys() -> list of D's keys

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.merge","title":"merge(indict)","text":"

                A recursive update - useful for merging config files.

                a = '''[section1] ... option1 = True ... [[subsection]] ... more_options = False ... # end of file'''.splitlines() b = '''# File is user.ini ... [section1] ... option1 = False ... # end of file'''.splitlines() c1 = ConfigObj(b) c2 = ConfigObj(a) c2.merge(c1) c2 ConfigObj({'section1': {'option1': 'False', 'subsection': {'more_options': 'False'}}})

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.pop","title":"pop(key, default=MISSING)","text":"

                'D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised'

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.popitem","title":"popitem()","text":"

                Pops the first (key,val)

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.rename","title":"rename(oldkey, newkey)","text":"

                Change a keyname to another, without changing position in sequence.

                Implemented so that transformations can be made on keys, as well as on values. (used by encode and decode)

                Also renames comments.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.restore_default","title":"restore_default(key)","text":"

                Restore (and return) default value for the specified key.

                This method will only work for a ConfigObj that was created with a configspec and has been validated.

                If there is no default value for this key, KeyError is raised.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.restore_defaults","title":"restore_defaults()","text":"

                Recursively restore default values to all members that have them.

                This method will only work for a ConfigObj that was created with a configspec and has been validated.

                It doesn't delete or modify entries without default values.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.setdefault","title":"setdefault(key, default=None)","text":"

                A version of setdefault that sets sequence if appropriate.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.update","title":"update(indict)","text":"

                A version of update that uses our __setitem__.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.values","title":"values()","text":"

                D.values() -> list of D's values

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.Section.walk","title":"walk(function, raise_errors=True, call_on_sections=False, **keywargs)","text":"

                Walk every member and call a function on the keyword and value.

                Return a dictionary of the return values

                If the function raises an exception, raise the errror unless raise_errors=False, in which case set the return value to False.

                Any unrecognised keyword arguments you pass to walk, will be pased on to the function you pass in.

                Note: if call_on_sections is True then - on encountering a subsection, first the function is called for the whole subsection, and then recurses into it's members. This means your function must be able to handle strings, dictionaries and lists. This allows you to change the key of subsections as well as for ordinary members. The return value when called on the whole subsection has to be discarded.

                See the encode and decode methods for examples, including functions.

                .. admonition:: caution

                You can use ``walk`` to transform the names of members of a section\nbut you mustn't add or delete members.\n

                config = '''[XXXXsection] ... XXXXkey = XXXXvalue'''.splitlines() cfg = ConfigObj(config) cfg ConfigObj({'XXXXsection': {'XXXXkey': 'XXXXvalue'}}) def transform(section, key): ... val = section[key] ... newkey = key.replace('XXXX', 'CLIENT1') ... section.rename(key, newkey) ... if isinstance(val, (tuple, list, dict)): ... pass ... else: ... val = val.replace('XXXX', 'CLIENT1') ... section[newkey] = val cfg.walk(transform, call_on_sections=True) {'CLIENT1section': {'CLIENT1key': None}} cfg ConfigObj({'CLIENT1section': {'CLIENT1key': 'CLIENT1value'}})

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.SimpleVal","title":"SimpleVal","text":"

                Bases: object

                A simple validator. Can be used to check that all members expected are present.

                To use it, provide a configspec with all your members in (the value given will be ignored). Pass an instance of SimpleVal to the validate method of your ConfigObj. validate will return True if all members are present, or a dictionary with True/False meaning present/missing. (Whole missing sections will be replaced with False)

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.SimpleVal.check","title":"check(check, member, missing=False)","text":"

                A dummy check method, always returns the value unchanged.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.TemplateInterpolation","title":"TemplateInterpolation","text":"

                Bases: InterpolationEngine

                Behaves like string.Template.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.UnreprError","title":"UnreprError","text":"

                Bases: ConfigObjError

                An error parsing in unrepr mode.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.flatten_errors","title":"flatten_errors(cfg, res, levels=None, results=None)","text":"

                An example function that will turn a nested dictionary of results (as returned by ConfigObj.validate) into a flat list.

                cfg is the ConfigObj instance being checked, res is the results dictionary returned by validate.

                (This is a recursive function, so you shouldn't use the levels or results arguments - they are used by the function.)

                Returns a list of keys that failed. Each member of the list is a tuple::

                ([list of sections...], key, result)\n

                If validate was called with preserve_errors=False (the default) then result will always be False.

                list of sections is a flattened list of sections that the key was found in.

                If the section was missing (or a section was expected and a scalar provided - or vice-versa) then key will be None.

                If the value (or section) was missing then result will be False.

                If validate was called with preserve_errors=True and a value was present, but failed the check, then result will be the exception object returned. You can use this as a string that describes the failure.

                For example The value \"3\" is of the wrong type.

                ","boost":0.5},{"location":"api/easybuild/tools/configobj/#easybuild.tools.configobj.get_extra_values","title":"get_extra_values(conf, _prepend=())","text":"

                Find all the values and sections not in the configspec from a validated ConfigObj.

                get_extra_values returns a list of tuples where each tuple represents either an extra section, or an extra value.

                The tuples contain two values, a tuple representing the section the value is in and the name of the extra values. For extra values in the top level section the first member will be an empty tuple. For values in the 'foo' section the first member will be ('foo',). For members in the 'bar' subsection of the 'foo' section the first member will be ('foo', 'bar').

                NOTE: If you call get_extra_values on a ConfigObj instance that hasn't been validated it will return an empty list.

                ","boost":0.5},{"location":"api/easybuild/tools/convert/","title":"convert","text":"

                This module implements all supported formats and their converters

                Authors:

                • Stijn De Weirdt (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/convert/#easybuild.tools.convert.Convert","title":"Convert","text":"

                Bases: Wrapper

                Convert casts a string passed via the initialisation to a Convert (sub)class instance, mainly for typechecking and printing purposes.

                ","boost":0.5},{"location":"api/easybuild/tools/convert/#easybuild.tools.convert.Convert.__init__","title":"__init__(obj)","text":"

                Support the conversion of obj to something

                ","boost":0.5},{"location":"api/easybuild/tools/convert/#easybuild.tools.convert.Convert.__str__","title":"__str__()","text":"

                Convert to string

                ","boost":0.5},{"location":"api/easybuild/tools/docs/","title":"docs","text":"

                Documentation-related functionality

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                • Ward Poelmans (Ghent University)
                • Caroline De Brouwer (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_cfgfile_constants","title":"avail_cfgfile_constants(go_cfg_constants, output_format=FORMAT_TXT)","text":"

                Return overview of constants supported in configuration files.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_cfgfile_constants_md","title":"avail_cfgfile_constants_md(go_cfg_constants)","text":"

                Generate documentation on constants for configuration files in MarkDown format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_cfgfile_constants_rst","title":"avail_cfgfile_constants_rst(go_cfg_constants)","text":"

                Generate documentation on constants for configuration files in rst format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_cfgfile_constants_txt","title":"avail_cfgfile_constants_txt(go_cfg_constants)","text":"

                Generate documentation on constants for configuration files in txt format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_classes_tree","title":"avail_classes_tree(classes, class_names, locations, detailed, format_strings, depth=0)","text":"

                Print list of classes as a tree.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_constants","title":"avail_easyconfig_constants(output_format=FORMAT_TXT)","text":"

                Generate the easyconfig constant documentation

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_constants_md","title":"avail_easyconfig_constants_md()","text":"

                Generate easyconfig constant documentation in MarkDown format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_constants_rst","title":"avail_easyconfig_constants_rst()","text":"

                Generate easyconfig constant documentation in rst format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_constants_txt","title":"avail_easyconfig_constants_txt()","text":"

                Generate easyconfig constant documentation in txt format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_licenses","title":"avail_easyconfig_licenses(output_format=FORMAT_TXT)","text":"

                Generate the easyconfig licenses documentation

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_licenses_md","title":"avail_easyconfig_licenses_md()","text":"

                Generate easyconfig license documentation in MarkDown format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_licenses_rst","title":"avail_easyconfig_licenses_rst()","text":"

                Generate easyconfig license documentation in rst format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_licenses_txt","title":"avail_easyconfig_licenses_txt()","text":"

                Generate easyconfig license documentation in txt format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_params","title":"avail_easyconfig_params(easyblock, output_format=FORMAT_TXT)","text":"

                Compose overview of available easyconfig parameters, in specified format.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_params_md","title":"avail_easyconfig_params_md(title, grouped_params)","text":"

                Compose overview of available easyconfig parameters, in MarkDown format.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_params_rst","title":"avail_easyconfig_params_rst(title, grouped_params)","text":"

                Compose overview of available easyconfig parameters, in RST format.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_params_txt","title":"avail_easyconfig_params_txt(title, grouped_params)","text":"

                Compose overview of available easyconfig parameters, in plain text format.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_templates","title":"avail_easyconfig_templates(output_format=FORMAT_TXT)","text":"

                Generate the templating documentation

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_templates_md","title":"avail_easyconfig_templates_md()","text":"

                Returns template documentation in MarkDown format.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_templates_rst","title":"avail_easyconfig_templates_rst()","text":"

                Returns template documentation in rst format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_easyconfig_templates_txt","title":"avail_easyconfig_templates_txt()","text":"

                Returns template documentation in plain text format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_toolchain_opts","title":"avail_toolchain_opts(name, output_format=FORMAT_TXT)","text":"

                Show list of known options for given toolchain.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_toolchain_opts_md","title":"avail_toolchain_opts_md(name, tc_dict)","text":"

                Returns overview of toolchain options in MarkDown format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_toolchain_opts_rst","title":"avail_toolchain_opts_rst(name, tc_dict)","text":"

                Returns overview of toolchain options in rst format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.avail_toolchain_opts_txt","title":"avail_toolchain_opts_txt(name, tc_dict)","text":"

                Returns overview of toolchain options in txt format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_easyblock_doc_section_md","title":"gen_easyblock_doc_section_md(eb_class, path_to_examples, common_params, doc_functions, all_eb_classes)","text":"

                Compose overview of one easyblock given class object of the easyblock in MarkDown format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_easyblock_doc_section_rst","title":"gen_easyblock_doc_section_rst(eb_class, path_to_examples, common_params, doc_functions, all_blocks)","text":"

                Compose overview of one easyblock given class object of the easyblock in rst format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_easyblocks_overview_md","title":"gen_easyblocks_overview_md(package_name, path_to_examples, common_params=None, doc_functions=None)","text":"

                Compose overview of all easyblocks in the given package in MarkDown format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_easyblocks_overview_rst","title":"gen_easyblocks_overview_rst(package_name, path_to_examples, common_params=None, doc_functions=None)","text":"

                Compose overview of all easyblocks in the given package in rst format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.gen_list_easyblocks","title":"gen_list_easyblocks(list_easyblocks, format_strings)","text":"

                Get a class tree for easyblocks.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.generate_doc","title":"generate_doc(name, params)","text":"

                Generate documentation by calling function with specified name, using supplied parameters.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.get_easyblock_classes","title":"get_easyblock_classes(package_name)","text":"

                Get list of all easyblock classes in specified easyblocks.* package

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_software","title":"list_software(output_format=FORMAT_TXT, detailed=False, only_installed=False)","text":"

                Show list of supported software

                PARAMETER DESCRIPTION output_format

                output format to use

                DEFAULT: FORMAT_TXT

                detailed

                whether or not to return detailed information (incl. version, versionsuffix, toolchain info)

                DEFAULT: False

                only_installed

                only retain software for which a corresponding module is available

                DEFAULT: False

                RETURNS DESCRIPTION

                multi-line string presenting requested info

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_software_md","title":"list_software_md(software, detailed=True)","text":"

                Return overview of supported software in MarkDown format

                PARAMETER DESCRIPTION software

                software information (structured like list_software does)

                detailed

                whether or not to return detailed information (incl. version, versionsuffix, toolchain info)

                DEFAULT: True

                RETURNS DESCRIPTION

                multi-line string presenting requested info

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_software_rst","title":"list_software_rst(software, detailed=False)","text":"

                Return overview of supported software in RST format

                PARAMETER DESCRIPTION software

                software information (structured like list_software does)

                detailed

                whether or not to return detailed information (incl. version, versionsuffix, toolchain info)

                DEFAULT: False

                RETURNS DESCRIPTION

                multi-line string presenting requested info

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_software_txt","title":"list_software_txt(software, detailed=False)","text":"

                Return overview of supported software in plain text

                PARAMETER DESCRIPTION software

                software information (structured like list_software does)

                detailed

                whether or not to return detailed information (incl. version, versionsuffix, toolchain info)

                DEFAULT: False

                RETURNS DESCRIPTION

                multi-line string presenting requested info

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_toolchains","title":"list_toolchains(output_format=FORMAT_TXT)","text":"

                Show list of known toolchains.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_toolchains_md","title":"list_toolchains_md(tcs)","text":"

                Returns overview of all toolchains in MarkDown format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_toolchains_rst","title":"list_toolchains_rst(tcs)","text":"

                Returns overview of all toolchains in rst format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.list_toolchains_txt","title":"list_toolchains_txt(tcs)","text":"

                Returns overview of all toolchains in txt format

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.md_title_and_table","title":"md_title_and_table(title, table_titles, table_values, title_level=1)","text":"

                Generate table in section with title in MarkDown (.md) format.

                ","boost":0.5},{"location":"api/easybuild/tools/docs/#easybuild.tools.docs.rst_title_and_table","title":"rst_title_and_table(title, table_titles, table_values)","text":"

                Generate table in section with title in .rst format.

                ","boost":0.5},{"location":"api/easybuild/tools/environment/","title":"environment","text":"

                Utility module for modifying os.environ

                Authors:

                • Toon Willems (Ghent University)
                • Ward Poelmans (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.get_changes","title":"get_changes()","text":"

                Return tracked changes made in environment.

                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.modify_env","title":"modify_env(old, new, verbose=True)","text":"

                Compares two os.environ dumps. Adapts final environment.

                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.read_environment","title":"read_environment(env_vars, strict=False)","text":"

                Read variables from the environment

                PARAMETER DESCRIPTION env_vars

                a dict with key a name, value a environment variable name

                strict

                boolean, if True enforces that all specified environment variables are found

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.reset_changes","title":"reset_changes()","text":"

                Reset the changes tracked by this module

                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.restore_env","title":"restore_env(env)","text":"

                Restore active environment based on specified dictionary.

                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.restore_env_vars","title":"restore_env_vars(env_keys)","text":"

                Restore the environment by setting the keys in the env_keys dict again with their old value

                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.sanitize_env","title":"sanitize_env()","text":"

                Sanitize environment.

                This function:

                • Filters out empty entries from environment variables like $PATH, $LD_LIBRARY_PATH, etc. Empty entries make no sense, and can cause problems, see for example https://github.com/easybuilders/easybuild-easyconfigs/issues/9843 .

                • Undefines all $PYTHON* environment variables, since they may affect the build/install procedure of Python packages.

                cfr. https://docs.python.org/2/using/cmdline.html#environment-variables

                While the $PYTHON* environment variables may be relevant/required for EasyBuild itself, and for any non-stdlib Python packages it uses, they are irrelevant (and potentially harmful) when installing Python packages.

                Note that this is not an airtight protection against the Python being used in the build/install procedure picking up non-stdlib Python packages (e.g., setuptools, vsc-base, ...), thanks to the magic of .pth files, cfr. https://docs.python.org/2/library/site.html .

                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.setvar","title":"setvar(key, value, verbose=True)","text":"

                put key in the environment with value tracks added keys until write_changes has been called

                PARAMETER DESCRIPTION verbose

                include message in dry run output for defining this environment variable

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.unset_env_vars","title":"unset_env_vars(keys, verbose=True)","text":"

                Unset the keys given in the environment Returns a dict with the old values of the unset keys

                ","boost":0.5},{"location":"api/easybuild/tools/environment/#easybuild.tools.environment.write_changes","title":"write_changes(filename)","text":"

                Write current changes to filename and reset environment afterwards

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/","title":"filetools","text":"

                Set of file tools.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Toon Willems (Ghent University)
                • Ward Poelmans (Ghent University)
                • Fotis Georgatos (Uni.Lu, NTUA)
                • Sotiris Fragkiskos (NTUA, CERN)
                • Davide Vanzo (ACCRE, Vanderbilt University)
                • Damian Alvarez (Forschungszentrum Juelich GmbH)
                • Maxime Boissonneault (Compute Canada)
                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.ZlibChecksum","title":"ZlibChecksum","text":"

                Bases: object

                wrapper class for adler32 and crc32 checksums to match the interface of the hashlib module

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.ZlibChecksum.hexdigest","title":"hexdigest()","text":"

                Return hex string of the checksum

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.ZlibChecksum.update","title":"update(data)","text":"

                Calculates a new checksum using the old one and the new data

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.adjust_permissions","title":"adjust_permissions(provided_path, permission_bits, add=True, onlyfiles=False, onlydirs=False, recursive=True, group_id=None, relative=True, ignore_errors=False, skip_symlinks=None)","text":"

                Change permissions for specified path, using specified permission bits

                PARAMETER DESCRIPTION add

                add permissions relative to current permissions (only relevant if 'relative' is set to True)

                DEFAULT: True

                onlyfiles

                only change permissions on files (not directories)

                DEFAULT: False

                onlydirs

                only change permissions on directories (not files)

                DEFAULT: False

                recursive

                change permissions recursively (only makes sense if path is a directory)

                DEFAULT: True

                group_id

                also change group ownership to group with this group ID

                DEFAULT: None

                relative

                add/remove permissions relative to current permissions (if False, hard set specified permissions)

                DEFAULT: True

                ignore_errors

                ignore errors that occur when changing permissions (up to a maximum ratio specified by --max-fail-ratio-adjust-permissions configuration option) Add or remove (if add is False) permission_bits from all files (if onlydirs is False) and directories (if onlyfiles is False) in path

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.apply_patch","title":"apply_patch(patch_file, dest, fn=None, copy=False, level=None, use_git_am=False, use_git=False)","text":"

                Apply a patch to source code in directory dest - assume unified diff created with \"diff -ru old new\"

                Raises EasyBuildError on any error and returns True on success

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.apply_regex_substitutions","title":"apply_regex_substitutions(paths, regex_subs, backup='.orig.eb', on_missing_match=None)","text":"

                Apply specified list of regex substitutions.

                PARAMETER DESCRIPTION paths

                list of paths to files to patch (or just a single filepath)

                regex_subs

                list of substitutions to apply, specified as (, )

                backup

                create backup of original file with specified suffix (no backup if value evaluates to False)

                DEFAULT: '.orig.eb'

                on_missing_match

                Define what to do when no match was found in the file. Can be 'error' to raise an error, 'warn' to print a warning or 'ignore' to do nothing Defaults to the value of --strict

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.back_up_file","title":"back_up_file(src_file, backup_extension='bak', hidden=False, strip_fn=None)","text":"

                Backs up a file appending a backup extension and timestamp to it (if there is already an existing backup).

                PARAMETER DESCRIPTION src_file

                file to be back up

                backup_extension

                extension to use for the backup file (can be empty or None)

                DEFAULT: 'bak'

                hidden

                make backup hidden (leading dot in filename)

                DEFAULT: False

                strip_fn

                strip specified trailing substring from filename of backup

                DEFAULT: None

                RETURNS DESCRIPTION

                location of backed up file

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.calc_block_checksum","title":"calc_block_checksum(path, algorithm)","text":"

                Calculate a checksum of a file by reading it into blocks

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.change_dir","title":"change_dir(path)","text":"

                Change to directory at specified location.

                PARAMETER DESCRIPTION path

                location to change to

                RETURNS DESCRIPTION

                previous location we were in

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.check_lock","title":"check_lock(lock_name)","text":"

                Check whether a lock with specified name already exists.

                If it exists, either wait until it's released, or raise an error (depending on --wait-on-lock configuration option).

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.clean_up_locks","title":"clean_up_locks()","text":"

                Clean up all still existing locks that were created in this session.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.clean_up_locks_signal_handler","title":"clean_up_locks_signal_handler(signum, frame)","text":"

                Signal handler, cleans up locks & exits with received signal number.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.cleanup","title":"cleanup(logfile, tempdir, testing, silent=False)","text":"

                Cleanup the specified log file and the tmp directory, if desired.

                PARAMETER DESCRIPTION logfile

                path to log file to clean up

                tempdir

                path to temporary directory to clean up

                testing

                are we in testing mode? if so, don't actually clean up anything

                silent

                be silent (don't print anything to stdout)

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.compute_checksum","title":"compute_checksum(path, checksum_type=DEFAULT_CHECKSUM)","text":"

                Compute checksum of specified file.

                PARAMETER DESCRIPTION path

                Path of file to compute checksum for

                checksum_type

                type(s) of checksum ('adler32', 'crc32', 'md5' (default), 'sha1', 'sha256', 'sha512', 'size')

                DEFAULT: DEFAULT_CHECKSUM

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.convert_name","title":"convert_name(name, upper=False)","text":"

                Converts name so it can be used as variable name

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy","title":"copy(paths, target_path, force_in_dry_run=False, **kwargs)","text":"

                Copy single file/directory or list of files and directories to specified location

                PARAMETER DESCRIPTION paths

                path(s) to copy

                target_path

                target location

                force_in_dry_run

                force running the command during dry run

                DEFAULT: False

                kwargs

                additional named arguments to pass down to copy_dir

                DEFAULT: {}

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_dir","title":"copy_dir(path, target_path, force_in_dry_run=False, dirs_exist_ok=False, check_for_recursive_symlinks=True, **kwargs)","text":"

                Copy a directory from specified location to specified location

                PARAMETER DESCRIPTION path

                the original directory path

                target_path

                path to copy the directory to

                force_in_dry_run

                force running the command during dry run

                DEFAULT: False

                dirs_exist_ok

                boolean indicating whether it's OK if the target directory already exists

                DEFAULT: False

                check_for_recursive_symlinks

                If symlink arg is not given or False check for recursive symlinks first shutil.copytree is used if the target path does not exist yet; if the target path already exists, the 'copy' function will be used to copy the contents of the source path to the target path Additional specified named arguments are passed down to shutil.copytree/copy if used.

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_easyblocks","title":"copy_easyblocks(paths, target_dir)","text":"

                Find right location for easyblock file and copy it there

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_file","title":"copy_file(path, target_path, force_in_dry_run=False)","text":"

                Copy a file from specified location to specified location

                PARAMETER DESCRIPTION path

                the original filepath

                target_path

                path to copy the file to

                force_in_dry_run

                force copying of file during dry run

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_files","title":"copy_files(paths, target_path, force_in_dry_run=False, target_single_file=False, allow_empty=True, verbose=False)","text":"

                Copy list of files to specified target path. Target directory is created if it doesn't exist yet.

                PARAMETER DESCRIPTION paths

                list of filepaths to copy

                target_path

                path to copy files to

                force_in_dry_run

                force copying of files during dry run

                DEFAULT: False

                target_single_file

                if there's only a single file to copy, copy to a file at target path (not a directory)

                DEFAULT: False

                allow_empty

                allow empty list of paths to copy as input (if False: raise error on empty input list)

                DEFAULT: True

                verbose

                print a message to report copying of files

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copy_framework_files","title":"copy_framework_files(paths, target_dir)","text":"

                Find right location for framework file and copy it there

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.copytree","title":"copytree(src, dst, symlinks=False, ignore=None)","text":"

                DEPRECATED and removed. Use copy_dir

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.create_index","title":"create_index(path, ignore_dirs=None)","text":"

                Create index for files in specified path.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.create_lock","title":"create_lock(lock_name)","text":"

                Create lock with specified name.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.create_patch_info","title":"create_patch_info(patch_spec)","text":"

                Create info dictionary from specified patch spec.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.create_unused_dir","title":"create_unused_dir(parent_folder, name)","text":"

                Create a new folder in parent_folder using name as the name. When a folder of that name already exists, '_0' is appended which is retried for increasing numbers until an unused name was found

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.decode_class_name","title":"decode_class_name(name)","text":"

                Return decoded version of class name.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.decode_string","title":"decode_string(name)","text":"

                Decoding function to revert result of encode_string.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.derive_alt_pypi_url","title":"derive_alt_pypi_url(url)","text":"

                Derive alternate PyPI URL for given URL.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_common_path_prefix","title":"det_common_path_prefix(paths)","text":"

                Determine common path prefix for a given list of paths.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_file_size","title":"det_file_size(http_header)","text":"

                Determine size of file from provided HTTP header info (without downloading it).

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_lock_path","title":"det_lock_path(lock_name)","text":"

                Determine full path for lock with specifed name.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_patched_files","title":"det_patched_files(path=None, txt=None, omit_ab_prefix=False, github=False, filter_deleted=False)","text":"

                Determine list of patched files from a patch. It searches for \"+++ path/to/patched/file\" lines to determine the patched files. Note: does not correctly handle filepaths with spaces.

                PARAMETER DESCRIPTION path

                the path to the diff

                DEFAULT: None

                txt

                the contents of the diff (either path or txt should be give)

                DEFAULT: None

                omit_ab_prefix

                ignore the a/ or b/ prefix of the files

                DEFAULT: False

                github

                only consider lines that start with 'diff --git' to determine list of patched files

                DEFAULT: False

                filter_deleted

                filter out all files that were deleted by the patch

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.det_size","title":"det_size(path)","text":"

                Determine total size of given filepath (in bytes).

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.diff_files","title":"diff_files(path1, path2)","text":"

                Return unified diff between two files

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.dir_contains_files","title":"dir_contains_files(path, recursive=True)","text":"

                Return True if the given directory does contain any file

                :recursive If False only the path itself is considered, else all subdirectories are also searched

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.download_file","title":"download_file(filename, url, path, forced=False)","text":"

                Download a file from the given URL, to the specified path.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.dump_index","title":"dump_index(path, max_age_sec=None)","text":"

                Create index for files in specified path, and dump it to file (alphabetically sorted).

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.encode_class_name","title":"encode_class_name(name)","text":"

                return encoded version of class name

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.encode_string","title":"encode_string(name)","text":"

                This encoding function handles funky software names ad infinitum, like: example: '0_foo+0x0x#-$__' becomes: '0_underscore_foo_plus_0x0x_hash__minus__dollar__underscore__underscore_' The intention is to have a robust escaping mechanism for names like c++, C# et al

                It has been inspired by the concepts seen at, but in lowercase style: * http://fossies.org/dox/netcdf-4.2.1.1/escapes_8c_source.html * http://celldesigner.org/help/CDH_Species_01.html * http://research.cs.berkeley.edu/project/sbp/darcsrepo-no-longer-updated/src/edu/berkeley/sbp/misc/ReflectiveWalker.java # noqa and can be extended freely as per ISO/IEC 10646:2012 / Unicode 6.1 names: * http://www.unicode.org/versions/Unicode6.1.0/ For readability of >2 words, it is suggested to use CamelCase style. So, yes, 'GreekSmallLetterEtaWithPsiliAndOxia' could indeed be a fully valid software name; software \"electron\" in the original spelling anyone? ;-)

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.expand_glob_paths","title":"expand_glob_paths(glob_paths)","text":"

                Expand specified glob paths to a list of unique non-glob paths to only files.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.extract_cmd","title":"extract_cmd(filepath, overwrite=False)","text":"

                Determines the file type of file at filepath, returns extract cmd based on file suffix

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.extract_file","title":"extract_file(fn, dest, cmd=None, extra_options=None, overwrite=False, forced=False, change_into_dir=None)","text":"

                Extract file at given path to specified directory

                PARAMETER DESCRIPTION fn

                path to file to extract

                dest

                location to extract to

                cmd

                extract command to use (derived from filename if not specified)

                DEFAULT: None

                extra_options

                extra options to pass to extract command

                DEFAULT: None

                overwrite

                overwrite existing unpacked file

                DEFAULT: False

                forced

                force extraction in (extended) dry run mode

                DEFAULT: False

                change_into_dir

                change into resulting directory; None (current default) implies True, but this is deprecated, this named argument should be set to False or True explicitely (in a future major release, default will be changed to False)

                DEFAULT: None

                RETURNS DESCRIPTION

                path to directory (in case of success)

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_backup_name_candidate","title":"find_backup_name_candidate(src_file)","text":"

                Returns a non-existing file to be used as destination for backup files

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_base_dir","title":"find_base_dir()","text":"

                Try to locate a possible new base directory - this is typically a single subdir, e.g. from untarring a tarball - when extracting multiple tarballs in the same directory, expect only the first one to give the correct path

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_easyconfigs","title":"find_easyconfigs(path, ignore_dirs=None)","text":"

                Find .eb easyconfig files in path

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_eb_script","title":"find_eb_script(script_name)","text":"

                Find EasyBuild script with given name (in easybuild/scripts subdirectory).

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_extension","title":"find_extension(filename)","text":"

                Find best match for filename extension.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_flexlm_license","title":"find_flexlm_license(custom_env_vars=None, lic_specs=None)","text":"

                Find FlexLM license.

                Considered specified list of environment variables; checks for path to existing license file or valid license server specification; duplicate paths are not retained in the returned list of license specs.

                If no license is found through environment variables, also consider 'lic_specs'.

                PARAMETER DESCRIPTION custom_env_vars

                list of environment variables to considered (if None, only consider $LM_LICENSE_FILE)

                DEFAULT: None

                lic_specs

                list of license specifications

                DEFAULT: None

                RETURNS DESCRIPTION

                tuple with list of valid license specs found and name of first valid environment variable

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.find_glob_pattern","title":"find_glob_pattern(glob_pattern, fail_on_no_match=True)","text":"

                Find unique file/dir matching glob_pattern (raises error if more than one match is found)

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.get_easyblock_class_name","title":"get_easyblock_class_name(path)","text":"

                Make sure file is an easyblock and get easyblock class name

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.get_source_tarball_from_git","title":"get_source_tarball_from_git(filename, targetdir, git_config)","text":"

                Downloads a git repository, at a specific tag or commit, recursively or not, and make an archive with it

                PARAMETER DESCRIPTION filename

                name of the archive to save the code to (must be .tar.gz)

                targetdir

                target directory where to save the archive to

                git_config

                dictionary containing url, repo_name, recursive, and one of tag or commit

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.guess_patch_level","title":"guess_patch_level(patched_files, parent_dir)","text":"

                Guess patch level based on list of patched files and specified directory.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.has_recursive_symlinks","title":"has_recursive_symlinks(path)","text":"

                Check the given directory for recursive symlinks.

                That means symlinks to folders inside the path which would cause infinite loops when traversed regularily.

                PARAMETER DESCRIPTION path

                Path to directory to check

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.install_fake_vsc","title":"install_fake_vsc()","text":"

                Put fake 'vsc' Python package in place, to catch easyblocks/scripts that still import from vsc.* namespace (vsc-base & vsc-install were ingested into the EasyBuild framework for EasyBuild 4.0, see https://github.com/easybuilders/easybuild-framework/pull/2708)

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_alt_pypi_url","title":"is_alt_pypi_url(url)","text":"

                Determine whether specified URL is already an alternate PyPI URL, i.e. whether it contains a hash.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_binary","title":"is_binary(contents)","text":"

                Check whether given bytestring represents the contents of a binary file or not.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_generic_easyblock","title":"is_generic_easyblock(easyblock)","text":"

                Return whether specified easyblock name is a generic easyblock or not.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_patch_file","title":"is_patch_file(path)","text":"

                Determine whether file at specified path is a patch file (based on +++ and --- lines being present).

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_readable","title":"is_readable(path)","text":"

                Return whether file at specified location exists and is readable.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.is_sha256_checksum","title":"is_sha256_checksum(value)","text":"

                Check whether provided string is a SHA256 checksum.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.load_index","title":"load_index(path, ignore_dirs=None)","text":"

                Load index for specified path, and return contents (or None if no index exists).

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.locate_files","title":"locate_files(files, paths, ignore_subdirs=None)","text":"

                Determine full path for list of files, in given list of paths (directories).

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.mkdir","title":"mkdir(path, parents=False, set_gid=None, sticky=None)","text":"

                Create a directory Directory is the path to create

                PARAMETER DESCRIPTION parents

                create parent directories if needed (mkdir -p)

                DEFAULT: False

                set_gid

                set group ID bit, to make subdirectories and files inherit group

                DEFAULT: None

                sticky

                set the sticky bit on this directory (a.k.a. the restricted deletion flag), to avoid users can removing/renaming files in this directory

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.modify_env","title":"modify_env(old, new)","text":"

                NO LONGER SUPPORTED: use modify_env from easybuild.tools.environment instead

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.move_file","title":"move_file(path, target_path, force_in_dry_run=False)","text":"

                Move a file from path to target_path

                PARAMETER DESCRIPTION path

                the original filepath

                target_path

                path to move the file to

                force_in_dry_run

                force running the command during dry run

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.move_logs","title":"move_logs(src_logfile, target_logfile)","text":"

                Move log file(s).

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.normalize_path","title":"normalize_path(path)","text":"

                Normalize path removing empty and dot components.

                Similar to os.path.normpath but does not resolve '..' which may return a wrong path when symlinks are used

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.open_file","title":"open_file(path, mode)","text":"

                Open a (usually) text file. If mode is not binary, then utf-8 encoding will be used for Python 3.x

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.parse_http_header_fields_urlpat","title":"parse_http_header_fields_urlpat(arg, urlpat=None, header=None, urlpat_headers_collection=None, maxdepth=3)","text":"

                Recurse into multi-line string \"URLPAT::FILE|FIELD\" where FILE may be another such string or file containing lines matching the same format, such as \"^https://www.example.com::/path/to/headers.txt\", and flatten the result to dict e.g. {'^https://www.example.com': ['Authorization: Basic token', 'User-Agent: Special Agent']}

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.parse_log_for_error","title":"parse_log_for_error(txt, regExp=None, stdout=True, msg=None)","text":"

                NO LONGER SUPPORTED: use parse_log_for_error from easybuild.tools.run instead

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.path_matches","title":"path_matches(path, paths)","text":"

                Check whether given path matches any of the provided paths.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.pypi_source_urls","title":"pypi_source_urls(pkg_name)","text":"

                Fetch list of source URLs (incl. source filename) for specified Python package from PyPI, using 'simple' PyPI API.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.read_file","title":"read_file(path, log_error=True, mode='r')","text":"

                Read contents of file at given path, in a robust way.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.register_lock_cleanup_signal_handlers","title":"register_lock_cleanup_signal_handlers()","text":"

                Register signal handler for signals that cancel the current EasyBuild session, so we can clean up the locks that were created first.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.remove","title":"remove(paths)","text":"

                Remove single file/directory or list of files and directories

                PARAMETER DESCRIPTION paths

                path(s) to remove

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.remove_dir","title":"remove_dir(path)","text":"

                Remove directory at specified path.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.remove_file","title":"remove_file(path)","text":"

                Remove file at specified path.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.remove_lock","title":"remove_lock(lock_name)","text":"

                Remove lock with specified name.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.resolve_path","title":"resolve_path(path)","text":"

                Return fully resolved path for given path.

                PARAMETER DESCRIPTION path

                path that (maybe) contains symlinks

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.rmtree2","title":"rmtree2(path, n=3)","text":"

                Wrapper around shutil.rmtree to make it more robust when used on NFS mounted file systems.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.run_cmd","title":"run_cmd(cmd, log_ok=True, log_all=False, simple=False, inp=None, regexp=True, log_output=False, path=None)","text":"

                NO LONGER SUPPORTED: use run_cmd from easybuild.tools.run instead

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.run_cmd_qa","title":"run_cmd_qa(cmd, qa, no_qa=None, log_ok=True, log_all=False, simple=False, regexp=True, std_qa=None, path=None)","text":"

                NO LONGER SUPPORTED: use run_cmd_qa from easybuild.tools.run instead

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.search_file","title":"search_file(paths, query, short=False, ignore_dirs=None, silent=False, filename_only=False, terse=False, case_sensitive=False)","text":"

                Search for files using in specified paths using specified search query (regular expression)

                PARAMETER DESCRIPTION paths

                list of paths to search in

                query

                search query to use (regular expression); will be used case-insensitive

                short

                figure out common prefix of hits, use variable to factor it out

                DEFAULT: False

                ignore_dirs

                list of directories to ignore (default: ['.git', '.svn'])

                DEFAULT: None

                silent

                whether or not to remain silent (don't print anything)

                DEFAULT: False

                filename_only

                only return filenames, not file paths

                DEFAULT: False

                terse

                stick to terse (machine-readable) output, as opposed to pretty-printing

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.set_gid_sticky_bits","title":"set_gid_sticky_bits(path, set_gid=None, sticky=None, recursive=False)","text":"

                Set GID/sticky bits on specified path.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.symlink","title":"symlink(source_path, symlink_path, use_abspath_source=True)","text":"

                Create a symlink at the specified path to the given path.

                PARAMETER DESCRIPTION source_path

                source file path

                symlink_path

                symlink file path

                use_abspath_source

                resolves the absolute path of source_path

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.verify_checksum","title":"verify_checksum(path, checksums)","text":"

                Verify checksum of specified file.

                PARAMETER DESCRIPTION path

                path of file to verify checksum of

                checksums

                checksum values (and type, optionally, default is MD5), e.g., 'af314', ('sha', '5ec1b')

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.weld_paths","title":"weld_paths(path1, path2)","text":"

                Weld two paths together, taking into account overlap between tail of 1st path with head of 2nd path.

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.which","title":"which(cmd, retain_all=False, check_perms=True, log_ok=True, log_error=None, on_error=None)","text":"

                Return (first) path in $PATH for specified command, or None if command is not found

                PARAMETER DESCRIPTION retain_all

                returns all locations to the specified command in $PATH, not just the first one

                DEFAULT: False

                check_perms

                check whether candidate path has read/exec permissions before accepting it as a match

                DEFAULT: True

                log_ok

                Log an info message where the command has been found (if any)

                DEFAULT: True

                on_error

                What to do if the command was not found, default: WARN. Possible values: IGNORE, WARN, ERROR

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/filetools/#easybuild.tools.filetools.write_file","title":"write_file(path, data, append=False, forced=False, backup=False, always_overwrite=True, verbose=False, show_progress=False, size=None)","text":"

                Write given contents to file at given path; overwrites current file contents without backup by default!

                PARAMETER DESCRIPTION path

                location of file

                data

                contents to write to file. Can be a file-like object of binary data

                append

                append to existing file rather than overwrite

                DEFAULT: False

                forced

                force actually writing file in (extended) dry run mode

                DEFAULT: False

                backup

                back up existing file before overwriting or modifying it

                DEFAULT: False

                always_overwrite

                don't require --force to overwrite an existing file

                DEFAULT: True

                verbose

                be verbose, i.e. inform where backup file was created

                DEFAULT: False

                show_progress

                show progress bar while writing file

                DEFAULT: False

                size

                size (in bytes) of data to write (used for progress bar)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/github/","title":"github","text":"

                Utility module for working with github

                Authors:

                • Jens Timmerman (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Toon Willems (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.GithubError","title":"GithubError","text":"

                Bases: Exception

                Error raised by the Githubfs

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs","title":"Githubfs","text":"

                Bases: object

                This class implements some higher level functionality on top of the Github api

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.__init__","title":"__init__(githubuser, reponame, branchname=None, username=None, password=None, token=None)","text":"

                Construct a new githubfs object

                PARAMETER DESCRIPTION githubuser

                the github user's repo we want to use.

                reponame

                The name of the repository we want to use.

                branchname

                Then name of the branch to use (defaults to 'main' for easybuilders org, 'master' otherwise)

                DEFAULT: None

                username

                (optional) your github username.

                DEFAULT: None

                password

                (optional) your github password.

                DEFAULT: None

                token

                (optional) a github api token.

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.get_path","title":"get_path(path)","text":"

                returns the path as a Github object (from agithub)

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.get_repo","title":"get_repo()","text":"

                Returns the repo as a Github object (from agithub)

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.isdir","title":"isdir(githubobj) staticmethod","text":"

                Check if this path points to a directory

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.isfile","title":"isfile(githubobj) staticmethod","text":"

                Check if this path points to a file

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.join","title":"join(*args) staticmethod","text":"

                This method joins 'paths' inside a github repository

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.listdir","title":"listdir(path)","text":"

                List the contents of a directory

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.read","title":"read(path, api=True)","text":"

                Read the contents of a file and return it Or, if api=False it will download the file and return the location of the downloaded file

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.Githubfs.walk","title":"walk(top=None, topdown=True)","text":"

                Walk the github repo in an os.walk like fashion.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.add_pr_labels","title":"add_pr_labels(pr, branch=GITHUB_DEVELOP_BRANCH)","text":"

                Try to determine and add labels to PR.

                PARAMETER DESCRIPTION pr

                pull request number in easybuild-easyconfigs repo

                branch

                easybuild-easyconfigs branch to compare with

                DEFAULT: GITHUB_DEVELOP_BRANCH

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.check_github","title":"check_github()","text":"

                Check status of GitHub integration, and report back. * check whether GitHub username is available * check whether a GitHub token is available, and whether it works * check whether git and GitPython are available * check whether push access to own GitHub repositories works * check whether creating gists works * check whether location to local working directories for Git repositories is available (not strictly needed)

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.check_online_status","title":"check_online_status()","text":"

                Check whether we currently are online Return True if online, else a list of error messages

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.check_pr_eligible_to_merge","title":"check_pr_eligible_to_merge(pr_data)","text":"

                Check whether PR is eligible for merging.

                PARAMETER DESCRIPTION pr_data

                PR data obtained through GitHub API

                RETURNS DESCRIPTION

                boolean value indicates whether PR is eligible

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.close_pr","title":"close_pr(pr, motivation_msg=None)","text":"

                Close specified pull request

                PARAMETER DESCRIPTION pr

                PR number

                motivation_msg

                string containing motivation for closing the PR

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.create_gist","title":"create_gist(txt, fn, descr=None, github_user=None, github_token=None)","text":"

                Create a gist with the provided text.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.create_remote","title":"create_remote(git_repo, account, repo, https=False)","text":"

                Create remote in specified git working directory for specified account & repository.

                PARAMETER DESCRIPTION git_repo

                git.Repo instance to use (after init_repo & setup_repo)

                account

                GitHub account name

                repo

                repository name

                https

                use https:// URL rather than git@

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.delete_gist","title":"delete_gist(gist_id, github_user=None, github_token=None)","text":"

                Delete gist with specified ID.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_account_branch_for_pr","title":"det_account_branch_for_pr(pr_id, github_user=None, pr_target_repo=None)","text":"

                Determine account & branch corresponding to pull request with specified id.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_commit_status","title":"det_commit_status(account, repo, commit_sha, github_user)","text":"

                Determine status of specified commit (pending, error, failure, success)

                We combine two different things here:

                • the combined commit status (Travis CI sets a commit status)
                • results of check suites (set by CI run in GitHub Actions)
                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_patch_specs","title":"det_patch_specs(patch_paths, file_info, ec_dirs)","text":"

                Determine software names for patch files

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_pr_labels","title":"det_pr_labels(file_info, pr_target_repo)","text":"

                Determine labels for a pull request based on provided information on files changed by that pull request.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_pr_target_repo","title":"det_pr_target_repo(paths)","text":"

                Determine target repository for pull request from given cagetorized list of files

                PARAMETER DESCRIPTION paths

                paths to categorized lists of files (easyconfigs, files to delete, patches, .py files)

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.det_pr_title","title":"det_pr_title(ecs)","text":"

                Create title for PR based on first easyconfigs

                PARAMETER DESCRIPTION ecs

                list of parsed easyconfigs

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.download_repo","title":"download_repo(repo=GITHUB_EASYCONFIGS_REPO, branch=None, account=GITHUB_EB_MAIN, path=None, github_user=None)","text":"

                Download entire GitHub repo as a tar.gz archive, and extract it into specified path.

                PARAMETER DESCRIPTION repo

                repo to download

                DEFAULT: GITHUB_EASYCONFIGS_REPO

                branch

                branch to download

                DEFAULT: None

                account

                GitHub account to download repo from

                DEFAULT: GITHUB_EB_MAIN

                path

                path to extract to

                DEFAULT: None

                github_user

                name of GitHub user to use

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_easyblocks_from_pr","title":"fetch_easyblocks_from_pr(pr, path=None, github_user=None)","text":"

                Fetch patched easyconfig files for a particular PR.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_easyconfigs_from_pr","title":"fetch_easyconfigs_from_pr(pr, path=None, github_user=None)","text":"

                Fetch patched easyconfig files for a particular PR.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_files_from_pr","title":"fetch_files_from_pr(pr, path=None, github_user=None, github_account=None, github_repo=None)","text":"

                Fetch patched files for a particular PR.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_github_token","title":"fetch_github_token(user)","text":"

                Fetch GitHub token for specified user from keyring.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_latest_commit_sha","title":"fetch_latest_commit_sha(repo, account, branch=None, github_user=None, token=None)","text":"

                Fetch latest SHA1 for a specified repository and branch.

                PARAMETER DESCRIPTION repo

                GitHub repository

                account

                GitHub account

                branch

                branch to fetch latest SHA1 for

                DEFAULT: None

                github_user

                name of GitHub user to use

                DEFAULT: None

                token

                GitHub token to use

                DEFAULT: None

                RETURNS DESCRIPTION

                latest SHA1

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.fetch_pr_data","title":"fetch_pr_data(pr, pr_target_account, pr_target_repo, github_user, full=False, **parameters)","text":"

                Fetch PR data from GitHub

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.find_easybuild_easyconfig","title":"find_easybuild_easyconfig(github_user=None)","text":"

                Fetches the latest EasyBuild version eb file from GitHub

                PARAMETER DESCRIPTION github_user

                name of GitHub user to use when querying GitHub

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.find_software_name_for_patch","title":"find_software_name_for_patch(patch_name, ec_dirs)","text":"

                Scan all easyconfigs in the robot path(s) to determine which software a patch file belongs to

                PARAMETER DESCRIPTION patch_name

                name of the patch file

                ec_dirs

                list of directories to consider when looking for easyconfigs

                RETURNS DESCRIPTION

                name of the software that this patch file belongs to (if found)

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.github_api_get_request","title":"github_api_get_request(request_f, github_user=None, token=None, **kwargs)","text":"

                Helper method, for performing get requests to GitHub API.

                PARAMETER DESCRIPTION request_f

                function that should be called to compose request, providing a RestClient instance

                github_user

                GitHub user name (to try and obtain matching GitHub token if none is provided)

                DEFAULT: None

                token

                GitHub token to use

                DEFAULT: None

                RETURNS DESCRIPTION

                tuple with return status and data

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.github_api_put_request","title":"github_api_put_request(request_f, github_user=None, token=None, **kwargs)","text":"

                Helper method, for performing put requests to GitHub API.

                PARAMETER DESCRIPTION request_f

                function that should be called to compose request, providing a RestClient instance

                github_user

                GitHub user name (to try and obtain matching GitHub token if none is provided)

                DEFAULT: None

                token

                GitHub token to use

                DEFAULT: None

                RETURNS DESCRIPTION

                tuple with return status and data

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.init_repo","title":"init_repo(path, repo_name, silent=False)","text":"

                Initialize a new Git repository at the specified location.

                PARAMETER DESCRIPTION path

                location where Git repository should be initialized

                repo_name

                name of Git repository

                silent

                keep quiet (don't print any messages)

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.install_github_token","title":"install_github_token(github_user, silent=False)","text":"

                Install specified GitHub token for specified user.

                PARAMETER DESCRIPTION github_user

                GitHub user to install token for

                silent

                keep quiet (don't print any messages)

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.is_patch_for","title":"is_patch_for(patch_name, ec)","text":"

                Check whether specified patch matches any patch in the provided EasyConfig instance.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.list_prs","title":"list_prs(params, per_page=GITHUB_MAX_PER_PAGE, github_user=None)","text":"

                List pull requests according to specified selection/order parameters

                PARAMETER DESCRIPTION params

                3-tuple with selection parameters for PRs (, , ), see https://developer.github.com/v3/pulls/#parameters

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.merge_pr","title":"merge_pr(pr)","text":"

                Merge specified pull request

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.new_branch_github","title":"new_branch_github(paths, ecs, commit_msg=None)","text":"

                Create new branch on GitHub using specified files

                PARAMETER DESCRIPTION paths

                paths to categorized lists of files (easyconfigs, files to delete, patches, files with .py extension)

                ecs

                list of parsed easyconfigs, incl. for dependencies (if robot is enabled)

                commit_msg

                commit message to use

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.new_pr","title":"new_pr(paths, ecs, title=None, descr=None, commit_msg=None)","text":"

                Open new pull request using specified files

                PARAMETER DESCRIPTION paths

                paths to categorized lists of files (easyconfigs, files to delete, patches)

                ecs

                list of parsed easyconfigs, incl. for dependencies (if robot is enabled)

                title

                title to use for pull request

                DEFAULT: None

                descr

                description to use for description

                DEFAULT: None

                commit_msg

                commit message to use

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.new_pr_from_branch","title":"new_pr_from_branch(branch_name, title=None, descr=None, pr_target_repo=None, pr_metadata=None, commit_msg=None)","text":"

                Create new pull request from specified branch on GitHub.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.pick_default_branch","title":"pick_default_branch(github_owner)","text":"

                Determine default name to use.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.post_comment_in_issue","title":"post_comment_in_issue(issue, txt, account=GITHUB_EB_MAIN, repo=GITHUB_EASYCONFIGS_REPO, github_user=None)","text":"

                Post a comment in the specified PR.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.post_pr_labels","title":"post_pr_labels(pr, labels)","text":"

                Update PR labels

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.pr_files_cache","title":"pr_files_cache(func)","text":"

                Decorator to cache result of fetch_files_from_pr.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.push_branch_to_github","title":"push_branch_to_github(git_repo, target_account, target_repo, branch)","text":"

                Push specified branch to GitHub from specified git repository.

                PARAMETER DESCRIPTION git_repo

                git.Repo instance to use (after init_repo & setup_repo)

                target_account

                GitHub account name

                target_repo

                repository name

                branch

                name of branch to push

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.reasons_for_closing","title":"reasons_for_closing(pr_data)","text":"

                Look for valid reasons to close PR by comparing with existing easyconfigs.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.setup_repo","title":"setup_repo(git_repo, target_account, target_repo, branch_name, silent=False, git_only=False)","text":"

                Set up repository by checking out specified branch for specfied GitHub account/repository.

                PARAMETER DESCRIPTION git_repo

                git.Repo instance

                target_account

                name of GitHub account that owns GitHub repository

                target_repo

                name of GitHib repository

                branch_name

                name of branch to check out

                silent

                keep quiet (don't print any messages)

                DEFAULT: False

                git_only

                only use git@github.com repo URL, skip trying https://github.com first

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.setup_repo_from","title":"setup_repo_from(git_repo, github_url, target_account, branch_name, silent=False)","text":"

                Set up repository by checking out specified branch from repository at specified URL.

                PARAMETER DESCRIPTION git_repo

                git.Repo instance

                github_url

                URL to GitHub repository

                target_account

                name of GitHub account that owns GitHub repository at specified URL

                branch_name

                name of branch to check out

                silent

                keep quiet (don't print any messages)

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.sync_branch_with_develop","title":"sync_branch_with_develop(branch_name)","text":"

                Sync branch with specified name with current develop branch.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.sync_pr_with_develop","title":"sync_pr_with_develop(pr_id)","text":"

                Sync pull request with specified ID with current develop branch.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.sync_with_develop","title":"sync_with_develop(git_repo, branch_name, github_account, github_repo)","text":"

                Sync specified branch with develop branch.

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.update_branch","title":"update_branch(branch_name, paths, ecs, github_account=None, commit_msg=None)","text":"

                Update specified branch in GitHub using specified files

                PARAMETER DESCRIPTION paths

                paths to categorized lists of files (easyconfigs, files to delete, patches)

                github_account

                GitHub account where branch is located

                DEFAULT: None

                ecs

                list of parsed easyconfigs, incl. for dependencies (if robot is enabled)

                commit_msg

                commit message to use

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.update_pr","title":"update_pr(pr_id, paths, ecs, commit_msg=None)","text":"

                Update specified pull request using specified files

                PARAMETER DESCRIPTION pr_id

                ID of pull request to update

                paths

                paths to categorized lists of files (easyconfigs, files to delete, patches)

                ecs

                list of parsed easyconfigs, incl. for dependencies (if robot is enabled)

                commit_msg

                commit message to use

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/github/#easybuild.tools.github.validate_github_token","title":"validate_github_token(token, github_user)","text":"

                Check GitHub token: * see if it conforms expectations (only [a-f]+[0-9] characters, length of 40) * see if it can be used for authenticated access

                ","boost":0.5},{"location":"api/easybuild/tools/hooks/","title":"hooks","text":"

                Hook support.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/hooks/#easybuild.tools.hooks.find_hook","title":"find_hook(label, hooks, pre_step_hook=False, post_step_hook=False)","text":"

                Find hook with specified label.

                PARAMETER DESCRIPTION label

                name of hook

                hooks

                dict of defined hooks

                pre_step_hook

                indicates whether hook to run is a pre-step hook

                DEFAULT: False

                post_step_hook

                indicates whether hook to run is a post-step hook

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/hooks/#easybuild.tools.hooks.load_hooks","title":"load_hooks(hooks_path)","text":"

                Load defined hooks (if any).

                ","boost":0.5},{"location":"api/easybuild/tools/hooks/#easybuild.tools.hooks.run_hook","title":"run_hook(label, hooks, pre_step_hook=False, post_step_hook=False, args=None, msg=None)","text":"

                Run hook with specified label and return result of calling the hook or None.

                PARAMETER DESCRIPTION label

                name of hook

                hooks

                dict of defined hooks

                pre_step_hook

                indicates whether hook to run is a pre-step hook

                DEFAULT: False

                post_step_hook

                indicates whether hook to run is a post-step hook

                DEFAULT: False

                args

                arguments to pass to hook function

                DEFAULT: None

                msg

                custom message that is printed when hook is called

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/hooks/#easybuild.tools.hooks.verify_hooks","title":"verify_hooks(hooks)","text":"

                Check whether obtained hooks only includes known hooks.

                ","boost":0.5},{"location":"api/easybuild/tools/include/","title":"include","text":"

                Support for including additional Python modules, for easyblocks, module naming schemes and toolchains.

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.create_pkg","title":"create_pkg(path, pkg_init_body=None)","text":"

                Write package init.py file at specified path.

                ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.include_easyblocks","title":"include_easyblocks(tmpdir, paths)","text":"

                Include generic and software-specific easyblocks found in specified locations.

                ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.include_module_naming_schemes","title":"include_module_naming_schemes(tmpdir, paths)","text":"

                Include module naming schemes at specified locations.

                ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.include_toolchains","title":"include_toolchains(tmpdir, paths)","text":"

                Include toolchains and toolchain components at specified locations.

                ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.is_software_specific_easyblock","title":"is_software_specific_easyblock(module)","text":"

                Determine whether Python module at specified location is a software-specific easyblock.

                ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.set_up_eb_package","title":"set_up_eb_package(parent_path, eb_pkg_name, subpkgs=None, pkg_init_body=None)","text":"

                Set up new easybuild subnamespace in specified path.

                PARAMETER DESCRIPTION parent_path

                directory to create package in, using 'easybuild' namespace

                eb_pkg_name

                full package name, must start with 'easybuild'

                subpkgs

                list of subpackages to create @parak pkg_init_body: body of package's init.py file (does not apply to subpackages)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/include/#easybuild.tools.include.verify_imports","title":"verify_imports(pymods, pypkg, from_path)","text":"

                Verify that import of specified modules from specified package and expected location works.

                ","boost":0.5},{"location":"api/easybuild/tools/jenkins/","title":"jenkins","text":"

                Set of fucntions to help with jenkins setup

                Authors:

                • Kenneth Hoste (Ghent University)
                ","boost":0.5},{"location":"api/easybuild/tools/jenkins/#easybuild.tools.jenkins.aggregate_xml_in_dirs","title":"aggregate_xml_in_dirs(base_dir, output_filename)","text":"

                Finds all the xml files in the dirs and takes the testcase attribute out of them. These are then put in a single output file.

                ","boost":0.5},{"location":"api/easybuild/tools/jenkins/#easybuild.tools.jenkins.write_to_xml","title":"write_to_xml(succes, failed, filename)","text":"

                Create xml output, using minimal output required according to http://stackoverflow.com/questions/4922867/junit-xml-format-specification-that-hudson-supports

                ","boost":0.5},{"location":"api/easybuild/tools/loose_version/","title":"loose_version","text":"","boost":0.5},{"location":"api/easybuild/tools/loose_version/#easybuild.tools.loose_version.LooseVersion","title":"LooseVersion","text":"

                Bases: object

                Version numbering for anarchists and software realists.

                A version number consists of a series of numbers, separated by either periods or strings of letters. When comparing version numbers, the numeric components will be compared numerically, and the alphabetic components lexically.

                ","boost":0.5},{"location":"api/easybuild/tools/loose_version/#easybuild.tools.loose_version.LooseVersion.version","title":"version property","text":"

                Readonly access to the parsed version (list or None)

                ","boost":0.5},{"location":"api/easybuild/tools/loose_version/#easybuild.tools.loose_version.LooseVersion.vstring","title":"vstring property","text":"

                Readonly access to the unparsed version(-string)

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/","title":"module_generator","text":"

                Generating module files.

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • Fotis Georgatos (Uni.Lu, NTUA)
                • Damian Alvarez (Forschungszentrum Juelich GmbH)
                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator","title":"ModuleGenerator","text":"

                Bases: object

                Class for generating module files.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.__init__","title":"__init__(application, fake=False)","text":"

                ModuleGenerator constructor.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.append_paths","title":"append_paths(key, paths, allow_abs=False, expand_relpaths=True)","text":"

                Generate append-path statements for the given list of paths.

                PARAMETER DESCRIPTION key

                environment variable to append paths to

                paths

                list of paths to append

                allow_abs

                allow providing of absolute paths

                DEFAULT: False

                expand_relpaths

                expand relative paths into absolute paths (by prefixing install dir)

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.check_group","title":"check_group(group, error_msg=None)","text":"

                Generate a check of the software group and the current user, and refuse to load the module if the user don't belong to the group

                PARAMETER DESCRIPTION group

                string with the group name

                error_msg

                error message to print for users outside that group

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.check_version","title":"check_version(minimal_version_maj, minimal_version_min, minimal_version_patch='0')","text":"

                Check the minimal version of the modules tool in the module file

                PARAMETER DESCRIPTION minimal_version_maj

                the major version to check

                minimal_version_min

                the minor version to check

                minimal_version_patch

                the patch version to check

                DEFAULT: '0'

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.comment","title":"comment(msg)","text":"

                Return given string formatted as a comment.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.conditional_statement","title":"conditional_statement(conditions, body, negative=False, else_body=None, indent=True, cond_or=False, cond_tmpl=None)","text":"

                Return formatted conditional statement, with given condition and body.

                PARAMETER DESCRIPTION conditions

                (list of) string(s) containing the statement(s) for the if condition (in correct syntax)

                body

                (multiline) string with if body (in correct syntax, without indentation)

                negative

                boolean indicating whether the (individual) condition(s) should be negated

                DEFAULT: False

                else_body

                optional body for 'else' part

                DEFAULT: None

                indent

                indent if/else body

                DEFAULT: True

                cond_or

                combine multiple conditions using 'or' (default is to combine with 'and')

                DEFAULT: False

                cond_tmpl

                template for condition expression (default: '%s')

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.create_symlinks","title":"create_symlinks(mod_symlink_paths, fake=False)","text":"

                Create moduleclass symlink(s) to actual module file.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.define_env_var","title":"define_env_var(env_var)","text":"

                Determine whether environment variable with specified name should be defined or not.

                PARAMETER DESCRIPTION env_var

                name of environment variable to check

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.det_installdir","title":"det_installdir(modfile)","text":"

                Determine installation directory used by given module file

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.det_user_modpath","title":"det_user_modpath(user_modpath)","text":"

                Determine user-specific modules subdirectory, to be used in 'use' statements (cfr. implementation of use() method).

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.get_description","title":"get_description(conflict=True)","text":"

                Generate a description.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.get_module_filepath","title":"get_module_filepath(fake=False, mod_path_suffix=None)","text":"

                Return path to module file.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.get_modules_path","title":"get_modules_path(fake=False, mod_path_suffix=None)","text":"

                Return path to directory where module files should be generated in.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.getenv_cmd","title":"getenv_cmd(envvar, default=None)","text":"

                Return module-syntax specific code to get value of specific environment variable.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.is_loaded","title":"is_loaded(mod_names)","text":"

                Generate (list of) expression(s) to check whether specified module(s) is (are) loaded.

                PARAMETER DESCRIPTION mod_names

                (list of) module name(s) to check load status for

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.load_module","title":"load_module(mod_name, recursive_unload=False, depends_on=False, unload_modules=None, multi_dep_mods=None)","text":"

                Generate load statement for specified module.

                PARAMETER DESCRIPTION mod_name

                name of module to generate load statement for

                recursive_unload

                boolean indicating whether the 'load' statement should be reverted on unload

                DEFAULT: False

                depends_on

                use depends_on statements rather than (guarded) load statements

                DEFAULT: False

                unload_modules

                name(s) of module to unload first

                DEFAULT: None

                multi_dep_mods

                list of module names in multi_deps context, to use for guarding load statement

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.modulerc","title":"modulerc(module_version=None, filepath=None, modulerc_txt=None)","text":"

                Generate contents of .modulerc file, in Tcl syntax (compatible with all module tools, incl. Lmod). If 'filepath' is specified, the .modulerc file will be written as well.

                PARAMETER DESCRIPTION module_version

                specs for module-version statement (dict with 'modname', 'sym_version' & 'version' keys)

                DEFAULT: None

                filepath

                location where .modulerc file should be written to

                DEFAULT: None

                modulerc_txt

                contents of .modulerc to use

                DEFAULT: None

                RETURNS DESCRIPTION

                contents of .modulerc file

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.msg_on_load","title":"msg_on_load(msg)","text":"

                Add a message that should be printed when loading the module.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.msg_on_unload","title":"msg_on_unload(msg)","text":"

                Add a message that should be printed when unloading the module.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.prepend_paths","title":"prepend_paths(key, paths, allow_abs=False, expand_relpaths=True)","text":"

                Generate prepend-path statements for the given list of paths.

                PARAMETER DESCRIPTION key

                environment variable to append paths to

                paths

                list of paths to append

                allow_abs

                allow providing of absolute paths

                DEFAULT: False

                expand_relpaths

                expand relative paths into absolute paths (by prefixing install dir)

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.set_alias","title":"set_alias(key, value)","text":"

                Generate set-alias statement in modulefile for the given key/value pair.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.set_as_default","title":"set_as_default(module_dir_path, module_version, mod_symlink_paths=None)","text":"

                Set generated module as default module

                PARAMETER DESCRIPTION module_dir_path

                module directory path, e.g. $HOME/easybuild/modules/all/Bison

                module_version

                module version, e.g. 3.0.4

                mod_symlink_paths

                list of paths in which symlinks to module files must be created

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.set_environment","title":"set_environment(key, value, relpath=False)","text":"

                Generate a quoted setenv statement for the given key/value pair.

                PARAMETER DESCRIPTION key

                name of environment variable to define

                value

                value to define environment variable with

                relpath

                value is path relative to installation prefix

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.start_module_creation","title":"start_module_creation()","text":"

                Prepares creating a module and returns the file header (shebang) if any including the newline

                Meant to be used in a with statement: with generator.start_module_creation() as txt: # Write txt

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.swap_module","title":"swap_module(mod_name_out, mod_name_in, guarded=True)","text":"

                Generate swap statement for specified module names.

                PARAMETER DESCRIPTION mod_name_out

                name of module to unload (swap out)

                mod_name_in

                name of module to load (swap in)

                guarded

                guard 'swap' statement, fall back to 'load' if module being swapped out is not loaded

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.unload_module","title":"unload_module(mod_name)","text":"

                Generate unload statement for specified module.

                PARAMETER DESCRIPTION mod_name

                name of module to generate unload statement for

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.unpack_setenv_value","title":"unpack_setenv_value(env_var_name, env_var_val)","text":"

                Unpack value that specifies how to define an environment variable with specified name.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.update_paths","title":"update_paths(key, paths, prepend=True, allow_abs=False, expand_relpaths=True)","text":"

                Generate prepend-path or append-path statements for the given list of paths.

                PARAMETER DESCRIPTION key

                environment variable to prepend/append paths to

                paths

                list of paths to prepend

                prepend

                whether to prepend (True) or append (False) paths

                DEFAULT: True

                allow_abs

                allow providing of absolute paths

                DEFAULT: False

                expand_relpaths

                expand relative paths into absolute paths (by prefixing install dir)

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGenerator.use","title":"use(paths, prefix=None, guarded=False, user_modpath=None)","text":"

                Generate module use statements for given list of module paths.

                PARAMETER DESCRIPTION paths

                list of module path extensions to generate use statements for; paths will be quoted

                prefix

                optional path prefix; not quoted, i.e., can be a statement

                DEFAULT: None

                guarded

                use statements will be guarded to only apply if path exists

                DEFAULT: False

                user_modpath

                user-specific modules subdirectory to include in use statements

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua","title":"ModuleGeneratorLua","text":"

                Bases: ModuleGenerator

                Class for generating Lua module files.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.__init__","title":"__init__(*args, **kwargs)","text":"

                ModuleGeneratorLua constructor.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.check_group","title":"check_group(group, error_msg=None)","text":"

                Generate a check of the software group and the current user, and refuse to load the module if the user don't belong to the group

                PARAMETER DESCRIPTION group

                string with the group name

                error_msg

                error message to print for users outside that group

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.check_str","title":"check_str(txt)","text":"

                Check whether provided string has any unwanted substrings in it.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.check_version","title":"check_version(minimal_version_maj, minimal_version_min, minimal_version_patch='0')","text":"

                Check the minimal version of the moduletool in the module file

                PARAMETER DESCRIPTION minimal_version_maj

                the major version to check

                minimal_version_min

                the minor version to check

                minimal_version_patch

                the patch version to check

                DEFAULT: '0'

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.comment","title":"comment(msg)","text":"

                Return string containing given message as a comment.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.conditional_statement","title":"conditional_statement(conditions, body, negative=False, else_body=None, indent=True, cond_or=False, cond_tmpl=None)","text":"

                Return formatted conditional statement, with given condition and body.

                PARAMETER DESCRIPTION conditions

                (list of) string(s) containing the statement(s) for the if condition (in correct syntax)

                body

                (multiline) string with if body (in correct syntax, without indentation)

                negative

                boolean indicating whether the (individual) condition(s) should be negated

                DEFAULT: False

                else_body

                optional body for 'else' part

                DEFAULT: None

                indent

                indent if/else body

                DEFAULT: True

                cond_or

                combine multiple conditions using 'or' (default is to combine with 'and')

                DEFAULT: False

                cond_tmpl

                template for condition expression (default: '%s')

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.det_user_modpath","title":"det_user_modpath(user_modpath)","text":"

                Determine user-specific modules subdirectory, to be used in 'use' statements (cfr. implementations of use() method).

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.get_description","title":"get_description(conflict=True)","text":"

                Generate a description.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.getenv_cmd","title":"getenv_cmd(envvar, default=None)","text":"

                Return module-syntax specific code to get value of specific environment variable.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.load_module","title":"load_module(mod_name, recursive_unload=None, depends_on=False, unload_modules=None, multi_dep_mods=None)","text":"

                Generate load statement for specified module.

                PARAMETER DESCRIPTION mod_name

                name of module to generate load statement for

                recursive_unload

                boolean indicating whether the 'load' statement should be reverted on unload (if None: enable if recursive_mod_unload build option or depends_on is True)

                DEFAULT: None

                depends_on

                use depends_on statements rather than (guarded) load statements

                DEFAULT: False

                unload_modules

                name(s) of module to unload first

                DEFAULT: None

                multi_dep_mods

                list of module names in multi_deps context, to use for guarding load statement

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.modulerc","title":"modulerc(module_version=None, filepath=None, modulerc_txt=None)","text":"

                Generate contents of .modulerc(.lua) file, in Lua syntax (but only if Lmod is recent enough, i.e. >= 7.7.38)

                PARAMETER DESCRIPTION module_version

                specs for module-version statement (dict with 'modname', 'sym_version' & 'version' keys)

                DEFAULT: None

                filepath

                location where .modulerc file should be written to

                DEFAULT: None

                modulerc_txt

                contents of .modulerc to use

                DEFAULT: None

                RETURNS DESCRIPTION

                contents of .modulerc file

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.msg_on_load","title":"msg_on_load(msg)","text":"

                Add a message that should be printed when loading the module.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.msg_on_unload","title":"msg_on_unload(msg)","text":"

                Add a message that should be printed when loading the module.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.set_alias","title":"set_alias(key, value)","text":"

                Generate set-alias statement in modulefile for the given key/value pair.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.set_as_default","title":"set_as_default(module_dir_path, module_version, mod_symlink_paths=None)","text":"

                Create a symlink named 'default' inside the package's module folder in order to set the default module version

                PARAMETER DESCRIPTION module_dir_path

                module directory path, e.g. $HOME/easybuild/modules/all/Bison

                module_version

                module version, e.g. 3.0.4

                mod_symlink_paths

                list of paths in which symlinks to module files must be created

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.set_environment","title":"set_environment(key, value, relpath=False)","text":"

                Generate a quoted setenv statement for the given key/value pair.

                PARAMETER DESCRIPTION key

                name of environment variable to define

                value

                value to define environment variable with

                relpath

                value is path relative to installation prefix

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.swap_module","title":"swap_module(mod_name_out, mod_name_in, guarded=True)","text":"

                Generate swap statement for specified module names.

                PARAMETER DESCRIPTION mod_name_out

                name of module to unload (swap out)

                mod_name_in

                name of module to load (swap in)

                guarded

                guard 'swap' statement, fall back to 'load' if module being swapped out is not loaded

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.unload_module","title":"unload_module(mod_name)","text":"

                Generate unload statement for specified module.

                PARAMETER DESCRIPTION mod_name

                name of module to generate unload statement for

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.update_paths","title":"update_paths(key, paths, prepend=True, allow_abs=False, expand_relpaths=True)","text":"

                Generate prepend_path or append_path statements for the given list of paths

                PARAMETER DESCRIPTION key

                environment variable to prepend/append paths to

                paths

                list of paths to prepend/append

                prepend

                whether to prepend (True) or append (False) paths

                DEFAULT: True

                allow_abs

                allow providing of absolute paths

                DEFAULT: False

                expand_relpaths

                expand relative paths into absolute paths (by prefixing install dir)

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorLua.use","title":"use(paths, prefix=None, guarded=False, user_modpath=None)","text":"

                Generate module use statements for given list of module paths.

                PARAMETER DESCRIPTION paths

                list of module path extensions to generate use statements for; paths will be quoted

                prefix

                optional path prefix; not quoted, i.e., can be a statement

                DEFAULT: None

                guarded

                use statements will be guarded to only apply if path exists

                DEFAULT: False

                user_modpath

                user-specific modules subdirectory to include in use statements

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl","title":"ModuleGeneratorTcl","text":"

                Bases: ModuleGenerator

                Class for generating Tcl module files.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.check_group","title":"check_group(group, error_msg=None)","text":"

                Generate a check of the software group and the current user, and refuse to load the module if the user don't belong to the group

                PARAMETER DESCRIPTION group

                string with the group name

                error_msg

                error message to print for users outside that group

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.comment","title":"comment(msg)","text":"

                Return string containing given message as a comment.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.conditional_statement","title":"conditional_statement(conditions, body, negative=False, else_body=None, indent=True, cond_or=False, cond_tmpl=None)","text":"

                Return formatted conditional statement, with given condition and body.

                PARAMETER DESCRIPTION conditions

                (list of) string(s) containing the statement(s) for the if condition (in correct syntax)

                body

                (multiline) string with if body (in correct syntax, without indentation)

                negative

                boolean indicating whether the (individual) condition(s) should be negated

                DEFAULT: False

                else_body

                optional body for 'else' part

                DEFAULT: None

                indent

                indent if/else body

                DEFAULT: True

                cond_or

                combine multiple conditions using 'or' (default is to combine with 'and')

                DEFAULT: False

                cond_tmpl

                template for condition expression (default: '%s')

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.det_user_modpath","title":"det_user_modpath(user_modpath)","text":"

                Determine user-specific modules subdirectory, to be used in 'use' statements (cfr. implementation of use() method).

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.get_description","title":"get_description(conflict=True)","text":"

                Generate a description.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.getenv_cmd","title":"getenv_cmd(envvar, default=None)","text":"

                Return module-syntax specific code to get value of specific environment variable.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.load_module","title":"load_module(mod_name, recursive_unload=None, depends_on=False, unload_modules=None, multi_dep_mods=None)","text":"

                Generate load statement for specified module.

                PARAMETER DESCRIPTION mod_name

                name of module to generate load statement for

                recursive_unload

                boolean indicating whether the 'load' statement should be reverted on unload (if None: enable if recursive_mod_unload build option or depends_on is True)

                DEFAULT: None

                depends_on

                use depends_on statements rather than (guarded) load statements

                DEFAULT: False

                unload_modules

                name(s) of module to unload first

                DEFAULT: None

                multi_dep_mods

                list of module names in multi_deps context, to use for guarding load statement

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.msg_on_load","title":"msg_on_load(msg)","text":"

                Add a message that should be printed when loading the module.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.msg_on_unload","title":"msg_on_unload(msg)","text":"

                Add a message that should be printed when unloading the module.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.set_alias","title":"set_alias(key, value)","text":"

                Generate set-alias statement in modulefile for the given key/value pair.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.set_as_default","title":"set_as_default(module_dir_path, module_version, mod_symlink_paths=None)","text":"

                Create a .version file inside the package module folder in order to set the default version for TMod

                PARAMETER DESCRIPTION module_dir_path

                module directory path, e.g. $HOME/easybuild/modules/all/Bison

                module_version

                module version, e.g. 3.0.4

                mod_symlink_paths

                list of paths in which symlinks to module files must be created

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.set_environment","title":"set_environment(key, value, relpath=False)","text":"

                Generate a quoted setenv statement for the given key/value pair.

                PARAMETER DESCRIPTION key

                name of environment variable to define

                value

                value to define environment variable with

                relpath

                value is path relative to installation prefix

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.swap_module","title":"swap_module(mod_name_out, mod_name_in, guarded=True)","text":"

                Generate swap statement for specified module names.

                PARAMETER DESCRIPTION mod_name_out

                name of module to unload (swap out)

                mod_name_in

                name of module to load (swap in)

                guarded

                guard 'swap' statement, fall back to 'load' if module being swapped out is not loaded

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.unload_module","title":"unload_module(mod_name)","text":"

                Generate unload statement for specified module.

                PARAMETER DESCRIPTION mod_name

                name of module to generate unload statement for

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.update_paths","title":"update_paths(key, paths, prepend=True, allow_abs=False, expand_relpaths=True)","text":"

                Generate prepend-path or append-path statements for the given list of paths.

                PARAMETER DESCRIPTION key

                environment variable to prepend/append paths to

                paths

                list of paths to prepend

                prepend

                whether to prepend (True) or append (False) paths

                DEFAULT: True

                allow_abs

                allow providing of absolute paths

                DEFAULT: False

                expand_relpaths

                expand relative paths into absolute paths (by prefixing install dir)

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.ModuleGeneratorTcl.use","title":"use(paths, prefix=None, guarded=False, user_modpath=None)","text":"

                Generate module use statements for given list of module paths.

                PARAMETER DESCRIPTION paths

                list of module path extensions to generate use statements for; paths will be quoted

                prefix

                optional path prefix; not quoted, i.e., can be a statement

                DEFAULT: None

                guarded

                use statements will be guarded to only apply if path exists

                DEFAULT: False

                user_modpath

                user-specific modules subdirectory to include in use statements

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.avail_module_generators","title":"avail_module_generators()","text":"

                Return all known module syntaxes.

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.dependencies_for","title":"dependencies_for(mod_name, modtool, depth=None)","text":"

                Obtain a list of dependencies for the given module, determined recursively, up to a specified depth (optionally)

                PARAMETER DESCRIPTION depth

                recursion depth (default is None, which corresponds to infinite recursion depth)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.module_generator","title":"module_generator(app, fake=False)","text":"

                Return ModuleGenerator instance that matches the selected module file syntax to be used

                ","boost":0.5},{"location":"api/easybuild/tools/module_generator/#easybuild.tools.module_generator.module_load_regex","title":"module_load_regex(modfilepath)","text":"

                Return the correct (compiled) regex to extract dependencies, depending on the module file type (Lua vs Tcl)

                ","boost":0.5},{"location":"api/easybuild/tools/modules/","title":"modules","text":"

                This python module implements the environment modules functionality: - loading modules - checking for available modules - ...

                Authors:

                • Stijn De Weirdt (Ghent University)
                • Dries Verdegem (Ghent University)
                • Kenneth Hoste (Ghent University)
                • Pieter De Baets (Ghent University)
                • Jens Timmerman (Ghent University)
                • David Brown (Pacific Northwest National Laboratory)
                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModules","title":"EnvironmentModules","text":"

                Bases: EnvironmentModulesTcl

                Interface to environment modules 4.0+

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModules.check_module_output","title":"check_module_output(cmd, stdout, stderr)","text":"

                Check output of 'module' command, see if if is potentially invalid.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesC","title":"EnvironmentModulesC","text":"

                Bases: ModulesTool

                Interface to (C) environment modules (modulecmd).

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesC.get_setenv_value_from_modulefile","title":"get_setenv_value_from_modulefile(mod_name, var_name)","text":"

                Get value for specific 'setenv' statement from module file for the specified module.

                PARAMETER DESCRIPTION mod_name

                module name

                var_name

                name of the variable being set for which value should be returned

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesC.run_module","title":"run_module(*args, **kwargs)","text":"

                Run module command, tweak output that is exec'ed if necessary.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesC.update","title":"update()","text":"

                Update after new modules were added.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl","title":"EnvironmentModulesTcl","text":"

                Bases: EnvironmentModulesC

                Interface to (Tcl) environment modules (modulecmd.tcl).

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl.available","title":"available(mod_name=None)","text":"

                Return a list of available modules for the given (partial) module name; use None to obtain a list of all available modules.

                PARAMETER DESCRIPTION mod_name

                a (partial) module name for filtering (default: None)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl.remove_module_path","title":"remove_module_path(path, set_mod_paths=True)","text":"

                Remove specified module path (using 'module unuse').

                PARAMETER DESCRIPTION path

                path to remove from $MODULEPATH via 'unuse'

                set_mod_paths

                (re)set self.mod_paths

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl.run_module","title":"run_module(*args, **kwargs)","text":"

                Run module command, tweak output that is exec'ed if necessary.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.EnvironmentModulesTcl.set_path_env_var","title":"set_path_env_var(key, paths)","text":"

                Set environment variable with given name to the given list of paths.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod","title":"Lmod","text":"

                Bases: ModulesTool

                Interface to Lmod.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.__init__","title":"__init__(*args, **kwargs)","text":"

                Constructor, set lmod-specific class variable values.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.available","title":"available(mod_name=None)","text":"

                Return a list of available modules for the given (partial) module name; use None to obtain a list of all available modules.

                PARAMETER DESCRIPTION mod_name

                a (partial) module name for filtering (default: None)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.check_module_function","title":"check_module_function(*args, **kwargs)","text":"

                Check whether selected module tool matches 'module' function definition.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.check_module_output","title":"check_module_output(cmd, stdout, stderr)","text":"

                Check output of 'module' command, see if if is potentially invalid.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.compose_cmd_list","title":"compose_cmd_list(args, opts=None)","text":"

                Compose full module command to run, based on provided arguments

                PARAMETER DESCRIPTION args

                list of arguments for module command

                RETURNS DESCRIPTION

                list of strings representing the full module command to run

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.get_setenv_value_from_modulefile","title":"get_setenv_value_from_modulefile(mod_name, var_name)","text":"

                Get value for specific 'setenv' statement from module file for the specified module.

                PARAMETER DESCRIPTION mod_name

                module name

                var_name

                name of the variable being set for which value should be returned

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.module_wrapper_exists","title":"module_wrapper_exists(mod_name)","text":"

                Determine whether a module wrapper with specified name exists. First check for wrapper defined in .modulerc.lua, fall back to also checking .modulerc (Tcl syntax).

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.prepend_module_path","title":"prepend_module_path(path, set_mod_paths=True, priority=None)","text":"

                Prepend given module path to list of module paths, or bump it to 1st place.

                PARAMETER DESCRIPTION path

                path to prepend to $MODULEPATH

                set_mod_paths

                (re)set self.mod_paths

                DEFAULT: True

                priority

                priority for this path in $MODULEPATH (Lmod-specific)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.unuse","title":"unuse(path)","text":"

                Remove a module path

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.update","title":"update()","text":"

                Update after new modules were added.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Lmod.use","title":"use(path, priority=None)","text":"

                Add path to $MODULEPATH via 'module use'.

                PARAMETER DESCRIPTION path

                path to add to $MODULEPATH

                priority

                priority for this path in $MODULEPATH (Lmod-specific)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.Modules","title":"Modules","text":"

                Bases: EnvironmentModulesC

                NO LONGER SUPPORTED: interface to modules tool, use modules_tool from easybuild.tools.modules instead

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool","title":"ModulesTool","text":"

                Bases: object

                An abstract interface to a tool that deals with modules.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.__init__","title":"__init__(mod_paths=None, testing=False)","text":"

                Create a ModulesTool object

                PARAMETER DESCRIPTION mod_paths

                A list of paths where the modules can be located @type mod_paths: list

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.__str__","title":"__str__()","text":"

                String representation of this ModulesTool instance.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.add_module_path","title":"add_module_path(path, set_mod_paths=True)","text":"

                Add specified module path (using 'module use') if it's not there yet.

                PARAMETER DESCRIPTION path

                path to add to $MODULEPATH via 'use'

                set_mod_paths

                (re)set self.mod_paths

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.available","title":"available(mod_name=None, extra_args=None)","text":"

                Return a list of available modules for the given (partial) module name; use None to obtain a list of all available modules.

                PARAMETER DESCRIPTION mod_name

                a (partial) module name for filtering (default: None)

                DEFAULT: None

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.buildstats","title":"buildstats()","text":"

                Return tuple with data to be included in buildstats

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_cmd_avail","title":"check_cmd_avail()","text":"

                Check whether modules tool command is available.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_loaded_modules","title":"check_loaded_modules()","text":"

                Check whether any (EasyBuild-generated) modules are loaded already in the current session

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_module_function","title":"check_module_function(allow_mismatch=False, regex=None)","text":"

                Check whether selected module tool matches 'module' function definition.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_module_output","title":"check_module_output(cmd, stdout, stderr)","text":"

                Check output of 'module' command, see if if is potentially invalid.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.check_module_path","title":"check_module_path()","text":"

                Check if MODULEPATH is set and change it if necessary.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.compose_cmd_list","title":"compose_cmd_list(args, opts=None)","text":"

                Compose full module command to run, based on provided arguments

                PARAMETER DESCRIPTION args

                list of arguments for module command

                RETURNS DESCRIPTION

                list of strings representing the full module command to run

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.exist","title":"exist(mod_names, mod_exists_regex_template=None, skip_avail=False, maybe_partial=True)","text":"

                Check if modules with specified names exists.

                PARAMETER DESCRIPTION mod_names

                list of module names

                mod_exists_regex_template

                DEPRECATED and unused

                DEFAULT: None

                skip_avail

                skip checking through 'module avail', only check via 'module show'

                DEFAULT: False

                maybe_partial

                indicates if the module name may be a partial module name

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.get_setenv_value_from_modulefile","title":"get_setenv_value_from_modulefile(mod_name, var_name)","text":"

                Get value for specific 'setenv' statement from module file for the specified module.

                PARAMETER DESCRIPTION mod_name

                module name

                var_name

                name of the variable being set for which value should be returned

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.get_value_from_modulefile","title":"get_value_from_modulefile(mod_name, regex, strict=True)","text":"

                Get info from the module file for the specified module.

                PARAMETER DESCRIPTION mod_name

                module name

                regex

                (compiled) regular expression, with one group

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.interpret_raw_path_lua","title":"interpret_raw_path_lua(txt)","text":"

                Interpret raw path (Lua syntax): resolve environment variables, join paths where pathJoin is specified

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.interpret_raw_path_tcl","title":"interpret_raw_path_tcl(txt)","text":"

                Interpret raw path (TCL syntax): resolve environment variables

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.list","title":"list()","text":"

                Return result of 'module list'.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.load","title":"load(modules, mod_paths=None, purge=False, init_env=None, allow_reload=True)","text":"

                Load all requested modules.

                PARAMETER DESCRIPTION modules

                list of modules to load

                mod_paths

                list of module paths to activate before loading

                DEFAULT: None

                purge

                whether or not a 'module purge' should be run before loading

                DEFAULT: False

                init_env

                original environment to restore after running 'module purge'

                DEFAULT: None

                allow_reload

                allow reloading an already loaded module

                DEFAULT: True

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.loaded_modules","title":"loaded_modules()","text":"

                Return a list of loaded modules.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.mk_module_cache_key","title":"mk_module_cache_key(partial_key)","text":"

                Create a module cache key, using the specified partial key, by combining it with the current $MODULEPATH.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.modpath_extensions_for","title":"modpath_extensions_for(mod_names)","text":"

                Determine dictionary with $MODULEPATH extensions for specified modules. All potential $MODULEPATH extensions are included, even the ones guarded by a condition (which is not checked). Only direct $MODULEPATH extensions are found, no recursion if performed for modules that load other modules. Modules with an empty list of $MODULEPATH extensions are included in the result.

                PARAMETER DESCRIPTION mod_names

                list of module names for which to determine the list of $MODULEPATH extensions

                RETURNS DESCRIPTION

                dictionary with module names as keys and lists of $MODULEPATH extensions as values

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.module_wrapper_exists","title":"module_wrapper_exists(mod_name, modulerc_fn='.modulerc', mod_wrapper_regex_template=None)","text":"

                Determine whether a module wrapper with specified name exists. Only .modulerc file in Tcl syntax is considered here.

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.modulefile_path","title":"modulefile_path(mod_name, strip_ext=False)","text":"

                Get the path of the module file for the specified module

                PARAMETER DESCRIPTION mod_name

                module name

                strip_ext

                strip (.lua) extension from module fileame (if present)

                DEFAULT: False

                ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.path_to_top_of_module_tree","title":"path_to_top_of_module_tree(top_paths, mod_name, full_mod_subdir, deps, modpath_exts=None)","text":"

                Recursively determine path to the top of the module tree, for given module, module subdir and list of $MODULEPATH extensions per dependency module.

                For example, when to determine the path to the top of the module tree for the HPL/2.1 module being installed with a goolf/1.5.14 toolchain in a Core/Compiler/MPI hierarchy (HierarchicalMNS):

                • starting point: top_paths = ['', '/Core'] mod_name = 'HPL/2.1' full_mod_subdir = '/MPI/Compiler/GCC/4.8.2/OpenMPI/1.6.5' deps = ['GCC/4.8.2', 'OpenMPI/1.6.5', 'OpenBLAS/0.2.8-LAPACK-3.5.0', 'FFTW/3.3.4', 'ScaLAPACK/...']

                • 1st iteration: find module that extends $MODULEPATH with '/MPI/Compiler/GCC/4.8.2/OpenMPI/1.6.5', => OpenMPI/1.6.5 (in '/Compiler/GCC/4.8.2' subdir); recurse with mod_name = 'OpenMPI/1.6.5' and full_mod_subdir = '/Compiler/GCC/4.8.2'

                • 2nd iteration: find module that extends $MODULEPATH with '/Compiler/GCC/4.8.2' => GCC/4.8.2 (in '/Core' subdir); recurse with mod_name = 'GCC/4.8.2' and full_mod_subdir = '/Core'

                • 3rd iteration: try to find module that extends $MODULEPATH with '/Core' => '/Core' is in top_paths, so stop recursion PARAMETER DESCRIPTION top_paths

                  list of potentation 'top of module tree' (absolute) paths

                  mod_name

                  (short) module name for starting point (only used in log messages)

                  full_mod_subdir

                  absolute path to module subdirectory for starting point

                  deps

                  list of dependency modules for module at starting point

                  modpath_exts

                  list of module path extensions for each of the dependency modules

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.prepend_module_path","title":"prepend_module_path(path, set_mod_paths=True, priority=None)","text":"

                  Prepend given module path to list of module paths, or bump it to 1st place.

                  PARAMETER DESCRIPTION path

                  path to prepend to $MODULEPATH

                  set_mod_paths

                  (re)set self.mod_paths

                  DEFAULT: True

                  priority

                  priority for this path in $MODULEPATH (Lmod-specific)

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.purge","title":"purge()","text":"

                  Purge loaded modules.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.read_module_file","title":"read_module_file(mod_name)","text":"

                  Read module file with specified name.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.remove_module_path","title":"remove_module_path(path, set_mod_paths=True)","text":"

                  Remove specified module path (using 'module unuse').

                  PARAMETER DESCRIPTION path

                  path to remove from $MODULEPATH via 'unuse'

                  set_mod_paths

                  (re)set self.mod_paths

                  DEFAULT: True

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.run_module","title":"run_module(*args, **kwargs)","text":"

                  Run module command.

                  PARAMETER DESCRIPTION args

                  list of arguments for module command; first argument should be the subcommand to run

                  DEFAULT: ()

                  kwargs

                  dictionary with options that control certain aspects of how to run the module command

                  DEFAULT: {}

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.set_and_check_version","title":"set_and_check_version()","text":"

                  Get the module version, and check any requirements

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.set_mod_paths","title":"set_mod_paths(mod_paths=None)","text":"

                  Set mod_paths, based on $MODULEPATH unless a list of module paths is specified.

                  PARAMETER DESCRIPTION mod_paths

                  list of entries for $MODULEPATH to use

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.set_path_env_var","title":"set_path_env_var(key, paths)","text":"

                  Set path environment variable to the given list of paths.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.show","title":"show(mod_name)","text":"

                  Run 'module show' for the specified module.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.unload","title":"unload(modules=None)","text":"

                  Unload all requested modules.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.unuse","title":"unuse(path)","text":"

                  Remove module path via 'module unuse'.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.update","title":"update()","text":"

                  Update after new modules were added.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.ModulesTool.use","title":"use(path, priority=None)","text":"

                  Add path to $MODULEPATH via 'module use'.

                  PARAMETER DESCRIPTION path

                  path to add to $MODULEPATH

                  priority

                  priority for this path in $MODULEPATH (Lmod-specific)

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool","title":"NoModulesTool","text":"

                  Bases: ModulesTool

                  Class that mock the module behaviour, used for operation not requiring modules. Eg. tests, fetch only

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool.available","title":"available(*args, **kwargs)","text":"

                  No modules, so nothing available

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool.check_loaded_modules","title":"check_loaded_modules()","text":"

                  Nothing to do since no modules

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool.exist","title":"exist(mod_names, *args, **kwargs)","text":"

                  No modules, so nothing exists

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.NoModulesTool.list","title":"list()","text":"

                  No modules loaded

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.avail_modules_tools","title":"avail_modules_tools()","text":"

                  Return all known modules tools.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.curr_module_paths","title":"curr_module_paths(normalize=False)","text":"

                  Return a list of current module paths.

                  PARAMETER DESCRIPTION normalize

                  Normalize the paths

                  DEFAULT: False

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_libdir","title":"get_software_libdir(name, only_one=True, fs=None)","text":"

                  Find library subdirectories for the specified software package.

                  Returns the library subdirectory, relative to software root. It fails if multiple library subdirs are found, unless only_one is False which yields a list of all library subdirs.

                  PARAMETER DESCRIPTION name

                  name of the software package

                  only_one

                  indicates whether only one lib path is expected to be found

                  DEFAULT: True

                  fs

                  only retain library subdirs that contain one of the files in this list

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_root","title":"get_software_root(name, with_env_var=False)","text":"

                  Return the software root set for a particular software name.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_root_env_var_name","title":"get_software_root_env_var_name(name)","text":"

                  Return name of environment variable for software root.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_version","title":"get_software_version(name)","text":"

                  Return the software version set for a particular software name.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.get_software_version_env_var_name","title":"get_software_version_env_var_name(name)","text":"

                  Return name of environment variable for software root.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.invalidate_module_caches_for","title":"invalidate_module_caches_for(path)","text":"

                  Invalidate cache entries related to specified path.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.mk_module_path","title":"mk_module_path(paths)","text":"

                  Create a string representing the list of module paths.

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.modules_tool","title":"modules_tool(mod_paths=None, testing=False)","text":"

                  Return interface to modules tool (environment modules (C, Tcl), or Lmod)

                  ","boost":0.5},{"location":"api/easybuild/tools/modules/#easybuild.tools.modules.reset_module_caches","title":"reset_module_caches()","text":"

                  Reset module caches.

                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/","title":"multidiff","text":"

                  Module which allows the diffing of multiple files

                  Authors:

                  • Toon Willems (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff","title":"MultiDiff","text":"

                  Bases: object

                  Class representing a multi-diff.

                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.__init__","title":"__init__(base_fn, base_lines, files, colored=True)","text":"

                  MultiDiff constructor

                  PARAMETER DESCRIPTION base_fn

                  base function to compare with

                  base_lines

                  base lines to compare to

                  files

                  list of files to compare with base

                  colored

                  boolean indicating whether a colored multi-diff should be generated

                  DEFAULT: True

                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.__str__","title":"__str__()","text":"

                  Create a string representation of this multi-diff

                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.color_line","title":"color_line(line, color)","text":"

                  Create colored version of given line, with given color, if color mode is enabled.

                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.colorize","title":"colorize(line, squigly)","text":"

                  Add colors to the diff line based on the squigly line.

                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.get_line","title":"get_line(line_no)","text":"

                  Return the line information for a specific line

                  PARAMETER DESCRIPTION line_no

                  line number to obtain information for

                  RETURNS DESCRIPTION

                  list with text lines providing line information

                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.merge_squigly","title":"merge_squigly(squigly1, squigly2)","text":"

                  Combine two squigly lines into a single squigly line.

                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.MultiDiff.parse_line","title":"parse_line(line_no, diff_line, meta, squigly_line)","text":"

                  Register a diff line

                  PARAMETER DESCRIPTION line_no

                  line number

                  diff_line

                  diff line generated by difflib

                  meta

                  meta information (e.g., filename)

                  squigly_line

                  squigly line indicating which characters changed

                  ","boost":0.5},{"location":"api/easybuild/tools/multidiff/#easybuild.tools.multidiff.multidiff","title":"multidiff(base, files, colored=True)","text":"

                  Generate a diff for multiple files, all compared to base.

                  PARAMETER DESCRIPTION base

                  base to compare with

                  files

                  list of files to compare with base

                  colored

                  boolean indicating whether a colored multi-diff should be generated

                  DEFAULT: True

                  RETURNS DESCRIPTION

                  text with multidiff overview

                  ","boost":0.5},{"location":"api/easybuild/tools/options/","title":"options","text":"

                  Command line options for eb

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  • Toon Willems (Ghent University)
                  • Ward Poelmans (Ghent University)
                  • Damian Alvarez (Forschungszentrum Juelich GmbH)
                  • Maxime Boissonneault (Compute Canada)
                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions","title":"EasyBuildOptions","text":"

                  Bases: GeneralOption

                  Easybuild generaloption class

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.__init__","title":"__init__(*args, **kwargs)","text":"

                  Constructor.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.avail_list","title":"avail_list(name, items)","text":"

                  Show list of available values passed by argument.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.avail_repositories","title":"avail_repositories()","text":"

                  Show list of known repository types.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.basic_options","title":"basic_options()","text":"

                  basic runtime options

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.get_cfg_opt_abs_path","title":"get_cfg_opt_abs_path(opt_name, path)","text":"

                  Get path value of configuration option as absolute path.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.github_options","title":"github_options()","text":"

                  GitHub integration configuration options.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.job_options","title":"job_options()","text":"

                  Option related to --job.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.postprocess","title":"postprocess()","text":"

                  Do some postprocessing, in particular print stuff

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.regtest_options","title":"regtest_options()","text":"

                  Regression test configuration options.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.show_config","title":"show_config()","text":"

                  Show specified EasyBuild configuration, relative to default EasyBuild configuration.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.show_default_configfiles","title":"show_default_configfiles()","text":"

                  Show list of default config files.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.show_default_moduleclasses","title":"show_default_moduleclasses()","text":"

                  Show list of default moduleclasses and description.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.show_system_info","title":"show_system_info()","text":"

                  Show system information.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.EasyBuildOptions.validate","title":"validate()","text":"

                  Additional validation of options

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.check_root_usage","title":"check_root_usage(allow_use_as_root=False)","text":"

                  Check whether we are running as root, and act accordingly

                  PARAMETER DESCRIPTION allow_use_as_root

                  allow use of EasyBuild as root (but do print a warning when doing so)

                  DEFAULT: False

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.cleanup_and_exit","title":"cleanup_and_exit(tmpdir)","text":"

                  Clean up temporary directory and exit.

                  PARAMETER DESCRIPTION tmpdir

                  path to temporary directory to clean up

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.opts_dict_to_eb_opts","title":"opts_dict_to_eb_opts(args_dict)","text":"

                  Convert a dictionary with configuration option values to command-line options for the 'eb' command. Can by used to convert e.g. easyconfig-specific options from an easystack file to a list of strings that can be fed into the EasyBuild option parser

                  PARAMETER DESCRIPTION args_dict

                  dictionary with configuration option values

                  RETURNS DESCRIPTION

                  a list of strings representing command-line options for the 'eb' command

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.parse_external_modules_metadata","title":"parse_external_modules_metadata(cfgs)","text":"

                  Parse metadata for external modules.

                  PARAMETER DESCRIPTION cfgs

                  list of (glob patterns for) paths to config files providing metadata for external modules

                  RETURNS DESCRIPTION

                  parsed metadata for external modules

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.parse_options","title":"parse_options(args=None, with_include=True)","text":"

                  wrapper function for option parsing

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.pretty_print_opts","title":"pretty_print_opts(opts_dict)","text":"

                  Pretty print options dict.

                  PARAMETER DESCRIPTION opts_dict

                  dictionary with option names as keys, and (value, location) tuples as values

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.process_software_build_specs","title":"process_software_build_specs(options)","text":"

                  Create a dictionary with specified software build options. The options arguments should be a parsed option list (as delivered by parse_options(args).options)

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.set_tmpdir","title":"set_tmpdir(tmpdir=None, raise_error=False)","text":"

                  Set temporary directory to be used by tempfile and others.

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.set_up_configuration","title":"set_up_configuration(args=None, logfile=None, testing=False, silent=False, reconfigure=False)","text":"

                  Set up EasyBuild configuration, by parsing configuration settings & initialising build options.

                  PARAMETER DESCRIPTION args

                  command line arguments to take into account when parsing the EasyBuild configuration settings

                  DEFAULT: None

                  logfile

                  log file to use

                  DEFAULT: None

                  testing

                  enable testing mode

                  DEFAULT: False

                  silent

                  stay silent (no printing)

                  DEFAULT: False

                  reconfigure

                  reconfigure singletons that hold configuration dictionaries. Use with care: normally, configuration shouldn't be changed during a run. Exceptions are when looping over items in EasyStack files

                  DEFAULT: False

                  ","boost":0.5},{"location":"api/easybuild/tools/options/#easybuild.tools.options.use_color","title":"use_color(colorize, stream=sys.stdout)","text":"

                  Return True or False depending on whether ANSI color escapes are to be used when printing to stream.

                  The colorize argument can take the three values fancylogger.Colorize.AUTO/.ALWAYS/.NEVER, see the --color option for their meaning.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/","title":"output","text":"

                  Tools for controlling output to terminal produced by EasyBuild.

                  Authors:

                  • Kenneth Hoste (Ghent University)
                  • J\u00f8rgen Nordmoen (University of Oslo)
                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.DummyRich","title":"DummyRich","text":"

                  Bases: object

                  Dummy shim for Rich classes. Used in case Rich is not available, or when EasyBuild is not configured to use rich output style.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.colorize","title":"colorize(txt, color)","text":"

                  Colorize given text, with specified color.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.download_all_progress_bar","title":"download_all_progress_bar()","text":"

                  Get progress bar to show progress on downloading of all source files.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.download_one_progress_bar","title":"download_one_progress_bar()","text":"

                  Get progress bar to show progress for downloading a file of known size.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.download_one_progress_bar_unknown_size","title":"download_one_progress_bar_unknown_size()","text":"

                  Get progress bar to show progress for downloading a file of unknown size.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.easyconfig_progress_bar","title":"easyconfig_progress_bar()","text":"

                  Get progress bar to display progress for installing a single easyconfig file.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.extensions_progress_bar","title":"extensions_progress_bar()","text":"

                  Get progress bar to show progress for installing extensions.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.get_progress_bar","title":"get_progress_bar(bar_type, ignore_cache=False, size=None)","text":"

                  Get progress bar of given type.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.print_checks","title":"print_checks(checks_data)","text":"

                  Print overview of checks that were made.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.progress_bar_cache","title":"progress_bar_cache(func)","text":"

                  Function decorator to cache created progress bars for easy retrieval.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.rich_live_cm","title":"rich_live_cm()","text":"

                  Return Live instance to use as context manager.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.show_progress_bars","title":"show_progress_bars()","text":"

                  Return whether or not to show progress bars.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.start_progress_bar","title":"start_progress_bar(bar_type, size, label=None)","text":"

                  Start progress bar of given type.

                  PARAMETER DESCRIPTION label

                  label for progress bar

                  DEFAULT: None

                  size

                  total target size of progress bar

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.status_bar","title":"status_bar()","text":"

                  Get progress bar to display overall progress.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.stop_progress_bar","title":"stop_progress_bar(bar_type, visible=False)","text":"

                  Stop progress bar of given type.

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.update_progress_bar","title":"update_progress_bar(bar_type, label=None, progress_size=1, total=None)","text":"

                  Update progress bar of given type (if it was started), add progress of given size.

                  PARAMETER DESCRIPTION bar_type

                  type of progress bar

                  label

                  label for progress bar

                  DEFAULT: None

                  progress_size

                  amount of progress made

                  DEFAULT: 1

                  ","boost":0.5},{"location":"api/easybuild/tools/output/#easybuild.tools.output.use_rich","title":"use_rich()","text":"

                  Return whether or not to use Rich to produce rich output.

                  ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/","title":"parallelbuild","text":"

                  Module for doing parallel builds. This uses a PBS-like cluster. You should be able to submit jobs (which can have dependencies)

                  Support for PBS is provided via the PbsJob class. If you want you could create other job classes and use them here.

                  Authors:

                  • Toon Willems (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Stijn De Weirdt (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/#easybuild.tools.parallelbuild.build_easyconfigs_in_parallel","title":"build_easyconfigs_in_parallel(build_command, easyconfigs, output_dir='easybuild-build', prepare_first=True)","text":"

                  Build easyconfigs in parallel by submitting jobs to a batch-queuing system. Return list of jobs submitted.

                  Argument easyconfigs is a list of easyconfigs which can be built: e.g. they have no unresolved dependencies. This function will build them in parallel by submitting jobs.

                  PARAMETER DESCRIPTION build_command

                  build command to use

                  easyconfigs

                  list of easyconfig files

                  output_dir

                  output directory

                  DEFAULT: 'easybuild-build'

                  prepare_first

                  prepare by runnning fetch step first for each easyconfig

                  DEFAULT: True

                  ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/#easybuild.tools.parallelbuild.create_job","title":"create_job(job_backend, build_command, easyconfig, output_dir='easybuild-build')","text":"

                  Creates a job to build a single easyconfig.

                  PARAMETER DESCRIPTION job_backend

                  A factory object for querying server parameters and creating actual job objects

                  build_command

                  format string for command, full path to an easyconfig file will be substituted in it

                  easyconfig

                  easyconfig as processed by process_easyconfig

                  output_dir

                  optional output path; --regtest-output-dir will be used inside the job with this variable returns the job

                  DEFAULT: 'easybuild-build'

                  ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/#easybuild.tools.parallelbuild.prepare_easyconfig","title":"prepare_easyconfig(ec)","text":"

                  Prepare for building specified easyconfig (fetch sources)

                  PARAMETER DESCRIPTION ec

                  parsed easyconfig (EasyConfig instance)

                  ","boost":0.5},{"location":"api/easybuild/tools/parallelbuild/#easybuild.tools.parallelbuild.submit_jobs","title":"submit_jobs(ordered_ecs, cmd_line_opts, testing=False, prepare_first=True)","text":"

                  Submit jobs.

                  PARAMETER DESCRIPTION ordered_ecs

                  list of easyconfigs, in the order they should be processed

                  cmd_line_opts

                  list of command line options (in 'longopt=value' form)

                  testing

                  If True, skip actual job submission

                  DEFAULT: False

                  prepare_first

                  prepare by runnning fetch step first for each easyconfig

                  DEFAULT: True

                  ","boost":0.5},{"location":"api/easybuild/tools/robot/","title":"robot","text":"

                  Dependency resolution functionality, a.k.a. robot.

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  • Toon Willems (Ghent University)
                  • Ward Poelmans (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.check_conflicts","title":"check_conflicts(easyconfigs, modtool, check_inter_ec_conflicts=True)","text":"

                  Check for conflicts in dependency graphs for specified easyconfigs.

                  PARAMETER DESCRIPTION easyconfigs

                  list of easyconfig files (EasyConfig instances) to check for conflicts

                  modtool

                  ModulesTool instance to use

                  check_inter_ec_conflicts

                  also check for conflicts between (dependencies of) listed easyconfigs

                  DEFAULT: True

                  RETURNS DESCRIPTION

                  True if one or more conflicts were found, False otherwise

                  ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.det_robot_path","title":"det_robot_path(robot_paths_option, tweaked_ecs_paths, pr_paths, auto_robot=False)","text":"

                  Determine robot path.

                  ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.dry_run","title":"dry_run(easyconfigs, modtool, short=False)","text":"

                  Compose dry run overview for supplied easyconfigs: * [ ] for unavailable * [x] for available * [F] for forced * [R] for rebuild

                  PARAMETER DESCRIPTION easyconfigs

                  list of parsed easyconfigs (EasyConfig instances)

                  modtool

                  ModulesTool instance to use

                  short

                  use short format for overview: use a variable for common prefixes

                  DEFAULT: False

                  ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.missing_deps","title":"missing_deps(easyconfigs, modtool)","text":"

                  Determine subset of easyconfigs for which no module is installed yet.

                  ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.raise_error_missing_deps","title":"raise_error_missing_deps(missing_deps, extra_msg=None)","text":"

                  Raise error to report missing dependencies.

                  ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.resolve_dependencies","title":"resolve_dependencies(easyconfigs, modtool, retain_all_deps=False, raise_error_missing_ecs=True)","text":"

                  Work through the list of easyconfigs to determine an optimal order

                  PARAMETER DESCRIPTION easyconfigs

                  list of easyconfigs

                  modtool

                  ModulesTool instance to use

                  retain_all_deps

                  boolean indicating whether all dependencies must be retained, regardless of availability; retain all deps when True, check matching build option when False

                  DEFAULT: False

                  raise_error_missing_ecs

                  raise an error when one or more easyconfig files could not be found

                  DEFAULT: True

                  ","boost":0.5},{"location":"api/easybuild/tools/robot/#easybuild.tools.robot.search_easyconfigs","title":"search_easyconfigs(query, short=False, filename_only=False, terse=False, consider_extra_paths=True, print_result=True, case_sensitive=False)","text":"

                  Search for easyconfigs, if a query is provided.

                  PARAMETER DESCRIPTION query

                  regex query string

                  short

                  figure out common prefix of hits, use variable to factor it out

                  DEFAULT: False

                  filename_only

                  only print filenames, not paths

                  DEFAULT: False

                  terse

                  stick to terse (machine-readable) output, as opposed to pretty-printing

                  DEFAULT: False

                  consider_extra_paths

                  consider all paths when searching

                  DEFAULT: True

                  print_result

                  print the list of easyconfigs

                  DEFAULT: True

                  case_sensitive

                  boolean to decide whether search is case sensitive

                  DEFAULT: False

                  RETURNS DESCRIPTION

                  return a list of paths for the query

                  ","boost":0.5},{"location":"api/easybuild/tools/run/","title":"run","text":"

                  Tools to run commands.

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  • Toon Willems (Ghent University)
                  • Ward Poelmans (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.check_async_cmd","title":"check_async_cmd(proc, cmd, owd, start_time, cmd_log, fail_on_error=True, output_read_size=1024, output='')","text":"

                  Check status of command that was started asynchronously.

                  :result: dict value with result of the check (boolean 'done', 'exit_code', 'output')

                  PARAMETER DESCRIPTION proc

                  subprocess.Popen instance representing asynchronous command

                  cmd

                  command being run

                  owd

                  original working directory

                  start_time

                  start time of command (datetime instance)

                  cmd_log

                  log file to print command output to

                  fail_on_error

                  raise EasyBuildError when command exited with an error

                  DEFAULT: True

                  output_read_size

                  number of bytes to read from output

                  DEFAULT: 1024

                  output

                  already collected output for this command

                  DEFAULT: ''

                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.check_log_for_errors","title":"check_log_for_errors(log_txt, reg_exps)","text":"

                  Check log_txt for messages matching regExps in order and do appropriate action

                  PARAMETER DESCRIPTION log_txt

                  String containing the log, will be split into individual lines

                  reg_exps

                  List of: regular expressions (as strings) to error on, or tuple of regular expression and action (any of [IGNORE, WARN, ERROR])

                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.complete_cmd","title":"complete_cmd(proc, cmd, owd, start_time, cmd_log, log_ok=True, log_all=False, simple=False, regexp=True, stream_output=None, trace=True, output='')","text":"

                  Complete running of command represented by passed subprocess.Popen instance.

                  PARAMETER DESCRIPTION proc

                  subprocess.Popen instance representing running command

                  cmd

                  command being run

                  owd

                  original working directory

                  start_time

                  start time of command (datetime instance)

                  cmd_log

                  log file to print command output to

                  log_ok

                  only run output/exit code for failing commands (exit code non-zero)

                  DEFAULT: True

                  log_all

                  always log command output and exit code

                  DEFAULT: False

                  simple

                  if True, just return True/False to indicate success, else return a tuple: (output, exit_code)

                  DEFAULT: False

                  regexp

                  regex used to check the output for errors; if True it will use the default (see parse_log_for_error)

                  DEFAULT: True

                  stream_output

                  enable streaming command output to stdout

                  DEFAULT: None

                  trace

                  print command being executed as part of trace output

                  DEFAULT: True

                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.extract_errors_from_log","title":"extract_errors_from_log(log_txt, reg_exps)","text":"

                  Check provided string (command output) for messages matching specified regular expressions, and return 2-tuple with list of warnings and errors.

                  PARAMETER DESCRIPTION log_txt

                  String containing the log, will be split into individual lines

                  reg_exps

                  List of: regular expressions (as strings) to error on, or tuple of regular expression and action (any of [IGNORE, WARN, ERROR])

                  RETURNS DESCRIPTION

                  (warnings, errors) as lists of lines containing a match

                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.get_output_from_process","title":"get_output_from_process(proc, read_size=None, asynchronous=False)","text":"

                  Get output from running process (that was opened with subprocess.Popen).

                  PARAMETER DESCRIPTION proc

                  process to get output from

                  read_size

                  number of bytes of output to read (if None: read all output)

                  DEFAULT: None

                  asynchronous

                  get output asynchronously

                  DEFAULT: False

                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.parse_cmd_output","title":"parse_cmd_output(cmd, stdouterr, ec, simple, log_all, log_ok, regexp)","text":"

                  Parse command output and construct return value.

                  PARAMETER DESCRIPTION cmd

                  executed command

                  stdouterr

                  combined stdout/stderr of executed command

                  ec

                  exit code of executed command

                  simple

                  if True, just return True/False to indicate success, else return a tuple: (output, exit_code)

                  log_all

                  always log command output and exit code

                  log_ok

                  only run output/exit code for failing commands (exit code non-zero)

                  regexp

                  regex used to check the output for errors; if True it will use the default (see parse_log_for_error)

                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.parse_log_for_error","title":"parse_log_for_error(txt, regExp=None, stdout=True, msg=None)","text":"

                  txt is multiline string. - in memory regExp is a one-line regular expression - default

                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.run_cmd","title":"run_cmd(cmd, log_ok=True, log_all=False, simple=False, inp=None, regexp=True, log_output=False, path=None, force_in_dry_run=False, verbose=True, shell=None, trace=True, stream_output=None, asynchronous=False)","text":"

                  Run specified command (in a subshell)

                  PARAMETER DESCRIPTION cmd

                  command to run

                  log_ok

                  only run output/exit code for failing commands (exit code non-zero)

                  DEFAULT: True

                  log_all

                  always log command output and exit code

                  DEFAULT: False

                  simple

                  if True, just return True/False to indicate success, else return a tuple: (output, exit_code)

                  DEFAULT: False

                  inp

                  the input given to the command via stdin

                  DEFAULT: None

                  regexp

                  regex used to check the output for errors; if True it will use the default (see parse_log_for_error)

                  DEFAULT: True

                  log_output

                  indicate whether all output of command should be logged to a separate temporary logfile

                  DEFAULT: False

                  path

                  path to execute the command in; current working directory is used if unspecified

                  DEFAULT: None

                  force_in_dry_run

                  force running the command during dry run

                  DEFAULT: False

                  verbose

                  include message on running the command in dry run output

                  DEFAULT: True

                  shell

                  allow commands to not run in a shell (especially useful for cmd lists), defaults to True

                  DEFAULT: None

                  trace

                  print command being executed as part of trace output

                  DEFAULT: True

                  stream_output

                  enable streaming command output to stdout

                  DEFAULT: None

                  asynchronous

                  run command asynchronously (returns subprocess.Popen instance if set to True)

                  DEFAULT: False

                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.run_cmd_cache","title":"run_cmd_cache(func)","text":"

                  Function decorator to cache (and retrieve cached) results of running commands.

                  ","boost":0.5},{"location":"api/easybuild/tools/run/#easybuild.tools.run.run_cmd_qa","title":"run_cmd_qa(cmd, qa, no_qa=None, log_ok=True, log_all=False, simple=False, regexp=True, std_qa=None, path=None, maxhits=50, trace=True)","text":"

                  Run specified interactive command (in a subshell)

                  PARAMETER DESCRIPTION cmd

                  command to run

                  qa

                  dictionary which maps question to answers

                  no_qa

                  list of patters that are not questions

                  DEFAULT: None

                  log_ok

                  only run output/exit code for failing commands (exit code non-zero)

                  DEFAULT: True

                  log_all

                  always log command output and exit code

                  DEFAULT: False

                  simple

                  if True, just return True/False to indicate success, else return a tuple: (output, exit_code)

                  DEFAULT: False

                  regexp

                  regex used to check the output for errors; if True it will use the default (see parse_log_for_error)

                  DEFAULT: True

                  std_qa

                  dictionary which maps question regex patterns to answers

                  DEFAULT: None

                  path

                  path to execute the command is; current working directory is used if unspecified

                  DEFAULT: None

                  maxhits

                  maximum number of cycles (seconds) without being able to find a known question

                  DEFAULT: 50

                  trace

                  print command being executed as part of trace output

                  DEFAULT: True

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/","title":"systemtools","text":"

                  Module with useful functions for getting system information

                  Authors:

                  • Jens Timmerman (Ghent University)
                  • Ward Poelmans (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.SystemToolsException","title":"SystemToolsException","text":"

                  Bases: Exception

                  raised when systemtools fails

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.check_easybuild_deps","title":"check_easybuild_deps(modtool)","text":"

                  Check presence and version of required and optional EasyBuild dependencies, and report back to terminal.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.check_linked_shared_libs","title":"check_linked_shared_libs(path, required_patterns=None, banned_patterns=None)","text":"

                  Check for (lack of) patterns in linked shared libraries for binary/library at specified path. Uses 'ldd' on Linux and 'otool -L' on macOS to determine linked shared libraries.

                  Returns True or False for dynamically linked binaries and shared libraries to indicate whether all patterns match and antipatterns don't match.

                  Returns None if given path is not a dynamically linked binary or library.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.check_os_dependency","title":"check_os_dependency(dep)","text":"

                  Check if dependency is available from OS.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.check_python_version","title":"check_python_version()","text":"

                  Check currently used Python version.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.det_parallelism","title":"det_parallelism(par=None, maxpar=None)","text":"

                  Determine level of parallelism that should be used. Default: educated guess based on # cores and 'ulimit -u' setting: min(# cores, ((ulimit -u) - 15) // 6)

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.det_pypkg_version","title":"det_pypkg_version(pkg_name, imported_pkg, import_name=None)","text":"

                  Determine version of a Python package.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.det_terminal_size","title":"det_terminal_size()","text":"

                  Determine the current size of the terminal window.

                  RETURNS DESCRIPTION

                  tuple with terminal width and height

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.find_library_path","title":"find_library_path(lib_filename)","text":"

                  Search library by file name in the system Return absolute path to existing libraries

                  PARAMETER DESCRIPTION lib_filename

                  name of library file

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_avail_core_count","title":"get_avail_core_count()","text":"

                  Returns the number of available CPUs, according to cgroups and taskssets limits

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_core_count","title":"get_core_count()","text":"

                  NO LONGER SUPPORTED: use get_avail_core_count() instead

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_arch_name","title":"get_cpu_arch_name()","text":"

                  Determine CPU architecture name via archspec (if available).

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_architecture","title":"get_cpu_architecture()","text":"

                  Try to detect the CPU architecture

                  RETURNS DESCRIPTION

                  a value from the CPU_ARCHITECTURES list

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_family","title":"get_cpu_family()","text":"

                  Determine CPU family.

                  RETURNS DESCRIPTION

                  a value from the CPU_FAMILIES list

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_features","title":"get_cpu_features()","text":"

                  Get list of CPU features

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_model","title":"get_cpu_model()","text":"

                  Determine CPU model, e.g., Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_speed","title":"get_cpu_speed()","text":"

                  Returns the (maximum) cpu speed in MHz, as a float value. In case of throttling, the highest cpu speed is returns.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_cpu_vendor","title":"get_cpu_vendor()","text":"

                  Try to detect the CPU vendor

                  RETURNS DESCRIPTION

                  a value from the CPU_VENDORS list

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_gcc_version","title":"get_gcc_version()","text":"

                  Process gcc --version and return the GCC version.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_glibc_version","title":"get_glibc_version()","text":"

                  Find the version of glibc used on this system

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_gpu_info","title":"get_gpu_info()","text":"

                  Get the GPU info

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_kernel_name","title":"get_kernel_name()","text":"

                  NO LONGER SUPPORTED: use get_os_type() instead

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_linked_libs_raw","title":"get_linked_libs_raw(path)","text":"

                  Get raw output from command that reports linked libraries for dynamically linked executables/libraries, or None for other types of files.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_os_name","title":"get_os_name()","text":"

                  Determine system name, e.g., 'redhat' (generic), 'centos', 'debian', 'fedora', 'suse', 'ubuntu', 'red hat enterprise linux server', 'SL' (Scientific Linux), 'opensuse', ...

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_os_type","title":"get_os_type()","text":"

                  Determine system type, e.g., 'Linux', 'Darwin', 'Java'.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_os_version","title":"get_os_version()","text":"

                  Determine system version.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_platform_name","title":"get_platform_name(withversion=False)","text":"

                  Try and determine platform name e.g., x86_64-unknown-linux, x86_64-apple-darwin

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_shared_lib_ext","title":"get_shared_lib_ext()","text":"

                  Determine extention for shared libraries

                  Linux: 'so', Darwin: 'dylib'

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_system_info","title":"get_system_info()","text":"

                  Return a dictionary with system information.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_tool_version","title":"get_tool_version(tool, version_option='--version', ignore_ec=False)","text":"

                  Get output of running version option for specific command line tool. Output is returned as a single-line string (newlines are replaced by '; ').

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.get_total_memory","title":"get_total_memory()","text":"

                  Try to ascertain this node's total memory

                  RETURNS DESCRIPTION

                  total memory as an integer, specifically a number of megabytes

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.locate_solib","title":"locate_solib(libobj)","text":"

                  Return absolute path to loaded library using dlinfo Based on https://stackoverflow.com/a/35683698

                  PARAMETER DESCRIPTION libobj

                  ctypes CDLL object

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.pick_dep_version","title":"pick_dep_version(dep_version)","text":"

                  Pick the correct dependency version to use for this system. Input can either be: * a string value (or None) * a dict with options to choose from

                  Return value is the version to use or False to skip this dependency.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.pick_system_specific_value","title":"pick_system_specific_value(description, options_or_value, allow_none=False)","text":"

                  Pick an entry for the current system when the input has multiple options

                  PARAMETER DESCRIPTION description

                  Descriptive string about the value to be retrieved. Used for logging.

                  options_or_value

                  Either a dictionary with options to choose from or a value of any other type

                  allow_none

                  When True and no matching arch key was found, return None instead of an error

                  DEFAULT: False

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.sched_getaffinity","title":"sched_getaffinity()","text":"

                  Determine list of available cores for current process.

                  ","boost":0.5},{"location":"api/easybuild/tools/systemtools/#easybuild.tools.systemtools.use_group","title":"use_group(group_name)","text":"

                  Use group with specified name.

                  ","boost":0.5},{"location":"api/easybuild/tools/testing/","title":"testing","text":"

                  Module for doing parallel builds. This uses a PBS-like cluster. You should be able to submit jobs (which can have dependencies)

                  Support for PBS is provided via the PbsJob class. If you want you could create other job classes and use them here.

                  Authors:

                  • Toon Willems (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Stijn De Weirdt (Ghent University)
                  • Ward Poelmans (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.create_test_report","title":"create_test_report(msg, ecs_with_res, init_session_state, pr_nrs=None, gist_log=False, easyblock_pr_nrs=None, ec_parse_error=None)","text":"

                  Create test report for easyconfigs PR, in Markdown format.

                  PARAMETER DESCRIPTION msg

                  message to be included in test report

                  ecs_with_res

                  processed easyconfigs with build result (success/failure)

                  init_session_state

                  initial session state info to include in test report

                  pr_nrs

                  list of ints for the PRs in the easyconfigs repository

                  DEFAULT: None

                  gist_log

                  boolean for whether to create a gist from the log file(s)

                  DEFAULT: False

                  easyblock_pr_nrs

                  list of ints for the PRs in the easyblocks repository

                  DEFAULT: None

                  ec_parse_error

                  error message for easyconfig parse failure

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.overall_test_report","title":"overall_test_report(ecs_with_res, orig_cnt, success, msg, init_session_state, ec_parse_error=None)","text":"

                  Upload/dump overall test report

                  PARAMETER DESCRIPTION ecs_with_res

                  processed easyconfigs with build result (success/failure)

                  orig_cnt

                  number of original easyconfig paths

                  success

                  boolean indicating whether all builds were successful

                  msg

                  message to be included in test report

                  init_session_state

                  initial session state info to include in test report

                  ec_parse_error

                  error message for easyconfig parse failure

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.post_pr_test_report","title":"post_pr_test_report(pr_nrs, repo_type, test_report, msg, init_session_state, success)","text":"

                  Post test report in a gist, and submit comment in easyconfigs or easyblocks PR.

                  ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.regtest","title":"regtest(easyconfig_paths, modtool, build_specs=None)","text":"

                  Run regression test, using easyconfigs available in given path

                  PARAMETER DESCRIPTION easyconfig_paths

                  path of easyconfigs to run regtest on

                  modtool

                  ModulesTool instance to use

                  build_specs

                  dictionary specifying build specifications (e.g. version, toolchain, ...)

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.session_state","title":"session_state()","text":"

                  Get session state: timestamp, dump of environment, system info.

                  ","boost":0.5},{"location":"api/easybuild/tools/testing/#easybuild.tools.testing.upload_test_report_as_gist","title":"upload_test_report_as_gist(test_report, descr=None, fn=None)","text":"

                  Upload test report as a gist.

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/","title":"utilities","text":"

                  Module with various utility functions

                  Authors:

                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.flatten","title":"flatten(lst)","text":"

                  Flatten a list of lists.

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.get_class_for","title":"get_class_for(modulepath, class_name)","text":"

                  Get class for a given Python class name and Python module path.

                  PARAMETER DESCRIPTION modulepath

                  Python module path (e.g., 'easybuild.base.generaloption')

                  class_name

                  Python class name (e.g., 'GeneralOption')

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.get_subclasses","title":"get_subclasses(klass, include_base_class=False)","text":"

                  Get list of all subclasses, recursively from the specified base class.

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.get_subclasses_dict","title":"get_subclasses_dict(klass, include_base_class=False)","text":"

                  Get dict with subclasses per classes, recursively from the specified base class.

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.import_available_modules","title":"import_available_modules(namespace)","text":"

                  Import all available module in the specified namespace.

                  PARAMETER DESCRIPTION namespace

                  The namespace to import modules from.

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.mk_md_table","title":"mk_md_table(titles, columns)","text":"

                  Returns a MarkDown table with given titles and columns (a nested list of string columns for each column)

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.mk_rst_table","title":"mk_rst_table(titles, columns)","text":"

                  Returns an rst table with given titles and columns (a nested list of string columns for each column)

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.natural_keys","title":"natural_keys(key)","text":"

                  Can be used as the sort key in list.sort(key=natural_keys) to sort in natural order (i.e. respecting numbers)

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.nub","title":"nub(list_)","text":"

                  Returns the unique items of a list of hashables, while preserving order of the original list, i.e. the first unique element encoutered is retained.

                  Code is taken from http://stackoverflow.com/questions/480214/how-do-you-remove-duplicates-from-a-list-in-python-whilst-preserving-order

                  Supposedly, this is one of the fastest ways to determine the unique elements of a list.

                  @type list_: a list :-)

                  RETURNS DESCRIPTION

                  a new list with each element from list appearing only once (cfr. Michelle Dubois).

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.only_if_module_is_available","title":"only_if_module_is_available(modnames, pkgname=None, url=None)","text":"

                  Decorator to guard functions/methods against missing required module with specified name.

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.quote_py_str","title":"quote_py_str(val)","text":"

                  Version of quote_str specific for generating use in Python context (e.g., easyconfig parameters).

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.quote_str","title":"quote_str(val, escape_newline=False, prefer_single_quotes=False, escape_backslash=False, tcl=False)","text":"

                  Obtain a new value to be used in string replacement context.

                  For non-string values, it just returns the exact same value.

                  For string values, it tries to escape the string in quotes, e.g., foo becomes 'foo', foo'bar becomes \"foo'bar\", foo'bar\"baz becomes \"\"\"foo'bar\"baz\"\"\", etc.

                  PARAMETER DESCRIPTION escape_newline

                  wrap strings that include a newline in triple quotes

                  DEFAULT: False

                  prefer_single_quotes

                  if possible use single quotes

                  DEFAULT: False

                  escape_backslash

                  escape backslash characters in the string

                  DEFAULT: False

                  tcl

                  Boolean for whether we are quoting for Tcl syntax

                  DEFAULT: False

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.remove_unwanted_chars","title":"remove_unwanted_chars(inputstring)","text":"

                  Remove unwanted characters from the given string and return a copy

                  All non-letter and non-numeral characters are considered unwanted except for underscore ('_').

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.shell_quote","title":"shell_quote(token)","text":"

                  Wrap provided token in single quotes (to escape space and characters with special meaning in a shell), so it can be used in a shell command. This results in token that is not expanded/interpolated by the shell.

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.time2str","title":"time2str(delta)","text":"

                  Return string representing provided datetime.timedelta value in human-readable form.

                  ","boost":0.5},{"location":"api/easybuild/tools/utilities/#easybuild.tools.utilities.trace_msg","title":"trace_msg(message, silent=False)","text":"

                  Print trace message.

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/","title":"variables","text":"

                  Module that contains a set of classes and function to generate variables to be used e.g., in compiling or linking

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.AbsPathList","title":"AbsPathList","text":"

                  Bases: StrList

                  Absolute paths (eg -L or -I)

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.AbsPathList.append_exists","title":"append_exists(prefix, paths, suffix=None, filename=None, append_all=False)","text":"

                  Given prefix and list of paths, return first that exists if suffix : extend the paths with prefixes if filename : look for filename in prefix+paths

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.AbsPathList.append_subdirs","title":"append_subdirs(base, subdirs=None)","text":"

                  Add directory base, or its subdirs if subdirs is not None

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.CommaList","title":"CommaList","text":"

                  Bases: StrList

                  Comma-separated list

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists","title":"ListOfLists","text":"

                  Bases: list

                  List of lists

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.append_empty","title":"append_empty()","text":"

                  Initialise MAP_CLASS instance

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.copy","title":"copy()","text":"

                  Return copy of self

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.get_first","title":"get_first()","text":"

                  Return first non-empty list if it doesn't exist, try to return first element

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.nappend","title":"nappend(value, **kwargs)","text":"

                  Named append name is not used anymore

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.nextend","title":"nextend(value=None, **kwargs)","text":"

                  Named extend, value is list type (TODO: tighten the allowed values) name not used anymore

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.sanitize","title":"sanitize()","text":"

                  Cleanup self

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.show_el","title":"show_el()","text":"

                  Show some info on the elements

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.str_convert","title":"str_convert(x)","text":"

                  Given x, return a string representing x called in str of this class

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.try_function_on_element","title":"try_function_on_element(function_name, names=None, args=None, kwargs=None)","text":"

                  Try to run function function_name on each element

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.ListOfLists.try_remove","title":"try_remove(values)","text":"

                  Try to remove one or more values from the elements

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList","title":"StrList","text":"

                  Bases: list

                  List of strings

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.__getattribute__","title":"__getattribute__(attr_name)","text":"

                  Filter out function calls from Variables class

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.__str__","title":"__str__()","text":"

                  _str_self and support for BEGIN/END

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.copy","title":"copy()","text":"

                  Return copy of self

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.sanitize","title":"sanitize()","text":"

                  Sanitize self

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.str_convert","title":"str_convert(x)","text":"

                  Convert members of list to string (no prefix of begin and end)

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.StrList.try_remove","title":"try_remove(values)","text":"

                  Remove without ValueError in case of missing element

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables","title":"Variables","text":"

                  Bases: dict

                  Class to hold variable-like key/value pairs All values are lists (or derived from list class) most only have a single element though some are lists of lists str creates a single string

                  Most items are of same DEFAULT_CLASS\n    but are in different classes\n
                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.__setitem__","title":"__setitem__(name, value)","text":"

                  Automatically creates a list for each name

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.append","title":"append(name, value)","text":"

                  Append value to element name (alias for nappend)

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.get_element_class","title":"get_element_class(name)","text":"

                  Return the class associated with the name according to the DEFAULT_CLASS and MAP_CLASS

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.get_instance","title":"get_instance(name=None)","text":"

                  Return an instance of the class

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.get_list_class","title":"get_list_class(name)","text":"

                  Return the class associated with the name according to the DEFAULT_LISTCLASS and MAP_LISTCLASS

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.join","title":"join(name, *others)","text":"

                  Join all values in others into name it is first tested if other is an existing element else it is nappend-ed

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.Variables.try_function_on_element","title":"try_function_on_element(function_name, names=None, args=None, kwargs=None)","text":"

                  Try to run function function_name on each element of names

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.get_class","title":"get_class(name, default_class, map_class=None)","text":"

                  Return class based on default map_class if key == str -> value = class else: key = class -> list of strings

                  ","boost":0.5},{"location":"api/easybuild/tools/variables/#easybuild.tools.variables.join_map_class","title":"join_map_class(map_classes)","text":"

                  Join all class_maps into single class_map

                  ","boost":0.5},{"location":"api/easybuild/tools/version/","title":"version","text":"

                  Module that takes control of versioning.

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/version/#easybuild.tools.version.get_git_revision","title":"get_git_revision()","text":"

                  Returns the git revision (e.g. aab4afc016b742c6d4b157427e192942d0e131fe), or UNKNOWN is getting the git revision fails

                  relies on GitPython (see http://gitorious.org/git-python)

                  ","boost":0.5},{"location":"api/easybuild/tools/version/#easybuild.tools.version.this_is_easybuild","title":"this_is_easybuild()","text":"

                  Standard starting message

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/","title":"containers","text":"
                  • easybuild
                    • tools
                      • containers
                        • apptainer
                        • base
                        • common
                        • docker
                        • singularity
                        • utils
                  ","boost":0.5},{"location":"api/easybuild/tools/containers/apptainer/","title":"apptainer","text":"

                  Support for generating Apptainer container recipes and creating container images

                  :author: Kenneth Hoste (HPC-UGent)

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/apptainer/#easybuild.tools.containers.apptainer.ApptainerContainer","title":"ApptainerContainer","text":"

                  Bases: SingularityContainer

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/apptainer/#easybuild.tools.containers.apptainer.ApptainerContainer.apptainer_version","title":"apptainer_version() staticmethod","text":"

                  Get Apptainer version.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/apptainer/#easybuild.tools.containers.apptainer.ApptainerContainer.build_image","title":"build_image(recipe_path)","text":"

                  Build container image by calling out to 'sudo apptainer build'.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/base/","title":"base","text":"

                  Authors:

                  • Mohamed Abidi (Bright Computing)
                  ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator","title":"ContainerGenerator","text":"

                  Bases: object

                  The parent class for concrete container recipe and image generator. Subclasses have to provide at least template resolution and image creation logic.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.build_image","title":"build_image(recipe_path)","text":"

                  This method will be used on the concrete subclass to build the image using The path of the container recipe.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.generate","title":"generate()","text":"

                  The entry point for container recipe and image generation. It starts by validating the needed tools are available using TOOLS class attribute. If the validation passes, it will generate the container recipe, and optionally build out of it the container.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.generate_recipe","title":"generate_recipe()","text":"

                  This method will make use of resolve_template and resolve_template_data methods in order to generate the container recipe.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.resolve_template","title":"resolve_template()","text":"

                  This method should be implemented by the concrete subclass to return the correct template for the container recipe.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.resolve_template_data","title":"resolve_template_data()","text":"

                  This method should be implemented by the concrete subclass to return a dictionary of template data for container recipe generation.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.validate","title":"validate()","text":"

                  A method that should contain all the validation logic for both container recipe (Singularity, Dockerfile, ...) and image generation.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/base/#easybuild.tools.containers.base.ContainerGenerator.validate_tools","title":"validate_tools()","text":"

                  A method that gets called as part of image generation that uses TOOLS class attribute to check for the existence of the needed binary/tools on the host system.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/common/","title":"common","text":"

                  Dispatch function for container packages

                  Authors:

                  • Shahzeb Siddiqui (Pfizer)
                  • Kenneth Hoste (HPC-UGent)
                  • Mohamed Abidi (Bright Computing)
                  ","boost":0.5},{"location":"api/easybuild/tools/containers/common/#easybuild.tools.containers.common.containerize","title":"containerize(easyconfigs)","text":"

                  Generate container recipe + (optionally) image

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/","title":"docker","text":"

                  Support for generating docker container recipes and creating container images

                  :author Mohamed Abidi (Bright Computing)

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/#easybuild.tools.containers.docker.DockerContainer","title":"DockerContainer","text":"

                  Bases: ContainerGenerator

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/#easybuild.tools.containers.docker.DockerContainer.resolve_template","title":"resolve_template()","text":"

                  Return template container recipe.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/#easybuild.tools.containers.docker.DockerContainer.resolve_template_data","title":"resolve_template_data()","text":"

                  Return template data for container recipe.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/docker/#easybuild.tools.containers.docker.DockerContainer.validate","title":"validate()","text":"

                  Perform validation of specified container configuration.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/","title":"singularity","text":"

                  Support for generating singularity container recipes and creating container images

                  Authors:

                  • Shahzeb Siddiqui (Pfizer)
                  • Kenneth Hoste (HPC-UGent)
                  • Mohamed Abidi (Bright Computing)
                  ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer","title":"SingularityContainer","text":"

                  Bases: ContainerGenerator

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.build_image","title":"build_image(recipe_path)","text":"

                  Build container image by calling out to 'sudo singularity build'.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.resolve_template","title":"resolve_template()","text":"

                  Return template container recipe.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.resolve_template_data","title":"resolve_template_data()","text":"

                  Return template data for container recipe.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.resolve_template_data_config","title":"resolve_template_data_config()","text":"

                  Return template data for container recipe based on what is passed to --container-config.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/singularity/#easybuild.tools.containers.singularity.SingularityContainer.singularity_version","title":"singularity_version() staticmethod","text":"

                  Get Singularity version.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/utils/","title":"utils","text":"

                  Authors:

                  • Shahzeb Siddiqui (Pfizer)
                  • Kenneth Hoste (HPC-UGent)
                  • Mohamed Abidi (Bright Computing)
                  ","boost":0.5},{"location":"api/easybuild/tools/containers/utils/#easybuild.tools.containers.utils.check_tool","title":"check_tool(tool_name, min_tool_version=None)","text":"

                  This function is a predicate check for the existence of tool_name on the system PATH. If min_tool_version is not None, it will check that the version has an equal or higher value.

                  ","boost":0.5},{"location":"api/easybuild/tools/containers/utils/#easybuild.tools.containers.utils.det_os_deps","title":"det_os_deps(easyconfigs)","text":"

                  Using an easyconfigs object, this utility function will return a list of operating system dependencies that are required to build one or more easybuilds modules.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/","title":"job","text":"
                  • easybuild
                    • tools
                      • job
                        • backend
                        • gc3pie
                        • pbs_python
                        • slurm
                  ","boost":0.5},{"location":"api/easybuild/tools/job/backend/","title":"backend","text":"

                  Abstract interface for submitting jobs and related utilities.

                  Authors:

                  • Riccardo Murri (University of Zurich)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend","title":"JobBackend","text":"

                  Bases: object

                  ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.__init__","title":"__init__()","text":"

                  Constructor.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.complete","title":"complete() abstractmethod","text":"

                  Complete a bulk job submission.

                  Releases any jobs that were possibly queued since the last init() call.

                  No more job submissions should be attempted after complete() has been called, until a init() is invoked again.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.init","title":"init() abstractmethod","text":"

                  Initialise the job backend, to start a bulk job submission.

                  Jobs may be queued and only actually submitted when complete() is called.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.make_job","title":"make_job(script, name, env_vars=None, hours=None, cores=None) abstractmethod","text":"

                  Create and return a Job object with the given parameters.

                  See the Job:class: constructor for an explanation of what the arguments are.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.JobBackend.queue","title":"queue(job, dependencies=frozenset()) abstractmethod","text":"

                  Add a job to the queue.

                  If second optional argument dependencies is given, it must be a sequence of jobs that must be successfully terminated before the new job can run.

                  Note that actual submission may be delayed until complete() is called.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.avail_job_backends","title":"avail_job_backends(check_usable=True)","text":"

                  Return all known job execution backends.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/backend/#easybuild.tools.job.backend.job_backend","title":"job_backend()","text":"

                  Return interface to job server, or None if none is available.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/","title":"gc3pie","text":"

                  Interface for submitting jobs via GC3Pie.

                  Authors:

                  • Riccardo Murri (University of Zurich)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.AbortingDependentTaskCollection","title":"AbortingDependentTaskCollection","text":"

                  Bases: AbortOnError, DependentTaskCollection

                  A DependentTaskCollection:class: that aborts execution upon error.

                  This is used to stop the build process in case some dependency fails. See also <https://github.com/easybuilders/easybuild-framework/issues/1441>_

                  ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie","title":"GC3Pie","text":"

                  Bases: JobBackend

                  Use the GC3Pie framework to submit and monitor compilation jobs, see http://gc3pie.readthedocs.org/.

                  In contrast with accessing an external service, GC3Pie implements its own workflow manager, which means eb --job --job-backend=GC3Pie will keep running until all jobs have terminated.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.__init__","title":"__init__(*args, **kwargs)","text":"

                  GC3Pie JobBackend constructor.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.complete","title":"complete()","text":"

                  Complete a bulk job submission.

                  Create engine, and progress it until all jobs have terminated.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.init","title":"init()","text":"

                  Initialise the GC3Pie job backend.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.make_job","title":"make_job(script, name, env_vars=None, hours=None, cores=None)","text":"

                  Create and return a job object with the given parameters.

                  Argument script is the content of the job script itself, i.e., the sequence of shell commands that will be executed.

                  Argument name sets the job's human-readable name.

                  Optional argument env_vars is a dictionary with key-value pairs of environment variables that should be passed on to the job.

                  Optional arguments hours and cores should be integer values: - hours must be in the range 1 .. MAX_WALLTIME; - cores depends on which cluster the job is being run.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/gc3pie/#easybuild.tools.job.gc3pie.GC3Pie.queue","title":"queue(job, dependencies=frozenset())","text":"

                  Add a job to the queue, optionally specifying dependencies.

                  PARAMETER DESCRIPTION dependencies

                  jobs on which this job depends.

                  DEFAULT: frozenset()

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/","title":"pbs_python","text":"

                  Interface module to TORQUE (PBS).

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Toon Willems (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob","title":"PbsJob","text":"

                  Bases: object

                  Interaction with TORQUE

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.__init__","title":"__init__(server, script, name, env_vars=None, hours=None, cores=None, conn=None, ppn=None)","text":"

                  create a new Job to be submitted to PBS env_vars is a dictionary with key-value pairs of environment variables that should be passed on to the job hours and cores should be integer values. hours can be 1 - (max walltime), cores depends on which cluster it is being run.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.__str__","title":"__str__()","text":"

                  Return the job ID as a string.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.add_dependencies","title":"add_dependencies(jobs)","text":"

                  Add dependencies to this job.

                  Argument jobs is a sequence of PbsJob objects.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.has_holds","title":"has_holds()","text":"

                  Return whether this job has holds or not.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.info","title":"info(types=None)","text":"

                  Return jobinfo

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.release_hold","title":"release_hold(hold_type=None)","text":"

                  Release hold on job of specified type.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.remove","title":"remove()","text":"

                  Remove the job with id jobid

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.set_hold","title":"set_hold(hold_type=None)","text":"

                  Set hold on job of specified type.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsJob.state","title":"state()","text":"

                  Return the state of the job State can be 'not submitted', 'running', 'queued' or 'finished',

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython","title":"PbsPython","text":"

                  Bases: JobBackend

                  Manage PBS server communication and create PbsJob objects.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.__init__","title":"__init__(*args, **kwargs)","text":"

                  Constructor.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.complete","title":"complete()","text":"

                  Complete a bulk job submission.

                  Release all user holds on submitted jobs, and disconnect from server.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.connect_to_server","title":"connect_to_server()","text":"

                  Connect to PBS server, set and return connection.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.disconnect_from_server","title":"disconnect_from_server()","text":"

                  Disconnect current connection.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.init","title":"init()","text":"

                  Initialise the job backend.

                  Connect to the PBS server & reset list of submitted jobs.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.make_job","title":"make_job(script, name, env_vars=None, hours=None, cores=None)","text":"

                  Create and return a PbsJob object with the given parameters.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/pbs_python/#easybuild.tools.job.pbs_python.PbsPython.queue","title":"queue(job, dependencies=frozenset())","text":"

                  Add a job to the queue.

                  PARAMETER DESCRIPTION dependencies

                  jobs on which this job depends.

                  DEFAULT: frozenset()

                  ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/","title":"slurm","text":"

                  Support for using Slurm as a backend for --job

                  Authors:

                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm","title":"Slurm","text":"

                  Bases: JobBackend

                  Manage SLURM server communication and create SlurmJob objects.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.__init__","title":"__init__(*args, **kwargs)","text":"

                  Constructor.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.complete","title":"complete()","text":"

                  Complete a bulk job submission.

                  Release all user holds on submitted jobs, and disconnect from server.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.init","title":"init()","text":"

                  Initialise the PySlurm job backend.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.make_job","title":"make_job(script, name, env_vars=None, hours=None, cores=None)","text":"

                  Create and return a job dict with the given parameters.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.Slurm.queue","title":"queue(job, dependencies=frozenset())","text":"

                  Add a job to the queue.

                  PARAMETER DESCRIPTION dependencies

                  jobs on which this job depends.

                  DEFAULT: frozenset()

                  ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.SlurmJob","title":"SlurmJob","text":"

                  Bases: object

                  Job class for SLURM jobs.

                  ","boost":0.5},{"location":"api/easybuild/tools/job/slurm/#easybuild.tools.job.slurm.SlurmJob.__init__","title":"__init__(script, name, env_vars=None, hours=None, cores=None)","text":"

                  Create a new Job to be submitted to SLURM.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/","title":"module_naming_scheme","text":"
                  • easybuild
                    • tools
                      • module_naming_scheme
                        • categorized_hmns
                        • categorized_mns
                        • easybuild_mns
                        • hierarchical_mns
                        • migrate_from_eb_to_hmns
                        • mns
                        • toolchain
                        • utilities
                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/","title":"categorized_hmns","text":"

                  Implementation of a hierarchical module naming scheme using module classes.

                  Authors:

                  • Markus Geimer (Juelich Supercomputing Centre)
                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS","title":"CategorizedHMNS","text":"

                  Bases: HierarchicalMNS

                  Class implementing an extended hierarchical module naming scheme using the 'moduleclass' easyconfig parameter to categorize modulefiles on each level of the hierarchy.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.categorize_paths","title":"categorize_paths(basepaths)","text":"

                  Returns a list of paths where all known (valid) module classes have been added to each of the given base paths.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.det_init_modulepaths","title":"det_init_modulepaths(ec)","text":"

                  Determine list of initial module paths (i.e., top of the hierarchy). Appends all known (valid) module classes to the top-level base path.

                  Examples: Core/","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.det_modpath_extensions","title":"det_modpath_extensions(ec)","text":"

                  Determine module path extensions, if any. Appends all known (valid) module classes to the base path of the corresponding hierarchy level.

                  Examples: Compiler/GCC/4.8.3/ (for GCC/4.8.3 module), MPI/GCC/4.8.3/OpenMPI/1.6.5/ (for OpenMPI/1.6.5 module)","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.det_module_subdir","title":"det_module_subdir(ec)","text":"

                  Determine module subdirectory, relative to the top of the module path. This determines the separation between module names exposed to users, and what's part of the $MODULEPATH. This implementation appends the 'moduleclass' easyconfig parameter to the base path of the corresponding hierarchy level.

                  Examples: Core/compiler, Compiler/GCC/4.8.3/mpi, MPI/GCC/4.8.3/OpenMPI/1.6.5/bio

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_hmns/#easybuild.tools.module_naming_scheme.categorized_hmns.CategorizedHMNS.det_user_modpath_extensions","title":"det_user_modpath_extensions(ec)","text":"

                  Determine user module path extensions, if any. As typical users are not expected to have many local modules, further categorizing them using module classes is considered overkill. Thus, we are using a plain hierarchical scheme for user modules instead.

                  Examples: Compiler/GCC/4.8.3 (for GCC/4.8.3 module), MPI/GCC/4.8.3/OpenMPI/1.6.5 (for OpenMPI/1.6.5 module)

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_mns/","title":"categorized_mns","text":"

                  Implementation of a categorized module naming scheme using module classes.

                  Authors:

                  • Maxime Schmitt (University of Luxembourg)
                  • Xavier Besseron (University of Luxembourg)
                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_mns/#easybuild.tools.module_naming_scheme.categorized_mns.CategorizedModuleNamingScheme","title":"CategorizedModuleNamingScheme","text":"

                  Bases: ModuleNamingScheme

                  Class implementing the categorized module naming scheme.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_mns/#easybuild.tools.module_naming_scheme.categorized_mns.CategorizedModuleNamingScheme.det_full_module_name","title":"det_full_module_name(ec)","text":"

                  Determine full module name from given easyconfig, according to the thematic module naming scheme.

                  PARAMETER DESCRIPTION ec

                  dict-like object with easyconfig parameter values (e.g. 'name', 'version', etc.)

                  RETURNS DESCRIPTION

                  string representing full module name, e.g.: 'biology/ABySS/1.3.4-goolf-1.4.10'

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/categorized_mns/#easybuild.tools.module_naming_scheme.categorized_mns.CategorizedModuleNamingScheme.is_short_modname_for","title":"is_short_modname_for(short_modname, name)","text":"

                  Determine whether the specified (short) module name is a module for software with the specified name. Default implementation checks via a strict regex pattern, and assumes short module names are of the form: /[-]","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/easybuild_mns/","title":"easybuild_mns","text":"

                  Implementation of (default) EasyBuild module naming scheme.

                  Authors:

                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/easybuild_mns/#easybuild.tools.module_naming_scheme.easybuild_mns.EasyBuildMNS","title":"EasyBuildMNS","text":"

                  Bases: ModuleNamingScheme

                  Class implementing the default EasyBuild module naming scheme.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/easybuild_mns/#easybuild.tools.module_naming_scheme.easybuild_mns.EasyBuildMNS.det_full_module_name","title":"det_full_module_name(ec)","text":"

                  Determine full module name from given easyconfig, according to the EasyBuild module naming scheme.

                  PARAMETER DESCRIPTION ec

                  dict-like object with easyconfig parameter values (e.g. 'name', 'version', etc.)

                  RETURNS DESCRIPTION

                  string with full module name /, e.g.: 'gzip/1.5-goolf-1.4.10'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/","title":"hierarchical_mns","text":"

                  Implementation of an example hierarchical module naming scheme.

                  Authors:

                  • Kenneth Hoste (Ghent University)
                  • Markus Geimer (Forschungszentrum Juelich GmbH)
                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS","title":"HierarchicalMNS","text":"

                  Bases: ModuleNamingScheme

                  Class implementing an example hierarchical module naming scheme.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_full_module_name","title":"det_full_module_name(ec)","text":"

                  Determine full module name, relative to the top of the module path. Examples: Core/GCC/4.8.3, Compiler/GCC/4.8.3/OpenMPI/1.6.5, MPI/GCC/4.8.3/OpenMPI/1.6.5/HPL/2.1

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_full_version","title":"det_full_version(ec)","text":"

                  Determine full version, taking into account version prefix/suffix.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_init_modulepaths","title":"det_init_modulepaths(ec)","text":"

                  Determine list of initial module paths (i.e. top of the hierarchy).

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_modpath_extensions","title":"det_modpath_extensions(ec)","text":"

                  Determine module path extensions, if any. Examples: Compiler/GCC/4.8.3 (for GCC/4.8.3 module), MPI/GCC/4.8.3/OpenMPI/1.6.5 (for OpenMPI/1.6.5 module)

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_module_subdir","title":"det_module_subdir(ec)","text":"

                  Determine module subdirectory, relative to the top of the module path. This determines the separation between module names exposed to users, and what's part of the $MODULEPATH. Examples: Core, Compiler/GCC/4.8.3, MPI/GCC/4.8.3/OpenMPI/1.6.5

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_module_symlink_paths","title":"det_module_symlink_paths(ec)","text":"

                  Determine list of paths in which symlinks to module files must be created.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_short_module_name","title":"det_short_module_name(ec)","text":"

                  Determine short module name, i.e. the name under which modules will be exposed to users. Examples: GCC/4.8.3, OpenMPI/1.6.5, OpenBLAS/0.2.9, HPL/2.1, Python/2.7.5

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.det_toolchain_compilers_name_version","title":"det_toolchain_compilers_name_version(tc_comps)","text":"

                  Determine toolchain compiler tag, for given list of compilers.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.expand_toolchain_load","title":"expand_toolchain_load(ec=None)","text":"

                  Determine whether load statements for a toolchain should be expanded to load statements for its dependencies. This is useful when toolchains are not exposed to users.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/hierarchical_mns/#easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS.requires_toolchain_details","title":"requires_toolchain_details()","text":"

                  Determine whether toolchain details are required by this module naming scheme, e.g. whether one of det_toolchain_* functions are relied upon.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/","title":"migrate_from_eb_to_hmns","text":"

                  Implementation of a module naming scheme that can be used to migrate from EasyBuildMNS to HierarchicalMNS.

                  Authors:

                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/#easybuild.tools.module_naming_scheme.migrate_from_eb_to_hmns.MigrateFromEBToHMNS","title":"MigrateFromEBToHMNS","text":"

                  Bases: HierarchicalMNS, EasyBuildMNS

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/#easybuild.tools.module_naming_scheme.migrate_from_eb_to_hmns.MigrateFromEBToHMNS.det_install_subdir","title":"det_install_subdir(ec)","text":"

                  Determine name of software installation subdirectory of install path, using EasyBuild MNS.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/","title":"mns","text":"

                  Module naming scheme API.

                  Authors:

                  • Jens Timmerman (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme","title":"ModuleNamingScheme","text":"

                  Bases: BaseModuleNamingScheme

                  Abstract class for a module naming scheme implementation.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.__init__","title":"__init__(*args, **kwargs)","text":"

                  Initialize logger.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_full_module_name","title":"det_full_module_name(ec)","text":"

                  Determine full module name, relative to the top of the module path.

                  PARAMETER DESCRIPTION ec

                  dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

                  RETURNS DESCRIPTION

                  string with full module name, e.g.: '///'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_init_modulepaths","title":"det_init_modulepaths(ec)","text":"

                  Determine initial module paths, where the modules that are top of the hierarchy (if any) live.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_install_subdir","title":"det_install_subdir(ec)","text":"

                  Determine name of software installation subdirectory of install path.

                  PARAMETER DESCRIPTION ec

                  dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

                  RETURNS DESCRIPTION

                  string with name of subdirectory, e.g.: '///'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_make_devel_module","title":"det_make_devel_module()","text":"

                  Determine if a devel module should be generated. Can be used to create a separate set of modules with a different naming scheme. Software is already installed beforehand with one naming scheme, including development module.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_modpath_extensions","title":"det_modpath_extensions(ec)","text":"

                  Determine list of subdirectories for which to extend $MODULEPATH with when this module is loaded (if any).

                  PARAMETER DESCRIPTION ec

                  dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

                  RETURNS DESCRIPTION

                  A list of $MODULEPATH subdirectories.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_module_subdir","title":"det_module_subdir(ec)","text":"

                  Determine subdirectory for module file in $MODULEPATH. This determines the separation between module names exposed to users, and what's part of the $MODULEPATH.

                  PARAMETER DESCRIPTION ec

                  dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

                  RETURNS DESCRIPTION

                  string with subdir path (relative to $MODULEPATH), e.g. '/'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_module_symlink_paths","title":"det_module_symlink_paths(ec)","text":"

                  Determine list of paths in which symlinks to module files must be created.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_short_module_name","title":"det_short_module_name(ec)","text":"

                  Determine short module name, i.e. the name under which modules will be exposed to users.

                  PARAMETER DESCRIPTION ec

                  dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

                  RETURNS DESCRIPTION

                  string with module name, e.g. '/'","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.det_user_modpath_extensions","title":"det_user_modpath_extensions(ec)","text":"

                  Determine list of subdirectories relative to the user-specific modules directory for which to extend $MODULEPATH with when this module is loaded (if any).

                  PARAMETER DESCRIPTION ec

                  dict-like object with easyconfig parameter values; for now only the 'name', 'version', 'versionsuffix' and 'toolchain' parameters are guaranteed to be available

                  RETURNS DESCRIPTION

                  A list of $MODULEPATH subdirectories.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.expand_toolchain_load","title":"expand_toolchain_load(ec=None)","text":"

                  Determine whether load statements for a toolchain should be expanded to load statements for its dependencies. This is useful when toolchains are not exposed to users.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.is_short_modname_for","title":"is_short_modname_for(short_modname, name)","text":"

                  Determine whether the specified (short) module name is a module for software with the specified name. Default implementation checks via a strict regex pattern, and assumes short module names are of the form: /[-]","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.is_sufficient","title":"is_sufficient(keys)","text":"

                  Determine whether specified list of easyconfig parameters is sufficient for this module naming scheme.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/mns/#easybuild.tools.module_naming_scheme.mns.ModuleNamingScheme.requires_toolchain_details","title":"requires_toolchain_details()","text":"

                  Determine whether toolchain details are required by this module naming scheme, e.g. whether one of det_toolchain_* functions are relied upon.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/toolchain/","title":"toolchain","text":"

                  Toolchain querying support for module naming schemes.

                  Authors:

                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/toolchain/#easybuild.tools.module_naming_scheme.toolchain.det_toolchain_compilers","title":"det_toolchain_compilers(ec)","text":"

                  Determine compilers of toolchain for given EasyConfig instance.

                  PARAMETER DESCRIPTION ec

                  a parsed EasyConfig file (an AttributeError will occur if a simple dict is passed)

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/toolchain/#easybuild.tools.module_naming_scheme.toolchain.det_toolchain_element_details","title":"det_toolchain_element_details(tc, elem, allow_missing=False)","text":"

                  Determine details of a particular toolchain element, for a given Toolchain instance.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/toolchain/#easybuild.tools.module_naming_scheme.toolchain.det_toolchain_mpi","title":"det_toolchain_mpi(ec)","text":"

                  Determine MPI library of toolchain for given EasyConfig instance.

                  PARAMETER DESCRIPTION ec

                  a parsed EasyConfig file (an AttributeError will occur if a simple dict is passed)

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/","title":"utilities","text":"

                  Utility functions for implementating module naming schemes.

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  • Fotis Georgatos (Uni.Lu, NTUA)
                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/#easybuild.tools.module_naming_scheme.utilities.avail_module_naming_schemes","title":"avail_module_naming_schemes()","text":"

                  Returns a list of available module naming schemes.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/#easybuild.tools.module_naming_scheme.utilities.det_full_ec_version","title":"det_full_ec_version(ec)","text":"

                  Determine exact install version, based on supplied easyconfig. e.g. 1.2.3-goalf-1.1.0-no-OFED or 1.2.3 (for system toolchains)

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/#easybuild.tools.module_naming_scheme.utilities.det_hidden_modname","title":"det_hidden_modname(modname)","text":"

                  Determine the hidden equivalent of the specified module name.

                  ","boost":0.5},{"location":"api/easybuild/tools/module_naming_scheme/utilities/#easybuild.tools.module_naming_scheme.utilities.is_valid_module_name","title":"is_valid_module_name(mod_name)","text":"

                  Check whether the specified value is a valid module name.

                  ","boost":0.5},{"location":"api/easybuild/tools/package/","title":"package","text":"
                  • easybuild
                    • tools
                      • package
                        • package_naming_scheme
                          • easybuild_deb_friendly_pns
                          • easybuild_pns
                          • pns
                        • utilities
                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/","title":"utilities","text":"

                  Various utilities related to packaging support.

                  Authors:

                  • Marc Litherland (Novartis)
                  • Gianluca Santarossa (Novartis)
                  • Robert Schmidt (The Ottawa Hospital, Research Institute)
                  • Fotis Georgatos (Uni.Lu, NTUA)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS","title":"ActivePNS","text":"

                  Bases: BaseActivePNS

                  The wrapper class for Package Naming Schemes.

                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS.__init__","title":"__init__()","text":"

                  Initialize logger and find available PNSes to load

                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS.name","title":"name(easyconfig)","text":"

                  Determine package name

                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS.release","title":"release(easyconfig)","text":"

                  Determine package release

                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.ActivePNS.version","title":"version(easyconfig)","text":"

                  Determine package version

                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.avail_package_naming_schemes","title":"avail_package_naming_schemes()","text":"

                  Returns the list of valed naming schemes They are loaded from the easybuild.package.package_naming_scheme namespace

                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.check_pkg_support","title":"check_pkg_support()","text":"

                  Check whether packaging is possible, if required dependencies are available.

                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.package","title":"package(easyblock)","text":"

                  Package installed software, according to active packaging configuration settings.

                  ","boost":0.5},{"location":"api/easybuild/tools/package/utilities/#easybuild.tools.package.utilities.package_with_fpm","title":"package_with_fpm(easyblock)","text":"

                  This function will build a package using fpm and return the directory where the packages are

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/","title":"package_naming_scheme","text":"
                  • easybuild
                    • tools
                      • package
                        • package_naming_scheme
                          • easybuild_deb_friendly_pns
                          • easybuild_pns
                          • pns
                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/","title":"easybuild_deb_friendly_pns","text":"

                  Implementation of the EasyBuild deb friendly packaging naming scheme

                  :author: Robert Schmidt (Ottawa Hospital Research Institute) :author: Kenneth Hoste (Ghent University) :author: Martin Budsj\u00f6 (VolvoCars)

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/#easybuild.tools.package.package_naming_scheme.easybuild_deb_friendly_pns.EasyBuildDebFriendlyPNS","title":"EasyBuildDebFriendlyPNS","text":"

                  Bases: EasyBuildPNS

                  Class implmenting the Deb friendly EasyBuild packaging naming scheme.

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/#easybuild.tools.package.package_naming_scheme.easybuild_deb_friendly_pns.EasyBuildDebFriendlyPNS.version","title":"version(ec)","text":"

                  Determine package version: EasyBuild version used to build & install.

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_pns/","title":"easybuild_pns","text":"

                  Implementation of the EasyBuild packaging naming scheme

                  Authors:

                  • Robert Schmidt (Ottawa Hospital Research Institute)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_pns/#easybuild.tools.package.package_naming_scheme.easybuild_pns.EasyBuildPNS","title":"EasyBuildPNS","text":"

                  Bases: PackageNamingScheme

                  Class implmenting the default EasyBuild packaging naming scheme.

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_pns/#easybuild.tools.package.package_naming_scheme.easybuild_pns.EasyBuildPNS.name","title":"name(ec)","text":"

                  Determine package name

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/easybuild_pns/#easybuild.tools.package.package_naming_scheme.easybuild_pns.EasyBuildPNS.version","title":"version(ec)","text":"

                  Determine package version: EasyBuild version used to build & install.

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/","title":"pns","text":"

                  Abstract implementation of a package naming scheme.

                  Authors:

                  • Robert Schmidt (Ottawa Hospital Research Institute)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme","title":"PackageNamingScheme","text":"

                  Bases: object

                  Abstract class for package naming schemes

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme.__init__","title":"__init__()","text":"

                  initialize logger.

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme.name","title":"name(ec) abstractmethod","text":"

                  Determine package name

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme.release","title":"release(ec=None)","text":"

                  Determine package release

                  ","boost":0.5},{"location":"api/easybuild/tools/package/package_naming_scheme/pns/#easybuild.tools.package.package_naming_scheme.pns.PackageNamingScheme.version","title":"version(ec) abstractmethod","text":"

                  Determine package version.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/","title":"py2vs3","text":"
                  • easybuild
                    • tools
                      • py2vs3
                        • py2
                        • py3
                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/","title":"py2","text":"

                  Functionality to facilitate keeping code compatible with Python 2 & Python 3.

                  Implementations for Python 3.

                  Authors:

                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.extract_method_name","title":"extract_method_name(method_func)","text":"

                  Extract method name from lambda function.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.json_loads","title":"json_loads(body)","text":"

                  Wrapper for json.loads that takes into account that Python versions older than 3.6 require a string value.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.load_source","title":"load_source(filename, path)","text":"

                  Load file as Python module

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.raise_with_traceback","title":"raise_with_traceback(exception_class, message, traceback)","text":"

                  Raise exception of specified class with given message and traceback.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.safe_cmp_looseversions","title":"safe_cmp_looseversions(v1, v2)","text":"

                  Safe comparison function for two (values containing) LooseVersion instances.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.sort_looseversions","title":"sort_looseversions(looseversions)","text":"

                  Sort list of (values including) distutils.version.LooseVersion instances.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.subprocess_popen_text","title":"subprocess_popen_text(cmd, **kwargs)","text":"

                  Call subprocess.Popen in text mode with specified named arguments.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py2/#easybuild.tools.py2vs3.py2.subprocess_terminate","title":"subprocess_terminate(proc, timeout)","text":"

                  Terminate the subprocess if it hasn't finished after the given timeout

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/","title":"py3","text":"

                  Functionality to facilitate keeping code compatible with Python 2 & Python 3.

                  Implementations for Python 3.

                  Authors:

                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.extract_method_name","title":"extract_method_name(method_func)","text":"

                  Extract method name from lambda function.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.json_loads","title":"json_loads(body)","text":"

                  Wrapper for json.loads that takes into account that Python versions older than 3.6 require a string value.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.load_source","title":"load_source(filename, path)","text":"

                  Load file as Python module

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.raise_with_traceback","title":"raise_with_traceback(exception_class, message, traceback)","text":"

                  Raise exception of specified class with given message and traceback.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.safe_cmp_looseversions","title":"safe_cmp_looseversions(v1, v2)","text":"

                  Safe comparison function for two (values containing) LooseVersion instances.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.sort_looseversions","title":"sort_looseversions(looseversions)","text":"

                  Sort list of (values including) distutils.version.LooseVersion instances.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.subprocess_popen_text","title":"subprocess_popen_text(cmd, **kwargs)","text":"

                  Call subprocess.Popen in text mode with specified named arguments.

                  ","boost":0.5},{"location":"api/easybuild/tools/py2vs3/py3/#easybuild.tools.py2vs3.py3.subprocess_terminate","title":"subprocess_terminate(proc, timeout)","text":"

                  Terminate the subprocess if it hasn't finished after the given timeout

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/","title":"repository","text":"
                  • easybuild
                    • tools
                      • repository
                        • filerepo
                        • gitrepo
                        • hgrepo
                        • repository
                        • svnrepo
                  ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/","title":"filerepo","text":"

                  Repository tools

                  Plain filesystem repository

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  • Toon Willems (Ghent University)
                  • Ward Poelmans (Ghent University)
                  • Fotis Georgatos (Uni.Lu, NTUA)
                  ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository","title":"FileRepository","text":"

                  Bases: Repository

                  Class for file repositories.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous)","text":"

                  Add easyconfig to repository

                  PARAMETER DESCRIPTION cfg

                  location of easyconfig file

                  name

                  software name

                  version

                  software install version, incl. toolchain & versionsuffix

                  stats

                  build stats, to add to archived easyconfig

                  previous

                  list of previous build stats

                  RETURNS DESCRIPTION

                  location of archived easyconfig

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.add_patch","title":"add_patch(patch, name)","text":"

                  Add patch file to repository

                  PARAMETER DESCRIPTION patch

                  location of patch file

                  name

                  software name

                  RETURNS DESCRIPTION

                  location of archived patch

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.create_working_copy","title":"create_working_copy()","text":"

                  set the working directory to the repo directory

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.get_buildstats","title":"get_buildstats(name, ec_version)","text":"

                  return the build statistics

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/filerepo/#easybuild.tools.repository.filerepo.FileRepository.setup_repo","title":"setup_repo()","text":"

                  for file based repos this will create the repo directory if it doesn't exist.

                  if a subdir is specified also create the subdir

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/","title":"gitrepo","text":"

                  Repository tools

                  Git repository

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  • Toon Willems (Ghent University)
                  • Ward Poelmans (Ghent University)
                  • Fotis Georgatos (Uni.Lu, NTUA)
                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository","title":"GitRepository","text":"

                  Bases: FileRepository

                  Class for git repositories.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.__init__","title":"__init__(*args)","text":"

                  Initialize git client to None (will be set later) All the real logic is in the setup_repo and create_working_copy methods

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous_stats)","text":"

                  Add easyconfig to git repository

                  PARAMETER DESCRIPTION cfg

                  location of easyconfig file

                  name

                  software name

                  version

                  software install version, incl. toolchain & versionsuffix

                  stats

                  build stats, to add to archived easyconfig

                  previous_stats

                  list of previous build stats

                  RETURNS DESCRIPTION

                  location of archived easyconfig

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.add_patch","title":"add_patch(patch, name)","text":"

                  Add patch to git repository

                  PARAMETER DESCRIPTION patch

                  location of patch file

                  name

                  software name

                  RETURNS DESCRIPTION

                  location of archived patch

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.cleanup","title":"cleanup()","text":"

                  Clean up git working copy.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.commit","title":"commit(msg=None)","text":"

                  Commit working copy to git repository

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.create_working_copy","title":"create_working_copy()","text":"

                  Create git working copy.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.setup_repo","title":"setup_repo()","text":"

                  Set up git repository.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/gitrepo/#easybuild.tools.repository.gitrepo.GitRepository.stage_file","title":"stage_file(path)","text":"

                  Stage file at specified location in repository for commit

                  PARAMETER DESCRIPTION path

                  location of file to stage

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/","title":"hgrepo","text":"

                  Repository tools

                  Mercurial repository

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  • Toon Willems (Ghent University)
                  • Ward Poelmans (Ghent University)
                  • Fotis Georgatos (University of Luxembourg)
                  • Cedric Clerget (University of Franche-Comte)
                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository","title":"HgRepository","text":"

                  Bases: FileRepository

                  Class for hg repositories.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.__init__","title":"__init__(*args)","text":"

                  Initialize mercurial client to None (will be set later) All the real logic is in the setup_repo and create_working_copy methods

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous_stats)","text":"

                  Add easyconfig to Mercurial repository

                  PARAMETER DESCRIPTION cfg

                  location of easyconfig file

                  name

                  software name

                  version

                  software install version, incl. toolchain & versionsuffix

                  stats

                  build stats, to add to archived easyconfig

                  previous_stats

                  list of previous build stats

                  RETURNS DESCRIPTION

                  location of archived easyconfig

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.add_patch","title":"add_patch(patch, name)","text":"

                  Add patch to Mercurial repository

                  PARAMETER DESCRIPTION patch

                  location of patch file

                  name

                  software name

                  RETURNS DESCRIPTION

                  location of archived patch

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.cleanup","title":"cleanup()","text":"

                  Clean up mercurial working copy.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.commit","title":"commit(msg=None)","text":"

                  Commit working copy to mercurial repository

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.create_working_copy","title":"create_working_copy()","text":"

                  Create mercurial working copy.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.setup_repo","title":"setup_repo()","text":"

                  Set up mercurial repository.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/hgrepo/#easybuild.tools.repository.hgrepo.HgRepository.stage_file","title":"stage_file(path)","text":"

                  Stage file at specified location in repository for commit

                  PARAMETER DESCRIPTION path

                  location of file to stage

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/","title":"repository","text":"

                  Generic support for dealing with repositories

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  • Toon Willems (Ghent University)
                  • Ward Poelmans (Ghent University)
                  • Fotis Georgatos (Uni.Lu, NTUA)
                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository","title":"Repository","text":"

                  Bases: object

                  Interface for repositories

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.__init__","title":"__init__(repo_path, subdir='')","text":"

                  Initialize a repository. self.repo and self.subdir will be set. self.wc will be set to None. Then, setup_repo and create_working_copy will be called (in that order)

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous)","text":"

                  Add easyconfig to repository

                  PARAMETER DESCRIPTION cfg

                  location of easyconfig file

                  name

                  software name

                  version

                  software install version, incl. toolchain & versionsuffix

                  stats

                  build stats, to add to archived easyconfig

                  previous

                  list of previous build stats

                  RETURNS DESCRIPTION

                  location of archived easyconfig

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.add_patch","title":"add_patch(patch)","text":"

                  Add patch file to repository

                  PARAMETER DESCRIPTION patch

                  location of patch file

                  RETURNS DESCRIPTION

                  location of archived patch

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.cleanup","title":"cleanup()","text":"

                  Clean up working copy.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.commit","title":"commit(msg=None)","text":"

                  Commit working copy - add msg - add more info to msg

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.create_working_copy","title":"create_working_copy()","text":"

                  Create working copy.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.get_buildstats","title":"get_buildstats(name, ec_version)","text":"

                  Get the build statististics for software with name and easyconfig version

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.init","title":"init()","text":"

                  Prepare repository for use.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.is_initialized","title":"is_initialized()","text":"

                  Indicate whether repository was initialized.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.setup_repo","title":"setup_repo()","text":"

                  Set up repository.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.Repository.stage_file","title":"stage_file(path)","text":"

                  Stage file at specified location in repository for commit

                  PARAMETER DESCRIPTION path

                  location of file to stage

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.avail_repositories","title":"avail_repositories(check_useable=True)","text":"

                  Return all available repositories. check_useable: boolean, if True, only return usable repositories

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/repository/#easybuild.tools.repository.repository.init_repository","title":"init_repository(repository, repository_path)","text":"

                  Return an instance of the selected repository class.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/","title":"svnrepo","text":"

                  Repository tools

                  Svn repository

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Dries Verdegem (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Pieter De Baets (Ghent University)
                  • Jens Timmerman (Ghent University)
                  • Toon Willems (Ghent University)
                  • Ward Poelmans (Ghent University)
                  • Fotis Georgatos (Uni.Lu, NTUA)
                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository","title":"SvnRepository","text":"

                  Bases: FileRepository

                  Class for svn repositories

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.__init__","title":"__init__(*args)","text":"

                  Set self.client to None. Real logic is in setup_repo and create_working_copy

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.add_easyconfig","title":"add_easyconfig(cfg, name, version, stats, previous_stats)","text":"

                  Add easyconfig to SVN repository

                  PARAMETER DESCRIPTION cfg

                  location of easyconfig file

                  name

                  software name

                  version

                  software install version, incl. toolchain & versionsuffix

                  stats

                  build stats, to add to archived easyconfig

                  previous_stats

                  list of previous build stats

                  RETURNS DESCRIPTION

                  location of archived easyconfig

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.add_patch","title":"add_patch(patch, name)","text":"

                  Add patch to SVN repository

                  PARAMETER DESCRIPTION patch

                  location of patch file

                  name

                  software name

                  RETURNS DESCRIPTION

                  location of archived patch

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.cleanup","title":"cleanup()","text":"

                  Clean up SVN working copy.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.commit","title":"commit(msg=None)","text":"

                  Commit working copy to SVN repository

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.create_working_copy","title":"create_working_copy()","text":"

                  Create SVN working copy.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.setup_repo","title":"setup_repo()","text":"

                  Set up SVN repository.

                  ","boost":0.5},{"location":"api/easybuild/tools/repository/svnrepo/#easybuild.tools.repository.svnrepo.SvnRepository.stage_file","title":"stage_file(path)","text":"

                  Stage file at specified location in repository for commit

                  PARAMETER DESCRIPTION path

                  location of file to stage

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/","title":"toolchain","text":"
                  • easybuild
                    • tools
                      • toolchain
                        • compiler
                        • constants
                        • fft
                        • linalg
                        • mpi
                        • options
                        • toolchain
                        • toolchainvariables
                        • utilities
                        • variables
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/","title":"compiler","text":"

                  Toolchain compiler module, provides abstract class for compilers.

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  • Damian Alvarez (Forschungszentrum Juelich GmbH)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler","title":"Compiler","text":"

                  Bases: Toolchain

                  General compiler-like class can't be used without creating new class C(Compiler,Toolchain)

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler.__init__","title":"__init__(*args, **kwargs)","text":"

                  Compiler constructor.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler.comp_family","title":"comp_family(prefix=None)","text":"

                  Return compiler family used in this toolchain. @prefix: Prefix for compiler (e.g. 'CUDA_').

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler.set_options","title":"set_options(options)","text":"

                  Process compiler toolchain options.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.Compiler.set_variables","title":"set_variables()","text":"

                  Set the variables

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/compiler/#easybuild.tools.toolchain.compiler.mk_infix","title":"mk_infix(prefix)","text":"

                  Create an infix based on the given prefix.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/constants/","title":"constants","text":"

                  Toolchain specific variables

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/fft/","title":"fft","text":"

                  Toolchain fft module, provides abstract class for FFT libraries.

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/fft/#easybuild.tools.toolchain.fft.Fft","title":"Fft","text":"

                  Bases: Toolchain

                  General FFT-like class To provide FFT tools

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/fft/#easybuild.tools.toolchain.fft.Fft.set_variables","title":"set_variables()","text":"

                  Set the variables

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/","title":"linalg","text":"

                  Toolchain linalg module. Contains all (scalable) linear algebra related classes

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/#easybuild.tools.toolchain.linalg.LinAlg","title":"LinAlg","text":"

                  Bases: Toolchain

                  General LinearAlgebra-like class can't be used without creating new class S(LinAlg) To provide the BLAS/LAPACK/ScaLAPACK tools

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/#easybuild.tools.toolchain.linalg.LinAlg.blas_family","title":"blas_family()","text":"

                  Return type of BLAS library used in this toolchain.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/#easybuild.tools.toolchain.linalg.LinAlg.lapack_family","title":"lapack_family()","text":"

                  Return type of LAPACK library used in this toolchain.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/linalg/#easybuild.tools.toolchain.linalg.LinAlg.set_variables","title":"set_variables()","text":"

                  Set the variables

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/","title":"mpi","text":"

                  Toolchain mpi module. Contains all MPI related classes

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi","title":"Mpi","text":"

                  Bases: Toolchain

                  General MPI-like class can't be used without creating new class M(Mpi)

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi.mpi_cmd_for","title":"mpi_cmd_for(cmd, nr_ranks)","text":"

                  Construct an MPI command for the given command and number of ranks.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi.mpi_cmd_prefix","title":"mpi_cmd_prefix(nr_ranks=1)","text":"

                  Construct an MPI command prefix to precede an executable

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi.mpi_family","title":"mpi_family()","text":"

                  Return type of MPI library used in this toolchain.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.Mpi.set_variables","title":"set_variables()","text":"

                  Set the variables

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/mpi/#easybuild.tools.toolchain.mpi.get_mpi_cmd_template","title":"get_mpi_cmd_template(mpi_family, params, mpi_version=None)","text":"

                  Return template for MPI command, for specified MPI family.

                  PARAMETER DESCRIPTION mpi_family

                  MPI family to use to determine MPI command template

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/options/","title":"options","text":"

                  The toolchain options module contains the ToolchainOptions class These are the options that can be passed to the toolchain through the easyconfig files

                  Map values can be string with named templates By default following named options is filled %(opt)s : option name %(value)s : option value

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/options/#easybuild.tools.toolchain.options.ToolchainOptions","title":"ToolchainOptions","text":"

                  Bases: dict

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/options/#easybuild.tools.toolchain.options.ToolchainOptions.add_options","title":"add_options(options=None, options_map=None)","text":"

                  Add @options: dict with options : tuple option_name and option_description @options_map: dict with a mapping between and option and a value

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/options/#easybuild.tools.toolchain.options.ToolchainOptions.option","title":"option(name, templatedict=None)","text":"

                  Return option value

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/","title":"toolchain","text":"

                  The toolchain module with the abstract Toolchain class.

                  Creating a new toolchain should be as simple as possible.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain--toolchain-terminology","title":"Toolchain terminology","text":"

                  Toolchain: group of development related utilities (eg compiler) and libraries (eg MPI, linear algebra) -> eg tc=Toolchain()

                  Toolchain options : options passed to the toolchain through the easyconfig file -> eg tc.options

                  Options : all options passed to an executable Flags: specific subset of options, typically involved with compilation -> eg tc.variables.CFLAGS LinkOptions: specific subset of options, typically involved with linking -> eg tc.variables.LIBBLAS

                  TooclchainVariables: list of environment variables that are set when the toolchain is initialised and the toolchain options have been parsed. -> eg tc.variables['X'] will be available as os.environ['X']

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain","title":"Toolchain","text":"

                  Bases: object

                  General toolchain class

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.__init__","title":"__init__(name=None, version=None, mns=None, class_constants=None, tcdeps=None, modtool=None, hidden=False)","text":"

                  Toolchain constructor.

                  PARAMETER DESCRIPTION name

                  toolchain name

                  DEFAULT: None

                  version

                  toolchain version

                  DEFAULT: None

                  mns

                  module naming scheme to use

                  DEFAULT: None

                  class_constants

                  toolchain 'constants' to define

                  DEFAULT: None

                  tcdeps

                  list of toolchain 'dependencies' (i.e., the toolchain components)

                  DEFAULT: None

                  modtool

                  ModulesTool instance to use

                  DEFAULT: None

                  hidden

                  bool indicating whether toolchain is hidden or not

                  DEFAULT: False

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.add_dependencies","title":"add_dependencies(dependencies)","text":"

                  [DEPRECATED] Verify if the given dependencies exist, and return them.

                  This method is deprecated. You should pass the dependencies to the 'prepare' method instead, via the 'deps' named argument.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.as_dict","title":"as_dict(name=None, version=None)","text":"

                  Return toolchain specification as a dictionary.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.banned_linked_shared_libs","title":"banned_linked_shared_libs()","text":"

                  List of shared libraries (names, file names, paths) which are not allowed to be linked in any installed binary/library.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.base_init","title":"base_init()","text":"

                  Initialise missing class attributes (log, options, variables).

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.blas_family","title":"blas_family()","text":"

                  Return type of BLAS library used in this toolchain, or 'None' if BLAS is not supported.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.cleanup","title":"cleanup()","text":"

                  Clean up after using this toolchain

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.comp_cache_compilers","title":"comp_cache_compilers(cache_tool)","text":"

                  Determine list of relevant compilers for specified compiler caching tool.

                  PARAMETER DESCRIPTION cache_tool

                  name of compiler caching tool

                  RETURNS DESCRIPTION

                  list of names of relevant compilers

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.comp_family","title":"comp_family()","text":"

                  Return compiler family used in this toolchain (abstract method).

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.compilers","title":"compilers()","text":"

                  Return list of relevant compilers for this toolchain

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.definition","title":"definition()","text":"

                  Determine toolchain elements for given Toolchain instance.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.det_short_module_name","title":"det_short_module_name()","text":"

                  Determine module name for this toolchain.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.generate_vars","title":"generate_vars()","text":"

                  Convert the variables in simple vars

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_dependency_version","title":"get_dependency_version(dependency)","text":"

                  Generate a version string for a dependency on a module using this toolchain

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_flag","title":"get_flag(name)","text":"

                  Get compiler flag for a certain option.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_software_root","title":"get_software_root(names)","text":"

                  Try to get the software root for all names

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_software_version","title":"get_software_version(names, required=True)","text":"

                  Try to get the software version for all names

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.get_variable","title":"get_variable(name, typ=str)","text":"

                  Get value for specified variable. typ: indicates what type of return value is expected

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.handle_sysroot","title":"handle_sysroot()","text":"

                  Extra stuff to be done when alternate system root is specified via --sysroot EasyBuild configuration option.

                  • Update $PKG_CONFIG_PATH to include sysroot location to pkg-config files (*.pc).
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_dep_in_toolchain_module","title":"is_dep_in_toolchain_module(name)","text":"

                  Check whether a specific software name is listed as a dependency in the module for this toolchain.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_deprecated","title":"is_deprecated()","text":"

                  Return whether or not this toolchain is deprecated.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_required","title":"is_required(name)","text":"

                  Determine whether this is a required toolchain element.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_rpath_wrapper","title":"is_rpath_wrapper(path) staticmethod","text":"

                  Check whether command at specified location already is an RPATH wrapper script rather than the actual command

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.is_system_toolchain","title":"is_system_toolchain()","text":"

                  Return boolean to indicate whether this toolchain is a system(/dummy) toolchain.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.lapack_family","title":"lapack_family()","text":"

                  Return type of LAPACK library used in this toolchain, or 'None' if LAPACK is not supported.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.mpi_family","title":"mpi_family()","text":"

                  Return type of MPI library used in this toolchain, or 'None' if MPI is not supported.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.prepare","title":"prepare(onlymod=None, deps=None, silent=False, loadmod=True, rpath_filter_dirs=None, rpath_include_dirs=None)","text":"

                  Prepare a set of environment parameters based on name/version of toolchain - load modules for toolchain and dependencies - generate extra variables and set them in the environment

                  PARAMETER DESCRIPTION deps

                  list of dependencies

                  DEFAULT: None

                  onlymod

                  boolean/string to indicate if the toolchain should only load the environment with module (True) or also set all other variables (False) like compiler CC etc (If string: comma separated list of variables that will be ignored).

                  DEFAULT: None

                  silent

                  keep quiet, or not (mostly relates to extended dry run output)

                  DEFAULT: False

                  loadmod

                  whether or not to (re)load the toolchain module, and the modules for the dependencies

                  DEFAULT: True

                  rpath_filter_dirs

                  extra directories to include in RPATH filter (e.g. build dir, tmpdir, ...)

                  DEFAULT: None

                  rpath_include_dirs

                  extra directories to include in RPATH

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.prepare_compiler_cache","title":"prepare_compiler_cache(cache_tool)","text":"

                  Prepare for using specified compiler caching tool (e.g., ccache, f90cache)

                  PARAMETER DESCRIPTION cache_tool

                  name of compiler caching tool to prepare for

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.prepare_rpath_wrappers","title":"prepare_rpath_wrappers(rpath_filter_dirs=None, rpath_include_dirs=None)","text":"

                  Put RPATH wrapper script in place for compiler and linker commands

                  PARAMETER DESCRIPTION rpath_filter_dirs

                  extra directories to include in RPATH filter (e.g. build dir, tmpdir, ...)

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.required_linked_shared_libs","title":"required_linked_shared_libs()","text":"

                  List of shared libraries (names, file names, paths) which must be linked in all installed binaries/libraries.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.reset","title":"reset()","text":"

                  Reset this toolchain instance.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.set_minimal_build_env","title":"set_minimal_build_env()","text":"

                  Set up a minimal build environment, by setting (only) the $CC and $CXX environment variables.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.set_options","title":"set_options(options)","text":"

                  Process toolchain options

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.set_variables","title":"set_variables()","text":"

                  Do nothing? Everything should have been set by others Needs to be defined for super() relations

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.show_variables","title":"show_variables(offset='', sep='\\n', verbose=False)","text":"

                  Pretty print the variables

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.symlink_commands","title":"symlink_commands(paths)","text":"

                  Create a symlink for each command to binary/script at specified path.

                  PARAMETER DESCRIPTION paths

                  dictionary containing one or mappings, each one specified as a tuple: (, )

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.toolchain_family","title":"toolchain_family()","text":"

                  Return toolchain family for this toolchain.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.Toolchain.variables_init","title":"variables_init()","text":"

                  Initialise toolchain variables.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.env_vars_external_module","title":"env_vars_external_module(name, version, metadata)","text":"

                  Determine $EBROOT and/or $EBVERSION environment variables that can be set for external module, based on the provided name, version and metadata.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchain/#easybuild.tools.toolchain.toolchain.is_system_toolchain","title":"is_system_toolchain(tc_name)","text":"

                  Return whether toolchain with specified name is a system toolchain or not.

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchainvariables/","title":"toolchainvariables","text":"

                  Toolchain specific variables

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchainvariables/#easybuild.tools.toolchain.toolchainvariables.ToolchainVariables","title":"ToolchainVariables","text":"

                  Bases: Variables

                  Class to hold variable-like key/value pairs in context of compilers (i.e. the generated string are e.g. compiler options or link flags)

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/toolchainvariables/#easybuild.tools.toolchain.toolchainvariables.ToolchainVariables.add_begin_end_linkerflags","title":"add_begin_end_linkerflags(lib, toggle_startstopgroup=False, toggle_staticdynamic=False)","text":"

                  For given lib if toggle_startstopgroup: toggle begin/end group if toggle_staticdynamic: toggle static/dynamic

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/utilities/","title":"utilities","text":"

                  Toolchain utility module

                  Easy access to actual Toolchain classes search_toolchain

                  Based on VSC-tools vsc.mympirun.mpi.mpi and vsc.mympirun.rm.sched

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/utilities/#easybuild.tools.toolchain.utilities.get_toolchain","title":"get_toolchain(tc, tcopts, mns=None, tcdeps=None, modtool=None)","text":"

                  Return an initialized toolchain for the given specifications. If none is available in the toolchain instances cache, a new one is created.

                  PARAMETER DESCRIPTION tc

                  dictionary specifying toolchain name/version

                  tcopts

                  dictionary specifying toolchain options

                  mns

                  module naming scheme to use

                  DEFAULT: None

                  tcdeps

                  toolchain dependencies (i.e. toolchain components)

                  DEFAULT: None

                  modtool

                  ModulesTool instance to use

                  DEFAULT: None

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/utilities/#easybuild.tools.toolchain.utilities.search_toolchain","title":"search_toolchain(name)","text":"

                  Obtain a Toolchain instance for the toolchain with specified name, next to a list of available toolchains.

                  PARAMETER DESCRIPTION name

                  toolchain name

                  RETURNS DESCRIPTION

                  Toolchain instance (or None), found_toolchains

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/","title":"variables","text":"

                  Toolchain specific variables

                  Authors:

                  • Stijn De Weirdt (Ghent University)
                  • Kenneth Hoste (Ghent University)
                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.CommaSharedLibs","title":"CommaSharedLibs","text":"

                  Bases: LibraryList

                  Comma-separated list of shared libraries

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.CommaStaticLibs","title":"CommaStaticLibs","text":"

                  Bases: LibraryList

                  Comma-separated list of static libraries

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.CommandFlagList","title":"CommandFlagList","text":"

                  Bases: FlagList

                  Command and flags list First of the list has no prefix (i.e. the executable) The remainder of the options are considered flags

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.FlagList","title":"FlagList","text":"

                  Bases: StrList

                  Flag list

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.IncludePaths","title":"IncludePaths","text":"

                  Bases: AbsPathList

                  Absolute path to directory containing include files

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LibraryList","title":"LibraryList","text":"

                  Bases: StrList

                  Link library list

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LibraryList.change","title":"change(separator=None, separator_begin_end=None, prefix=None, prefix_begin_end=None)","text":"

                  Change prefix and/or separator of base and/or BEGIN/END

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LibraryList.set_packed_linker_options","title":"set_packed_linker_options(separator=',', separator_begin_end=',', prefix=None, prefix_begin_end=None)","text":"

                  Use packed linker options format

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkLibraryPaths","title":"LinkLibraryPaths","text":"

                  Bases: AbsPathList

                  Absolute path to directory containing libraries

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList","title":"LinkerFlagList","text":"

                  Bases: StrList

                  Linker flags

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList.toggle_dynamic","title":"toggle_dynamic()","text":"

                  Append dynamic linking flags

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList.toggle_startgroup","title":"toggle_startgroup()","text":"

                  Append start group

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList.toggle_static","title":"toggle_static()","text":"

                  Append static linking flags

                  ","boost":0.5},{"location":"api/easybuild/tools/toolchain/variables/#easybuild.tools.toolchain.variables.LinkerFlagList.toggle_stopgroup","title":"toggle_stopgroup()","text":"

                  Append stop group

                  ","boost":0.5},{"location":"demos/","title":"Demos","text":"

                  List of available demos:

                  • Demo: configuring EasyBuild
                  • Demo: reviewing easyconfig pull requests with eb --review-pr
                  "},{"location":"demos/configuring/","title":"Demo: configuring EasyBuild","text":"

                  (see also Configuring EasyBuild)

                  "},{"location":"demos/review-pr/","title":"Demo: reviewing easyconfig pull requests with eb --review-pr","text":"

                  (see also Comparing with existing easyconfigs (--review-pr))

                  "},{"location":"easybuild-v4/overview-of-changes/","title":"Overview of changes in EasyBuild version 4.0","text":"

                  This page provides a concise overview of the most prominent changes in EasyBuild version 4.0, compared to the latest EasyBuild v3.x (version 3.9.4).

                  A detailed overview with links to the pull requests in which the changes are made is available in the EasyBuild release notes (see EasyBuild v4.0.0 (September 20th 2019) in particular).

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_significant_enhancements","title":"Significant enhancements in EasyBuild v4.0","text":"

                  Various significant enhancements are included in EasyBuild v4.0, including:

                  • No more required Python packages
                  • Support for running EasyBuild on top of Python 3
                  • Custom software-specific easyblocks for iccifort, numexpr, OpenMPI
                  • 2019b update of common toolchains
                  • Local variables in easyconfigs should follow recommended naming scheme
                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_no_required_deps","title":"No more required Python packages","text":"

                  To simplify the installation of EasyBuild, no Python packages other than the ones included in the Python standard library are required for EasyBuild v4.0. More specifically:

                  • setuptools is no longer a required dependency, neither for using EasyBuild nor for installing it. This change was motivated by the various problems with installing EasyBuild that were reported, which could often be attributed to setuptools in one way or another (ancient versions being installed via the OS package manager, quirky or broken functionality in specific versions, etc.).
                  • vsc-base and vsc-install are no longer required dependencies. The relevant parts of these packages were ingested into the EasyBuild framework codebase itself (see also Ingested functionality from vsc-base and vsc-install), mostly to facilitate making EasyBuild compatible with Python 3.

                  Note that specific Python packages may currently still be required for certain EasyBuild functionality outside of the core functionality of building and installing scientific software, including keyring for the GitHub integration features (see Integration with GitHub), etc.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_python3_support","title":"Support for running EasyBuild on top of Python 3","text":"

                  A significant effort has been made to ensure that the EasyBuild framework and the easyblocks included with EasyBuild are compatible with Python 3, while retaining the compatibility with Python 2.

                  Currently supported Python versions include: 2.6, 2.7, 3.5, 3.6, 3.7.

                  To achieve this in a maintainable way, the easybuild.tools.py2vs3 package was introduced. For more details, please see Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_custom_easyblocks","title":"Custom software-specific easyblocks for iccifort, numexpr, OpenMPI","text":"

                  A couple of additional custom software-specific easyblocks were added in EasyBuild v4.0, including:

                  • iccifort: to install icc and ifort together in a single prefix, and use that installation as a toolchain
                  • numexpr: to ensure that numexpr is linked with Intel MKL's VML when it is available
                  • OpenMPI: to improve the (default) configuration of OpenMPI based on installed OS packages (for example for InfiniBand support) and available dependencies

                  In addition, various (generic and software-specific) easyblocks were improved and enhanced (see EasyBuild release notes for more details).

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_2019b_common_toolchains","title":"2019b update of common toolchains","text":"

                  The 2019b update of the common toolchains is included with EasyBuild v4.0; see also Common toolchains.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_local_variables","title":"Local variables in easyconfigs should follow recommended naming scheme","text":"

                  A recommended naming scheme for local variables in easyconfig files was introduced.

                  If an easyconfig file contains local variables that do not follow the recommended naming scheme, a warning will be printed (by default).

                  For more information, see Local variables in easyconfig files.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_backwards_incompatible","title":"Backwards-incompatible changes in EasyBuild v4.0","text":"

                  A couple of backwards-incompatible changes were made in EasyBuild v4.0:

                  • --fixed-installdir-naming-scheme enabled by default
                  • Relocated functions, classes and constants in EasyBuild framework
                  • Ingested functionality from vsc-base and vsc-install
                  • Functions & classes that must be imported from the easybuild.tools.py2vs3 namespace

                  Note

                  Other than the changed default configuration, these changes are mainly important for developers of the EasyBuild framework and easyblock implementers.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_fixed_installdir_naming_scheme","title":"--fixed-installdir-naming-scheme enabled by default","text":"

                  The --fixed-installdir-naming-scheme was changed to be enabled by default, which makes the name of the software installation directory independent of the module naming scheme being used.

                  With this configuration setting enabled, the name of software installation directories will match the module name generated by the (default) EasyBuildMNS module naming scheme.

                  So, for an easyconfig file example-1.2.3-foss-2019b.eb, the software installation directory will always be <prefix>/software/example/1.2.3-foss-2019b, regardless of the active module naming scheme.

                  This change was done to make it easier to generate module files using one or more additional module naming scheme (using --module-only) for already existing software installations. Only when the name of the software installation directories is independent of the module naming scheme being used during the (first) installation is it possible to later generate additional module files using a different module naming scheme.

                  Note

                  Having --fixed-installdir-naming-scheme enabled should not cause problems in existing setups.

                  Mixing different naming schemes for software installations directories in a single software stack works just fine; it's mostly a matter of inconsistency that could be confusing for humans.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_fixed_installdir_naming_scheme_disabling","title":"Disabling --fixed-installdir-naming-scheme","text":"

                  If you are using a module naming scheme other than the default EasyBuildMNS, you may prefer disabling --fixed-installdir-naming-scheme to maintain consistency in the names of software installation directories. Do note that this implies that you won't be able to generate additional modules files using a different module naming scheme for existing installations.

                  To disable --fixed-installdir-naming-scheme, you can either

                  • disable the fixed-installdir-naming-scheme configuration option in the [override] section of an EasyBuild configuration file:

                    [override]\nfixed-installdir-naming-scheme = 0\n

                    (see also Configuration file(s))

                  • set the $EASYBUILD_DISABLE_FIXED_INSTALLDIR_NAMING_SCHEME environment variable:

                    export EASYBUILD_DISABLE_FIXED_INSTALLDIR_NAMING_SCHEME=1\n

                    (see also Environment variables)

                  • use the --disable-fixed-installdir-naming-scheme ... command line option:

                    eb --disable-fixed-installdir-naming-scheme ...\n

                    (see also Command line arguments)

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_relocated_stuff","title":"Relocated functions, classes and constants in EasyBuild framework","text":"

                  A limited number of functions, classes and constants have been relocated in the EasyBuild framework.

                  This was done mostly to ensure that the __init__.py files that define packages are empty, other than the pkgutil.extend_path (which replaces the pkg_resources.declare_namespace which requires setuptools, see also No more required Python packages).

                  Making EasyBuild compatible with Python 3 also required some similar changes, see Functions & classes that must be imported from the easybuild.tools.py2vs3 namespace.

                  A detailed overview of relocated functions and constants is available at Overview of relocated functions, classes and constants in EasyBuild v4.0.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_ingested_vsc_base","title":"Ingested functionality from vsc-base and vsc-install","text":"

                  The functionality from the vsc-base and vsc-install packages required by EasyBuild has been ingested in the EasyBuild framework, see also No more required Python packages.

                  This has primarily been done in the new easybuild.base package, so in general imports from a module in the vsc.utils package should be replaced with a corresponding import statement from that same module in the easybuild.base package.

                  A number of specific functions and classes have been placed in existing modules in the easybuild.tools package instead.

                  The affected functions are listed in Overview of relocated functions, classes and constants in EasyBuild v4.0.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_ingested_vsc_base_fake_vsc_namespace","title":"Fake vsc namespace","text":"

                  To avoid that any functionality is imported from an already installed vsc-base (or vsc-install) package, which could lead to strange side-effects, a fake vsc namespace is injected since EasyBuild v4.0.

                  If an import from vsc.utils.* is detected (for example from an easyblock or from a module that is included via one of the --include-* options), an error like this will be produced:

                  ERROR: Detected import from 'vsc' namespace in /home/example/old_easyblock.py (line 7)\nvsc-base & vsc-install were ingested into the EasyBuild framework in EasyBuild v4.0\nThe functionality you need may be available in the 'easybuild.base.*' namespace.\n
                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_py2vs3","title":"Functions & classes that must be imported from the easybuild.tools.py2vs3 namespace","text":"

                  A handful functions and classes that could be imported directly from the Python standard library should now be imported from the easybuild.tools.py2vs3 namespace instead (perhaps under a different name), to ensure compatibility with Python 2 and 3.

                  See Compatibility with Python 2 and Python 3 for more information.

                  The affected functions are also included in Overview of relocated functions, classes and constants in EasyBuild v4.0.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_deprecated","title":"Deprecated functionality in EasyBuild v4.0","text":"

                  Some functionality was deprecated in EasyBuild v4.0, and will no longer be supported in EasyBuild v5.0.

                  If you trigger any deprecated functionality, a warning message will be printed.

                  "},{"location":"easybuild-v4/overview-of-changes/#eb4_changes_dummy_tc","title":"Deprecated dummy toolchain","text":"

                  The dummy toolchain is now deprecated, and has been replaced with the system toolchain.

                  For more information, please consult System toolchain.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/","title":"Overview of relocated functions, classes and constants in EasyBuild v4.0","text":"

                  This page provides an alphabetical overview of relocated functions, classes and constants in EasyBuild version 4.0; see Backwards-incompatible changes in EasyBuild v4.0 for motivation and high-level information.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_basestring","title":"basestring type","text":"

                  Rather than using the basestring type from the Python 2 standard library directly (for example in an isinstance expression), the string_type type from the easybuild.tools.py2vs3 package should be used instead, to ensure that the code is compatible with both Python 2 and 3.

                  See also Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_configparser","title":"configparser module","text":"

                  The configparser module that is part of the Python 2 standard library (via ConfigParser) must now be imported from the easybuild.tools.py2vs3 package, to ensure that the code is compatible with both Python 2 and 3.

                  See also Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_DEVEL_MODULE_SUFFIX","title":"DEVEL_MODULE_SUFFIX constant","text":"

                  The DEVEL_MODULE_SUFFIX constant was relocated from easybuild.tools.module_naming_scheme to easybuild.tools.module_naming_scheme.mns.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_DUMMY_TOOLCHAIN_NAME_VERSION:","title":"DUMMY_TOOLCHAIN_NAME and DUMMY_TOOLCHAIN_VERSION constants","text":"

                  The DUMMY_TOOLCHAIN_NAME and DUMMY_TOOLCHAIN_VERSION constants were relocated from easybuild.tools.toolchain to easybuild.tools.toolchain.toolchain.

                  Note

                  Since the dummy toolchain has been deprecated and is replaced by the system toolchain (see System toolchain), you should use the is_system_toolchain function or Toolchain.is_system_toolchain method to check whether a toolchain is a dummy or system toolchain, rather than using these constants directly (or using the SYSTEM_TOOLCHAIN-* equivalents).

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_FrozenDictKnownKeys","title":"FrozenDictKnownKeys class","text":"

                  The FrozenDictKnownKeys class from vsc.utils.missing is now available from easybuild.base.frozendict.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_GEENRAL_CLASS","title":"GENERAL_CLASS constant","text":"

                  The GENERAL_CLASS constant was relocated from easybuild.tools.module_naming_scheme to easybuild.tools.config.

                  get_class_for function {: #eb4_relocated_get_class_for }

                  The get_class_for function from vsc.utils.missing is now available from easybuild.tools.utilities.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_get_subclasses","title":"get_subclasses function","text":"

                  The get_subclasses function from vsc.utils.missing is now available from easybuild.tools.utilities.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_INDENT_4SPACES","title":"INDENT_4SPACES constant","text":"

                  The INDENT_4SPACES constants was relocated from easybuild.framework.easyconfig.format.format to easybuild.tools.utilities.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_mk_rst_table","title":"mk_rst_table function","text":"

                  The mk_rst_table function from vsc.utils.docs is now available from easybuild.tools.docs.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_ModuleNamingScheme","title":"ModuleNamingScheme class","text":"

                  The ModuleNamingScheme class was relocated from easybuild.tools.module_naming_scheme to easybuild.tools.module_naming_scheme.mns.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_nub","title":"nub function","text":"

                  The nub function from vsc.utils.missing is now available from easybuild.tools.utilities.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_OrderedDict","title":"OrderedDict class","text":"

                  The OrderedDict class that is part of the Python 2 standard library (via collections) must now be imported from the easybuild.tools.py2vs3 package, to ensure that the code is compatible with both Python 2 and 3.

                  See also Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_reload","title":"reload function","text":"

                  The reload function that is a built-in function of the Python 2 standard library must now be imported from the easybuild.tools.py2vs3 package, to ensure that the code is compatible with both Python 2 and 3.

                  See also Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_shell_quote","title":"shell_quote function","text":"

                  The shell_quote function from vsc.utils.missing is now available from easybuild.tools.utilities.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_sched_getaffinity","title":"sched_getaffinity function","text":"

                  The sched_getaffinity function from vsc.utils.affinity is now available from easybuild.tools.systemtools.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_Singleton","title":"Singleton class","text":"

                  The Singleton class from vsc.utils.patterns is now available from easybuild.tools.config.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_StringIO","title":"StringIO class","text":"

                  Rather than importing the StringIO class from the StringIO module of the Python 2 standard library, it should be imported from the easybuild.tools.py2vs3 package instead, to ensure that the code is compatible with both Python 2 and 3.

                  See also Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_subprocess_Popen","title":"subprocess.Popen function","text":"

                  Rather than using the subprocess.Popen function directly, the subprocess_popen_text function from the easybuild.tools.py2vs3 package should be used instead, to ensure that the code is compatible with both Python 2 and 3.

                  See also Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_urlencode","title":"urlencode function","text":"

                  Rather than importing the urlencode function from the urllib module of the Python 2 standard library, it should be imported from the easybuild.tools.py2vs3 package instead, to ensure that the code is compatible with both Python 2 and 3.

                  See also Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_urllib","title":"urllib module","text":"

                  Rather than using the urllib module from the Python 2 standard library directly, the std_urllib module from the easybuild.tools.py2vs3 package should be used instead, to ensure that the code is compatible with both Python 2 and 3.

                  See also Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_urllib2","title":"urllib2 module","text":"

                  Functions that were imported from the urllib2 package that is part of the Python 2 standard library must now be imported from the easybuild.tools.py2vs3 package, to ensure that the code is compatible with both Python 2 and 3.

                  See also Compatibility with Python 2 and Python 3.

                  "},{"location":"easybuild-v4/overview-relocated-functions-constants/#eb4_relocated_vsc_utils_modules","title":"vsc.utils.* modules","text":"

                  The functionality from the following vsc.utils.* modules required by EasyBuild has been ingested in the corresponding easybuild.base.* module:

                  • vsc.utils.exceptions
                  • vsc.utils.fancylogger
                  • vsc.utils.generaloption
                  • vsc.utils.optcomplete
                  • vsc.utils.rest
                  • vsc.utils.testing
                  • vsc.utils.wrapper

                  See also No more required Python packages.

                  "},{"location":"easybuild-v5/","title":"EasyBuild v5.0","text":"
                  • Overview of changes
                  • GitHub Project board
                  • Talk on EasyBuild 5.0 at EUM'23
                  "},{"location":"easybuild-v5/overview-of-changes/","title":"Overview of changes in EasyBuild version 5.0","text":"

                  Warning

                  EasyBuild 5.0 is currently still under development, via the 5.0.x branches in the EasyBuild GitHub repositories.

                  We intend to update this page regularly as the planned changes are being implemented and when there are proposed changes where we are requesting community feedback.

                  This page provides a concise overview of the most prominent changes in EasyBuild version 5.0, which can be categorized as:

                  • Significant enhancements
                  • Backward-incompatible changes
                  • Deprecated functionality

                  For in-depth details on a particular change, see the pull requests that are linked from each of the subsections below.

                  "},{"location":"easybuild-v5/overview-of-changes/#eb5_changes","title":"Planned and proposed changes for EasyBuild v5.0","text":"

                  At the EasyBuild User Meeting, Simon Branford set out the roadmap for EasyBuild v5.0.

                  "},{"location":"easybuild-v5/overview-of-changes/#eb5_proposals","title":"Proposed changes for EasyBuild v5.0","text":"

                  There are several proposed changes where the EasyBuild maintainers are seeking community feedback. If you wish to provide feedback then please comment in the GitHub issue for the proposal.

                  • Minimum supported Lmod Version
                  • Toolchain Support Policy
                  "},{"location":"easybuild-v5/overview-of-changes/#eb5_plans","title":"Planned changes for EasyBuild v5.0","text":"
                  • enable --trace by default

                  Note

                  This list is the major planned changes. It is not intended to be a complete list of all changes that are planned for EasyBuild v5.0.

                  "},{"location":"easybuild-v5/overview-of-changes/#tracking-development-of-easybuild-v50","title":"Tracking development of EasyBuild v5.0","text":"
                  • GitHub Project board for EasyBuild v5.0
                  "},{"location":"easybuild-v5/overview-of-changes/#significant_enhancements","title":"Significant enhancements in EasyBuild v5.0","text":"

                  Various significant enhancements are included in EasyBuild v5.0, including:

                  • (no significant enhancements implemented so far in the 5.0.x branches)
                  "},{"location":"easybuild-v5/overview-of-changes/#backwards_incompatible","title":"Backwards-incompatible changes in EasyBuild v4.0","text":"

                  A number of backwards-incompatible changes are being made in EasyBuild v5.0:

                  • Support for Python 2.7 is removed -- Python 3.6+ is required
                  • Deprecated EasyBuild bootstrap script is removed
                  • Experimental support for the .yeb easyconfig format is removed
                  "},{"location":"easybuild-v5/overview-of-changes/#py36","title":"Support for Python 2.7 is removed -- Python 3.6+ is required","text":"

                  EasyBuild 5.0 requires Python >= 3.6 to run.

                  Running EasyBuild with Python 2.7 or a Python 3 version older than Python 3.6 is no longer supported.

                  Trying to run EasyBuild with a Python version that is too old will result in an error:

                  ERROR: No compatible 'python' command found via $PATH (EasyBuild requires Python 3.6+)\n

                  Python 2.7 has been end-of-life since 1 Jan 2020, and dropping compatibility with Python 2.7 and Python 3.5 enabled some significant code cleanup (see easybuild-framework PR #4229).

                  The results of the 6th EasyBuild User Survey (2022) show that the impact of this breaking change on the EasyBuild community should be very limited, since:

                  • Only ~13% of survey participants were still running EasyBuild on top of Python 2.7;
                  • No survey participants reported using Python 3.5;
                  • Over 85% of survey participants reported using Python 3.6, or a more recent version of Python 3;
                  • Only 3 out of 118 survey participants (~2.5%) reported that dropping support for running EasyBuild on top of Python 2 would be problematic for them;

                  Along with actively removing code that was only required to retain compatibility with Python 2.7 or 3.5, the easybuild.tools.py2vs3 module that was introduced to facilitate supporting both Python 2.7 and Python 3 has been deprecated (see also below).

                  "},{"location":"easybuild-v5/overview-of-changes/#bootstrap_script","title":"Deprecated EasyBuild bootstrap script is removed","text":"

                  The EasyBuild bootstrap script has been removed (see easybuild-framework PR #4233). Please see the installation page for the suggested methods for installing EasyBuild.

                  "},{"location":"easybuild-v5/overview-of-changes/#yeb","title":"Experimental support for the .yeb easyconfig format is removed","text":"

                  Support for the experimental .yeb easyconfig format has been removed (see easybuild-framework PR #4237). This format allowed easyconfigs to be specified in YAML. However, there has been no recent development of this format and little suggestion that anyone was using it.

                  "},{"location":"easybuild-v5/overview-of-changes/#deprecated_v5","title":"Deprecated functionality in EasyBuild v5.0","text":"

                  Some functionality is being deprecated in EasyBuild v5.0, and will no longer be supported in EasyBuild v6.0:

                  • easybuild.tools.py2vs3 module

                  If you trigger any deprecated functionality, a warning message will be printed.

                  "},{"location":"easybuild-v5/overview-of-changes/#py2vs3","title":"easybuild.tools.py2vs3 module","text":"

                  easybuild-framework PR #4229

                  The following table lists the changes required to replace imports from the the py2vs3 module.

                  from easybuild.tools.py2vs3 import ... Replacement ascii_letters from string import ascii_letters ascii_lowercase from string import ascii_lowercase build_opener from urllib.request import build_opener ConfigParser from configparser import ConfigParser configparser import configparser create_base_metaclass from easybuild.base.wrapper import create_base_metaclass extract_method_name No import required. Replace extract_method_name(method) with '_'.join(method.__code__.co_names) HTMLParser from html.parser import HTMLParser HTTPError from urllib.request import HTTPError HTTPSHandler from urllib.request import HTTPSHandler json_loads from json import loads and rename json_loads to loads Mapping from collections.abc import Mapping mk_wrapper_baseclass from easybuild.base.wrapper import mk_wrapper_baseclass OrderedDict from collections import OrderedDict raise_with_traceback No import required. Replace raise_with_traceback(exception, message, tb) with raise exception(message).with_traceback(tb) reload from importlib import reload Request from urllib.request import Request string_type No import required. Use str directly. StringIO from io import StringIO std_urllib import urllib.request as std_urllib subprocess_popen_text from easybuild.tools.run import subprocess_popen_text subprocess_terminate from easybuild.tools.run import subprocess_terminate urlencode from urllib.parse import urlencode URLError from urllib.request import URLError urlopen from urllib.request import urlopen"},{"location":"legacy/configuration/","title":"Configuration Legacy","text":"

                  Legacy configuration is currently deprecated!

                  If you are a new user of EasyBuild you can safely ignore everything below this line, refer instead to Configuring EasyBuild.

                  "},{"location":"legacy/configuration/#porting-from-legacy-configuration-style","title":"Porting from legacy configuration style","text":"

                  In EasyBuild v1.x, a couple of configuration options, other than the standard ones aligned with variables, are available that follow the legacy configuration style, including:

                  • the -C and --config command line arguments ( use --configfiles instead )
                  • the $EASYBUILDCONFIG environment variable ( use $EASYBUILD_CONFIGFILES instead )
                  • the default path $HOME/.easybuild/config.py ( new-style default path is $XDG_CONFIG_HOME/easybuild/config.cfg)
                  • the legacy fallback path <installpath>/easybuild/easybuild_config.py ( only default/fallback path is $XDG_CONFIG_HOME/easybuild/config.cfg)

                  Likewise, the following legacy environment variables allowed to override selected configuration settings:

                  • $EASYBUILDBUILDPATH: build path to be used by EasyBuild ( use $EASYBUILD_BUILDPATH instead )
                  • $EASYBUILDINSTALLPATH: install path to be used by EasyBuild ( use $EASYBUILD_INSTALLPATH instead )
                  • $EASYBUILDSOURCEPATH: source path to be used by EasyBuild ( use $EASYBUILD_SOURCEPATH instead )
                  • $EASYBUILDPREFIX: build/install/source path prefix to be used ( use $EASYBUILD_PREFIX instead )

                  We strongly advise to switch to the new way of configuring EasyBuild as soon as possible, since the legacy configuration style will no longer be supported in EasyBuild v2.x.

                  "},{"location":"legacy/configuration/#how-easybuild-used-to-be-configured-in-the-early-days","title":"How EasyBuild used to be configured in the early days","text":"

                  Configuring EasyBuild is done by providing a configuration file.

                  EasyBuild expects the configuration file to contain valid Python code, because it executes its contents (using exec). The rationale is that this approach provides a lot of flexibility for configuring EasyBuild.

                  EasyBuild will use the file that is provided by the path/filename in the following order of preference:

                  • path/filename specified on the EasyBuild command line (using --config),
                  • path/filename obtained from the environment variable EASYBUILDCONFIG (if it is defined)
                  • $HOME/.easybuild/config.py (as of EasyBuild v1.1)
                  • the (default) configuration file at <path where EasyBuild was installed>/easybuild/easybuild_config.py
                  "},{"location":"legacy/configuration/#configuration-variables","title":"Configuration variables","text":"

                  The configuration file must define the following five variables: build_path, install_path, source_path, repository, and log_format. If one of them is not defined, EasyBuild will complain and exit.

                  "},{"location":"legacy/configuration/#build-path-required","title":"Build path (required)","text":"

                  The build_path variable specifies the directory in which EasyBuild builds its software packages.

                  Each software package is (by default) built in a subdirectory of the build_path under <name>/<version>/<toolchain><versionsuffix>.

                  Note that the build directories are emptied by EasyBuild when the installation is completed (by default).

                  "},{"location":"legacy/configuration/#install-path-required","title":"Install path (required)","text":"

                  The install_path variable specifies the directory in which EasyBuild installs software packages and the corresponding module files.

                  The packages themselves are installed under install_path/software in their own subdirectory aptly named <name>/<version>-<toolchain><versionsuffix> (by default), where name is the package name. The corresponding module files are installed under install_path/modules.

                  Setting $MODULEPATH

                  After the configuration, you need to make sure that $MODULEPATH environment variable is extended with the modules/all subdirectory of the install_path, i.e.:

                  export MODULEPATH=<install_path>/modules/all:$MODULEPATH\n

                  It is probably a good idea to add this to your (favourite) shell .rc file, e.g., .bashrc, and/or the .profile login scripts, so you do not need to adjust the $MODULEPATH variable every time you start a new session.

                  "},{"location":"legacy/configuration/#source-path-required","title":"Source path (required)","text":"

                  The source_path variable specifies the directory in which EasyBuild looks for software source and install files.

                  Similarly to the configuration file lookup, EasyBuild looks for the installation files as given by the sources variable in the .eb easyconfig file, in the following order of preference:

                  • <source_path>/<name>: a subdirectory determined by the name of the software package
                  • <source_path>/<letter>/<name>: in the style of the easyblocks/easyconfigs directories: in a subdirectory determined by the first letter (in lower case) of the software package and by its full name
                  • <source_path>: directly in the source path

                  Note that these locations are also used when EasyBuild looks for patch files in addition to the various easybuild/easyconfigs directories that are listed in the $PYTHONPATH.

                  "},{"location":"user-survey/","title":"6th EasyBuild User Survey (2022)","text":"

                  Warning

                  This page currently presents the raw results of the 6th EasyBuild User Survey, which was held in March 2023.

                  Additional text will be added to help interpret the results soon.

                  The results of the EasyBuild User Survey are assumed to give a fairly representative view on the EasyBuild community, but they should be interpreted with a grain of salt, since there is no doubt significant bias in terms of participants.

                  "},{"location":"user-survey/#survey-participation","title":"Survey participation","text":"

                  Participation in the EasyBuild User Survey has been growing steadily over the years, to 118 participants in the 6th survey which was held March 2023.

                  For the previous survey, the majority of the participants were made aware of it via the EasyBuild mailing list (~42%) and the EasyBuild Slack (~34%).

                  While these two channels were still the most prominent for this survey, it is now the EasyBuild Slack that is the largest trigger to participate in the survey: ~47% (vs 27% via the EasyBuild mailing list).

                  "},{"location":"user-survey/#demographics","title":"Demographics","text":""},{"location":"user-survey/#easybuild-adoption-and-experience","title":"EasyBuild: adoption and experience","text":""},{"location":"user-survey/#operating-system","title":"Operating system","text":""},{"location":"user-survey/#python-version","title":"Python version","text":""},{"location":"user-survey/#system-aspects","title":"System aspects","text":""},{"location":"user-survey/#cpus","title":"CPUs","text":""},{"location":"user-survey/#gpus","title":"GPUs","text":""},{"location":"user-survey/#top500","title":"Top500","text":"
                  • LUMI (#3)
                  • Perlmutter (#8)
                  • JUWELS (#12)
                  • Piz Daint (#26)
                  • JURECA (#61)
                  • Karolina - GPU (#85)
                  • Narval (#99)
                  • Noctua 2 (#131)
                  • Niagara (#150)
                  • Cedar - GPU (#166)
                  • Karolina - CPU (#226)
                  • Lucia (#245)
                  • Snellius (#254)
                  • Cedar - CPU (#268)
                  • CLAIX (#286)
                  • B\u00e9luga (#346)
                  • Alvis (#440)
                  "},{"location":"user-survey/#easybuild-version","title":"EasyBuild version","text":""},{"location":"user-survey/#toolchains","title":"Toolchains","text":"

                  Significant increase in use of NVHPC-based toolchains (21%, was 15% and 7% in previous surveys).

                  "},{"location":"user-survey/#installations","title":"Installations","text":""},{"location":"user-survey/#customizations","title":"Customizations","text":""},{"location":"user-survey/#community","title":"Community","text":""},{"location":"user-survey/#logo","title":"Logo","text":""},{"location":"user-survey/#documentation","title":"Documentation","text":""},{"location":"user-survey/#tutorial","title":"Tutorial","text":""},{"location":"user-survey/#other-tools-projects","title":"Other tools & projects","text":""},{"location":"user-survey/#modules","title":"Modules","text":""},{"location":"user-survey/#easybuild-aspects","title":"EasyBuild aspects","text":""},{"location":"version-specific/","title":"Overview of version-specific (auto-generated) documentation pages","text":"
                  • Config file constants
                  • Available easyconfig parameters
                  • Constants available for easyconfig files
                  • License constants available for easyconfig files
                  • List of available easyblocks
                  • List of available toolchain options
                  • List of known toolchains
                  • List of supported software
                  • Overview of EasyBuild configuration options
                  • Overview of generic easyblocks
                  • Templates available for easyconfig files
                  "},{"location":"version-specific/config-file-constants/","title":"Constants available (only) in configuration files","text":""},{"location":"version-specific/config-file-constants/#only-in-default-section","title":"Only in 'DEFAULT' section:","text":"Constant name Constant help Constant value DEFAULT_REPOSITORYPATH Default easyconfigs repository path /home/example/.local/easybuild/ebfiles_repo DEFAULT_ROBOT_PATHS List of default robot paths (':'-separated) /home/example/work/easybuild-easyconfigs/easybuild/easyconfigs HOME Current user's home directory, expanded '~' /home/example USER Current username, translated uid from password file example

                  (see also eb --avail-cfgfile-constants )

                  "},{"location":"version-specific/easyblocks/","title":"List of easyblocks","text":"
                  • EasyBlock
                  • Binary
                    • Conda
                    • EB_ABAQUS
                    • EB_Allinea
                    • EB_Anaconda
                    • EB_Mamba
                    • EB_Anaconda
                    • EB_Mamba
                    • EB_AOMP
                    • EB_CPLEX
                    • EB_CRISPR_minus_DAV
                    • EB_CUDA
                    • EB_CUDAcompat
                    • EB_EPD
                    • EB_IMOD
                    • EB_Maple
                    • EB_Mathematica
                    • EB_Molpro
                    • EB_TensorRT
                    • JAR
                    • PackedBinary
                    • EB_ANSYS
                    • EB_ant
                    • EB_AOCC
                    • EB_BiSearch
                    • EB_Chimera
                    • EB_code_minus_server
                    • EB_COMSOL
                    • EB_FDTD_underscore_Solutions
                    • EB_FLUENT
                    • EB_IronPython
                    • EB_Java
                    • EB_MATLAB
                    • EB_MCR
                    • EB_MotionCor2
                    • EB_NVHPC
                    • EB_ORCA
                    • EB_PGI
                    • EB_Samcef
                    • EB_Stata
                    • EB_Tornado
                    • EB_TotalView
                    • Rpm
                    • EB_Mono
                  • Bundle
                    • BuildEnv
                    • CrayToolchain
                    • EB_Clang_minus_AOMP
                    • EB_OpenSSL_wrapper
                    • JuliaBundle
                    • PerlBundle
                    • PythonBundle
                    • SystemCompiler
                    • SystemMPI
                    • Toolchain
                  • ConfigureMake
                    • CMakeMake
                    • CMakeMakeCp
                    • CMakeNinja
                    • CMakePythonPackage
                      • EB_DOLFIN
                      • EB_pybind11
                      • EB_UFC
                    • EB_Amber
                    • EB_Armadillo
                    • EB_BamTools
                    • EB_Blender
                    • EB_CGAL
                    • EB_Clang
                    • EB_Doxygen
                    • EB_Eigen
                    • EB_ELSI
                    • EB_FlexiBLAS
                    • EB_GATE
                    • EB_Geant4
                    • EB_GROMACS
                    • EB_LAMMPS
                    • EB_Libint
                    • EB_LLVM
                    • EB_netCDF
                    • EB_NEURON
                    • EB_OpenBabel
                    • EB_OpenCV
                    • EB_PSI
                    • EB_ROOT
                    • EB_ScaLAPACK
                    • EB_SuperLU
                    • EB_Trilinos
                    • ConfigureMakePythonPackage
                    • EB_ARB
                    • EB_ATLAS
                    • EB_BerkeleyGW
                    • EB_binutils
                    • EB_BLACS
                    • EB_Bowtie
                    • EB_BWA
                    • EB_bzip2
                    • EB_CBLAS
                    • EB_Chapel
                    • EB_CMake
                    • EB_cppcheck
                    • EB_Cufflinks
                    • EB_DB
                    • EB_DL_underscore_POLY_underscore_Classic
                    • EB_Doris
                    • EB_EggLib
                    • EB_ELPA
                    • EB_ESMF
                    • EB_ESPResSo
                    • EB_Extrae
                    • EB_Ferret
                    • EB_FFTW
                    • EB_FFTW_period_MPI
                    • EB_flex
                    • EB_FreeFEM
                    • EB_freetype
                    • EB_g2clib
                    • EB_g2lib
                    • EB_GCC
                    • SystemCompiler
                    • EB_GHC
                    • EB_Go
                    • EB_HDF5
                    • EB_HEALPix
                    • EB_HPCG
                    • EB_HPL
                    • EB_Hypre
                    • EB_LAPACK
                    • EB_libdrm
                    • EB_libQGLViewer
                    • EB_libxml2
                    • EB_Lua
                    • EB_MetaVelvet
                    • EB_METIS
                    • EB_Molpro
                    • EB_Mono
                    • EB_Mothur
                    • EB_MPICH
                    • EB_MVAPICH2
                    • EB_psmpi
                    • EB_MrBayes
                    • EB_MUMmer
                    • EB_MUMPS
                    • EB_MyMediaLite
                    • EB_NCCL
                    • EB_ncurses
                    • EB_netCDF_minus_Fortran
                    • EB_NWChem
                    • EB_OCaml
                    • EB_Octave
                    • EB_OpenBLAS
                    • EB_OpenMPI
                    • EB_OpenSSL
                    • EB_Paraver
                    • EB_Pasha
                    • EB_PDT
                    • EB_Perl
                    • EB_PETSc
                    • EB_pplacer
                    • EB_Primer3
                    • EB_Python
                    • EB_Tkinter
                    • EB_QScintilla
                    • EB_Qt
                    • EB_QuantumESPRESSO
                    • EB_R
                    • EB_Ruby
                    • EB_Rust
                    • EB_SAMtools
                    • EB_Scalasca1
                    • EB_Score_minus_P
                    • EB_SHRiMP
                    • EB_Siesta
                    • EB_SLEPc
                    • EB_SOAPdenovo
                    • EB_SuiteSparse
                    • EB_SWIG
                    • EB_TAU
                    • EB_tbb
                    • EB_tbb
                    • EB_UCX_Plugins
                    • EB_Velvet
                    • EB_VMD
                    • EB_XALT
                    • EB_XCrySDen
                    • MakeCp
                    • CMakeMakeCp
                    • CmdCp
                      • EB_fastStructure
                    • EB_BamTools
                    • EB_BLAT
                    • EB_Bowtie2
                    • EB_BWISE
                    • EB_MSM
                    • EB_mutil
                    • EB_MXNet
                    • EB_NAMD
                    • EB_ORCA
                    • PerlModule
                    • SystemMPI
                  • EB_ACML
                  • EB_ADF
                  • EB_ALADIN
                  • EB_Bazel
                  • EB_Boost
                  • EB_CFDEMcoupling
                  • EB_CHARMM
                  • EB_code_minus_server
                  • EB_CP2K
                  • EB_FSL
                  • EB_GAMESS_minus_US
                  • EB_Gctf
                  • EB_libsmm
                  • EB_Modeller
                  • EB_MRtrix
                  • EB_NCL
                  • EB_NEMO
                  • EB_Nim
                  • EB_OpenFOAM
                  • EB_OpenIFS
                  • EB_ParMETIS
                  • EB_Rosetta
                  • EB_SAS
                  • EB_SCOTCH
                  • EB_SNPhylo
                  • EB_STAR_minus_CCM_plus_
                  • EB_TINKER
                  • EB_Trinity
                  • EB_VEP
                  • EB_WIEN2k
                  • EB_WPS
                  • EB_WRF
                  • EB_WRF_minus_Fire
                  • ExtensionEasyBlock
                    • Cargo
                    • CargoPythonPackage
                    • EB_Scipion
                    • JuliaPackage
                    • OCamlPackage
                    • OctavePackage
                    • PerlModule
                    • PythonPackage
                    • CargoPythonPackage
                    • CMakePythonPackage
                      • EB_DOLFIN
                      • EB_pybind11
                      • EB_UFC
                    • ConfigureMakePythonPackage
                    • EB_cryptography
                    • EB_dm_minus_reverb
                    • EB_EasyBuildMeta
                    • EB_EggLib
                    • EB_jaxlib
                    • EB_libxml2
                    • EB_Metagenome_Atlas
                    • EB_netcdf4_minus_python
                    • EB_nose
                    • EB_numexpr
                    • EB_PyQuante
                    • EB_python_minus_meep
                    • EB_PyTorch
                    • EB_PyZMQ
                    • EB_scipy
                    • EB_SEPP
                    • EB_TensorFlow
                    • EB_TensorRT
                    • EB_torchvision
                    • EB_VSC_minus_tools
                    • EB_wxPython
                    • FortranPythonPackage
                      • EB_numpy
                      • EB_scipy
                    • VersionIndependentPythonPackage
                      • VSCPythonPackage
                    • RPackage
                    • EB_Bioconductor
                    • EB_pbdMPI
                    • EB_pbdSLAP
                    • EB_reticulate
                    • EB_Rmpi
                    • EB_Rserve
                    • EB_XML
                    • RubyGem
                    • Tarball
                    • BinariesTarball
                    • EB_cuDNN
                    • EB_FoldX
                    • EB_FreeSurfer
                    • EB_Gurobi
                    • EB_Hadoop
                    • EB_MTL4
                    • EB_picard
                    • EB_RepeatMasker
                    • EB_RepeatModeler
                  • GoPackage
                  • IntelBase
                    • EB_Advisor
                    • EB_icc
                    • EB_iccifort
                    • EB_ifort
                      • EB_iccifort
                      • SystemCompiler
                    • EB_ifort
                    • EB_iccifort
                    • SystemCompiler
                    • EB_imkl
                    • EB_imkl_minus_FFTW
                    • EB_impi
                    • SystemMPI
                    • EB_Inspector
                    • EB_intel_minus_compilers
                    • EB_ipp
                    • EB_itac
                    • EB_tbb
                    • EB_tbb
                    • EB_VTune
                  • MesonNinja
                    • CMakeNinja
                    • EB_Mesa
                    • EB_scipy
                  • ModuleRC
                  • PackedBinary
                    • EB_ANSYS
                    • EB_ant
                    • EB_AOCC
                    • EB_BiSearch
                    • EB_Chimera
                    • EB_code_minus_server
                    • EB_COMSOL
                    • EB_FDTD_underscore_Solutions
                    • EB_FLUENT
                    • EB_IronPython
                    • EB_Java
                    • EB_MATLAB
                    • EB_MCR
                    • EB_MotionCor2
                    • EB_NVHPC
                    • EB_ORCA
                    • EB_PGI
                    • EB_Samcef
                    • EB_Stata
                    • EB_Tornado
                    • EB_TotalView
                  • SCons
                    • EB_Xmipp
                  • Waf
                  • Extension
                  • ExtensionEasyBlock
                    • Cargo
                    • CargoPythonPackage
                    • EB_Scipion
                    • JuliaPackage
                    • OCamlPackage
                    • OctavePackage
                    • PerlModule
                    • PythonPackage
                    • CargoPythonPackage
                    • CMakePythonPackage
                      • EB_DOLFIN
                      • EB_pybind11
                      • EB_UFC
                    • ConfigureMakePythonPackage
                    • EB_cryptography
                    • EB_dm_minus_reverb
                    • EB_EasyBuildMeta
                    • EB_EggLib
                    • EB_jaxlib
                    • EB_libxml2
                    • EB_Metagenome_Atlas
                    • EB_netcdf4_minus_python
                    • EB_nose
                    • EB_numexpr
                    • EB_PyQuante
                    • EB_python_minus_meep
                    • EB_PyTorch
                    • EB_PyZMQ
                    • EB_scipy
                    • EB_SEPP
                    • EB_TensorFlow
                    • EB_TensorRT
                    • EB_torchvision
                    • EB_VSC_minus_tools
                    • EB_wxPython
                    • FortranPythonPackage
                      • EB_numpy
                      • EB_scipy
                    • VersionIndependentPythonPackage
                      • VSCPythonPackage
                    • RPackage
                    • EB_Bioconductor
                    • EB_pbdMPI
                    • EB_pbdSLAP
                    • EB_reticulate
                    • EB_Rmpi
                    • EB_Rserve
                    • EB_XML
                    • RubyGem
                    • Tarball
                    • BinariesTarball
                    • EB_cuDNN
                    • EB_FoldX
                    • EB_FreeSurfer
                    • EB_Gurobi
                    • EB_Hadoop
                    • EB_MTL4
                    • EB_picard
                    • EB_RepeatMasker
                    • EB_RepeatModeler

                  (see also eb --list-easyblocks and overview of generic easyblocks )*

                  "},{"location":"version-specific/easyconfig-constants/","title":"Constants that can be used in easyconfigs","text":"Constant name Constant value Description ARCH aarch64 CPU architecture of current system (aarch64, x86_64, ppc64le, ...) EXTERNAL_MODULE EXTERNAL_MODULE External module marker HOME /home/example Home directory ($HOME) OS_NAME UNKNOWN System name (e.g. 'fedora' or 'RHEL') OS_PKG_IBVERBS_DEV ('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel') OS packages providing ibverbs/infiniband development support OS_PKG_OPENSSL_BIN openssl OS packages providing the openSSL binary OS_PKG_OPENSSL_DEV ('openssl-devel', 'libssl-dev', 'libopenssl-devel') OS packages providing openSSL development support OS_PKG_OPENSSL_LIB ('libssl', 'libopenssl') OS packages providing openSSL libraries OS_PKG_PAM_DEV ('pam-devel', 'libpam0g-dev') OS packages providing Pluggable Authentication Module (PAM) development support OS_TYPE Darwin System type (e.g. 'Linux' or 'Darwin') OS_VERSION UNKNOWN System version SYSTEM {'name': 'system', 'version': 'system'} System toolchain SYS_PYTHON_VERSION 3.9.6 System Python version (platform.python_version())

                  (see also eb --avail-easyconfig-constants )

                  "},{"location":"version-specific/easyconfig-license-constants/","title":"License constants that can be used in easyconfigs","text":"License name License description Version GCC The GNU General Public License is a free, copyleft license for software and other kinds of works. The GCC Runtime Library Exception is an additional permission under section 7 of the GNU General Public License, version 3. 3 GCCOld The GNU General Public License is a free, copyleft license for software and other kinds of works. The GCC Runtime Library Exception is an additional permission under section 7 of the GNU General Public License, version 3. 2 GPLv2 The GNU General Public License is a free, copyleft license for software and other kinds of works. 2 GPLv3 The GNU General Public License is a free, copyleft license for software and other kinds of works. 3 Libpng Permission is granted to use, copy, modify, and distribute the source code, or portions hereof, for any purpose, without fee, subject to 3 restrictions; http://libpng.org/pub/png/src/libpng-LICENSE.txt for full license None Unknown None None VeryRestrictive None None

                  (see also eb --avail-easyconfig-licenses )

                  "},{"location":"version-specific/easyconfig-parameters/","title":"Available easyconfig parameters","text":""},{"location":"version-specific/easyconfig-parameters/#mandatory-parameters","title":"Mandatory parameters","text":"Parameter name Description Default value description A short description of the software None docurls List of urls with documentation of the software (not necessarily on homepage) None homepage The homepage of the software None name Name of software None software_license Software license None software_license_urls List of software license locations None toolchain Name and version of toolchain None version Version of software None"},{"location":"version-specific/easyconfig-parameters/#toolchain-parameters","title":"Toolchain parameters","text":"Parameter name Description Default value onlytcmod Boolean/string to indicate if the toolchain should only load the environment with module (True) or also set all other variables (False) like compiler CC etc (if string: comma separated list of variables that will be ignored). False toolchainopts Extra options for compilers None"},{"location":"version-specific/easyconfig-parameters/#build-parameters","title":"Build parameters","text":"Parameter name Description Default value banned_linked_shared_libs List of shared libraries (names, file names, or paths) which are not allowed to be linked in any installed binary/library [] bin_lib_subdirs List of subdirectories for binaries and libraries, which is used during sanity check to check RPATH linking and banned/required libraries [] bitbucket_account Bitbucket account name to be used to resolve template values in source URLs \"%(namelower)s\" buildopts Extra options passed to make step (default already has -j X) \"\" checksums Checksums for sources and patches [] configopts Extra options passed to configure (default already has --prefix) \"\" cuda_compute_capabilities List of CUDA compute capabilities to build with (if supported) [] download_instructions Specify steps to acquire necessary file, if obtaining it is difficult \"\" easyblock EasyBlock to use for building; if set to None, an easyblock is selected based on the software name None easybuild_version EasyBuild-version this spec-file was written for None enhance_sanity_check Indicate that additional sanity check commands & paths should enhance the existing sanity check, not replace it False fix_bash_shebang_for List of files for which Bash shebang should be fixed to '#!/usr/bin/env bash' (glob patterns supported) None fix_perl_shebang_for List of files for which Perl shebang should be fixed to '#!/usr/bin/env perl' (glob patterns supported) None fix_python_shebang_for List of files for which Python shebang should be fixed to '#!/usr/bin/env python' (glob patterns supported) None github_account GitHub account name to be used to resolve template values in source URLs \"%(namelower)s\" hidden Install module file as 'hidden' by prefixing its version with '.' False installopts Extra options for installation \"\" maxparallel Max degree of parallelism None parallel Degree of parallelism for e.g. make (default: based on the number of cores, active cpuset and restrictions in ulimit) None patches List of patches to apply [] postinstallcmds Commands to run after the install step. [] postinstallmsgs Messages to print after running the install step. [] postinstallpatches Patch files to apply after running the install step. [] prebuildopts Extra options pre-passed to build command. \"\" preconfigopts Extra options pre-passed to configure. \"\" preinstallopts Extra prefix options for installation. \"\" pretestopts Extra prefix options for test. \"\" required_linked_shared_libs List of shared libraries (names, file names, or paths) which must be linked in all installed binaries/libraries [] runtest Indicates if a test should be run after make; should specify argument after make (for e.g.,\"test\" for make test) None sanity_check_commands format: [(name, options)] e.g. [('gzip','-h')]. Using a non-tuple is equivalent to (name, '-h') [] sanity_check_paths List of files and directories to check (format: {'files':<list>, 'dirs':<list>}) {} skip Skip existing software False skipsteps Skip these steps [] source_urls List of URLs for source files [] sources List of source files [] stop Keyword to halt the build process after a certain step. None testopts Extra options for test. \"\" tests List of test-scripts to run after install. A test script should return a non-zero exit status to fail [] unpack_options Extra options for unpacking source \"\" unwanted_env_vars List of environment variables that shouldn't be set during build [] versionprefix Additional prefix for software version (placed before version and toolchain name) \"\" versionsuffix Additional suffix for software version (placed after toolchain name) \"\""},{"location":"version-specific/easyconfig-parameters/#file-management-parameters","title":"File-management parameters","text":"Parameter name Description Default value buildininstalldir Boolean to build (True) or not build (False) in the installation directory False cleanupoldbuild Boolean to remove (True) or backup (False) the previous build directory with identical name or not. True cleanupoldinstall Boolean to remove (True) or backup (False) the previous install directory with identical name or not. True dontcreateinstalldir Boolean to create (False) or not create (True) the install directory False keeppreviousinstall Boolean to keep the previous installation with identical name. Experts only! False keepsymlinks Boolean to determine whether symlinks are to be kept during copying or if the content of the files pointed to should be copied False start_dir Path to start the make in. If the path is absolute, use that path. If not, this is added to the guessed path. None"},{"location":"version-specific/easyconfig-parameters/#dependencies-parameters","title":"Dependencies parameters","text":"Parameter name Description Default value allow_system_deps Allow listed system dependencies (format: (<name>, <version>)) [] builddependencies List of build dependencies [] dependencies List of dependencies [] hiddendependencies List of dependencies available as hidden modules [] moddependpaths Absolute path(s) to prepend to MODULEPATH before loading dependencies None multi_deps Dict of lists of dependency versions over which to iterate {} multi_deps_load_default Load module for first version listed in multi_deps by default True osdependencies OS dependencies that should be present on the system []"},{"location":"version-specific/easyconfig-parameters/#license-parameters","title":"License parameters","text":"Parameter name Description Default value accept_eula Accepted End User License Agreement (EULA) for this software False group Name of the user group for which the software should be available; format: string or 2-tuple with group name + custom error for users outside group None key Key for installing software None license_file License file for software None license_server License server for software None license_server_port Port for license server None"},{"location":"version-specific/easyconfig-parameters/#extensions-parameters","title":"Extensions parameters","text":"Parameter name Description Default value exts_classmap Map of extension name to class for handling build and installation. {} exts_default_options List of default options for extensions {} exts_defaultclass List of module for and name of the default extension class None exts_download_dep_fail Fail if downloaded dependencies are detected for extensions False exts_filter Extension filter details: template for cmd and input to cmd (templates for ext_name, ext_version and src). None exts_list List with extensions added to the base installation []"},{"location":"version-specific/easyconfig-parameters/#modules-parameters","title":"Modules parameters","text":"Parameter name Description Default value allow_prepend_abs_path Allow specifying absolute paths to prepend in modextrapaths False citing Free-form text that describes how the software should be cited in publications None docpaths List of paths for documentation relative to installation directory None examples Free-form text with examples on using the software None include_modpath_extensions Include $MODULEPATH extensions specified by module naming scheme. True modaliases Aliases to be defined in module file {} modaltsoftname Module name to use (rather than using software name None modextrapaths Extra paths to be prepended in module file {} modextravars Extra environment variables to be added to module file {} modloadmsg Message that should be printed when generated module is loaded {} modluafooter Footer to include in generated module file (Lua syntax) \"\" modtclfooter Footer to include in generated module file (Tcl syntax) \"\" module_depends_on Use depends_on (Lmod 7.6.1+) for dependencies in generated module (implies recursive unloading of modules). False moduleclass Module class to be used for this software \"base\" moduleforceunload Force unload of all modules when loading the extension False moduleloadnoconflict Don't check for conflicts, unload other versions instead False modunloadmsg Message that should be printed when generated module is unloaded {} recursive_module_unload Recursive unload of all dependencies when unloading module (True/False to hard enable/disable; None implies honoring the --recursive-module-unload EasyBuild configuration setting None site_contacts String/list of strings with site contacts for the software None upstream_contacts String/list of strings with upstream contact addresses (e.g., support e-mail, mailing list, bugtracker) None usage Usage instructions for the software None whatis List of brief (one line) description entries for the software None"},{"location":"version-specific/easyconfig-parameters/#other-parameters","title":"Other parameters","text":"Parameter name Description Default value block List of other 'block' sections on which this block depends (only relevant in easyconfigs with subblocks) None buildstats A list of dicts with build statistics None deprecated String specifying reason why this easyconfig file is deprecated and will be archived in the next major release of EasyBuild False

                  (see also eb -a or eb --avail-easyconfig-params )

                  "},{"location":"version-specific/easyconfig-templates/","title":"Available template values for easyconfigs","text":""},{"location":"version-specific/easyconfig-templates/#template-namesvalues-derived-from-easyconfig-instance","title":"Template names/values derived from easyconfig instance","text":"Template name Template value %(module_name)s Module name %(nameletter)s First letter of software name %(toolchain_name)s Toolchain name %(toolchain_version)s Toolchain version %(version_major_minor)s Major.Minor version %(version_major)s Major version %(version_minor)s Minor version"},{"location":"version-specific/easyconfig-templates/#template-namesvalues-for-short-software-versions","title":"Template names/values for (short) software versions","text":"Template name Template value %(cudashortver)s short version for CUDA (<major>.<minor>) %(cudaver)s full version for CUDA %(cudashortver)s short version for CUDAcore (<major>.<minor>) %(cudaver)s full version for CUDAcore %(javashortver)s short version for Java (<major>.<minor>) %(javaver)s full version for Java %(perlshortver)s short version for Perl (<major>.<minor>) %(perlver)s full version for Perl %(pyshortver)s short version for Python (<major>.<minor>) %(pyver)s full version for Python %(rshortver)s short version for R (<major>.<minor>) %(rver)s full version for R"},{"location":"version-specific/easyconfig-templates/#template-namesvalues-as-set-in-easyconfig","title":"Template names/values as set in easyconfig","text":"
                  • %(bitbucket_account)s
                  • %(github_account)s
                  • %(name)s
                  • %(parallel)s
                  • %(version)s
                  • %(versionsuffix)s
                  • %(versionprefix)s
                  "},{"location":"version-specific/easyconfig-templates/#lowercase-values-of-template-values","title":"Lowercase values of template values","text":"Template name Template value %(namelower)s lower case of value of name %(nameletterlower)s lower case of value of nameletter"},{"location":"version-specific/easyconfig-templates/#template-values-set-outside-easyblock-runstep","title":"Template values set outside EasyBlock runstep","text":"Template name Template value %(builddir)s Build directory %(installdir)s Installation directory %(start_dir)s Directory in which the build process begins"},{"location":"version-specific/easyconfig-templates/#template-values-which-are-defined-dynamically","title":"Template values which are defined dynamically","text":"Template name Template value %(arch)s System architecture (e.g. x86_64, aarch64, ppc64le, ...) %(mpi_cmd_prefix)s Prefix command for running MPI programs (with default number of ranks) %(cuda_compute_capabilities)s Comma-separated list of CUDA compute capabilities, as specified via --cuda-compute-capabilities configuration option or via cuda_compute_capabilities easyconfig parameter %(cuda_cc_cmake)s List of CUDA compute capabilities suitable for use with $CUDAARCHS in CMake 3.18+ %(cuda_cc_space_sep)s Space-separated list of CUDA compute capabilities %(cuda_cc_semicolon_sep)s Semicolon-separated list of CUDA compute capabilities %(cuda_sm_comma_sep)s Comma-separated list of sm_* values that correspond with CUDA compute capabilities %(cuda_sm_space_sep)s Space-separated list of sm_* values that correspond with CUDA compute capabilities"},{"location":"version-specific/easyconfig-templates/#template-constants-that-can-be-used-in-easyconfigs","title":"Template constants that can be used in easyconfigs","text":"Constant Template value Template name APACHE_SOURCE apache.org source url https://archive.apache.org/dist/%(namelower)s BITBUCKET_SOURCE bitbucket.org source url (namelower is used if bitbucket_account easyconfig parameter is not specified) https://bitbucket.org/%(bitbucket_account)s/%(namelower)s/get BITBUCKET_DOWNLOADS bitbucket.org downloads url (namelower is used if bitbucket_account easyconfig parameter is not specified) https://bitbucket.org/%(bitbucket_account)s/%(namelower)s/downloads CRAN_SOURCE CRAN (contrib) source url https://cran.r-project.org/src/contrib FTPGNOME_SOURCE http download for gnome ftp server https://ftp.gnome.org/pub/GNOME/sources/%(namelower)s/%(version_major_minor)s GITHUB_SOURCE GitHub source URL (if github_account easyconfig parameter is not specified, namelower is used in its place) https://github.com/%(github_account)s/%(name)s/archive GITHUB_LOWER_SOURCE GitHub source URL with lowercase name (if github_account easyconfig parameter is not specified, namelower is used in its place) https://github.com/%(github_account)s/%(namelower)s/archive GITHUB_RELEASE GitHub release URL (if github_account easyconfig parameter is not specified, namelower is used in its place) https://github.com/%(github_account)s/%(name)s/releases/download/v%(version)s GITHUB_LOWER_RELEASE GitHub release URL with lowercase name (if github_account easyconfig parameter is not specified, namelower is used in its place) https://github.com/%(github_account)s/%(namelower)s/releases/download/v%(version)s GNU_SAVANNAH_SOURCE download.savannah.gnu.org source url https://download-mirror.savannah.gnu.org/releases/%(namelower)s GNU_SOURCE gnu.org source url https://ftpmirror.gnu.org/gnu/%(namelower)s GOOGLECODE_SOURCE googlecode.com source url http://%(namelower)s.googlecode.com/files LAUNCHPAD_SOURCE launchpad.net source url https://launchpad.net/%(namelower)s/%(version_major_minor)s.x/%(version)s/+download/ PYPI_SOURCE pypi source url https://pypi.python.org/packages/source/%(nameletter)s/%(name)s PYPI_LOWER_SOURCE pypi source url (lowercase name) https://pypi.python.org/packages/source/%(nameletterlower)s/%(namelower)s R_SOURCE cran.r-project.org (base) source url https://cran.r-project.org/src/base/R-%(version_major)s SOURCEFORGE_SOURCE sourceforge.net source url https://download.sourceforge.net/%(namelower)s XORG_DATA_SOURCE xorg data source url https://xorg.freedesktop.org/archive/individual/data/ XORG_LIB_SOURCE xorg lib source url https://xorg.freedesktop.org/archive/individual/lib/ XORG_PROTO_SOURCE xorg proto source url https://xorg.freedesktop.org/archive/individual/proto/ XORG_UTIL_SOURCE xorg util source url https://xorg.freedesktop.org/archive/individual/util/ XORG_XCB_SOURCE xorg xcb source url https://xorg.freedesktop.org/archive/individual/xcb/ SHLIB_EXT extension for shared libraries dylib SOURCE_TAR_GZ Source .tar.gz bundle %(name)s-%(version)s.tar.gz SOURCELOWER_TAR_GZ Source .tar.gz bundle with lowercase name %(namelower)s-%(version)s.tar.gz SOURCE_TAR_XZ Source .tar.xz bundle %(name)s-%(version)s.tar.xz SOURCELOWER_TAR_XZ Source .tar.xz bundle with lowercase name %(namelower)s-%(version)s.tar.xz SOURCE_TAR_BZ2 Source .tar.bz2 bundle %(name)s-%(version)s.tar.bz2 SOURCELOWER_TAR_BZ2 Source .tar.bz2 bundle with lowercase name %(namelower)s-%(version)s.tar.bz2 SOURCE_TGZ Source .tgz bundle %(name)s-%(version)s.tgz SOURCELOWER_TGZ Source .tgz bundle with lowercase name %(namelower)s-%(version)s.tgz SOURCE_TXZ Source .txz bundle %(name)s-%(version)s.txz SOURCELOWER_TXZ Source .txz bundle with lowercase name %(namelower)s-%(version)s.txz SOURCE_TBZ2 Source .tbz2 bundle %(name)s-%(version)s.tbz2 SOURCELOWER_TBZ2 Source .tbz2 bundle with lowercase name %(namelower)s-%(version)s.tbz2 SOURCE_TB2 Source .tb2 bundle %(name)s-%(version)s.tb2 SOURCELOWER_TB2 Source .tb2 bundle with lowercase name %(namelower)s-%(version)s.tb2 SOURCE_GTGZ Source .gtgz bundle %(name)s-%(version)s.gtgz SOURCELOWER_GTGZ Source .gtgz bundle with lowercase name %(namelower)s-%(version)s.gtgz SOURCE_ZIP Source .zip bundle %(name)s-%(version)s.zip SOURCELOWER_ZIP Source .zip bundle with lowercase name %(namelower)s-%(version)s.zip SOURCE_TAR Source .tar bundle %(name)s-%(version)s.tar SOURCELOWER_TAR Source .tar bundle with lowercase name %(namelower)s-%(version)s.tar SOURCE_XZ Source .xz bundle %(name)s-%(version)s.xz SOURCELOWER_XZ Source .xz bundle with lowercase name %(namelower)s-%(version)s.xz SOURCE_TAR_Z Source .tar.Z bundle %(name)s-%(version)s.tar.Z SOURCELOWER_TAR_Z Source .tar.Z bundle with lowercase name %(namelower)s-%(version)s.tar.Z SOURCE_WHL Generic (non-compiled) Python 2 & Python 3 wheel package %(name)s-%(version)s-py2.py3-none-any.whl SOURCELOWER_WHL Generic (non-compiled) Python 2 & Python 3 wheel package with lowercase name %(namelower)s-%(version)s-py2.py3-none-any.whl SOURCE_PY2_WHL Generic (non-compiled) Python 2 wheel package %(name)s-%(version)s-py2-none-any.whl SOURCELOWER_PY2_WHL Generic (non-compiled) Python 2 wheel package with lowercase name %(namelower)s-%(version)s-py2-none-any.whl SOURCE_PY3_WHL Generic (non-compiled) Python 3 wheel package %(name)s-%(version)s-py3-none-any.whl SOURCELOWER_PY3_WHL Generic (non-compiled) Python 3 wheel package with lowercase name %(namelower)s-%(version)s-py3-none-any.whl

                  (see also eb --avail-easyconfig-templates )

                  "},{"location":"version-specific/eb-a-wrf/","title":"Available easyconfig parameters for WRF easyblock","text":"

                  Warning

                  This page will soon replace https://docs.easybuild.io/en/latest/eb_a_e_EB_WRF.html.

                  ** It still needs to be ported from reStructuredText (.rst) to MarkDown (.md), and you can help with that! **

                  • source: docs/eb_a_e_EB_WRF.rst in easybuilders/easybuild repo
                  • target: docs/version-specific/eb-a-wrf.md in easybuilders/easybuild-docs repo

                  See https://github.com/easybuilders/easybuild-docs for more information.

                  "},{"location":"version-specific/eb-help/","title":"EasyBuild configuration options","text":"

                  (corresponds with output of eb --help )

                  "},{"location":"version-specific/eb-help/#usage","title":"Usage","text":"

                  eb [options] easyconfig [...]

                  "},{"location":"version-specific/eb-help/#description","title":"Description","text":"

                  Builds software based on easyconfig (or parse a directory). Provide one or more easyconfigs or directories, use -H or --help more information.

                  "},{"location":"version-specific/eb-help/#help-options","title":"Help options","text":"Option flag Option description --version show program's version number and exit -h, --shorthelp show short help message and exit -H OUTPUT_FORMAT, --help=OUTPUT_FORMAT show full help message and exit --confighelp show help as annotated configfile"},{"location":"version-specific/eb-help/#debug-and-logging-options-configfile-section-main","title":"Debug and logging options (configfile section MAIN)","text":"Option flag Option description -d, --debug Enable debug log mode (default: False) --info Enable info log mode (default: False) --quiet Enable quiet/warning log mode (default: False)"},{"location":"version-specific/eb-help/#configfile-options","title":"Configfile options","text":"Option flag Option description --configfiles=CONFIGFILES Parse (additional) configfiles (type comma-separated list; default: /home/example/.config/easybuild/config.cfg) --ignoreconfigfiles=IGNORECONFIGFILES Ignore configfiles (type comma-separated list)"},{"location":"version-specific/eb-help/#basic-options","title":"Basic options","text":"Option flag Option description --dry-run Print build overview incl. dependencies (full paths) (default: False) -D, --dry-run-short Print build overview incl. dependencies (short paths) (default: False) -x, --extended-dry-run Print build environment and (expected) build procedure that will be performed (default: False) --extended-dry-run-ignore-errors Ignore errors that occur during dry run (default: True; disable with --disable-extended-dry-run-ignore-errors) -f, --force Force to rebuild software even if it's already installed (i.e. if it can be found as module), and skipping check for OS dependencies (default: False) --ignore-locks Ignore locks that prevent two identical installations running in parallel (default: False) --job Submit the build as a job (default: False) --locks-dir=LOCKS-DIR Directory to store lock files (should be on a shared filesystem); None implies .locks subdirectory of software installation directory -l, --logtostdout Redirect main log to stdout (default: False) -M, --missing-modules Print list of missing modules for dependencies of specified easyconfigs (default: False) -b BLOCKS, --only-blocks=BLOCKS Only build listed blocks (type comma-separated list) --rebuild Rebuild software, even if module already exists (don't skip OS dependencies checks) (default: False) -r PATH[:PATH], --robot=PATH[:PATH] Enable dependency resolution, using easyconfigs in specified paths (type pathsep-separated list) --robot-paths=PATH[:PATH] Additional paths to consider by robot for easyconfigs (--robot paths get priority) (type pathsep-separated list; default: /home/example/work/easybuild-easyconfigs/easybuild/easyconfigs) --search-paths=PATH[:PATH] Additional locations to consider in --search (next to --robot and --robot-paths paths) (type pathsep-separated list) -k, --skip Skip existing software (useful for installing additional packages) (default: False) -s STOP, --stop=STOP Stop the installation after certain step (type choice; default: source) (choices: fetch, ready, source, patch, prepare, configure, build, test, install, extensions, postiter, postproc, sanitycheck, cleanup, module, permissions, package, testcases) --strict=STRICT Set strictness level (type choice; default: warn) (choices: ignore, warn, error)"},{"location":"version-specific/eb-help/#configuration-options","title":"Configuration options","text":"Option flag Option description --avail-module-naming-schemes Show all supported module naming schemes (default: False) --avail-modules-tools Show all supported module tools (default: False) --avail-repositories Show all repository types (incl. non-usable) (default: False) --buildpath=BUILDPATH Temporary build path (default: /home/example/.local/easybuild/build) --containerpath=CONTAINERPATH Location where container recipe & image will be stored (default: /home/example/.local/easybuild/containers) --envvars-user-modules=ENVVARS-USER-MODULES List of environment variables that hold the base paths for which user-specific modules will be installed relative to (type comma-separated list; default: HOME) --external-modules-metadata=EXTERNAL-MODULES-METADATA List of (glob patterns for) paths to files specifying metadata for external modules (INI format) (type comma-separated list) --hooks=HOOKS Location of Python module with hook implementations (type str) --ignore-dirs=IGNORE-DIRS Directory names to ignore when searching for files/dirs (type comma-separated list; default: .git,.svn) --include-easyblocks=INCLUDE-EASYBLOCKS Location(s) of extra or customized easyblocks (type comma-separated list) --include-module-naming-schemes=INCLUDE-MODULE-NAMING-SCHEMES Location(s) of extra or customized module naming schemes (type comma-separated list) --include-toolchains=INCLUDE-TOOLCHAINS Location(s) of extra or customized toolchains or toolchain components (type comma-separated list) --installpath=INSTALLPATH Install path for software and modules (default: /home/example/.local/easybuild) --installpath-modules=INSTALLPATH-MODULES Install path for modules (if None, combine --installpath and --subdir-modules) --installpath-software=INSTALLPATH-SOFTWARE Install path for software (if None, combine --installpath and --subdir-software) --job-backend=JOB-BACKEND Backend to use for submitting jobs (type choice; default: GC3Pie) (choices: GC3Pie, PbsPython, Slurm) --logfile-format=DIR,FORMAT Directory name and format of the log file (type comma-separated tuple; default: easybuild,easybuild-%(name)s-%(version)s-%(date)s.%(time)s.log) --module-depends-on Use depends_on (Lmod 7.6.1+) for dependencies in all generated modules (implies recursive unloading of modules). (default: False) --module-extensions Include 'extensions' statement in generated module file (Lua syntax only) (default: False) --module-naming-scheme=MODULE-NAMING-SCHEME Module naming scheme to use (default: EasyBuildMNS) --module-syntax=MODULE-SYNTAX Syntax to be used for module files (type choice; default: Lua) (choices: Lua, Tcl) --moduleclasses=MODULECLASSES Extend supported module classes (For more info on the default classes, use --show-default-moduleclasses) (type comma-separated list; default: base,ai,astro,bio,cae,chem,compiler,data,debugger,devel,geo,ide,lang,lib,math,mpi,numlib,perf,quantum,phys,system,toolchain,tools,vis) --modules-footer=PATH Path to file containing footer to be added to all generated module files --modules-header=PATH Path to file containing header to be added to all generated module files --modules-tool=MODULES-TOOL Modules tool to use (type choice; default: Lmod) (choices: EnvironmentModules, EnvironmentModulesC, EnvironmentModulesTcl, Lmod) --package-naming-scheme=PACKAGE-NAMING-SCHEME Packaging naming scheme choice (type choice; default: EasyBuildPNS) (choices: EasyBuildDebFriendlyPNS, EasyBuildPNS) --packagepath=PACKAGEPATH The destination path for the packages built by package-tool (default: /home/example/.local/easybuild/packages) --prefix=PREFIX Change prefix for buildpath, installpath, sourcepath and repositorypath (used prefix for defaults /home/example/.local/easybuild) --recursive-module-unload Enable generating of modules that unload recursively. (default: False) --repository=REPOSITORY Repository type, using repositorypath (type choice; default: FileRepository) (choices: FileRepository, GitRepository) --repositorypath=REPOSITORYPATH Repository path, used by repository (is passed as list of arguments to create the repository instance). For more info, use --avail-repositories. (type comma-separated list; default: /home/example/.local/easybuild/ebfiles_repo) --sourcepath=SOURCEPATH Path(s) to where sources should be downloaded (string, colon-separated) (default: /home/example/.local/easybuild/sources) --subdir-modules=SUBDIR-MODULES Installpath subdir for modules (default: modules) --subdir-software=SUBDIR-SOFTWARE Installpath subdir for software (default: software) --subdir-user-modules=SUBDIR-USER-MODULES Base path of user-specific modules relative to --envvars-user-modules --suffix-modules-path=SUFFIX-MODULES-PATH Suffix for module files install path (default: all) --testoutput=TESTOUTPUT Path to where a job should place the output (to be set within jobscript) --tmp-logdir=TMP-LOGDIR Log directory where temporary log files are stored --tmpdir=TMPDIR Directory to use for temporary storage"},{"location":"version-specific/eb-help/#container-options","title":"Container options","text":"Option flag Option description --container-build-image Build container image (requires sudo privileges!) (default: False) --container-config=CONFIG Configuration for container image (type ) --container-image-format=IMAGE-FORMAT Container image format (type choice) (choices: ext3, sandbox, sif, squashfs) --container-image-name=IMAGE-NAME Custom name for container image (defaults to name of easyconfig) --container-template-recipe=TEMPLATE-RECIPE Template recipe for container image (type ) --container-tmpdir=TMPDIR Temporary directory where container image is built --container-type=TYPE Type of container recipe/image to create (type choice; default: singularity) (choices: apptainer, docker, singularity)"},{"location":"version-specific/eb-help/#options-for-easyconfigs","title":"Options for Easyconfigs","text":"Option flag Option description --create-index=CREATE-INDEX Create index for files in specified directory --fix-deprecated-easyconfigs Fix use of deprecated functionality in specified easyconfig files. (default: False) --ignore-index Ignore index when searching for files (default: False) --index-max-age=INDEX-MAX-AGE Maximum age for index before it is considered stale (in seconds) (type ; default: 604800) --inject-checksums=INJECT-CHECKSUMS Inject checksums of specified type for sources/patches into easyconfig file(s) (type choice; default: sha256) (choices: adler32, crc32, md5, sha1, sha256, sha512, size) --inject-checksums-to-json=INJECT-CHECKSUMS-TO-JSON Inject checksums of specified type for sources/patches into checksums.json (type choice; default: sha256) (choices: adler32, crc32, md5, sha1, sha256, sha512, size) --local-var-naming-check=LOCAL-VAR-NAMING-CHECK Mode to use when checking whether local variables follow the recommended naming scheme ('log': only log warnings (no printed messages); 'warn': print warnings; 'error': fail with an error) (type choice; default: warn) (choices: error, log, warn)"},{"location":"version-specific/eb-help/#github-integration-options","title":"GitHub integration options","text":"Option flag Option description --add-pr-labels=PR# Try to add labels to PR based on files changed (type ) --check-contrib Runs checks to see whether the given easyconfigs are ready to be contributed back (default: False) --check-github Check status of GitHub integration, and report back (default: False) --check-style Run a style check on the given easyconfigs (default: False) --cleanup-easyconfigs Clean up easyconfig files for pull request (default: True; disable with --disable-cleanup-easyconfigs) --close-pr=PR# Close pull request (type ) --close-pr-msg=CLOSE-PR-MSG Custom close message for pull request closed with --close-pr; (type ) --close-pr-reasons=CLOSE-PR-REASONS Close reason for pull request closed with --close-pr; supported values: archived, inactive, obsolete, retest (type ) --dump-test-report=DUMP-TEST-REPORT Dump test report to specified path (default: test_report.md) --from-pr=PR# Obtain easyconfigs from specified PR (type comma-separated list) --git-working-dirs-path=GIT-WORKING-DIRS-PATH Path to Git working directories for EasyBuild repositories (type ) --github-org=GITHUB-ORG GitHub organization (type ) --github-user=GITHUB-USER GitHub username (type ) --include-easyblocks-from-pr=PR# Include easyblocks from specified PR (type comma-separated list) --install-github-token Install GitHub token (requires --github-user) (default: False) --list-prs=STATE,ORDER,DIRECTION List pull requests (type ; default: open,created,desc) --merge-pr=PR# Merge pull request (type ) --new-branch-github Create new branch in GitHub in preparation for a PR (default: False) --new-pr Open a new pull request (default: False) --new-pr-from-branch=NEW-PR-FROM-BRANCH Open a new pull request from branch in GitHub (type ) --pr-branch-name=PR-BRANCH-NAME Branch name to use for new PRs; 'new_pr' if unspecified (type ) --pr-commit-msg=PR-COMMIT-MSG Commit message for new/updated pull request created with --new-pr (type ) --pr-descr=PR-DESCR Description for new pull request created with --new-pr (type ) --pr-target-account=PR-TARGET-ACCOUNT Target account for new PRs (type ; default: easybuilders) --pr-target-branch=PR-TARGET-BRANCH Target branch for new PRs (type ; default: develop) --pr-target-repo=PR-TARGET-REPO Target repository for new/updating PRs (default: auto-detect based on provided files) (type ) --pr-title=PR-TITLE Title for new pull request created with --new-pr (type ) --preview-pr Preview a new pull request (default: False) --review-pr=PR# Review specified pull request (type ) --review-pr-filter=REVIEW-PR-FILTER Regex used to filter out easyconfigs to diff against in --review-pr --review-pr-max=REVIEW-PR-MAX Maximum number of easyconfigs to diff against in --review-pr (type ) --sync-branch-with-develop=SYNC-BRANCH-WITH-DEVELOP Sync branch with current 'develop' branch (type ) --sync-pr-with-develop=PR# Sync pull request with current 'develop' branch (type ) --test-report-env-filter=TEST-REPORT-ENV-FILTER Regex used to filter out variables in environment dump of test report --update-branch-github=UPDATE-BRANCH-GITHUB Update specified branch in GitHub (type ) --update-pr=PR# Update an existing pull request (type ) -u, --upload-test-report Upload full test report as a gist on GitHub (default: False)"},{"location":"version-specific/eb-help/#informative-options","title":"Informative options","text":"Option flag Option description --avail-cfgfile-constants Show all constants that can be used in configuration files (default: False) --avail-easyconfig-constants Show all constants that can be used in easyconfigs (default: False) --avail-easyconfig-licenses Show all license constants that can be used in easyconfigs (default: False) -a, --avail-easyconfig-params Show all easyconfig parameters (include easyblock-specific ones by using -e) (default: False) --avail-easyconfig-templates Show all template names and template constants that can be used in easyconfigs. (default: False) --avail-hooks Show list of known hooks (default: False) --avail-toolchain-opts=AVAIL-TOOLCHAIN-OPTS Show options for toolchain (type str) --check-conflicts Check for version conflicts in dependency graphs (default: False) --check-eb-deps Check presence and version of (required and optional) EasyBuild dependencies (default: False) --dep-graph=depgraph.<ext> Create dependency graph --dump-env-script Dump source script to set up build environment based on toolchain/dependencies (default: False) --easystack=EASYSTACK Path to easystack file in YAML format, specifying details of a software stack --last-log Print location to EasyBuild log file of last (failed) session (default: False) --list-easyblocks=LIST-EASYBLOCKS Show list of available easyblocks (type choice; default: simple) (choices: simple, detailed) --list-installed-software=LIST-INSTALLED-SOFTWARE Show list of installed software (type choice; default: simple) (choices: simple, detailed) --list-software=LIST-SOFTWARE Show list of supported software (type choice; default: simple) (choices: simple, detailed) --list-toolchains Show list of known toolchains (default: False) --search=REGEX Search for easyconfig files in the robot search path, print full paths --search-filename=REGEX Search for easyconfig files in the robot search path, print only filenames -S REGEX, --search-short=REGEX Search for easyconfig files in the robot search path, print short paths --show-config Show current EasyBuild configuration (only non-default + selected settings) (default: False) --show-default-configfiles Show list of default config files (default: False) --show-default-moduleclasses Show default module classes with description (default: False) --show-ec Show contents of specified easyconfig(s) (default: False) --show-full-config Show current EasyBuild configuration (all settings) (default: False) --show-system-info Show system information relevant to EasyBuild (default: False) --terse Terse output (machine-readable) (default: False)"},{"location":"version-specific/eb-help/#options-for-job-backend","title":"Options for job backend","text":"Option flag Option description --job-backend-config=BACKEND-CONFIG Configuration file for job backend --job-cores=CORES Number of cores to request per job (type int) --job-deps-type=DEPS-TYPE Type of dependency to set between jobs (default depends on job backend) (type choice) (choices: abort_on_error, always_run) --job-eb-cmd=EB-CMD EasyBuild command to use in jobs (type str; default: eb) --job-max-jobs=MAX-JOBS Maximum number of concurrent jobs (queued and running, 0 = unlimited) (type int; default: 0) --job-max-walltime=MAX-WALLTIME Maximum walltime for jobs (in hours) (type int; default: 24) --job-output-dir=OUTPUT-DIR Output directory for jobs (default: current directory) (default: /Volumes/work/easybuild-docs/docs/version-specific) --job-polling-interval=POLLING-INTERVAL Interval between polls for status of jobs (in seconds) (type ; default: 30.0) --job-target-resource=TARGET-RESOURCE Target resource for jobs"},{"location":"version-specific/eb-help/#override-options","title":"Override options","text":"Option flag Option description --accept-eula=ACCEPT-EULA Accept EULA for specified software [DEPRECATED, use --accept-eula-for instead!] (type comma-separated list) --accept-eula-for=ACCEPT-EULA-FOR Accept EULA for specified software (type comma-separated list) --add-dummy-to-minimal-toolchains Include dummy toolchain in minimal toolchain searches [DEPRECATED, use --add-system-to-minimal-toolchains instead!] (default: False) --add-system-to-minimal-toolchains Include system toolchain in minimal toolchain searches (default: False) --allow-loaded-modules=ALLOW-LOADED-MODULES List of software names for which to allow loaded modules in initial environment (type comma-separated list; default: EasyBuild) --allow-modules-tool-mismatch Allow mismatch of modules tool and definition of 'module' function (default: False) --allow-use-as-root-and-accept-consequences Allow using of EasyBuild as root (NOT RECOMMENDED!) (default: False) --backup-modules Back up an existing module file, if any. Only works when using --module-only --backup-patched-files Create a backup (*.orig) file when applying a patch (default: False) --banned-linked-shared-libs=BANNED-LINKED-SHARED-LIBS Comma-separated list of shared libraries (names, file names, or paths) which are not allowed to be linked in any installed binary/library (type comma-separated list) --check-ebroot-env-vars=CHECK-EBROOT-ENV-VARS Action to take when defined $EBROOT* environment variables are found for which there is no matching loaded module; supported values: error, ignore, unset, warn (default: warn) --checksum-priority=CHECKSUM-PRIORITY When checksums are found in both the EasyConfig and the checksums.json fileDefine which one to use. (type choice; default: easyconfig) (choices: json, easyconfig) --cleanup-builddir Cleanup build dir after successful installation. (default: True; disable with --disable-cleanup-builddir) --cleanup-tmpdir Cleanup tmp dir after successful run. (default: True; disable with --disable-cleanup-tmpdir) --color=WHEN Colorize output (type choice; default: auto) (choices: auto, always, never) --consider-archived-easyconfigs Also consider archived easyconfigs (default: False) -C, --containerize Generate container recipe/image (default: False) --copy-ec Copy specified easyconfig(s) to specified location (default: False) --cuda-cache-dir=PATH Path to CUDA cache dir to use if enabled. Defaults to a path inside the build dir. (type ) --cuda-cache-maxsize=CUDA-CACHE-MAXSIZE Maximum size of the CUDA cache (in MiB) used for JIT compilation of PTX code. Leave value empty to let EasyBuild choose a value or '0' to disable the cache (type ) --cuda-compute-capabilities=CUDA-COMPUTE-CAPABILITIES List of CUDA compute capabilities to use when building GPU software; values should be specified as digits separated by a dot, for example: 3.5,5.0,7.2 (type comma-separated list) --debug-lmod Run Lmod modules tool commands in debug module (default: False) --default-opt-level=DEFAULT-OPT-LEVEL Specify default optimisation level (type choice; default: defaultopt) (choices: noopt, lowopt, defaultopt, opt) --deprecated=DEPRECATED Run pretending to be (future) version, to test removal of deprecated code. --detect-loaded-modules=DETECT-LOADED-MODULES Detect loaded EasyBuild-generated modules, act accordingly; supported values: error, ignore, purge, unload, warn (default: warn) --devel Enable including of development log messages (default: False) --download-timeout=DOWNLOAD-TIMEOUT Timeout for initiating downloads (in seconds) (type ; default: 10) --dump-autopep8 Reformat easyconfigs using autopep8 when dumping them (default: False) -e CLASS, --easyblock=CLASS easyblock to use for processing the spec file or dumping the options --enforce-checksums Enforce availability of checksums for all sources/patches, so they can be verified (default: False) --env-for-shebang=ENV-FOR-SHEBANG Define the env command to use when fixing shebangs (default: /usr/bin/env) --experimental Allow experimental code (with behaviour that can be changed/removed at any given time). (default: False) --extra-modules=EXTRA-MODULES List of extra modules to load after setting up the build environment (type comma-separated list) --fetch Allow downloading sources ignoring OS and modules tool dependencies, implies --stop=fetch, --ignore-osdeps and ignore modules tool (default: False) --filter-deps=FILTER-DEPS List of dependencies that you do not want to install with EasyBuild, because equivalent OS packages are installed. (e.g. --filter-deps=zlib,ncurses) (type comma-separated list) --filter-ecs=FILTER-ECS List of easyconfigs (given as glob patterns) to ignore when given on command line or auto-selected when building with --from-pr. (e.g. --filter-ecs=intel) (type comma-separated list) --filter-env-vars=FILTER-ENV-VARS List of names of environment variables that should not be defined/updated by module files generated by EasyBuild (type comma-separated list) --filter-rpath-sanity-libs=FILTER-RPATH-SANITY-LIBS List of libraries that should be ignored by the RPATH sanity check. I.e. if these libraries are not RPATH-ed, that will be accepted by the RPATH sanity check. Note that you'll need to provide the exact library name, as it is returned by 'ldd', including any version (type comma-separated list; default: libcuda.so,libcuda.so.1,libnvidia-ml.so,libnvidia-ml.so.1) --fixed-installdir-naming-scheme Use fixed naming scheme for installation directories (default: True; disable with --disable-fixed-installdir-naming-scheme) --force-download=FORCE-DOWNLOAD Force re-downloading of sources and/or patches, even if they are available already in source path (type choice; default: sources) (choices: all, patches, sources) --generate-devel-module Generate a develop module file, implies --force if disabled (default: True; disable with --disable-generate-devel-module) --group=GROUP Group to be used for software installations (only verified, not set) --group-writable-installdir Enable group write permissions on installation directory after installation (default: False) --hidden Install 'hidden' module file(s) by prefixing their version with '.' (default: False) --hide-deps=HIDE-DEPS Comma separated list of dependencies that you want automatically hidden, (e.g. --hide-deps=zlib,ncurses) (type comma-separated list) --hide-toolchains=HIDE-TOOLCHAINS Comma separated list of toolchains that you want automatically hidden, (e.g. --hide-toolchains=GCCcore) (type comma-separated list) --http-header-fields-urlpat=[URLPAT::][HEADER:]FILE|FIELD Set extra HTTP header FIELDs when downloading files from URL PATterns. To not log sensitive values, specify a file containing newline separated FIELDs. e.g. \"^https://www.example.com::/path/to/headers.txt\" or \"client[A-z0-9]*.example.com': ['Authorization: Basic token']\". --ignore-checksums Ignore failing checksum verification (default: False) --ignore-osdeps Ignore any listed OS dependencies (default: False) --ignore-test-failure Ignore a failing test step (default: False) --insecure-download Don't check the server certificate against the available certificate authorities. (default: False) --install-latest-eb-release Install latest known version of easybuild (default: False) --lib-lib64-symlink Automatically create symlinks for lib/ pointing to lib64/ if the former is missing (default: True; disable with --disable-lib-lib64-symlink) --lib64-fallback-sanity-check Fallback in sanity check to lib64/ equivalent for missing libraries (default: True; disable with --disable-lib64-fallback-sanity-check) --lib64-lib-symlink Automatically create symlinks for lib64/ pointing to lib/ if the former is missing (default: True; disable with --disable-lib64-lib-symlink) --max-fail-ratio-adjust-permissions=MAX-FAIL-RATIO-ADJUST-PERMISSIONS Maximum ratio for failures to allow when adjusting permissions (type float; default: 0.5) --minimal-build-env=MINIMAL-BUILD-ENV Minimal build environment to define when using system toolchain, specified as a comma-separated list that defines a mapping between name of environment variable and its value separated by a colon (':') (default: CC:gcc,CXX:g++) --minimal-toolchains Use minimal toolchain when resolving dependencies (default: False) --module-only Only generate module file(s); skip all steps except for module, prepare, ready, postiter, sanitycheck (default: False) --modules-tool-version-check Check version of modules tool being used (default: True; disable with --disable-modules-tool-version-check) --mpi-cmd-template=MPI-CMD-TEMPLATE Template for MPI commands (template keys: %(nr_ranks)s, %(cmd)s) --mpi-tests Run MPI tests (when relevant) (default: True; disable with --disable-mpi-tests) --optarch=OPTARCH Set architecture optimization, overriding native architecture optimizations --output-format=OUTPUT-FORMAT Set output format (type choice; default: txt) (choices: md, rst, txt) --output-style=OUTPUT-STYLE Control output style; auto implies using Rich if available to produce rich output, with fallback to basic colored output (type choice; default: auto) (choices: auto, basic, no_color, rich) --parallel=PARALLEL Specify (maximum) level of parallellism used during build procedure (type int) --parallel-extensions-install Install list of extensions in parallel (if supported) (default: False) --pre-create-installdir Create installation directory before submitting build jobs (default: True; disable with --disable-pre-create-installdir) -p, --pretend Does the build/installation in a test directory located in $HOME/easybuildinstall (default: False) --read-only-installdir Set read-only permissions on installation directory after installation (default: False) --remove-ghost-install-dirs Remove ghost installation directories when --force or --rebuild is used, rather than just warning about them (default: False) --required-linked-shared-libs=REQUIRED-LINKED-SHARED-LIBS Comma-separated list of shared libraries (names, file names, or paths) which must be linked in all installed binaries/libraries (type comma-separated list) --rpath Enable use of RPATH for linking with libraries (default: False) --rpath-filter=RPATH-FILTER List of regex patterns to use for filtering out RPATH paths (type comma-separated list) --rpath-override-dirs=RPATH-OVERRIDE-DIRS Path(s) to be prepended when linking with RPATH (string, colon-separated) --sanity-check-only Only run sanity check (module is expected to be installed already (default: False) --set-default-module Set the generated module as default (default: False) --set-gid-bit Set group ID bit on newly created directories (default: False) --show-progress-bar Show progress bar in terminal output (default: True; disable with --disable-show-progress-bar) --silence-deprecation-warnings=SILENCE-DEPRECATION-WARNINGS Silence specified deprecation warnings out of (python2, Lmod6, easyconfig, toolchain) (type comma-separated list) --skip-extensions Skip installation of extensions (default: False) -t, --skip-test-cases Skip running test cases (default: False) --skip-test-step Skip running the test step (e.g. unit tests) (default: False) --sticky-bit Set sticky bit on newly created directories (default: False) --sysroot=SYSROOT Location root directory of system, prefix for standard paths like /usr/lib and /usr/include -T, --trace Provide more information in output to stdout on progress (default: False) --umask=UMASK umask to use (e.g. '022'); non-user write permissions on install directories are removed --unit-testing-mode Run in unit test mode (default: False) --update-modules-tool-cache Update modules tool cache file(s) after generating module file (default: False) --use-ccache=PATH Enable use of ccache to speed up compilation, with specified cache dir (type ; default: False) --use-existing-modules Use existing modules when resolving dependencies with minimal toolchains (default: False) --use-f90cache=PATH Enable use of f90cache to speed up compilation, with specified cache dir (type ; default: False) --verify-easyconfig-filenames Verify whether filename of specified easyconfigs matches with contents (default: False) --wait-on-lock=WAIT-ON-LOCK Wait for lock to be released; 0 implies no waiting (exit with an error if the lock already exists), non-zero value specified waiting interval [DEPRECATED: use --wait-on-lock-interval and --wait-on-lock-limit instead] (type ) --wait-on-lock-interval=WAIT-ON-LOCK-INTERVAL Wait interval (in seconds) to use when waiting for existing lock to be removed (type ; default: 60) --wait-on-lock-limit=WAIT-ON-LOCK-LIMIT Maximum amount of time (in seconds) to wait until lock is released (0 means no waiting at all, exit with error; -1 means no waiting limit, keep waiting) (type ; default: 0) --zip-logs=ZIP-LOGS Zip logs that are copied to install directory, using specified command (default: gzip)"},{"location":"version-specific/eb-help/#package-options","title":"Package options","text":"Option flag Option description --package Enabling packaging (default: False) --package-release=PACKAGE-RELEASE Package release iteration number (default: 1) --package-tool=PACKAGE-TOOL Packaging tool to use (default: fpm) --package-tool-options=PACKAGE-TOOL-OPTIONS Extra options for packaging tool (default: '') --package-type=PACKAGE-TYPE Type of package to generate (default: rpm)"},{"location":"version-specific/eb-help/#regression-test-options","title":"Regression test options","text":"Option flag Option description --aggregate-regtest=DIR Collect all the xmls inside the given directory and generate a single file --regtest Enable regression test mode (default: False) --regtest-output-dir=DIR Set output directory for test-run --sequential Specify this option if you want to prevent parallel build (default: False)"},{"location":"version-specific/eb-help/#software-search-and-build-options","title":"Software search and build options","text":"Option flag Option description --amend=VAR=VALUE[,VALUE] Specify additional search and build parameters (can be used multiple times); for example: versionprefix=foo or patches=one.patch,two.patch) --map-toolchains Enable mapping of (sub)toolchains when --try-toolchain(-version) is used (default: True; disable with --disable-map-toolchains) --software=NAME,VERSION Search and build software with given name and version (type comma-separated list) --software-name=NAME Search and build software with given name --software-version=VERSION Search and build software with given version --toolchain=NAME,VERSION Search and build with given toolchain (name and version) (type comma-separated list) --toolchain-name=NAME Search and build with given toolchain name --toolchain-version=VERSION Search and build with given toolchain version --try-amend=VAR=VALUE[,VALUE] Try to specify additional search and build parameters (can be used multiple times); for example: versionprefix=foo or patches=one.patch,two.patch) (USE WITH CARE!) --try-ignore-versionsuffixes Ignore versionsuffix differences when --try-update-deps is used (default: False) --try-software=NAME,VERSION Try to search and build software with given name and version (USE WITH CARE!) (type comma-separated list) --try-software-name=NAME Try to search and build software with given name (USE WITH CARE!) --try-software-version=VERSION Try to search and build software with given version (USE WITH CARE!) --try-toolchain=NAME,VERSION Try to search and build with given toolchain (name and version) (USE WITH CARE!) (type comma-separated list) --try-toolchain-name=NAME Try to search and build with given toolchain name (USE WITH CARE!) --try-toolchain-version=VERSION Try to search and build with given toolchain version (USE WITH CARE!) --try-update-deps Try to update versions of the dependencies of an easyconfig based on what is available in the robot path (default: False)"},{"location":"version-specific/eb-help/#unittest-options","title":"Unittest options","text":"Option flag Option description --unittest-file=FILE Log to this file in unittest mode

                  (see also eb --help )

                  "},{"location":"version-specific/generic-easyblocks/","title":"Generic easyblocks","text":""},{"location":"version-specific/generic-easyblocks/#generic_easyblocks","title":"Overview of generic easyblocks","text":"

                  BinariesTarball - Binary - BuildEnv - Bundle - CMakeMake - CMakeMakeCp - CMakeNinja - CMakePythonPackage - Cargo - CargoPythonPackage - CmdCp - Conda - ConfigureMake - ConfigureMakePythonPackage - CrayToolchain - FortranPythonPackage - GoPackage - IntelBase - JAR - JuliaBundle - JuliaPackage - MakeCp - MesonNinja - ModuleRC - OCamlPackage - OctavePackage - PackedBinary - PerlBundle - PerlModule - PythonBundle - PythonPackage - RPackage - Rpm - RubyGem - SCons - SystemCompiler - SystemMPI - Tarball - Toolchain - VSCPythonPackage - VersionIndependentPythonPackage - Waf

                  "},{"location":"version-specific/generic-easyblocks/#binariestarball","title":"BinariesTarball","text":"

                  (derives from Tarball)

                  Support for installing a tarball of binaries

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-binariestarball-easyblock","title":"Extra easyconfig parameters specific to BinariesTarball easyblock","text":"easyconfig parameter description default value install_type Defaults to extract tarball into clean directory. Options: 'merge' merges tarball to existing directory, 'subdir' extracts tarball into its own sub-directory None options Dictionary with extension options. {} preinstall_cmd Command to execute before installation None"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-binariestarball-easyblock","title":"Customised steps in BinariesTarball easyblock","text":"
                  • install_step - Install by copying unzipped binaries to 'bin' subdir of installation dir, and fixing permissions.
                  "},{"location":"version-specific/generic-easyblocks/#binary","title":"Binary","text":"

                  (derives from EasyBlock)

                  Support for installing software that comes in binary form. Just copy the sources to the install dir, or use the specified install command.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-binary-easyblock","title":"Extra easyconfig parameters specific to Binary easyblock","text":"easyconfig parameter description default value extract_sources Whether or not to extract sources False install_cmd Install command to be used. None install_cmds List of install commands to be used. None prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-binary-easyblock","title":"Customised steps in Binary easyblock","text":"
                  • build_step - No compilation, this is binary software

                  • configure_step - No configuration, this is binary software

                  • install_step - Copy all files in build directory to the install directory

                  "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-binary-easyblock","title":"Example easyconfig for Binary easyblock","text":"
                  easyblock = 'Binary'\n\nname = 'Platanus'\nversion = '1.2.1'\nversionsuffix = '-linux-x86_64'\n\nhomepage = 'http://platanus.bio.titech.ac.jp/'\ndescription = \"\"\"PLATform for Assembling NUcleotide Sequences\"\"\"\n\ntoolchain = SYSTEM\n\nsource_urls = ['http://platanus.bio.titech.ac.jp/Platanus_release/20130901010201']\nsources = ['platanus']\nchecksums = ['02cf92847ec704d010a54df293b9c60a']\n\nsanity_check_paths = {\n    'files': ['platanus'],\n    'dirs': [],\n}\n\nmoduleclass = 'bio'\n
                  "},{"location":"version-specific/generic-easyblocks/#buildenv","title":"BuildEnv","text":"

                  (derives from Bundle)

                  Build environment of toolchain: only generate module file

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-buildenv-easyblock","title":"Extra easyconfig parameters specific to BuildEnv easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#bundle","title":"Bundle","text":"

                  (derives from EasyBlock)

                  Bundle of modules: only generate module files, nothing to build/install

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-bundle-easyblock","title":"Extra easyconfig parameters specific to Bundle easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-bundle-easyblock","title":"Customised steps in Bundle easyblock","text":"
                  • build_step - Do nothing.

                  • configure_step - Collect altroot/altversion info.

                  • install_step - Install components, if specified.

                  "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-bundle-easyblock","title":"Example easyconfig for Bundle easyblock","text":"
                  easyblock = 'Bundle'\n\nname = 'Autotools'\nversion = '20150119' # date of the most recent change\n\nhomepage = 'http://autotools.io'\ndescription = \"\"\"This bundle collect the standard GNU build tools: Autoconf, Automake and libtool\"\"\"\n\ntoolchain = {'name': 'GCC', 'version': '4.9.2'}\n\ndependencies = [\n    ('Autoconf', '2.69'), # 20120424\n    ('Automake', '1.15'), # 20150105\n    ('libtool', '2.4.5'), # 20150119\n]\n\nmoduleclass = 'devel'\n
                  "},{"location":"version-specific/generic-easyblocks/#cmakemake","title":"CMakeMake","text":"

                  (derives from ConfigureMake)

                  Support for configuring build with CMake instead of traditional configure script

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmakemake-easyblock","title":"Extra easyconfig parameters specific to CMakeMake easyblock","text":"easyconfig parameter description default value abs_path_compilers Specify compilers via absolute file path (not via command names) False allow_system_boost Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) False build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_shared_libs Build shared library (instead of static library)None can be used to add no flag (usually results in static library) None build_type Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] None configure_cmd Configure command to use \"cmake\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False generator Build file generator to use. None to use CMakes default None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_target_subdir Subdirectory to use as installation target None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None separate_build_dir Perform build in a separate directory True srcdir Source directory location to provide to cmake command None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\""},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmakemake-easyblock","title":"Customised steps in CMakeMake easyblock","text":"
                  • configure_step - Configure build using cmake

                  • install_step - Configure build using cmake

                  "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-cmakemake-easyblock","title":"Example easyconfig for CMakeMake easyblock","text":"
                  easyblock = 'CMakeMake'\n\nname = 'ANTs'\nversion = '2.1.0rc3'\n\nhomepage = 'http://stnava.github.io/ANTs/'\ndescription = \"\"\"ANTs extracts information from complex datasets that include imaging. ANTs is useful for managing,\n interpreting and visualizing multidimensional data.\"\"\"\n\ntoolchain = {'name': 'goolf', 'version': '1.5.14'}\ntoolchainopts = {'pic': True}\n\nsource_urls = ['https://github.com/stnava/ANTs/archive/']\nsources = ['v%(version)s.tar.gz']\n\nbuilddependencies = [('CMake', '3.0.2')]\n\nskipsteps = ['install']\nbuildopts = ' && mkdir -p %(installdir)s && cp -r * %(installdir)s/'\n\nparallel = 1\n\nseparate_build_dir = True\n\nsanity_check_paths = {\n    'files': ['bin/ANTS'],\n    'dirs': ['lib'],\n}\n\nmoduleclass = 'data'\n
                  "},{"location":"version-specific/generic-easyblocks/#cmakemakecp","title":"CMakeMakeCp","text":"

                  (derives from CMakeMake, MakeCp)

                  Software configured with CMake but without 'make install' step

                  We use the default CMakeMake implementation, and use install_step from MakeCp.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmakemakecp-easyblock","title":"Extra easyconfig parameters specific to CMakeMakeCp easyblock","text":"easyconfig parameter description default value abs_path_compilers Specify compilers via absolute file path (not via command names) False allow_system_boost Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) False build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_shared_libs Build shared library (instead of static library)None can be used to add no flag (usually results in static library) None build_type Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] None configure_cmd Configure command to use \"cmake\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False files_to_copy List of files or dirs to copy None generator Build file generator to use. None to use CMakes default None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_target_subdir Subdirectory to use as installation target None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None separate_build_dir Perform build in a separate directory True srcdir Source directory location to provide to cmake command None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" with_configure Run configure script before building False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmakemakecp-easyblock","title":"Customised steps in CMakeMakeCp easyblock","text":"
                  • configure_step - Configure build using CMake

                  • install_step - Install by copying specified files and directories.

                  "},{"location":"version-specific/generic-easyblocks/#cmakeninja","title":"CMakeNinja","text":"

                  (derives from CMakeMake, MesonNinja)

                  Support for configuring with CMake, building and installing with MesonNinja.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmakeninja-easyblock","title":"Extra easyconfig parameters specific to CMakeNinja easyblock","text":"easyconfig parameter description default value abs_path_compilers Specify compilers via absolute file path (not via command names) False allow_system_boost Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) False build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_shared_libs Build shared library (instead of static library)None can be used to add no flag (usually results in static library) None build_type Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] None configure_cmd Configure command to use \"cmake\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False generator Build file generator to use. None to use CMakes default \"Ninja\" host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_target_subdir Subdirectory to use as installation target None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None separate_build_dir Perform build in a separate directory True srcdir Source directory location to provide to cmake command None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\""},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmakeninja-easyblock","title":"Customised steps in CMakeNinja easyblock","text":"
                  • build_step - Build using MesonNinja.

                  • configure_step - Configure using CMake.

                  • install_step - Install using MesonNinja.

                  "},{"location":"version-specific/generic-easyblocks/#cmakepythonpackage","title":"CMakePythonPackage","text":"

                  (derives from CMakeMake, PythonPackage)

                  Build a Python package and module with cmake.

                  Some packages use cmake to first build and install C Python packages and then put the Python package in lib/pythonX.Y/site-packages.

                  We use the default CMake implementation, and use make_module_extra from PythonPackage to generate a module file which sets the PYTHONPATH.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmakepythonpackage-easyblock","title":"Extra easyconfig parameters specific to CMakePythonPackage easyblock","text":"easyconfig parameter description default value abs_path_compilers Specify compilers via absolute file path (not via command names) False allow_system_boost Always allow CMake to pick up on Boost installed in OS (even if Boost is included as a dependency) False build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_shared_libs Build shared library (instead of static library)None can be used to add no flag (usually results in static library) None build_type Build type for CMake, e.g. Release.Defaults to 'Release' or 'Debug' depending on toolchainopts[debug] None buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None configure_cmd Configure command to use \"cmake\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False download_dep_fail Fail if downloaded dependencies are detected None generator Build file generator to use. None to use CMakes default None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" install_target_subdir Subdirectory to use as installation target None options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. None sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False separate_build_dir Perform build in a separate directory True source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] srcdir Source directory location to provide to cmake command None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmakepythonpackage-easyblock","title":"Customised steps in CMakePythonPackage easyblock","text":"
                  • configure_step - Main configuration using cmake

                  • install_step - Main configuration using cmake

                  "},{"location":"version-specific/generic-easyblocks/#cargo","title":"Cargo","text":"

                  (derives from ExtensionEasyBlock)

                  Support for installing Cargo packages (Rust)

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cargo-easyblock","title":"Extra easyconfig parameters specific to Cargo easyblock","text":"easyconfig parameter description default value crates List of (crate, version, [repo, rev]) tuples to use [] enable_tests Enable building of tests True lto Override default LTO flag ('fat', 'thin', 'off') None offline Build offline True options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cargo-easyblock","title":"Customised steps in Cargo easyblock","text":"
                  • build_step - Build with cargo

                  • configure_step - Empty configuration step.

                  • install_step - Install with cargo

                  "},{"location":"version-specific/generic-easyblocks/#cargopythonpackage","title":"CargoPythonPackage","text":"

                  (derives from PythonPackage, Cargo)

                  Build a Python package with setup from Cargo but build/install step from PythonPackage

                  The cargo init step will set up the environment variables for rustc and vendor sources but all the build steps are triggered via normal PythonPackage steps like normal.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cargopythonpackage-easyblock","title":"Extra easyconfig parameters specific to CargoPythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None crates List of (crate, version, [repo, rev]) tuples to use [] download_dep_fail Fail if downloaded dependencies are detected None enable_tests Enable building of tests True install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" lto Override default LTO flag ('fat', 'thin', 'off') None offline Build offline True options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#cmdcp","title":"CmdCp","text":"

                  (derives from MakeCp)

                  Software with no configure, no make, and no make install step. Just run the specified command for all sources, and copy specified files to the install dir

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-cmdcp-easyblock","title":"Extra easyconfig parameters specific to CmdCp easyblock","text":"easyconfig parameter description default value build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None cmds_map List of regex/template command (with 'source'/'target' fields) tuples [('.*', '$CC $CFLAGS %(source)s -o %(target)s')] configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False files_to_copy List of files or dirs to copy None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" prefix_opt Prefix command line option for configure script ('--prefix=' if None) None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" with_configure Run configure script before building False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-cmdcp-easyblock","title":"Customised steps in CmdCp easyblock","text":"
                  • build_step - Build by running the command with the inputfiles

                  • configure_step - Build by running the command with the inputfiles

                  • install_step - Build by running the command with the inputfiles

                  "},{"location":"version-specific/generic-easyblocks/#conda","title":"Conda","text":"

                  (derives from Binary)

                  Support for installing software using 'conda'.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-conda-easyblock","title":"Extra easyconfig parameters specific to Conda easyblock","text":"easyconfig parameter description default value channels List of conda channels to pass to 'conda install' None environment_file Conda environment.yml file to use with 'conda env create' None extract_sources Whether or not to extract sources False install_cmd Install command to be used. None install_cmds List of install commands to be used. None prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] remote_environment Remote conda environment to use with 'conda env create' None requirements Requirements specification to pass to 'conda install' None staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-conda-easyblock","title":"Customised steps in Conda easyblock","text":"
                  • install_step - Install software using 'conda env create' or 'conda create' & 'conda install'.
                  "},{"location":"version-specific/generic-easyblocks/#configuremake","title":"ConfigureMake","text":"

                  (derives from EasyBlock)

                  Support for building and installing applications with configure/make/make install

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-configuremake-easyblock","title":"Extra easyconfig parameters specific to ConfigureMake easyblock","text":"easyconfig parameter description default value build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" prefix_opt Prefix command line option for configure script ('--prefix=' if None) None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\""},{"location":"version-specific/generic-easyblocks/#commonly-used-easyconfig-parameters-with-configuremake-easyblock","title":"Commonly used easyconfig parameters with ConfigureMake easyblock","text":"easyconfig parameter description configopts Extra options passed to configure (default already has --prefix) buildopts Extra options passed to make step (default already has -j X) installopts Extra options for installation"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-configuremake-easyblock","title":"Customised steps in ConfigureMake easyblock","text":"
                  • build_step - Start the actual build - typical: make -j X

                  • configure_step - Configure step - typically ./configure --prefix=/install/path style

                  • install_step - Create the installation in correct location - typical: make install

                  "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-configuremake-easyblock","title":"Example easyconfig for ConfigureMake easyblock","text":"
                  easyblock = 'ConfigureMake'\n\nname = 'zsync'\nversion = '0.6.2'\n\nhomepage = 'http://zsync.moria.org.uk/'\ndescription = \"\"\"zsync-0.6.2: Optimising file distribution program, a 1-to-many rsync\"\"\"\n\ntoolchain = {'name': 'ictce', 'version': '5.3.0'}\n\nsources = [SOURCE_TAR_BZ2]\nsource_urls = ['http://zsync.moria.org.uk/download/']\n\nsanity_check_paths = {\n    'files': ['bin/zsync'],\n    'dirs': []\n}\n\nmoduleclass = 'tools'\n
                  "},{"location":"version-specific/generic-easyblocks/#configuremakepythonpackage","title":"ConfigureMakePythonPackage","text":"

                  (derives from ConfigureMake, PythonPackage)

                  Build a Python package and module with python configure/make/make install.

                  Implemented by using:

                  • a custom implementation of configure_step
                  • using the build_step and install_step from ConfigureMake
                  • using the sanity_check_step and make_module_extra from PythonPackage
                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-configuremakepythonpackage-easyblock","title":"Extra easyconfig parameters specific to ConfigureMakePythonPackage easyblock","text":"easyconfig parameter description default value build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False download_dep_fail Fail if downloaded dependencies are detected None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None prefix_opt Prefix command line option for configure script ('--prefix=' if None) None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-configuremakepythonpackage-easyblock","title":"Customised steps in ConfigureMakePythonPackage easyblock","text":"
                  • build_step - Build Python package with make.

                  • configure_step - Configure build using python configure.

                  • install_step - Install with make install.

                  "},{"location":"version-specific/generic-easyblocks/#example-easyconfig-for-configuremakepythonpackage-easyblock","title":"Example easyconfig for ConfigureMakePythonPackage easyblock","text":"
                  easyblock = 'ConfigureMakePythonPackage'\n\nname = 'PyQt'\nversion = '4.11.3'\nversionsuffix = '-Python-%(pyver)s'\n\nhomepage = 'http://www.riverbankcomputing.co.uk/software/pyqt'\ndescription = \"\"\"PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework.\"\"\"\n\ntoolchain = {'name': 'goolf', 'version': '1.5.14'}\n\nsources = ['%(name)s-x11-gpl-%(version)s.tar.gz']\nsource_urls = ['http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-%(version)s']\n\ndependencies = [\n    ('Python', '2.7.9'),\n    ('SIP', '4.16.4', versionsuffix),\n    ('Qt', '4.8.6'),\n]\n\nconfigopts = \"configure-ng.py --confirm-license\"\nconfigopts += \" --destdir=%%(installdir)s/lib/python%(pyshortver)s/site-packages \"\nconfigopts += \" --no-sip-files\"\n\noptions = {'modulename': 'PyQt4'}\n\nmodextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}\n\nmoduleclass = 'vis'\n
                  "},{"location":"version-specific/generic-easyblocks/#craytoolchain","title":"CrayToolchain","text":"

                  (derives from Bundle)

                  Compiler toolchain: generate module file only, nothing to build/install

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-craytoolchain-easyblock","title":"Extra easyconfig parameters specific to CrayToolchain easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#fortranpythonpackage","title":"FortranPythonPackage","text":"

                  (derives from PythonPackage)

                  Extends PythonPackage to add a Fortran compiler to the make call

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-fortranpythonpackage-easyblock","title":"Extra easyconfig parameters specific to FortranPythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-fortranpythonpackage-easyblock","title":"Customised steps in FortranPythonPackage easyblock","text":"
                  • build_step - Customize the build step by adding compiler-specific flags to the build command.

                  • configure_step - Customize the build step by adding compiler-specific flags to the build command.

                  • install_step - Customize the build step by adding compiler-specific flags to the build command.

                  "},{"location":"version-specific/generic-easyblocks/#gopackage","title":"GoPackage","text":"

                  (derives from EasyBlock)

                  Builds and installs a Go package, and provides a dedicated module file.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-gopackage-easyblock","title":"Extra easyconfig parameters specific to GoPackage easyblock","text":"easyconfig parameter description default value forced_deps Force specific version of Go package, when building non-native module None modulename Module name of the Go package, when building non-native module None"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-gopackage-easyblock","title":"Customised steps in GoPackage easyblock","text":"
                  • build_step - If Go package is not native go module, lets try to make the module.

                  • configure_step - Configure Go package build/install.

                  • install_step - Install Go package to a custom path

                  "},{"location":"version-specific/generic-easyblocks/#intelbase","title":"IntelBase","text":"

                  (derives from EasyBlock)

                  Base class for Intel software

                  • no configure/make : binary release
                  • add license_file variable
                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-intelbase-easyblock","title":"Extra easyconfig parameters specific to IntelBase easyblock","text":"easyconfig parameter description default value components List of components to install None license_activation License activation type \"license_server\" m32 Enable 32-bit toolchain False requires_runtime_license Boolean indicating whether or not a runtime license is required True serial_number Serial number for the product None usetmppath Use temporary path for installation False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-intelbase-easyblock","title":"Customised steps in IntelBase easyblock","text":"
                  • build_step - Binary installation files, so no building.

                  • configure_step - Configure: handle license file and clean home dir.

                  • install_step - Install Intel software

                  "},{"location":"version-specific/generic-easyblocks/#jar","title":"JAR","text":"

                  (derives from Binary)

                  Support for installing JAR files.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-jar-easyblock","title":"Extra easyconfig parameters specific to JAR easyblock","text":"easyconfig parameter description default value extract_sources Whether or not to extract sources False install_cmd Install command to be used. None install_cmds List of install commands to be used. None prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#juliabundle","title":"JuliaBundle","text":"

                  (derives from Bundle)

                  Bundle of JuliaPackages: install Julia packages as extensions in a bundle Defines custom sanity checks and module environment

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-juliabundle-easyblock","title":"Extra easyconfig parameters specific to JuliaBundle easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None download_pkg_deps Let Julia download and bundle all needed dependencies for this installation False options Dictionary with extension options. {} sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#juliapackage","title":"JuliaPackage","text":"

                  (derives from ExtensionEasyBlock)

                  Builds and installs Julia Packages.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-juliapackage-easyblock","title":"Extra easyconfig parameters specific to JuliaPackage easyblock","text":"easyconfig parameter description default value download_pkg_deps Let Julia download and bundle all needed dependencies for this installation False options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-juliapackage-easyblock","title":"Customised steps in JuliaPackage easyblock","text":"
                  • build_step - No separate build procedure for JuliaPackage.

                  • configure_step - No separate configuration for JuliaPackage.

                  • install_step - Install Julia package with Pkg

                  "},{"location":"version-specific/generic-easyblocks/#makecp","title":"MakeCp","text":"

                  (derives from ConfigureMake)

                  Software with no configure and no make install step.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-makecp-easyblock","title":"Extra easyconfig parameters specific to MakeCp easyblock","text":"easyconfig parameter description default value build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False files_to_copy List of files or dirs to copy None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" prefix_opt Prefix command line option for configure script ('--prefix=' if None) None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" with_configure Run configure script before building False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-makecp-easyblock","title":"Customised steps in MakeCp easyblock","text":"
                  • configure_step - Configure build if required

                  • install_step - Install by copying specified files and directories.

                  "},{"location":"version-specific/generic-easyblocks/#mesonninja","title":"MesonNinja","text":"

                  (derives from EasyBlock)

                  Support for building and installing software with 'meson' and 'ninja'.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-mesonninja-easyblock","title":"Extra easyconfig parameters specific to MesonNinja easyblock","text":"easyconfig parameter description default value configure_cmd Configure command to use \"meson\" separate_build_dir Perform build in a separate directory True"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-mesonninja-easyblock","title":"Customised steps in MesonNinja easyblock","text":"
                  • build_step - Build with Ninja.

                  • configure_step - Configure with Meson.

                  • install_step - Install with 'ninja install'.

                  "},{"location":"version-specific/generic-easyblocks/#modulerc","title":"ModuleRC","text":"

                  (derives from EasyBlock)

                  Generic easyblock to create a software-specific .modulerc file

                  "},{"location":"version-specific/generic-easyblocks/#customised-steps-in-modulerc-easyblock","title":"Customised steps in ModuleRC easyblock","text":"
                  • build_step - Do nothing.

                  • configure_step - Do nothing.

                  • install_step - Do nothing.

                  "},{"location":"version-specific/generic-easyblocks/#ocamlpackage","title":"OCamlPackage","text":"

                  (derives from ExtensionEasyBlock)

                  Builds and installs OCaml packages using OPAM package manager.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-ocamlpackage-easyblock","title":"Extra easyconfig parameters specific to OCamlPackage easyblock","text":"easyconfig parameter description default value options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-ocamlpackage-easyblock","title":"Customised steps in OCamlPackage easyblock","text":"
                  • configure_step - Raise error when configure step is run: installing OCaml packages stand-alone is not supported (yet)

                  • install_step - Raise error when configure step is run: installing OCaml packages stand-alone is not supported (yet)

                  "},{"location":"version-specific/generic-easyblocks/#octavepackage","title":"OctavePackage","text":"

                  (derives from ExtensionEasyBlock)

                  Builds and installs Octave extension toolboxes.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-octavepackage-easyblock","title":"Extra easyconfig parameters specific to OctavePackage easyblock","text":"easyconfig parameter description default value options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-octavepackage-easyblock","title":"Customised steps in OctavePackage easyblock","text":"
                  • configure_step - Raise error when configure step is run: installing Octave toolboxes stand-alone is not supported (yet)

                  • install_step - Raise error when configure step is run: installing Octave toolboxes stand-alone is not supported (yet)

                  "},{"location":"version-specific/generic-easyblocks/#packedbinary","title":"PackedBinary","text":"

                  (derives from Binary, EasyBlock)

                  Support for installing packed binary software. Just unpack the sources in the install dir

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-packedbinary-easyblock","title":"Extra easyconfig parameters specific to PackedBinary easyblock","text":"easyconfig parameter description default value extract_sources Whether or not to extract sources False install_cmd Install command to be used. None install_cmds List of install commands to be used. None prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-packedbinary-easyblock","title":"Customised steps in PackedBinary easyblock","text":"
                  • install_step - Copy all unpacked source directories to install directory, one-by-one.
                  "},{"location":"version-specific/generic-easyblocks/#perlbundle","title":"PerlBundle","text":"

                  (derives from Bundle)

                  Bundle of perl modules

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-perlbundle-easyblock","title":"Extra easyconfig parameters specific to PerlBundle easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None options Dictionary with extension options. {} runtest Run unit tests. \"test\" sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks []"},{"location":"version-specific/generic-easyblocks/#perlmodule","title":"PerlModule","text":"

                  (derives from ExtensionEasyBlock, ConfigureMake)

                  Builds and installs a Perl module, and can provide a dedicated module file.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-perlmodule-easyblock","title":"Extra easyconfig parameters specific to PerlModule easyblock","text":"easyconfig parameter description default value options Dictionary with extension options. {} runtest Run unit tests. \"test\""},{"location":"version-specific/generic-easyblocks/#customised-steps-in-perlmodule-easyblock","title":"Customised steps in PerlModule easyblock","text":"
                  • build_step - No separate build procedure for Perl modules.

                  • configure_step - No separate configuration for Perl modules.

                  • install_step - Run install procedure for Perl modules.

                  "},{"location":"version-specific/generic-easyblocks/#pythonbundle","title":"PythonBundle","text":"

                  (derives from Bundle)

                  Bundle of PythonPackages: install Python packages as extensions in a bundle Defines custom sanity checks and module environment

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-pythonbundle-easyblock","title":"Extra easyconfig parameters specific to PythonBundle easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks [] sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#pythonpackage","title":"PythonPackage","text":"

                  (derives from ExtensionEasyBlock)

                  Builds and installs a Python package, and provides a dedicated module file.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-pythonpackage-easyblock","title":"Extra easyconfig parameters specific to PythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-pythonpackage-easyblock","title":"Customised steps in PythonPackage easyblock","text":"
                  • build_step - Build Python package using setup.py

                  • configure_step - Configure Python package build/install.

                  • install_step - Install Python package to a custom path using setup.py

                  "},{"location":"version-specific/generic-easyblocks/#rpackage","title":"RPackage","text":"

                  (derives from ExtensionEasyBlock)

                  Install an R package as a separate module, or as an extension.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-rpackage-easyblock","title":"Extra easyconfig parameters specific to RPackage easyblock","text":"easyconfig parameter description default value exts_subdir Subdirectory where R extensions should be installed info \"\" options Dictionary with extension options. {} unpack_sources Unpack sources before installation False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-rpackage-easyblock","title":"Customised steps in RPackage easyblock","text":"
                  • build_step - No separate build step for R packages.

                  • configure_step - No configuration for installing R packages.

                  • install_step - Install procedure for R packages.

                  "},{"location":"version-specific/generic-easyblocks/#rpm","title":"Rpm","text":"

                  (derives from Binary)

                  Support for installing RPM files.

                  • sources is a list of rpms
                  • installation is with --nodeps (so the sources list has to be complete)
                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-rpm-easyblock","title":"Extra easyconfig parameters specific to Rpm easyblock","text":"easyconfig parameter description default value extract_sources Whether or not to extract sources False force Use force False install_cmd Install command to be used. None install_cmds List of install commands to be used. None makesymlinks Create symlinks for listed paths [] postinstall Enable post install False preinstall Enable pre install False prepend_to_path Prepend the given directories (relative to install-dir) to the environment variable PATH in the module file. Default is the install-dir itself. [''] staged_install Perform staged installation via subdirectory of build directory False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-rpm-easyblock","title":"Customised steps in Rpm easyblock","text":"
                  • configure_step - Custom configuration procedure for RPMs: rebuild RPMs for relocation if required.

                  • install_step - Custom installation procedure for RPMs into a custom prefix.

                  "},{"location":"version-specific/generic-easyblocks/#rubygem","title":"RubyGem","text":"

                  (derives from ExtensionEasyBlock)

                  Builds and installs Ruby Gems.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-rubygem-easyblock","title":"Extra easyconfig parameters specific to RubyGem easyblock","text":"easyconfig parameter description default value gem_file Path to gem file in unpacked sources None options Dictionary with extension options. {}"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-rubygem-easyblock","title":"Customised steps in RubyGem easyblock","text":"
                  • build_step - No separate build procedure for Ruby Gems.

                  • configure_step - No separate configuration for Ruby Gems.

                  • install_step - Install Ruby Gems using gem package manager

                  "},{"location":"version-specific/generic-easyblocks/#scons","title":"SCons","text":"

                  (derives from EasyBlock)

                  Support for building/installing with SCons.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-scons-easyblock","title":"Extra easyconfig parameters specific to SCons easyblock","text":"easyconfig parameter description default value prefix_arg Syntax for specifying installation prefix \"PREFIX=\""},{"location":"version-specific/generic-easyblocks/#customised-steps-in-scons-easyblock","title":"Customised steps in SCons easyblock","text":"
                  • build_step - Build with SCons

                  • configure_step - No configure step for SCons

                  • install_step - Install with SCons

                  "},{"location":"version-specific/generic-easyblocks/#systemcompiler","title":"SystemCompiler","text":"

                  (derives from Bundle, EB_GCC, EB_ifort)

                  Support for generating a module file for the system compiler with specified name.

                  The compiler is expected to be available in $PATH, required libraries are assumed to be readily available.

                  Specifying 'system' as a version leads to using the derived compiler version in the generated module; if an actual version is specified, it is checked against the derived version of the system compiler that was found.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-systemcompiler-easyblock","title":"Extra easyconfig parameters specific to SystemCompiler easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None clooguseisl Use ISL with CLooG or not False components List of components to install: tuples w/ name, version and easyblock to use () configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None generate_standalone_module Add known path/library extensions and environment variables for the compiler to the final module False generic Build GCC and support libraries such that it runs on all processors of the target architecture (use False to enforce non-generic regardless of configuration) None host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" languages List of languages to build GCC for (--enable-languages) [] license_activation License activation type \"license_server\" m32 Enable 32-bit toolchain False multilib Build multilib gcc (both i386 and x86_64) False pplwatchdog Enable PPL watchdog False prefer_lib_subdir Configure GCC to prefer 'lib' subdirs over 'lib64' when linking False prefix_opt Prefix command line option for configure script ('--prefix=' if None) None profiled Bootstrap GCC with profile-guided optimizations False requires_runtime_license Boolean indicating whether or not a runtime license is required True sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks [] serial_number Serial number for the product None tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" use_gold_linker Configure GCC to use GOLD as default linker (default: enable automatically for GCC < 11.3.0, except on RISC-V) None usetmppath Use temporary path for installation False withamdgcn Build GCC with AMD GCN offload support False withcloog Build GCC with CLooG support False withisl Build GCC with ISL support False withlibiberty Enable installing of libiberty False withlto Enable LTO support True withnvptx Build GCC with NVPTX offload support False withppl Build GCC with PPL support False"},{"location":"version-specific/generic-easyblocks/#systemmpi","title":"SystemMPI","text":"

                  (derives from Bundle, ConfigureMake, EB_impi)

                  Support for generating a module file for the system mpi with specified name.

                  The mpi compiler is expected to be available in $PATH, required libraries are assumed to be readily available.

                  Specifying 'system' as a version leads to using the derived mpi version in the generated module; if an actual version is specified, it is checked against the derived version of the system mpi that was found.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-systemmpi-easyblock","title":"Extra easyconfig parameters specific to SystemMPI easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None build_cmd Build command to use \"make\" build_cmd_targets Target name (string) or list of target names to build \"\" build_type Value to provide to --build option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None components List of components to install: tuples w/ name, version and easyblock to use () configure_cmd Configure command to use \"./configure\" configure_cmd_prefix Prefix to be glued before ./configure \"\" configure_without_installdir Avoid passing an install directory to the configure command (such as via --prefix) False default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None generate_standalone_module Add known path extensions and environment variables for the MPI installation to the final module False host_type Value to provide to --host option of configure script, e.g., x86_64-pc-linux-gnu (determined by config.guess shipped with EasyBuild if None, False implies to leave it up to the configure script) None install_cmd Install command to use \"make install\" libfabric_configopts Configure options for the provided libfabric \"\" libfabric_rebuild Try to rebuild internal libfabric instead of using provided binary True license_activation License activation type \"license_server\" m32 Enable 32-bit toolchain False ofi_internal Use internal shipped libfabric instead of external libfabric True prefix_opt Prefix command line option for configure script ('--prefix=' if None) None requires_runtime_license Boolean indicating whether or not a runtime license is required True sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks [] serial_number Serial number for the product None set_mpi_wrapper_aliases_gcc Set compiler for mpigcc/mpigxx via aliases False set_mpi_wrapper_aliases_intel Set compiler for mpiicc/mpiicpc/mpiifort via aliases False set_mpi_wrappers_all Set (default) compiler for all MPI wrapper commands False set_mpi_wrappers_compiler Override default compiler used by MPI wrapper commands False tar_config_opts Override tar settings as determined by configure. False test_cmd Test command to use ('runtest' value is appended) \"make\" usetmppath Use temporary path for installation False"},{"location":"version-specific/generic-easyblocks/#tarball","title":"Tarball","text":"

                  (derives from ExtensionEasyBlock)

                  Precompiled software supplied as a tarball: will unpack binary and copy it to the install dir

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-tarball-easyblock","title":"Extra easyconfig parameters specific to Tarball easyblock","text":"easyconfig parameter description default value install_type Defaults to extract tarball into clean directory. Options: 'merge' merges tarball to existing directory, 'subdir' extracts tarball into its own sub-directory None options Dictionary with extension options. {} preinstall_cmd Command to execute before installation None"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-tarball-easyblock","title":"Customised steps in Tarball easyblock","text":"
                  • build_step - Dummy build method: nothing to build

                  • configure_step - Dummy configure method

                  • install_step - Install by copying from specified source directory (or 'start_dir' if not specified).

                  "},{"location":"version-specific/generic-easyblocks/#toolchain","title":"Toolchain","text":"

                  (derives from Bundle)

                  Compiler toolchain easyblock: nothing to install, just generate module file.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-toolchain-easyblock","title":"Extra easyconfig parameters specific to Toolchain easyblock","text":"easyconfig parameter description default value altroot Software name of dependency to use to define $EBROOT for this bundle None altversion Software name of dependency to use to define $EBVERSION for this bundle None components List of components to install: tuples w/ name, version and easyblock to use () default_component_specs Default specs to use for every component {} default_easyblock Default easyblock to use for components None sanity_check_all_components Enable sanity checks for all components False sanity_check_components List of components for which to run sanity checks [] set_env_external_modules Include setenv statements for toolchain components that use an external module, based on available metadata False"},{"location":"version-specific/generic-easyblocks/#vscpythonpackage","title":"VSCPythonPackage","text":"

                  (derives from VersionIndependentPythonPackage)

                  Support for install VSC Python packages.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-vscpythonpackage-easyblock","title":"Extra easyconfig parameters specific to VSCPythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#versionindependentpythonpackage","title":"VersionIndependentPythonPackage","text":"

                  (derives from PythonPackage)

                  Support for building/installing python packages without requiring a specific python package.

                  "},{"location":"version-specific/generic-easyblocks/#extra-easyconfig-parameters-specific-to-versionindependentpythonpackage-easyblock","title":"Extra easyconfig parameters specific to VersionIndependentPythonPackage easyblock","text":"easyconfig parameter description default value buildcmd Command for building the package (e.g. for custom builds resulting in a whl file). When using setup.py this will be passed to setup.py and defaults to 'build'. Otherwise it will be used as-is. A value of None then skips the build step. The template %(python)s will be replace by the currently used Python binary. None check_ldshared Check Python value of $LDSHARED, correct if needed to \"$CC -shared\" None download_dep_fail Fail if downloaded dependencies are detected None install_src Source path to pass to the install command (e.g. a whl file).Defaults to '.' for unpacked sources or the first source file specified None install_target Option to pass to setup.py \"install\" options Dictionary with extension options. {} pip_ignore_installed Let pip ignore installed Python packages (i.e. don't remove them) True pip_no_index Pass --no-index to pip to disable connecting to PyPi entirely which also disables the pip version check. Enabled by default when pip_ignore_installed=True None req_py_majver Required major Python version (only relevant when using system Python) None req_py_minver Required minor Python version (only relevant when using system Python) None runtest Run unit tests. True sanity_pip_check Run 'python -m pip check' to ensure all required Python packages are installed and check for any package with an invalid (0.0.0) version. False source_urls List of URLs for source files ['https://pypi.python.org/packages/source/%(nameletter)s/%(name)s'] testinstall Install into temporary directory prior to running the tests. False unpack_sources Unpack sources prior to build/install. Defaults to 'True' except for whl files None unversioned_packages List of packages that don't have a version at all, i.e. show 0.0.0 [] use_pip Install using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' None use_pip_editable Install using 'pip install --editable' False use_pip_extras String with comma-separated list of 'extras' to install via pip None use_pip_for_deps Install dependencies using '%(python)s -m pip install --prefix=%(prefix)s %(installopts)s %(loc)s' False use_pip_requirement Install using 'python -m pip install --requirement'. The sources is expected to be the requirements file. False zipped_egg Install as a zipped eggs False"},{"location":"version-specific/generic-easyblocks/#customised-steps-in-versionindependentpythonpackage-easyblock","title":"Customised steps in VersionIndependentPythonPackage easyblock","text":"
                  • build_step - No build procedure.

                  • configure_step - No build procedure.

                  • install_step - Custom install procedure to skip selection of python package versions.

                  "},{"location":"version-specific/generic-easyblocks/#waf","title":"Waf","text":"

                  (derives from EasyBlock)

                  Support for building and installing applications with waf

                  "},{"location":"version-specific/generic-easyblocks/#customised-steps-in-waf-easyblock","title":"Customised steps in Waf easyblock","text":"
                  • build_step - Build with ./waf build

                  • configure_step - Configure with ./waf configure --prefix=

                  • install_step - Install with ./waf install

                  • "},{"location":"version-specific/supported-software/","title":"List of supported software","text":"

                    Note

                    This page contains a lot of information, it may take a while to load.

                    EasyBuild supports 3161 different software packages (incl. toolchains, bundles):

                    a - b - c - d - e - f - g - h - i - j - k - l - m - n - o - p - q - r - s - t - u - v - w - x - y - z

                    "},{"location":"version-specific/supported-software/#3","title":"3","text":"

                    3d-dna - 3to2

                    "},{"location":"version-specific/supported-software/#3d-dna","title":"3d-dna","text":"

                    3D de novo assembly (3D DNA) pipeline

                    homepage: https://github.com/theaidenlab/3d-dna

                    version versionsuffix toolchain 180922 -Python-2.7.15 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#3to2","title":"3to2","text":"

                    lib3to2 is a set of fixers that are intended to backport code written for Python version 3.x into Python version 2.x.

                    homepage: https://pypi.python.org/pypi/3to2

                    version versionsuffix toolchain 1.1.1 -Python-2.7.12 foss/2016b, intel/2016b 1.1.1 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#4","title":"4","text":"

                    4ti2

                    "},{"location":"version-specific/supported-software/#4ti2","title":"4ti2","text":"

                    A software package for algebraic, geometric and combinatorial problems on linear spaces

                    homepage: https://4ti2.github.io/

                    version toolchain 1.6.9 GCC/8.2.0-2.31.1, intel/2018b"},{"location":"version-specific/supported-software/#a","title":"A","text":"

                    ABAQUS - ABINIT - ABRA2 - ABRicate - Abseil - abTEM - ABySS - ack - ACT - ACTC - ada - AdapterRemoval - ADDA - ADF - ADIOS - adjustText - ADMIXTURE - ADOL-C - Advisor - affinity - AFNI - AGAT - AGeNT - AGFusion - AIMAll - aiohttp - ALADIN - Albacore - Albumentations - alevin-fry - ALFA - Alfred - alleleCount - alleleIntegrator - Allinea - ALLPATHS-LG - almosthere - Alpha - AlphaFold - AlphaPulldown - ALPS - alsa-lib - AMAPVox - Amara - amask - Amber - AmberMini - AmberTools - AMD-LibM - AMD-RNG - AMD-SecureRNG - AMD-uProf - AMOS - AMPHORA2 - AMPL-MP - amplimap - AMPtk - AmrPlusPlus - AMS - Anaconda2 - Anaconda3 - aNCI - andi - ANGEL - angsd - ANIcalculator - anndata - Annif - Annocript - annovar - ANSYS - ANSYS_CFD - ant - antiSMASH - ANTLR - ANTs - anvio - any2fasta - AOCC - AOMP - APBS - apex - APR - APR-util - AptaSUITE - ARAGORN - Arb - Arcade-Learning-Environment - arcasHLA - ARCH - Archive-Zip - ArchR - archspec - ARGoS - argtable - aria2 - Arlequin - Armadillo - arosics - ARPACK++ - arpack-ng - ArrayFire - Arriba - Arrow - arrow-R - ART - artic-ncov2019 - ARTS - ArviZ - ARWEN - ASAP - ASAP3 - ASCAT - ASE - ASF-SearchAPI - ASHS - Aspera-CLI - Aspera-Connect - assimp - Assimulo - ASTRID - astro-tulips - astropy - at-spi2-atk - at-spi2-core - ATAT - ATK - ATLAS - atomate - AtomPAW - atools - atropos - ATSAS - attr - attrdict - attrdict3 - augur - AUGUSTUS - Austin - AUTO-07p - Autoconf - Autoconf-archive - AutoDock - AutoDock-GPU - AutoDock-Vina - AutoDockSuite - AutoGeneS - AutoGrid - Automake - AutoMap - autopep8 - Autotools - Avogadro2 - avro-cpp - awscli - axel

                    "},{"location":"version-specific/supported-software/#abaqus","title":"ABAQUS","text":"

                    Finite Element Analysis software for modeling, visualization and best-in-class implicit and explicit dynamics FEA.

                    homepage: http://www.simulia.com/products/abaqus_fea.html

                    version versionsuffix toolchain 6.12.1 -linux-x86_64 system 6.13.5 -linux-x86_64 system 6.14.1 -linux-x86_64 system 2017 -hotfix-1721 system 2018 -hotfix-1806 system 2020 system 2021 -hotfix-2132 system 2022 system 2022 -hotfix-2214 system 2022 -hotfix-2223 system"},{"location":"version-specific/supported-software/#abinit","title":"ABINIT","text":"

                    ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a planewave or wavelet basis.

                    homepage: https://www.abinit.org/

                    version versionsuffix toolchain 7.0.3 -x86_64_linux_gnu4.5 system 7.0.5 -x86_64_linux_gnu4.5 system 7.2.1 -x86_64_linux_gnu4.5 system 7.10.5 intel/2016.02-GCC-4.9 7.10.5 -libxc intel/2016.02-GCC-4.9 8.0.8 intel/2016a 8.0.8b foss/2016b, intel/2016b 8.2.2 foss/2016b, intel/2016b 8.4.4 intel/2017b 8.6.3 intel/2018a 8.10.2 intel/2018b 8.10.3 intel/2018b 9.2.1 foss/2019b, intel/2019b, intel/2020a 9.4.1 foss/2020b, intel/2020a, intel/2020b 9.4.2 foss/2021a, intel/2021a 9.6.2 foss/2022a, intel/2021a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#abra2","title":"ABRA2","text":"

                    Assembly Based ReAligner

                    homepage: https://github.com/mozack/abra2

                    version toolchain 2.22 iccifort/2019.5.281 2.23 GCC/10.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#abricate","title":"ABRicate","text":"

                    Mass screening of contigs for antimicrobial and virulence genes

                    homepage: https://github.com/tseemann/abricate

                    version versionsuffix toolchain 0.9.9 gompi/2019b 0.9.9 -Perl-5.28.1 gompi/2019a 1.0.0 gompi/2021a"},{"location":"version-specific/supported-software/#abseil","title":"Abseil","text":"

                    Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.

                    homepage: https://abseil.io/

                    version toolchain 20210324.2 GCCcore/11.2.0 20230125.2 GCCcore/11.3.0, GCCcore/12.2.0 20230125.3 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#abtem","title":"abTEM","text":"

                    abTEM provides a Python API for running simulations of Transmission Electron Microscopy images.

                    homepage: https://github.com/jacobjma/abTEM

                    version versionsuffix toolchain 1.0.0b24 -ASE-3.22.0 fosscuda/2020b 1.0.0b26 -ASE-3.22.0 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#abyss","title":"ABySS","text":"

                    Assembly By Short Sequences - a de novo, parallel, paired-end sequence assembler

                    homepage: https://www.bcgsc.ca/platform/bioinfo/software/abyss

                    version toolchain 1.9.0 foss/2016a 2.0.2 foss/2016b, foss/2018a, gompi/2019a, intel/2016b 2.0.3 foss/2017b, intel/2017b 2.1.5 foss/2019b 2.2.5 foss/2020b"},{"location":"version-specific/supported-software/#ack","title":"ack","text":"

                    ack is a tool like grep, optimized for programmers

                    homepage: https://beyondgrep.com

                    version toolchain 2.14 system 3.4.0 GCCcore/10.2.0 3.5.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#act","title":"ACT","text":"

                    ACT is a Java application for displaying pairwise comparisons between two or more DNA sequences. It can be used to identify and analyse regions of similarity and difference between genomes and to explore conservation of synteny, in the context of the entire sequences and their annotation. It can read complete EMBL, GENBANK and GFF entries or sequences in FASTA or raw format.

                    homepage: https://sanger-pathogens.github.io/Artemis/ACT/

                    version versionsuffix toolchain 18.0.2 -Java-11 system 18.0.3 -Java-11 system"},{"location":"version-specific/supported-software/#actc","title":"ACTC","text":"

                    ACTC converts independent triangles into triangle strips or fans.

                    homepage: https://sourceforge.net/projects/actc

                    version toolchain 1.1 GCCcore/10.2.0, GCCcore/11.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2016b"},{"location":"version-specific/supported-software/#ada","title":"ada","text":"

                    Performs discrete, real, and gentle boost under both exponential and logistic loss on a given data set.

                    homepage: https://cran.r-project.org/web/packages/ada/index.html

                    version versionsuffix toolchain 2.0-5 -R-3.4.0 intel/2017a"},{"location":"version-specific/supported-software/#adapterremoval","title":"AdapterRemoval","text":"

                    AdapterRemoval searches for and removes remnant adapter sequences from High-Throughput Sequencing (HTS) data and (optionally) trims low quality bases from the 3' end of reads following adapter removal.

                    homepage: https://github.com/MikkelSchubert/adapterremoval

                    version toolchain 2.2.0 foss/2016b 2.2.2 foss/2018b 2.3.1 foss/2018b 2.3.2 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0 2.3.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#adda","title":"ADDA","text":"

                    ADDA is an open-source parallel implementation of the discrete dipole approximation, capable to simulate light scattering by particles of arbitrary shape and composition in a wide range of particle sizes.

                    homepage: https://github.com/adda-team/adda/wiki

                    version toolchain 1.3b4 foss/2019a"},{"location":"version-specific/supported-software/#adf","title":"ADF","text":"

                    ADF is an accurate, parallelized, powerful computational chemistry program to understand and predict chemical structure and reactivity with density functional theory (DFT).

                    homepage: https://www.scm.com/ADF/

                    version versionsuffix toolchain 2009.01a.pc64_linux.intelmpi system 2014.02 system 2014.11.r48287 intel/2016a 2016.101 system 2019.303 -intelmpi system"},{"location":"version-specific/supported-software/#adios","title":"ADIOS","text":"

                    The Adaptable IO System (ADIOS) provides a simple, flexible way for scientists to describe the data in their code that may need to be written, read, or processed outside of the running simulation.

                    homepage: https://www.olcf.ornl.gov/center-projects/adios/

                    version versionsuffix toolchain 1.13.1 -Python-2.7.15 foss/2019a 1.13.1 -Python-3.8.2 foss/2020a 20210804 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#adjusttext","title":"adjustText","text":"

                    A small library for automatically adjustment of text position in matplotlib plots to minimize overlaps.

                    homepage: https://github.com/Phlya/adjustText

                    version versionsuffix toolchain 0.7.3 foss/2021b 0.7.3 -Python-3.6.6 foss/2018b 0.7.3 -Python-3.7.2 intel/2019a"},{"location":"version-specific/supported-software/#admixture","title":"ADMIXTURE","text":"

                    ADMIXTURE is a software tool for maximum likelihood estimation of individual ancestries from multilocus SNP genotype datasets. It uses the same statistical model as STRUCTURE but calculates estimates much more rapidly using a fast numerical optimization algorithm.

                    homepage: https://dalexander.github.io/admixture/

                    version toolchain 1.3.0 system"},{"location":"version-specific/supported-software/#adol-c","title":"ADOL-C","text":"

                    The package ADOL-C (Automatic Differentiation by OverLoading in C++) facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked with C.

                    homepage: https://projects.coin-or.org/ADOL-C

                    version toolchain 2.7.0 gompi/2019a 2.7.2 gompi/2020a"},{"location":"version-specific/supported-software/#advisor","title":"Advisor","text":"

                    Vectorization Optimization and Thread Prototyping - Vectorize & thread code or performance \u201cdies\u201d - Easy workflow + data + tips = faster code faster - Prioritize, Prototype & Predict performance gain

                    homepage: https://software.intel.com/intel-advisor-xe

                    version toolchain 2016_update2 system 2017_update1 system 2018_update1 system 2018_update3 system 2019_update2 system 2019_update3 system 2019_update5 system 2021.2.0 system 2021.4.0 system 2022.1.0 system"},{"location":"version-specific/supported-software/#affinity","title":"affinity","text":"

                    A small C++ wrapper for managing Linux CPU sets and CPU affinity. It also includes a tool to report binding, which is useful for testing different binding options

                    homepage: https://github.com/vkarak/affinity

                    version toolchain 20230524 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#afni","title":"AFNI","text":"

                    AFNI is a set of C programs for processing, analyzing, and displaying functional MRI (FMRI) data - a technique for mapping human brain activity.

                    homepage: http://afni.nimh.nih.gov/

                    version versionsuffix toolchain 18.1.09 -Python-3.6.4 intel/2018a 18.3.00 -Python-3.6.6 foss/2018b 19.0.01 -Python-2.7.14 foss/2017b, intel/2017b 20160329 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#agat","title":"AGAT","text":"

                    AGAT: Another GTF/GFF Analysis Toolkit. Suite of tools to handle gene annotations in any GTF/GFF format.

                    homepage: https://agat.readthedocs.io/en/latest/

                    version toolchain 0.9.2 GCC/11.2.0 1.1.0 GCC/12.2.0"},{"location":"version-specific/supported-software/#agent","title":"AGeNT","text":"

                    The Agilent Genomics NextGen Toolkit (AGeNT) is a Java-based software module that processes the read sequences from targeted high-throughput sequencing data generated by sequencing Agilent SureSelect and HaloPlex libraries. The Trimmer utility of the AGeNT module processes the read sequences to identify and remove the adaptor sequences and extracts dual molecular barcodes (for SureSelect XT HS2). The LocatIt utility of the AGeNT module processes the Molecular Barcode (MBC) information from HaloPlex HS, SureSelect XT HS, and SureSelect XT HS2 Illumina sequencing runs with options to either mark or merge duplicate reads and output in BAM file format. The Illumina InterOp libraries are a set of common routines used for reading InterOp metric files produced by Illumina sequencers including NextSeq 1k/2k. These libraries are backwards compatible and capable of supporting prior releases of the software, with one exception: GA systems have been excluded.

                    homepage: https://www.agilent.com/en/product/next-generation-sequencing/hybridization-based-next-generation-sequencing-ngs/ngs-software/agent-232879

                    version toolchain 3.0.6 system"},{"location":"version-specific/supported-software/#agfusion","title":"AGFusion","text":"

                    AGFusion is a python package for annotating gene fusions from the human or mouse genomes.

                    homepage: https://github.com/murphycj/AGFusion

                    version versionsuffix toolchain 1.2 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#aimall","title":"AIMAll","text":"

                    AIMAll is an easy to use, accurate, reliable and efficient quantum chemistry software package for performing comprehensive, quantitative and visual QTAIM analyses of molecular systems - starting from molecular wavefunction data.

                    homepage: http://aim.tkgristmill.com

                    version versionsuffix toolchain 19.10.12 -linux_64bit intel/2020b"},{"location":"version-specific/supported-software/#aiohttp","title":"aiohttp","text":"

                    Asynchronous HTTP client/server framework for asyncio and Python.

                    homepage: https://github.com/aio-libs/aiohttp

                    version versionsuffix toolchain 3.5.4 -Python-3.6.6 foss/2018b 3.8.1 GCCcore/10.3.0, GCCcore/11.2.0 3.8.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#aladin","title":"ALADIN","text":"

                    ALADIN was entirely built on the notion of compatibility with its mother system, IFS/ARPEG. The latter, a joint development between the European Centre for Medium-Range Weather Forecasts (ECMWF) and Meteo-France, was only meant to consider global Numerical Weather Prediction applications; hence the idea, for ALADIN, to complement the IFS/ARPEGE project with a limited area model (LAM) version, while keeping the differences between the two softwares as small as possible.

                    homepage: http://www.cnrm.meteo.fr/aladin/

                    version toolchain 36t1_op2bf1 intel/2016a"},{"location":"version-specific/supported-software/#albacore","title":"Albacore","text":"

                    Albacore is a software project that provides an entry point to the Oxford Nanopore basecalling algorithms.

                    homepage: https://community.nanoporetech.com/protocols/albacore-offline-basecalli/v/abec_2003_v1_revz_29nov2016

                    version versionsuffix toolchain 2.0.2 -Python-3.6.1 intel/2017a"},{"location":"version-specific/supported-software/#albumentations","title":"Albumentations","text":"

                    Albumentations is a Python library for fast and flexible image augmentations

                    homepage: https://albumentations.ai

                    version versionsuffix toolchain 1.1.0 foss/2021b 1.1.0 -CUDA-11.3.1 foss/2021a 1.3.0 foss/2022a 1.3.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#alevin-fry","title":"alevin-fry","text":"

                    alevin-fry is an efficient and flexible tool for processing single-cell sequencing data, currently focused on single-cell transcriptomics and feature barcoding.

                    homepage: https://github.com/COMBINE-lab/alevin-fry

                    version toolchain 0.4.3 GCCcore/11.2.0 0.6.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#alfa","title":"ALFA","text":"

                    ALFA provides a global overview of features distribution composing NGS dataset(s). Given a set of aligned reads (BAM files) and an annotation file (GTF format), the tool produces plots of the raw and normalized distributions of those reads among genomic categories (stop codon, 5'-UTR, CDS, intergenic, etc.) and biotypes (protein coding genes, miRNA, tRNA, etc.). Whatever the sequencing technique, whatever the organism.

                    homepage: https://github.com/biocompibens/ALFA

                    version versionsuffix toolchain 1.1.1 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#alfred","title":"Alfred","text":"

                    Alfred is an efficient and versatile command-line application that computes multi-sample quality control metrics in a read-group aware manner. Alfred supports read counting, feature annotation and haplotype-resolved consensus computation using multiple sequence alignments.

                    homepage: https://www.gear-genomics.com/alfred/

                    version toolchain 0.2.6 GCC/11.2.0"},{"location":"version-specific/supported-software/#allelecount","title":"alleleCount","text":"

                    The alleleCount package primarily exists to prevent code duplication between some other projects, specifically AscatNGS and Battenberg. As of v4 the perl code wraps the C implementation of allele counting code for BAM/CRAM processing.

                    homepage: http://cancerit.github.io/alleleCount/

                    version toolchain 4.0.0 GCCcore/6.4.0 4.2.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#alleleintegrator","title":"alleleIntegrator","text":"

                    R package to generate allele specific counts for scRNA data and use it to identify cancer cells

                    homepage: https://github.com/constantAmateur/alleleIntegrator

                    version versionsuffix toolchain 0.8.8 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#allinea","title":"Allinea","text":"

                    The Allinea environment is an essential toolkit for developers and computational scientists looking to get results faster.

                    homepage: http://www.allinea.com

                    version toolchain 4.1-32834-Redhat-5.7-x86_64 system 4.1-32834-Redhat-6.0-x86_64 system 6.1.1-Ubuntu-14.04-x86_64 system"},{"location":"version-specific/supported-software/#allpaths-lg","title":"ALLPATHS-LG","text":"

                    ALLPATHS-LG, the new short read genome assembler.

                    homepage: http://www.broadinstitute.org/software/allpaths-lg/blog/

                    version toolchain 52488 foss/2016a"},{"location":"version-specific/supported-software/#almosthere","title":"almosthere","text":"

                    Progress indicator C library. ATHR is a simple yet powerful progress indicator library that works on Windows, Linux, and macOS. It is non-blocking as the progress update is done via a dedicated, lightweight thread, as to not impair the performance of the calling program.

                    homepage: https://github.com/horta/almosthere

                    version toolchain 1.0.1 GCCcore/7.3.0 1.0.10 GCCcore/9.3.0 2.0.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#alpha","title":"Alpha","text":"

                    Alpha is a tool designed for detailed comparative study of bacteriophage genomes.

                    homepage: https://www.lirmm.fr/~swenson/alpha/alpha.htm

                    version versionsuffix toolchain 20200430 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#alphafold","title":"AlphaFold","text":"

                    AlphaFold can predict protein structures with atomic accuracy even where no similar structure is known. This package of AlphaFold contains patches for ColabFold.

                    homepage: https://github.com/sokrypton/alphafold

                    version versionsuffix toolchain 2.0.0 foss/2020b, fosscuda/2020b 2.0.1 foss/2020b, fosscuda/2020b 2.1.1 fosscuda/2020b 2.1.2 foss/2021a 2.1.2 -CUDA-11.3.1 foss/2021a 2.1.2 -TensorFlow-2.5.0 foss/2020b, fosscuda/2020b 2.2.2 foss/2021a 2.2.2 -CUDA-11.3.1 foss/2021a 2.3.0 -CUDA-11.4.1 foss/2021b 2.3.1 foss/2022a 2.3.1 -CUDA-11.7.0 foss/2022a 2.3.4 -CUDA-11.7.0-ColabFold foss/2022a 2.3.4 -ColabFold foss/2022a"},{"location":"version-specific/supported-software/#alphapulldown","title":"AlphaPulldown","text":"

                    AlphaPulldown is a Python package that streamlines protein-protein interaction screens and high-throughput modelling of higher-order oligomers using AlphaFold-Multimer

                    homepage: https://github.com/KosinskiLab/AlphaPulldown

                    version toolchain 0.30.4 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#alps","title":"ALPS","text":"

                    The ALPS project (Algorithms and Libraries for Physics Simulations) is an open source effort aiming at providing high-end simulation codes for strongly correlated quantum mechanical systems as well as C++ libraries for simplifying the development of such code.

                    homepage: http://alps.comp-phys.org/

                    version versionsuffix toolchain 2.2.b4 -Python-2.7.11 intel/2016a 2.3.0 -Python-2.7.12 foss/2016b 2.3.0 -Python-3.5.2 foss/2016b"},{"location":"version-specific/supported-software/#alsa-lib","title":"alsa-lib","text":"

                    The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system.

                    homepage: https://www.alsa-project.org

                    version toolchain 1.2.4 GCCcore/9.3.0 1.2.8 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#amapvox","title":"AMAPVox","text":"

                    LiDAR data voxelisation software

                    homepage: https://amap-dev.cirad.fr/projects/amapvox

                    version versionsuffix toolchain 1.9.4 -Java-11 system"},{"location":"version-specific/supported-software/#amara","title":"Amara","text":"

                    Library for XML processing in Python, designed to balance the native idioms of Python with the native character of XML.

                    homepage: https://pypi.org/project/Amara

                    version versionsuffix toolchain 1.2.0.2 -Python-2.7.15 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#amask","title":"amask","text":"

                    amask is a set of tools to to determine the affinity of MPI processes and OpenMP threads in a parallel environment.

                    homepage: https://github.com/TACC/amask

                    version toolchain 20171106 foss/2018a 20190404 foss/2018b"},{"location":"version-specific/supported-software/#amber","title":"Amber","text":"

                    Amber (originally Assisted Model Building with Energy Refinement) is software for performing molecular dynamics and structure prediction.

                    homepage: https://ambermd.org/amber.html

                    version versionsuffix toolchain 14 -AmberTools-15-patchlevel-13-13 intel/2016a 16 -AmberTools-16-patchlevel-5-14 iomkl/2016.07 16 -AmberTools-16-patchlevel-5-14-CUDA iomkl/2016.09-GCC-4.9.3-2.25 16 -AmberTools-16-patchlevel-5-14-serial iomkl/2016.07 16 -AmberTools-17-patchlevel-10-15 foss/2018b, fosscuda/2018b, intel/2018b 16 -AmberTools-17-patchlevel-10-15-Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 16 -AmberTools-17-patchlevel-8-12 intel/2017b 18 -AmberTools-18-patchlevel-10-8 foss/2018b, fosscuda/2018b, intel/2017b 18 -AmberTools-19-patchlevel-12-17-Python-2.7.16 foss/2019b, fosscuda/2019b 20.11 -AmberTools-20.15-Python-3.8.2 foss/2020a, fosscuda/2020a 20.11 -AmberTools-21.3 foss/2020b, fosscuda/2020b 22.0 -AmberTools-22.3 foss/2021b 22.0 -AmberTools-22.3-CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#ambermini","title":"AmberMini","text":"

                    A stripped-down set of just antechamber, sqm, and tleap.

                    homepage: https://github.com/choderalab/ambermini

                    version toolchain 16.16.0 intel/2017b, intel/2020a"},{"location":"version-specific/supported-software/#ambertools","title":"AmberTools","text":"

                    AmberTools consists of several independently developed packages that work well by themselves, and with Amber itself. The suite can also be used to carry out complete molecular dynamics simulations, with either explicit water or generalized Born solvent models.

                    homepage: https://ambermd.org/

                    version versionsuffix toolchain 17 intel/2017b, intel/2018a 17 -Python-2.7.14 foss/2018a 20 -Python-3.8.2 intel/2020a 21 foss/2021a, intel/2021b 21.12 foss/2021b 22.3 foss/2021b"},{"location":"version-specific/supported-software/#amd-libm","title":"AMD-LibM","text":"

                    AMD LibM is a software library containing a collection of basic math functions optimized for x86-64 processor based machines.

                    homepage: https://developer.amd.com/amd-cpu-libraries/amd-math-library-libm/

                    version toolchain 3.2.2 GCC/7.3.0-2.30 3.6.0-4 GCC/9.3.0"},{"location":"version-specific/supported-software/#amd-rng","title":"AMD-RNG","text":"

                    AMD Random Number Generator Library is a pseudorandom number generator library.

                    homepage: https://developer.amd.com/amd-cpu-libraries/rng-library/

                    version toolchain 1.0 GCC/7.3.0-2.30 2.2-4 GCC/9.3.0"},{"location":"version-specific/supported-software/#amd-securerng","title":"AMD-SecureRNG","text":"

                    The AMD Secure Random Number Generator (RNG) is a library that provides APIs to access the cryptographically secure random numbers generated by AMD\u2019s hardware-based random number generator implementation.

                    homepage: https://developer.amd.com/amd-cpu-libraries/rng-library/

                    version toolchain 1.0 GCC/7.3.0-2.30 2.2-4 GCC/9.3.0"},{"location":"version-specific/supported-software/#amd-uprof","title":"AMD-uProf","text":"

                    AMD uProf is a performance analysis tool for applications running on Windows, Linux & FreeBSD operating systems. It allows developers to better understand the runtime performance of their application and to identify ways to improve its performance.

                    homepage: https://developer.amd.com/amd-uprof/

                    version toolchain 3.4.502 system 3.5.671 system"},{"location":"version-specific/supported-software/#amos","title":"AMOS","text":"

                    The AMOS consortium is committed to the development of open-source whole genome assembly software

                    homepage: http://amos.sourceforge.net

                    version toolchain 3.1.0 foss/2018b, foss/2021b"},{"location":"version-specific/supported-software/#amphora2","title":"AMPHORA2","text":"

                    An Automated Phylogenomic Inference Pipeline for Bacterial and Archaeal Sequences.

                    homepage: https://github.com/wu-lab-uva/AMPHORA2

                    version versionsuffix toolchain 20190730 -Java-13-pthreads-avx2 gompi/2020b"},{"location":"version-specific/supported-software/#ampl-mp","title":"AMPL-MP","text":"

                    An open-source library for mathematical programming.

                    homepage: https://github.com/ampl/mp

                    version toolchain 3.1.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#amplimap","title":"amplimap","text":"

                    amplimap is a command-line tool to automate the processing and analysis of data from targeted next-generation sequencing (NGS) experiments with PCR-based amplicons or capture-based enrichment systems.

                    homepage: https://amplimap.readthedocs.io/en/latest/

                    version versionsuffix toolchain 0.4.16 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#amptk","title":"AMPtk","text":"

                    AMPtk is a series of scripts to process NGS amplicon data using USEARCH and VSEARCH, it can also be used to process any NGS amplicon data and includes databases setup for analysis of fungal ITS, fungal LSU, bacterial 16S, and insect COI amplicons.

                    homepage: https://amptk.readthedocs.io

                    version toolchain 1.5.4 foss/2021b"},{"location":"version-specific/supported-software/#amrplusplus","title":"AmrPlusPlus","text":"

                    AmrPlusPlus v2.0 can process the raw data from the sequencer, identify the fragments of DNA, and count them. It also provides a count of the polymorphisms that occur in each DNA fragment with respect to the reference database.

                    homepage: https://megares.meglab.org/amrplusplus/latest/html/v2

                    version toolchain 2.0-20200114 GCC/8.3.0"},{"location":"version-specific/supported-software/#ams","title":"AMS","text":"

                    The Amsterdam Modeling Suite (AMS) provides a comprehensive set of modules for computational chemistry and materials science, from quantum mechanics to fluid thermodynamics.

                    homepage: https://www.scm.com/amsterdam-modeling-suite/

                    version versionsuffix toolchain 2020.102 -intelmpi iimpi/2020b 2022.102 -intelmpi iimpi/2021b 2023.101 -intelmpi iimpi/2022a"},{"location":"version-specific/supported-software/#anaconda2","title":"Anaconda2","text":"

                    Built to complement the rich, open source Python community, the Anaconda platform provides an enterprise-ready data analytics platform that empowers companies to adopt a modern open data science analytics architecture.

                    homepage: https://www.anaconda.com

                    version toolchain 4.0.0 system 4.2.0 system 4.4.0 system 5.0.1 system 5.1.0 system 5.3.0 system 2018.12 system 2019.03 system 2019.07 system 2019.10 system"},{"location":"version-specific/supported-software/#anaconda3","title":"Anaconda3","text":"

                    Built to complement the rich, open source Python community, the Anaconda platform provides an enterprise-ready data analytics platform that empowers companies to adopt a modern open data science analytics architecture.

                    homepage: https://www.anaconda.com

                    version toolchain 4.0.0 system 4.2.0 system 4.4.0 system 5.0.1 system 5.1.0 system 5.3.0 system 2018.12 system 2019.03 system 2019.07 system 2019.10 system 2020.02 system 2020.07 system 2020.11 system 2021.05 system 2021.11 system 2022.05 system 2022.10 system 2023.03-1 system"},{"location":"version-specific/supported-software/#anci","title":"aNCI","text":"

                    Non-covalent interaction (NCI) for MD trajectories

                    homepage: https://www.lct.jussieu.fr/pagesperso/contrera/nci-MD.html

                    version toolchain 2.0 iccifort/2019.5.281"},{"location":"version-specific/supported-software/#andi","title":"andi","text":"

                    This is the andi program for estimating the evolutionary distance between closely related genomes. These distances can be used to rapidly infer phylogenies for big sets of genomes. Because andi does not compute full alignments, it is so efficient that it scales even up to thousands of bacterial genomes.

                    homepage: https://github.com/evolbioinf/andi/

                    version toolchain 0.13 foss/2018b"},{"location":"version-specific/supported-software/#angel","title":"ANGEL","text":"

                    ANGEL: Robust Open Reading Frame prediction

                    homepage: https://github.com/PacificBiosciences/ANGEL

                    version versionsuffix toolchain 3.0 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#angsd","title":"angsd","text":"

                    Program for analysing NGS data.

                    homepage: http://www.popgen.dk/angsd

                    version toolchain 0.910 foss/2016a 0.921 foss/2018a 0.925 foss/2018b 0.933 GCC/8.3.0, iccifort/2019.5.281 0.935 GCC/10.2.0 0.940 GCC/11.2.0"},{"location":"version-specific/supported-software/#anicalculator","title":"ANIcalculator","text":"

                    This tool will calculate the bidirectional average nucleotide identity (gANI) and Alignment Fraction (AF) between two genomes. Required input is the full path to the fna file (nucleotide sequence of genes in fasta format) of each query genome. Either the rRNA and tRNA genes can be excluded, or provided in a list with the -ignoreList option. This is necessary as the presence of tRNA and/or rRNA genes in the fna will artificially inflate the ANI.

                    homepage: https://ani.jgi.doe.gov/html/home.php

                    version toolchain 1.0 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#anndata","title":"anndata","text":"

                    anndata is a Python package for handling annotated data matrices in memory and on disk, positioned between pandas and xarray

                    homepage: https://github.com/scverse/anndata

                    version toolchain 0.8.0 foss/2022a"},{"location":"version-specific/supported-software/#annif","title":"Annif","text":"

                    Annif is a multi-algorithm automated subject indexing tool for libraries, archives and museums.

                    homepage: https://github.com/NatLibFi/Annif

                    version versionsuffix toolchain 0.40.0 -Python-3.7.2 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#annocript","title":"Annocript","text":"

                    Annocript is a pipeline for the annotation of de-novo generated transcriptomes. It executes blast analysis with UniProt, NCBI Conserved Domain Database and Nucleotide division adding also annotations from Gene Ontology, the Enzyme Commission and UniPathways. Annocript also gives information about the longest ORF and the non-coding potential using external software. Annocript is also capable to identify putative long non-coding RNAs by using an heuristic based on homology and sequence features.

                    homepage: https://github.com/frankMusacchia/Annocript

                    version toolchain 2.0 foss/2022a"},{"location":"version-specific/supported-software/#annovar","title":"annovar","text":"

                    ANNOVAR is an efficient software tool to utilize update-to-date information to functionally annotate genetic variants detected from diverse genomes (including human genome hg18, hg19, hg38, as well as mouse, worm, fly, yeast and many others).

                    homepage: http://annovar.openbioinformatics.org/en/latest/

                    version versionsuffix toolchain 2016Feb01 -Perl-5.22.1 foss/2016a 20191024 -Perl-5.28.1 GCCcore/8.2.0 20200607 -Perl-5.34.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#ansys","title":"ANSYS","text":"

                    ANSYS simulation software enables organizations to confidently predict how their products will operate in the real world. We believe that every product is a promise of something greater.

                    homepage: https://www.ansys.com

                    version toolchain 15.0 system 2022R2 system 2023R1 system"},{"location":"version-specific/supported-software/#ansys_cfd","title":"ANSYS_CFD","text":"

                    ANSYS computational fluid dynamics (CFD) simulation software allows you to predict, with confidence, the impact of fluid flows on your product throughout design and manufacturing as well as during end use. ANSYS renowned CFD analysis tools include the widely used and well-validated ANSYS Fluent and ANSYS CFX.

                    homepage: http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics

                    version toolchain 16.2 system 17.0 system"},{"location":"version-specific/supported-software/#ant","title":"ant","text":"

                    Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.

                    homepage: http://ant.apache.org/

                    version versionsuffix toolchain 1.8.4 -Java-1.7.0_10 system 1.8.4 -Java-1.7.0_21 system 1.9.0 -Java-1.7.0_15 system 1.9.0 -Java-1.7.0_21 system 1.9.3 -Java-1.7.0_60 system 1.9.3 -Java-1.7.0_79 system 1.9.6 -Java-1.7.0_75 system 1.9.6 -Java-1.7.0_79 system 1.9.6 -Java-1.7.0_80 system 1.9.6 -Java-1.8.0_66 system 1.9.6 -Java-1.8.0_72 system 1.9.6 -Java-1.8.0_77 system 1.9.7 -Java-1.8.0_92 system 1.10.0 -Java-1.8.0_112 system 1.10.1 -Java-1.8 system 1.10.1 -Java-1.8.0_121 system 1.10.1 -Java-1.8.0_144 system 1.10.1 -Java-1.8.0_152 system 1.10.1 -Java-1.8.0_162 system 1.10.5 -Java-1.8 system 1.10.6 -Java-1.8 system 1.10.7 -Java-11 system 1.10.8 -Java-11 system 1.10.9 -Java-11 system 1.10.11 -Java-11 system 1.10.11 -Java-13 system 1.10.12 -Java-11 system 1.10.12 -Java-17 system"},{"location":"version-specific/supported-software/#antismash","title":"antiSMASH","text":"

                    antiSMASH allows the rapid genome-wide identification, annotation and analysis of secondary metabolite biosynthesis gene clusters in bacterial and fungal genomes.

                    homepage: https://github.com/antismash/antismash

                    version versionsuffix toolchain 5.1.2 -Python-3.7.4 foss/2019b 5.2.0 foss/2020b 6.0.1 foss/2020b"},{"location":"version-specific/supported-software/#antlr","title":"ANTLR","text":"

                    ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing Java, C#, C++, or Python actions.

                    homepage: http://www.antlr2.org/

                    version versionsuffix toolchain 2.7.7 GCCcore/7.3.0, GCCcore/8.2.0, foss/2017b, foss/2018b, foss/2019a, intel/2017b 2.7.7 -Java-11 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0 2.7.7 -Python-2.7.11 foss/2016a 2.7.7 -Python-2.7.13 intel/2017a 2.7.7 -Python-2.7.14 foss/2018a, intel/2017b 2.7.7 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#ants","title":"ANTs","text":"

                    ANTs extracts information from complex datasets that include imaging. ANTs is useful for managing, interpreting and visualizing multidimensional data.

                    homepage: https://stnava.github.io/ANTs/

                    version versionsuffix toolchain 2.2.0 -Python-2.7.12 foss/2016b 2.3.0 -Python-2.7.14 foss/2017b, intel/2017b 2.3.1 -Python-3.6.6 foss/2018b 2.3.2 -Python-3.7.4 foss/2019b 2.3.5 foss/2021a"},{"location":"version-specific/supported-software/#anvio","title":"anvio","text":"

                    An analysis and visualization platform for 'omics data.

                    homepage: https://merenlab.org/software/anvio/

                    version versionsuffix toolchain 6.1 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#any2fasta","title":"any2fasta","text":"

                    Convert various sequence formats to FASTA

                    homepage: https://github.com/tseemann/any2fasta

                    version versionsuffix toolchain 0.4.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.4.2 -Perl-5.28.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#aocc","title":"AOCC","text":"

                    AMD Optimized C/C++ & Fortran compilers (AOCC) based on LLVM 13.0

                    homepage: https://developer.amd.com/amd-aocc/

                    version toolchain 2.3.0 GCCcore/10.2.0, GCCcore/9.3.0 3.0.0 GCCcore/10.2.0, GCCcore/10.3.0 3.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 3.2.0 GCCcore/11.2.0, GCCcore/11.3.0 4.0.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#aomp","title":"AOMP","text":"

                    AMD fork of LLVM, setup for OpenMP offloading to Accelerators

                    homepage: https://github.com/ROCm-Developer-Tools/aomp

                    version toolchain 13.0-2 GCCcore/10.2.0, gcccuda/2020a"},{"location":"version-specific/supported-software/#apbs","title":"APBS","text":"

                    APBS is a software package for modeling biomolecular solvation through solution of the Poisson-Boltzmann equation (PBE), one of the most popular continuum models for describing electrostatic interactions between molecular solutes in salty, aqueous media.

                    homepage: http://www.poissonboltzmann.org/apbs

                    version versionsuffix toolchain 1.4 -linux-static-x86_64 system"},{"location":"version-specific/supported-software/#apex","title":"apex","text":"

                    A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch

                    homepage: https://github.com/nvidia/apex

                    version versionsuffix toolchain 20200325 -Python-3.7.4 fosscuda/2019b 20210420 fosscuda/2020b"},{"location":"version-specific/supported-software/#apr","title":"APR","text":"

                    Apache Portable Runtime (APR) libraries.

                    homepage: https://apr.apache.org/

                    version toolchain 1.6.3 GCCcore/6.4.0, GCCcore/7.3.0, iomkl/2018a 1.7.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#apr-util","title":"APR-util","text":"

                    Apache Portable Runtime (APR) util libraries.

                    homepage: http://apr.apache.org/

                    version toolchain 1.6.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/9.3.0, iomkl/2018a"},{"location":"version-specific/supported-software/#aptasuite","title":"AptaSUITE","text":"

                    A full-featured bioinformatics software collection for the comprehensive analysis of aptamers in HT-SELEX experiments

                    homepage: https://drivenbyentropy.github.io/

                    version versionsuffix toolchain 0.9.4 -Java-11 system"},{"location":"version-specific/supported-software/#aragorn","title":"ARAGORN","text":"

                    a program to detect tRNA genes and tmRNA genes in nucleotide sequences

                    homepage: http://www.ansikte.se/ARAGORN/

                    version toolchain 1.2.38 foss/2016b, iccifort/2019.5.281 1.2.41 foss/2021b"},{"location":"version-specific/supported-software/#arb","title":"Arb","text":"

                    Arb is a C library for arbitrary-precision interval arithmetic. It has full support for both real and complex numbers. The library is thread-safe, portable, and extensively tested.

                    homepage: https://arblib.org/

                    version toolchain 2.16.0 GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, iccifort/2018.3.222-GCC-7.3.0-2.30 2.17.0 GCC/8.3.0 2.19.0 GCC/10.3.0 2.22.1 foss/2021b 2.23.0 gfbf/2022a"},{"location":"version-specific/supported-software/#arcade-learning-environment","title":"Arcade-Learning-Environment","text":"

                    The Arcade Learning Environment (ALE) is a simple framework that allows researchers and hobbyists to develop AI agents for Atari 2600 games. It is built on top of the Atari 2600 emulator Stella and separates the details of emulation from agent design. This video depicts over 50 games currently supported in the ALE.

                    homepage: https://github.com/mgbellemare/Arcade-Learning-Environment

                    version toolchain 0.7.3 foss/2021b"},{"location":"version-specific/supported-software/#arcashla","title":"arcasHLA","text":"

                    arcasHLA performs high resolution genotyping for HLA class I and class II genes from RNA sequencing, supporting both paired and single-end samples.

                    homepage: https://github.com/RabadanLab/arcasHLA

                    version versionsuffix toolchain 0.2.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#arch","title":"ARCH","text":"

                    Autoregressive Conditional Heteroskedasticity (ARCH) and other tools for financial econometrics, written in Python (with Cython and/or Numba used to improve performance).

                    homepage: https://pypi.org/project/arch

                    version versionsuffix toolchain 4.5.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#archive-zip","title":"Archive-Zip","text":"

                    Provide an interface to ZIP archive files.

                    homepage: https://metacpan.org/pod/Archive::Zip

                    version toolchain 1.68 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#archr","title":"ArchR","text":"

                    ArchR is a full-featured R package for processing and analyzing single-cell ATAC-seq data.

                    homepage: https://www.archrproject.com

                    version versionsuffix toolchain 1.0.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#archspec","title":"archspec","text":"

                    A library for detecting, labeling, and reasoning about microarchitectures

                    homepage: https://github.com/archspec/archspec

                    version versionsuffix toolchain 0.1.0 -Python-3.7.4 GCCcore/8.3.0 0.1.0 -Python-3.8.2 GCCcore/9.3.0 0.1.2 GCCcore/10.2.0, GCCcore/10.3.0 0.1.3 GCCcore/11.2.0 0.1.4 GCCcore/11.3.0 0.2.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#argos","title":"ARGoS","text":"

                    A parallel, multi-engine simulator for heterogeneous swarm robotics

                    homepage: http://www.argos-sim.info

                    version versionsuffix toolchain 3.0.0-beta53 -Lua-5.2.4 foss/2018b 3.0.0-beta59 GCC/11.2.0"},{"location":"version-specific/supported-software/#argtable","title":"argtable","text":"

                    Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss.

                    homepage: http://argtable.sourceforge.net/

                    version toolchain 2.13 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016b, foss/2018b, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#aria2","title":"aria2","text":"

                    aria2 is a lightweight multi-protocol & multi-source command-line download utility.

                    homepage: https://aria2.github.io

                    version toolchain 1.35.0 GCCcore/10.3.0 1.36.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#arlequin","title":"Arlequin","text":"

                    Arlequin: An Integrated Software for Population Genetics Data Analysis

                    homepage: http://cmpg.unibe.ch/software/arlequin35/Arlequin35.html

                    version toolchain 3.5.2.2 foss/2019b"},{"location":"version-specific/supported-software/#armadillo","title":"Armadillo","text":"

                    Armadillo is an open-source C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. Integer, floating point and complex numbers are supported, as well as a subset of trigonometric and statistics functions.

                    homepage: https://arma.sourceforge.net/

                    version versionsuffix toolchain 7.600.2 -Python-2.7.12 foss/2016b 7.800.0 -Python-2.7.12 intel/2016b 7.950.1 -Python-2.7.12 intel/2016b 8.300.1 foss/2017b, intel/2017b 8.400.0 foss/2018a 9.600.5 foss/2018b 9.700.2 foss/2019a 9.880.1 foss/2020a 9.900.1 foss/2019b, foss/2020a 10.5.3 foss/2020b 10.7.5 foss/2021a 11.4.3 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#arosics","title":"arosics","text":"

                    AROSICS is a python package to perform automatic subpixel co-registration of two satellite image datasets based on an image matching approach working in the frequency domain, combined with a multistage workflow for effective detection of false-positives.

                    homepage: https://github.com/GFZ/arosics

                    version toolchain 1.7.6 foss/2021a"},{"location":"version-specific/supported-software/#arpack","title":"ARPACK++","text":"

                    Arpackpp is a C++ interface to the ARPACK Fortran package, which implements the implicit restarted Arnoldi method for iteratively solving large-scale sparse eigenvalue problems.

                    homepage: https://github.com/m-reuter/arpackpp

                    version toolchain 2018.03.26 foss/2017b"},{"location":"version-specific/supported-software/#arpack-ng","title":"arpack-ng","text":"

                    ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.

                    homepage: https://github.com/opencollab/arpack-ng

                    version toolchain 3.3.0 foss/2016a, intel/2016a 3.4.0 foss/2016b, foss/2017a, intel/2016b, intel/2017a 3.5.0 foss/2017b, foss/2018a, foss/2018b, intel/2017a, intel/2017b 3.6.2 intel/2018a 3.7.0 foss/2019a, foss/2019b, foss/2020a, intel/2019b, intel/2020a 3.8.0 foss/2020b, foss/2021a, foss/2021b, foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#arrayfire","title":"ArrayFire","text":"

                    ArrayFire is a general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.

                    homepage: https://arrayfire.com/

                    version versionsuffix toolchain 3.6.4 foss/2018b 3.6.4 -CUDA-9.2.88 foss/2018b"},{"location":"version-specific/supported-software/#arriba","title":"Arriba","text":"

                    Arriba is a command-line tool for the detection of gene fusions from RNA-Seq data. It was developed for the use in a clinical research setting. Therefore, short runtimes and high sensitivity were important design criteria.

                    homepage: https://github.com/suhrig/arriba

                    version toolchain 1.1.0 foss/2018b 2.1.0 GCC/10.2.0, GCC/10.3.0 2.2.1 GCC/11.2.0 2.3.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#arrow","title":"Arrow","text":"

                    Apache Arrow (incl. PyArrow Python bindings), a cross-language development platform for in-memory data.

                    homepage: https://arrow.apache.org

                    version versionsuffix toolchain 0.7.1 -Python-3.6.3 intel/2017b 0.12.0 -Python-2.7.15 foss/2018b, intel/2018b 0.12.0 -Python-3.6.6 intel/2018b 0.16.0 -Python-3.7.4 foss/2019b, intel/2019b 0.17.1 foss/2020b, fosscuda/2020b, intel/2020b 0.17.1 -Python-3.8.2 foss/2020a, intel/2020a 6.0.0 foss/2021a, foss/2021b 6.0.1 foss/2021a 8.0.0 foss/2022.05, foss/2022a 11.0.0 gfbf/2022b"},{"location":"version-specific/supported-software/#arrow-r","title":"arrow-R","text":"

                    R interface to the Apache Arrow C++ library

                    homepage: https://cran.r-project.org/web/packages/arrow

                    version versionsuffix toolchain 0.17.1 -R-4.0.0 foss/2020a 6.0.0.2 -R-4.1.0 foss/2021a 6.0.0.2 -R-4.1.2 foss/2021b 6.0.0.2 -R-4.2.0 foss/2021b 8.0.0 -R-4.2.1 foss/2022a 11.0.0.3 -R-4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#art","title":"ART","text":"

                    ART is a set of simulation tools to generate synthetic next-generation sequencing reads

                    homepage: http://www.niehs.nih.gov/research/resources/software/biostatistics/art/

                    version toolchain 2016.06.05 GCCcore/6.4.0, intel/2016b"},{"location":"version-specific/supported-software/#artic-ncov2019","title":"artic-ncov2019","text":"

                    Initial implementation of an ARTIC bioinformatics platform for nanopore sequencing of nCoV2019 novel coronavirus.

                    homepage: https://github.com/artic-network/artic-ncov2019

                    version versionsuffix toolchain 2020.04.13 -Python-3.6.6 foss/2018b 2021.06.24 foss/2020b"},{"location":"version-specific/supported-software/#arts","title":"ARTS","text":"

                    ARTS is a radiative transfer model for the millimeter and sub-millimeter spectral range. There are a number of models mostly developed explicitly for the different sensors.

                    homepage: http://www.radiativetransfer.org/

                    version toolchain 2.2.64 gompi/2019a"},{"location":"version-specific/supported-software/#arviz","title":"ArviZ","text":"

                    Exploratory analysis of Bayesian models with Python

                    homepage: https://github.com/arviz-devs/arviz

                    version versionsuffix toolchain 0.7.0 -Python-3.7.4 foss/2019b, intel/2019b 0.11.1 intel/2020b 0.11.4 foss/2021b, intel/2021b 0.12.1 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#arwen","title":"ARWEN","text":"

                    ARWEN, tRNA detection in metazoan mitochondrial sequences

                    homepage: http://mbio-serv2.mbioekol.lu.se/ARWEN

                    version toolchain 1.2.3 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#asap","title":"ASAP","text":"

                    ASAP focuses on fast and fluid image viewing with an easy-to-use interface for making annotations. It consists of two main components: an IO library for reading and writing multi-resolution images and a viewer component for visualizing such images.

                    homepage: https://computationalpathologygroup.github.io/ASAP/

                    version versionsuffix toolchain 2.0 -CUDA-11.3.1 foss/2021a 2.1 foss/2022a"},{"location":"version-specific/supported-software/#asap3","title":"ASAP3","text":"

                    ASAP is a calculator for doing large-scale classical molecular dynamics within the Campos Atomic Simulation Environment (ASE).

                    homepage: https://wiki.fysik.dtu.dk/asap/

                    version versionsuffix toolchain 3.10.7 -Python-3.5.2 foss/2016b 3.10.7 -Python-3.6.2 foss/2017b 3.10.8 -Python-3.5.2 foss/2016b 3.10.8 -Python-3.6.2 foss/2017b 3.10.8 -Python-3.6.3 foss/2017b 3.10.10 -Python-3.6.6 foss/2018b, intel/2018b, iomkl/2018b 3.11.10 -Python-3.7.2 foss/2019a, intel/2019a 3.12.2 -ASE-3.21.1 foss/2020b, intel/2020b 3.12.7 -ASE-3.21.1 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#ascat","title":"ASCAT","text":"

                    ASCAT is a method to derive copy number profiles of tumor cells, accounting for normal cell admixture and tumor aneuploidy.

                    homepage: https://github.com/VanLoo-lab/ascat

                    version versionsuffix toolchain 3.1.2 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#ase","title":"ASE","text":"

                    ASE is a python package providing an open source Atomic Simulation Environment in the Python scripting language.

                    homepage: https://wiki.fysik.dtu.dk/ase/

                    version versionsuffix toolchain 3.9.1.4567 -Python-2.7.11 intel/2016a 3.10.0 -Python-2.7.11 intel/2016.02-GCC-4.9 3.11.0 -Python-2.7.12 intel/2016b 3.13.0 -Python-2.7.12 foss/2016b 3.13.0 -Python-2.7.13 intel/2017a 3.15.0 -Python-2.7.12 foss/2016b 3.15.0 -Python-2.7.14 intel/2017b 3.15.0 -Python-3.5.2 foss/2016b 3.15.0 -Python-3.6.2 foss/2017b 3.15.0 -Python-3.6.3 foss/2017b 3.16.2 -Python-3.6.4 iomkl/2018.02, iomkl/2018a 3.16.2 -Python-3.6.6 foss/2018b, intel/2018b, iomkl/2018b 3.17.0 -Python-3.6.6 foss/2018b, intel/2018b, iomkl/2018b 3.17.0 -Python-3.7.2 foss/2019a, intel/2019a 3.18.0 -Python-3.6.6 foss/2018b, intel/2018b 3.18.0 -Python-3.7.2 foss/2019a, intel/2019a 3.19.0 -Python-3.6.6 foss/2018b, intel/2018b 3.19.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 3.19.0 -Python-3.8.2 foss/2020a, intel/2020a 3.20.1 foss/2020b, fosscuda/2020b, intel/2020b 3.20.1 -Python-3.7.4 foss/2019b, intel/2019b 3.20.1 -Python-3.8.2 intel/2020a 3.21.1 foss/2020b, fosscuda/2020b, intel/2020b 3.21.1 -Python-3.8.2 foss/2020a 3.22.0 foss/2020b, foss/2021a, fosscuda/2020b, intel/2020b, intel/2021a 3.22.1 foss/2021b, foss/2022a, gfbf/2022b, gomkl/2021a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#asf-searchapi","title":"ASF-SearchAPI","text":"

                    asf_search is a Python module for performing searches of the ASF catalog. In addition, it offers baseline functionality and download support.

                    homepage: https://docs.asf.alaska.edu/

                    version toolchain 6.5.0 foss/2022a"},{"location":"version-specific/supported-software/#ashs","title":"ASHS","text":"

                    Automatic Segmentation of Hippocampal Subfields (ASHS)

                    homepage: https://sites.google.com/site/hipposubfields/home

                    version toolchain rev103_20140612 system"},{"location":"version-specific/supported-software/#aspera-cli","title":"Aspera-CLI","text":"

                    IBM Aspera Command-Line Interface (the Aspera CLI) is a collection of Aspera tools for performing high-speed, secure data transfers from the command line. The Aspera CLI is for users and organizations who want to automate their transfer workflows.

                    homepage: https://asperasoft.com

                    version versionsuffix toolchain 3.7.2 .354.010c3b8 system 3.9.0 .1326.6985b21 system 3.9.6 .1467.159c5b1 system"},{"location":"version-specific/supported-software/#aspera-connect","title":"Aspera-Connect","text":"

                    Connect is an install-on-demand Web browser plug-in that facilitates high-speed uploads and downloads with an Aspera transfer server.

                    homepage: http://downloads.asperasoft.com/connect2/

                    version toolchain 3.6.1 system 3.9.6 system"},{"location":"version-specific/supported-software/#assimp","title":"assimp","text":"

                    Open Asset Import Library (assimp) is a library to import and export various 3d-model-formats including scene-post-processing to generate missing render data.

                    homepage: https://github.com/assimp/assimp

                    version toolchain 5.0.1 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#assimulo","title":"Assimulo","text":"

                    Assimulo is a simulation package for solving ordinary differential equations.

                    homepage: https://jmodelica.org/assimulo/

                    version versionsuffix toolchain 2.9 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#astrid","title":"ASTRID","text":"

                    ASTRID-2 is a method for estimating species trees from gene trees.

                    homepage: https://github.com/pranjalv123/ASTRID

                    version toolchain 2.2.1 gompi/2019a"},{"location":"version-specific/supported-software/#astro-tulips","title":"astro-tulips","text":"

                    tulips creates diagrams of the structure and evolution of stars. It creates plots and movies based on output from the MESA stellar evolution code

                    homepage: https://astro-tulips.readthedocs.io/en/latest/installation.html

                    version toolchain 1.0.1 foss/2022a"},{"location":"version-specific/supported-software/#astropy","title":"astropy","text":"

                    The Astropy Project is a community effort to develop a common core package for Astronomy in Python and foster an ecosystem of interoperable astronomy packages. The Astropy community is committed to supporting diversity and inclusion.

                    homepage: https://www.astropy.org/

                    version versionsuffix toolchain 2.0.12 -Python-2.7.15 foss/2018b, intel/2018b 2.0.14 foss/2019a 4.0.1 -Python-3.7.4 foss/2019b 4.0.1 -Python-3.8.2 foss/2020a, intel/2020a 4.2.1 foss/2020b, intel/2020b, intelcuda/2020b 4.3.1 foss/2021a, foss/2021b, intel/2021a 5.0.4 foss/2021a 5.1.1 foss/2022a 5.2.2 gfbf/2022b"},{"location":"version-specific/supported-software/#at-spi2-atk","title":"at-spi2-atk","text":"

                    AT-SPI 2 toolkit bridge

                    homepage: https://wiki.gnome.org/Accessibility

                    version toolchain 2.26.3 fosscuda/2018b 2.32.0 GCCcore/8.2.0 2.34.1 GCCcore/8.3.0 2.34.2 GCCcore/9.3.0 2.38.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#at-spi2-core","title":"at-spi2-core","text":"

                    Assistive Technology Service Provider Interface.

                    homepage: https://wiki.gnome.org/Accessibility

                    version toolchain 2.26.3 fosscuda/2018b 2.32.0 GCCcore/8.2.0 2.34.0 GCCcore/8.3.0 2.36.0 GCCcore/9.3.0 2.38.0 GCCcore/10.2.0 2.40.2 GCCcore/10.3.0 2.40.3 GCCcore/11.2.0 2.44.1 GCCcore/11.3.0 2.46.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#atat","title":"ATAT","text":"

                    The Alloy-Theoretic Automated Toolkit (ATAT) is a generic name that refers to a collection of alloy theory tools

                    homepage: https://www.brown.edu/Departments/Engineering/Labs/avdw/atat/

                    version toolchain 3.36 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#atk","title":"ATK","text":"

                    ATK provides the set of accessibility interfaces that are implemented by other toolkits and applications. Using the ATK interfaces, accessibility tools have full access to view and control running applications.

                    homepage: https://developer.gnome.org/atk/

                    version toolchain 2.18.0 intel/2016a 2.20.0 foss/2016a, intel/2016a 2.22.0 foss/2016b, intel/2016b 2.26.0 intel/2017a 2.26.1 foss/2018b, intel/2017b 2.27.1 foss/2017b, intel/2017b 2.28.1 foss/2018a, foss/2018b, fosscuda/2018b, intel/2018a 2.32.0 GCCcore/8.2.0 2.34.1 GCCcore/8.3.0 2.36.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 2.38.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#atlas","title":"ATLAS","text":"

                    ATLAS (Automatically Tuned Linear Algebra Software) is the application of the AEOS (Automated Empirical Optimization of Software) paradigm, with the present emphasis on the Basic Linear Algebra Subprograms (BLAS), a widely used, performance-critical, linear algebra kernel library.

                    homepage: http://math-atlas.sourceforge.net

                    version versionsuffix toolchain 3.10.2 -LAPACK-3.6.1 GCC/5.4.0-2.26"},{"location":"version-specific/supported-software/#atomate","title":"atomate","text":"

                    atomate has implementations of FireWorks workflows for Materials Science.

                    homepage: https://pythonhosted.org/atomate/

                    version versionsuffix toolchain 0.4.4 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#atompaw","title":"AtomPAW","text":"

                    AtomPAW is a Projector-Augmented Wave Dataset Generator that can be used both as a standalone program and a library.

                    homepage: http://users.wfu.edu/natalie/papers/pwpaw/man.html

                    version toolchain 4.1.0.5 intel/2018b 4.1.0.6 intel/2018b"},{"location":"version-specific/supported-software/#atools","title":"atools","text":"

                    Tools to make using job arrays a lot more convenient.

                    homepage: https://github.com/gjbex/atools

                    version versionsuffix toolchain 1.4.2 -Python-2.7.12 intel/2016b 1.4.6 -Python-2.7.16 GCCcore/8.3.0 1.4.8 -Python-2.7.18 GCCcore/10.3.0, GCCcore/11.2.0 1.5.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#atropos","title":"atropos","text":"

                    Atropos is tool for specific, sensitive, and speedy trimming of NGS reads.

                    homepage: https://atropos.readthedocs.io

                    version versionsuffix toolchain 1.1.21 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#atsas","title":"ATSAS","text":"

                    ATSAS is a program suite for small-angle scattering data analysis from biological macromolecules.

                    homepage: http://www.embl-hamburg.de/ExternalInfo/Research/Sax/software.html

                    version versionsuffix toolchain 2.5.1-1 .el6.x86_64 system 2.5.1-1 .sl5.x86_64 system 2.7.1-1 .el7.x86_64 system"},{"location":"version-specific/supported-software/#attr","title":"attr","text":"

                    Commands for Manipulating Filesystem Extended Attributes

                    homepage: https://savannah.nongnu.org/projects/attr

                    version toolchain 2.4.47 GCCcore/8.2.0 2.4.48 GCCcore/9.3.0 2.5.1 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#attrdict","title":"attrdict","text":"

                    AttrDict is a Python library that provides mapping objects that allow their elements to be accessed both as keys and as attributes.

                    homepage: https://github.com/bcj/AttrDict

                    version versionsuffix toolchain 2.0.1 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#attrdict3","title":"attrdict3","text":"

                    AttrDict is a Python library that provides mapping objects that allow their elements to be accessed both as keys and as attributes.

                    homepage: https://github.com/pirofti/AttrDict3

                    version toolchain 2.0.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#augur","title":"augur","text":"

                    Pipeline components for real-time phylodynamic analysis

                    homepage: https://github.com/nextstrain/augur

                    version versionsuffix toolchain 7.0.2 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#augustus","title":"AUGUSTUS","text":"

                    AUGUSTUS is a program that predicts genes in eukaryotic genomic sequences

                    homepage: https://bioinf.uni-greifswald.de/augustus/

                    version versionsuffix toolchain 3.2.3 -Python-2.7.13 intel/2017a 3.3 foss/2018a 3.3.2 intel/2019a 3.3.2 -Python-2.7.13 intel/2017a 3.3.2 -Python-2.7.14 foss/2017b, intel/2017b 3.3.2 -Python-2.7.15 intel/2018b 3.3.3 foss/2019b, intel/2019b 3.4.0 foss/2020a, foss/2020b, foss/2021a, foss/2021b 3.5.0 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#austin","title":"Austin","text":"

                    Austin is a Python frame stack sampler for CPython written in pure C.

                    homepage: https://github.com/P403n1x87/austin

                    version toolchain 3.2.0 GCCcore/11.2.0, system"},{"location":"version-specific/supported-software/#auto-07p","title":"AUTO-07p","text":"

                    AUTO is a publicly available software for continuation and bifurcation problems in ordinary differential equations originally written in 1980 and widely used in the dynamical systems community.

                    homepage: https://github.com/auto-07p

                    version toolchain 0.9.3 foss/2021a"},{"location":"version-specific/supported-software/#autoconf","title":"Autoconf","text":"

                    Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of M4 macro calls.

                    homepage: https://www.gnu.org/software/autoconf/

                    version toolchain 2.68 foss/2016b 2.69 GCC/4.8.2, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/10.2.0, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 2.71 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#autoconf-archive","title":"Autoconf-archive","text":"

                    The GNU Autoconf Archive is a collection of more than 500 macros for GNU Autoconf that have been contributed as free software by friendly supporters of the cause from all over the Internet. Every single one of those macros can be re-used without imposing any restrictions whatsoever on the licensing of the generated configure script. In particular, it is possible to use all those macros in configure scripts that are meant for non-free software. This policy is unusual for a Free Software Foundation project. The FSF firmly believes that software ought to be free, and software licenses like the GPL are specifically designed to ensure that derivative work based on free software must be free as well. In case of Autoconf, however, an exception has been made, because Autoconf is at such a pivotal position in the software development tool chain that the benefits from having this tool available as widely as possible outweigh the disadvantage that some authors may choose to use it, too, for proprietary software.

                    homepage: https://www.gnu.org/software/autoconf-archive

                    version toolchain 2019.01.06 GCC/8.2.0-2.31.1 2021.02.19 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#autodock","title":"AutoDock","text":"

                    AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure.

                    homepage: http://autodock.scripps.edu/

                    version toolchain 4.2.5.1 GCC/5.2.0 4.2.6 GCC/10.3.0"},{"location":"version-specific/supported-software/#autodock-gpu","title":"AutoDock-GPU","text":"

                    OpenCL and Cuda accelerated version of AutoDock. It leverages its embarrasingly parallelizable LGA by processing ligand-receptor poses in parallel over multiple compute units. AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure.

                    homepage: https://github.com/ccsb-scripps/AutoDock-GPU

                    version versionsuffix toolchain 1.5.3 -CUDA-11.3.1 GCC/10.3.0 1.5.3 -CUDA-11.7.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#autodock-vina","title":"AutoDock-Vina","text":"

                    AutoDock Vina is an open-source program for doing molecular docking.

                    homepage: https://vina.scripps.edu/

                    version versionsuffix toolchain 1.1.2 -linux_x86 system 1.2.3 foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#autodocksuite","title":"AutoDockSuite","text":"

                    AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure.

                    homepage: https://autodock.scripps.edu/

                    version toolchain 4.2.6 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#autogenes","title":"AutoGeneS","text":"

                    AutoGeneS automatically extracts informative genes and reveals the cellular heterogeneity of bulk RNA samples.

                    homepage: https://github.com/theislab/AutoGeneS

                    version toolchain 1.0.4 foss/2020b"},{"location":"version-specific/supported-software/#autogrid","title":"AutoGrid","text":"

                    AutoDock is a suite of automated docking tools. It is designed to predict how small molecules, such as substrates or drug candidates, bind to a receptor of known 3D structure.

                    homepage: http://autodock.scripps.edu/

                    version toolchain 4.2.5.1 GCC/5.2.0"},{"location":"version-specific/supported-software/#automake","title":"Automake","text":"

                    Automake: GNU Standards-compliant Makefile generator

                    homepage: https://www.gnu.org/software/automake/automake.html

                    version toolchain 1.11.3 foss/2016b 1.14 GCC/4.8.2, intel/2016a 1.14.1 GCC/4.8.2 1.15 GCC/4.8.4, GCC/4.9.2, GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 1.15.1 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.3.0 1.16.1 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0 1.16.2 GCCcore/10.2.0 1.16.3 FCC/4.5.0, GCCcore/10.3.0 1.16.4 GCCcore/11.2.0 1.16.5 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#automap","title":"AutoMap","text":"

                    Tool to find regions of homozygosity (ROHs) from sequencing data.

                    homepage: https://github.com/mquinodo/AutoMap

                    version versionsuffix toolchain 1.0 -20200324 foss/2019b"},{"location":"version-specific/supported-software/#autopep8","title":"autopep8","text":"

                    A tool that automatically formats Python code to conform to the PEP 8 style guide.

                    homepage: https://github.com/hhatto/autopep8

                    version versionsuffix toolchain 1.4.4 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#autotools","title":"Autotools","text":"

                    This bundle collect the standard GNU build tools: Autoconf, Automake and libtool

                    homepage: https://autotools.io

                    version toolchain 20150119 GCC/4.9.2 20150215 GCC/4.8.4, GCC/4.9.2, GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 20170619 GCCcore/6.4.0, GCCcore/7.2.0 20180311 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0 20200321 GCCcore/10.2.0 20210128 FCC/4.5.0, GCCcore/10.3.0 20210726 GCCcore/11.2.0 20220317 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#avogadro2","title":"Avogadro2","text":"

                    Avogadro is an advanced molecule editor and visualizer designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas.

                    homepage: https://two.avogadro.cc/index.html

                    version versionsuffix toolchain 1.97.0 -linux-x86_64 system"},{"location":"version-specific/supported-software/#avro-cpp","title":"avro-cpp","text":"

                    C++ implementation of Avro data serialization system.

                    homepage: https://avro.apache.org

                    version toolchain 1.11.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#awscli","title":"awscli","text":"

                    Universal Command Line Environment for AWS

                    homepage: https://pypi.python.org/pypi/awscli

                    version versionsuffix toolchain 1.11.1 -Python-2.7.12 intel/2016b 1.11.56 -Python-2.7.12 foss/2016b 1.16.290 -Python-3.6.6 foss/2018b 1.17.7 -Python-3.7.4 GCCcore/8.3.0 1.18.89 -Python-3.8.2 GCCcore/9.3.0 2.0.55 -Python-3.8.2 GCCcore/9.3.0 2.11.21 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#axel","title":"axel","text":"

                    Lightweight CLI download accelerator

                    homepage: https://github.com/axel-download-accelerator/axel

                    version toolchain 2.17.9 GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#b","title":"B","text":"

                    BA3-SNPS-autotune - BabelStream - babl - Bader - BAGEL - BAli-Phy - bam-readcount - Bambi - bamFilters - BAMM - BAMSurgeon - bamtofastq - BamTools - BamUtil - Bandage - barrnap - basemap - Bash - bashplotlib - bat - batchgenerators - BatMeth2 - BayesAss - BayesAss3-SNPs - BayeScan - BayeScEnv - BayesPrism - BayesTraits - Bazel - bbcp - bbFTP - BBMap - bc - BCALM - bcbio-gff - BCEL - BCFtools - bcgTree - bcl-convert - bcl2fastq2 - bcolz - BDBag - Beagle - beagle-lib - Beast - BeautifulSoup - BEDOPS - BEDTools - BEEF - behave - BerkeleyGW - BFAST - BFC - BGC-Bayesian-genomic-clines - bgen - bgen-reader - bibtexparser - BiG-SCAPE - BigDFT - BinSanity - binutils - Bio-DB-HTS - Bio-EUtilities - Bio-SamTools - Bio-SearchIO-hmmer - bioawk - biobambam2 - biogeme - biom-format - biomart-perl - BioPerl - BioPP - Biopython - BioServices - BirdNET - biscuit - Bismark - Bison - bitarray - BLACS - BLASR - blasr_libcpp - BLAST - BLAST+ - BLAT - Blender - BLIS - Blitz++ - BlobTools - Block - Blosc - Blosc2 - BLT - bmtagger - bnpy - BOINC - bokeh - BoltzTraP - BoltzTraP2 - Bonito - Bonmin - Bonnie++ - Boost - Boost.MPI - Boost.Python - boost_histogram - boto3 - Bottleneck - Bowtie - Bowtie2 - Bpipe - bpp - bpytop - Bracken - Braindecode - BRAKER - BreakDancer - breseq - Brotli - Brotli-python - Brunsli - bsddb3 - BSMAPz - Bsoft - BSseeker2 - BuDDy - BUFRLIB - build - buildenv - buildingspy - Bullet - BUSCO - BUStools - BWA - bwa-meth - bwakit - bwidget - BWISE - bx-python - BXH_XCEDE_TOOLS - byacc - byobu - bzip2

                    "},{"location":"version-specific/supported-software/#ba3-snps-autotune","title":"BA3-SNPS-autotune","text":"

                    This program will automatically tune mixing parameters for BA3-SNPs by implementing a binary search algorithm and conducting short exploratory runs of BA3-SNPS.

                    homepage: https://github.com/stevemussmann/BA3-SNPS-autotune

                    version toolchain 2.1.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#babelstream","title":"BabelStream","text":"

                    STREAM, for lots of devices written in many programming models

                    homepage: https://uob-hpc.github.io/BabelStream

                    version versionsuffix toolchain 3.4 -omp GCC/11.2.0"},{"location":"version-specific/supported-software/#babl","title":"babl","text":"

                    babl is pixel encoding and color space conversion engine in C

                    homepage: https://www.gegl.org/babl

                    version toolchain 0.1.86 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#bader","title":"Bader","text":"

                    A fast algorithm for doing Bader's analysis on a charge density grid.

                    homepage: http://theory.cm.utexas.edu/henkelman/code/bader/

                    version toolchain 1.02 intel/2018a 1.03 intel/2018b 1.04 GCC/11.2.0, iccifort/2020.4.304"},{"location":"version-specific/supported-software/#bagel","title":"BAGEL","text":"

                    BAGEL (Brilliantly Advanced General Electronic-structure Library) is a parallel electronic-structure program.

                    homepage: http://www.nubakery.org

                    version toolchain 1.1.1 intel/2016b"},{"location":"version-specific/supported-software/#bali-phy","title":"BAli-Phy","text":"

                    BAli-Phy estimates multiple sequence alignments and evolutionary trees from DNA, amino acid, or codon sequences.

                    homepage: http://www.bali-phy.org/

                    version toolchain 3.6.0 system"},{"location":"version-specific/supported-software/#bam-readcount","title":"bam-readcount","text":"

                    Count DNA sequence reads in BAM files

                    homepage: https://github.com/genome/bam-readcount

                    version toolchain 0.8.0 GCC/11.2.0, GCC/9.3.0, foss/2018b"},{"location":"version-specific/supported-software/#bambi","title":"Bambi","text":"

                    Bambi is a high-level Bayesian model-building interface written in Python. It works with the probabilistic programming frameworks PyMC3 and is designed to make it extremely easy to fit Bayesian mixed-effects models common in biology, social sciences and other disciplines.

                    homepage: https://bambinos.github.io/bambi

                    version toolchain 0.7.1 foss/2021b, intel/2021b"},{"location":"version-specific/supported-software/#bamfilters","title":"bamFilters","text":"

                    A utility tool to filter alignments from bam files, using identity percent, low complexity and read coverage.

                    homepage: https://github.com/institut-de-genomique/bamFilters

                    version toolchain 2022-06-30 GCC/11.3.0"},{"location":"version-specific/supported-software/#bamm","title":"BAMM","text":"

                    BAMM is oriented entirely towards detecting and quantifying heterogeneity in evolutionary rates. It uses reversible jump Markov chain Monte Carlo to automatically explore a vast universe of candidate models of lineage diversification and trait evolution.

                    homepage: http://bamm-project.org/

                    version toolchain 2.5.0 foss/2022a"},{"location":"version-specific/supported-software/#bamsurgeon","title":"BAMSurgeon","text":"

                    Tools for adding mutations to existing .bam files, used for testing mutation callers

                    homepage: https://github.com/adamewing/bamsurgeon

                    version versionsuffix toolchain 1.2 -Python-2.7.16 GCC/8.3.0"},{"location":"version-specific/supported-software/#bamtofastq","title":"bamtofastq","text":"

                    Convert 10x BAM files to the original FASTQs compatible with 10x pipelines.

                    homepage: https://github.com/10XGenomics/bamtofastq

                    version toolchain 1.4.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#bamtools","title":"BamTools","text":"

                    BamTools provides both a programmer's API and an end-user's toolkit for handling BAM files.

                    homepage: https://github.com/pezmaster31/bamtools

                    version toolchain 2.4.0 foss/2016b 2.4.1 intel/2017a 2.5.0 foss/2016b, intel/2017b 2.5.1 GCC/10.2.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2017b, foss/2018a, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, iccifort/2020.4.304, intel/2017b, intel/2018b 2.5.2 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#bamutil","title":"BamUtil","text":"

                    BamUtil is a repository that contains several programs that perform operations on SAM/BAM files. All of these programs are built into a single executable, bam.

                    homepage: http://genome.sph.umich.edu/wiki/BamUtil

                    version toolchain 1.0.13 intel/2016b 1.0.14 intel/2018a"},{"location":"version-specific/supported-software/#bandage","title":"Bandage","text":"

                    Bandage is a program for visualising de novo assembly graphs

                    homepage: http://rrwick.github.io/Bandage

                    version versionsuffix toolchain 0.8.1 _Centos system 0.8.1 _Ubuntu system 0.9.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#barrnap","title":"barrnap","text":"

                    Barrnap (BAsic Rapid Ribosomal RNA Predictor) predicts the location of ribosomal RNA genes in genomes.

                    homepage: https://github.com/tseemann/barrnap

                    version toolchain 0.9 GCC/8.2.0-2.31.1, foss/2018b, gompi/2020b, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#basemap","title":"basemap","text":"

                    The matplotlib basemap toolkit is a library for plotting 2D data on maps in Python

                    homepage: https://matplotlib.org/basemap/

                    version versionsuffix toolchain 1.0.7 -Python-2.7.13 intel/2017a 1.0.7 -Python-3.6.3 intel/2017b 1.0.7 -Python-3.6.4 intel/2018a 1.2.0 -Python-3.6.6 intel/2018b 1.2.2 -Python-3.8.2 foss/2020a 1.3.6 foss/2022a"},{"location":"version-specific/supported-software/#bash","title":"Bash","text":"

                    Bash is an sh-compatible command language interpreter that executes commands read from the standard input or from a file. Bash also incorporates useful features from the Korn and C shells (ksh and csh).

                    homepage: http://www.gnu.org/software/bash

                    version toolchain 4.3 GCC/4.9.2"},{"location":"version-specific/supported-software/#bashplotlib","title":"bashplotlib","text":"

                    bashplotlib is a python package and command line tool for making basic plots in the terminal. It's a quick way to visualize data when you don't have a GUI.

                    homepage: https://github.com/glamp/bashplotlib

                    version toolchain 0.6.5 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#bat","title":"bat","text":"

                    The BAT Python package supports the processing and analysis of Bro data with Pandas, scikit-learn, and Spark

                    homepage: https://pypi.python.org/pypi/bat

                    version versionsuffix toolchain 0.3.3 -Python-3.6.3 intel/2017b"},{"location":"version-specific/supported-software/#batchgenerators","title":"batchgenerators","text":"

                    Data augmentation toolkit developed at the Division of Medical Image Computing at the German Cancer Research Center (DKFZ) to suit all our deep learning data augmentation needs.

                    homepage: https://github.com/MIC-DKFZ/batchgenerators

                    version toolchain 0.25 foss/2021a"},{"location":"version-specific/supported-software/#batmeth2","title":"BatMeth2","text":"

                    An Integrated Package for Bisulfite DNA Methylation Data Analysis with Indel-sensitive Mapping.

                    homepage: https://github.com/GuoliangLi-HZAU/BatMeth2

                    version toolchain 2.1 foss/2019b"},{"location":"version-specific/supported-software/#bayesass","title":"BayesAss","text":"

                    BayesAss: Bayesian Inference of Recent Migration Using Multilocus Genotypes

                    homepage: http://www.rannala.org/?page_id=245

                    version toolchain 3.0.4 foss/2016a"},{"location":"version-specific/supported-software/#bayesass3-snps","title":"BayesAss3-SNPs","text":"

                    Modification of BayesAss 3.0.4 to allow handling of large SNP datasets generated via methods such as RADseq protocols.

                    homepage: https://github.com/stevemussmann/BayesAss3-SNPs

                    version toolchain 1.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#bayescan","title":"BayeScan","text":"

                    BayeScan aims at identifying candidate loci under natural selection from genetic data, using differences in allele frequencies between populations.

                    homepage: http://cmpg.unibe.ch/software/BayeScan/

                    version toolchain 2.1 foss/2016a, foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#bayescenv","title":"BayeScEnv","text":"

                    BayeScEnv is a Fst-based, genome-scan method that uses environmental variables to detect local adaptation.

                    homepage: https://github.com/devillemereuil/bayescenv

                    version toolchain 1.1 GCC/8.3.0, foss/2016a, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#bayesprism","title":"BayesPrism","text":"

                    Bayesian cell Proportion Reconstruction Inferred using Statistical Marginalization (BayesPrism): A Fully Bayesian Inference of Tumor Microenvironment composition and gene expression

                    homepage: https://github.com/Danko-Lab/BayesPrism

                    version versionsuffix toolchain 2.0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#bayestraits","title":"BayesTraits","text":"

                    BayesTraits is a computer package for performing analyses of trait evolution among groups of species for which a phylogeny or sample of phylogenies is available. This new package incoporates our earlier and separate programes Multistate, Discrete and Continuous. BayesTraits can be applied to the analysis of traits that adopt a finite number of discrete states, or to the analysis of continuously varying traits. Hypotheses can be tested about models of evolution, about ancestral states and about correlations among pairs of traits.

                    homepage: https://github.com/AndrewPMeade/BayesTraits-Public

                    version versionsuffix toolchain 1.0-linux32 system 2.0 -Beta-Linux64 system 3.0.2 -Linux system"},{"location":"version-specific/supported-software/#bazel","title":"Bazel","text":"

                    Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google's software.

                    homepage: https://bazel.io/

                    version versionsuffix toolchain 0.4.4 system 0.7.0 GCCcore/6.4.0 0.10.0 GCCcore/6.4.0 0.11.0 GCCcore/6.4.0 0.11.1 GCCcore/6.4.0 0.12.0 GCCcore/6.4.0 0.16.0 GCCcore/6.4.0, GCCcore/7.3.0 0.18.0 GCCcore/7.3.0 0.20.0 GCCcore/7.3.0, GCCcore/8.2.0 0.25.2 GCCcore/8.2.0 0.26.1 GCCcore/8.2.0, GCCcore/8.3.0 0.29.1 GCCcore/8.2.0, GCCcore/8.3.0 0.29.1 -Java-1.8 GCCcore/9.3.0 1.1.0 GCCcore/8.3.0 2.0.0 GCCcore/10.2.0, GCCcore/8.3.0 3.4.1 GCCcore/8.3.0 3.6.0 GCCcore/9.3.0 3.7.1 GCCcore/8.3.0 3.7.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0 4.2.2 GCCcore/11.2.0 5.1.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#bbcp","title":"bbcp","text":"

                    BBCP is an alternative to Gridftp when transferring large amounts of data, capable of breaking up your transfer into multiple simultaneous transferring streams, thereby transferring data much faster than single-streaming utilities such as SCP and SFTP. See details at http://pcbunn.cithep.caltech.edu/bbcp/using_bbcp.htm or http://www.nics.tennessee.edu/computing-resources/data-transfer/bbcp

                    homepage: http://www.slac.stanford.edu/~abh/bbcp/

                    version versionsuffix toolchain 12.01.30.00.0 -amd64_linux26 system"},{"location":"version-specific/supported-software/#bbftp","title":"bbFTP","text":"

                    bbFTP is a file transfer software. It implements its own transfer protocol, which is optimized for large files (larger than 2GB) and secure as it does not read the password in a file and encrypts the connection information. bbFTP main features are: * Encoded username and password at connection * SSH and Certificate authentication modules * Multi-stream transfer * Big windows as defined in RFC1323 * On-the-fly data compression * Automatic retry * Customizable time-outs * Transfer simulation * AFS authentication integration * RFIO interface

                    homepage: https://software.in2p3.fr/bbftp/

                    version toolchain 3.2.1 GCCcore/9.3.0, intel/2016a, system"},{"location":"version-specific/supported-software/#bbmap","title":"BBMap","text":"

                    BBMap short read aligner, and other bioinformatic tools.

                    homepage: https://sourceforge.net/projects/bbmap/

                    version versionsuffix toolchain 36.62 -Java-1.8.0_112 intel/2016b 37.93 foss/2018a, intel/2018a 38.26 foss/2018b 38.50b GCC/8.2.0-2.31.1 38.76 GCC/8.2.0-2.31.1 38.79 GCC/8.3.0 38.87 iccifort/2020.1.217 38.90 GCC/10.2.0, GCC/9.3.0 38.96 GCC/10.3.0 38.98 GCC/11.2.0 39.01 GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#bc","title":"bc","text":"

                    bc is an arbitrary precision numeric processing language.

                    homepage: https://www.gnu.org/software/bc/

                    version toolchain 1.06.95 GCC/4.8.2"},{"location":"version-specific/supported-software/#bcalm","title":"BCALM","text":"

                    de Bruijn graph compaction in low memory

                    homepage: https://github.com/GATB/bcalm

                    version toolchain 2.2.0 foss/2018a"},{"location":"version-specific/supported-software/#bcbio-gff","title":"bcbio-gff","text":"

                    Read and write Generic Feature Format (GFF) with Biopython integration.

                    homepage: https://github.com/chapmanb/bcbb/tree/master/gff

                    version versionsuffix toolchain 0.6.6 -Python-3.8.2 foss/2020a 0.6.7 foss/2021a 0.7.0 foss/2020b, foss/2022a"},{"location":"version-specific/supported-software/#bcel","title":"BCEL","text":"

                    The Byte Code Engineering Library (Apache Commons BCEL\u2122) is intended to give users a convenient way to analyze, create, and manipulate (binary) Java class files (those ending with .class).

                    homepage: https://commons.apache.org/proper/commons-bcel/

                    version versionsuffix toolchain 5.2 -Java-1.8 system 6.5.0 -Java-1.8 system"},{"location":"version-specific/supported-software/#bcftools","title":"BCFtools","text":"

                    Samtools is a suite of programs for interacting with high-throughput sequencing data. BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence variants

                    homepage: http://www.htslib.org/

                    version toolchain 1.3 foss/2016a, intel/2016a 1.3.1 foss/2016b 1.6 foss/2016b, foss/2017b, intel/2017b 1.8 GCC/6.4.0-2.28 1.9 foss/2018a, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 1.10.2 GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281 1.11 GCC/10.2.0 1.12 GCC/10.2.0, GCC/10.3.0, GCC/9.3.0 1.14 GCC/11.2.0 1.15.1 GCC/11.3.0 1.17 GCC/12.2.0"},{"location":"version-specific/supported-software/#bcgtree","title":"bcgTree","text":"

                    Automatized phylogenetic tree building from bacterial core genomes.

                    homepage: https://github.com/molbiodiv/bcgTree

                    version versionsuffix toolchain 1.0.10 -Perl-5.26.1 intel/2018a 1.1.0 -Perl-5.28.0 intel/2018b"},{"location":"version-specific/supported-software/#bcl-convert","title":"bcl-convert","text":"

                    The Illumina BCL Convert v4.0 is a standalone local software app that converts the Binary Base Call (BCL) files produced by Illumina sequencing systems to FASTQ files.

                    homepage: https://support.illumina.com/sequencing/sequencing_software/bcl-convert.html

                    version versionsuffix toolchain 4.0.3-2 el7.x86_64 system"},{"location":"version-specific/supported-software/#bcl2fastq2","title":"bcl2fastq2","text":"

                    bcl2fastq Conversion Software both demultiplexes data and converts BCL files generated by Illumina sequencing systems to standard FASTQ file formats for downstream analysis.

                    homepage: https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html

                    version versionsuffix toolchain 2.19.1 -Python-2.7.12 foss/2016b 2.20.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/8.3.0, GCC/9.3.0, foss/2018b, intel/2019a 2.20.0 -Python-2.7.12 foss/2016b 2.20.0 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#bcolz","title":"bcolz","text":"

                    bcolz provides columnar, chunked data containers that can be compressed either in-memory and on-disk. Column storage allows for efficiently querying tables, as well as for cheap column addition and removal. It is based on NumPy, and uses it as the standard data container to communicate with bcolz objects, but it also comes with support for import/export facilities to/from HDF5/PyTables tables and pandas dataframes.

                    homepage: https://bcolz.blosc.org/en/latest/

                    version versionsuffix toolchain 1.1.1 -Python-2.7.13 foss/2017a 1.2.1 foss/2020b 1.2.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#bdbag","title":"BDBag","text":"

                    The bdbag utilities are a collection of software programs for working with BagIt packages that conform to the Bagit and Bagit/RO profiles.

                    homepage: https://github.com/fair-research/bdbag

                    version versionsuffix toolchain 1.4.1 -Python-2.7.14 intel/2018a 1.4.1 -Python-3.6.4 intel/2018a 1.6.3 intel/2021b"},{"location":"version-specific/supported-software/#beagle","title":"Beagle","text":"

                    Beagle is a software package for phasing genotypes and for imputing ungenotyped markers.

                    homepage: https://faculty.washington.edu/browning/beagle/beagle.html

                    version versionsuffix toolchain 5.4.22Jul22.46e -Java-11 system"},{"location":"version-specific/supported-software/#beagle-lib","title":"beagle-lib","text":"

                    beagle-lib is a high-performance library that can perform the core calculations at the heart of most Bayesian and Maximum Likelihood phylogenetics packages.

                    homepage: https://github.com/beagle-dev/beagle-lib

                    version versionsuffix toolchain 2.1.2 foss/2016a, foss/2017a 3.0.1 foss/2018a, intel/2018a 3.0.2 foss/2018b 3.0.2 -CUDA-9.2.88 foss/2018b 3.1.2 GCC/10.2.0, GCC/10.3.0, GCC/8.2.0-2.31.1, GCC/9.3.0, gcccuda/2019b, iccifort/2019.1.144-GCC-8.2.0-2.31.1 4.0.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#beast","title":"Beast","text":"

                    BEAST is a cross-platform program for Bayesian MCMC analysis of molecular sequences. It is entirely orientated towards rooted, time-measured phylogenies inferred using strict or relaxed molecular clock models. It can be used as a method of reconstructing phylogenies but is also a framework for testing evolutionary hypotheses without conditioning on a single tree topology. BEAST uses MCMC to average over tree space, so that each tree is weighted proportional to its posterior probability.

                    homepage: https://beast2.org

                    version toolchain 1.8.4 system 1.10.1 intel/2018a 1.10.4 GCC/10.2.0, GCC/8.2.0-2.31.1 2.4.0 foss/2016a 2.4.7 foss/2017a 2.5.0 foss/2018a 2.5.1 foss/2018b 2.5.2 GCC/8.2.0-2.31.1 2.6.3 gcccuda/2019b 2.6.4 GCC/10.2.0 2.6.7 GCC/10.3.0 2.7.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#beautifulsoup","title":"BeautifulSoup","text":"

                    Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping.

                    homepage: https://www.crummy.com/software/BeautifulSoup

                    version versionsuffix toolchain 4.6.0 -Python-3.6.3 intel/2017b 4.6.3 -Python-3.6.4 intel/2018a 4.7.1 -Python-3.6.6 intel/2018b 4.8.0 GCCcore/8.2.0 4.9.1 GCCcore/8.3.0 4.9.1 -Python-3.8.2 GCCcore/9.3.0 4.9.3 GCCcore/10.2.0 4.10.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 4.11.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#bedops","title":"BEDOPS","text":"

                    BEDOPS is an open-source command-line toolkit that performs highly efficient and scalable Boolean and other set operations, statistical calculations, archiving, conversion and other management of genomic data of arbitrary scale. Tasks can be easily split by chromosome for distributing whole-genome analyses across a computational cluster.

                    homepage: http://bedops.readthedocs.io/en/latest/index.html

                    version toolchain 2.4.1 GCC/4.8.4 2.4.2 GCC/4.8.2 2.4.20 system 2.4.26 system 2.4.30 foss/2016b 2.4.32 foss/2018a, intel/2018a 2.4.35 foss/2018b 2.4.41 foss/2021b"},{"location":"version-specific/supported-software/#bedtools","title":"BEDTools","text":"

                    BEDTools: a powerful toolset for genome arithmetic. The BEDTools utilities allow one to address common genomics tasks such as finding feature overlaps and computing coverage. The utilities are largely based on four widely-used file formats: BED, GFF/GTF, VCF, and SAM/BAM.

                    homepage: https://bedtools.readthedocs.io/

                    version toolchain 2.25.0 foss/2016a 2.26.0 GCCcore/6.4.0, foss/2016a, intel/2016b, intel/2017a, intel/2017b 2.27.1 GCCcore/6.4.0, foss/2016b, foss/2018b, intel/2017a, intel/2018a 2.28.0 GCC/8.2.0-2.31.1, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.29.2 GCC/8.3.0, GCC/9.3.0 2.30.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, iccifort/2020.4.304"},{"location":"version-specific/supported-software/#beef","title":"BEEF","text":"

                    BEEF is a library-based implementation of the Bayesian Error Estimation Functional, suitable for linking against by Fortran- or C-based DFT codes. A description of BEEF can be found at http://dx.doi.org/10.1103/PhysRevB.85.235149.

                    homepage: https://confluence.slac.stanford.edu/display/SUNCAT/BEEF+Functional+Software

                    version toolchain 0.1.1 iccifort/2019.5.281, iccifort/2020.4.304"},{"location":"version-specific/supported-software/#behave","title":"behave","text":"

                    behave: Behavior-driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project.

                    homepage: http://pythonhosted.org/behave

                    version versionsuffix toolchain 1.2.5 -Python-2.7.12 foss/2016b 1.2.6 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#berkeleygw","title":"BerkeleyGW","text":"

                    The BerkeleyGW Package is a set of computer codes that calculates the quasiparticle properties and the optical responses of a large variety of materials from bulk periodic crystals to nanostructures such as slabs, wires and molecules.

                    homepage: https://www.berkeleygw.org

                    version versionsuffix toolchain 1.0.6 intel/2016.02-GCC-4.9 1.1-beta2 intel/2016.02-GCC-4.9 1.2.0 intel/2017a, intel/2018a 2.0.0 foss/2017b, foss/2018b, intel/2017b, intel/2018a 2.1.0 -Python-3.7.4 foss/2019b, intel/2019b 3.0.1 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#bfast","title":"BFAST","text":"

                    BFAST facilitates the fast and accurate mapping of short reads to reference sequences. Some advantages of BFAST include: 1) Speed: enables billions of short reads to be mapped quickly. 2) Accuracy: A priori probabilities for mapping reads with defined set of variants. 3) An easy way to measurably tune accuracy at the expense of speed.

                    homepage: http://bfast.sourceforge.net/

                    version toolchain 0.7.0a foss/2016b"},{"location":"version-specific/supported-software/#bfc","title":"BFC","text":"

                    BFC is a standalone high-performance tool for correcting sequencing errors from Illumina sequencing data. It is specifically designed for high-coverage whole-genome human data, though also performs well for small genomes.

                    homepage: https://github.com/lh3/bfc

                    version toolchain 1 foss/2018a"},{"location":"version-specific/supported-software/#bgc-bayesian-genomic-clines","title":"BGC-Bayesian-genomic-clines","text":"

                    Collection of code for Bayesian genomic cline analyses.

                    homepage: https://github.com/zgompert/BGC-Bayesian-genomic-clines

                    version toolchain 1.03 gompi/2021a"},{"location":"version-specific/supported-software/#bgen","title":"bgen","text":"

                    A BGEN file format reader. It fully supports the BGEN format specifications 1.2 and 1.3.

                    homepage: https://github.com/limix/bgen

                    version toolchain 3.0.2 GCCcore/7.3.0 3.0.3 GCCcore/9.3.0 4.1.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#bgen-reader","title":"bgen-reader","text":"

                    A bgen file format reader. This python package is a wrapper around the bgen library, a low-memory footprint reader that efficiently reads bgen files. It fully supports the bgen format specifications: 1.2 and 1.3; as well as their optional compressed formats.

                    homepage: https://github.com/limix/bgen-reader-py

                    version versionsuffix toolchain 3.0.2 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#bibtexparser","title":"bibtexparser","text":"

                    Bibtex parser in Python 2.7 and 3.x

                    homepage: https://github.com/sciunto-org/python-bibtexparser

                    version toolchain 1.1.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#big-scape","title":"BiG-SCAPE","text":"

                    BiG-SCAPE and CORASON provide a set of tools to explore the diversity of biosynthetic gene clusters (BGCs) across large numbers of genomes, by constructing BGC sequence similarity networks, grouping BGCs into gene cluster families, and exploring gene cluster diversity linked to enzyme phylogenies.

                    homepage: https://bigscape-corason.secondarymetabolites.org/index.html

                    version versionsuffix toolchain 1.0.1 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#bigdft","title":"BigDFT","text":"

                    BigDFT: electronic structure calculation based on Daubechies wavelets. bigdft-suite is a set of different packages to run bigdft.

                    homepage: https://gitlab.com/l_sim/bigdft-suite

                    version toolchain 1.9.1 foss/2021b"},{"location":"version-specific/supported-software/#binsanity","title":"BinSanity","text":"

                    BinSanity contains a suite a scripts designed to cluster contigs generated from metagenomic assembly into putative genomes.

                    homepage: https://github.com/edgraham/BinSanity/wiki

                    version versionsuffix toolchain 0.3.5 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#binutils","title":"binutils","text":"

                    binutils: GNU binary utilities

                    homepage: https://directory.fsf.org/project/binutils/

                    version toolchain 2.25 GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, system 2.25.1 system 2.26 GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/5.5.0, GCCcore/6.3.0, system 2.27 GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, system 2.28 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, system 2.29 GCCcore/7.2.0, GCCcore/system, system 2.30 GCCcore/7.3.0, GCCcore/8.1.0, system 2.31.1 GCCcore/7.4.0, GCCcore/8.2.0, system 2.32 GCCcore/8.3.0, GCCcore/9.1.0, GCCcore/9.2.0, system 2.34 GCCcore/10.1.0, GCCcore/9.3.0, system 2.35 GCCcore/10.2.0, system 2.36.1 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/8.4.0, GCCcore/9.4.0, system 2.37 GCCcore/11.2.0, system 2.38 GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/9.5.0, system 2.39 GCCcore/12.2.0, system 2.40 GCCcore/11.4.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#bio-db-hts","title":"Bio-DB-HTS","text":"

                    Read files using HTSlib including BAM/CRAM, Tabix and BCF database files

                    homepage: https://metacpan.org/release/Bio-DB-HTS

                    version versionsuffix toolchain 2.11 -Perl-5.26.0 foss/2017b, intel/2017b 2.11 -Perl-5.26.1 intel/2018a 2.11 -Perl-5.28.0 foss/2018b 3.01 GCC/10.2.0, GCC/11.2.0, GCC/11.3.0 3.01 -Perl-5.28.1 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#bio-eutilities","title":"Bio-EUtilities","text":"

                    BioPerl low-level API for retrieving and storing data from NCBI eUtils

                    homepage: https://github.com/bioperl/bio-eutilities

                    version toolchain 1.76 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#bio-samtools","title":"Bio-SamTools","text":"

                    This is a Perl interface to the SAMtools sequence alignment interface.

                    homepage: http://search.cpan.org/~lds/Bio-SamTools/

                    version versionsuffix toolchain 1.43 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#bio-searchio-hmmer","title":"Bio-SearchIO-hmmer","text":"

                    Code to parse output from hmmsearch, hmmscan, phmmer and nhmmer, compatible with both version 2 and version 3 of the HMMER package from http://hmmer.org.

                    homepage: https://metacpan.org/pod/Bio::SearchIO::hmmer3

                    version toolchain 1.7.3 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#bioawk","title":"bioawk","text":"

                    Bioawk is an extension to Brian Kernighan's awk, adding the support of several common biological data formats, including optionally gzip'ed BED, GFF, SAM, VCF, FASTA/Q and TAB-delimited formats with column names.

                    homepage: https://github.com/lh3/bioawk

                    version toolchain 1.0 GCC/10.3.0, GCC/11.2.0, foss/2018b"},{"location":"version-specific/supported-software/#biobambam2","title":"biobambam2","text":"

                    Tools for processing BAM files

                    homepage: https://github.com/gt1/biobambam2

                    version toolchain 2.0.87 GCC/11.3.0, intel/2018a"},{"location":"version-specific/supported-software/#biogeme","title":"biogeme","text":"

                    Biogeme is a open source Python package designed for the maximum likelihood estimation of parametric models in general, with a special emphasis on discrete choice models.

                    homepage: https://pypi.python.org/pypi/biogeme

                    version toolchain 3.1.2 foss/2021a 3.2.6 foss/2022a 3.2.8 foss/2021a 3.2.10 foss/2022a"},{"location":"version-specific/supported-software/#biom-format","title":"biom-format","text":"

                    The BIOM file format (canonically pronounced biome) is designed to be a general-use format for representing biological sample by observation contingency tables. BIOM is a recognized standard for the Earth Microbiome Project and is a Genomics Standards Consortium supported project.

                    homepage: https://biom-format.org

                    version versionsuffix toolchain 2.1.10 -Python-3.8.2 foss/2020a 2.1.12 foss/2021b 2.1.14 foss/2022a"},{"location":"version-specific/supported-software/#biomart-perl","title":"biomart-perl","text":"

                    The BioMart Perl API allows you to go a step further with BioMart and integrate BioMart Perl Code into custom Perl scripts.

                    homepage: https://useast.ensembl.org/info/data/biomart/biomart_perl_api.html

                    version versionsuffix toolchain 0.7_e6db561 -Perl-5.26.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#bioperl","title":"BioPerl","text":"

                    Bioperl is the product of a community effort to produce Perl code which is useful in biology. Examples include Sequence objects, Alignment objects and database searching objects.

                    homepage: http://www.bioperl.org/

                    version versionsuffix toolchain 1.6.924 -Perl-5.20.3 intel/2016a 1.6.924 -Perl-5.22.1 foss/2016a 1.7.0 -Perl-5.24.0 foss/2016b 1.7.1 -Perl-5.24.0 intel/2016b 1.7.1 -Perl-5.24.1 intel/2017a 1.7.2 GCCcore/8.3.0 1.7.2 -Perl-5.26.0 foss/2017b, intel/2017b 1.7.2 -Perl-5.26.1 intel/2018a 1.7.2 -Perl-5.28.0 foss/2018b, intel/2018b 1.7.2 -Perl-5.28.1 GCCcore/8.2.0 1.7.7 GCCcore/9.3.0 1.7.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#biopp","title":"BioPP","text":"

                    Bio++ is a set of C++ libraries for Bioinformatics, including sequence analysis, phylogenetics, molecular evolution and population genetics. Bio++ is Object Oriented and is designed to be both easy to use and computer efficient. Bio++ intends to help programmers to write computer expensive programs, by providing them a set of re-usable tools.

                    homepage: https://github.com/BioPP/bpp-core

                    version toolchain 2.4.1 GCC/8.2.0-2.31.1, GCC/9.3.0"},{"location":"version-specific/supported-software/#biopython","title":"Biopython","text":"

                    Biopython is a set of freely available tools for biological computation written in Python by an international team of developers. It is a distributed collaborative effort to develop Python libraries and applications which address the needs of current and future work in bioinformatics.

                    homepage: https://www.biopython.org

                    version versionsuffix toolchain 1.65 -Python-2.7.11 foss/2016a 1.68 -Python-2.7.12 foss/2016b, intel/2016b 1.68 -Python-3.5.2 foss/2016b, intel/2016b 1.70 -Python-2.7.13 foss/2017a 1.70 -Python-2.7.14 foss/2017b, intel/2017b 1.70 -Python-3.6.1 intel/2017a 1.70 -Python-3.6.3 foss/2017b, intel/2017b 1.71 -Python-2.7.14 intel/2018a 1.71 -Python-3.6.4 foss/2018a, intel/2018a 1.72 -Python-2.7.15 foss/2018b, intel/2018b 1.72 -Python-3.6.6 foss/2018b 1.73 foss/2019a, fosscuda/2019a, intel/2019a 1.73 -Python-3.6.6 foss/2018b 1.74 foss/2019a 1.75 -Python-2.7.16 foss/2019b 1.75 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 1.76 -Python-2.7.18 foss/2020b 1.78 foss/2020b, fosscuda/2020b, intel/2020b 1.78 -Python-3.8.2 foss/2020a, intel/2020a 1.79 foss/2021a, foss/2021b, foss/2022a, intel/2021b 1.81 foss/2022b"},{"location":"version-specific/supported-software/#bioservices","title":"BioServices","text":"

                    Bioservices is a Python package that provides access to many Bioinformatices Web Services (e.g., UniProt) and a framework to easily implement Web Services wrappers (based on WSDL/SOAP or REST protocols).

                    homepage: https://bioservices.readthedocs.io/

                    version versionsuffix toolchain 1.7.9 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#birdnet","title":"BirdNET","text":"

                    BirdNET is a research platform that aims at recognizing birds by sound at scale. We support various hardware and operating systems such as Arduino microcontrollers, the Raspberry Pi, smartphones, web browsers, workstation PCs, and even cloud services. BirdNET is a citizen science platform as well as an analysis software for extremely large collections of audio. BirdNET aims to provide innovative tools for conservationists, biologists, and birders alike.

                    homepage: https://birdnet.cornell.edu/

                    version versionsuffix toolchain 20201214 -Python-3.7.4 fosscuda/2019b"},{"location":"version-specific/supported-software/#biscuit","title":"biscuit","text":"

                    Utilities to help analyze bisulfite-treated sequence data

                    homepage: https://github.com/zwdzwd/biscuit

                    version toolchain 0.1.4 foss/2016a"},{"location":"version-specific/supported-software/#bismark","title":"Bismark","text":"

                    A tool to map bisulfite converted sequence reads and determine cytosine methylation states

                    homepage: https://www.bioinformatics.babraham.ac.uk/projects/bismark/

                    version toolchain 0.19.0 intel/2017b 0.20.1 foss/2018b, intel/2018b 0.23.1 foss/2021b 0.24.0 GCC/11.3.0 0.24.1 GCC/12.2.0"},{"location":"version-specific/supported-software/#bison","title":"Bison","text":"

                    Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.

                    homepage: https://www.gnu.org/software/bison

                    version toolchain 2.7 GCC/4.8.1, GCC/4.8.4, GCCcore/6.3.0, GCCcore/6.4.0, system 3.0.2 GCC/4.8.2 3.0.3 GCC/4.9.2 3.0.4 GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-2.25, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/5.5.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.1.0, GCCcore/system, GNU/4.9.3-2.25, foss/2016a, foss/2016b, gimkl/2.11.5, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 3.0.5 GCCcore/5.5.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.1.0, GCCcore/8.2.0, GCCcore/system, system 3.2.2 GCCcore/7.4.0 3.3.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/8.4.0, GCCcore/9.1.0, GCCcore/9.2.0, system 3.5.2 system 3.5.3 GCCcore/10.2.0, GCCcore/9.3.0, system 3.6.1 GCCcore/10.1.0 3.7.1 GCCcore/10.2.0, system 3.7.6 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/11.2.0, GCCcore/9.4.0, system 3.8.2 GCCcore/11.3.0, GCCcore/11.4.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/9.5.0, system"},{"location":"version-specific/supported-software/#bitarray","title":"bitarray","text":"

                    bitarray provides an object type which efficiently represents an array of booleans

                    homepage: https://github.com/ilanschnell/bitarray

                    version versionsuffix toolchain 0.8.3 -Python-2.7.15 intel/2018b 0.8.3 -Python-3.6.6 intel/2018b 1.2.1 -Python-3.7.4 foss/2019b 1.5.3 -Python-2.7.16 GCC/8.3.0"},{"location":"version-specific/supported-software/#blacs","title":"BLACS","text":"

                    The BLACS (Basic Linear Algebra Communication Subprograms) project is an ongoing investigation whose purpose is to create a linear algebra oriented message passing interface that may be implemented efficiently and uniformly across a large range of distributed memory platforms.

                    homepage: http://www.netlib.org/blacs/

                    version toolchain 1.1 gmvapich2/2016a"},{"location":"version-specific/supported-software/#blasr","title":"BLASR","text":"

                    The PacBio\u00ae long read aligner

                    homepage: https://github.com/PacificBiosciences/blasr

                    version toolchain 2.2 intel/2016b 5.3.3 gompi/2019a 20170330 intel/2017a"},{"location":"version-specific/supported-software/#blasr_libcpp","title":"blasr_libcpp","text":"

                    Blasr_libcpp is a library used by blasr and other executables such as samtoh5, loadPulses for analyzing PacBio sequences

                    homepage: https://github.com/PacificBiosciences/blasr_libcpp

                    version toolchain 20170426 intel/2017a"},{"location":"version-specific/supported-software/#blast","title":"BLAST","text":"

                    Basic Local Alignment Search Tool, or BLAST, is an algorithm for comparing primary biological sequence information, such as the amino-acid sequences of different proteins or the nucleotides of DNA sequences.

                    homepage: http://blast.ncbi.nlm.nih.gov/

                    version versionsuffix toolchain 2.2.26 -Linux_x86_64 system 2.8.1 -Linux_x86_64 system 2.10.0 -Linux_x86_64 system 2.10.1 -Linux_x86_64 system 2.11.0 -Linux_x86_64 system"},{"location":"version-specific/supported-software/#blast_1","title":"BLAST+","text":"

                    Basic Local Alignment Search Tool, or BLAST, is an algorithm for comparing primary biological sequence information, such as the amino-acid sequences of different proteins or the nucleotides of DNA sequences.

                    homepage: https://blast.ncbi.nlm.nih.gov/

                    version versionsuffix toolchain 2.2.31 system 2.3.0 -Python-2.7.11 foss/2016a 2.6.0 -Python-2.7.12 foss/2016b 2.6.0 -Python-2.7.13 foss/2017a, intel/2017a 2.6.0 -Python-2.7.14 intel/2017b 2.7.1 foss/2018a, foss/2018b, intel/2018a, intel/2018b 2.7.1 -Python-2.7.14 intel/2017b 2.8.1 foss/2018b 2.9.0 gompi/2019a, gompi/2019b, gompi/2021b, iimpi/2019a, iimpi/2019b 2.10.1 gompi/2020a, iimpi/2020a 2.11.0 gompi/2019b, gompi/2020a, gompi/2020b, gompi/2021a 2.12.0 gompi/2021b 2.13.0 gompi/2022a 2.14.0 gompi/2022b"},{"location":"version-specific/supported-software/#blat","title":"BLAT","text":"

                    BLAT on DNA is designed to quickly find sequences of 95% and greater similarity of length 25 bases or more.

                    homepage: https://genome.ucsc.edu/goldenPath/help/blatSpec.html

                    version toolchain 3.5 GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2016b, foss/2018b, intel/2016b, intel/2017a 3.7 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#blender","title":"Blender","text":"

                    Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation.

                    homepage: https://www.blender.org/

                    version versionsuffix toolchain 2.77a -Python-3.5.2 intel/2016b 2.79 -Python-3.6.1 intel/2017a 2.79b -Python-3.6.6 intel/2018b 2.79b -Python-3.6.6-CUDA-9.2.88 foss/2018b 2.81 -Python-3.7.4 foss/2019b, intel/2019b 3.0.0 -linux-x64 system 3.1.2 -linux-x64 system 3.2.2 -linux-x64 system 3.3.1 -linux-x86_64-CUDA-11.7.0 system 3.4.1 -linux-x86_64-CUDA-11.7.0 system 3.5.0 -linux-x86_64-CUDA-11.7.0 system"},{"location":"version-specific/supported-software/#blis","title":"BLIS","text":"

                    AMD's fork of BLIS. BLIS is a portable software framework for instantiating high-performance BLAS-like dense linear algebra libraries.

                    homepage: https://developer.amd.com/amd-cpu-libraries/blas-library/

                    version versionsuffix toolchain 0.3.2 GCC/7.3.0-2.30 0.6.0 GCC/8.3.0-2.32 0.8.0 GCCcore/10.2.0, GCCcore/9.3.0 0.8.1 GCC/10.3.0, GCC/11.2.0, GCCcore/10.3.0 0.9.0 GCC/11.3.0, GCC/12.2.0, GCC/12.3.0, intel-compilers/2022.1.0 1.2 -amd GCC/7.3.0-2.30 2.2 -amd GCCcore/9.3.0 3.0 -amd GCCcore/10.3.0 3.0.1 -amd GCC/11.2.0, GCCcore/10.2.0, GCCcore/10.3.0 3.1 -amd GCCcore/11.2.0"},{"location":"version-specific/supported-software/#blitz","title":"Blitz++","text":"

                    Blitz++ is a (LGPLv3+) licensed meta-template library for array manipulation in C++ with a speed comparable to Fortran implementations, while preserving an object-oriented interface

                    homepage: https://github.com/blitzpp/blitz

                    version toolchain 0.10 GCCcore/6.4.0, foss/2016a 1.0.2 GCCcore/10.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#blobtools","title":"BlobTools","text":"

                    A modular command-line solution for visualisation, quality control and taxonomic partitioning of genome datasets.

                    homepage: https://blobtools.readme.io/docs

                    version versionsuffix toolchain 20180528 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#block","title":"Block","text":"

                    Block implements the density matrix renormalization group (DMRG) algorithm for quantum chemistry.

                    homepage: https://sanshar.github.io/Block/

                    version toolchain 1.5.3-20200525 foss/2022a"},{"location":"version-specific/supported-software/#blosc","title":"Blosc","text":"

                    Blosc, an extremely fast, multi-threaded, meta-compressor library

                    homepage: https://www.blosc.org/

                    version toolchain 1.11.1 intel/2016b 1.12.1 GCCcore/6.4.0, foss/2016b, foss/2017a, intel/2017a 1.14.2 GCCcore/6.4.0, foss/2016a 1.14.4 GCCcore/7.3.0 1.17.0 GCCcore/8.2.0 1.17.1 GCCcore/8.3.0, GCCcore/9.3.0 1.21.0 GCCcore/10.2.0, GCCcore/10.3.0 1.21.1 GCCcore/11.2.0 1.21.3 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#blosc2","title":"Blosc2","text":"

                    Blosc, an extremely fast, multi-threaded, meta-compressor library

                    homepage: https://www.blosc.org/

                    version toolchain 2.0.3 GCCcore/10.2.0 2.0.4 GCCcore/10.3.0 2.4.3 GCCcore/11.3.0 2.6.1 GCCcore/11.3.0 2.8.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#blt","title":"BLT","text":"

                    BLT is an extension to the Tk toolkit, adding new widgets, geometry managers, and miscellaneous commands.

                    homepage: http://blt.sourceforge.net/

                    version toolchain 20181223 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#bmtagger","title":"bmtagger","text":"

                    Best Match Tagger for removing human reads from metagenomics datasets

                    homepage: ftp://ftp.ncbi.nlm.nih.gov/pub/agarwala/bmtagger/

                    version toolchain 3.101 foss/2018b, gompi/2019a, gompi/2020b"},{"location":"version-specific/supported-software/#bnpy","title":"bnpy","text":"

                    Bayesian nonparametric machine learning for python provides code for training popular clustering models on large datasets. The focus is on Bayesian nonparametric models based on the Dirichlet process, but it also provides parametric counterparts.

                    homepage: https://github.com/bnpy/bnpy

                    version versionsuffix toolchain 0.1.6 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#boinc","title":"BOINC","text":"

                    BOINC is a program that lets you donate your idle computer time to science projects like SETI@home, Climateprediction.net, Rosetta@home, World Community Grid, and many others.

                    homepage: https://boinc.berkeley.edu

                    version versionsuffix toolchain 7.2.42 -client GCC/4.8.2"},{"location":"version-specific/supported-software/#bokeh","title":"bokeh","text":"

                    Statistical and novel interactive HTML plots for Python

                    homepage: https://github.com/bokeh/bokeh

                    version versionsuffix toolchain 0.12.3 -Python-2.7.12 intel/2016b 0.12.3 -Python-3.5.2 intel/2016b 0.12.15 -Python-3.6.4 intel/2018a 1.0.4 -Python-3.6.6 foss/2018b, intel/2018b 1.3.4 -Python-3.7.2 foss/2019a 1.4.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 2.0.2 -Python-3.8.2 foss/2020a, intel/2020a 2.2.3 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 2.4.1 foss/2021a 2.4.2 foss/2021b 2.4.3 foss/2022a"},{"location":"version-specific/supported-software/#boltztrap","title":"BoltzTraP","text":"

                    Boltzmann Transport Properties (BoltzTraP) is a program for calculating the semi-classic transport coefficients.

                    homepage: http://www.icams.de/content/departments/cmat/boltztrap/

                    version toolchain 1.2.5 intel/2016a"},{"location":"version-specific/supported-software/#boltztrap2","title":"BoltzTraP2","text":"

                    BoltzTraP2 provides a numerically stable and efficient method for obtaining analytic representations of electronic bands based on density-functional-theory results for relatively sparse grids. It achieves this goal by using smoothed Fourier interpolation.

                    homepage: https://www.boltztrap.org

                    version toolchain 22.12.1 foss/2022a"},{"location":"version-specific/supported-software/#bonito","title":"Bonito","text":"

                    Convolution Basecaller for Oxford Nanopore Reads

                    homepage: https://github.com/nanoporetech/bonito

                    version versionsuffix toolchain 0.1.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.1.4 -Python-3.7.4 fosscuda/2019b 0.2.0 -Python-3.7.4 fosscuda/2019b 0.2.2 -Python-3.7.4 fosscuda/2019b 0.3.2 -Python-3.7.4 fosscuda/2019b 0.3.5 -Python-3.7.4 fosscuda/2019b 0.3.8 fosscuda/2020b 0.4.0 fosscuda/2020b"},{"location":"version-specific/supported-software/#bonmin","title":"Bonmin","text":"

                    Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a software package for large-scale nonlinear optimization.

                    homepage: https://coin-or.github.io/Ipopt

                    version toolchain 1.8.7 intel/2019a"},{"location":"version-specific/supported-software/#bonnie","title":"Bonnie++","text":"

                    Enhanced performance Test of Filesystem I/O

                    homepage: https://www.coker.com.au/bonnie++

                    version toolchain 1.97 foss/2016a 2.00a GCC/10.3.0"},{"location":"version-specific/supported-software/#boost","title":"Boost","text":"

                    Boost provides free peer-reviewed portable C++ source libraries.

                    homepage: https://www.boost.org/

                    version versionsuffix toolchain 1.54.0 -Python-2.7.12 foss/2016b 1.55.0 system 1.55.0 -Python-2.7.11 foss/2016a 1.57.0 -Python-2.7.10 gimkl/2.11.5 1.58.0 intel/2017a 1.58.0 -Python-2.7.11 foss/2016a, intel/2016a 1.58.0 -serial GCC/4.9.2 1.59.0 -Python-2.7.11 foss/2016a, intel/2016a 1.60.0 foss/2016a, intel/2016a 1.60.0 -Python-2.7.11 foss/2016a, intel/2016a 1.60.0 -Python-3.5.1 foss/2016a 1.61.0 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.61.0 -Python-2.7.11 foss/2016a, intel/2016a 1.61.0 -Python-2.7.12 foss/2016b, intel/2016b 1.61.0 -Python-3.5.1 foss/2016a 1.62.0 -Python-2.7.12 intel/2016b 1.63.0 foss/2017a 1.63.0 -Python-2.7.12 foss/2016b, intel/2016b 1.63.0 -Python-2.7.13 foss/2017a, intel/2017a 1.63.0 -Python-2.7.14 foss/2018a, intel/2017b 1.63.0 -Python-3.5.2 foss/2016b 1.64.0 gompi/2019a, gompic/2019a, intel/2017a 1.64.0 -Python-2.7.13 intel/2017a 1.65.0 -Python-2.7.13 intel/2017a 1.65.1 foss/2017a, foss/2017b, intel/2017a, intel/2017b 1.65.1 -Python-2.7.13 intel/2017a 1.65.1 -Python-2.7.14 foss/2017b, intel/2017b 1.65.1 -Python-3.6.3 foss/2017b, intel/2017b 1.66.0 foss/2018a, intel/2017b, intel/2018.01, intel/2018a 1.66.0 -Python-2.7.14 foss/2018a, intel/2017b, intel/2018a 1.66.0 -Python-3.6.3 intel/2018.01 1.66.0 -Python-3.6.4 foss/2018a, intel/2018a 1.66.0 -no_mpi GCCcore/6.4.0 1.67.0 foss/2018b, fosscuda/2018b, intel/2018a, intel/2018b 1.67.0 -Python-2.7.14 foss/2018a 1.68.0 -Python-2.7.15 foss/2018b, intel/2018b 1.68.0 -Python-3.6.6 foss/2018b, intel/2018b 1.69.0 intel/2019.01 1.70.0 gompi/2019a, gompic/2019a, iimpi/2019a, iimpic/2019a 1.71.0 gompi/2019b, gompic/2019b, iimpi/2019b, iimpic/2019b 1.72.0 gompi/2020a, gompic/2020a, iimpi/2020a 1.72.0 -no_mpi GCCcore/9.3.0 1.74.0 GCC/10.2.0, iccifort/2020.4.304 1.75.0 GCC/11.2.0 1.76.0 GCC/10.3.0, intel-compilers/2021.2.0 1.77.0 GCC/11.2.0, intel-compilers/2021.4.0 1.79.0 GCC/11.2.0, GCC/11.3.0 1.81.0 GCC/12.2.0"},{"location":"version-specific/supported-software/#boostmpi","title":"Boost.MPI","text":"

                    Boost provides free peer-reviewed portable C++ source libraries.

                    homepage: https://www.boost.org/

                    version toolchain 1.76.0 gompi/2021a 1.77.0 gompi/2021b 1.79.0 gompi/2022a"},{"location":"version-specific/supported-software/#boostpython","title":"Boost.Python","text":"

                    Boost.Python is a C++ library which enables seamless interoperability between C++ and the Python programming language.

                    homepage: https://boostorg.github.io/python

                    version versionsuffix toolchain 1.64.0 gompi/2019a, gompic/2019a 1.65.1 -Python-2.7.14 foss/2017b, intel/2017b 1.66.0 -Python-2.7.14 intel/2018a 1.66.0 -Python-3.6.4 foss/2018a, intel/2018a 1.67.0 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 1.67.0 -Python-3.6.6 foss/2018b, intel/2018b 1.70.0 gompi/2019a, gompic/2019a, iimpi/2019a, iimpic/2019a 1.71.0 gompi/2019b, gompic/2019b, iimpi/2019b, iimpic/2019b 1.72.0 gompi/2020a, gompic/2020a, iimpi/2020a 1.74.0 GCC/10.2.0 1.76.0 GCC/10.3.0 1.77.0 GCC/11.2.0 1.79.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#boost_histogram","title":"boost_histogram","text":"

                    Boost-histogram is a Python package providing Python bindings for Boost.Histogram.

                    homepage: https://boost-histogram.readthedocs.io

                    version toolchain 1.2.1 foss/2021a"},{"location":"version-specific/supported-software/#boto3","title":"boto3","text":"

                    Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python, which allows Python developers to write software that makes use of services like Amazon S3 and Amazon EC2.

                    homepage: https://github.com/boto/boto3

                    version toolchain 1.20.13 GCCcore/10.3.0, GCCcore/11.2.0 1.26.37 GCCcore/11.3.0 1.26.163 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#bottleneck","title":"Bottleneck","text":"

                    Fast NumPy array functions written in C

                    homepage: https://kwgoodman.github.io/bottleneck-doc

                    version versionsuffix toolchain 1.2.1 -Python-3.6.4 intel/2018a 1.3.2 -Python-3.8.2 foss/2020a 1.3.6 foss/2022a 1.3.7 foss/2022a"},{"location":"version-specific/supported-software/#bowtie","title":"Bowtie","text":"

                    Bowtie is an ultrafast, memory-efficient short read aligner. It aligns short DNA sequences (reads) to the human genome.

                    homepage: http://bowtie-bio.sourceforge.net/index.shtml

                    version toolchain 1.1.2 GCCcore/5.4.0, GCCcore/6.3.0, foss/2016a, intel/2016b, intel/2017a, intel/2018a 1.2.1.1 foss/2016b, intel/2017b 1.2.2 foss/2018b, intel/2017b, intel/2018a 1.2.3 GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281 1.3.0 GCC/10.2.0, GCC/9.3.0 1.3.1 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#bowtie2","title":"Bowtie2","text":"

                    Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes.

                    homepage: https://bowtie-bio.sourceforge.net/bowtie2/index.shtml

                    version toolchain 2.2.8 foss/2016a 2.2.9 foss/2016a, intel/2016b 2.3.2 foss/2016b, foss/2017a, intel/2017a 2.3.3.1 intel/2017b 2.3.4 intel/2017b 2.3.4.1 foss/2017b, intel/2017b, intel/2018a 2.3.4.2 foss/2018b, intel/2018b 2.3.4.3 foss/2017b 2.3.5.1 GCC/8.2.0-2.31.1, GCC/8.3.0, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281 2.4.1 GCC/9.3.0 2.4.2 GCC/10.2.0, GCC/9.3.0 2.4.4 GCC/10.3.0, GCC/11.2.0 2.4.5 GCC/11.3.0 2.5.1 GCC/12.2.0"},{"location":"version-specific/supported-software/#bpipe","title":"Bpipe","text":"

                    Bpipe - a tool for running and managing bioinformatics pipelines

                    homepage: http://docs.bpipe.org/

                    version toolchain 0.9.9.2 intel/2017a"},{"location":"version-specific/supported-software/#bpp","title":"bpp","text":"

                    The aim of this project is to implement a versatile high-performance version of the BPP software.

                    homepage: https://github.com/bpp/bpp

                    version toolchain 4.3.8 GCC/8.3.0 4.4.0 GCC/10.3.0"},{"location":"version-specific/supported-software/#bpytop","title":"bpytop","text":"

                    Resource monitor that shows usage and stats for processor, memory, disks, network and processes.

                    homepage: https://github.com/aristocratos/bpytop/

                    version toolchain 1.0.60 GCCcore/10.2.0 1.0.67 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#bracken","title":"Bracken","text":"

                    Bracken (Bayesian Reestimation of Abundance with KrakEN) is a highly accurate statistical method that computes the abundance of species in DNA sequences from a metagenomics sample. Braken uses the taxonomy labels assigned by Kraken, a highly accurate metagenomics classification algorithm, to estimate the number of reads originating from each species present in a sample. Kraken classifies reads to the best matching location in the taxonomic tree, but does not estimate abundances of species. We use the Kraken database itself to derive probabilities that describe how much sequence from each genome is identical to other genomes in the database, and combine this information with the assignments for a particular sample to estimate abundance at the species level, the genus level, or above. Combined with the Kraken classifier, Bracken produces accurate species- and genus-level abundance estimates even when a sample contains two or more near-identical species. NOTE: Bracken is compatible with both Kraken 1 and Kraken 2. However, the default kmer length is different depending on the version of Kraken used. If you use Kraken 1 defaults, specify 31 as the kmer length. If you use Kraken 2 defaults, specify 35 as the kmer length.

                    homepage: https://ccb.jhu.edu/software/bracken/

                    version toolchain 2.6.0 GCCcore/9.3.0 2.6.2 GCCcore/11.2.0 2.7 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#braindecode","title":"Braindecode","text":"

                    Braindecode is an open-source Python toolbox for decoding raw electrophysiological brain data with deep learning models. It includes dataset fetchers, data preprocessing and visualization tools, as well as implementations of several deep learning architectures and data augmentations for analysis of EEG, ECoG and MEG.

                    homepage: https://braindecode.org/

                    version versionsuffix toolchain 0.7 -PyTorch-1.10.0 foss/2021a 0.7 -PyTorch-1.10.0-CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#braker","title":"BRAKER","text":"

                    BRAKER is a pipeline for fully automated prediction of protein coding genes with GeneMark-ES/ET and AUGUSTUS in novel eukaryotic genomes.

                    homepage: https://github.com/Gaius-Augustus/BRAKER

                    version versionsuffix toolchain 2.1.2 intel/2019a 2.1.5 -Python-3.7.4 intel/2019b 2.1.6 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#breakdancer","title":"BreakDancer","text":"

                    BreakDancer is a Perl/C++ package that provides genome-wide detection of structural variants from next generation paired-end sequencing reads

                    homepage: http://gmt.genome.wustl.edu/packages/breakdancer

                    version toolchain 1.4.5 intel/2017a"},{"location":"version-specific/supported-software/#breseq","title":"breseq","text":"

                    breseq is a computational pipeline for the analysis of short-read re-sequencing data

                    homepage: https://barricklab.org/breseq

                    version versionsuffix toolchain 0.35.0 -R-3.6.0 intel/2019a 0.35.4 -R-4.0.0 foss/2020a 0.36.1 foss/2021b 0.38.1 foss/2022a"},{"location":"version-specific/supported-software/#brotli","title":"Brotli","text":"

                    Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression. The specification of the Brotli Compressed Data Format is defined in RFC 7932.

                    homepage: https://github.com/google/brotli

                    version toolchain 1.0.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#brotli-python","title":"Brotli-python","text":"

                    Brotli is a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling, with a compression ratio comparable to the best currently available general-purpose compression methods. It is similar in speed with deflate but offers more dense compression. The specification of the Brotli Compressed Data Format is defined in RFC 7932.

                    homepage: https://github.com/google/brotli

                    version toolchain 1.0.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#brunsli","title":"Brunsli","text":"

                    Brunsli is a lossless JPEG repacking library.

                    homepage: https://github.com/google/brunsli/

                    version toolchain 0.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#bsddb3","title":"bsddb3","text":"

                    bsddb3 is a nearly complete Python binding of the Oracle/Sleepycat C API for the Database Environment, Database, Cursor, Log Cursor, Sequence and Transaction objects.

                    homepage: https://pypi.org/project/bsddb3/

                    version versionsuffix toolchain 6.2.6 GCCcore/8.2.0 6.2.6 -Python-2.7.15 fosscuda/2018b 6.2.9 GCCcore/10.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#bsmapz","title":"BSMAPz","text":"

                    Updated and optimized fork of BSMAP. BSMAPz is a short reads mapping program for bisulfite sequencing in DNA methylation study.

                    homepage: https://github.com/zyndagj/BSMAPz

                    version versionsuffix toolchain 1.1.1 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#bsoft","title":"Bsoft","text":"

                    Bsoft is a collection of programs and a platform for development of software for image and molecular processing in structural biology. Problems in structural biology are approached with a highly modular design, allowing fast development of new algorithms without the burden of issues such as file I/O. It provides an easily accessible interface, a resource that can be and has been used in other packages.

                    homepage: https://lsbr.niams.nih.gov/bsoft/

                    version toolchain 2.0.2 foss/2017b 2.0.7 GCC/9.3.0"},{"location":"version-specific/supported-software/#bsseeker2","title":"BSseeker2","text":"

                    BS-Seeker2 is a seamless and versatile pipeline for accurately and fast mapping the bisulfite-treated reads.

                    homepage: http://pellegrini-legacy.mcdb.ucla.edu/bs_seeker2

                    version versionsuffix toolchain 2.1.8 -Python-2.7.16 GCC/8.3.0, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#buddy","title":"BuDDy","text":"

                    A Binary Decision Diagram library, with many highly efficient vectorized BDD operations, dynamic variable reordering, automated garbage collection, a C++ interface with automatic reference counting, and much more.

                    homepage: http://buddy.sourceforge.net/

                    version toolchain 2.4 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#bufrlib","title":"BUFRLIB","text":"

                    NCEP BUFRLIB software to encode or decode BUFR messages. It is not intended to be a primer on the BUFR code form itself.

                    homepage: https://www.emc.ncep.noaa.gov/index.php?branch=BUFRLIB

                    version toolchain 11.3.0.2 iccifort/2020.1.217"},{"location":"version-specific/supported-software/#build","title":"build","text":"

                    A simple, correct Python build frontend.

                    homepage: https://github.com/pypa/build

                    version toolchain 0.10.0 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#buildenv","title":"buildenv","text":"

                    This module sets a group of environment variables for compilers, linkers, maths libraries, etc., that you can use to easily transition between toolchains when building your software. To query the variables being set please use: module show

                    homepage: version versionsuffix toolchain default FCC/4.5.0, Fujitsu/21.05, foss/2017b, foss/2018b, foss/2019b, foss/2020a, foss/2020b, foss/2021a, foss/2021b, foss/2022a, foss/2022b, fosscuda/2019b, fosscuda/2020a, fosscuda/2020b, intel/2016b, intel/2017a, intel/2019b, intel/2020a, intel/2020b, intel/2021a, intel/2021b, intel/2022a, intel/2022b, intelcuda/2019b, intelcuda/2020a, intelcuda/2020b default -CUDA-11.3.1 foss/2021a default -CUDA-11.4.1 foss/2021b default -CUDA-11.7.0 foss/2022a default -CUDA-12.0.0 foss/2022b"},{"location":"version-specific/supported-software/#buildingspy","title":"buildingspy","text":"

                    Python modules for automating Modelica simulations and for running unit test for the Buildings library

                    homepage: https://simulationresearch.lbl.gov/modelica/buildingspy

                    version toolchain 4.0.0 foss/2022a"},{"location":"version-specific/supported-software/#bullet","title":"Bullet","text":"

                    Bullet professional 3D Game Multiphysics Library provides state of the art collision detection, soft body and rigid body dynamics.

                    homepage: http://bulletphysics.org/

                    version toolchain 2.83.7 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#busco","title":"BUSCO","text":"

                    BUSCO: assessing genome assembly and annotation completeness with single-copy orthologs

                    homepage: https://busco.ezlab.org/

                    version versionsuffix toolchain 1.22 -Python-2.7.13 intel/2017a 2.0.1 -Python-2.7.13 intel/2017a 3.0.2 -Python-2.7.15 intel/2018b 4.0.5 -Python-3.7.4 foss/2019b 4.0.6 foss/2020b 5.0.0 foss/2020b 5.1.2 foss/2020b 5.4.2 foss/2021a 5.4.3 foss/2021b 5.4.5 foss/2022a 5.4.7 foss/2022b"},{"location":"version-specific/supported-software/#bustools","title":"BUStools","text":"

                    bustools is a program for manipulating BUS files for single cell RNA-Seq datasets. It can be used to error correct barcodes, collapse UMIs, produce gene count or transcript compatibility count matrices, and is useful for many other tasks. See the kallisto | bustools website for examples and instructions on how to use bustools as part of a single-cell RNA-seq workflow.

                    homepage: https://github.com/BUStools/bustools

                    version toolchain 0.40.0 GCCcore/9.3.0, foss/2018b"},{"location":"version-specific/supported-software/#bwa","title":"BWA","text":"

                    Burrows-Wheeler Aligner (BWA) is an efficient program that aligns relatively short nucleotide sequences against a long reference sequence such as the human genome.

                    homepage: http://bio-bwa.sourceforge.net/

                    version toolchain 0.7.12 foss/2016b 0.7.13 foss/2016a, intel/2016a 0.7.15 GCCcore/5.4.0, GCCcore/6.4.0, foss/2016a, foss/2016b, intel/2016b, intel/2017a 0.7.16a foss/2016b, intel/2017a 0.7.17 GCC/10.2.0, GCC/10.3.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, foss/2017b, foss/2018a, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, iccifort/2020.4.304, intel/2017b, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#bwa-meth","title":"bwa-meth","text":"

                    Fast and accurante alignment of BS-Seq reads.

                    homepage: https://github.com/brentp/bwa-meth

                    version toolchain 0.2.2 iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281 0.2.6 GCC/11.3.0"},{"location":"version-specific/supported-software/#bwakit","title":"bwakit","text":"

                    Bwakit is a self-consistent installation-free package of scripts and precompiled binaries, providing an end-to-end solution to read mapping.

                    homepage: https://github.com/lh3/bwa/tree/master/bwakit

                    version versionsuffix toolchain 0.7.15 _x64-linux system"},{"location":"version-specific/supported-software/#bwidget","title":"bwidget","text":"

                    The BWidget Toolkit is a high-level Widget Set for Tcl/Tk built using native Tcl/Tk 8.x namespaces.

                    homepage: https://core.tcl-lang.org/bwidget/home

                    version toolchain 1.9.13 GCCcore/8.2.0 1.9.14 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.9.15 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#bwise","title":"BWISE","text":"

                    de Bruijn Workflow using Integral information of Short pair End reads

                    homepage: https://github.com/Malfoy/BWISE

                    version versionsuffix toolchain 20180820 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#bx-python","title":"bx-python","text":"

                    The bx-python project is a Python library and associated set of scripts to allow for rapid implementation of genome scale analyses.

                    homepage: https://github.com/bxlab/bx-python

                    version versionsuffix toolchain 0.7.4 -Python-2.7.12 foss/2016b 0.7.4 -Python-2.7.13 intel/2017a 0.8.1 -Python-2.7.14 intel/2018a 0.8.2 -Python-3.6.6 foss/2018b 0.8.4 foss/2019a 0.8.8 -Python-3.7.4 foss/2019b 0.8.9 -Python-3.8.2 foss/2020a 0.8.11 foss/2021a 0.8.13 foss/2021b 0.9.0 foss/2022a"},{"location":"version-specific/supported-software/#bxh_xcede_tools","title":"BXH_XCEDE_TOOLS","text":"

                    A collection of data processing and image analysis tools for data in BXH or XCEDE format. This includes data format encapsulation/conversion, event-related analysis, QA tools, and more. These tools form the basis of the fBIRN QA procedures and are also distributed as part of the fBIRN Data Upload Scripts.

                    homepage: http://www.nitrc.org/projects/bxh_xcede_tools/

                    version toolchain 1.11.1 system"},{"location":"version-specific/supported-software/#byacc","title":"byacc","text":"

                    Berkeley Yacc (byacc) is generally conceded to be the best yacc variant available. In contrast to bison, it is written to avoid dependencies upon a particular compiler.

                    homepage: http://invisible-island.net/byacc/byacc.html

                    version toolchain 20160324 intel/2016a 20160606 foss/2016b, intel/2016b 20170709 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#byobu","title":"byobu","text":"

                    Byobu is an elegant enhancement of the otherwise functional, plain, practical GNU Screen. Byobu includes an enhanced profile, configuration utilities, and system status notifications for the GNU screen window manager as well as the Tmux terminal multiplexer

                    homepage: https://byobu.org

                    version toolchain 5.133 GCC/8.3.0"},{"location":"version-specific/supported-software/#bzip2","title":"bzip2","text":"

                    bzip2 is a freely available, patent free, high-quality data compressor. It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.

                    homepage: https://sourceware.org/bzip2

                    version toolchain 1.0.6 GCC/4.8.1, GCC/4.8.2, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 1.0.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/8.3.0, GCCcore/9.3.0, system"},{"location":"version-specific/supported-software/#c","title":"C","text":"

                    c-ares - C3D - cadaver - CaDiCaL - CAFE5 - Caffe - cairo - cairomm - Calcam - CalculiX-CrunchiX - Calendrical - Calib - CAMPARI - Cantera - canu - Canvas - CAP3 - CapnProto - captum - Cargo - Carma - carputils - Cartopy - CASA - casacore - Casanovo - CaSpER - CASPR - CASTEP - CastXML - CAT-BAT - Catch2 - category_encoders - CatLearn - CatMAP - causallift - causalml - CaVEMan - CAVIAR - Cbc - CBLAS - ccache - CCfits - CCL - cclib - cctbx-base - cctools - CD-HIT - CDAT - cdbfasta - CDBtools - cddlib - CDFlib - cDNA_Cupcake - CDO - cdo-bindings - cdsapi - cell2location - CellChat - CellMix - CellOracle - Cellpose - CellRanger - CellRanger-ARC - CellRanger-ATAC - CellRank - CellTypist - Centrifuge - Cereal - CESM-deps - CFDEMcoupling - CFITSIO - cftime - CGAL - cget - Cgl - CGmapTools - CGNS - CharLS - CHASE - Check - CheckM - CheckM-Database - Cheetah - Chemaxon-Marvin - chemprop - CheMPS2 - CHERAB - chewBBACA - chi2comb - Chimera - ChimPipe - Chromaprint - cicero - CIF2Cell - cimfomfa - CIRCexplorer - CIRCexplorer2 - Circos - Circuitscape - CIRI - CIRI-long - cisTEM - CITE-seq-Count - Clang - Clang-AOMP - Clang-Python-bindings - CLAPACK - CLEASE - CLHEP - CliMetLab - CLIP - CLISP - ClonalFrameML - CLooG - CloudCompare - Clp - Clustal-Omega - ClustalW2 - Cluster-Buster - ClusterShell - CMake - CMAverse - CmdStanR - cmocean - CMSeq - CNT-ILP - CNVkit - CNVnator - Co-phylog - COBRApy - CoCoALib - CodAn - code-server - CODEX2 - CodingQuarry - Cogent - Coin - CoinUtils - ColabFold - colossalai - Commet - CompareM - Compress-Raw-Zlib - COMSOL - Con3F - conan - CONCOCT - configparser - configurable-http-proxy - CONN - ConnectomeWorkbench - Control-FREEC - cooler - CoordgenLibs - Coot - CopyKAT - core-counter - Coreutils - corner - CoSymLib - coverage - cowsay - CP2K - CPB - CPC2 - CPLEX - CPPE - CppHeaderParser - CppUnit - cppy - cppzmq - cpu_features - cram - cramtools - CrayCCE - CrayGNU - CrayIntel - CrayPGI - crb-blast - CREST - CRF++ - CRISPR-DAV - CRISPResso2 - cromwell - crossguid - CrossMap - CrossTalkZ - CRPropa - Crumble - cryoCARE - cryoDRGN - CryptoMiniSat - CrystFEL - CSB - CSBDeep - CSBLAST - cscope - csvkit - ctags - ctffind - CTPL - Cube - CubeGUI - CubeLib - CubeWriter - CuCLARK - CUDA - CUDA-Samples - CUDAcompat - CUDAcore - cuDNN - Cufflinks - CUnit - CuPy - cURL - cuSPARSELt - custodian - cutadapt - cuTENSOR - cuteSV - CVS - CVXOPT - CVXPY - CWIPI - cwltool - cxxopts - cysignals - Cython - cython-blis - cytoolz - Cytoscape - cytosim - cyvcf2

                    "},{"location":"version-specific/supported-software/#c-ares","title":"c-ares","text":"

                    c-ares is a C library for asynchronous DNS requests (including name resolves)

                    homepage: https://c-ares.org/

                    version toolchain 1.17.2 GCCcore/10.2.0, GCCcore/10.3.0 1.18.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#c3d","title":"C3D","text":"

                    Convert3D Medical Image Processing Tool

                    homepage: https://sourceforge.net/projects/c3d/

                    version toolchain 1.0.0 system"},{"location":"version-specific/supported-software/#cadaver","title":"cadaver","text":"

                    cadaver is a command-line WebDAV client for Unix.

                    homepage: http://www.webdav.org/cadaver/

                    version toolchain 0.23.3 intel/2017a"},{"location":"version-specific/supported-software/#cadical","title":"CaDiCaL","text":"

                    CaDiCaL is a simplified satisfiability solver. The original goal of the development of CaDiCaL was to obtain a CDCL solver, which is easy to understand and change, while at the same time not being much slower than other state-of-the-art CDCL solvers.

                    homepage: https://github.com/arminbiere/cadical

                    version toolchain 1.3.0 GCC/9.3.0"},{"location":"version-specific/supported-software/#cafe5","title":"CAFE5","text":"

                    Software for Computational Analysis of gene Family Evolution The purpose of CAFE is to analyze changes in gene family size in a way that accounts for phylogenetic history and provides a statistical foundation for evolutionary inferences. The program uses a birth and death process to model gene gain and loss across a user-specified phylogenetic tree. The distribution of family sizes generated under this model can provide a basis for assessing the significance of the observed family size differences among taxa.

                    homepage: https://github.com/hahnlab/CAFE5

                    version toolchain 5.0.0 GCC/10.2.0"},{"location":"version-specific/supported-software/#caffe","title":"Caffe","text":"

                    Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by the Berkeley Vision and Learning Center (BVLC) and community contributors.

                    homepage: https://github.com/BVLC/caffe

                    version versionsuffix toolchain 1.0 -CUDA-9.1.85-Python-2.7.14 intel/2017b 1.0 -Python-2.7.13 intel/2017a 1.0 -Python-2.7.14 intel/2017b rc3 -CUDA-7.5.18-Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#cairo","title":"cairo","text":"

                    Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB

                    homepage: https://cairographics.org

                    version versionsuffix toolchain 1.14.6 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.14.6 -GLib-2.48.0 foss/2016a, intel/2016a 1.14.8 intel/2017a 1.14.10 GCCcore/6.3.0, GCCcore/6.4.0, intel/2017b 1.14.12 GCCcore/6.4.0, GCCcore/7.3.0 1.16.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.17.4 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cairomm","title":"cairomm","text":"

                    The Cairomm package provides a C++ interface to Cairo.

                    homepage: http://cairographics.org

                    version toolchain 1.12.2 GCCcore/6.4.0, GCCcore/7.3.0"},{"location":"version-specific/supported-software/#calcam","title":"Calcam","text":"

                    Calcam is a Python package providing tools for spatial calibration of cameras, i.e. determining the mapping between pixel coordinates in an image and real-world 3D sight lines & coordinates.

                    homepage: https://euratom-software.github.io/calcam

                    version versionsuffix toolchain 2.1.0 -Python-2.7.14 intel/2018a 2.1.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#calculix-crunchix","title":"CalculiX-CrunchiX","text":"

                    A Free Software Three-Dimensional Structural Finite Element Program

                    homepage: http://www.calculix.de

                    version toolchain 2.20 foss/2021a"},{"location":"version-specific/supported-software/#calendrical","title":"Calendrical","text":"

                    Calendrical module is for calendrical calculations.

                    homepage: https://www.funaba.org/code#calendrical

                    version versionsuffix toolchain 2.0.1 -Python-3.6.3 intel/2017b 2.0.2a -Python-3.6.4 intel/2018a 2.0.2a -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#calib","title":"Calib","text":"

                    Calib clusters paired-end reads using their barcodes and sequences. Calib is suitable for amplicon sequencing where a molecule is tagged, then PCR amplified with high depth, also known as Unique Molecule Identifier (UMI) sequencing.

                    homepage: https://github.com/vpc-ccg/calib

                    version toolchain 0.3.4 GCC/9.3.0"},{"location":"version-specific/supported-software/#campari","title":"CAMPARI","text":"

                    CAMPARI is a joint package for performing and analyzing molecular simulations, in particular of systems of biological relevance. It focuses on a wide availability of algorithms for (advanced) sampling and is capable of combining Monte Carlo and molecular dynamics in seamless fashion.

                    homepage: http://campari.sourceforge.net/V4/index.html

                    version toolchain 4.0 intel/2020b"},{"location":"version-specific/supported-software/#cantera","title":"Cantera","text":"

                    Chemical kinetics, thermodynamics, and transport tool suite

                    homepage: https://github.com/Cantera/cantera

                    version versionsuffix toolchain 2.2.1 -Python-2.7.12 intel/2016b 2.3.0 -Python-2.7.12 foss/2016b, intel/2016b 2.3.0 -Python-2.7.13 intel/2017a 2.3.0 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 2.4.0 -Python-2.7.14 intel/2018a 2.6.0 foss/2022a"},{"location":"version-specific/supported-software/#canu","title":"canu","text":"

                    Canu is a fork of the Celera Assembler designed for high-noise single-molecule sequencing

                    homepage: https://canu.readthedocs.io

                    version versionsuffix toolchain 1.4 foss/2016b 1.7 intel/2018a 1.8 -Perl-5.26.0 foss/2017b, intel/2017b 1.8 -Perl-5.28.0 foss/2018b 1.8 -Perl-5.28.1 GCCcore/8.2.0 1.9 -Java-11 GCCcore/8.3.0 2.1.1 GCCcore/10.2.0 2.1.1 -Java-11 GCCcore/9.3.0 2.2 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 2.2 -Java-11 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#canvas","title":"Canvas","text":"

                    Copy number variant (CNV) calling from DNA sequencing data

                    homepage: https://github.com/Illumina/canvas

                    version toolchain 1.39.0.1598 system"},{"location":"version-specific/supported-software/#cap3","title":"CAP3","text":"

                    CAP3 assembly program

                    homepage: http://seq.cs.iastate.edu/

                    version toolchain 20071221-intel-x86 system 20071221-intel-x86_64 system 20071221-opteron system"},{"location":"version-specific/supported-software/#capnproto","title":"CapnProto","text":"

                    Cap\u2019n Proto is an insanely fast data interchange format and capability-based RPC system.

                    homepage: https://capnproto.org

                    version toolchain 0.6.1 GCCcore/6.4.0 0.7.0 GCCcore/7.3.0 0.8.0 GCCcore/9.3.0 0.9.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 0.10.2 GCCcore/11.3.0 0.10.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#captum","title":"captum","text":"

                    Captum is a model interpretability and understanding library for PyTorch. Captum means comprehension in Latin and contains general purpose implementations of integrated gradients, saliency maps, smoothgrad, vargrad and others for PyTorch models. It has quick integration for models built with domain-specific libraries such as torchvision, torchtext, and others.

                    homepage: https://captum.ai/

                    version versionsuffix toolchain 0.5.0 foss/2022a 0.5.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#cargo","title":"Cargo","text":"

                    The Rust package manager

                    homepage: https://crates.io/

                    version toolchain 0.13.0 foss/2016b"},{"location":"version-specific/supported-software/#carma","title":"Carma","text":"

                    Carma - A molecular dynamics analysis program

                    homepage: http://utopia.duth.gr/~glykos/Carma.html

                    version toolchain 2.01 foss/2019b"},{"location":"version-specific/supported-software/#carputils","title":"carputils","text":"

                    carputils is a Python framework for generating and running openCARP examples.

                    homepage: https://git.opencarp.org/openCARP/carputils

                    version versionsuffix toolchain 20200915 -Python-3.8.2 foss/2020a 20210513 foss/2020b"},{"location":"version-specific/supported-software/#cartopy","title":"Cartopy","text":"

                    Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy.

                    homepage: https://scitools.org.uk/cartopy/docs/latest/

                    version versionsuffix toolchain 0.18.0 -Python-3.7.4 foss/2019b 0.18.0 -Python-3.8.2 foss/2020a 0.19.0.post1 foss/2020b, intel/2020b 0.20.0 foss/2021a 0.20.3 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#casa","title":"CASA","text":"

                    CASA, the Common Astronomy Software Applications package, is the primary data processing software for the Atacama Large Millimeter/submillimeter Array (ALMA) and NSF's Karl G. Jansky Very Large Array (VLA), and is frequently used also for other radio telescopes. The CASA software can process data from both single-dish and aperture-synthesis telescopes, and one of its core functionalities is to support the data reduction and imaging pipelines for ALMA, VLA and the VLA Sky Survey (VLASS).

                    homepage: https://casa.nrao.edu/

                    version versionsuffix toolchain 6.5.5-21 -py3.8 system"},{"location":"version-specific/supported-software/#casacore","title":"casacore","text":"

                    A suite of C++ libraries for radio astronomy data processing. The ephemerides data needs to be in DATA_DIR and the location must be specified at runtime. Thus user's can update them.

                    homepage: https://github.com/casacore/casacore

                    version toolchain 3.4.0 foss/2021b"},{"location":"version-specific/supported-software/#casanovo","title":"Casanovo","text":"

                    De Novo Mass Spectrometry Peptide Sequencing with a Transformer Model

                    homepage: https://casanovo.readthedocs.io

                    version versionsuffix toolchain 3.3.0 foss/2022a 3.3.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#casper","title":"CaSpER","text":"

                    CaSpER is a signal processing approach for identification, visualization, and integrative analysis of focal and large-scale CNV events in multiscale resolution using either bulk or single-cell RNA sequencing data.

                    homepage: https://github.com/akdess/CaSpER

                    version toolchain 2.0 foss/2019b"},{"location":"version-specific/supported-software/#caspr","title":"CASPR","text":"

                    Running CASPR is extremely easy and convenient to analyze CRIPR-Cas9 screens using pgRNAs.

                    homepage: https://judithbergada.github.io/CASPR

                    version toolchain 20200730 foss/2022a"},{"location":"version-specific/supported-software/#castep","title":"CASTEP","text":"

                    CASTEP is an electronic structure materials modelling code based on density functional theory (DFT), with functionality including geometry optimization molecular dynamics, phonons, NMR chemical shifts and much more.

                    homepage: http://www.castep.org

                    version toolchain 21.1.1 CrayCCE/19.06, CrayGNU/19.06, foss/2019b, intel/2019b, iomkl/2019b 22.11 foss/2022a"},{"location":"version-specific/supported-software/#castxml","title":"CastXML","text":"

                    CastXML is a C-family abstract syntax tree XML output tool.

                    homepage: https://github.com/CastXML/CastXML

                    version toolchain 0.4.3 GCCcore/8.3.0 20160617 foss/2016a 20180806 foss/2018a"},{"location":"version-specific/supported-software/#cat-bat","title":"CAT-BAT","text":"

                    Tool for taxonomic classification of contigs and metagenome-assembled genomes (MAGs).

                    homepage: https://github.com/dutilh/CAT

                    version toolchain 5.2.3 GCC/10.3.0"},{"location":"version-specific/supported-software/#catch2","title":"Catch2","text":"

                    A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later (or C++03 on the Catch1.x branch)

                    homepage: https://github.com/catchorg/Catch2

                    version toolchain 2.9.1 system 2.11.0 system 2.13.4 system"},{"location":"version-specific/supported-software/#category_encoders","title":"category_encoders","text":"

                    A set of scikit-learn-style transformers for encoding categorical variables into numeric by means of different techniques.

                    homepage: https://github.com/scikit-learn-contrib/category_encoders

                    version toolchain 2.4.1 foss/2021b"},{"location":"version-specific/supported-software/#catlearn","title":"CatLearn","text":"

                    An environment for atomistic machine learning in Python for applications in catalysis

                    homepage: https://catlearn.readthedocs.io

                    version toolchain 0.6.2 intel/2022a"},{"location":"version-specific/supported-software/#catmap","title":"CatMAP","text":"

                    Catalyst Micro-kinetic Analysis Package for automated creation of micro-kinetic models used in catalyst screening.

                    homepage: https://catmap.readthedocs.io

                    version versionsuffix toolchain 20170927 -Python-2.7.14 intel/2017b 20220519 foss/2022a"},{"location":"version-specific/supported-software/#causallift","title":"causallift","text":"

                    CausalLift: Python package for Uplift Modeling in real-world business; applicable for both A/B testing and observational data

                    homepage: https://github.com/Minyus/causallift

                    version versionsuffix toolchain 1.0.6 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#causalml","title":"causalml","text":"

                    Causal ML: A Python Package for Uplift Modeling and Causal Inference with ML

                    homepage: https://github.com/uber/causalml

                    version versionsuffix toolchain 0.3.0-20180610 -Python-3.7.2 foss/2019a 0.8.0-20200909 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#caveman","title":"CaVEMan","text":"

                    SNV expectation maximisation based mutation calling algorithm aimed at detecting somatic mutations in paired (tumour/normal) cancer samples. Supports both bam and cram format via htslib

                    homepage: http://cancerit.github.io/CaVEMan/

                    version toolchain 1.13.2 foss/2018a"},{"location":"version-specific/supported-software/#caviar","title":"CAVIAR","text":"

                    CAusal Variants Identication in Associated Regions. A statistical framework that quantifies the probability of each variant to be causal while allowing an arbitrary number of causal variants.

                    homepage: https://github.com/fhormoz/caviar

                    version toolchain 2.2-20190419 foss/2019b"},{"location":"version-specific/supported-software/#cbc","title":"Cbc","text":"

                    Cbc (Coin-or branch and cut) is an open-source mixed integer linear programming solver written in C++. It can be used as a callable library or using a stand-alone executable.

                    homepage: https://github.com/coin-or/Cbc

                    version toolchain 2.10.3 foss/2018b 2.10.5 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#cblas","title":"CBLAS","text":"

                    C interface to the BLAS

                    homepage: https://www.netlib.org/blas/

                    version toolchain 20110120 foss/2016b, intel/2019b, intel/2020a"},{"location":"version-specific/supported-software/#ccache","title":"ccache","text":"

                    Ccache (or \u201cccache\u201d) is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again

                    homepage: https://ccache.dev/

                    version versionsuffix toolchain 3.2.5 system 3.3.1 system 3.3.3 system 3.3.4 -f90 system 3.7.11 system 4.2.1 system 4.6.1 GCCcore/11.2.0 4.6.3 GCCcore/11.3.0, system"},{"location":"version-specific/supported-software/#ccfits","title":"CCfits","text":"

                    CCfits is an object oriented interface to the cfitsio library. It is designed to make the capabilities of cfitsio available to programmers working in C++.

                    homepage: https://heasarc.gsfc.nasa.gov/fitsio/CCfits/

                    version toolchain 2.5 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#ccl","title":"CCL","text":"

                    Clozure CL (often called CCL for short) is a free Common Lisp implementation with a long history. Some distinguishing features of the implementation include fast compilation speed, native threads, a precise, generational, compacting garbage collector, and a convenient foreign-function interface.

                    homepage: https://ccl.clozure.com/

                    version toolchain 1.11.5 system 1.12 GCCcore/9.3.0 1.12.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#cclib","title":"cclib","text":"

                    cclib is a Python library that provides parsers for computational chemistry log files. It also provides a platform to implement algorithms in a package-independent manner.

                    homepage: https://cclib.github.io/

                    version versionsuffix toolchain 1.5 -Python-3.5.2 foss/2016b 1.6.3 -Python-3.8.2 foss/2020a, intel/2020a 1.7.2 foss/2021b"},{"location":"version-specific/supported-software/#cctbx-base","title":"cctbx-base","text":"

                    The Computational Crystallography Toolbox (cctbx) is being developed as the open source component of the Phenix project. The goal of the Phenix project is to advance automation of macromolecular structure determination. Phenix depends on the cctbx, but not vice versa. This hierarchical approach enforces a clean design as a reusable library. The cctbx is therefore also useful for small-molecule crystallography and even general scientific applications.

                    homepage: https://github.com/cctbx/cctbx_project

                    version toolchain 2020.8 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#cctools","title":"cctools","text":"

                    The Cooperating Computing Tools (CCTools) help you to design and deploy scalable applications that run on hundreds or thousands of machines at once.

                    homepage: https://ccl.cse.nd.edu/

                    version toolchain 7.0.22 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#cd-hit","title":"CD-HIT","text":"

                    CD-HIT is a very widely used program for clustering and comparing protein or nucleotide sequences.

                    homepage: https://github.com/weizhongli/cdhit

                    version versionsuffix toolchain 4.6.4 -2015-0603 GNU/4.9.3-2.25 4.6.6 foss/2016b 4.6.8 foss/2018b, intel/2017a, intel/2018a 4.8.1 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCC/8.3.0, GCC/9.3.0, foss/2018b, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#cdat","title":"CDAT","text":"

                    CDAT is a powerful and complete front-end to a rich set of visual-data exploration and analysis capabilities well suited for data analysis problems.

                    homepage: https://github.com/CDAT/cdat

                    version versionsuffix toolchain 8.2.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#cdbfasta","title":"cdbfasta","text":"

                    Fasta file indexing and retrival tool

                    homepage: https://sourceforge.net/projects/cdbfasta

                    version toolchain 0.99 GCC/8.3.0, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#cdbtools","title":"CDBtools","text":"

                    CDB (Constant DataBase) indexing and retrieval tools for FASTA files

                    homepage: http://compbio.dfci.harvard.edu/tgi

                    version toolchain 0.99 GCC/10.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#cddlib","title":"cddlib","text":"

                    An efficient implementation of the Double Description Method

                    homepage: https://github.com/cddlib/cddlib

                    version toolchain 0.94i GCCcore/8.2.0 0.94j GCCcore/8.3.0"},{"location":"version-specific/supported-software/#cdflib","title":"CDFlib","text":"

                    cdflib is a python module to read/write CDF (Common Data Format .cdf) files without needing to install the CDF NASA library.

                    homepage: https://github.com/MAVENSDC/cdflib

                    version toolchain 0.4.9 foss/2022a"},{"location":"version-specific/supported-software/#cdna_cupcake","title":"cDNA_Cupcake","text":"

                    cDNA_Cupcake is a miscellaneous collection of Python and R scripts used for analyzing sequencing data.

                    homepage: https://github.com/Magdoll/cDNA_Cupcake

                    version versionsuffix toolchain 5.8 -Python-2.7.14 intel/2018a 24.2.0 -Python-3.8.2 foss/2020a 26.0.0 foss/2021a"},{"location":"version-specific/supported-software/#cdo","title":"CDO","text":"

                    CDO is a collection of command line Operators to manipulate and analyse Climate and NWP model Data.

                    homepage: https://code.zmaw.de/projects/cdo

                    version toolchain 1.7.2 intel/2016b 1.8.1 intel/2017a 1.9.1 intel/2017b 1.9.2 intel/2017b 1.9.5 intel/2018a, intel/2018b, iomkl/2018b 1.9.8 intel/2019b 1.9.10 gompi/2019b, gompi/2020b, gompi/2021a, iimpi/2021b 2.0.5 gompi/2021b 2.0.6 gompi/2022a 2.1.1 gompi/2021a"},{"location":"version-specific/supported-software/#cdo-bindings","title":"cdo-bindings","text":"

                    Python interface to CDO.

                    homepage: https://github.com/Try2Code/cdo-bindings

                    version toolchain 1.5.7 foss/2021b"},{"location":"version-specific/supported-software/#cdsapi","title":"cdsapi","text":"

                    Climate Data Store API

                    homepage: https://pypi.org/project/cdsapi

                    version versionsuffix toolchain 0.1.4 foss/2019a 0.1.4 -Python-3.6.6 foss/2018b 0.3.0 GCCcore/9.3.0 0.5.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cell2location","title":"cell2location","text":"

                    Comprehensive mapping of tissue cell architecture via integrated single cell and spatial transcriptomics (cell2location model)

                    homepage: https://github.com/BayraktarLab/cell2location/

                    version toolchain 0.05-alpha fosscuda/2020b"},{"location":"version-specific/supported-software/#cellchat","title":"CellChat","text":"

                    \" R toolkit for inference, visualization and analysis of cell-cell communication from single-cell data

                    homepage: https://github.com/sqjin/CellChat

                    version toolchain 1.5.0 foss/2022a"},{"location":"version-specific/supported-software/#cellmix","title":"CellMix","text":"

                    A Comprehensive Toolbox for Gene Expression Deconvolution

                    homepage: http://web.cbio.uct.ac.za/~renaud/CRAN/web/CellMix

                    version versionsuffix toolchain 1.6.2 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#celloracle","title":"CellOracle","text":"

                    CellOracle is a Python library for in silico gene perturbation analyses using single-cell omics data and Gene Regulatory Network models.

                    homepage: https://github.com/morris-lab/CellOracle

                    version toolchain 0.12.0 foss/2022a"},{"location":"version-specific/supported-software/#cellpose","title":"Cellpose","text":"

                    a generalist algorithm for cellular segmentation

                    homepage: https://www.cellpose.org

                    version versionsuffix toolchain 0.6.5 foss/2020b, fosscuda/2020b 2.2.2 foss/2022a 2.2.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#cellranger","title":"CellRanger","text":"

                    Cell Ranger is a set of analysis pipelines that process Chromium single-cell RNA-seq output to align reads, generate gene-cell matrices and perform clustering and gene expression analysis.

                    homepage: https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger

                    version toolchain 3.0.0 system 3.0.2 system 3.1.0 system 4.0.0 system 5.0.0 system 5.0.1 system 6.0.0 system 6.0.1 system 6.0.2 system 6.1.2 system 7.0.0 system 7.1.0 system"},{"location":"version-specific/supported-software/#cellranger-arc","title":"CellRanger-ARC","text":"

                    Cell Ranger ARC is a set of analysis pipelines that process Chromium Single Cell Multiome ATAC + Gene Expression sequencing data to generate a variety of analyses pertaining to gene expression, chromatin accessibility and their linkage. Furthermore, since the ATAC and gene expression measurements are on the very same cell, we are able to perform analyses that link chromatin accessibility and gene expression.

                    homepage: https://support.10xgenomics.com/single-cell-multiome-atac-gex/software/pipelines/latest/what-is-cell-ranger-arc

                    version toolchain 1.0.1 system 2.0.0 system 2.0.1 system"},{"location":"version-specific/supported-software/#cellranger-atac","title":"CellRanger-ATAC","text":"

                    Cell Ranger ATAC is a set of analysis pipelines that process Chromium Single Cell ATAC data.

                    homepage: https://support.10xgenomics.com/single-cell-atac/software/pipelines/latest/what-is-cell-ranger-atac

                    version toolchain 1.2.0 system 2.0.0 system 2.1.0 system"},{"location":"version-specific/supported-software/#cellrank","title":"CellRank","text":"

                    CellRank is a toolkit to uncover cellular dynamics based on Markov state modeling of single-cell data. It contains two main modules: kernels compute cell-cell transition probabilities and estimators generate hypothesis based on these.

                    homepage: https://cellrank.readthedocs.io/en/stable/

                    version toolchain 1.4.0 foss/2021a"},{"location":"version-specific/supported-software/#celltypist","title":"CellTypist","text":"

                    A tool for semi-automatic cell type annotation

                    homepage: https://www.celltypist.org/

                    version toolchain 1.0.0 foss/2021b"},{"location":"version-specific/supported-software/#centrifuge","title":"Centrifuge","text":"

                    Classifier for metagenomic sequences

                    homepage: https://ccb.jhu.edu/software/centrifuge

                    version toolchain 1.0.3 foss/2018b 1.0.4 gompi/2020b, gompi/2021a 1.0.4-beta foss/2018b, gompi/2020a"},{"location":"version-specific/supported-software/#cereal","title":"Cereal","text":"

                    cereal is a header-only C++11 serialization library. cereal takes arbitrary data types and reversibly turns them into different representations, such as compact binary encodings, XML, or JSON. cereal was designed to be fast, light-weight, and easy to extend - it has no external dependencies and can be easily bundled with other code or used standalone.

                    homepage: https://uscilab.github.io/cereal/

                    version toolchain 1.3.0 system 1.3.2 system"},{"location":"version-specific/supported-software/#cesm-deps","title":"CESM-deps","text":"

                    CESM is a fully-coupled, community, global climate model that provides state-of-the-art computer simulations of the Earth's past, present, and future climate states.

                    homepage: https://www.cesm.ucar.edu/models/cesm2/

                    version toolchain 2 foss/2018b, foss/2021b, intel/2018b, iomkl/2018b"},{"location":"version-specific/supported-software/#cfdemcoupling","title":"CFDEMcoupling","text":"

                    CFDEMcoupling is an open source CFD-DEM engine. It provides the possibility to couple the DEM engine LIGGGHTS to a CFD framework.

                    homepage: https://www.cfdem.com/cfdemrcoupling-open-source-cfd-dem-framework

                    version toolchain 3.8.0 foss/2018a"},{"location":"version-specific/supported-software/#cfitsio","title":"CFITSIO","text":"

                    CFITSIO is a library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data format.

                    homepage: https://heasarc.gsfc.nasa.gov/fitsio/

                    version toolchain 3.38 foss/2016a, intel/2016a 3.41 GCCcore/5.4.0, GCCcore/6.3.0, intel/2016b 3.42 GCCcore/6.4.0, intel/2017b 3.45 GCCcore/7.3.0, intel/2018b 3.47 GCCcore/8.2.0, GCCcore/8.3.0 3.48 GCCcore/9.3.0 3.49 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 4.2.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cftime","title":"cftime","text":"

                    Time-handling functionality from netcdf4-python

                    homepage: https://github.com/Unidata/cftime

                    version versionsuffix toolchain 1.0.0 -Python-3.6.4 intel/2018a 1.0.0b1 -Python-3.6.2 foss/2017b 1.0.1 -Python-2.7.15 intel/2018b 1.0.1 -Python-3.6.6 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#cgal","title":"CGAL","text":"

                    The goal of the CGAL Open Source Project is to provide easy access to efficient and reliable geometric algorithms in the form of a C++ library.

                    homepage: https://www.cgal.org/

                    version versionsuffix toolchain 4.8 -Python-2.7.11 foss/2016a, intel/2016a 4.8.1 foss/2016b, intel/2016b 4.8.1 -Python-2.7.12 foss/2016b, intel/2016b 4.9 -Python-2.7.12 intel/2016b 4.9 -Python-2.7.13 intel/2017a 4.11 -Python-2.7.13 intel/2017a 4.11 -Python-2.7.14 foss/2017b, intel/2017b 4.11 -Python-3.6.3 foss/2017b, intel/2017b 4.11.1 -Python-2.7.14 foss/2018a, intel/2018a 4.11.1 -Python-2.7.15 foss/2018b 4.11.1 -Python-3.6.4 foss/2018a 4.11.1 -Python-3.6.6 foss/2018b 4.14 -Python-3.7.2 foss/2019a, intel/2019a 4.14.1 -Python-3.7.4 foss/2019b, intel/2019b 4.14.3 gompi/2021a, gompi/2021b, gompi/2022a, iimpi/2021a 4.14.3 -Python-3.8.2 gompi/2020a, iimpi/2020a 5.2 gompi/2020b"},{"location":"version-specific/supported-software/#cget","title":"cget","text":"

                    Cmake package retrieval. This can be used to download and install cmake packages

                    homepage: https://cget.readthedocs.io/en/latest/index.html

                    version versionsuffix toolchain 0.1.6 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#cgl","title":"Cgl","text":"

                    The COIN-OR Cut Generation Library (Cgl) is a collection of cut generators that can be used with other COIN-OR packages that make use of cuts, such as, among others, the linear solver Clp or the mixed integer linear programming solvers Cbc or BCP. Cgl uses the abstract class OsiSolverInterface (see Osi) to use or communicate with a solver. It does not directly call a solver.

                    homepage: https://github.com/coin-or/Cgl

                    version toolchain 0.60.2 foss/2018b 0.60.3 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#cgmaptools","title":"CGmapTools","text":"

                    Command-line Toolset for Bisulfite Sequencing Data Analysis

                    homepage: https://cgmaptools.github.io/

                    version toolchain 0.1.2 intel/2019b"},{"location":"version-specific/supported-software/#cgns","title":"CGNS","text":"

                    The CGNS system is designed to facilitate the exchange of data between sites and applications, and to help stabilize the archiving of aerodynamic data.

                    homepage: https://cgns.github.io/

                    version toolchain 3.3.1 foss/2016b 4.1.0 intelcuda/2019b"},{"location":"version-specific/supported-software/#charls","title":"CharLS","text":"

                    CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000 compression ratios.

                    homepage: https://github.com/team-charls/charls

                    version toolchain 2.0.0 GCCcore/6.4.0, GCCcore/7.3.0 2.1.0 GCCcore/8.2.0, GCCcore/8.3.0 2.2.0 GCCcore/10.2.0 2.3.4 GCCcore/10.3.0 2.4.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#chase","title":"CHASE","text":"

                    Case-control HAplotype Sharing analyses. Haplotype sharing analyses for genome-wide association studies.

                    homepage: http://people.duke.edu/~asallen/Software.html

                    version toolchain 20130626 system"},{"location":"version-specific/supported-software/#check","title":"Check","text":"

                    Check is a unit testing framework for C. It features a simple interface for defining unit tests, putting little in the way of the developer. Tests are run in a separate address space, so both assertion failures and code errors that cause segmentation faults or other signals can be caught. Test results are reportable in the following: Subunit, TAP, XML, and a generic logging format.

                    homepage: https://libcheck.github.io/check/

                    version toolchain 0.12.0 GCCcore/6.4.0 0.15.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#checkm","title":"CheckM","text":"

                    CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, single cells, or metagenomes.

                    homepage: https://github.com/Ecogenomics/CheckM

                    version versionsuffix toolchain 1.0.13 -Python-2.7.14 foss/2017b, intel/2017b 1.0.13 -Python-2.7.15 foss/2018b 1.0.13 -Python-3.6.3 foss/2017b, intel/2017b 1.0.18 -Python-2.7.15 foss/2019a 1.0.18 -Python-2.7.18 foss/2020b 1.1.2 -Python-3.7.4 foss/2019b, intel/2019b 1.1.3 foss/2021a, foss/2021b 1.1.3 -Python-3.8.2 intel/2020a 1.2.2 foss/2022a"},{"location":"version-specific/supported-software/#checkm-database","title":"CheckM-Database","text":"

                    CheckM provides a set of tools for assessing the quality of genomes recovered from isolates, single cells, or metagenomes. This is the corresponding database.

                    homepage: https://github.com/Ecogenomics/CheckM

                    version toolchain 2015_01_16 system"},{"location":"version-specific/supported-software/#cheetah","title":"Cheetah","text":"

                    Cheetah is an open source template engine and code generation tool.

                    homepage: https://cheetahtemplate.org

                    version versionsuffix toolchain 2.4.4 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#chemaxon-marvin","title":"Chemaxon-Marvin","text":"

                    Marvin suite is a chemically intelligent desktop toolkit built to help you draw, edit, publish, render, import and export your chemical structures and as well as allowing you to convert between various chemical and graphical file formats. It is free for individual, academic and non-commercial use.

                    homepage: https://chemaxon.com/products/marvin

                    version toolchain 21.14 system"},{"location":"version-specific/supported-software/#chemprop","title":"chemprop","text":"

                    Message Passing Neural Networks for Molecule Property Prediction

                    homepage: https://github.com/chemprop/chemprop

                    version versionsuffix toolchain 1.5.2 foss/2022a 1.5.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#chemps2","title":"CheMPS2","text":"

                    CheMPS2 is a scientific library which contains a spin-adapted implementation of the density matrix renormalization group (DMRG) for ab initio quantum chemistry.

                    homepage: https://github.com/SebWouters/CheMPS2

                    version toolchain 1.6 intel/2016a 1.7-rc2 intel/2016a 1.7.1 intel/2016a 1.7.2 intel/2016a 1.8 intel/2016b 1.8.8 intel/2018b 1.8.9 foss/2018b, foss/2019a, intel/2018b, intel/2019a, intel/2019b 1.8.11 foss/2021b 1.8.12 foss/2022a"},{"location":"version-specific/supported-software/#cherab","title":"CHERAB","text":"

                    CHERAB is a python library for forward modelling diagnostics based on spectroscopic plasma emission.

                    homepage: https://cherab.github.io/documentation/index.html

                    version versionsuffix toolchain 1.2.0 -Python-3.6.6 intel/2018b 1.3.0 foss/2020b, intel/2020b 1.4.0 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#chewbbaca","title":"chewBBACA","text":"

                    chewBBACA stands for \"BSR-Based Allele Calling Algorithm\". chewBBACA is a comprehensive pipeline including a set of functions for the creation and validation of whole genome and core genome MultiLocus Sequence Typing (wg/cgMLST) schemas, providing an allele calling algorithm based on Blast Score Ratio that can be run in multiprocessor settings and a set of functions to visualize and validate allele variation in the loci.

                    homepage: https://github.com/B-UMMI/chewBBACA

                    version versionsuffix toolchain 2.5.5 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#chi2comb","title":"chi2comb","text":"

                    Cumulative density function of linear combinations of independent chi-square random variables and a standard Normal distribution. As of now, this is basically a repackaging of the davies function implemented in the CompQuadForm library for R.

                    homepage: https://github.com/limix/chi2comb

                    version toolchain 0.0.3 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#chimera","title":"Chimera","text":"

                    UCSF Chimera is a highly extensible program for interactive visualization and analysis of molecular structures and related data, including density maps, supramolecular assemblies, sequence alignments, docking results, trajectories, and conformational ensembles.

                    homepage: https://www.cgl.ucsf.edu/chimera/

                    version versionsuffix toolchain 1.10 -linux_x86_64 system 1.16 -linux_x86_64 system"},{"location":"version-specific/supported-software/#chimpipe","title":"ChimPipe","text":"

                    ChimPipe is a computational method for the detection of novel transcription-induced chimeric transcripts and fusion genes from Illumina Paired-End RNA-seq data. It combines junction spanning and paired-end read information to accurately detect chimeric splice junctions at base-pair resolution.

                    homepage: https://chimpipe.readthedocs.org/

                    version versionsuffix toolchain 0.9.5 foss/2018b 0.9.5 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#chromaprint","title":"Chromaprint","text":"

                    Chromaprint is the core component of the AcoustID project. It's a client-side library that implements a custom algorithm for extracting fingerprints from any audio source.

                    homepage: https://acoustid.org/chromaprint

                    version toolchain 1.4.3 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#cicero","title":"cicero","text":"

                    Cicero is an R package that provides tools for analyzing single-cell chromatin accessibility experiments.

                    homepage: https://cole-trapnell-lab.github.io/cicero-release

                    version versionsuffix toolchain 1.3.4.11 -R-4.0.3-Monocle3 foss/2020b"},{"location":"version-specific/supported-software/#cif2cell","title":"CIF2Cell","text":"

                    CIF2Cell is a tool to generate the geometrical setup for various electronic structure codes from a CIF (Crystallographic Information Framework) file. The program currently supports output for a number of popular electronic structure programs, including ABINIT, ASE, CASTEP, CP2K, CPMD, CRYSTAL09, Elk, EMTO, Exciting, Fleur, FHI-aims, Hutsepot, MOPAC, Quantum Espresso, RSPt, Siesta, SPR-KKR, VASP. Also exports some related formats like .coo, .cfg and .xyz-files.

                    homepage: https://sourceforge.net/projects/cif2cell

                    version versionsuffix toolchain 1.2.10 -Python-2.7.16 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#cimfomfa","title":"cimfomfa","text":"

                    This library supports both MCL, a cluster algorithm for graphs, and zoem, a macro/DSL language. It supplies abstractions for memory management, I/O, associative arrays, strings, heaps, and a few other things. The string library has had heavy testing as part of zoem. Both understandably and regrettably I chose long ago to make it C-string-compatible, hence nul bytes may not be part of a string. At some point I hope to rectify this, perhaps unrealistically.

                    homepage: https://github.com/micans/cimfomfa

                    version toolchain 22.273 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#circexplorer","title":"CIRCexplorer","text":"

                    CIRCexplorer2 is a comprehensive and integrative circular RNA analysis toolset.

                    homepage: https://circexplorer2.readthedocs.io/

                    version versionsuffix toolchain 1.1.10 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#circexplorer2","title":"CIRCexplorer2","text":"

                    CIRCexplorer2 is a comprehensive and integrative circular RNA analysis toolset.

                    homepage: http://circexplorer2.readthedocs.io/

                    version versionsuffix toolchain 2.3.2 -Python-2.7.14 intel/2017b 2.3.3 -Python-2.7.14 intel/2018a 2.3.8 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#circos","title":"Circos","text":"

                    Circos is a software package for visualizing data and information. It visualizes data in a circular layout - this makes Circos ideal for exploring relationships between objects or positions.

                    homepage: http://www.circos.ca/

                    version versionsuffix toolchain 0.69-5 -Perl-5.24.0 foss/2016b 0.69-6 -Perl-5.26.1 GCCcore/6.4.0 0.69-6 -Perl-5.28.0 GCCcore/7.3.0 0.69-9 GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#circuitscape","title":"Circuitscape","text":"

                    Algorithms from circuit theory to predict connectivity in heterogeneous landscapes

                    homepage: https://github.com/Circuitscape/Circuitscape.jl

                    version versionsuffix toolchain 5.12.3 -Julia-1.7.2 system"},{"location":"version-specific/supported-software/#ciri","title":"CIRI","text":"

                    CircRNA Identifier. A de novo circular RNA identification tool

                    homepage: https://sourceforge.net/projects/ciri/

                    version versionsuffix toolchain 2.0.6 -Perl-5.26.0 intel/2017b"},{"location":"version-specific/supported-software/#ciri-long","title":"CIRI-long","text":"

                    Circular RNA Identification for Long-Reads Nanopore Sequencing Data

                    homepage: https://github.com/bioinfo-biols/CIRI-long/

                    version toolchain 1.0.2 foss/2020b"},{"location":"version-specific/supported-software/#cistem","title":"cisTEM","text":"

                    cisTEM is user-friendly software to process cryo-EM images of macromolecular complexes and obtain high-resolution 3D reconstructions from them.

                    homepage: https://cistem.org/

                    version toolchain 1.0.0-beta foss/2018a"},{"location":"version-specific/supported-software/#cite-seq-count","title":"CITE-seq-Count","text":"

                    A python package that allows to count antibody TAGS from a CITE-seq and/or cell hashing experiment.

                    homepage: https://github.com/Hoohm/CITE-seq-Count

                    version versionsuffix toolchain 1.4.3 -Python-3.6.6 foss/2018b 1.4.3 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#clang","title":"Clang","text":"

                    C, C++, Objective-C compiler, based on LLVM. Does not include C++ standard library -- use libstdc++ from GCC.

                    homepage: https://clang.llvm.org/

                    version versionsuffix toolchain 3.3 GCC/4.8.1 3.4 GCC/4.8.2 3.4.1 GCC/4.8.2 3.4.2 GCC/4.8.2 3.6.0 GCC/4.9.2 3.6.1 GCC/4.9.2 3.7.0 GNU/4.9.3-2.25 3.7.1 GCC/4.9.3-2.25, foss/2016a 3.8.0 GCC/4.9.3-2.25 3.8.1 GCC/5.4.0-2.26, foss/2016b 5.0.0 GCC/6.4.0-2.28 5.0.1 GCC/6.4.0-2.28 6.0.1 GCC/6.4.0-2.28, GCC/7.3.0-2.30 7.0.0 GCC/6.4.0-2.28 7.0.1 GCC/7.3.0-2.30 8.0.0 GCCcore/8.2.0 8.0.0 -CUDA-10.1.105 GCCcore/8.2.0 8.0.1 -CUDA-10.1.105 GCC/8.2.0-2.31.1 8.0.1 -CUDA-10.1.243 GCC/8.3.0 9.0.1 GCCcore/8.3.0, GCCcore/9.3.0 9.0.1 -CUDA-10.1.243 GCC/8.3.0 10.0.0 GCCcore/8.3.0, GCCcore/9.3.0 10.0.1 GCCcore/9.3.0 11.0.0 GCCcore/9.3.0 11.0.1 GCCcore/10.2.0, gcccuda/2020b 12.0.1 GCCcore/10.3.0, GCCcore/11.2.0 12.0.1 -CUDA-11.3.1 GCCcore/10.3.0 13.0.1 GCCcore/11.2.0, GCCcore/11.3.0 13.0.1 -CUDA-11.4.1 GCCcore/11.2.0 15.0.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#clang-aomp","title":"Clang-AOMP","text":"

                    AOMP is an open source Clang/LLVM based compiler with added support for the OpenMP\u00ae API on Radeon\u2122 GPUs.

                    homepage: https://github.com/RadeonOpenCompute/llvm-project

                    version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#clang-python-bindings","title":"Clang-Python-bindings","text":"

                    Python bindings for libclang

                    homepage: https://clang.llvm.org

                    version versionsuffix toolchain 8.0.0 -Python-2.7.15 GCCcore/8.2.0 10.0.1 -Python-3.8.2 GCCcore/9.3.0 13.0.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#clapack","title":"CLAPACK","text":"

                    C version of LAPACK

                    homepage: http://www.netlib.org/clapack

                    version toolchain 3.2.1 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2017a"},{"location":"version-specific/supported-software/#clease","title":"CLEASE","text":"

                    CLuster Expansion in Atomic Simulation Environment (CLEASE) is a package that automates the cumbersome setup and construction procedure of cluster expansion (CE). It provides a comprehensive list of tools for specifying parameters for CE, generating training structures, fitting effective cluster interaction (ECI) values and running Monte Carlo simulations.

                    homepage: https://gitlab.com/computationalmaterials/clease

                    version toolchain 0.10.6 intel/2021a"},{"location":"version-specific/supported-software/#clhep","title":"CLHEP","text":"

                    The CLHEP project is intended to be a set of HEP-specific foundation and utility classes such as random generators, physics vectors, geometry and linear algebra. CLHEP is structured in a set of packages independent of any external package.

                    homepage: https://proj-clhep.web.cern.ch/proj-clhep/

                    version toolchain 2.1.1.0 intel/2016a 2.1.3.1 intel/2016a 2.2.0.8 intel/2016a 2.3.1.1 intel/2016a 2.3.4.3 foss/2017b, intel/2017b 2.4.0.0 intel/2017b 2.4.1.0 foss/2017b, foss/2018b, intel/2017b, intel/2018b 2.4.1.3 foss/2019b, foss/2020a 2.4.4.0 GCC/10.2.0, GCC/11.2.0 2.4.5.1 GCC/11.2.0 2.4.5.3 GCC/11.3.0 2.4.6.2 GCC/11.3.0 2.4.6.4 GCC/12.2.0"},{"location":"version-specific/supported-software/#climetlab","title":"CliMetLab","text":"

                    CliMetLab is a Python package aiming at simplifying access to climate and meteorological datasets, allowing users to focus on science instead of technical issues such as data access and data formats. It is mostly intended to be used in Jupyter notebooks, and be interoperable with all popular data analytic packages, such as Numpy, Pandas, Xarray, SciPy, Matplotlib, etc. as well as machine learning frameworks, such as Tensorflow, Keras or PyTorch.

                    homepage: https://climetlab.readthedocs.io/

                    version toolchain 0.12.6 foss/2022a"},{"location":"version-specific/supported-software/#clip","title":"CLIP","text":"

                    CLIP (Contrastive Language-Image Pre-Training) is a neural network trained on a variety of (image, text) pairs. It can be instructed in natural language to predict the most relevant text snippet, given an image, without directly optimizing for the task, similarly to the zero-shot capabilities of GPT-2 and 3.

                    homepage: https://github.com/openai/CLIP

                    version versionsuffix toolchain 20230220 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#clisp","title":"CLISP","text":"

                    Common Lisp is a high-level, general-purpose, object-oriented, dynamic, functional programming language.

                    homepage: https://clisp.sourceforge.io/

                    version toolchain 2.49 GCCcore/6.4.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#clonalframeml","title":"ClonalFrameML","text":"

                    Efficient Inference of Recombination in Whole Bacterial Genomes

                    homepage: https://github.com/xavierdidelot/ClonalFrameML

                    version toolchain 1.11 foss/2016b"},{"location":"version-specific/supported-software/#cloog","title":"CLooG","text":"

                    CLooG is a free software and library to generate code for scanning Z-polyhedra. That is, it finds a code (e.g. in C, FORTRAN...) that reaches each integral point of one or more parameterized polyhedra. CLooG has been originally written to solve the code generation problem for optimizing compilers based on the polytope model. Nevertheless it is used now in various area e.g. to build control automata for high-level synthesis or to find the best polynomial approximation of a function. CLooG may help in any situation where scanning polyhedra matters. While the user has full control on generated code quality, CLooG is designed to avoid control overhead and to produce a very effective code.

                    homepage: http://www.bastoul.net/cloog/index.php

                    version toolchain 0.18.1 GCC/4.8.2"},{"location":"version-specific/supported-software/#cloudcompare","title":"CloudCompare","text":"

                    3D point cloud and mesh processing software

                    homepage: https://www.cloudcompare.org/

                    version toolchain 2.12.4 foss/2021b"},{"location":"version-specific/supported-software/#clp","title":"Clp","text":"

                    Clp (Coin-or linear programming) is an open-source linear programming solver. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available.

                    homepage: https://github.com/coin-or/Clp

                    version toolchain 1.17.3 foss/2018b 1.17.6 foss/2020b, foss/2021a 1.17.7 foss/2021b"},{"location":"version-specific/supported-software/#clustal-omega","title":"Clustal-Omega","text":"

                    Clustal Omega is a multiple sequence alignment program for proteins. It produces biologically meaningful multiple sequence alignments of divergent sequences. Evolutionary relationships can be seen via viewing Cladograms or Phylograms

                    homepage: http://www.clustal.org/omega/

                    version toolchain 1.2.0 foss/2016b 1.2.4 GCC/10.2.0, GCC/10.3.0, GCC/8.3.0, foss/2018b, intel-compilers/2021.2.0, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#clustalw2","title":"ClustalW2","text":"

                    ClustalW2 is a general purpose multiple sequence alignment program for DNA or proteins.

                    homepage: https://www.ebi.ac.uk/Tools/msa/clustalw2/

                    version toolchain 2.1 GCC/10.3.0, GCC/11.2.0, foss/2016b, foss/2018b, foss/2021a, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2017b, intel/2018b, intel/2020a"},{"location":"version-specific/supported-software/#cluster-buster","title":"Cluster-Buster","text":"

                    Cluster-Buster: Finding dense clusters of motifs in DNA sequences

                    homepage: https://github.com/weng-lab/cluster-buster/

                    version toolchain 20160106 intel/2016a"},{"location":"version-specific/supported-software/#clustershell","title":"ClusterShell","text":"

                    ClusterShell is an event-driven open source Python library, designed to run local or distant commands in parallel on server farms or on large Linux clusters.

                    homepage: https://cea-hpc.github.io/clustershell/

                    version toolchain 1.7.3 system"},{"location":"version-specific/supported-software/#cmake","title":"CMake","text":"

                    CMake, the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software.

                    homepage: https://www.cmake.org

                    version toolchain 2.8.11 GCC/4.8.1 2.8.12 GCC/4.8.1, GCC/4.8.2 3.0.0 GCC/4.8.3 3.1.0 GCC/4.9.2 3.1.3 GCC/4.9.2, system 3.2.1 GCC/4.9.2, GNU/4.9.3-2.25 3.3.1 system 3.3.2 GNU/4.9.3-2.25, gimkl/2.11.5 3.4.1 GCC/4.9.2, GCCcore/4.9.3, foss/2016a, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 3.4.3 foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a 3.5.1 intel/2016a 3.5.2 GCC/4.9.3-2.25, foss/2016a, foss/2016b, intel/2016a, intel/2016b, system 3.6.1 GCC/5.4.0-2.26, GCCcore/4.9.3, foss/2016b, intel/2016b, system 3.6.2 GCCcore/5.4.0, foss/2016b, intel/2016b 3.7.1 GCCcore/5.4.0, GCCcore/6.2.0, foss/2016b, intel/2016b 3.7.2 GCCcore/6.3.0, foss/2016b, intel/2016b 3.8.0 GCCcore/6.3.0 3.8.1 GCCcore/6.3.0 3.8.2 GCCcore/6.3.0 3.9.1 GCCcore/6.3.0, GCCcore/6.4.0, system 3.9.4 GCCcore/6.4.0 3.9.5 GCCcore/6.4.0 3.9.6 system 3.10.0 GCCcore/6.4.0 3.10.1 GCCcore/6.4.0 3.10.2 GCCcore/6.4.0, GCCcore/7.2.0 3.10.3 GCCcore/6.4.0, GCCcore/7.2.0 3.11.1 GCCcore/6.4.0 3.11.4 GCCcore/6.4.0, GCCcore/7.3.0 3.12.1 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, system 3.13.3 GCCcore/8.2.0 3.15.1 system 3.15.3 GCCcore/8.3.0 3.16.4 GCCcore/9.3.0 3.18.4 GCCcore/10.2.0, system 3.20.1 GCCcore/10.2.0, GCCcore/10.3.0 3.21.1 GCCcore/11.2.0 3.22.1 GCCcore/11.2.0 3.23.1 GCCcore/11.3.0 3.24.3 GCCcore/11.3.0, GCCcore/12.2.0 3.26.3 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#cmaverse","title":"CMAverse","text":"

                    The R package CMAverse provides a suite of functions for reproducible causal mediation analysis including cmdag for DAG visualization, cmest for statistical modeling and cmsens for sensitivity analysis.

                    homepage: https://bs1125.github.io/CMAverse/

                    version toolchain 20220112 foss/2021b"},{"location":"version-specific/supported-software/#cmdstanr","title":"CmdStanR","text":"

                    CmdStanR is a lightweight interface to Stan for R users

                    homepage: https://mc-stan.org/cmdstanr

                    version versionsuffix toolchain 0.5.0 -R-4.1.2 foss/2021b 0.5.2 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#cmocean","title":"cmocean","text":"

                    This package contains colormaps for commonly-used oceanographic variables. Most of the colormaps started from matplotlib colormaps, but have now been adjusted using the viscm tool to be perceptually uniform.

                    homepage: https://github.com/matplotlib/cmocean

                    version toolchain 2.0 foss/2022a"},{"location":"version-specific/supported-software/#cmseq","title":"CMSeq","text":"

                    CMSeq is a set of commands to provide an interface to .bam files for coverage and sequence consensus.

                    homepage: https://github.com/SegataLab/cmseq/

                    version versionsuffix toolchain 1.0.3 -Python-3.8.2 foss/2020a 1.0.4 foss/2022a"},{"location":"version-specific/supported-software/#cnt-ilp","title":"CNT-ILP","text":"

                    Integer Linear Program for the Copy-Number Tree Problem

                    homepage: https://compbio.cs.brown.edu/projects/cnt-ilp/

                    version toolchain 20171031 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#cnvkit","title":"CNVkit","text":"

                    A command-line toolkit and Python library for detecting copy number variants and alterations genome-wide from high-throughput sequencing.

                    homepage: https://github.com/etal/cnvkit

                    version versionsuffix toolchain 0.9.2 -Python-2.7.14 intel/2017b 0.9.3 -Python-3.6.4 intel/2018a 0.9.6 -Python-3.7.2-R-3.6.0 foss/2019a 0.9.8 -R-4.0.3 foss/2020b 0.9.10 -R-4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#cnvnator","title":"CNVnator","text":"

                    a tool for CNV discovery and genotyping from depth-of-coverage by mapped reads

                    homepage: https://github.com/abyzovlab/CNVnator

                    version toolchain 0.3.3 foss/2016b"},{"location":"version-specific/supported-software/#co-phylog","title":"Co-phylog","text":"

                    Co-phylog: an assembly-free phylogenomic approach for closely related organisms H Yi, L Jin Nucleic acids research 41 (7), e75-e75

                    homepage: https://github.com/yhg926/co-phylog

                    version toolchain 20201012 GCC/7.3.0-2.30"},{"location":"version-specific/supported-software/#cobrapy","title":"COBRApy","text":"

                    COBRApy is a package for constraint-based modeling of metabolic networks.

                    homepage: https://opencobra.github.io/cobrapy/

                    version toolchain 0.26.0 foss/2021a"},{"location":"version-specific/supported-software/#cocoalib","title":"CoCoALib","text":"

                    CoCoALib is a free GPL3 C++ library for doing Computations in Commutative Algebra.

                    homepage: http://cocoa.dima.unige.it/cocoalib

                    version toolchain 0.99601 GCC/8.2.0-2.31.1 0.99700 GCC/8.3.0"},{"location":"version-specific/supported-software/#codan","title":"CodAn","text":"

                    CodAn (Coding sequence Annotator) is a computational tool designed to characterize the CDS and UTR regions on transcripts from any Eukaryote species.

                    homepage: https://github.com/pedronachtigall/CodAn

                    version toolchain 1.2 foss/2021b"},{"location":"version-specific/supported-software/#code-server","title":"code-server","text":"

                    Run VS Code on any machine anywhere and access it in the browser.

                    homepage: https://github.com/cdr/code-server

                    version toolchain 3.7.3 system 4.9.1 system"},{"location":"version-specific/supported-software/#codex2","title":"CODEX2","text":"

                    Full-spectrum copy number variation detection by high-throughput DNA sequencing

                    homepage: https://github.com/yuchaojiang/CODEX2

                    version versionsuffix toolchain 20180227 -R-3.4.3 intel/2017b"},{"location":"version-specific/supported-software/#codingquarry","title":"CodingQuarry","text":"

                    Highly accurate hidden Markov model gene prediction in fungal genomes using RNA-seq transcripts

                    homepage: https://sourceforge.net/p/codingquarry

                    version toolchain 2.0 foss/2021b"},{"location":"version-specific/supported-software/#cogent","title":"Cogent","text":"

                    Cogent is a tool for reconstructing the coding genome using high-quality full-length transcriptome sequences. It is designed to be used on Iso-Seq data and in cases where there is no reference genome or the ref genome is highly incomplete.

                    homepage: https://github.com/Magdoll/Cogent

                    version toolchain 8.0.0 foss/2021a"},{"location":"version-specific/supported-software/#coin","title":"Coin","text":"

                    Coin is an OpenGL-based, 3D graphics library that has its roots in the Open Inventor 2.1 API, which Coin still is compatible with.

                    homepage: https://coin3d.github.io

                    version toolchain 4.0.0 GCC/10.3.0, GCC/11.2.0"},{"location":"version-specific/supported-software/#coinutils","title":"CoinUtils","text":"

                    CoinUtils (Coin-OR Utilities) is an open-source collection of classes and functions that are generally useful to more than one COIN-OR project.

                    homepage: https://github.com/coin-or/CoinUtils

                    version toolchain 2.11.3 GCCcore/7.3.0, foss/2018b 2.11.4 GCC/10.3.0, GCCcore/10.2.0 2.11.6 GCC/11.2.0"},{"location":"version-specific/supported-software/#colabfold","title":"ColabFold","text":"

                    Making protein folding accessible to all. Predict proteins structures both in google colab and on your machine.

                    homepage: https://github.com/sokrypton/ColabFold

                    version versionsuffix toolchain 1.5.2 foss/2022a 1.5.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#colossalai","title":"colossalai","text":"

                    Colossal-AI: A Unified Deep Learning System for Big Model Era

                    homepage: https://colossalai.org/

                    version versionsuffix toolchain 0.1.8 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#commet","title":"Commet","text":"

                    COMMET (\"COmpare Multiple METagenomes\") provides a global similarity overview between all datasets of a large metagenomic project.

                    homepage: https://colibread.inria.fr/software/commet/

                    version versionsuffix toolchain 20150415 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#comparem","title":"CompareM","text":"

                    A toolbox for comparative genomics.

                    homepage: https://github.com/dparks1134/CompareM

                    version versionsuffix toolchain 0.0.23 -Python-2.7.15 foss/2018b 0.1.2 foss/2021b"},{"location":"version-specific/supported-software/#compress-raw-zlib","title":"Compress-Raw-Zlib","text":"

                    Low-Level Interface to zlib or zlib-ng compression library

                    homepage: https://metacpan.org/pod/Compress::Raw::Zlib

                    version toolchain 2.202 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#comsol","title":"COMSOL","text":"

                    COMSOL Multiphysics is a general-purpose software platform, based on advanced numerical methods, for modeling and simulating physics-based problems.

                    homepage: https://www.comsol.com

                    version toolchain 5.4.0.225 system"},{"location":"version-specific/supported-software/#con3f","title":"Con3F","text":"

                    Con3F is a Python package to read, manipulate and convert force field files

                    homepage: https://github.ugent.be/CMM/con3f

                    version versionsuffix toolchain 1.0-20190329 -Python-3.7.2 intel/2019a"},{"location":"version-specific/supported-software/#conan","title":"conan","text":"

                    Decentralized, open-source (MIT), C/C++ package manager.

                    homepage: https://conan.io

                    version toolchain 1.58.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#concoct","title":"CONCOCT","text":"

                    Clustering cONtigs with COverage and ComposiTion (CONCOCT) is a program for unsupervised binning of metagenomic contigs by using nucleotide composition, coverage data in multiple samples and linkage data from paired end reads.

                    homepage: https://concoct.readthedocs.io

                    version versionsuffix toolchain 1.0.0 -Python-2.7.14 foss/2017b 1.0.0 -Python-2.7.15 foss/2018b 1.0.0 -Python-3.6.3 foss/2017b 1.1.0 -Python-2.7.15 foss/2019a 1.1.0 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#configparser","title":"configparser","text":"

                    configparser is a Python library that brings the updated configparser from Python 3.5 to Python 2.6-3.5

                    homepage: https://docs.python.org/3/library/configparser.html

                    version versionsuffix toolchain 3.5.0 -Python-2.7.11 foss/2016a 3.5.0 -Python-2.7.12 foss/2016b, intel/2016b 3.5.0 -Python-3.5.2 intel/2016b 3.5.0 -Python-3.6.3 intel/2017b"},{"location":"version-specific/supported-software/#configurable-http-proxy","title":"configurable-http-proxy","text":"

                    HTTP proxy for node.js including a REST API for updating the routing table. Developed as a part of the Jupyter Hub multi-user server.

                    homepage: https://github.com/jupyterhub/configurable-http-proxy

                    version versionsuffix toolchain 1.3.0 -nodejs-4.4.7 foss/2016a 3.1.1 -nodejs-8.9.4 foss/2017a 4.2.1 GCCcore/10.2.0 4.4.0 GCCcore/10.3.0 4.5.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#conn","title":"CONN","text":"

                    CONN is an open-source Matlab/SPM-based cross-platform software for the computation, display, and analysis of functional connectivity Magnetic Resonance Imaging (fcMRI). CONN is used to analyze resting state data (rsfMRI) as well as task-related designs.

                    homepage: https://web.conn-toolbox.org/home

                    version versionsuffix toolchain 21a -MATLAB-2021a system"},{"location":"version-specific/supported-software/#connectomeworkbench","title":"ConnectomeWorkbench","text":"

                    Connectome Workbench is an open source, freely available visualization and discovery tool used to map neuroimaging data, especially data generated by the Human Connectome Project.

                    homepage: https://www.humanconnectome.org/software/connectome-workbench

                    version versionsuffix toolchain 1.2.2 system 1.3.2 GCCcore/8.2.0, foss/2017b, intel/2017b 1.4.2 -rh_linux64 system 1.5.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#control-freec","title":"Control-FREEC","text":"

                    Copy number and genotype annotation from whole genome and whole exome sequencing data.

                    homepage: https://github.com/BoevaLab/FREEC

                    version toolchain 11.5 GCC/7.3.0-2.30, GCC/8.2.0-2.31.1 11.6 GCC/10.2.0"},{"location":"version-specific/supported-software/#cooler","title":"cooler","text":"

                    Cooler is a support library for a storage format, also called cooler, used to store genomic interaction data of any size, such as Hi-C contact matrices.

                    homepage: https://open2c.github.io/cooler

                    version toolchain 0.9.1 foss/2022a"},{"location":"version-specific/supported-software/#coordgenlibs","title":"CoordgenLibs","text":"

                    Schrodinger-developed 2D Coordinate Generation

                    homepage: https://github.com/schrodinger/coordgenlibs

                    version toolchain 1.3.2 gompi/2019a, iimpi/2019a 3.0.1 gompi/2019b, gompi/2021a, gompi/2022a, iimpi/2020a"},{"location":"version-specific/supported-software/#coot","title":"Coot","text":"

                    Coot is for macromolecular model building, model completion and validation, particularly suitable for protein modelling using X-ray data.

                    homepage: http://www2.mrc-lmb.cam.ac.uk/Personal/pemsley/coot

                    version versionsuffix toolchain 0.8.1 -binary-Linux-x86_64-rhel-6-python-gtk2 system"},{"location":"version-specific/supported-software/#copykat","title":"CopyKAT","text":"

                    CopyKAT: Inference of genomic copy number and subclonal structure of human tumors from high-throughput single cell RNAseq data

                    homepage: https://github.com/navinlabcode/copykat

                    version versionsuffix toolchain 1.1.0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#core-counter","title":"core-counter","text":"

                    Tool to check available cores and OMP threads

                    homepage: https://github.com/gjbex/core-counter

                    version toolchain 1.1.1 system"},{"location":"version-specific/supported-software/#coreutils","title":"Coreutils","text":"

                    The GNU Core Utilities are the basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every operating system.

                    homepage: https://www.gnu.org/software/coreutils/

                    version toolchain 8.23 GCC/4.9.2 8.27 GCCcore/5.4.0 8.29 GCCcore/6.4.0 8.32 GCCcore/8.3.0, GCCcore/9.3.0 9.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#corner","title":"corner","text":"

                    Make some beautiful corner plots.

                    homepage: https://corner.readthedocs.io/en/latest/

                    version versionsuffix toolchain 2.0.1 -Python-2.7.15 foss/2019a 2.0.1 -Python-3.7.2 foss/2019a 2.2.2 foss/2021b"},{"location":"version-specific/supported-software/#cosymlib","title":"CoSymLib","text":"

                    Cosymlib is a python library for computing continuous symmetry & shape measures (CSMs & CShMs). Although its main aim is to provide simple and ready-to-use tools for the analysis of the symmetry & shape of molecules, many of the procedures contained in cosymlib can be easily applied to any finite geometrical object defined by a set of vertices or a by mass distribution function.

                    homepage: https://cosymlib.readthedocs.io

                    version toolchain 0.10.9 foss/2022a"},{"location":"version-specific/supported-software/#coverage","title":"coverage","text":"

                    Coverage.py is a tool for measuring code coverage of Python programs. It monitors your program, noting which parts of the code have been executed, then analyzes the source to identify code that could have been executed but was not.

                    homepage: https://coverage.readthedocs.io

                    version versionsuffix toolchain 4.5.1 -Python-2.7.14 intel/2017b 5.5 GCCcore/10.2.0, GCCcore/10.3.0 7.2.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cowsay","title":"cowsay","text":"

                    Configurable talking characters in ASCII art

                    homepage: https://github.com/tnalpgge/rank-amateur-cowsay

                    version toolchain 3.04 system"},{"location":"version-specific/supported-software/#cp2k","title":"CP2K","text":"

                    CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials.

                    homepage: https://www.cp2k.org/

                    version versionsuffix toolchain 3.0 intel/2016a, intel/2016b, intel/2017b, intel/2018a 3.0 -psmp intel/2016b 4.1 intel/2016b 4.1 -psmp foss/2016b 5.1 foss/2018a, foss/2020a, foss/2020b, intel/2017b, intel/2018a, intel/2020a 6.1 foss/2019a, intel/2018a, intel/2020a 7.1 foss/2020a, foss/2020b, intel/2020a, intel/2020b 7.1 -psmp foss/2020b 8.1 foss/2020b 8.2 foss/2021a, intel/2021a 9.1 foss/2022a 2022.1 foss/2022a"},{"location":"version-specific/supported-software/#cpb","title":"CPB","text":"

                    CPB is a novel two-step Pearson correlation based biclustering approach to mine genes that are co-regulated with a given reference gene in order to discover genes that function in a common biological process. In the first step, the algorithm identifies subsets of genes with high correlation, reducing false negatives with a nonparametric filtering scheme. In the second step, biclusters from multiple datasets are used to extract and rank gene correlation information.

                    homepage: http://tda.gatech.edu/software/cpb/index.html

                    version versionsuffix toolchain 11-4-2011 -Python-2.7.13 foss/2017a"},{"location":"version-specific/supported-software/#cpc2","title":"CPC2","text":"

                    a fast and accurate coding potential calculator based on sequence intrinsic features

                    homepage: http://cpc2.gao-lab.org/

                    version toolchain 1.0.1 foss/2022a"},{"location":"version-specific/supported-software/#cplex","title":"CPLEX","text":"

                    IBM ILOG CPLEX Optimizer's mathematical programming technology enables analytical decision support for improving efficiency, reducing costs, and increasing profitability.

                    homepage: https://www.ibm.com/analytics/cplex-optimizer

                    version versionsuffix toolchain 12.9 GCCcore/8.2.0 12.10 -Python-3.7.4 GCCcore/8.3.0 22.1.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#cppe","title":"CPPE","text":"

                    CPPE is an open-source, light-weight C++ and Python library for Polarizable Embedding (PE)1,2 calculations. It provides an easy-to-use API to implement PE for ground-state self-consistent field (SCF) calculations and post-SCF methods. A convenient Python interface is also available.

                    homepage: https://github.com/maxscheurer/cppe

                    version toolchain 0.3.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#cppheaderparser","title":"CppHeaderParser","text":"

                    CppHeaderParser is a pure python module that will parse C++ header files and generate a data structure representing the class.

                    homepage: https://senexcanis.com/open-source/cppheaderparser

                    version toolchain 2.7.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cppunit","title":"CppUnit","text":"

                    CppUnit is the C++ port of the famous JUnit framework for unit testing.

                    homepage: https://freedesktop.org/wiki/Software/cppunit/

                    version toolchain 1.12.1 GCCcore/6.4.0, GCCcore/7.3.0, foss/2016a 1.15.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#cppy","title":"cppy","text":"

                    A small C++ header library which makes it easier to write Python extension modules. The primary feature is a PyObject smart pointer which automatically handles reference counting and provides convenience methods for performing common object operations.

                    homepage: https://github.com/nucleic/cppy

                    version toolchain 1.1.0 GCCcore/10.3.0, GCCcore/11.2.0 1.2.1 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cppzmq","title":"cppzmq","text":"

                    cppzmq is a C++ binding for libzmq.

                    homepage: https://github.com/zeromq/cppzmq

                    version toolchain 4.9.0 system"},{"location":"version-specific/supported-software/#cpu_features","title":"cpu_features","text":"

                    A cross-platform C library to retrieve CPU features (such as available instructions) at runtime.

                    homepage: https://github.com/google/cpu_features

                    version toolchain 0.6.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#cram","title":"cram","text":"

                    Cram is a functional testing framework for command line applications.

                    homepage: https://bitheap.org/cram

                    version toolchain 0.7 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#cramtools","title":"cramtools","text":"

                    CRAMTools is a set of Java tools and APIs for efficient compression of sequence read data. Although this is intended as a stable version the code is released as early access. Parts of the CRAMTools are experimental and may not be supported in the future.

                    homepage: https://github.com/enasequence/cramtools/

                    version versionsuffix toolchain 2.0 -Java-1.7.0_80 system 3.0 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#craycce","title":"CrayCCE","text":"

                    Toolchain using Cray compiler wrapper, using PrgEnv-cray (PE release: June 2019).

                    homepage: https://pubs.cray.com/discover

                    version toolchain 19.06 system"},{"location":"version-specific/supported-software/#craygnu","title":"CrayGNU","text":"

                    Toolchain using Cray compiler wrapper, using PrgEnv-gnu module (PE release: June 2019).

                    homepage: https://pubs.cray.com/discover

                    version toolchain 19.06 system"},{"location":"version-specific/supported-software/#crayintel","title":"CrayIntel","text":"

                    Toolchain using Cray compiler wrapper, using PrgEnv-intel (PE release: June 2019).

                    homepage: https://pubs.cray.com/discover

                    version toolchain 19.06 system"},{"location":"version-specific/supported-software/#craypgi","title":"CrayPGI","text":"

                    Toolchain using Cray compiler wrapper, PrgEnv-pgi compiler (PE release: June 2019).

                    homepage: https://pubs.cray.com/discover

                    version toolchain 19.06 system"},{"location":"version-specific/supported-software/#crb-blast","title":"crb-blast","text":"

                    Conditional Reciprocal Best BLAST - high confidence ortholog assignment. CRB-BLAST is a novel method for finding orthologs between one set of sequences and another. This is particularly useful in genome and transcriptome annotation.

                    homepage: https://github.com/cboursnell/crb-blast

                    version versionsuffix toolchain 0.6.9 gompi/2021a, gompi/2021b, intel/2017a 0.6.9 -Ruby-2.6.1 foss/2018b"},{"location":"version-specific/supported-software/#crest","title":"CREST","text":"

                    CREST is an utility/driver program for the xtb program. Originally it was designed as conformer sampling program, hence the abbreviation Conformer\u2013Rotamer Ensemble Sampling Tool, but now offers also some utility functions for calculations with the GFNn\u2013xTB methods. Generally the program functions as an IO based OMP scheduler (i.e., calculations are performed by the xtb program) and tool for the creation and analysation of structure ensembles.

                    homepage: https://xtb-docs.readthedocs.io/en/latest/crest.html

                    version toolchain 2.11 intel/2021a 2.11.2 intel/2021a"},{"location":"version-specific/supported-software/#crf","title":"CRF++","text":"

                    CRF++ is a simple, customizable, and open source implementation of Conditional Random Fields (CRFs) for segmenting/labeling sequential data. CRF++ is designed for generic purpose and will be applied to a variety of NLP tasks, such as Named Entity Recognition, Information Extraction and Text Chunking.

                    homepage: https://taku910.github.io/crfpp/

                    version toolchain 0.58 iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b"},{"location":"version-specific/supported-software/#crispr-dav","title":"CRISPR-DAV","text":"

                    CRISPR-DAV is a pipeline to analyze amplicon-based NGS data of CRISPR clones in a high throughput manner.

                    homepage: https://github.com/pinetree1/crispr-dav/

                    version toolchain 2.3.4 foss/2020b"},{"location":"version-specific/supported-software/#crispresso2","title":"CRISPResso2","text":"

                    CRISPResso2 is a software pipeline designed to enable rapid and intuitive interpretation of genome editing experiments.

                    homepage: https://github.com/pinellolab/CRISPResso2/

                    version versionsuffix toolchain 2.0.44 -Python-2.7.16 foss/2019b 2.1.2 -Python-2.7.18 foss/2020b 2.2.1 foss/2020b"},{"location":"version-specific/supported-software/#cromwell","title":"cromwell","text":"

                    Cromwell is a Workflow Management System geared towards scientific workflows.

                    homepage: http://cromwell.readthedocs.io/

                    version versionsuffix toolchain 56 -Java-11 system"},{"location":"version-specific/supported-software/#crossguid","title":"crossguid","text":"

                    CrossGuid is a minimal, cross platform, C++ GUID library. It uses the best native GUID/UUID generator on the given platform and has a generic class for parsing, stringifying, and comparing IDs. The guid generation technique is determined by your platform:

                    homepage: https://github.com/graeme-hill/crossguid

                    version toolchain 20190529 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#crossmap","title":"CrossMap","text":"

                    CrossMap is a program for genome coordinates conversion between different assemblies (such as hg18 (NCBI36) <=> hg19 (GRCh37)). It supports commonly used file formats including BAM, CRAM, SAM, Wiggle, BigWig, BED, GFF, GTF and VCF.

                    homepage: http://crossmap.sourceforge.net

                    version versionsuffix toolchain 0.3.9 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#crosstalkz","title":"CrossTalkZ","text":"

                    CrossTalkZ is a statistical method and software to assess the significance of crosstalk enrichment between pairs of gene or protein groups in large biological networks.

                    homepage: http://sonnhammer.sbc.su.se/download/software/CrossTalkZ/

                    version toolchain 1.4 foss/2016a"},{"location":"version-specific/supported-software/#crpropa","title":"CRPropa","text":"

                    CRPropa is a publicly available code to study the propagation of ultra high energy nuclei up to iron on their voyage through an extra galactic environment.

                    homepage: https://crpropa.desy.de

                    version versionsuffix toolchain 3.1.5 -Python-3.7.2 foss/2019a 3.1.6 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#crumble","title":"Crumble","text":"

                    Exploration of controlled loss of quality values for compressing CRAM files

                    homepage: https://github.com/jkbonfield/crumble

                    version toolchain 0.8.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#cryocare","title":"cryoCARE","text":"

                    This package is a memory efficient implementation of cryoCARE. This setup trains a denoising U-Net for tomographic reconstruction according to the Noise2Noise training paradigm. Therefore the user has to provide two tomograms of the same sample. The simplest way to achieve this is with direct- detector movie-frames. You can use Warp to generate two reconstructed tomograms based on the even/odd frames. Alternatively, the movie-frames can be split in two halves (e.g. with MotionCor2 -SplitSum 1 or with IMOD alignframes -debug 10000) from which two identical, up to random noise, tomograms can be reconstructed. These two (even and odd) tomograms can be used as input to this cryoCARE implementation.

                    homepage: https://github.com/juglab/cryoCARE_pip

                    version versionsuffix toolchain 0.2.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#cryodrgn","title":"cryoDRGN","text":"

                    cryoDRGN: Deep Reconstructing Generative Networks for cryo-EM heterogeneous reconstruction. CryoDRGN is a neural network based algorithm for heterogeneous cryo-EM reconstruction. In particular, the method models a continuous distribution over 3D structures by using a neural network based representation for the volume.

                    homepage: https://cb.csail.mit.edu/cb/cryodrgn/

                    version versionsuffix toolchain 0.3.2 fosscuda/2020b 0.3.5 -CUDA-11.3.1 foss/2021a 1.0.0-beta -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#cryptominisat","title":"CryptoMiniSat","text":"

                    CryptoMiniSat is an advanced SAT solver

                    homepage: https://github.com/msoos/cryptominisat

                    version versionsuffix toolchain 5.0.1 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#crystfel","title":"CrystFEL","text":"

                    CrystFEL is a suite of programs for processing diffraction data acquired \"serially\" in a \"snapshot\" manner, such as when using the technique of Serial Femtosecond Crystallography (SFX) with a free-electron laser source.

                    homepage: http://www.desy.de/~twhite/crystfel/

                    version toolchain 0.8.0 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#csb","title":"CSB","text":"

                    Computational Structural Biology Toolbox CSB is a python library and application framework, which can be used to solve problems in the field of structural bioinformatics. If you are a bioinformatician, software engineer or a researcher working in this field, chances are you may find something useful here. Our package consists of a few major components: 1. Core class library - object-oriented, granular, with an emphasis on design and clean interfaces. 2. Application framework - console applications (\"protocols\"), which consume objects from the core library in order to build something executable (and hopefully useful). 3. Test framework - ensures that the library actually works.

                    homepage: https://github.com/csb-toolbox

                    version toolchain 1.2.5 foss/2020b"},{"location":"version-specific/supported-software/#csbdeep","title":"CSBDeep","text":"

                    CSBDeep is a toolbox for Content-aware Image Restoration (CARE).

                    homepage: https://csbdeep.bioimagecomputing.com/

                    version versionsuffix toolchain 0.4.1 -Python-3.7.2 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#csblast","title":"CSBLAST","text":"

                    Context-specific extension of BLAST that significantly improves sensitivity and alignment quality.

                    homepage: https://github.com/soedinglab/csblast/

                    version toolchain 2.2.3 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#cscope","title":"cscope","text":"

                    Cscope is a developer's tool for browsing source code.

                    homepage: http://cscope.sourceforge.net/

                    version toolchain 15.9 system"},{"location":"version-specific/supported-software/#csvkit","title":"csvkit","text":"

                    csvkit is a suite of command-line tools for converting to and working with CSV, the king of tabular file formats.

                    homepage: https://github.com/wireservice/csvkit

                    version versionsuffix toolchain 1.0.4 GCCcore/8.2.0 1.0.5 -Python-3.7.4 GCCcore/8.3.0 1.1.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ctags","title":"ctags","text":"

                    Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility.

                    homepage: http://ctags.sourceforge.net/

                    version toolchain 5.8 system"},{"location":"version-specific/supported-software/#ctffind","title":"ctffind","text":"

                    Program for finding CTFs of electron micrographs.

                    homepage: https://grigoriefflab.umassmed.edu/ctffind4

                    version versionsuffix toolchain 4.1.13 foss/2019a, fosscuda/2019a, fosscuda/2019b 4.1.14 foss/2019b, foss/2021b, foss/2022a, fosscuda/2019b, fosscuda/2020b 4.1.14 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#ctpl","title":"CTPL","text":"

                    Modern and efficient C++ Thread Pool Library

                    homepage: https://github.com/vit-vit/CTPL.git

                    version toolchain 0.0.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#cube","title":"Cube","text":"

                    Cube, which is used as performance report explorer for Scalasca and Score-P, is a generic tool for displaying a multi-dimensional performance space consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree can be collapsed or expanded to achieve the desired level of granularity.

                    homepage: http://www.scalasca.org/software/cube-4.x/download.html

                    version toolchain 4.3.4 foss/2016a"},{"location":"version-specific/supported-software/#cubegui","title":"CubeGUI","text":"

                    Cube, which is used as performance report explorer for Scalasca and Score-P, is a generic tool for displaying a multi-dimensional performance space consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree can be collapsed or expanded to achieve the desired level of granularity. This module provides the Cube graphical report explorer.

                    homepage: https://www.scalasca.org/software/cube-4.x/download.html

                    version toolchain 4.4.4 GCCcore/8.2.0, GCCcore/9.3.0 4.6 GCCcore/10.2.0, GCCcore/10.3.0 4.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cubelib","title":"CubeLib","text":"

                    Cube, which is used as performance report explorer for Scalasca and Score-P, is a generic tool for displaying a multi-dimensional performance space consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree can be collapsed or expanded to achieve the desired level of granularity. This module provides the Cube general purpose C++ library component and command-line tools.

                    homepage: https://www.scalasca.org/software/cube-4.x/download.html

                    version toolchain 4.4.4 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.6 GCCcore/10.2.0, GCCcore/10.3.0 4.8 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cubewriter","title":"CubeWriter","text":"

                    Cube, which is used as performance report explorer for Scalasca and Score-P, is a generic tool for displaying a multi-dimensional performance space consisting of the dimensions (i) performance metric, (ii) call path, and (iii) system resource. Each dimension can be represented as a tree, where non-leaf nodes of the tree can be collapsed or expanded to achieve the desired level of granularity. This module provides the Cube high-performance C writer library component.

                    homepage: https://www.scalasca.org/software/cube-4.x/download.html

                    version toolchain 4.4.3 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.6 GCCcore/10.2.0, GCCcore/10.3.0 4.8 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#cuclark","title":"CuCLARK","text":"

                    Metagenomic classifier for CUDA-enabled GPUs

                    homepage: https://github.com/Funatiq/cuclark

                    version toolchain 1.1 fosscuda/2019b"},{"location":"version-specific/supported-software/#cuda","title":"CUDA","text":"

                    CUDA (formerly Compute Unified Device Architecture) is a parallel computing platform and programming model created by NVIDIA and implemented by the graphics processing units (GPUs) that they produce. CUDA gives developers access to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.

                    homepage: https://developer.nvidia.com/cuda-toolkit

                    version toolchain 5.5.22 GCC/4.8.2, system 6.0.37 system 6.5.14 system 7.0.28 system 7.5.18 GCC/4.9.4-2.25, iccifort/2016.3.210-GCC-4.9.3-2.25, system 8.0.44 GCC/5.4.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26, system 8.0.61 system 8.0.61_375.26 GCC/5.4.0-2.26 9.0.176 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28, system 9.1.85 GCC/6.4.0-2.28, system 9.2.88 GCC/6.4.0-2.28, GCC/7.3.0-2.30, system 9.2.148.1 system 10.0.130 system 10.1.105 GCC/8.2.0-2.31.1, iccifort/2019.1.144-GCC-8.2.0-2.31.1, system 10.1.168 system 10.1.243 GCC/8.3.0, iccifort/2019.5.281, system 10.2.89 GCC/8.3.0 11.0.2 GCC/9.3.0, iccifort/2020.1.217 11.1.1 GCC/10.2.0, iccifort/2020.4.304 11.3.1 system 11.4.1 system 11.4.2 system 11.5.0 system 11.5.1 system 11.5.2 system 11.6.0 system 11.7.0 system 11.8.0 system 12.0.0 system 12.1.0 system 12.1.1 system 12.2.0 system"},{"location":"version-specific/supported-software/#cuda-samples","title":"CUDA-Samples","text":"

                    Samples for CUDA Developers which demonstrates features in CUDA Toolkit

                    homepage: https://github.com/NVIDIA/cuda-samples

                    version versionsuffix toolchain 11.3 -CUDA-11.3.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#cudacompat","title":"CUDAcompat","text":"

                    Using the CUDA Forward Compatibility package, system administrators can run applications built using a newer toolkit even when an older driver that does not satisfy the minimum required driver version is installed on the system. This forward compatibility allows the CUDA deployments in data centers and enterprises to benefit from the faster release cadence and the latest features and performance of CUDA Toolkit.

                    homepage: https://docs.nvidia.com/deploy/cuda-compatibility/index.html

                    version versionsuffix toolchain 11 system 11.6 system 11.6 -510.85.02 system 11.7 system 11.7 -515.65.01 system"},{"location":"version-specific/supported-software/#cudacore","title":"CUDAcore","text":"

                    CUDA (formerly Compute Unified Device Architecture) is a parallel computing platform and programming model created by NVIDIA and implemented by the graphics processing units (GPUs) that they produce. CUDA gives developers access to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.

                    homepage: https://developer.nvidia.com/cuda-toolkit

                    version toolchain 11.0.2 system 11.1.1 system 11.2.1 system 11.2.2 system 11.3.0 system 11.4.0 system 11.5.1 system"},{"location":"version-specific/supported-software/#cudnn","title":"cuDNN","text":"

                    The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks.

                    homepage: https://developer.nvidia.com/cudnn

                    version versionsuffix toolchain 4.0 system 5.0 -CUDA-7.5.18 system 5.0-rc system 5.1 -CUDA-8.0.44 system 6.0 -CUDA-8.0.61 system 6.0.21 -CUDA-7.5.18 system 6.0.21 -CUDA-8.0.44 system 7.0.2 -CUDA-9.0.176 system 7.0.5 -CUDA-8.0.44 system 7.0.5 -CUDA-9.0.176 system 7.0.5 -CUDA-9.1.85 system 7.0.5.15 fosscuda/2017b, fosscuda/2018a, intelcuda/2017b 7.1.4.18 fosscuda/2018b 7.4.2.24 gcccuda/2019a 7.4.2.24 -CUDA-10.0.130 system 7.5.0.56 -CUDA-10.0.130 system 7.6.2.24 -CUDA-10.1.243 system 7.6.4.38 gcccuda/2019a, gcccuda/2019b 7.6.4.38 -CUDA-10.0.130 system 8.0.4.30 -CUDA-11.0.2 system 8.0.4.30 -CUDA-11.1.1 system 8.0.5.39 -CUDA-11.1.1 system 8.1.0.77 -CUDA-11.2.1 system 8.1.1.33 -CUDA-11.2.1 system 8.2.1.32 -CUDA-11.3.1 system 8.2.2.26 -CUDA-11.4.0 system 8.2.2.26 -CUDA-11.4.1 system 8.4.0.27 -CUDA-11.6.0 system 8.4.1.50 -CUDA-11.5.2 system 8.4.1.50 -CUDA-11.6.0 system 8.4.1.50 -CUDA-11.7.0 system 8.6.0.163 -CUDA-11.8.0 system 8.7.0.84 -CUDA-11.8.0 system 8.8.0.121 -CUDA-12.0.0 system 8.9.2.26 -CUDA-12.1.1 system"},{"location":"version-specific/supported-software/#cufflinks","title":"Cufflinks","text":"

                    Transcript assembly, differential expression, and differential regulation for RNA-Seq

                    homepage: http://cole-trapnell-lab.github.io/cufflinks/

                    version toolchain 2.2.1 foss/2016a, foss/2016b, foss/2018b, gompi/2019b, intel/2017b, intel/2018a 20190706 GCC/10.2.0, GCC/11.2.0, gompi/2019a"},{"location":"version-specific/supported-software/#cunit","title":"CUnit","text":"

                    Automated testing framework for C.

                    homepage: https://sourceforge.net/projects/cunit/

                    version toolchain 2.1-3 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#cupy","title":"CuPy","text":"

                    CuPy is an open-source array library accelerated with NVIDIA CUDA.

                    homepage: https://cupy.dev

                    version versionsuffix toolchain 8.2.0 -Python-3.7.4 fosscuda/2019b 8.5.0 fosscuda/2020b 11.4.0 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#curl","title":"cURL","text":"

                    libcurl is a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling and more.

                    homepage: https://curl.haxx.se

                    version toolchain 7.33.0 GCC/4.8.2 7.34.0 GCC/4.8.2 7.40.0 GCC/4.9.2 7.46.0 iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 7.47.0 foss/2016a, intel/2016.02-GCC-4.9, intel/2016a 7.49.1 GCCcore/5.4.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b 7.52.1 gimkl/2017a, intel/2016b 7.53.1 GCCcore/6.3.0 7.54.0 GCCcore/6.3.0 7.55.1 GCCcore/6.4.0 7.56.0 GCCcore/6.4.0 7.56.1 GCCcore/6.4.0 7.58.0 GCCcore/6.4.0 7.59.0 GCCcore/6.4.0 7.60.0 GCCcore/7.2.0, GCCcore/7.3.0 7.63.0 GCCcore/8.2.0 7.66.0 GCCcore/8.3.0 7.69.1 GCCcore/9.3.0 7.72.0 GCCcore/10.2.0 7.76.0 GCCcore/10.3.0 7.78.0 GCCcore/11.2.0 7.83.0 GCCcore/11.3.0 7.84.0 GCCcore/12.1.0 7.86.0 GCCcore/12.2.0 8.0.1 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#cusparselt","title":"cuSPARSELt","text":"

                    NVIDIA cuSPARSELt is a high-performance CUDA library dedicated to general matrix-matrix operations in which at least one operand is a sparse matrix

                    homepage: https://docs.nvidia.com/cuda/cusparselt/index.html

                    version versionsuffix toolchain 0.3.0.3 -CUDA-11.4.1 system"},{"location":"version-specific/supported-software/#custodian","title":"custodian","text":"

                    A simple JIT job management framework in Python.

                    homepage: https://pypi.python.org/pypi/custodian

                    version versionsuffix toolchain 1.1.0 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#cutadapt","title":"cutadapt","text":"

                    Cutadapt finds and removes adapter sequences, primers, poly-A tails and other types of unwanted sequence from your high-throughput sequencing reads.

                    homepage: https://opensource.scilifelab.se/projects/cutadapt/

                    version versionsuffix toolchain 1.9.1 -Python-2.7.11 foss/2016a 1.9.1 -Python-2.7.12 foss/2016b 1.14 -Python-2.7.13 foss/2017a, intel/2017a 1.15 -Python-3.5.2 foss/2016b 1.16 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 1.16 -Python-3.6.3 foss/2017b, intel/2017b 1.16 -Python-3.6.4 foss/2018a, intel/2018a 1.18 GCCcore/8.2.0, GCCcore/8.3.0 1.18 -Python-2.7.15 foss/2018b 1.18 -Python-2.7.18 GCC/10.2.0 1.18 -Python-3.6.6 foss/2018b, intel/2018b 2.1 -Python-3.6.6 foss/2018b 2.7 -Python-3.7.4 GCCcore/8.3.0 2.8 -Python-3.7.4 GCCcore/8.3.0 2.10 GCCcore/10.2.0 2.10 -Python-3.7.4 GCCcore/8.3.0 2.10 -Python-3.8.2 GCCcore/9.3.0 3.4 GCCcore/10.2.0, GCCcore/10.3.0 3.5 GCCcore/11.2.0 4.2 GCCcore/11.3.0 4.4 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#cutensor","title":"cuTENSOR","text":"

                    The cuTENSOR Library is a GPU-accelerated tensor linear algebra library providing tensor contraction, reduction and elementwise operations.

                    homepage: https://developer.nvidia.com/cutensor

                    version versionsuffix toolchain 1.2.2.5 gcccuda/2019b 1.2.2.5 -CUDA-11.1.1 system 1.6.0.3 -CUDA-11.3.1 system 1.6.1.5 -CUDA-11.4.1 system 1.6.1.5 -CUDA-11.7.0 system 1.7.0.1 -CUDA-12.0.0 system"},{"location":"version-specific/supported-software/#cutesv","title":"cuteSV","text":"

                    cuteSV uses tailored methods to collect the signatures of various types of SVs and employs a clustering-and-refinement method to analyze the signatures to implement sensitive SV detection.

                    homepage: https://github.com/tjiangHIT/cuteSV

                    version toolchain 2.0.3 foss/2022a"},{"location":"version-specific/supported-software/#cvs","title":"CVS","text":"

                    CVS is a version control system, an important component of Source Configuration Management (SCM).

                    homepage: https://savannah.nongnu.org/projects/cvs

                    version toolchain 1.11.23 GCC/4.8.2, GCCcore/11.2.0, GCCcore/4.9.3, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#cvxopt","title":"CVXOPT","text":"

                    CVXOPT is a free software package for convex optimization based on the Python programming language. Its main purpose is to make the development of software for convex optimization applications straightforward by building on Python's extensive standard library and on the strengths of Python as a high-level programming language.

                    homepage: https://cvxopt.org

                    version versionsuffix toolchain 1.1.9 -Python-2.7.13 intel/2017a 1.2.1 -Python-3.6.4 intel/2018a 1.2.3 foss/2019a 1.2.3 -Python-3.6.6 intel/2018b 1.2.4 -Python-3.7.4 intel/2019b 1.2.6 foss/2020b, foss/2021a 1.3.1 foss/2022a"},{"location":"version-specific/supported-software/#cvxpy","title":"CVXPY","text":"

                    CVXPY is a Python-embedded modeling language for convex optimization problems. It allows you to express your problem in a natural way that follows the math, rather than in the restrictive standard form required by solvers.

                    homepage: https://www.cvxpy.org/

                    version versionsuffix toolchain 1.0.24 foss/2019a 1.0.28 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#cwipi","title":"CWIPI","text":"

                    CWIPI (Coupling With Interpolation Parallel Interface) library helps in chaining and coupling codes. Provides exchanges of interpolated fields through a non-compliant geometric interface and allows control of the coupling algorithm using control parameters. CWIPI takes advantage of the distribution of the definition of the coupling algorithm in the different codes.

                    homepage: https://w3.onera.fr/cwipi/

                    version toolchain 0.12.0 gompi/2021a"},{"location":"version-specific/supported-software/#cwltool","title":"cwltool","text":"

                    Common workflow language (CWL) reference implementation.

                    homepage: https://github.com/common-workflow-language/cwltool

                    version toolchain 3.1.20221008225030 foss/2021a 3.1.20221018083734 foss/2021a"},{"location":"version-specific/supported-software/#cxxopts","title":"cxxopts","text":"

                    cxxopts is a lightweight C++ command line option parser

                    homepage: https://github.com/jarro2783/cxxopts

                    version toolchain 3.0.0 system"},{"location":"version-specific/supported-software/#cysignals","title":"cysignals","text":"

                    The cysignals package provides mechanisms to handle interrupts (and other signals and errors) in Cython code.

                    homepage: https://pypi.org/project/cysignals/

                    version versionsuffix toolchain 1.10.2 -Python-2.7.14 foss/2017b, intel/2017b 1.10.2 -Python-3.6.3 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#cython","title":"Cython","text":"

                    Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex).

                    homepage: https://cython.org/

                    version versionsuffix toolchain 0.23.4 -Python-2.7.10 gimkl/2.11.5 0.24.1 -Python-2.7.11 foss/2016a 0.25.2 -Python-2.7.12 foss/2016b 0.25.2 -Python-3.6.4 intel/2018a 0.27.3 -Python-2.7.15 GCCcore/8.2.0 0.29.10 -Python-2.7.14 foss/2017b, intel/2017b 0.29.10 -Python-3.6.3 foss/2017b, intel/2017b 0.29.22 GCCcore/10.2.0 0.29.33 GCCcore/11.3.0 3.0a5 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#cython-blis","title":"cython-blis","text":"

                    Fast BLAS-like operations from Python and Cython, without the tears. Provides the Blis linear algebra routines as a self-contained Python C-extension.

                    homepage: https://github.com/explosion/cython-blis

                    version toolchain 0.9.1 foss/2022a"},{"location":"version-specific/supported-software/#cytoolz","title":"cytoolz","text":"

                    Cython implementation of the toolz package, which provides high performance utility functions for iterables, functions, and dictionaries.

                    homepage: https://github.com/pytoolz/cytoolz

                    version versionsuffix toolchain 0.10.1 -Python-3.6.6 foss/2018b 0.10.1 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#cytoscape","title":"Cytoscape","text":"

                    Cytoscape is an open source software platform for visualizing complex networks and integrating these with any type of attribute data. A lot of Apps are available for various kinds of problem domains, including bioinformatics, social network analysis, and semantic web.

                    homepage: https://cytoscape.org/

                    version versionsuffix toolchain 3.9.1 -Java-11 system"},{"location":"version-specific/supported-software/#cytosim","title":"cytosim","text":"

                    Cytosim is a cytoskeleton simulation engine written in C++ working on Mac OS, GNU/Linux and Windows (with Cygwin).

                    homepage: https://github.com/nedelec/cytosim

                    version versionsuffix toolchain 20190117 -mkl gomkl/2019a"},{"location":"version-specific/supported-software/#cyvcf2","title":"cyvcf2","text":"

                    cython + htslib == fast VCF and BCF processing

                    homepage: https://github.com/brentp/cyvcf2

                    version versionsuffix toolchain 0.10.10 -Python-3.6.6 foss/2018b 0.11.5 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#d","title":"D","text":"

                    dadi - dagitty - Dakota - DALI - DaliLite - Dalton - damageproto - dammit - DANPOS2 - DAS_Tool - dask - dask-labextension - datamash - davix - DB - DB_File - DBCSR - DBD-mysql - DBG2OLC - DBus - dbus-glib - dclone - dcm2niix - DCMTK - dd - deal.II - deap - decona - deconf - DeconICA - deepdiff - DeepLabCut - deepmedic - DeepMod2 - DeepSurv - deepTools - DEICODE - Delly - DeMixT - DendroPy - DensPart - Deprecated - destiny - Detectron2 - detonate - Devito - DFA - DFT-D3 - DFT-D4 - DFTB+ - dftd3-lib - DGL - DIAL - DIALOGUE - DIAMOND - Dice - DiCE-ML - dicom2nifti - DicomBrowser - Diffutils - dijitso - dill - DIRAC - distributed - DistributedStream - DL_POLY_4 - DL_POLY_Classic - dlb - dlib - DLPack - dm-haiku - dm-reverb - dm-tree - DMCfun - DMLC-Core - DMTCP - DOLFIN - dominate - dorado - Doris - DosageConvertor - dotNET-Core-Runtime - dotNET-SDK - double-conversion - DoubletFinder - Doxygen - DRAGMAP - Drake - dRep - DROP - dropEst - DSA - dSFMT - DSRC - Dsuite - dtcmp - dtcwt - DualSPHysics - DUBStepR - dune-core - dune-fem - duplex-tools - dx-toolkit - dxpy - DyMat

                    "},{"location":"version-specific/supported-software/#dadi","title":"dadi","text":"

                    \u2202a\u2202i implements methods for demographic history and selection inference from genetic data, based on diffusion approximations to the allele frequency spectrum.

                    homepage: https://bitbucket.org/gutenkunstlab/dadi

                    version versionsuffix toolchain 1.7.0 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#dagitty","title":"dagitty","text":"

                    A port of the web-based software 'DAGitty', available at http://dagitty.net, for analyzing structural causal models (also known as directed acyclic graphs or DAGs). This package computes covariate adjustment sets for estimating causal effects, enumerates instrumental variables, derives testable implications (d-separation and vanishing tetrads), generates equivalent models, and includes a simple facility for data simulation.

                    homepage: https://cran.r-project.org/web/packages/dagitty/

                    version versionsuffix toolchain 0.2-2 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#dakota","title":"Dakota","text":"

                    The Dakota project delivers both state-of-the-art research and robust, usable software for optimization and UQ. Broadly, the Dakota software's advanced parametric analyses enable design exploration, model calibration, risk analysis, and quantification of margins and uncertainty with computational models.

                    homepage: https://dakota.sandia.gov/

                    version toolchain 6.16.0 foss/2021b"},{"location":"version-specific/supported-software/#dali","title":"DALI","text":"

                    R-package for the analysis of single-cell TCR/BCR data in the Seurat ecosystem

                    homepage: https://github.com/vibscc/DALI

                    version versionsuffix toolchain 2.1.2 -R-4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#dalilite","title":"DaliLite","text":"

                    DaliLite is a light version of the software run by the Dali server. The web server has search and data visualization options which are not included in this package. DaliLite supports data import (import.pl) to convert PDB entries to Dali's internal data format and pairwise comparison (dali.pl) to structurally align a list of query structures to a list of target structures.

                    homepage: http://ekhidna2.biocenter.helsinki.fi/dali/

                    version toolchain 4.1 gompi/2021a"},{"location":"version-specific/supported-software/#dalton","title":"Dalton","text":"

                    The Dalton code is a powerful tool for a wide range of molecular properties at different levels of theory. Any published work arising from use of one of the Dalton2016 programs must acknowledge that by a proper reference, https://www.daltonprogram.org/www/citation.html.

                    homepage: https://daltonprogram.org/

                    version versionsuffix toolchain 2016 -i8 intel/2017b 2020.0 foss/2021a 2020.1 foss/2022b"},{"location":"version-specific/supported-software/#damageproto","title":"damageproto","text":"

                    X protocol and ancillary headers for xinerama

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.2.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#dammit","title":"dammit","text":"

                    dammit is a simple de novo transcriptome annotator. It was born out of the observations that annotation is mundane and annoying, all the individual pieces of the process exist already, and the existing solutions are overly complicated or rely on crappy non-free software.

                    homepage: http://www.camillescott.org/dammit/

                    version versionsuffix toolchain 0.3.2 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#danpos2","title":"DANPOS2","text":"

                    A toolkit for Dynamic Analysis of Nucleosome and Protein Occupancy by Sequencing, version 2

                    homepage: https://sites.google.com/site/danposdoc

                    version versionsuffix toolchain 2.2.2 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#das_tool","title":"DAS_Tool","text":"

                    DAS Tool is an automated method that integrates the results of a flexible number of binning algorithms to calculate an optimized, non-redundant set of bins from a single assembly.

                    homepage: https://github.com/cmks/DAS_Tool

                    version versionsuffix toolchain 1.1.1 -R-3.5.1-Python-2.7.15 foss/2018b 1.1.1 -R-4.1.2 foss/2021b 1.1.3 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#dask","title":"dask","text":"

                    Dask natively scales Python. Dask provides advanced parallelism for analytics, enabling performance at scale for the tools you love.

                    homepage: https://dask.org/

                    version versionsuffix toolchain 0.8.2 -Python-2.7.11 intel/2016a 0.8.2 -Python-3.5.1 intel/2016a 0.11.0 -Python-2.7.11 foss/2016a 0.11.0 -Python-2.7.12 intel/2016b 0.11.0 -Python-3.5.2 intel/2016b 0.12.0 -Python-2.7.12 intel/2016b 0.12.0 -Python-3.5.2 foss/2016b, intel/2016b 0.16.0 -Python-2.7.14 foss/2017b, intel/2017b 0.16.0 -Python-3.6.3 foss/2017b, intel/2017b 0.17.0 -Python-2.7.13 foss/2017a, intel/2017a 0.17.0 -Python-3.6.1 intel/2017a 0.17.2 -Python-3.6.4 foss/2018a, intel/2018a 0.19.4 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 1.0.0 -Python-3.6.6 foss/2018b, intel/2018b 1.1.4 -Python-2.7.15 fosscuda/2018b 2.3.0 -Python-3.7.2 foss/2019a 2.8.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 2.18.1 -Python-3.8.2 foss/2020a, intel/2020a 2021.2.0 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 2021.9.1 foss/2021a 2022.1.0 foss/2021b 2022.10.0 foss/2022a"},{"location":"version-specific/supported-software/#dask-labextension","title":"dask-labextension","text":"

                    This package provides a JupyterLab extension to manage Dask clusters, as well as embed Dask's dashboard plots directly into JupyterLab panes.

                    homepage: https://github.com/dask/dask-labextension

                    version toolchain 6.0.0 foss/2022a"},{"location":"version-specific/supported-software/#datamash","title":"datamash","text":"

                    GNU datamash performs basic numeric, textual and statistical operations on input data files

                    homepage: https://www.gnu.org/software/datamash/

                    version toolchain 1.3 foss/2018a 1.5 GCCcore/10.2.0, GCCcore/7.3.0, GCCcore/8.3.0 1.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#davix","title":"davix","text":"

                    The davix project aims to make file management over HTTP-based protocols simple. The focus is on high-performance remote I/O and data management of large collections of files. Currently, there is support for the WebDav (link is external), Amazon S3 (link is external), Microsoft Azure (link is external), and HTTP (link is external) protocols.

                    homepage: https://dmc.web.cern.ch/projects/davix/home

                    version toolchain 0.6.6 intel/2017a 0.7.5 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#db","title":"DB","text":"

                    Berkeley DB enables the development of custom data management solutions, without the overhead traditionally associated with such custom projects.

                    homepage: http://www.oracle.com/technetwork/products/berkeleydb

                    version toolchain 4.8.30 intel/2016a 6.2.23 foss/2016a 6.2.32 GCCcore/6.4.0, intel/2017a 18.1.25 GCCcore/7.3.0 18.1.32 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 18.1.40 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.2.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#db_file","title":"DB_File","text":"

                    Perl5 access to Berkeley DB version 1.x.

                    homepage: https://perldoc.perl.org/DB_File.html

                    version versionsuffix toolchain 1.835 GCCcore/9.3.0 1.835 -Perl-5.20.3 intel/2016a 1.835 -Perl-5.22.1 foss/2016a 1.855 GCCcore/10.2.0 1.856 GCCcore/10.3.0 1.857 GCCcore/11.2.0 1.858 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dbcsr","title":"DBCSR","text":"

                    DBCSR stands for Distributed Blocked Compressed Sparse Row. DBCSR is a library designed to efficiently perform sparse matrix-matrix multiplication, among other operations.

                    homepage: https://cp2k.github.io/dbcsr/develop/

                    version toolchain 2.5.0 foss/2021b"},{"location":"version-specific/supported-software/#dbd-mysql","title":"DBD-mysql","text":"

                    Perl binding for MySQL

                    homepage: https://metacpan.org/pod/distribution/DBD-mysql/lib/DBD/mysql.pm

                    version versionsuffix toolchain 4.032 -Perl-5.22.2 intel/2016a 4.033 -Perl-5.24.0 intel/2016b 4.042 -Perl-5.24.1 intel/2017a 4.046 -Perl-5.26.0 foss/2017b, intel/2017b 4.046 -Perl-5.26.1 intel/2018a 4.048 -Perl-5.28.0 foss/2018b 4.050 GCC/10.2.0, GCC/11.2.0, GCC/11.3.0 4.050 -Perl-5.28.1 foss/2019a"},{"location":"version-specific/supported-software/#dbg2olc","title":"DBG2OLC","text":"

                    DBG2OLC:Efficient Assembly of Large Genomes Using Long Erroneous Reads of the Third Generation Sequencing Technologies

                    homepage: https://github.com/yechengxi/DBG2OLC

                    version toolchain 20170208 intel/2016b, intel/2017a 20180221 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28 20200724 GCC/11.3.0"},{"location":"version-specific/supported-software/#dbus","title":"DBus","text":"

                    D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed.

                    homepage: https://dbus.freedesktop.org/

                    version toolchain 1.10.8 foss/2016a, intel/2016a 1.10.12 intel/2016b 1.10.20 GCCcore/6.4.0 1.11.20 intel/2017a 1.13.0 intel/2017b 1.13.6 GCCcore/6.4.0, GCCcore/7.3.0 1.13.8 GCCcore/8.2.0 1.13.12 GCCcore/8.3.0, GCCcore/9.3.0 1.13.18 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.14.0 GCCcore/11.3.0 1.15.2 GCCcore/12.2.0 1.15.4 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#dbus-glib","title":"dbus-glib","text":"

                    D-Bus is a message bus system, a simple way for applications to talk to one another.

                    homepage: https://dbus.freedesktop.org/doc/dbus-glib

                    version toolchain 0.106 foss/2016a, intel/2016a 0.108 intel/2016b, intel/2017a 0.110 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, intel/2017b 0.112 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dclone","title":"dclone","text":"

                    Low level functions for implementing maximum likelihood estimating procedures for complex models using data cloning and Bayesian Markov chain Monte Carlo methods

                    homepage: https://cran.r-project.org/web/packages/dclone

                    version versionsuffix toolchain 2.3-0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#dcm2niix","title":"dcm2niix","text":"

                    dcm2niix is designed to convert neuroimaging data from the DICOM format to the NIfTI format.

                    homepage: https://github.com/rordenlab/dcm2niix

                    version toolchain 1.0.20180622 GCCcore/6.4.0, GCCcore/7.3.0 1.0.20190902 GCCcore/7.3.0, GCCcore/8.2.0 1.0.20200331 GCCcore/8.3.0 1.0.20201102 GCCcore/8.3.0 1.0.20211006 GCCcore/10.3.0 1.0.20220720 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dcmtk","title":"DCMTK","text":"

                    DCMTK is a collection of libraries and applications implementing large parts the DICOM standard. It includes software for examining, constructing and converting DICOM image files, handling offline media, sending and receiving images over a network connection, as well as demonstrative image storage and worklist servers.

                    homepage: https://dicom.offis.de/dcmtk

                    version toolchain 3.6.3 GCCcore/7.3.0 3.6.5 GCCcore/8.2.0, GCCcore/8.3.0 3.6.6 GCCcore/10.3.0, GCCcore/11.2.0 3.6.7 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dd","title":"dd","text":"

                    dd is a package for working with binary decision diagrams that includes both a pure Python implementation and Cython bindings to C libraries (CUDD, Sylvan, BuDDy). The Python and Cython modules implement the same API, so the same user code runs with both. All the standard operations on BDDs are available, including dynamic variable reordering using sifting, garbage collection, dump/load from files, plotting, and a parser of quantified Boolean expressions. This module includes bindings for: CUDD v3.0.0, Sylvan v1.0.0

                    homepage: https://github.com/tulip-control/dd

                    version versionsuffix toolchain 0.5.6 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#dealii","title":"deal.II","text":"

                    deal.II is a C++ program library targeted at the computational solution of partial differential equations using adaptive finite elements.

                    homepage: https://www.dealii.org

                    version toolchain 9.1.1 foss/2019a, intel/2019a 9.3.3 foss/2021a"},{"location":"version-specific/supported-software/#deap","title":"deap","text":"

                    DEAP is a novel evolutionary computation framework for rapid prototyping and testing of ideas. It seeks to make algorithms explicit and data structures transparent.

                    homepage: http://deap.readthedocs.org/en/master/

                    version versionsuffix toolchain 0.9.2 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#decona","title":"decona","text":"

                    fastq to polished sequenses: pipeline suitable for mixed samples and long (Nanopore) reads

                    homepage: https://github.com/Saskia-Oosterbroek/decona

                    version versionsuffix toolchain 0.1.2 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#deconf","title":"deconf","text":"

                    decomposition (deconfounding) of OMICS datasets in heterogeneous tissues

                    homepage: http://web.cbio.uct.ac.za/~renaud/CRAN/

                    version versionsuffix toolchain 1.0.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#deconica","title":"DeconICA","text":"

                    Deconvolution of transcriptome through Immune Component Analysis (DeconICA) is an R package for identifying immune-related signals in transcriptome through deconvolution or unsupervised source separation methods.

                    homepage: https://urszulaczerwinska.github.io/DeconICA

                    version versionsuffix toolchain 0.1.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#deepdiff","title":"deepdiff","text":"

                    DeepDiff: Deep Difference of dictionaries, iterables and almost any other object recursively.

                    homepage: https://zepworks.com/deepdiff/current/

                    version versionsuffix toolchain 3.3.0 -Python-2.7.15 intel/2018b 3.3.0 -Python-3.6.6 foss/2018b, intel/2018b 4.0.6 -Python-3.7.2 GCCcore/8.2.0 5.0.2 -Python-3.7.4 GCCcore/8.3.0 5.7.0 GCCcore/11.2.0 5.8.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#deeplabcut","title":"DeepLabCut","text":"

                    Markerless tracking of user-defined features with deep learning

                    homepage: http://www.mousemotorlab.org/deeplabcut

                    version versionsuffix toolchain 2.2.0.6 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#deepmedic","title":"deepmedic","text":"

                    Efficient Multi-Scale 3D Convolutional Neural Network for Segmentation of 3D Medical Scans.

                    homepage: https://biomedia.doc.ic.ac.uk/software/deepmedic/

                    version versionsuffix toolchain 0.8.2 foss/2021a 0.8.2 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#deepmod2","title":"DeepMod2","text":"

                    DeepMod2 is a computational tool for detecting DNA methylation and modifications from Oxford Nanopore reads.

                    homepage: https://github.com/WGLab/DeepMod2

                    version toolchain 0.0.1 foss/2021a"},{"location":"version-specific/supported-software/#deepsurv","title":"DeepSurv","text":"

                    DeepSurv is a deep learning approach to survival analysis.

                    homepage: https://github.com/jaredleekatzman/DeepSurv

                    version versionsuffix toolchain 2.0.0-20180922 -Python-3.6.6 fosscuda/2018b"},{"location":"version-specific/supported-software/#deeptools","title":"deepTools","text":"

                    deepTools is a suite of python tools particularly developed for the efficient analysis of high-throughput sequencing data, such as ChIP-seq, RNA-seq or MNase-seq.

                    homepage: https://deeptools.readthedocs.io/

                    version versionsuffix toolchain 2.5.4 -Python-3.6.3 intel/2017b 3.3.1 -Python-3.6.6 foss/2018b 3.3.1 -Python-3.7.4 intel/2019b 3.3.1 -Python-3.8.2 foss/2020a 3.5.0 foss/2021a 3.5.1 foss/2021b 3.5.2 foss/2022a"},{"location":"version-specific/supported-software/#deicode","title":"DEICODE","text":"

                    DEICODE is a form of Aitchison Distance that is robust to high levels of sparsity. DEICODE utilizes a natural solution to the zero problem formulated in recommendation systems called matrix completion. A simple way to interpret the method is, as a robust compositional PCA (via SVD) where zero values do not influence the resulting ordination.

                    homepage: https://library.qiime2.org/plugins/deicode/19/

                    version toolchain 0.2.4 foss/2022a"},{"location":"version-specific/supported-software/#delly","title":"Delly","text":"

                    Delly is an integrated structural variant (SV) prediction method that can discover, genotype and visualize deletions, tandem duplications, inversions and translocations at single-nucleotide resolution in short-read massively parallel sequencing data. It uses paired-ends, split-reads and read-depth to sensitively and accurately delineate genomic rearrangements throughout the genome.

                    homepage: https://github.com/dellytools/delly/

                    version versionsuffix toolchain 0.7.8 -linux_x86_64 system 0.8.7 gompi/2020b 1.1.5 GCC/11.3.0"},{"location":"version-specific/supported-software/#demixt","title":"DeMixT","text":"

                    Cell type-specific deconvolution of heterogeneous tumor samples with two or three components using expression data from RNAseq or microarray platforms.

                    homepage: https://bioinformatics.mdanderson.org/main/DeMixT

                    version versionsuffix toolchain 0.2.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#dendropy","title":"DendroPy","text":"

                    A Python library for phylogenetics and phylogenetic computing: reading, writing, simulation, processing and manipulation of phylogenetic trees (phylogenies) and characters.

                    homepage: https://dendropy.org/

                    version versionsuffix toolchain 4.4.0 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2019a 4.4.0 -Python-2.7.15 intel/2018b 4.5.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 4.5.2 -Python-2.7.18 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#denspart","title":"DensPart","text":"

                    Atoms-in-molecules density partitioning schemes based on stockholder recipe

                    homepage: https://github.com/theochem/denspart

                    version toolchain 20220603 intel/2022a"},{"location":"version-specific/supported-software/#deprecated","title":"Deprecated","text":"

                    If you need to mark a function or a method as deprecated, you can use the @deprecated decorator.

                    homepage: https://github.com/tantale/deprecated

                    version toolchain 1.2.13 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#destiny","title":"destiny","text":"

                    R packages to create and plot diffusion maps.

                    homepage: https://bioconductor.org/packages/destiny

                    version versionsuffix toolchain 2.5.6 -R-3.4.0 intel/2017a"},{"location":"version-specific/supported-software/#detectron2","title":"Detectron2","text":"

                    Detectron2 is Facebook AI Research's next generation library that provides state-of-the-art detection and segmentation algorithms. It is the successor of Detectron and maskrcnn-benchmark. It supports a number of computer vision research projects and production applications in Facebook.

                    homepage: https://github.com/facebookresearch/detectron2

                    version versionsuffix toolchain 0.6 foss/2021a 0.6 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#detonate","title":"detonate","text":"

                    DETONATE (DE novo TranscriptOme rNa-seq Assembly with or without the Truth Evaluation) consists of two component packages, RSEM-EVAL and REF-EVAL. Both packages are mainly intended to be used to evaluate de novo transcriptome assemblies, although REF-EVAL can be used to compare sets of any kinds of genomic sequences.

                    homepage: http://deweylab.biostat.wisc.edu/detonate/

                    version toolchain 1.11 intel/2017b"},{"location":"version-specific/supported-software/#devito","title":"Devito","text":"

                    Devito is a domain-specific Language (DSL) and code generation framework for performing optimised Finite Difference (FD) computation from high-level symbolic problem definitions. Devito performs automated code generation and Just-In-time (JIT) compilation based on symbolic equations defined in SymPy to create and execute highly optimised Finite Difference stencil kernels on multiple computer platforms.

                    homepage: https://www.devitoproject.org

                    version versionsuffix toolchain 4.6.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#dfa","title":"DFA","text":"

                    Python library for modeling DFAs, Moore Machines, and Transition Systems.

                    homepage: https://github.com/mvcisback/dfa

                    version versionsuffix toolchain 0.3.4 -Python-3.8.2 GCCcore/9.3.0 2.1.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#dft-d3","title":"DFT-D3","text":"

                    DFT-D3 implements a dispersion correction for density functionals, Hartree-Fock and semi-empirical quantum chemical methods.

                    homepage: https://www.chemie.uni-bonn.de/grimme/de/software/dft-d3

                    version toolchain 3.2.0 GCC/8.3.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0, intel/2019a"},{"location":"version-specific/supported-software/#dft-d4","title":"DFT-D4","text":"

                    Generally Applicable Atomic-Charge Dependent London Dispersion Correction.

                    homepage: https://www.chemie.uni-bonn.de/pctc/mulliken-center/software/dftd4

                    version versionsuffix toolchain 3.2.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#dftb","title":"DFTB+","text":"

                    DFTB+ is a fast and efficient versatile quantum mechanical simulation package. It is based on the Density Functional Tight Binding (DFTB) method, containing almost all of the useful extensions which have been developed for the DFTB framework so far. Using DFTB+ you can carry out quantum mechanical simulations like with ab-initio density functional theory based packages, but in an approximate way gaining typically around two order of magnitude in speed.

                    homepage: https://www.dftb-plus.info

                    version versionsuffix toolchain 1.3.1 intel/2017a 17.1 -Python-2.7.14 intel/2017b 19.1 -Python-2.7.16 foss/2019b 19.1 -Python-2.7.16-mpi foss/2019b 21.1 intel/2021a"},{"location":"version-specific/supported-software/#dftd3-lib","title":"dftd3-lib","text":"

                    This is a repackaged version of the DFTD3 program by S. Grimme and his coworkers. The original program (V3.1 Rev 1) was downloaded at 2016-04-03. It has been converted to free format and encapsulated into modules.

                    homepage: https://github.com/dftbplus/dftd3-lib

                    version toolchain 0.9 GCC/8.3.0, intel-compilers/2021.2.0"},{"location":"version-specific/supported-software/#dgl","title":"DGL","text":"

                    DGL is an easy-to-use, high performance and scalable Python package for deep learning on graphs. DGL is framework agnostic, meaning if a deep graph model is a component of an end-to-end application, the rest of the logics can be implemented in any major frameworks, such as PyTorch, Apache MXNet or TensorFlow.

                    homepage: https://www.dgl.ai

                    version versionsuffix toolchain 0.6.1 -Python-3.7.4-PyTorch-1.8.1 fosscuda/2019b 0.9.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#dial","title":"DIAL","text":"

                    DIAL (De novo Identification of Alleles) is a collection of programs to automate the discovery of alleles for a species where we lack a reference sequence. The SNPs/alleles are specifically selected for a low error rate in genotyping assays.

                    homepage: http://www.bx.psu.edu/miller_lab/

                    version toolchain 2011.06.06 foss/2016a"},{"location":"version-specific/supported-software/#dialogue","title":"DIALOGUE","text":"

                    DIALOGUE is a dimensionality reduction method that uses cross-cell-type associations to identify multicellular programs (MCPs) and map the cell transcriptome as a function of its environment.

                    homepage: https://github.com/livnatje/DIALOGUE

                    version versionsuffix toolchain 1.0-20230228 -R-4.2.0 foss/2021b"},{"location":"version-specific/supported-software/#diamond","title":"DIAMOND","text":"

                    Accelerated BLAST compatible local sequence aligner

                    homepage: https://github.com/bbuchfink/diamond

                    version toolchain 0.9.22 foss/2018a, foss/2018b, intel/2018a, intel/2018b 0.9.24 iccifort/2019.1.144-GCC-8.2.0-2.31.1 0.9.30 GCC/8.3.0, iccifort/2019.5.281 0.9.36 GCC/9.3.0 2.0.4 GCC/9.3.0 2.0.6 GCC/7.3.0-2.30 2.0.7 GCC/10.2.0 2.0.11 GCC/10.3.0 2.0.13 GCC/10.3.0, GCC/11.2.0 2.1.0 GCC/11.3.0 2.1.8 GCC/10.3.0"},{"location":"version-specific/supported-software/#dice","title":"Dice","text":"

                    Dice contains code for performing SHCI, VMC, GFMC, DMC, FCIQMC, stochastic MRCI and SC-NEVPT2, and AFQMC calculations with a focus on ab initio systems.

                    homepage: https://github.com/sanshar/Dice

                    version toolchain 20221025 foss/2022a"},{"location":"version-specific/supported-software/#dice-ml","title":"DiCE-ML","text":"

                    Diverse Counterfactual Explanations (DiCE) for ML

                    homepage: https://interpret.ml/DiCE

                    version toolchain 0.9 foss/2022a"},{"location":"version-specific/supported-software/#dicom2nifti","title":"dicom2nifti","text":"

                    Python library for converting dicom files to nifti

                    homepage: https://github.com/icometrix/dicom2nifti

                    version versionsuffix toolchain 2.2.12 -Python-3.8.2 foss/2020a 2.3.0 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#dicombrowser","title":"DicomBrowser","text":"

                    DicomBrowser is an application for inspecting and modifying DICOM metadata in many files at once.

                    homepage: http://nrg.wustl.edu/software/dicom-browser/

                    version versionsuffix toolchain 1.7.0b5 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#diffutils","title":"Diffutils","text":"

                    Diffutils: GNU diff utilities - find the differences between files

                    homepage: http://www.gnu.org/software/diffutils/diffutils.html

                    version toolchain 3.3 GCC/4.8.2"},{"location":"version-specific/supported-software/#dijitso","title":"dijitso","text":"

                    dijitso is a Python module for distributed just-in-time shared library building.

                    homepage: https://bitbucket.org/fenics-project/dijitso

                    version versionsuffix toolchain 2019.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#dill","title":"dill","text":"

                    dill extends python's pickle module for serializing and de-serializing python objects to the majority of the built-in python types. Serialization is the process of converting an object to a byte stream, and the inverse of which is converting a byte stream back to on python object hierarchy.

                    homepage: https://pypi.org/project/dill/

                    version toolchain 0.3.0 GCCcore/8.2.0 0.3.3 GCCcore/10.2.0, GCCcore/8.3.0 0.3.4 GCCcore/10.3.0, GCCcore/11.2.0 0.3.6 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dirac","title":"DIRAC","text":"

                    DIRAC: Program for Atomic and Molecular Direct Iterative Relativistic All-electron Calculations

                    homepage: http://www.diracprogram.org

                    version versionsuffix toolchain 19.0 -Python-2.7.18-int64 intel/2020a 19.0 -Python-2.7.18-mpi-int64 intel/2020a 22.0 foss/2021a, intel/2021a 22.0 -int64 intel/2021a 23.0 foss/2022a, foss/2022b, intel/2022a, intel/2022b 23.0 -int64 intel/2022b"},{"location":"version-specific/supported-software/#distributed","title":"distributed","text":"

                    Dask.distributed is a lightweight library for distributed computing in Python. It extends both the concurrent.futures and dask APIs to moderate sized clusters.

                    homepage: https://distributed.readthedocs.io/

                    version versionsuffix toolchain 1.14.3 -Python-2.7.12 intel/2016b 1.14.3 -Python-3.5.2 intel/2016b 1.21.6 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#distributedstream","title":"DistributedStream","text":"

                    A MPI distributed stream benchmark, useful to identifying nodes with poor memory performance and characterising memory bandwidth variation over systems.

                    homepage: https://github.com/adrianjhpc/DistributedStream

                    version toolchain 1.0 gompi/2021a"},{"location":"version-specific/supported-software/#dl_poly_4","title":"DL_POLY_4","text":"

                    DL_POLY is a general purpose classical molecular dynamics (MD) simulation software

                    homepage: https://www.scd.stfc.ac.uk/Pages/DL_POLY.aspx

                    version toolchain 5.0.0 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#dl_poly_classic","title":"DL_POLY_Classic","text":"

                    DL_POLY Classic is a freely available molecular dynamics program developed from the DL_POLY_2 package. This version does not install the java gui.

                    homepage: http://ccpforge.cse.rl.ac.uk/gf/project/dl_poly_classic/

                    version versionsuffix toolchain 1.9 intel/2016b 1.9 -PLUMED-2.2.3 intel/2016b 1.10 foss/2019b, intel/2019b"},{"location":"version-specific/supported-software/#dlb","title":"dlb","text":"

                    DLB is a dynamic library designed to speed up HPC hybrid applications (i.e., two levels of parallelism) by improving the load balance of the outer level of parallelism (e.g., MPI) by dynamically redistributing the computational resources at the inner level of parallelism (e.g., OpenMP). at run time.

                    homepage: https://pm.bsc.es/dlb/

                    version toolchain 3.2 gompi/2022a, iimpi/2022a 3.3.1 gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#dlib","title":"dlib","text":"

                    Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. It is used in both industry and academia in a wide range of domains including robotics, embedded devices, mobile phones, and large high performance computing environments.

                    homepage: https://github.com/davisking/dlib

                    version versionsuffix toolchain 19.22 foss/2021a 19.22 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#dlpack","title":"DLPack","text":"

                    DLPack is a stable in-memory data structure for an ndarray system to interact with a variety of frameworks.

                    homepage: https://dmlc.github.io/dlpack/latest/

                    version toolchain 0.3 GCC/10.3.0"},{"location":"version-specific/supported-software/#dm-haiku","title":"dm-haiku","text":"

                    Haiku is a simple neural network library for JAX developed by some of the authors of Sonnet, a neural network library for TensorFlow.

                    homepage: https://github.com/deepmind/dm-haiku

                    version versionsuffix toolchain 0.0.9 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#dm-reverb","title":"dm-reverb","text":"

                    Reverb is an efficient and easy-to-use data storage and transport system designed for machine learning research. Reverb is primarily used as an experience replay system for distributed reinforcement learning algorithms but the system also supports multiple data structure representations such as FIFO, LIFO, and priority queues.

                    homepage: https://github.com/deepmind/reverb

                    version toolchain 0.2.0 foss/2020b 0.7.0 foss/2021b"},{"location":"version-specific/supported-software/#dm-tree","title":"dm-tree","text":"

                    dm-tree provides tree, a library for working with nested data structures. In a way, tree generalizes the builtin map function which only supports flat sequences, and allows to apply a function to each \"leaf\" preserving the overall structure.

                    homepage: https://github.com/deepmind/tree

                    version toolchain 0.1.1 GCCcore/8.3.0 0.1.5 GCCcore/10.2.0 0.1.6 GCCcore/10.3.0, GCCcore/11.2.0 0.1.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dmcfun","title":"DMCfun","text":"

                    Diffusion Model of Conflict (DMC) in Reaction Time Tasks

                    homepage: https://cran.r-project.org/web/packages/DMCfun

                    version versionsuffix toolchain 1.3.0 -R-3.6.2 foss/2019b"},{"location":"version-specific/supported-software/#dmlc-core","title":"DMLC-Core","text":"

                    DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries.

                    homepage: https://dmlc-core.readthedocs.io/en/latest

                    version toolchain 0.5 GCC/10.3.0"},{"location":"version-specific/supported-software/#dmtcp","title":"DMTCP","text":"

                    DMTCP is a tool to transparently checkpoint the state of multiple simultaneous applications, including multi-threaded and distributed applications. It operates directly on the user binary executable, without any Linux kernel modules or other kernel modifications.

                    homepage: http://dmtcp.sourceforge.net/index.html

                    version toolchain 2.4.5 system 2.5.0 foss/2016a 2.5.1 system 2.5.2 GCCcore/8.3.0, foss/2016b, foss/2018b 2.6.0 GCCcore/8.2.0, GCCcore/9.3.0 3.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dolfin","title":"DOLFIN","text":"

                    DOLFIN is the C++/Python interface of FEniCS, providing a consistent PSE (Problem Solving Environment) for ordinary and partial differential equations.

                    homepage: https://bitbucket.org/fenics-project/dolfin

                    version versionsuffix toolchain 2018.1.0.post1 -Python-3.6.4 foss/2018a 2019.1.0.post0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#dominate","title":"dominate","text":"

                    Dominate is a Python library for creating and manipulating HTML documents using an elegant DOM API. It allows you to write HTML pages in pure Python very concisely, which eliminates the need to learn another template language, and lets you take advantage of the more powerful features of Python.

                    homepage: https://github.com/Knio/dominate/

                    version toolchain 2.8.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#dorado","title":"dorado","text":"

                    Dorado is a high-performance, easy-to-use, open source basecaller for Oxford Nanopore reads.

                    homepage: https://github.com/nanoporetech/dorado

                    version versionsuffix toolchain 0.1.1 -CUDA-11.7.0 foss/2022a 0.3.0 -CUDA-11.7.0 foss/2022a 0.3.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#doris","title":"Doris","text":"

                    Delft object-oriented radar interferometric software

                    homepage: http://doris.tudelft.nl/

                    version toolchain 4.02 intel/2017a 4.04beta4 foss/2018a, intel/2017a 4.06beta2 intel/2017a"},{"location":"version-specific/supported-software/#dosageconvertor","title":"DosageConvertor","text":"

                    DosageConvertor is a C++ tool to convert dosage files (in VCF format) from Minimac3/4 to other formats such as MaCH or PLINK. Please note that this tool CANNOT handle missing values in the input files and may NOT work for non-Minimac3/4 VCF files.

                    homepage: http://genome.sph.umich.edu/wiki/DosageConvertor

                    version toolchain 1.0.4 GCC/10.2.0"},{"location":"version-specific/supported-software/#dotnet-core-runtime","title":"dotNET-Core-Runtime","text":"

                    .NET is a free, cross-platform, open source developer platform for building many different types of applications.

                    homepage: https://www.microsoft.com/net/

                    version toolchain 2.0.7 GCCcore/6.4.0 5.0.17 GCCcore/10.3.0 6.0.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#dotnet-sdk","title":"dotNET-SDK","text":"

                    .NET is a free, cross-platform, open source developer platform for building many different types of applications.

                    homepage: https://www.microsoft.com/net/

                    version versionsuffix toolchain 3.1.300 -linux-x64 system 6.0.101 -linux-x64 system"},{"location":"version-specific/supported-software/#double-conversion","title":"double-conversion","text":"

                    Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles.

                    homepage: https://github.com/google/double-conversion

                    version toolchain 3.0.3 foss/2018a 3.1.4 GCCcore/8.2.0, GCCcore/8.3.0 3.1.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 3.2.0 GCCcore/11.3.0 3.2.1 GCCcore/12.2.0 3.3.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#doubletfinder","title":"DoubletFinder","text":"

                    R package for detecting doublets in single-cell RNA sequencing data

                    homepage: https://github.com/chris-mcginnis-ucsf/DoubletFinder

                    version versionsuffix toolchain 2.0.3 -R-4.0.0 foss/2020a 2.0.3-20230131 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#doxygen","title":"Doxygen","text":"

                    Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.

                    homepage: https://www.doxygen.org

                    version toolchain 1.8.9.1 GCC/4.9.2 1.8.10 GNU/4.9.3-2.25, intel/2016.02-GCC-4.9 1.8.11 GCC/4.9.2, GCCcore/5.4.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 1.8.13 GCCcore/6.3.0, GCCcore/6.4.0, gimkl/2017a 1.8.14 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0 1.8.15 GCCcore/8.2.0 1.8.16 GCCcore/8.3.0 1.8.17 GCCcore/9.3.0 1.8.20 GCCcore/10.2.0 1.9.1 GCCcore/10.3.0, GCCcore/11.2.0 1.9.4 GCCcore/11.3.0 1.9.5 GCCcore/12.2.0 1.9.7 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#dragmap","title":"DRAGMAP","text":"

                    Dragmap is the Dragen mapper/aligner Open Source Software.

                    homepage: https://github.com/Illumina/DRAGMAP

                    version toolchain 1.3.0 foss/2021b"},{"location":"version-specific/supported-software/#drake","title":"Drake","text":"

                    Drake is a simple-to-use, extensible, text-based data workflow tool that organizes command execution around data and its dependencies.

                    homepage: https://github.com/Factual/drake

                    version versionsuffix toolchain 1.0.3 -Java-1.8 system"},{"location":"version-specific/supported-software/#drep","title":"dRep","text":"

                    dRep is a python program which performs rapid pair-wise comparison of genome sets. One of it\u2019s major purposes is for genome de-replication, but it can do a lot more.

                    homepage: https://drep.readthedocs.io/en/latest/

                    version toolchain 3.0.0 foss/2021a 3.4.2 foss/2022a"},{"location":"version-specific/supported-software/#drop","title":"DROP","text":"

                    Pipeline to find aberrant events in RNA-Seq data, useful for diagnosis of rare disorders

                    homepage: https://gagneurlab-drop.readthedocs.io

                    version versionsuffix toolchain 1.0.3 -R-4.0.3 foss/2020b 1.1.0 -R-4.0.3 foss/2020b 1.1.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#dropest","title":"dropEst","text":"

                    Pipeline for initial analysis of droplet-based single-cell RNA-seq data

                    homepage: https://github.com/hms-dbmi/dropEst

                    version versionsuffix toolchain 0.7.1 -R-3.4.3 intel/2017b"},{"location":"version-specific/supported-software/#dsa","title":"DSA","text":"

                    Digital Sorting Algorithm

                    homepage: https://github.com/zhandong/DSA

                    version versionsuffix toolchain 1.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#dsfmt","title":"dSFMT","text":"

                    Double precision SIMD-oriented Fast Mersenne Twister.

                    homepage: https://github.com/MersenneTwister-Lab/dSFMT

                    version toolchain 2.2.5 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#dsrc","title":"DSRC","text":"

                    DNA Sequence Reads Compression is an application designed for compression of data files containing reads from DNA sequencing in FASTQ format. The amount of such files can be huge, e.g., a few (or tens) of gigabytes, so a need for a robust data compression tool is clear. Usually universal compression programs like gzip or bzip2 are used for this purpose, but it is obvious that a specialized tool can work better.

                    homepage: http://sun.aei.polsl.pl/dsrc

                    version versionsuffix toolchain 2.0rc -linux-64-bit system"},{"location":"version-specific/supported-software/#dsuite","title":"Dsuite","text":"

                    Fast calculation of the ABBA-BABA statistics across many populations/species

                    homepage: https://github.com/millanek/Dsuite

                    version toolchain 20190713 iccifort/2019.1.144-GCC-8.2.0-2.31.1 20210718 GCC/10.3.0, intel-compilers/2021.2.0"},{"location":"version-specific/supported-software/#dtcmp","title":"dtcmp","text":"

                    The Datatype Comparison (DTCMP) Library provides pre-defined and user-defined comparison operations to compare the values of two items which can be arbitrary MPI datatypes. Using these comparison operations, the library provides various routines for manipulating data, which may be distributed over the processes of an MPI communicator.

                    homepage: https://github.com/LLNL/dtcmp

                    version toolchain 1.1.0 gompi/2019a, gompi/2020a, iimpi/2019a, iimpi/2020a 1.1.2 gompi/2020b 1.1.4 gompi/2022a"},{"location":"version-specific/supported-software/#dtcwt","title":"dtcwt","text":"

                    Dual-Tree Complex Wavelet Transform library for Python

                    homepage: https://github.com/rjw57/dtcwt

                    version versionsuffix toolchain 0.12.0 -Python-2.7.15 foss/2018b 0.12.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#dualsphysics","title":"DualSPHysics","text":"

                    DualSPHysics is based on the Smoothed Particle Hydrodynamics model named SPHysics. The code is developed to study free-surface flow phenomena where Eulerian methods can be difficult to apply, such as waves or impact of dam-breaks on off-shore structures. DualSPHysics is a set of C++, CUDA and Java codes designed to deal with real-life engineering problems.

                    homepage: https://dual.sphysics.org/

                    version versionsuffix toolchain 5.0.175 GCC/11.2.0 5.0.175 -CUDA-%(cudaver)s GCC/11.2.0"},{"location":"version-specific/supported-software/#dubstepr","title":"DUBStepR","text":"

                    DUBStepR (Determining the Underlying Basis using Step-wise Regression) is a feature selection algorithm for cell type identification in single-cell RNA-sequencing data.

                    homepage: https://github.com/prabhakarlab/DUBStepR

                    version versionsuffix toolchain 1.2.0 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#dune-core","title":"dune-core","text":"

                    The Dune core modules build the stable basis of Dune. They follow a consistent release cycle and have high requirements regarding stability and backwards compatibility. These modules build the foundation for higher-level components.

                    homepage: https://www.dune-project.org/groups/core/

                    version toolchain 2.8.0.post1 foss/2020b"},{"location":"version-specific/supported-software/#dune-fem","title":"dune-fem","text":"

                    DUNE-FEM is a discretization module based on DUNE containing all the building blocks required to implement efficient solvers for a wide range of (systems of non linear) partial differential equations. DUNE-FEM can also be used through an extensive Python interface which brings all components of DUNE-FEM and the DUNE core modules to Python.

                    homepage: https://www.dune-project.org/modules/dune-fem/

                    version toolchain 2.8.0.6 foss/2020b"},{"location":"version-specific/supported-software/#duplex-tools","title":"duplex-tools","text":"

                    Duplex Tools contains a set of utilities for dealing with Duplex sequencing data. Tools are provided to identify and prepare duplex pairs for basecalling by Dorado (recommended) and Guppy, and for recovering simplex basecalls from incorrectly concatenated pairs.

                    homepage: https://github.com/nanoporetech/duplex-tools

                    version toolchain 0.3.1 foss/2022a 0.3.3 foss/2022a"},{"location":"version-specific/supported-software/#dx-toolkit","title":"dx-toolkit","text":"

                    The DNAnexus Platform SDK - also called dx-toolkit - includes the dx command-line client; tools for building and debugging apps; utilities for working with DNA data on the DNAnexus Platform; and Python, Java, C++ and R bindings for working on the DNAnexus Platform.

                    homepage: https://documentation.dnanexus.com/downloads#dnanexus-platform-sdk

                    version toolchain 0.350.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#dxpy","title":"dxpy","text":"

                    DNAnexus Platform API bindings for Python

                    homepage: http://autodoc.dnanexus.com/

                    version versionsuffix toolchain 0.266.1 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#dymat","title":"DyMat","text":"

                    Read and process result files from Dymola and OpenModelica with Python.

                    homepage: https://www.j-raedler.de/projects/DyMat

                    version versionsuffix toolchain 0.7 -2020-12-12 foss/2021b"},{"location":"version-specific/supported-software/#e","title":"E","text":"

                    E-ANTIC - ea-utils - earthengine-api - easel - EasyBuild - EasyQC - ecBuild - ecCodes - eccodes-python - ecFlow - ED2 - EDirect - edlib - EggLib - eggnog-mapper - EGTtools - eht-imaging - Eigen - EigenExa - EIGENSOFT - einops - elastix - elbencho - ELFIO - elfutils - Elk - ELPA - ELPH - elprep - ELSI - ELSI-RCI - Emacs - EMAN2 - EMBOSS - Embree - emcee - EMU - enaBrowserTool - enchant - enchant-2 - EnsEMBLCoreAPI - entrypoints - EPD - EPIC - epiScanpy - eQuilibrator - EricScript - ESL-Bundle - ESM-2 - ESMF - ESMPy - ESMValTool - eSpeak-NG - ESPResSo - Essentia - ETE - ETSF_IO - eudev - Evcxr-REPL - EvidentialGene - evmix - ExaBayes - ExaML - Excel-Writer-XLSX - ExifTool - exiv2 - Exonerate - expat - expect - expecttest - eXpress - Extrae - EZC3D

                    "},{"location":"version-specific/supported-software/#e-antic","title":"E-ANTIC","text":"

                    E-ANTIC is a C/C++ library to deal with real embedded number fields built on top of ANTIC (https://github.com/wbhart/antic). Its aim is to have as fast as possible exact arithmetic operations and comparisons.

                    homepage: https://github.com/videlec/e-antic

                    version toolchain 0.1.2 GCC/8.2.0-2.31.1 0.1.5 GCC/8.3.0"},{"location":"version-specific/supported-software/#ea-utils","title":"ea-utils","text":"

                    Command-line tools for processing biological sequencing data. Barcode demultiplexing, adapter trimming, etc. Primarily written to support an Illumina based pipeline - but should work with any FASTQs.

                    homepage: http://expressionanalysis.github.io/ea-utils/

                    version toolchain 1.04.807 foss/2016a, foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#earthengine-api","title":"earthengine-api","text":"

                    Python and JavaScript bindings for calling the Earth Engine API

                    homepage: https://github.com/google/earthengine-api

                    version versionsuffix toolchain 0.1.143 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#easel","title":"easel","text":"

                    Easel supports computational analysis of biological sequences using probabilistic models.

                    homepage: https://bioeasel.org/

                    version toolchain 0.48 GCC/12.2.0"},{"location":"version-specific/supported-software/#easybuild","title":"EasyBuild","text":"

                    EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.

                    homepage: https://easybuilders.github.io/easybuild

                    version toolchain 1.0.0 system 1.0.1 system 1.0.2 system 1.1.0 system 1.2.0 system 1.3.0 system 1.4.0 system 1.5.0 system 1.6.0 system 1.7.0 system 1.8.0 system 1.8.1 system 1.8.2 system 1.9.0 system 1.10.0 system 1.11.0 system 1.11.1 system 1.12.0 system 1.12.1 system 1.13.0 system 1.14.0 system 1.15.0 system 1.15.1 system 1.15.2 system 1.16.0 system 1.16.1 system 1.16.2 system 2.0.0 system 2.1.0 system 2.1.1 system 2.2.0 system 2.3.0 system 2.4.0 system 2.5.0 system 2.6.0 system 2.7.0 system 2.8.0 system 2.8.1 system 2.8.2 system 2.9.0 system 3.0.0 system 3.0.1 system 3.0.2 system 3.1.0 system 3.1.1 system 3.1.2 system 3.2.0 system 3.2.1 system 3.3.0 system 3.3.1 system 3.4.0 system 3.4.1 system 3.5.0 system 3.5.1 system 3.5.2 system 3.5.3 system 3.6.0 system 3.6.1 system 3.6.2 system 3.7.0 system 3.7.1 system 3.8.0 system 3.8.1 system 3.9.0 system 3.9.1 system 3.9.2 system 3.9.3 system 3.9.4 system 4.0.0 system 4.0.1 system 4.1.0 system 4.1.1 system 4.1.2 system 4.2.0 system 4.2.1 system 4.2.2 system 4.3.0 system 4.3.1 system 4.3.2 system 4.3.3 system 4.3.4 system 4.4.0 system 4.4.1 system 4.4.2 system 4.5.0 system 4.5.1 system 4.5.2 system 4.5.3 system 4.5.4 system 4.5.5 system 4.6.0 system 4.6.1 system 4.6.2 system 4.7.0 system 4.7.1 system 4.7.2 system"},{"location":"version-specific/supported-software/#easyqc","title":"EasyQC","text":"

                    EasyQC is an R-package that provides advanced functionality to (1) perform file-level QC of single genome-wide association (GWA) data-sets (2) conduct quality control across several GWA data-sets (meta-level QC) (3) simplify data-handling of large-scale GWA data-sets.

                    homepage: http://www.uni-regensburg.de/medizin/epidemiologie-praeventivmedizin/genetische-epidemiologie/software/

                    version versionsuffix toolchain 9.2 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#ecbuild","title":"ecBuild","text":"

                    A CMake-based build system, consisting of a collection of CMake macros and functions that ease the managing of software build systems

                    homepage: https://ecbuild.readthedocs.io/

                    version toolchain 3.7.0 system"},{"location":"version-specific/supported-software/#eccodes","title":"ecCodes","text":"

                    ecCodes is a package developed by ECMWF which provides an application programming interface and a set of tools for decoding and encoding messages in the following formats: WMO FM-92 GRIB edition 1 and edition 2, WMO FM-94 BUFR edition 3 and edition 4, WMO GTS abbreviated header (only decoding).

                    homepage: https://software.ecmwf.int/wiki/display/ECC/ecCodes+Home

                    version versionsuffix toolchain 2.7.3 intel/2018a 2.7.3 -Python-2.7.14 intel/2017b 2.8.2 intel/2018a 2.9.2 intel/2018b, iomkl/2018b 2.12.5 gompi/2019a 2.15.0 gompi/2019b, iimpi/2019b 2.17.0 foss/2018b, gompi/2019b 2.18.0 gompi/2020a 2.20.0 gompi/2020b 2.22.1 gompi/2021a 2.24.2 gompi/2021b, iimpi/2021b 2.27.0 gompi/2022a"},{"location":"version-specific/supported-software/#eccodes-python","title":"eccodes-python","text":"

                    Python 3 interface to decode and encode GRIB and BUFR files via the ECMWF ecCodes library.

                    homepage: https://github.com/ecmwf/eccodes-python

                    version versionsuffix toolchain 1.0.0 -Python-3.7.4 foss/2019b 1.0.0 -Python-3.8.2 foss/2020a 1.1.0 foss/2020b"},{"location":"version-specific/supported-software/#ecflow","title":"ecFlow","text":"

                    ecFlow is a client/server workflow package that enables users to run a large number of programs (with dependencies on each other and on time) in a controlled environment. It provides reasonable tolerance for hardware and software failures, combined with restart capabilities. It is used at ECMWF to run all our operational suites across a range of platforms.

                    homepage: https://ecflow.readthedocs.io/en/latest/index.html

                    version toolchain 5.7.0 GCC/10.2.0"},{"location":"version-specific/supported-software/#ed2","title":"ED2","text":"

                    The Ecosystem Demography Biosphere Model (ED2) is an integrated terrestrial biosphere model incorporating hydrology, land-surface biophysics, vegetation dynamics, and soil carbon and nitrogen biogeochemistry

                    homepage: https://github.com/EDmodel/ED2

                    version versionsuffix toolchain 20170201 intel/2017a 20170201 -serial intel/2017a"},{"location":"version-specific/supported-software/#edirect","title":"EDirect","text":"

                    Entrez Direct (EDirect) provides access to the NCBI's suite of interconnected databases from a Unix terminal window. Search terms are entered as command-line arguments. Individual operations are connected with Unix pipes to construct multi-step queries. Selected records can then be retrieved in a variety of formats.

                    homepage: https://www.ncbi.nlm.nih.gov/books/NBK25501/

                    version toolchain 19.7.20230531 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#edlib","title":"edlib","text":"

                    Lightweight, super fast library for sequence alignment using edit (Levenshtein) distance.

                    homepage: https://martinsos.github.io/edlib

                    version versionsuffix toolchain 1.3.8.post1 -Python-3.7.4 GCC/8.3.0, iccifort/2019.5.281 1.3.8.post1 -Python-3.8.2 GCC/9.3.0 1.3.8.post2 -Python-3.8.2 iccifort/2020.1.217 1.3.9 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#egglib","title":"EggLib","text":"

                    EggLib is a C++/Python library and program package for evolutionary genetics and genomics.

                    homepage: http://egglib.sourceforge.net/

                    version toolchain 2.1.10 intel/2016a"},{"location":"version-specific/supported-software/#eggnog-mapper","title":"eggnog-mapper","text":"

                    EggNOG-mapper is a tool for fast functional annotation of novel sequences. It uses precomputed orthologous groups and phylogenies from the eggNOG database (http://eggnog5.embl.de) to transfer functional information from fine-grained orthologs only. Common uses of eggNOG-mapper include the annotation of novel genomes, transcriptomes or even metagenomic gene catalogs.

                    homepage: https://github.com/eggnogdb/eggnog-mapper

                    version versionsuffix toolchain 1.0.3 -Python-2.7.14 intel/2018a 2.1.4 foss/2020b 2.1.7 foss/2021b 2.1.9 foss/2022a 2.1.10 foss/2020b"},{"location":"version-specific/supported-software/#egttools","title":"EGTtools","text":"

                    EGTtools provides a centralized repository with analytical and numerical methods to study/model game theoretical problems under the Evolutionary Game Theory (EGT) framework.

                    homepage: https://github.com/Socrats/EGTTools

                    version toolchain 0.1.10.dev2 foss/2021b 0.1.11 foss/2022a"},{"location":"version-specific/supported-software/#eht-imaging","title":"eht-imaging","text":"

                    Python modules for simulating and manipulating VLBI data and producing images with regularized maximum likelihood methods.

                    homepage: https://github.com/achael/eht-imaging

                    version toolchain 1.2.2 foss/2021a"},{"location":"version-specific/supported-software/#eigen","title":"Eigen","text":"

                    Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

                    homepage: https://eigen.tuxfamily.org

                    version toolchain 3.2.3 foss/2016a, foss/2016b 3.2.5 system 3.2.6 system 3.2.7 foss/2016a, intel/2016a 3.2.8 foss/2016a, intel/2016a, system 3.2.9 foss/2016b, intel/2016b 3.2.10 intel/2016b 3.3.2 foss/2016b, intel/2016b 3.3.3 GCCcore/6.3.0, intel/2016b 3.3.4 system 3.3.5 system 3.3.7 GCCcore/9.3.0, system 3.3.8 GCCcore/10.2.0 3.3.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 3.4.0 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#eigenexa","title":"EigenExa","text":"

                    EigenExa, a part of KMATHLIB, is a high performance eigen-solver.

                    homepage: https://www.r-ccs.riken.jp/labs/lpnctrt/projects/eigenexa/

                    version toolchain 2.11 intel/2020b"},{"location":"version-specific/supported-software/#eigensoft","title":"EIGENSOFT","text":"

                    The EIGENSOFT package combines functionality from our population genetics methods (Patterson et al. 2006) and our EIGENSTRAT stratification correction method (Price et al. 2006). The EIGENSTRAT method uses principal components analysis to explicitly model ancestry differences between cases and controls along continuous axes of variation; the resulting correction is specific to a candidate marker\u2019s variation in frequency across ancestral populations, minimizing spurious associations while maximizing power to detect true associations. The EIGENSOFT package has a built-in plotting script and supports multiple file formats and quantitative phenotypes.

                    homepage: http://www.hsph.harvard.edu/alkes-price/software/

                    version toolchain 6.0.1 foss/2016a 6.1.1 foss/2016a 6.1.4 foss/2016b 7.2.1 foss/2018b, foss/2019a, foss/2019b, foss/2020b, foss/2021a, intel/2019a"},{"location":"version-specific/supported-software/#einops","title":"einops","text":"

                    Flexible and powerful tensor operations for readable and reliable code. Supports numpy, pytorch, tensorflow, jax, and others.

                    homepage: https://einops.rocks/

                    version toolchain 0.3.2 GCCcore/10.2.0 0.4.1 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#elastix","title":"elastix","text":"

                    elastix: a toolbox for rigid and nonrigid registration of images.

                    homepage: http://elastix.isi.uu.nl/

                    version versionsuffix toolchain 4.9.0 foss/2018a 5.0.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#elbencho","title":"elbencho","text":"

                    A distributed storage benchmark for files, objects & blocks with support for GPUs

                    homepage: https://github.com/breuner/elbencho

                    version toolchain 2.0-3 GCC/10.3.0"},{"location":"version-specific/supported-software/#elfio","title":"ELFIO","text":"

                    ELFIO is a header-only C++ library intended for reading and generating files in the ELF binary format.

                    homepage: http://elfio.sourceforge.net

                    version toolchain 3.9 system"},{"location":"version-specific/supported-software/#elfutils","title":"elfutils","text":"

                    The elfutils project provides libraries and tools for ELF files and DWARF data.

                    homepage: https://elfutils.org/

                    version toolchain 0.182 GCCcore/9.3.0 0.183 GCCcore/10.2.0 0.185 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0 0.187 GCCcore/11.3.0 0.189 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#elk","title":"Elk","text":"

                    An all-electron full-potential linearised augmented-plane wave (FP-LAPW) code with many advanced features. Written originally at Karl-Franzens-Universit\u00e4t Graz as a milestone of the EXCITING EU Research and Training Network, the code is designed to be as simple as possible so that new developments in the field of density functional theory (DFT) can be added quickly and reliably.

                    homepage: http://elk.sourceforge.net/

                    version toolchain 4.0.15 intel/2016b 4.3.6 intel/2017a 6.3.2 intel/2019b 7.0.12 foss/2020b 7.2.42 foss/2021a 8.5.2 foss/2022a"},{"location":"version-specific/supported-software/#elpa","title":"ELPA","text":"

                    Eigenvalue SoLvers for Petaflop-Applications.

                    homepage: https://elpa.mpcdf.mpg.de/

                    version versionsuffix toolchain 2015.02.002 foss/2018a, gimkl/2017a, intel/2018a 2016.05.004 intel/2016b, intel/2017a 2016.11.001.pre foss/2018b, intel/2018b 2017.11.001 foss/2018b, intel/2018a, intel/2018b 2018.05.001 foss/2018b, intel/2018b 2018.11.001 intel/2019a 2019.11.001 foss/2019b, foss/2020a, intel/2019b, intel/2020a, iomkl/2019b 2020.05.001 intel/2020a 2020.11.001 foss/2020b, intel/2020b 2021.05.001 foss/2021a, foss/2021b, intel/2021a, intel/2021b 2021.05.002 intel/2020b 2021.11.001 foss/2021b, foss/2022a, intel/2021b, intel/2022a, intel/2022b 2022.05.001 foss/2022a, foss/2022b, intel/2022a, intel/2022b 2022.05.001 -CUDA-11.7.0 foss/2022a 2022.05.001 -CUDA-12.0.0 foss/2022b"},{"location":"version-specific/supported-software/#elph","title":"ELPH","text":"

                    ELPH is a general-purpose Gibbs sampler for finding motifs in a set of DNA or protein sequences. The program takes as input a set containing anywhere from a few dozen to thousands of sequences, and searches through them for the most common motif, assuming that each sequence contains one copy of the motif. We have used ELPH to find patterns such as ribosome binding sites (RBSs) and exon splicing enhancers (ESEs).

                    homepage: http://ccb.jhu.edu/software/ELPH/index.shtml

                    version toolchain 1.0.1 foss/2018b"},{"location":"version-specific/supported-software/#elprep","title":"elprep","text":"

                    elPrep is a high-performance tool for analyzing .sam/.bam files (up to and including variant calling) in sequencing pipelines.

                    homepage: https://github.com/ExaScience/elprep

                    version toolchain 5.1.1 system"},{"location":"version-specific/supported-software/#elsi","title":"ELSI","text":"

                    ELSI provides and enhances scalable, open-source software library solutions for electronic structure calculations in materials science, condensed matter physics, chemistry, and many other fields. ELSI focuses on methods that solve or circumvent eigenvalue problems in electronic structure theory. The ELSI infrastructure should also be useful for other challenging eigenvalue problems.

                    homepage: https://wordpress.elsi-interchange.org/

                    version versionsuffix toolchain 2.5.0 foss/2019b, intel/2019b 2.5.0 -PEXSI foss/2019b, intel/2019b 2.6.4 -PEXSI foss/2020b, intel/2020b 2.7.1 -PEXSI foss/2021a, intel/2021a"},{"location":"version-specific/supported-software/#elsi-rci","title":"ELSI-RCI","text":"

                    ELSI-RCI provides and enhances open-source software packages which iteratively solve or circumvent eigenvalue problems in self-consistent field calculations based on the Kohn-Sham density-functional theory.

                    homepage: https://wordpress.elsi-interchange.org/

                    version toolchain 0.1.0 GCC/10.3.0, GCC/11.2.0, foss/2020b, intel-compilers/2021.2.0, intel-compilers/2021.4.0, intel/2020b"},{"location":"version-specific/supported-software/#emacs","title":"Emacs","text":"

                    GNU Emacs is an extensible, customizable text editor--and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.

                    homepage: https://www.gnu.org/software/emacs/

                    version versionsuffix toolchain 24.3 GCC/4.8.3 24.3 -bare GCC/4.8.3 24.4 GCC/4.9.2 24.5 GCC/4.9.3-2.25 25.1 foss/2016a 25.3 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0 26.3 GCCcore/8.3.0 27.1 GCCcore/10.2.0, GCCcore/9.3.0 27.2 GCCcore/11.2.0 28.1 GCCcore/10.2.0 28.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#eman2","title":"EMAN2","text":"

                    EMAN2 is a broadly based greyscale scientific image processing suite with a primary focus on processing data from transmission electron microscopes.

                    homepage: https://blake.bcm.edu/emanwiki/EMAN2

                    version versionsuffix toolchain 2.3 system 2.3 -Python-2.7.15 foss/2019a, fosscuda/2019a 2.21a -Python-2.7.14-Boost-1.63.0 foss/2018a"},{"location":"version-specific/supported-software/#emboss","title":"EMBOSS","text":"

                    EMBOSS is 'The European Molecular Biology Open Software Suite'. EMBOSS is a free Open Source software analysis package specially developed for the needs of the molecular biology (e.g. EMBnet) user community.

                    homepage: http://emboss.sourceforge.net/

                    version versionsuffix toolchain 6.6.0 GCC/8.2.0-2.31.1, foss/2016b, foss/2018b, foss/2021a, foss/2021b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2017a, intel/2018b 6.6.0 -Java-11 GCC/8.3.0 6.6.0 -Java-13 GCC/10.2.0 6.6.0 -X11-20170314 intel/2017a"},{"location":"version-specific/supported-software/#embree","title":"Embree","text":"

                    Intel\u00ae Embree is a collection of high-performance ray tracing kernels, developed at Intel. The target users of Intel\u00ae Embree are graphics application engineers who want to improve the performance of their photo-realistic rendering application by leveraging Embree's performance-optimized ray tracing kernels. The kernels are optimized for the latest Intel\u00ae processors with support for SSE, AVX, AVX2, and AVX-512 instructions. Intel\u00ae Embree supports runtime code selection to choose the traversal and build algorithms that best matches the instruction set of your CPU. We recommend using Intel\u00ae Embree through its API to get the highest benefit from future improvements. Intel\u00ae Embree is released as Open Source under the Apache 2.0 license.

                    homepage: https://embree.github.io/

                    version toolchain 3.4.0 iccifort/2018.1.163-GCC-6.4.0-2.28 3.13.4 system"},{"location":"version-specific/supported-software/#emcee","title":"emcee","text":"

                    Emcee is an extensible, pure-Python implementation of Goodman & Weare's Affine Invariant Markov chain Monte Carlo (MCMC) Ensemble sampler. It's designed for Bayesian parameter estimation and it's really sweet!

                    homepage: https://emcee.readthedocs.io/

                    version versionsuffix toolchain 2.2.1 foss/2019a 2.2.1 -Python-2.7.15 foss/2018b, intel/2018b 2.2.1 -Python-3.6.6 foss/2018b, intel/2018b 3.1.4 foss/2021b"},{"location":"version-specific/supported-software/#emu","title":"EMU","text":"

                    EMU infers population structure in the presence of missingness and works for both haploid, psuedo-haploid and diploid genotype datasets

                    homepage: http://www.popgen.dk/software/index.php/EMU

                    version versionsuffix toolchain 0.66 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#enabrowsertool","title":"enaBrowserTool","text":"

                    enaBrowserTools is a set of scripts that interface with the ENA web services to download data from ENA easily, without any knowledge of scripting required.

                    homepage: https://github.com/enasequence/enaBrowserTools/

                    version versionsuffix toolchain 1.5.4 -Python-3.7.2 GCCcore/8.2.0 1.6 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#enchant","title":"enchant","text":"

                    Enchant is a library (and command-line program) that wraps a number of different spelling libraries and programs with a consistent interface.

                    homepage: https://abiword.github.io/enchant/

                    version toolchain 1.6.1 intel/2017a"},{"location":"version-specific/supported-software/#enchant-2","title":"enchant-2","text":"

                    Enchant aims to provide a simple but comprehensive abstraction for dealing with different spell checking libraries in a consistent way. A client, such as a text editor or word processor, need not know anything about a specific spell-checker, and since all back-ends are plugins, new spell-checkers can be added without needing any change to the program using Enchant.

                    homepage: https://github.com/AbiWord/enchant

                    version toolchain 2.3.3 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ensemblcoreapi","title":"EnsEMBLCoreAPI","text":"

                    The Ensembl Core Perl API and SQL schema

                    homepage: https://www.ensembl.org/info/docs/api/index.html

                    version versionsuffix toolchain 96.0-r20190601 -Perl-5.28.1 foss/2019a"},{"location":"version-specific/supported-software/#entrypoints","title":"entrypoints","text":"

                    Entry points are a way for Python packages to advertise objects with some common interface.

                    homepage: https://github.com/takluyver/entrypoints

                    version versionsuffix toolchain 0.2.2 -Python-2.7.11 foss/2016a 0.2.2 -Python-2.7.12 foss/2016b, intel/2016b 0.2.2 -Python-3.5.1 foss/2016a 0.2.2 -Python-3.5.2 intel/2016b"},{"location":"version-specific/supported-software/#epd","title":"EPD","text":"

                    The Enthought Python Distribution provides scientists with a comprehensive set of tools to perform rigorous data analysis and visualization. Python, distinguished by its flexibility, coherence, and ease-of-use, is rapidly becoming the programming language of choice for researchers worldwide. EPD extends this capacity with a powerful collection of Python libraries to enable interactive technical computing and cross-platform rapid application development.

                    homepage: http://www.enthought.com/products/edudownload.php

                    version toolchain 7.3-2-rh5 system"},{"location":"version-specific/supported-software/#epic","title":"EPIC","text":"

                    Package implementing EPIC method to estimate the proportion of immune, stromal, endothelial and cancer or other cells from bulk gene expression data.

                    homepage: https://gfellerlab.shinyapps.io/EPIC_1-1

                    version versionsuffix toolchain 1.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#episcanpy","title":"epiScanpy","text":"

                    EpiScanpy is a toolkit to analyse single-cell open chromatin (scATAC-seq) and single-cell DNA methylation (for example scBS-seq) data. EpiScanpy is the epigenomic extension of the very popular scRNA-seq analysis tool Scanpy (Genome Biology, 2018) [Wolf18].

                    homepage: https://github.com/colomemaria/episcanpy

                    version toolchain 0.3.1 foss/2021a 0.4.0 foss/2022a"},{"location":"version-specific/supported-software/#equilibrator","title":"eQuilibrator","text":"

                    Calculation of standard thermodynamic potentials of biochemical reactions.

                    homepage: https://equilibrator.weizmann.ac.il/

                    version toolchain 0.4.7 foss/2021a"},{"location":"version-specific/supported-software/#ericscript","title":"EricScript","text":"

                    EricScript is a computational framework for the discovery of gene fusions in paired end RNA-seq data.

                    homepage: https://sites.google.com/site/bioericscript/home

                    version versionsuffix toolchain 0.5.5 -R-3.4.0 intel/2017a"},{"location":"version-specific/supported-software/#esl-bundle","title":"ESL-Bundle","text":"

                    The ESL Bundle is a collection of libraries and utilities broadly used in electronic structure calculations, put together to make their use easier by researchers and scientific software developers. ESL stands for Electronic Structure Library, an initiative which distributes quality software and promotes open standards for high-performance computing applications in the field of electronic structure calculations.

                    homepage: https://esl.cecam.org

                    version toolchain 0.6.1 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#esm-2","title":"ESM-2","text":"

                    ESM-2 outperforms all tested single-sequence protein language models across a range of structure prediction tasks. ESMFold harnesses the ESM-2 language model to generate accurate structure predictions end to end directly from the sequence of a protein.

                    homepage: https://github.com/facebookresearch/esm

                    version versionsuffix toolchain 2.0.0 foss/2021a 2.0.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#esmf","title":"ESMF","text":"

                    The Earth System Modeling Framework (ESMF) is a suite of software tools for developing high-performance, multi-component Earth science modeling applications.

                    homepage: https://www.earthsystemcog.org/projects/esmf/

                    version versionsuffix toolchain 6.3.0rp1 intel/2017a 6.3.0rp1 -HDF5-1.8.18 intel/2017a 7.0.0 foss/2016a 7.0.2 intel/2017b 7.1.0r foss/2018b, foss/2019a, intel/2018a, intel/2018b, iomkl/2018b 8.0.0 foss/2019b, intel/2019b 8.0.1 foss/2020a, foss/2020b, intel/2020a, intel/2020b 8.1.1 foss/2021a, intel/2021a 8.2.0 foss/2021b, intel/2021b 8.3.0 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#esmpy","title":"ESMPy","text":"

                    Earth System Modeling Framework (ESMF) Python Interface

                    homepage: https://earthsystemmodeling.org/esmpy

                    version versionsuffix toolchain 8.0.0 -Python-3.7.4 intel/2019b 8.0.1 intel/2020b 8.0.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#esmvaltool","title":"ESMValTool","text":"

                    The Earth System Model eValuation Tool (ESMValTool) is a community diagnostics and performance metrics tool for the evaluation of Earth System Models (ESMs) that allows for routine comparison of single or multiple models, either against predecessor versions or against observations.

                    homepage: https://www.esmvaltool.org/

                    version versionsuffix toolchain 1.1.0 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#espeak-ng","title":"eSpeak-NG","text":"

                    The eSpeak NG is a compact open source software text-to-speech synthesizer for Linux, Windows, Android and other operating systems. It supports more than 100 languages and accents. It is based on the eSpeak engine created by Jonathan Duddington.

                    homepage: https://github.com/espeak-ng/espeak-ng

                    version toolchain 1.50 gompi/2020a"},{"location":"version-specific/supported-software/#espresso","title":"ESPResSo","text":"

                    A software package for performing and analyzing scientific Molecular Dynamics simulations.

                    homepage: https://espressomd.org/wordpress

                    version versionsuffix toolchain 4.2.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#essentia","title":"Essentia","text":"

                    Open-source library and tools for audio and music analysis, description and synthesis

                    homepage: https://essentia.upf.edu

                    version versionsuffix toolchain 2.1_beta5 -Python-2.7.15 foss/2019a"},{"location":"version-specific/supported-software/#ete","title":"ETE","text":"

                    A Python framework for the analysis and visualization of trees

                    homepage: http://etetoolkit.org

                    version versionsuffix toolchain 3.0.0b36 -Python-2.7.12 intel/2016b 3.1.1 -Python-3.6.6 foss/2018b 3.1.2 foss/2020b, foss/2021a, foss/2021b 3.1.2 -Python-3.7.4 foss/2019b 3.1.2 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#etsf_io","title":"ETSF_IO","text":"

                    A library of F90 routines to read/write the ETSF file format has been written. It is called ETSF_IO and available under LGPL.

                    homepage: http://www.etsf.eu/resources/software/libraries_and_tools

                    version toolchain 1.0.4 foss/2017b, foss/2018a, foss/2018b, intel/2017b, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#eudev","title":"eudev","text":"

                    eudev is a fork of systemd-udev with the goal of obtaining better compatibility with existing software such as OpenRC and Upstart, older kernels, various toolchains and anything else required by users and various distributions.

                    homepage: https://wiki.gentoo.org/wiki/Project:Eudev

                    version toolchain 3.1.5 foss/2016a, gimkl/2.11.5, intel/2016a 3.2 GCCcore/4.9.3 3.2.2 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#evcxr-repl","title":"Evcxr-REPL","text":"

                    A Rust REPL (Read-Eval-Print loop) built using the evcxr evaluation context.

                    homepage: https://github.com/evcxr

                    version versionsuffix toolchain 0.14.2 -Rust-1.65.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#evidentialgene","title":"EvidentialGene","text":"

                    EvidentialGene is a genome informatics project for \"Evidence Directed Gene Construction for Eukaryotes\", for constructing high quality, accurate gene sets for animals and plants (any eukaryotes), being developed by Don Gilbert at Indiana University, gilbertd at indiana edu.

                    homepage: http://arthropods.eugenes.org/EvidentialGene/

                    version versionsuffix toolchain 2018.01.01 -Perl-5.24.1 intel/2017a 2022.01.14 gompi/2021b"},{"location":"version-specific/supported-software/#evmix","title":"evmix","text":"

                    evmix: Extreme Value Mixture Modelling, Threshold Estimation and Boundary Corrected Kernel Density Estimation

                    homepage: https://cran.r-project.org/web/packages/evmix

                    version versionsuffix toolchain 2.6 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#exabayes","title":"ExaBayes","text":"

                    ExaBayes is a software package for Bayesian tree inference. It is particularly suitable for large-scale analyses on computer clusters

                    homepage: https://cme.h-its.org/exelixis/web/software/exabayes/

                    version toolchain 1.5 foss/2016b"},{"location":"version-specific/supported-software/#examl","title":"ExaML","text":"

                    Exascale Maximum Likelihood (ExaML) code for phylogenetic inference using MPI

                    homepage: https://github.com/stamatak/ExaML/

                    version versionsuffix toolchain 3.0.22 -hybrid-avx gompi/2021a"},{"location":"version-specific/supported-software/#excel-writer-xlsx","title":"Excel-Writer-XLSX","text":"

                    The Excel::Writer::XLSX module can be used to create an Excel file in the 2007+ XLSX format. Multiple worksheets can be added to a workbook and formatting can be applied to cells. Text, numbers, and formulas can be written to the cells.

                    homepage: https://metacpan.org/pod/Excel::Writer::XLSX

                    version toolchain 1.09 foss/2020b"},{"location":"version-specific/supported-software/#exiftool","title":"ExifTool","text":"

                    Perl module (Image::ExifTool) and program (exiftool) to read EXIF information from images

                    homepage: https://owl.phy.queensu.ca/~phil/exiftool/

                    version toolchain 12.00 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#exiv2","title":"exiv2","text":"

                    Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata.

                    homepage: https://exiv2.org

                    version toolchain 0.27.4 GCCcore/10.3.0 0.27.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#exonerate","title":"Exonerate","text":"

                    Exonerate is a generic tool for pairwise sequence comparison. It allows you to align sequences using a many alignment models, using either exhaustive dynamic programming, or a variety of heuristics.

                    homepage: https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate

                    version toolchain 2.4.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCC/6.4.0-2.28, GCC/8.3.0, foss/2016a, foss/2016b, iccifort/2017.4.196-GCC-6.4.0-2.28, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, intel/2017a"},{"location":"version-specific/supported-software/#expat","title":"expat","text":"

                    Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags).

                    homepage: https://libexpat.github.io

                    version toolchain 2.1.0 GCC/4.9.2, foss/2016a, intel/2016a 2.1.1 foss/2016a, intel/2016a 2.2.0 GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, foss/2016a, foss/2016b, gimkl/2017a, intel/2016b 2.2.4 GCCcore/6.4.0 2.2.5 GCCcore/6.4.0, GCCcore/7.3.0 2.2.6 GCCcore/8.2.0 2.2.7 GCCcore/8.3.0 2.2.9 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 2.4.1 GCCcore/11.2.0 2.4.8 GCCcore/11.3.0, GCCcore/12.1.0 2.4.9 GCCcore/12.2.0 2.5.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#expect","title":"expect","text":"

                    Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this stuff trivial. Expect is also useful for testing these same applications.

                    homepage: https://core.tcl.tk/expect/index

                    version toolchain 5.45.4 GCCcore/7.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#expecttest","title":"expecttest","text":"

                    This library implements expect tests (also known as \"golden\" tests). Expect tests are a method of writing tests where instead of hard-coding the expected output of a test, you run the test to get the output, and the test framework automatically populates the expected output. If the output of the test changes, you can rerun the test with the environment variable EXPECTTEST_ACCEPT=1 to automatically update the expected output.

                    homepage: https://github.com/ezyang/expecttest

                    version toolchain 0.1.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#express","title":"eXpress","text":"

                    Streaming quantification for high-throughput sequencing

                    homepage: https://pachterlab.github.io/eXpress

                    version toolchain 1.5.1 intel/2017b"},{"location":"version-specific/supported-software/#extrae","title":"Extrae","text":"

                    Extrae is the core instrumentation package developed by the Performance Tools group at BSC. Extrae is capable of instrumenting applications based on MPI, OpenMP, pthreads, CUDA1, OpenCL1, and StarSs1 using different instrumentation approaches. The information gathered by Extrae typically includes timestamped events of runtime calls, performance counters and source code references. Besides, Extrae provides its own API to allow the user to manually instrument his or her application.

                    homepage: https://www.bsc.es/computer-sciences/performance-tools

                    version toolchain 3.4.1 foss/2017a 3.7.1 intel/2019a 3.8.0 gompi/2020b 3.8.3 gompi/2021a 4.0.4 gompi/2022a"},{"location":"version-specific/supported-software/#ezc3d","title":"EZC3D","text":"

                    EZC3D is an easy to use reader, modifier and writer for C3D format files. It is written en C++ with proper binders for Python and MATLAB/Octave scripting langages.

                    homepage: https://pyomeca.github.io/Documentation/ezc3d/index.html

                    version toolchain 1.5.2 foss/2022a"},{"location":"version-specific/supported-software/#f","title":"F","text":"

                    f90cache - f90wrap - Faber - FabIO - faceswap - FALCON - FANN - fast5 - FASTA - fastahack - fastai - FastaIndex - FastANI - Fastaq - FastFold - fastjet - fastjet-contrib - FastME - fastp - fastparquet - fastPHASE - fastq-pair - fastq-tools - FastQ_Screen - FastQC - fastqsplitter - FastQTL - fastqz - FastRFS - fastStructure - FastTree - FastViromeExplorer - FASTX-Toolkit - fatslim - fbm - FBPIC - FCC - FCM - fdict - FDS - fdstools - FDTD_Solutions - feh - FEniCS - fermi-lite - Ferret - festival - fetchMG - FFC - FFLAS-FFPACK - FFmpeg - ffmpi - ffnet - ffnvcodec - fftlib - FFTW - FFTW.MPI - fgbio - FGSL - FHI-aims - FIAT - FIGARO - FigureGen - Fiji - file - filevercmp - Filtlong - find_circ - finder - findhap - findutils - fineRADstructure - fineSTRUCTURE - fio - Fiona - Firefox - FIRESTARTER - FireWorks - FIt-SNE - FIX - fixesproto - FLAC - FLAIR - flair-NLP - FLANN - FLASH - Flask - flatbuffers - flatbuffers-python - FLEUR - flex - Flexbar - FlexiBLAS - FlexiDot - Flink - FLINT - flook - flowFDA - FLTK - FLUENT - Flye - FMILibrary - FMM3D - FMPy - FMRIprep - FMS - fmt - FoBiS - FoldX - fontconfig - fontsproto - FORD - foss - fosscuda - FoX - FOX-Toolkit - FPM - fpocket - fqtrim - fqzcomp - FragGeneScan - FragPipe - FRANz - FreeBarcodes - freebayes - FreeFEM - FreeFem++ - freeglut - FreeImage - FreeSASA - FreeSurfer - FreeTDS - freetype - freetype-py - FreeXL - freud-analysis - FriBidi - FRUIT - FRUIT_processor - FSL - FSLeyes - fsom - FSON - FTGL - Fujitsu - fullrmc - fumi_tools - funannotate - FunGAP - FUNWAVE-TVD - FUSE - FuSeq - FusionCatcher - futhark - futile - future - fxtract

                    "},{"location":"version-specific/supported-software/#f90cache","title":"f90cache","text":"

                    f90cache is a compiler cache. It acts as a caching pre-processor to Fortran compilers, using the -E compiler switch and a hash to detect when a compilation can be satisfied from cache. This often results in a great speedup in common compilations.

                    homepage: http://people.irisa.fr/Edouard.Canot/f90cache/

                    version toolchain 0.96 system"},{"location":"version-specific/supported-software/#f90wrap","title":"f90wrap","text":"

                    f90wrap is a tool to automatically generate Python extension modules which interface to Fortran code that makes use of derived types. It builds on the capabilities of the popular f2py utility by generating a simpler Fortran 90 interface to the original Fortran code which is then suitable for wrapping with f2py, together with a higher-level Pythonic wrapper that makes the existance of an additional layer transparent to the final user.

                    homepage: https://github.com/jameskermode/f90wrap

                    version toolchain 0.2.8 foss/2021a"},{"location":"version-specific/supported-software/#faber","title":"Faber","text":"

                    Faber started as a clone of Boost.Build, to experiment with a new Python frontend. Meanwhile it has evolved into a new build system, which retains most of the features found in Boost.Build, but with (hopefully !) much simplified logic, in addition of course to using Python as scripting language, rather than Jam. The original bjam engine is still in use as scheduler, though at this point that is mostly an implementation detail.

                    homepage: https://stefanseefeld.github.io/faber

                    version toolchain 0.3 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#fabio","title":"FabIO","text":"

                    FabIO is an I/O library for images produced by 2D X-ray detectors and written in Python. FabIO support images detectors from a dozen of companies (including Mar, Dectris, ADSC, Hamamatsu, Oxford, ...), for a total of 20 different file formats (like CBF, EDF, TIFF, ...) and offers an unified interface to their headers (as a python dictionary) and datasets (as a numpy ndarray of integers or floats).

                    homepage: http://www.silx.org

                    version versionsuffix toolchain 0.10.2 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.11.0 foss/2020b, fosscuda/2020b 0.14.0 foss/2021b"},{"location":"version-specific/supported-software/#faceswap","title":"faceswap","text":"

                    Faceswap is a tool that utilizes deep learning to recognize and swap faces in pictures and videos.

                    homepage: https://github.com/deepfakes/faceswap

                    version versionsuffix toolchain 20180212 -Python-3.6.3 foss/2017b"},{"location":"version-specific/supported-software/#falcon","title":"FALCON","text":"

                    Falcon: a set of tools for fast aligning long reads for consensus and assembly

                    homepage: https://github.com/PacificBiosciences/FALCON

                    version versionsuffix toolchain 1.8.8 intel/2017b 1.8.8 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#fann","title":"FANN","text":"

                    Fast Artificial Neural Network Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks.

                    homepage: http://leenissen.dk

                    version toolchain 2.2.0 GCCcore/6.4.0, intel/2018a"},{"location":"version-specific/supported-software/#fast5","title":"fast5","text":"

                    A lightweight C++ library for accessing Oxford Nanopore Technologies sequencing data.

                    homepage: http://simpsonlab.github.io/2017/02/27/packing_fast5/

                    version toolchain 0.6.5 system"},{"location":"version-specific/supported-software/#fasta","title":"FASTA","text":"

                    The FASTA programs find regions of local or global (new) similarity between protein or DNA sequences, either by searching Protein or DNA databases, or by identifying local duplications within a sequence.

                    homepage: https://fasta.bioch.virginia.edu/fasta_www2/fasta_list2.shtml

                    version toolchain 36.3.5e foss/2016b 36.3.8i GCC/11.2.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#fastahack","title":"fastahack","text":"

                    Utilities for indexing and sequence extraction from FASTA files.

                    homepage: https://github.com/ekg/fastahack

                    version toolchain 1.0.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fastai","title":"fastai","text":"

                    The fastai deep learning library.

                    homepage: https://www.fast.ai/

                    version versionsuffix toolchain 2.7.10 foss/2022a 2.7.10 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#fastaindex","title":"FastaIndex","text":"

                    FastA index (.fai) handler compatible with samtools faidx

                    homepage: https://github.com/lpryszcz/FastaIndex

                    version versionsuffix toolchain 0.11rc7 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#fastani","title":"FastANI","text":"

                    FastANI is developed for fast alignment-free computation of whole-genome Average Nucleotide Identity (ANI). ANI is defined as mean nucleotide identity of orthologous gene pairs shared between two microbial genomes. FastANI supports pairwise comparison of both complete and draft genome assemblies.

                    homepage: https://github.com/ParBLiSS/FastANI

                    version toolchain 1.1 foss/2018b, intel/2018b 1.2 GCC/8.2.0-2.31.1, iccifort/2019.1.144-GCC-8.2.0-2.31.1 1.3 iccifort/2019.5.281 1.31 iccifort/2020.1.217 1.33 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, iccifort/2020.4.304, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#fastaq","title":"Fastaq","text":"

                    Python3 scripts to manipulate FASTA and FASTQ files.

                    homepage: https://github.com/sanger-pathogens/Fastaq

                    version toolchain 3.17.0 GCC/10.3.0"},{"location":"version-specific/supported-software/#fastfold","title":"FastFold","text":"

                    Optimizing Protein Structure Prediction Model Training and Inference on GPU Clusters

                    homepage: https://github.com/hpcaitech/FastFold

                    version versionsuffix toolchain 20220729 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#fastjet","title":"fastjet","text":"

                    A software package for jet finding in pp and e+e- collisions

                    homepage: https://fastjet.fr/

                    version toolchain 3.4.0 gompi/2022a"},{"location":"version-specific/supported-software/#fastjet-contrib","title":"fastjet-contrib","text":"

                    3rd party extensions of FastJet

                    homepage: https://fastjet.hepforge.org/contrib/

                    version toolchain 1.049 gompi/2022a"},{"location":"version-specific/supported-software/#fastme","title":"FastME","text":"

                    FastME: a comprehensive, accurate and fast distance-based phylogeny inference program.

                    homepage: http://www.atgc-montpellier.fr/fastme/

                    version toolchain 2.1.5 foss/2016a 2.1.6.1 GCC/10.2.0, GCC/8.3.0, iccifort/2019.5.281, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#fastp","title":"fastp","text":"

                    A tool designed to provide fast all-in-one preprocessing for FastQ files. This tool is developed in C++ with multithreading supported to afford high performance.

                    homepage: https://github.com/OpenGene/fastp

                    version toolchain 0.19.7 foss/2018b 0.20.0 GCC/8.2.0-2.31.1, GCC/8.3.0, iccifort/2019.5.281 0.20.1 iccifort/2020.1.217 0.23.2 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0 0.23.4 GCC/12.2.0"},{"location":"version-specific/supported-software/#fastparquet","title":"fastparquet","text":"

                    fastparquet is a python implementation of the parquet format, aiming to integrate into python-based big data work-flows. It is used implicitly by the projects Dask, Pandas and intake-parquet.

                    homepage: https://fastparquet.readthedocs.io/

                    version toolchain 0.7.2 foss/2021a 0.8.0 foss/2021b"},{"location":"version-specific/supported-software/#fastphase","title":"fastPHASE","text":"

                    fastPHASE: software for haplotype reconstruction, and estimating missing genotypes from population data Documentation: http://scheet.org/code/fastphase_doc_1.4.pdf

                    homepage: http://stephenslab.uchicago.edu/software.html#fastphase

                    version toolchain 1.4.8 system"},{"location":"version-specific/supported-software/#fastq-pair","title":"fastq-pair","text":"

                    Match up paired end fastq files quickly and efficiently.

                    homepage: https://github.com/linsalrob/fastq-pair

                    version toolchain 1.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#fastq-tools","title":"fastq-tools","text":"

                    This package provides a number of small and efficient programs to perform common tasks with high throughput sequencing data in the FASTQ format. All of the programs work with typical FASTQ files as well as gzipped FASTQ files.

                    homepage: https://homes.cs.washington.edu/~dcjones/fastq-tools/

                    version toolchain 0.8 foss/2016b, foss/2018b 0.8.3 GCC/10.3.0, GCC/11.2.0"},{"location":"version-specific/supported-software/#fastq_screen","title":"FastQ_Screen","text":"

                    FastQ Screen allows you to screen a library of sequences in FastQ format against a set of sequence databases so you can see if the composition of the library matches with what you expect.

                    homepage: http://www.bioinformatics.babraham.ac.uk/projects/fastq_screen/

                    version versionsuffix toolchain 0.11.3 -Perl-5.24.0 foss/2016b 0.11.4 -Perl-5.24.0 foss/2016b 0.12.0 -Perl-5.26.1 intel/2018a 0.13.0 -Perl-5.28.0 foss/2018b 0.14.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#fastqc","title":"FastQC","text":"

                    FastQC is a quality control application for high throughput sequence data. It reads in sequence data in a variety of formats and can either provide an interactive application to review the results of several different QC checks, or create an HTML based report which can be integrated into a pipeline.

                    homepage: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/

                    version versionsuffix toolchain 0.10.1 -Java-1.7.0_80 system 0.11.2 -Java-1.7.0_60 system 0.11.3 -Java-1.7.0_80 system 0.11.4 -Java-1.8.0_66 system 0.11.4 -Java-1.8.0_74 system 0.11.5 -Java-1.7.0_80 system 0.11.5 -Java-1.8.0_144 system 0.11.5 -Java-1.8.0_74 system 0.11.7 -Java-1.8.0_162 system 0.11.8 -Java-1.8 system 0.11.8 -Java-11 system 0.11.9 -Java-1.8 system 0.11.9 -Java-11 system"},{"location":"version-specific/supported-software/#fastqsplitter","title":"fastqsplitter","text":"

                    Splits fastq files evenly.

                    homepage: https://github.com/LUMC/fastqsplitter

                    version versionsuffix toolchain 1.2.0 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#fastqtl","title":"FastQTL","text":"

                    FastQTL is a QTL mapper

                    homepage: http://fastqtl.sourceforge.net/

                    version toolchain 2.184 GCC/11.2.0, foss/2018b"},{"location":"version-specific/supported-software/#fastqz","title":"fastqz","text":"

                    fastqz is a compressor for FASTQ files. FASTQ is the output of DNA sequencing machines. It is one of the compressors described in the paper: Bonfield JK, Mahoney MV (2013) Compression of FASTQ and SAM Format Sequencing Data. (mirror) PLoS ONE 8(3): e59190. doi:10.1371/journal.pone.0059190

                    homepage: http://mattmahoney.net/dc/fastqz/

                    version toolchain 1.5 GCC/4.8.2"},{"location":"version-specific/supported-software/#fastrfs","title":"FastRFS","text":"

                    Fast Robinson Foulds Supertrees

                    homepage: https://github.com/pranjalv123/FastRFS

                    version toolchain 1.0-20190613 gompi/2019a"},{"location":"version-specific/supported-software/#faststructure","title":"fastStructure","text":"

                    fastStructure is a fast algorithm for inferring population structure from large SNP genotype data. It is based on a variational Bayesian framework for posterior inference and is written in Python2.x.

                    homepage: https://rajanil.github.io/fastStructure/

                    version versionsuffix toolchain 1.0 -Python-2.7.11 foss/2016a 1.0 -Python-2.7.12 foss/2016b 1.0 -Python-2.7.13 foss/2017a 1.0 -Python-2.7.15 foss/2019a"},{"location":"version-specific/supported-software/#fasttree","title":"FastTree","text":"

                    FastTree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide or protein sequences. FastTree can handle alignments with up to a million of sequences in a reasonable amount of time and memory.

                    homepage: http://www.microbesonline.org/fasttree/

                    version toolchain 2.1.10 foss/2018b, intel/2017b, intel/2018a, intel/2018b 2.1.11 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fastviromeexplorer","title":"FastViromeExplorer","text":"

                    Identify the viruses/phages and their abundance in the viral metagenomics data.

                    homepage: https://code.vt.edu/saima5/FastViromeExplorer

                    version toolchain 20180422 foss/2019b"},{"location":"version-specific/supported-software/#fastx-toolkit","title":"FASTX-Toolkit","text":"

                    The FASTX-Toolkit is a collection of command line tools for Short-Reads FASTA/FASTQ files preprocessing.

                    homepage: http://hannonlab.cshl.edu/fastx_toolkit/

                    version toolchain 0.0.14 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/9.3.0, GCCcore/7.3.0, foss/2016a, foss/2016b, intel/2018a"},{"location":"version-specific/supported-software/#fatslim","title":"fatslim","text":"

                    FATSLiM stands for \u201cFast Analysis Toolbox for Simulations of Lipid Membranes\u201d and its goal is to provide an efficient, yet robust, tool to extract physical parameters from MD trajectories.

                    homepage: https://github.com/FATSLiM/fatslim

                    version versionsuffix toolchain 0.2.1 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#fbm","title":"fbm","text":"

                    Exact methods for simulating fractional Brownian motion and fractional Gaussian noise in Python

                    homepage: https://pypi.org/project/fbm

                    version versionsuffix toolchain 0.2.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#fbpic","title":"FBPIC","text":"

                    FBPIC (Fourier-Bessel Particle-In-Cell) is a Particle-In-Cell (PIC) code for relativistic plasma physics. It is especially well-suited for physical simulations of laser-wakefield acceleration and plasma-wakefield acceleration.

                    homepage: https://fbpic.github.io/

                    version toolchain 0.20.3 fosscuda/2020b"},{"location":"version-specific/supported-software/#fcc","title":"FCC","text":"

                    Fujitsu Compiler based compiler toolchain.

                    homepage: <(none)>

                    version toolchain 4.5.0 system"},{"location":"version-specific/supported-software/#fcm","title":"FCM","text":"

                    FCM is a set of tools for managing and building source code.

                    homepage: http://www.metoffice.gov.uk/research/collaboration/fcm

                    version toolchain 2.3.1 system"},{"location":"version-specific/supported-software/#fdict","title":"fdict","text":"

                    A variable and dictionary in pure fortran for retaining any data-type and a fast hash-table dictionary.

                    homepage: https://github.com/zerothi/fdict

                    version toolchain 0.8.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#fds","title":"FDS","text":"

                    Fire Dynamics Simulator (FDS) is a large-eddy simulation (LES) code for low-speed flows, with an emphasis on smoke and heat transport from fires.

                    homepage: https://pages.nist.gov/fds-smv

                    version versionsuffix toolchain 6.0.1 -no-OFED system 6.5.2 intel/2016b 6.5.3 intel/2017a 6.6.0 intel/2017b, intel/2018a 6.7.0 intel/2018a 6.7.4 intel/2020a 6.7.5 intel/2020a 6.7.6 intel/2020b 6.7.7 intel/2021b 6.7.9 intel/2022a"},{"location":"version-specific/supported-software/#fdstools","title":"fdstools","text":"

                    Forensic DNA Sequencing Tools Tools for characterisation and filtering of PCR stutter artefacts and other systemic noise in Next Generation Sequencing data of forensic STR markers.

                    homepage: https://git.lumc.nl/jerryhoogenboom/fdstools

                    version versionsuffix toolchain 20160322 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#fdtd_solutions","title":"FDTD_Solutions","text":"

                    High performance FDTD-method Maxwell solver for the design, analysis and optimization of nanophotonic devices, processes and materials.

                    homepage: http://www.lumerical.com/tcad-products/fdtd/

                    version toolchain 8.6.2 system 8.11.337 system 8.16.982 system 8.20.1731 system"},{"location":"version-specific/supported-software/#feh","title":"feh","text":"

                    feh is an X11 image viewer aimed mostly at console users. Unlike most other viewers, it does not have a fancy GUI, but simply displays images. It is controlled via commandline arguments and configurable key/mouse actions.

                    homepage: https://feh.finalrewind.org/

                    version toolchain 2.26 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#fenics","title":"FEniCS","text":"

                    FEniCS is a computing platform for solving partial differential equations (PDEs).

                    homepage: https://fenicsproject.org/

                    version versionsuffix toolchain 2019.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#fermi-lite","title":"fermi-lite","text":"

                    Standalone C library for assembling Illumina short reads in small regions.

                    homepage: https://github.com/lh3/fermi-lite

                    version toolchain 20190320 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#ferret","title":"Ferret","text":"

                    Ferret is an interactive computer visualization and analysis environment designed to meet the needs of oceanographers and meteorologists analyzing large and complex gridded data sets.

                    homepage: https://ferret.pmel.noaa.gov/Ferret/

                    version toolchain 7.3 intel/2017b 7.5.0 foss/2019b"},{"location":"version-specific/supported-software/#festival","title":"festival","text":"

                    University of Edinburgh's Festival Speech Synthesis Systems is a free software multi-lingual speech synthesis workbench that runs on multiple-platforms offering black box text to speech, as well as an open architecture for research in speech synthesis. It designed as a component of large speech technology systems.

                    homepage: <['http://festvox.org/festival/']>

                    version toolchain 2.5.0 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fetchmg","title":"fetchMG","text":"

                    The program \u201cfetchMG\u201d was written to extract the 40 MGs from genomes and metagenomes in an easy and accurate manner.

                    homepage: http://vm-lux.embl.de/~mende/fetchMG/about.html

                    version toolchain 1.0 GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#ffc","title":"FFC","text":"

                    The FEniCS Form Compiler (FFC) is a compiler for finite element variational forms.

                    homepage: https://bitbucket.org/fenics-project/ffc

                    version versionsuffix toolchain 2018.1.0 -Python-3.6.4 foss/2018a 2019.1.0.post0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#fflas-ffpack","title":"FFLAS-FFPACK","text":"

                    Finite Field Linear Algebra Subroutines / Package

                    homepage: https://linbox-team.github.io/fflas-ffpack/

                    version toolchain 2.2.0 foss/2016a"},{"location":"version-specific/supported-software/#ffmpeg","title":"FFmpeg","text":"

                    A complete, cross-platform solution to record, convert and stream audio and video.

                    homepage: https://www.ffmpeg.org/

                    version toolchain 0.10.16 gimkl/2.11.5, intel/2016a 2.8.6 intel/2016a 2.8.7 foss/2016a, intel/2016a 3.0.2 foss/2016a, intel/2016a 3.1.3 foss/2016b, intel/2016b 3.2.4 gimkl/2017a 3.3.1 foss/2016b 3.3.4 intel/2017a 3.4 GCCcore/6.4.0 3.4.1 foss/2017b, intel/2017b 3.4.2 foss/2018a, intel/2018a 3.4.5 foss/2018b 4.0 foss/2018a, intel/2018a 4.0.1 intel/2018a 4.1 foss/2018b, fosscuda/2018b, intel/2018b 4.1.3 GCCcore/8.2.0 4.2.1 GCCcore/8.3.0 4.2.2 GCCcore/9.3.0 4.3.1 GCCcore/10.2.0 4.3.2 GCCcore/10.3.0, GCCcore/11.2.0 4.4.2 GCCcore/11.3.0 5.0.1 GCCcore/11.3.0 5.1.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#ffmpi","title":"ffmpi","text":"

                    Fujitsu Compiler based compiler toolchain, including Fujitsu MPI for MPI support.

                    homepage: <(none)>

                    version toolchain 4.5.0 system"},{"location":"version-specific/supported-software/#ffnet","title":"ffnet","text":"

                    Feed-forward neural network solution for python

                    homepage: http://ffnet.sourceforge.net/

                    version versionsuffix toolchain 0.8.3 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#ffnvcodec","title":"ffnvcodec","text":"

                    FFmpeg nvidia headers. Adds support for nvenc and nvdec. Requires Nvidia GPU and drivers to be present (picked up dynamically).

                    homepage: https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git

                    version toolchain 11.1.5.2 system"},{"location":"version-specific/supported-software/#fftlib","title":"fftlib","text":"

                    A library that intercepts FFTW calls and adds features on top of it. In particular, it enables FFT plan reuse when there are multiple calls for the same geometry.

                    homepage: https://github.com/flwende/fftlib

                    version toolchain 20170628 gompi/2020b"},{"location":"version-specific/supported-software/#fftw","title":"FFTW","text":"

                    FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.

                    homepage: https://www.fftw.org

                    version versionsuffix toolchain 1.0.0 -fujitsu FCC/4.5.0 2.1.5 intel/2016b, intel/2017a, intel/2018b 3.3.4 gmpich/2016a, gmvapich2/1.7.20, gmvapich2/2016a, gompi/2016.04, gompi/2016.06, gompi/2016.07, gompi/2016a, gompi/2016b, intel/2016a, intel/2016b 3.3.5 gompi/2016.07, gompi/2016.09, gompi/2016b, intel/2016b 3.3.6 gimpi/2017b, gimpic/2017b, gompi/2017a, gompi/2017b, gompic/2017b, intel/2016b, intel/2017a, intel/2017b, intelcuda/2017b 3.3.7 gimkl/2017a, gimpi/2018a, gmpich/2017.08, gompi/2018a, gompic/2018a, intel/2017b, intel/2018.00, intel/2018.01, intel/2018a, iomkl/2018a 3.3.7 -serial GCC/6.4.0-2.28 3.3.8 gompi/2018.08, gompi/2018b, gompi/2019a, gompi/2019b, gompi/2020a, gompi/2020b, gompic/2018b, gompic/2019a, gompic/2019b, gompic/2020a, gompic/2020b, iimpi/2020b, intel/2018b, intel/2019a, intel/2019b, intel/2020a, intel/2020b, iomkl/2018b, iomkl/2020b 3.3.8 -amd gompi/2020a 3.3.8 -serial GCC/9.3.0 3.3.9 gompi/2021a, intel/2021a 3.3.10 GCC/11.3.0, GCC/12.2.0, GCC/12.3.0, NVHPC/22.7-CUDA-11.7.0, gompi/2021b, iimpi/2021b, iimpi/2022a, iimpi/2022b"},{"location":"version-specific/supported-software/#fftwmpi","title":"FFTW.MPI","text":"

                    FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.

                    homepage: https://www.fftw.org

                    version toolchain 3.3.10 gompi/2022.05, gompi/2022.10, gompi/2022a, gompi/2022b, gompi/2023a, nvompi/2022.07"},{"location":"version-specific/supported-software/#fgbio","title":"fgbio","text":"

                    A set of tools to analyze genomic data with a focus on Next Generation Sequencing.

                    homepage: https://fulcrumgenomics.github.io/fgbio

                    version toolchain 1.3.0 system"},{"location":"version-specific/supported-software/#fgsl","title":"FGSL","text":"

                    FGSL: A Fortran interface to the GNU Scientific Library

                    homepage: https://www.lrz.de/services/software/mathematik/gsl/fortran/

                    version toolchain 1.1.0 intel/2016b"},{"location":"version-specific/supported-software/#fhi-aims","title":"FHI-aims","text":"

                    FHI-aims is an efficient, accurate all-electron, full-potential electronic structure code package for computational molecular and materials science (non-periodic and periodic systems). The code supports DFT (semilocal and hybrid) and many-body perturbation theory. FHI-aims is particularly efficient for molecular systems and nanostructures, while maintaining high numerical accuracy for all production tasks. Production calculations handle up to several thousand atoms and can efficiently use (ten) thousands of cores.

                    homepage: https://fhi-aims.org/

                    version toolchain 200112_2 intel/2019b 221103 intel/2022a"},{"location":"version-specific/supported-software/#fiat","title":"FIAT","text":"

                    The FInite element Automatic Tabulator (FIAT) supports generation of arbitrary order instances of the Lagrange elements on lines, triangles, and tetrahedra. It is also capable of generating arbitrary order instances of Jacobi-type quadrature rules on the same element shapes.

                    homepage: https://bitbucket.org/fenics-project/fiat

                    version versionsuffix toolchain 1.6.0 -Python-2.7.11 foss/2016a, intel/2016a 2018.1.0 -Python-3.6.4 foss/2018a 2019.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#figaro","title":"FIGARO","text":"

                    FIGARO: An efficient and objective tool for optimizing microbiome rRNA gene trimming parameters.

                    homepage: https://github.com/Zymo-Research/figaro

                    version toolchain 1.1.2 intel/2020b"},{"location":"version-specific/supported-software/#figuregen","title":"FigureGen","text":"

                    FigureGen is a Fortran program that creates images for ADCIRC files. It reads mesh files (fort.14, etc.), nodal attributes files (fort.13, etc.) and output files (fort.63, fort.64, maxele.63, etc.). It plots contours, contour lines, and vectors. Using FigureGen, you can go directly from the ADCIRC input and output files to a presentation-quality figure, for one or multiple time snaps.

                    homepage: https://ccht.ccee.ncsu.edu/category/software/figuregen/

                    version toolchain 51-20190516 foss/2019a"},{"location":"version-specific/supported-software/#fiji","title":"Fiji","text":"

                    Fiji is an image processing package\u2014a 'batteries-included' distribution of ImageJ, bundling a lot of plugins which facilitate scientific image analysis. This release is based on ImageJ-2.1.0 and Fiji-2.1.1

                    homepage: https://fiji.sc/

                    version versionsuffix toolchain 2.9.0 -Java-1.8 system 2.9.0 -Java-8 system 20170530 system 20191119-2057 system 20201104-1356 system"},{"location":"version-specific/supported-software/#file","title":"file","text":"

                    The file command is 'a file type guesser', that is, a command-line tool that tells you in words what kind of data a file contains.

                    homepage: https://www.darwinsys.com/file/

                    version toolchain 5.17 GCC/4.8.2 5.25 intel/2016a 5.28 foss/2016b 5.30 intel/2017a 5.33 GCCcore/6.4.0 5.35 GCCcore/7.3.0 5.38 GCCcore/8.3.0, GCCcore/9.3.0 5.39 GCCcore/10.2.0 5.40 GCCcore/10.3.0 5.41 GCCcore/11.2.0 5.43 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#filevercmp","title":"filevercmp","text":"

                    filevercmp function as in sort --version-sort.

                    homepage: https://github.com/ekg/filevercmp

                    version toolchain 20141119 GCCcore/9.3.0 20191210 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#filtlong","title":"Filtlong","text":"

                    Filtlong is a tool for filtering long reads by quality. It can take a set of long reads and produce a smaller, better subset. It uses both read length (longer is better) and read identity (higher is better) when choosing which reads pass the filter

                    homepage: https://github.com/rrwick/Filtlong

                    version toolchain 0.2.0 GCC/10.2.0, foss/2016b 0.2.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#find_circ","title":"find_circ","text":"

                    circRNA detection from RNA-seq reads

                    homepage: https://github.com/marvin-jens/find_circ

                    version versionsuffix toolchain 1.2-20170228 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#finder","title":"finder","text":"

                    finder is a gene annotator pipeline which automates the process of downloading short reads, aligning them and using the assembled transcripts to generate gene annotations.

                    homepage: https://github.com/sagnikbanerjee15/Finder/

                    version toolchain 1.1.0 foss/2021b"},{"location":"version-specific/supported-software/#findhap","title":"findhap","text":"

                    Find haplotypes and impute genotypes using multiple chip sets and sequence data

                    homepage: http://aipl.arsusda.gov/software/findhap/

                    version toolchain 4 system"},{"location":"version-specific/supported-software/#findutils","title":"findutils","text":"

                    findutils: The GNU find, locate, updatedb, and xargs utilities

                    homepage: http://www.gnu.org/software/findutils/findutils.html

                    version toolchain 4.4.2 GCC/4.8.2"},{"location":"version-specific/supported-software/#fineradstructure","title":"fineRADstructure","text":"

                    A package for population structure inference from RAD-seq data

                    homepage: http://cichlid.gurdon.cam.ac.uk/fineRADstructure.html

                    version toolchain 20180709 intel/2018a"},{"location":"version-specific/supported-software/#finestructure","title":"fineSTRUCTURE","text":"

                    fineSTRUCTURE is a fast and powerful algorithm for identifying population structure using dense sequencing data.

                    homepage: https://people.maths.bris.ac.uk/~madjl/finestructure/finestructure_info.html

                    version toolchain 2.1.3 intel/2017b"},{"location":"version-specific/supported-software/#fio","title":"fio","text":"

                    Flexible I/O tester

                    homepage: https://github.com/axboe/fio

                    version toolchain 3.30 GCCcore/10.3.0 3.32 GCCcore/11.3.0 3.34 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#fiona","title":"Fiona","text":"

                    Fiona is designed to be simple and dependable. It focuses on reading and writing data in standard Python IO style and relies upon familiar Python types and protocols such as files, dictionaries, mappings, and iterators instead of classes specific to OGR. Fiona can read and write real-world data using multi-layered GIS formats and zipped virtual file systems and integrates readily with other Python GIS packages such as pyproj, Rtree, and Shapely.

                    homepage: https://github.com/Toblerity/Fiona

                    version versionsuffix toolchain 1.8.13 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 1.8.13.post1 -Python-3.7.2 foss/2019a 1.8.16 -Python-3.8.2 foss/2020a 1.8.20 foss/2020b, foss/2021a, intel/2020b 1.8.21 foss/2021b, foss/2022a 1.9.2 foss/2022b"},{"location":"version-specific/supported-software/#firefox","title":"Firefox","text":"

                    Firefox is a free, open source Web browser for Windows, Linux and Mac OS X. It is based on the Mozilla code base and offers customization options and features such as its capability to block pop-up windows, tabbed browsing, privacy and security measures, smart searching, and RSS live bookmarks.

                    homepage: https://www.mozilla.org/en-US/firefox/new/

                    version toolchain 44.0.2 system"},{"location":"version-specific/supported-software/#firestarter","title":"FIRESTARTER","text":"

                    FIRESTARTER: A Processor Stress Test Utility. FIRESTARTER maximizes the energy consumption of 64-Bit x86 processors by generating heavy load on the execution units as well as transferring data between the cores and multiple levels of the memory hierarchy.

                    homepage: https://github.com/tud-zih-energy/FIRESTARTER/

                    version toolchain 2.0 gcccuda/2020a, gcccuda/2020b"},{"location":"version-specific/supported-software/#fireworks","title":"FireWorks","text":"

                    FireWorks helps run calculation workflows, with a centralized workflow server controlling many worker nodes.

                    homepage: https://pypi.python.org/pypi/FireWorks

                    version versionsuffix toolchain 1.4.2 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#fit-sne","title":"FIt-SNE","text":"

                    t-distributed stochastic neighbor embedding (t-SNE) is widely used for visualizing single-cell RNA-sequencing (scRNA-seq) data, but it scales poorly to large datasets. We dramatically accelerate t-SNE, obviating the need for data downsampling, and hence allowing visualization of rare cell populations. Furthermore, we implement a heatmap-style visualization for scRNA-seq based on one-dimensional t-SNE for simultaneously visualizing the expression patterns of thousands of genes.

                    homepage: https://github.com/KlugerLab/FIt-SNE

                    version toolchain 1.1.0 gompi/2018b"},{"location":"version-specific/supported-software/#fix","title":"FIX","text":"

                    FIX attempts to auto-classify ICA components into \"good\" vs \"bad\" components, so that the bad components can be removed from the 4D FMRI data.

                    homepage: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FIX

                    version versionsuffix toolchain 1.06.12 -Octave-Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#fixesproto","title":"fixesproto","text":"

                    X.org FixesProto protocol headers.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 5.0 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#flac","title":"FLAC","text":"

                    FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality.

                    homepage: https://xiph.org/flac/

                    version toolchain 1.3.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.3.4 GCCcore/11.3.0 1.4.2 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#flair","title":"FLAIR","text":"

                    FLAIR (Full-Length Alternative Isoform analysis of RNA) for the correction, isoform definition, and alternative splicing analysis of noisy reads. FLAIR has primarily been used for nanopore cDNA, native RNA, and PacBio sequencing reads.

                    homepage: https://github.com/BrooksLabUCSC/flair

                    version versionsuffix toolchain 1.5 -Python-3.7.4 foss/2019b 1.5.1-20200630 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#flair-nlp","title":"flair-NLP","text":"

                    A very simple framework for state-of-the-art NLP

                    homepage: https://github.com/flairNLP/flair

                    version versionsuffix toolchain 0.11.3 foss/2021a 0.11.3 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#flann","title":"FLANN","text":"

                    FLANN is a library for performing fast approximate nearest neighbor searches in high dimensional spaces.

                    homepage: https://github.com/mariusmuja/flann/

                    version versionsuffix toolchain 1.8.4 -Python-2.7.11 intel/2016a 1.8.4 -Python-2.7.14 intel/2017b 1.8.4 -Python-3.8.2 foss/2020a 1.9.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#flash","title":"FLASH","text":"

                    FLASH (Fast Length Adjustment of SHort reads) is a very fast and accurate software tool to merge paired-end reads from next-generation sequencing experiments. FLASH is designed to merge pairs of reads when the original DNA fragments are shorter than twice the length of reads. The resulting longer reads can significantly improve genome assemblies. They can also improve transcriptome assembly when FLASH is used to merge RNA-seq data.

                    homepage: https://ccb.jhu.edu/software/FLASH/

                    version toolchain 1.2.11 GCC/8.3.0, foss/2016a, foss/2018a, foss/2018b 2.2.00 GCC/11.2.0, GCCcore/12.2.0, foss/2018b, foss/2020b"},{"location":"version-specific/supported-software/#flask","title":"Flask","text":"

                    Flask is a lightweight WSGI web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. This module includes the Flask extensions: Flask-Cors

                    homepage: https://www.palletsprojects.com/p/flask/

                    version versionsuffix toolchain 1.0.2 -Python-3.6.6 foss/2018b 1.1.2 GCCcore/10.2.0 1.1.2 -Python-3.7.4 GCCcore/8.3.0 1.1.2 -Python-3.8.2 GCCcore/9.3.0 1.1.4 GCCcore/10.3.0 2.0.2 GCCcore/11.2.0 2.2.2 GCCcore/11.3.0 2.2.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#flatbuffers","title":"flatbuffers","text":"

                    FlatBuffers: Memory Efficient Serialization Library

                    homepage: https://github.com/google/flatbuffers/

                    version toolchain 1.12.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.0.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 2.0.7 GCCcore/11.3.0 23.1.4 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#flatbuffers-python","title":"flatbuffers-python","text":"

                    Python Flatbuffers runtime library.

                    homepage: https://github.com/google/flatbuffers/

                    version versionsuffix toolchain 1.12 GCCcore/10.2.0 1.12 -Python-3.7.4 GCCcore/8.3.0 2.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#fleur","title":"FLEUR","text":"

                    FLEUR is a feature-full, freely available FLAPW (full potential linearized augmented planewave) code, based on density-functional theory.

                    homepage: http://www.flapw.de/

                    version toolchain 0.26e intel/2016a"},{"location":"version-specific/supported-software/#flex","title":"flex","text":"

                    Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, sometimes called a tokenizer, is a program which recognizes lexical patterns in text.

                    homepage: http://flex.sourceforge.net/

                    version toolchain 2.5.35 system 2.5.38 GCC/4.8.2 2.5.39 GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GNU/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, system 2.6.0 GCC/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 2.6.2 intel/2016b 2.6.3 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/7.1.0, gimkl/2017a, system 2.6.4 FCC/4.5.0, GCCcore/10.1.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/11.4.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/5.5.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/7.4.0, GCCcore/8.1.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/8.4.0, GCCcore/9.1.0, GCCcore/9.2.0, GCCcore/9.3.0, GCCcore/9.4.0, GCCcore/9.5.0, GCCcore/system, system"},{"location":"version-specific/supported-software/#flexbar","title":"Flexbar","text":"

                    The program Flexbar preprocesses high-throughput sequencing data efficiently

                    homepage: https://github.com/seqan/flexbar

                    version toolchain 3.5.0 foss/2018b"},{"location":"version-specific/supported-software/#flexiblas","title":"FlexiBLAS","text":"

                    FlexiBLAS is a wrapper library that enables the exchange of the BLAS and LAPACK implementation used by a program without recompiling or relinking it.

                    homepage: https://gitlab.mpi-magdeburg.mpg.de/software/flexiblas-release

                    version toolchain 3.0.4 GCC/10.3.0, GCC/11.2.0 3.1.3 GCC/11.2.0 3.2.0 GCC/11.3.0, NVHPC/22.7-CUDA-11.7.0 3.2.1 GCC/12.2.0 3.3.1 GCC/12.3.0"},{"location":"version-specific/supported-software/#flexidot","title":"FlexiDot","text":"

                    Highly customizable, ambiguity-aware dotplots for visual sequence analyses

                    homepage: https://github.com/molbio-dresden/flexidot

                    version versionsuffix toolchain 1.06 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#flink","title":"Flink","text":"

                    Apache Flink is a framework and distributed processing engine for stateful computations over unbounded and bounded data streams. Flink has been designed to run in all common cluster environments, perform computations at in-memory speed and at any scale.

                    homepage: https://flink.apache.org/

                    version versionsuffix toolchain 1.11.2 -bin-scala_2.11 system"},{"location":"version-specific/supported-software/#flint","title":"FLINT","text":"

                    FLINT (Fast Library for Number Theory) is a C library in support of computations in number theory. Operations that can be performed include conversions, arithmetic, computing GCDs, factoring, solving linear systems, and evaluating special functions. In addition, FLINT provides various low-level routines for fast arithmetic. FLINT is extensively documented and tested.

                    homepage: https://www.flintlib.org/

                    version toolchain 2.5.2 GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, GCC/8.3.0, iccifort/2018.3.222-GCC-7.3.0-2.30 2.7.1 GCC/10.3.0 2.8.4 foss/2021b 2.9.0 gfbf/2022a"},{"location":"version-specific/supported-software/#flook","title":"flook","text":"

                    The fortran-Lua-hook library.

                    homepage: https://github.com/ElectronicStructureLibrary/flook

                    version toolchain 0.8.1 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#flowfda","title":"flowFDA","text":"

                    R package for analysing flow cytometry experiments with model based clustering, functional principal component analysis

                    homepage: https://github.com/FMKerckhof/flowFDA

                    version versionsuffix toolchain 0.99-20220602 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#fltk","title":"FLTK","text":"

                    FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation.

                    homepage: https://www.fltk.org

                    version toolchain 1.3.3 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.3.4 foss/2017b, foss/2018a, foss/2018b, fosscuda/2017b, fosscuda/2018a, fosscuda/2018b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intelcuda/2017b 1.3.5 GCC/8.2.0-2.31.1, GCC/8.3.0, GCCcore/10.2.0, GCCcore/9.3.0 1.3.6 GCCcore/10.3.0 1.3.7 GCCcore/11.2.0 1.3.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#fluent","title":"FLUENT","text":"

                    ANSYS FLUENT software contains the broad physical modeling capabilities needed to model flow, turbulence, heat transfer, and reactions for industrial applications ranging from air flow over an aircraft wing to combustion in a furnace, from bubble columns to oil platforms, from blood flow to semiconductor manufacturing, and from clean room design to wastewater treatment plants.

                    homepage: https://www.ansys.com/products/fluids/ansys-fluent

                    version toolchain 14.5 system 15.0.7 system 16.0 system 17.1 system 18.0 system 18.1 system 18.2 system 2019R3 system 2021R1 system 2021R2 system"},{"location":"version-specific/supported-software/#flye","title":"Flye","text":"

                    Flye is a de novo assembler for long and noisy reads, such as those produced by PacBio and Oxford Nanopore Technologies.

                    homepage: https://github.com/fenderglass/Flye

                    version versionsuffix toolchain 2.4 -Python-2.7.15 intel/2018b 2.6 -Python-3.7.2 foss/2019a 2.6 -Python-3.7.4 intel/2019b 2.8.1 -Python-3.8.2 intel/2020a 2.8.2 -Python-3.8.2 foss/2020a 2.8.3 GCC/10.2.0, iccifort/2020.4.304 2.9 GCC/10.3.0, intel-compilers/2021.2.0 2.9.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#fmilibrary","title":"FMILibrary","text":"

                    FMI library is intended as a foundation for applications interfacing FMUs (Functional Mockup Units) that follow FMI Standard. This version of the library supports FMI 1.0 and FMI2.0. See http://www.fmi-standard.org/

                    homepage: https://jmodelica.org/

                    version toolchain 2.0.3 intel/2018b"},{"location":"version-specific/supported-software/#fmm3d","title":"FMM3D","text":"

                    Flatiron Institute Fast Multipole Libraries: a set of libraries to compute N-body interactions governed by the Laplace and Helmholtz equations, to a specified precision, in three dimensions, on a multi-core shared-memory machine.

                    homepage: https://fmm3d.readthedocs.io

                    version toolchain 20211018 foss/2020b"},{"location":"version-specific/supported-software/#fmpy","title":"FMPy","text":"

                    FMPy is a free Python library to simulate Functional Mock-up Units (FMUs).

                    homepage: https://github.com/CATIA-Systems/FMPy

                    version toolchain 0.3.2 foss/2021a"},{"location":"version-specific/supported-software/#fmriprep","title":"FMRIprep","text":"

                    FMRIprep is a functional magnetic resonance imaging (fMRI) data preprocessing pipeline that is designed to provide an easily accessible, state-of-the-art interface that is robust to variations in scan acquisition protocols and that requires minimal user input, while providing easily interpretable and comprehensive error and output reporting.

                    homepage: https://fmriprep.readthedocs.io

                    version versionsuffix toolchain 1.1.8 -Python-3.6.6 foss/2018b 1.4.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#fms","title":"FMS","text":"

                    The Flexible Modeling System (FMS) is a software framework for supporting the efficient development, construction, execution, and scientific interpretation of atmospheric, oceanic, and climate system models.

                    homepage: https://github.com/NOAA-GFDL/FMS

                    version toolchain 2022.02 gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#fmt","title":"fmt","text":"

                    fmt (formerly cppformat) is an open-source formatting library.

                    homepage: http://fmtlib.net/

                    version toolchain 3.0.1 foss/2016b, intel/2016b 3.0.2 GCCcore/6.4.0, intel/2017a 5.3.0 GCCcore/7.3.0, GCCcore/8.2.0 6.2.1 GCCcore/9.3.0 7.0.3 GCCcore/9.3.0 7.1.1 GCCcore/11.2.0 9.1.0 GCCcore/11.3.0, GCCcore/12.2.0 10.0.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#fobis","title":"FoBiS","text":"

                    A Fortran Building System for automatic building modern Fortran projects

                    homepage: https://github.com/szaghi/FoBiS

                    version toolchain 3.0.5 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#foldx","title":"FoldX","text":"

                    FoldX is used to provide a fast and quantitative estimation of the importance of the interactions contributing to the stability of proteins and protein complexes.

                    homepage: http://foldx.crg.es/

                    version toolchain 2.5.2 system 3.0-beta5.1 system 3.0-beta6 system 3.0-beta6.1 system"},{"location":"version-specific/supported-software/#fontconfig","title":"fontconfig","text":"

                    Fontconfig is a library designed to provide system-wide font configuration, customization and application access.

                    homepage: https://www.freedesktop.org/wiki/Software/fontconfig/

                    version versionsuffix toolchain 2.11.94 foss/2016a, intel/2016a 2.11.95 foss/2016a, intel/2016a 2.12.1 GCCcore/5.4.0, GCCcore/6.3.0, foss/2016b, gimkl/2017a, intel/2016b 2.12.1 -libpng-1.6.29 GCCcore/6.3.0 2.12.4 GCCcore/6.4.0 2.12.6 GCCcore/6.4.0 2.13.0 GCCcore/6.4.0, GCCcore/7.3.0 2.13.1 GCCcore/8.2.0, GCCcore/8.3.0 2.13.92 GCCcore/10.2.0, GCCcore/9.3.0 2.13.93 GCCcore/10.3.0 2.13.94 GCCcore/11.2.0 2.14.0 GCCcore/11.3.0 2.14.1 GCCcore/12.2.0 2.14.2 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#fontsproto","title":"fontsproto","text":"

                    X11 font extension wire protocol

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 2.1.3 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#ford","title":"FORD","text":"

                    FORD is an automatic documentation generator for modern Fortran programs

                    homepage: https://github.com/Fortran-FOSS-Programmers/ford/wiki

                    version toolchain 6.1.1 GCCcore/10.2.0 6.1.6 GCCcore/10.3.0 6.1.15 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#foss","title":"foss","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

                    homepage: https://easybuild.readthedocs.io/en/master/Common-toolchains.html#foss-toolchain

                    version toolchain 2016.04 system 2016.06 system 2016.07 system 2016.09 system 2016a system 2016b system 2017a system 2017b system 2018.08 system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system 2021a system 2021b system 2022.05 system 2022.10 system 2022a system 2022b system 2023a system"},{"location":"version-specific/supported-software/#fosscuda","title":"fosscuda","text":"

                    GCC based compiler toolchain with CUDA support, and including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

                    homepage: <(none)>

                    version toolchain 2017b system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#fox","title":"FoX","text":"

                    FoX is an XML library written in Fortran 95. It allows software developers to read, write and modify XML documents from Fortran applications without the complications of dealing with multi-language development.

                    homepage: http://homepages.see.leeds.ac.uk/~earawa/FoX/

                    version toolchain 4.1.2 GCC/11.2.0, GCC/9.3.0, intel/2017b, intel/2018a"},{"location":"version-specific/supported-software/#fox-toolkit","title":"FOX-Toolkit","text":"

                    FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and effectively. It offers a wide, and growing, collection of Controls, and provides state of the art facilities such as drag and drop, selection, as well as OpenGL widgets for 3D graphical manipulation. FOX also implements icons, images, and user-convenience features such as status line help, and tooltips.

                    homepage: https://www.fox-toolkit.org/

                    version toolchain 1.6.57 GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fpm","title":"FPM","text":"

                    Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.

                    homepage: https://github.com/jordansissel/fpm

                    version versionsuffix toolchain 1.3.3 -Ruby-2.1.6 system"},{"location":"version-specific/supported-software/#fpocket","title":"fpocket","text":"

                    The fpocket suite of programs is a very fast open source protein pocket detection algorithm based on Voronoi tessellation. The platform is suited for the scientific community willing to develop new scoring functions and extract pocket descriptors on a large scale level.

                    homepage: https://github.com/Discngine/fpocket

                    version toolchain 3.1.4.2 gompi/2020a"},{"location":"version-specific/supported-software/#fqtrim","title":"fqtrim","text":"

                    fqtrim is a versatile stand-alone utility that can be used to trim adapters, poly-A tails, terminal unknown bases (Ns) and low quality 3' regions in reads from high-throughput next-generation sequencing machines.

                    homepage: http://ccb.jhu.edu/software/fqtrim/

                    version toolchain 0.9.4 intel/2016b 0.9.5 intel/2017a"},{"location":"version-specific/supported-software/#fqzcomp","title":"fqzcomp","text":"

                    Fqzcomp is a basic fastq compressor, designed primarily for high performance. Despite that it is comparable to bzip2 for compression levels.

                    homepage: http://sourceforge.net/projects/fqzcomp/

                    version toolchain 4.6 GCC/4.8.2"},{"location":"version-specific/supported-software/#fraggenescan","title":"FragGeneScan","text":"

                    FragGeneScan is an application for finding (fragmented) genes in short reads.

                    homepage: http://omics.informatics.indiana.edu/FragGeneScan/

                    version toolchain 1.31 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, foss/2018b"},{"location":"version-specific/supported-software/#fragpipe","title":"FragPipe","text":"

                    FragPipe is a Java Graphical User Interface (GUI) for a suite of computational tools enabling comprehensive analysis of mass spectrometry-based proteomics data.

                    homepage: https://fragpipe.nesvilab.org

                    version versionsuffix toolchain 20.0 -Java-11 system"},{"location":"version-specific/supported-software/#franz","title":"FRANz","text":"

                    A fast and flexible parentage inference program for natural populations.

                    homepage: https://www.bioinf.uni-leipzig.de/Software/FRANz

                    version toolchain 2.0.0 foss/2018a"},{"location":"version-specific/supported-software/#freebarcodes","title":"FreeBarcodes","text":"

                    A package for the generation and decoding of FREE divergence error-correcting DNA barcodes

                    homepage: https://github.com/hawkjo/freebarcodes

                    version toolchain 3.0.a5 foss/2021b"},{"location":"version-specific/supported-software/#freebayes","title":"freebayes","text":"

                    Bayesian haplotype-based genetic polymorphism discovery and genotyping.

                    homepage: https://github.com/freebayes/freebayes

                    version versionsuffix toolchain 1.3.5 GCC/10.2.0 1.3.5 -Python-3.8.2 GCC/9.3.0 1.3.6 -R-4.1.0 foss/2021a 1.3.6 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#freefem","title":"FreeFEM","text":"

                    FreeFEM offers a fast interpolation algorithm and a language for the manipulation of data on multiple meshes.

                    homepage: https://freefem.org

                    version versionsuffix toolchain 4.5 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#freefem_1","title":"FreeFem++","text":"

                    FreeFem++ is a partial differential equation solver. It has its own language. freefem scripts can solve multiphysics non linear systems in 2D and 3D.

                    homepage: http://www.freefem.org/

                    version versionsuffix toolchain 3.58 -downloaded-deps foss/2017b 3.60 -downloaded-deps intel/2018a 3.61-1 -downloaded-deps intel/2018a"},{"location":"version-specific/supported-software/#freeglut","title":"freeglut","text":"

                    freeglut is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library.

                    homepage: http://freeglut.sourceforge.net/

                    version versionsuffix toolchain 3.0.0 GCCcore/8.2.0, foss/2016a, foss/2016b, foss/2017b, foss/2018a, foss/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a 3.0.0 -Mesa-11.2.1 foss/2016a, intel/2016a 3.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0, GCCcore/9.3.0 3.2.2 GCCcore/11.3.0 3.4.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#freeimage","title":"FreeImage","text":"

                    FreeImage is an Open Source library project for developers who would like to support popular graphics image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications. FreeImage is easy to use, fast, multithreading safe.

                    homepage: http://freeimage.sourceforge.net

                    version toolchain 3.18.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#freesasa","title":"FreeSASA","text":"

                    FreeSASA is a command line tool, C-library and Python module for calculating solvent accessible surface areas (SASA).

                    homepage: https://freesasa.github.io

                    version toolchain 2.0.3 GCC/8.3.0"},{"location":"version-specific/supported-software/#freesurfer","title":"FreeSurfer","text":"

                    FreeSurfer is a set of tools for analysis and visualization of structural and functional brain imaging data. FreeSurfer contains a fully automatic structural imaging stream for processing cross sectional and longitudinal data.

                    homepage: https://surfer.nmr.mgh.harvard.edu/

                    version versionsuffix toolchain 5.3.0 -centos4_x86_64 system 5.3.0 -centos6_x86_64 system 6.0.0 -centos6_x86_64 system 6.0.1 -centos6_x86_64 system 7.1.1 -centos6_x86_64 system 7.1.1 -centos7_x86_64 system 7.1.1 -centos8_x86_64 system 7.2.0 -centos7_x86_64 system 7.2.0 -centos8_x86_64 system 7.2.0 -ubuntu18_amd64 system 7.3.2 -centos7_x86_64 system 7.3.2 -centos8_x86_64 system 7.4.0 -centos8_x86_64 system 7.4.0 -ubuntu20_amd64 system 7.4.0 -ubuntu22_amd64 system"},{"location":"version-specific/supported-software/#freetds","title":"FreeTDS","text":"

                    FreeTDS is a set of libraries for Unix and Linux that allows your programs to natively talk to Microsoft SQL Server and Sybase databases.

                    homepage: https://www.freetds.org/

                    version toolchain 1.3.3 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#freetype","title":"freetype","text":"

                    FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well.

                    homepage: https://freetype.org

                    version versionsuffix toolchain 2.6.2 foss/2016a, gimkl/2.11.5, intel/2016a 2.6.3 foss/2016a, intel/2016a 2.6.5 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, intel/2016b 2.7 foss/2016b, intel/2016b 2.7.1 GCCcore/5.4.0, GCCcore/6.3.0, gimkl/2017a, intel/2016b 2.7.1 -libpng-1.6.29 GCCcore/6.3.0 2.8 GCCcore/6.4.0 2.8.1 GCCcore/6.4.0 2.9 GCCcore/6.4.0 2.9.1 GCCcore/7.3.0, GCCcore/8.2.0 2.10.1 GCCcore/8.3.0, GCCcore/9.3.0 2.10.3 GCCcore/10.2.0 2.10.4 GCCcore/10.3.0 2.11.0 GCCcore/11.2.0 2.12.1 GCCcore/11.3.0, GCCcore/12.2.0 2.13.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#freetype-py","title":"freetype-py","text":"

                    Python binding for the freetype library

                    homepage: https://github.com/rougier/freetype-py

                    version versionsuffix toolchain 2.2.0 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#freexl","title":"FreeXL","text":"

                    FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet.

                    homepage: https://www.gaia-gis.it/fossil/freexl/index

                    version toolchain 1.0.2 foss/2016b, intel/2016b 1.0.3 GCCcore/6.4.0 1.0.5 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 1.0.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#freud-analysis","title":"freud-analysis","text":"

                    The freud Python library provides a simple, flexible, powerful set of tools for analyzing trajectories obtained from molecular dynamics or Monte Carlo simulations. High performance, parallelized C++ is used to compute standard tools such as radial distribution functions, correlation functions, order parameters, and clusters, as well as original analysis methods including potentials of mean force and torque (PMFTs) and local environment matching. The freud library supports many input formats and outputs NumPy arrays, enabling integration with the scientific Python ecosystem for many typical materials science workflows.

                    homepage: https://github.com/glotzerlab/freud

                    version toolchain 2.6.2 foss/2020b"},{"location":"version-specific/supported-software/#fribidi","title":"FriBidi","text":"

                    The Free Implementation of the Unicode Bidirectional Algorithm.

                    homepage: https://github.com/fribidi/fribidi

                    version toolchain 1.0.1 foss/2018a, intel/2018a 1.0.2 GCCcore/6.4.0 1.0.5 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 1.0.9 GCCcore/9.3.0 1.0.10 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.0.12 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#fruit","title":"FRUIT","text":"

                    FORTRAN Unit Test Framework (FRUIT)

                    homepage: https://fortranxunit.sourceforge.io

                    version versionsuffix toolchain 3.4.3 -Ruby-2.5.1 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#fruit_processor","title":"FRUIT_processor","text":"

                    FORTRAN Unit Test Framework (FRUIT)

                    homepage: https://fortranxunit.sourceforge.io

                    version versionsuffix toolchain 3.4.3 -Ruby-2.5.1 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#fsl","title":"FSL","text":"

                    FSL is a comprehensive library of analysis tools for FMRI, MRI and DTI brain imaging data.

                    homepage: https://www.fmrib.ox.ac.uk/fsl/

                    version versionsuffix toolchain 5.0.9 intel/2016a 5.0.9 -Mesa-11.2.1 intel/2016a 5.0.9 -centos6_64 system 5.0.10 foss/2017b, intel/2017a, intel/2017b 5.0.11 foss/2018b 5.0.11 -Python-3.6.6 foss/2018b 6.0.1 -Python-2.7.15 foss/2019a 6.0.1 -Python-3.7.2 foss/2019a 6.0.2 -Python-2.7.15 foss/2018b, foss/2019a 6.0.2 -Python-2.7.15-CUDA-9.2.88 foss/2018b 6.0.2 -Python-3.7.2 foss/2019a 6.0.3 -Python-3.7.4 foss/2019b 6.0.4 -Python-3.7.4 foss/2019b 6.0.5.1 foss/2021a"},{"location":"version-specific/supported-software/#fsleyes","title":"FSLeyes","text":"

                    FSLeyes is the FSL image viewer.

                    homepage: https://git.fmrib.ox.ac.uk/fsl/fsleyes/fsleyes

                    version versionsuffix toolchain 0.15.0 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#fsom","title":"fsom","text":"

                    A tiny C library for managing SOM (Self-Organizing Maps) neural networks.

                    homepage: https://github.com/ekg/fsom

                    version toolchain 20141119 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#fson","title":"FSON","text":"

                    Fortran 95 JSON Parser

                    homepage: https://github.com/josephalevin/fson

                    version toolchain 1.0.5 GCC/10.2.0"},{"location":"version-specific/supported-software/#ftgl","title":"FTGL","text":"

                    FTGL is a free open source library to enable developers to use arbitrary fonts in their OpenGL (www.opengl.org) applications.

                    homepage: https://github.com/frankheckenbach/ftgl

                    version toolchain 2.1.3-rc5 GCCcore/10.2.0, GCCcore/8.2.0, foss/2017b, foss/2018a, fosscuda/2018b, intel/2017b 2.4.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#fujitsu","title":"Fujitsu","text":"

                    Toolchain using Fujitsu compilers and libraries.

                    homepage: <(none)>

                    version toolchain 21.05 system"},{"location":"version-specific/supported-software/#fullrmc","title":"fullrmc","text":"

                    Reverse Monte Carlo (RMC) is probably best known for its applications in condensed matter physics and solid state chemistry. fullrmc which stands for FUndamental Library Language for Reverse Monte Carlo is different than traditional RMC but a stochastic modelling method to solve an inverse problem whereby an atomic/molecular model is adjusted until its atoms position havei the greatest consistency with a set of experimental data.

                    homepage: https://bachiraoun.github.io/fullrmc

                    version versionsuffix toolchain 3.2.0 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#fumi_tools","title":"fumi_tools","text":"

                    This tool is intended to deduplicate UMIs from single-end and paired-end sequencing data. Reads are considered identical when their UMIs have the same sequence, they have the same length and map at the same position.

                    homepage: https://ccb-gitlab.cs.uni-saarland.de/tobias/fumi_tools

                    version versionsuffix toolchain 0.18.2 GCC/10.3.0, GCC/11.2.0 0.18.2 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#funannotate","title":"funannotate","text":"

                    funannotate is a pipeline for genome annotation (built specifically for fungi, but will also work with higher eukaryotes)

                    homepage: https://funannotate.readthedocs.io

                    version toolchain 1.8.13 foss/2021b"},{"location":"version-specific/supported-software/#fungap","title":"FunGAP","text":"

                    Fungal Genome Annotation Pipeline using evidence-based gene model evaluation.

                    homepage: https://github.com/CompSynBioLab-KoreaUniv/FunGAP

                    version toolchain 1.1.1 foss/2022a"},{"location":"version-specific/supported-software/#funwave-tvd","title":"FUNWAVE-TVD","text":"

                    FUNWAVE\u2013TVD is the TVD version of the fully nonlinear Boussinesq wave model (FUNWAVE) initially developed by Kirby et al.

                    homepage: https://fengyanshi.github.io

                    version versionsuffix toolchain 3.1-20170525 intel/2017a 3.1-20170525 -no-storm intel/2017a"},{"location":"version-specific/supported-software/#fuse","title":"FUSE","text":"

                    The reference implementation of the Linux FUSE (Filesystem in Userspace) interface

                    homepage: https://github.com/libfuse/libfuse

                    version toolchain 3.2.6 intel/2018a 3.4.1 foss/2018a 3.14.1 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#fuseq","title":"FuSeq","text":"

                    FuSeq is a novel method to discover fusion genes from paired-end RNA sequencing data.

                    homepage: https://github.com/nghiavtr/FuSeq

                    version toolchain 1.1.2 gompi/2019b"},{"location":"version-specific/supported-software/#fusioncatcher","title":"FusionCatcher","text":"

                    FusionCatcher searches for novel/known somatic fusion genes, translocations, and chimeras in RNA-seq data (paired-end or single-end reads from Illumina NGS platforms like Solexa/HiSeq/NextSeq/MiSeq/MiniSeq) from diseased samples.

                    homepage: https://github.com/ndaniel/fusioncatcher

                    version versionsuffix toolchain 1.20 -Python-2.7.16 foss/2019b 1.30 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#futhark","title":"futhark","text":"

                    Futhark is a small programming language designed to be compiled to efficient parallel code. It is a statically typed, data-parallel, and purely functional array language in the ML family, and comes with a heavily optimising ahead-of-time compiler that presently generates GPU code via CUDA and OpenCL, although the language itself is hardware-agnostic and can also run on multicore CPUs

                    homepage: https://futhark-lang.org/

                    version toolchain 0.19.5 system"},{"location":"version-specific/supported-software/#futile","title":"futile","text":"

                    The FUTILE project (Fortran Utilities for the Treatment of Innermost Level of Executables) is a set of modules and wrapper that encapsulate the most common low-level operations of a Fortran code.

                    homepage: https://launchpad.net/futile

                    version toolchain 1.8.3 foss/2020b, foss/2021a, foss/2021b, intel/2020b, intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#future","title":"future","text":"

                    python-future is the missing compatibility layer between Python 2 and Python 3.

                    homepage: https://python-future.org/

                    version versionsuffix toolchain 0.16.0 -Python-2.7.14 foss/2018a, intel/2017b, intel/2018a 0.16.0 -Python-2.7.15 foss/2018b, intel/2018b 0.16.0 -Python-3.6.3 intel/2017b 0.16.0 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#fxtract","title":"fxtract","text":"

                    Extract sequences from a fastx (fasta or fastq) file given a subsequence.

                    homepage: https://github.com/ctSkennerton/fxtract

                    version toolchain 2.3 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#g","title":"G","text":"

                    G-PhoCS - g2clib - g2lib - g2log - Gaia - GAMESS-US - gap - GapCloser - GapFiller - gappa - GARLI - garnett - GAT - GATB-Core - GATE - GATK - Gaussian - gawk - gbasis - Gblocks - GBprocesS - gbs2ploidy - gc - GC3Pie - GCC - GCCcore - gcccuda - gcloud - GConf - GCTA - Gctf - GD - GDAL - GDB - gdbgui - gdbm - gdc-client - GDCHART - GDCM - GDGraph - gdist - Gdk-Pixbuf - GDRCopy - Geant4 - Geant4-data - gearshifft - GEGL - GEM - GEM-library - gemelli - GEMMA - gemmi - gencore_variant_detection - GeneMark-ET - gengetopt - GenMap - Genome_Profiler - GenomeMapper - genomepy - GenomeTester4 - GenomeThreader - GenomeTools - GenomeWorks - GenotypeHarmonizer - genozip - gensim - geocube - geopandas - geopy - georges - GEOS - Gerris - GETORB - GetOrganelle - gettext - gexiv2 - gfbf - GffCompare - gffread - gflags - GFOLD - gh - GHC - Ghostscript - Gibbs2 - giflib - gifsicle - GIMIC - gimkl - GimmeMotifs - GIMP - gimpi - gimpic - GIMPS - giolf - giolfc - Giotto-Suite - git - git-extras - git-lfs - GitPython - Givaro - Giza - GKeyll - GL2PS - Glade - glew - GLFW - GLI - GLib - glib-networking - glibc - GLibmm - GLIMMER - GlimmerHMM - GLIMPSE - GLM - GLM-AED - GlobalArrays - Globus-CLI - GlobusConnectPersonal - glog - GLPK - glproto - Glucose - GMAP-GSNAP - GMP - gmpich - gmpolf - gmpy2 - gmsh - GMT - gmvapich2 - gmvolf - GNU - gnuplot - GnuTLS - Go - goalign - GOATOOLS - gobff - GObject-Introspection - goblf - GOBNILP - Godon - gofasta - golf - gomkl - gompi - gompic - google-java-format - googletest - gotree - GP2C - GPAW - GPAW-setups - gperf - gperftools - gpustat - GPy - GPyOpt - GPyTorch - Grace - Gradle - gradunwarp - graph-tool - GraphDB - Graphene - GraphicsMagick - graphite2 - GraPhlAn - GraphMap - GraphMap2 - Graphviz - graphviz-python - GRASP - GRASS - Greenlet - Grep - gretl - grib_api - grid - GRIDSS - GRIT - GRNBoost - groff - GroIMP - GROMACS - GromacsWrapper - Groovy - gRPC - GSEA - gsettings-desktop-schemas - GSL - gSOAP - gsport - GST-plugins-bad - GST-plugins-base - GStreamer - gsutil - gsw - GTDB-Tk - GTK+ - GTK2 - GTK3 - GTK4 - GtkSourceView - GTOOL - GTS - gubbins - guenomu - Guile - GULP - Gurobi - GUSHR - gzip

                    "},{"location":"version-specific/supported-software/#g-phocs","title":"G-PhoCS","text":"

                    G-PhoCS is a software package for inferring ancestral population sizes, population divergence times, and migration rates from individual genome sequences. G-PhoCS accepts as input a set of multiple sequence alignments from separate neutrally evolving loci along the genome. Parameter inference is done in a Bayesian manner, using a Markov Chain Monte Carlo (MCMC) to jointly sample model parameters and genealogies at the input loci.

                    homepage: http://compgen.cshl.edu/GPhoCS/

                    version toolchain 1.2.3 iccifort/2019.1.144-GCC-8.2.0-2.31.1"},{"location":"version-specific/supported-software/#g2clib","title":"g2clib","text":"

                    Library contains GRIB2 encoder/decoder ('C' version).

                    homepage: https://github.com/NOAA-EMC/NCEPLIBS-g2c

                    version toolchain 1.6.0 GCCcore/8.3.0, GCCcore/9.3.0, foss/2018b, intel/2017a, intel/2017b, intel/2018a, intel/2018b 1.6.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.7.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#g2lib","title":"g2lib","text":"

                    Library contains GRIB2 encoder/decoder and search/indexing routines.

                    homepage: https://www.nco.ncep.noaa.gov/pmb/codes/GRIB2/

                    version toolchain 1.4.0 intel/2017a, intel/2017b, intel/2018a 3.1.0 GCCcore/8.3.0, GCCcore/9.3.0, foss/2018b, intel/2018b 3.2.0 GCCcore/10.2.0, GCCcore/10.3.0"},{"location":"version-specific/supported-software/#g2log","title":"g2log","text":"

                    g2log, efficient asynchronous logger using C++11

                    homepage: https://sites.google.com/site/kjellhedstrom2//g2log-efficient-background-io-processign-with-c11

                    version toolchain 1.0 GCCcore/8.3.0, foss/2016b"},{"location":"version-specific/supported-software/#gaia","title":"Gaia","text":"

                    Gaia is a C++ library with python bindings which implements similarity measures and classi\ufb01cations on the results of audio analysis, and generates classi\ufb01cation models that Essentia can use to compute high-level description of music.

                    homepage: https://github.com/MTG/gaia

                    version versionsuffix toolchain 2.4.5 -Python-2.7.15 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gamess-us","title":"GAMESS-US","text":"

                    The General Atomic and Molecular Electronic Structure System (GAMESS) is a general ab initio quantum chemistry package.

                    homepage: http://www.msg.chem.iastate.edu/gamess/index.html

                    version versionsuffix toolchain 20141205-R1 intel/2016a 20170420-R1 intel/2016b 20170420-R1 -sockets intel/2016b 20180214-R1 foss/2016b 20180214-R1 -sockets foss/2016b"},{"location":"version-specific/supported-software/#gap","title":"gap","text":"

                    GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory.

                    homepage: https://www.gap-system.org

                    version toolchain 4.9.3 intel/2018b 4.11.0 foss/2019a"},{"location":"version-specific/supported-software/#gapcloser","title":"GapCloser","text":"

                    GapCloser is designed to close the gaps emerging during the scaffolding process by SOAPdenovo or other assembler, using the abundant pair relationships of short reads.

                    homepage: https://sourceforge.net/projects/soapdenovo2/files/GapCloser/

                    version toolchain 1.12-r6 foss/2018a, intel/2017b"},{"location":"version-specific/supported-software/#gapfiller","title":"GapFiller","text":"

                    GapFiller is a seed-and-extend local assembler to fill the gap within paired reads. It can be used for both DNA and RNA and it has been tested on Illumina data.

                    homepage: https://sourceforge.net/projects/gapfiller

                    version toolchain 2.1.1 intel/2017a 2.1.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#gappa","title":"gappa","text":"

                    gappa is a collection of commands for working with phylogenetic data. Its main focus are evolutionary placements of short environmental sequences on a reference phylogenetic tree. Such data is typically produced by tools like EPA-ng, RAxML-EPA or pplacer and usually stored in jplace files.

                    homepage: https://github.com/lczech/gappa

                    version toolchain 0.7.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#garli","title":"GARLI","text":"

                    GARLI, Genetic Algorithm for Rapid Likelihood Inference is a program for inferring phylogenetic trees. Using an approach similar to a classical genetic algorithm, it rapidly searches the space of evolutionary trees and model parameters to find the solution maximizing the likelihood score. It implements nucleotide, amino acid and codon-based models of sequence evolution, and runs on all platforms.

                    homepage: https://code.google.com/archive/p/garli/

                    version toolchain 2.01 gompi/2019a"},{"location":"version-specific/supported-software/#garnett","title":"garnett","text":"

                    Garnett is a software package that faciliates automated cell type classification from single-cell expression data.

                    homepage: https://cole-trapnell-lab.github.io/garnett

                    version versionsuffix toolchain 0.1.20 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#gat","title":"GAT","text":"

                    The Genomic Association Tester (GAT) is a tool for computing the significance of overlap between multiple sets of genomic intervals. GAT estimates significance based on simulation.

                    homepage: https://gat.readthedocs.io/

                    version versionsuffix toolchain 1.2.2 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#gatb-core","title":"GATB-Core","text":"

                    GATB-Core is a high-performance and low memory footprint C++ library that provides a set of highly efficient algorithms to analyse NGS data sets

                    homepage: https://gatb.inria.fr/software/gatb-core

                    version toolchain 1.4.2 gompi/2022a"},{"location":"version-specific/supported-software/#gate","title":"GATE","text":"

                    GATE is an advanced opensource software developed by the international OpenGATE collaboration and dedicated to the numerical simulations in medical imaging. It currently supports simulations of Emission Tomography (Positron Emission Tomography - PET and Single Photon Emission Computed Tomography - SPECT), and Computed Tomography

                    homepage: http://www.opengatecollaboration.org/

                    version versionsuffix toolchain 6.2 -Python-2.7.11 intel/2016a 7.1 -Python-2.7.11 intel/2016a 7.2 -Python-2.7.11 intel/2016a 8.0 -Python-2.7.14 foss/2017b, intel/2017b 8.0 -Python-2.7.14-Geant4-10.04 intel/2017b 8.1.p01 -Python-2.7.15 foss/2018b 8.2 -Python-2.7.14 foss/2017b, intel/2017b 8.2 -Python-2.7.15 foss/2018b 9.0 -Python-3.7.4 foss/2019b 9.1 foss/2021b 9.2 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#gatk","title":"GATK","text":"

                    The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute to analyse next-generation resequencing data. The toolkit offers a wide variety of tools, with a primary focus on variant discovery and genotyping as well as strong emphasis on data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.

                    homepage: https://www.broadinstitute.org/gatk/

                    version versionsuffix toolchain 1.0.5083 system 2.5-2 -Java-1.7.0_10 system 2.6-5 -Java-1.7.0_10 system 2.7-4 system 2.7-4 -Java-1.7.0_10 system 2.8-1 -Java-1.7.0_10 system 3.0-0 -Java-1.7.0_10 system 3.3-0 -Java-1.7.0_21 system 3.3-0 -Java-1.7.0_80 system 3.3-0 -Java-1.8.0_66 system 3.5 -Java-1.8.0_66 system 3.5 -Java-1.8.0_74 system 3.6 -Java-1.8.0_92 system 3.7 -Java-1.8.0_112 system 3.8-0 -Java-1.8.0_144 system 4.0.1.2 -Java-1.8 system 4.0.4.0 -Python-2.7.14 intel/2018a 4.0.4.0 -Python-3.6.4 intel/2018a 4.0.5.1 -Python-3.6.4 foss/2018a 4.0.7.0 -Python-2.7.14 intel/2018a 4.0.7.0 -Python-3.6.4 intel/2018a 4.0.8.1 -Python-2.7.15 foss/2018b 4.0.8.1 -Python-3.6.6 foss/2018b 4.0.10.0 -Python-3.6.6 foss/2018b 4.0.12.0 -Python-3.6.6 foss/2018b 4.1.0.0 -Python-3.6.6 foss/2018b 4.1.2.0 -Java-1.8 GCCcore/8.2.0 4.1.3.0 -Java-1.8 GCCcore/8.3.0 4.1.4.1 -Java-1.8 GCCcore/8.3.0 4.1.4.1 -Java-11 GCCcore/8.3.0 4.1.5.0 -Java-1.8 GCCcore/9.3.0 4.1.5.0 -Java-11 GCCcore/9.3.0 4.1.8.1 -Java-1.8 GCCcore/9.3.0 4.2.0.0 -Java-1.8 GCCcore/10.2.0 4.2.0.0 -Java-11 GCCcore/10.2.0 4.2.3.0 -Java-11 GCCcore/11.2.0 4.2.5.0 -Java-11 GCCcore/11.2.0 4.2.6.1 -Java-11 GCCcore/11.2.0 4.3.0.0 -Java-11 GCCcore/11.3.0 4.4.0.0 -Java-17 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gaussian","title":"Gaussian","text":"

                    Gaussian provides state-of-the-art capabilities for electronic structure modeling. Gaussian 09 is licensed for a wide variety of computer systems. All versions of Gaussian 09 contain every scientific/modeling feature, and none imposes any artificial limitations on calculations other than your computing resources and patience. This is the official gaussian AVX2 build.

                    homepage: https://www.gaussian.com/

                    version versionsuffix toolchain 09.e.01 -AVX system 16.A.03 -AVX2 system"},{"location":"version-specific/supported-software/#gawk","title":"gawk","text":"

                    The awk utility interprets a special-purpose programming language that makes it possible to handle simple data-reformatting jobs with just a few lines of code.

                    homepage: https://www.gnu.org/software/gawk

                    version toolchain 5.1.0 GCC/10.2.0 5.1.1 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#gbasis","title":"gbasis","text":"

                    Python library for analytical evaluation and integration of Gaussian-type basis functions and related quantities.

                    homepage: https://github.com/theochem/gbasis

                    version toolchain 20210904 intel/2022a"},{"location":"version-specific/supported-software/#gblocks","title":"Gblocks","text":"

                    Selection of conserved blocks from multiple alignments for their use in phylogenetic analysis

                    homepage: http://molevol.cmima.csic.es/castresana/Gblocks.html

                    version toolchain 0.91b system"},{"location":"version-specific/supported-software/#gbprocess","title":"GBprocesS","text":"

                    GBprocesS allows for the extraction of genomic inserts from NGS data for GBS experiments. Preprocessing is performed in different stages that are part of a linear pipeline where the steps are performed in order. GBprocesS provides a flexible way to adjust the functionality to your needs, as the operations required and the execution order vary depending on the GBS protocol used.

                    homepage: https://gbprocess.readthedocs.io/

                    version versionsuffix toolchain 2.3 -Python-3.8.2 intel/2020a 4.0.0.post1 foss/2022a"},{"location":"version-specific/supported-software/#gbs2ploidy","title":"gbs2ploidy","text":"

                    Inference of Ploidy from (Genotyping-by-Sequencing) GBS Data

                    homepage: https://cran.r-project.org/web/packages/gbs2ploidy

                    version versionsuffix toolchain 1.0 -R-3.4.3 intel/2017b"},{"location":"version-specific/supported-software/#gc","title":"gc","text":"

                    The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C malloc or C++ new.

                    homepage: https://hboehm.info/gc/

                    version toolchain 7.4.4 GCC/4.9.3-2.25, foss/2016a 7.6.0 GCCcore/6.4.0 7.6.4 GCCcore/7.3.0 7.6.10 GCCcore/8.2.0 7.6.12 GCCcore/8.3.0, GCCcore/9.3.0 8.0.4 GCCcore/10.3.0 8.2.0 GCCcore/11.2.0 8.2.2 GCCcore/10.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gc3pie","title":"GC3Pie","text":"

                    GC3Pie is a Python package for running large job campaigns on diverse batch-oriented execution environments.

                    homepage: https://gc3pie.readthedocs.org

                    version toolchain 2.4.2 system 2.5.0 system 2.5.2 system"},{"location":"version-specific/supported-software/#gcc","title":"GCC","text":"

                    The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).

                    homepage: http://gcc.gnu.org/

                    version versionsuffix toolchain 4.8.1 system 4.8.1 -CLooG system 4.8.2 system 4.8.2 -CLooG system 4.8.2 -CLooG-multilib system 4.8.2 -multilib system 4.8.3 system 4.8.3 -CLooG-multilib system 4.8.4 system 4.8.4 -CLooG system 4.8.4 -CLooG-multilib system 4.8.5 system 4.9.0 system 4.9.0 -CLooG system 4.9.0 -CLooG-multilib system 4.9.1 system 4.9.1 -CLooG system 4.9.1 -CLooG-multilib system 4.9.2 system 4.9.2 -CLooG system 4.9.2 -CLooG-multilib system 4.9.2 -binutils-2.25 system 4.9.3 system 4.9.3 -2.25 system 4.9.3 -binutils-2.25 system 4.9.4 -2.25 system 5.1.0 system 5.1.0 -binutils-2.25 system 5.2.0 system 5.3.0 system 5.3.0 -2.26 system 5.4.0 -2.26 system 5.5.0 -2.26 system 6.1.0 -2.27 system 6.2.0 -2.27 system 6.3.0 -2.27 system 6.3.0 -2.28 system 6.4.0 -2.28 system 7.1.0 -2.28 system 7.2.0 -2.29 system 7.3.0 -2.30 system 7.4.0 -2.31.1 system 8.1.0 -2.30 system 8.2.0 -2.31.1 system 8.3.0 system 8.3.0 -2.32 system 8.4.0 system 9.1.0 -2.32 system 9.2.0 system 9.2.0 -2.32 system 9.3.0 system 9.4.0 system 9.5.0 system 10.1.0 system 10.2.0 system 10.3.0 system 11.1.0 system 11.2.0 system 11.3.0 system 11.4.0 system 12.1.0 system 12.2.0 system 12.3.0 system 13.1.0 system system system system -2.29 system"},{"location":"version-specific/supported-software/#gcccore","title":"GCCcore","text":"

                    The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).

                    homepage: http://gcc.gnu.org/

                    version toolchain 4.9.2 system 4.9.3 system 4.9.4 system 5.3.0 system 5.4.0 system 5.5.0 system 6.1.0 system 6.2.0 system 6.3.0 system 6.4.0 system 6.5.0 system 7.1.0 system 7.2.0 system 7.3.0 system 7.4.0 system 8.1.0 system 8.2.0 system 8.3.0 system 8.4.0 system 9.1.0 system 9.2.0 system 9.3.0 system 9.4.0 system 9.5.0 system 10.1.0 system 10.2.0 system 10.3.0 system 11.1.0 system 11.2.0 system 11.3.0 system 11.4.0 system 12.1.0 system 12.2.0 system 12.3.0 system 13.1.0 system system system"},{"location":"version-specific/supported-software/#gcccuda","title":"gcccuda","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain, along with CUDA toolkit.

                    homepage: <(none)>

                    version toolchain 2016.08 system 2017b system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#gcloud","title":"gcloud","text":"

                    Libraries and tools for interacting with Google Cloud products and services.

                    homepage: https://cloud.google.com/sdk

                    version toolchain 382.0.0 system"},{"location":"version-specific/supported-software/#gconf","title":"GConf","text":"

                    GConf is a system for storing application preferences. It is intended for user preferences; not configuration of something like Apache, or arbitrary data storage.

                    homepage: https://projects.gnome.org/gconf/

                    version toolchain 3.2.6 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016a, foss/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b"},{"location":"version-specific/supported-software/#gcta","title":"GCTA","text":"

                    GCTA (Genome-wide Complex Trait Analysis) is a software package, which was initially developed to estimate the proportion of phenotypic variance explained by all genome-wide SNPs for a complex trait but has been extensively extended for many other analyses of data from genome-wide association studies (GWASs).

                    homepage: https://yanglab.westlake.edu.cn/software/gcta/

                    version toolchain 1.94.0beta foss/2021b, gfbf/2022a 1.94.1 gfbf/2022a"},{"location":"version-specific/supported-software/#gctf","title":"Gctf","text":"

                    Gctf: real-time CTF determination and correction, Kai Zhang, 2016

                    homepage: https://www.mrc-lmb.cam.ac.uk/kzhang/

                    version toolchain 1.06 system"},{"location":"version-specific/supported-software/#gd","title":"GD","text":"

                    GD.pm - Interface to Gd Graphics Library

                    homepage: https://github.com/lstein/Perl-GD

                    version versionsuffix toolchain 2.66 -Perl-5.24.0 foss/2016b 2.68 -Perl-5.26.1 GCCcore/6.4.0 2.69 -Perl-5.28.0 GCCcore/7.3.0 2.71 GCCcore/9.3.0 2.73 GCCcore/10.3.0 2.75 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gdal","title":"GDAL","text":"

                    GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for data translation and processing.

                    homepage: https://www.gdal.org

                    version versionsuffix toolchain 2.0.2 foss/2016a, intel/2016a 2.1.0 foss/2016a, foss/2016b, intel/2016b 2.1.1 foss/2016a 2.1.1 -Python-2.7.12 intel/2016b 2.1.2 -Python-2.7.12 intel/2016b 2.1.3 -Python-2.7.12 foss/2016b, intel/2016b 2.1.3 -Python-2.7.13 intel/2017a 2.1.3 -Python-3.6.1 intel/2017a 2.2.0 -Python-2.7.13-HDF5-1.8.18 intel/2017a 2.2.0 -Python-2.7.13-HDF5-HDF intel/2017a 2.2.0 -Python-3.6.1 intel/2017a 2.2.2 -Python-2.7.14 intel/2017b 2.2.2 -Python-2.7.14-HDF5-1.8.19 intel/2017b 2.2.3 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 2.2.3 -Python-2.7.15 foss/2018b 2.2.3 -Python-3.6.3 foss/2017b 2.2.3 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018a 2.2.3 -Python-3.6.6 foss/2018b, intel/2018b 2.4.4 foss/2021b, intel/2021b 3.0.0 -Python-2.7.15 foss/2019a, intel/2019a 3.0.0 -Python-3.7.2 foss/2019a, intel/2019a 3.0.2 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 3.0.4 -Python-3.8.2 foss/2020a, intel/2020a 3.2.1 foss/2020b, fosscuda/2020b, intel/2020b 3.3.0 foss/2021a 3.3.2 foss/2021b 3.5.0 foss/2022a 3.6.2 foss/2022b"},{"location":"version-specific/supported-software/#gdb","title":"GDB","text":"

                    The GNU Project Debugger

                    homepage: https://www.gnu.org/software/gdb/gdb.html

                    version versionsuffix toolchain 7.8.2 GCC/4.9.2 7.9 GCC/4.9.2 7.10.1 -Python-2.7.11 foss/2016a, intel/2016a 7.11 -Python-2.7.11 foss/2016a, intel/2016a 7.11.1 -Python-2.7.12 foss/2016b, intel/2016b 8.0.1 -Python-2.7.14 foss/2017b 8.0.1 -Python-3.6.3 foss/2017b 8.1 -Python-2.7.14 foss/2018a 8.1.1 -Python-2.7.14 intel/2018a 8.3 -Python-3.7.2 GCCcore/8.2.0 9.1 -Python-3.7.4 GCCcore/8.3.0 10.1 GCCcore/10.2.0 10.2 GCCcore/10.3.0 10.2 -Python-3.8.2 GCCcore/9.3.0 11.1 GCCcore/11.2.0 12.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gdbgui","title":"gdbgui","text":"

                    Browser-based frontend to gdb (gnu debugger). Add breakpoints, view the stack, visualize data structures, and more in C, C++, Go, Rust, and Fortran. Run gdbgui from the terminal and a new tab will open in your browser.

                    homepage: https://gdbgui.com

                    version versionsuffix toolchain 0.13.1.2 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gdbm","title":"gdbm","text":"

                    GNU dbm (or GDBM, for short) is a library of database functions that use extensible hashing and work similar to the standard UNIX dbm. These routines are provided to a programmer needing to create and manipulate a hashed database.

                    homepage: https://www.gnu.org.ua/software/gdbm/gdbm.html

                    version toolchain 1.18.1 foss/2020a 1.21 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gdc-client","title":"gdc-client","text":"

                    The gdc-client provides several convenience functions over the GDC API which provides general download/upload via HTTPS.

                    homepage: https://gdc.nci.nih.gov/access-data/gdc-data-transfer-tool

                    version versionsuffix toolchain 1.0.1 -Python-2.7.12 intel/2016b 1.3.0 -Python-2.7.14 foss/2018a, intel/2017b 1.3.0 -Python-2.7.15 foss/2018b 1.6.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gdchart","title":"GDCHART","text":"

                    Easy to use C API, high performance library to create charts and graphs in PNG, GIF and WBMP format.

                    homepage: http://users.fred.net/brv/chart

                    version toolchain 0.11.5dev GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gdcm","title":"GDCM","text":"

                    Grassroots DICOM: Cross-platform DICOM implementation

                    homepage: https://sourceforge.net/projects/gdcm

                    version toolchain 2.8.8 GCCcore/6.4.0 2.8.9 GCCcore/7.3.0 3.0.4 GCCcore/8.2.0 3.0.5 GCCcore/8.3.0 3.0.8 GCCcore/10.2.0, GCCcore/9.3.0 3.0.20 GCCcore/11.3.0 3.0.21 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gdgraph","title":"GDGraph","text":"

                    GDGraph is a Perl package to generate charts

                    homepage: https://metacpan.org/release/GDGraph

                    version versionsuffix toolchain 1.54 -Perl-5.26.1 intel/2018a 1.54 -Perl-5.28.0 foss/2018b 1.56 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gdist","title":"gdist","text":"

                    The gdist module is a Cython interface to a C++ library (http://code.google.com/p/geodesic/) for computing geodesic distance which is the length of shortest line between two vertices on a triangulated mesh in three dimensions, such that the line lies on the surface.

                    homepage: https://pypi.python.org/pypi/gdist

                    version versionsuffix toolchain 1.0.3 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#gdk-pixbuf","title":"Gdk-Pixbuf","text":"

                    The Gdk Pixbuf is a toolkit for image loading and pixel buffer manipulation. It is used by GTK+ 2 and GTK+ 3 to load and manipulate images. In the past it was distributed as part of GTK+ 2 but it was split off into a separate package in preparation for the change to GTK+ 3.

                    homepage: https://docs.gtk.org/gdk-pixbuf/

                    version toolchain 2.32.3 intel/2016a 2.35.1 foss/2016a, intel/2016a 2.36.0 foss/2016b, intel/2016b 2.36.8 intel/2017a 2.36.10 intel/2017a 2.36.11 foss/2017b, foss/2018a, fosscuda/2018b, intel/2017b, intel/2018a 2.36.12 foss/2018b, fosscuda/2018b 2.38.1 GCCcore/8.2.0 2.38.2 GCCcore/8.3.0 2.40.0 GCCcore/10.2.0, GCCcore/9.3.0 2.42.6 GCCcore/10.3.0, GCCcore/11.2.0 2.42.8 GCCcore/11.3.0 2.42.10 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gdrcopy","title":"GDRCopy","text":"

                    A low-latency GPU memory copy library based on NVIDIA GPUDirect RDMA technology.

                    homepage: https://github.com/NVIDIA/gdrcopy

                    version versionsuffix toolchain 2.1 -CUDA-11.0.2 GCCcore/9.3.0 2.1 -CUDA-11.1.1 GCCcore/10.2.0 2.1 -CUDA-11.2.1 GCCcore/10.2.0 2.2 GCCcore/10.2.0, GCCcore/10.3.0 2.3 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 2.3.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#geant4","title":"Geant4","text":"

                    Geant4 is a toolkit for the simulation of the passage of particles through matter. Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science.

                    homepage: https://geant4.cern.ch

                    version toolchain 9.5.p02 intel/2016a 9.6.p04 intel/2016a 10.01.p03 intel/2016a 10.02.p01 intel/2016a 10.03.p03 foss/2017b, intel/2017b 10.04 intel/2017b 10.5 foss/2017b, foss/2018b, intel/2017b, intel/2018b 10.6 foss/2019b 10.6.2 foss/2020a 10.7.1 GCC/10.2.0, GCC/11.2.0 11.0.0 GCC/11.2.0 11.0.1 GCC/11.2.0 11.0.2 GCC/11.2.0, GCC/11.3.0 11.1.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#geant4-data","title":"Geant4-data","text":"

                    Datasets for Geant4.

                    homepage: https://geant4.cern.ch/

                    version toolchain 11.1 system 20201103 system 20210510 system"},{"location":"version-specific/supported-software/#gearshifft","title":"gearshifft","text":"

                    Benchmark Suite for Heterogenuous FFT Implementations

                    homepage: https://github.com/mpicbg-scicomp/gearshifft

                    version toolchain 0.4.0 foss/2019a"},{"location":"version-specific/supported-software/#gegl","title":"GEGL","text":"

                    GEGL (Generic Graphics Library) is a data flow based image processing framework, providing floating point processing and non-destructive image processing capabilities to GNU Image Manipulation Program (GIMP) and other projects.

                    homepage: https://www.gegl.org

                    version toolchain 0.4.30 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#gem","title":"GEM","text":"

                    GEM (Gene-Environment interaction analysis for Millions of samples) is a software program for large-scale gene-environment interaction testing in samples from unrelated individuals. It enables genome-wide association studies in up to millions of samples while allowing for multiple exposures, control for genotype-covariate interactions, and robust inference.

                    homepage: https://github.com/large-scale-gxe-methods/GEM

                    version toolchain 1.5.1 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#gem-library","title":"GEM-library","text":"

                    Next-generation sequencing platforms (Illumina/Solexa, ABI/SOLiD, etc.) call for powerful and very optimized tools to index/analyze huge genomes. The GEM library strives to be a true \"next-generation\" tool for handling any kind of sequence data, offering state-of-the-art algorithms and data structures specifically tailored to this demanding task. At the moment, efficient indexing and searching algorithms based on the Burrows-Wheeler transform (BWT) have been implemented. The library core is written in C for maximum speed, with concise interfaces to higher-level programming languages like OCaml and Python. Many high-performance standalone programs (mapper, splice mapper, etc.) are provided along with the library; in general, new algorithms and tools can be easily implemented on the top of it.

                    homepage: http://algorithms.cnag.cat/wiki/The_GEM_library

                    version versionsuffix toolchain 20130406-045632 _pre-release-3_Linux-x86_64 system"},{"location":"version-specific/supported-software/#gemelli","title":"gemelli","text":"

                    Gemelli is a tool box for running both Robust Aitchison PCA (RPCA) and Compositional Tensor Factorization (CTF) on sparse compositional omics datasets.

                    homepage: https://github.com/biocore/gemelli

                    version toolchain 0.0.9 foss/2022a"},{"location":"version-specific/supported-software/#gemma","title":"GEMMA","text":"

                    Genome-wide Efficient Mixed Model Association

                    homepage: https://github.com/genetics-statistics/GEMMA

                    version toolchain 0.97 foss/2016b, foss/2017a 0.98.1 foss/2018b 0.98.5 foss/2021b, foss/2022b"},{"location":"version-specific/supported-software/#gemmi","title":"gemmi","text":"

                    Gemmi is a library, accompanied by a set of programs, developed primarily for use in macromolecular crystallography (MX). For working with: macromolecular models (content of PDB, PDBx/mmCIF and mmJSON files), refinement restraints (CIF files), reflection data (MTZ and mmCIF formats), data on a 3D grid (electron density maps, masks, MRC/CCP4 format) crystallographic symmetry. Parts of this library can be useful in structural bioinformatics (for symmetry- aware analysis of protein models), and in other molecular-structure sciences that use CIF files (we have the fastest open-source CIF parser).

                    homepage: https://gemmi.readthedocs.io/

                    version toolchain 0.4.5 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gencore_variant_detection","title":"gencore_variant_detection","text":"

                    This is a bundled install of many software packages for doing variant detection analysis.

                    homepage: https://nyuad-cgsb.github.io/variant_detection/public/index.html

                    version toolchain 1.0 system"},{"location":"version-specific/supported-software/#genemark-et","title":"GeneMark-ET","text":"

                    Eukaryotic gene prediction suite with automatic training

                    homepage: http://exon.gatech.edu/GeneMark

                    version toolchain 4.38 GCCcore/8.2.0 4.57 GCCcore/8.3.0 4.65 GCCcore/10.2.0 4.71 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gengetopt","title":"gengetopt","text":"

                    Gengetopt is a tool to write command line option parsing code for C programs.

                    homepage: https://www.gnu.org/software/gengetopt/gengetopt.html

                    version toolchain 2.23 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#genmap","title":"GenMap","text":"

                    GenMap - Fast and Exact Computation of Genome Mappability

                    homepage: https://github.com/cpockrandt/genmap

                    version toolchain 1.3.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#genome_profiler","title":"Genome_Profiler","text":"

                    Genome Profiler (GeP) is a program to perform whole-genome multilocus sequence typing (wgMLST) analysis for bacterial isolates

                    homepage: https://sourceforge.net/projects/genomeprofiler/

                    version versionsuffix toolchain 2.1 -Perl-5.24.0 foss/2016b"},{"location":"version-specific/supported-software/#genomemapper","title":"GenomeMapper","text":"

                    GenomeMapper is a short read mapping tool designed for accurate read alignments. It quickly aligns millions of reads either with ungapped or gapped alignments. This version is used to align against a single reference. If you are unsure which one is the appropriate GenomeMapper, you might want to use this one.

                    homepage: https://1001genomes.org/software/genomemapper_singleref.html

                    version toolchain 0.4.4 foss/2016a"},{"location":"version-specific/supported-software/#genomepy","title":"genomepy","text":"

                    genomepy is designed to provide a simple and straightforward way to download and use genomic data

                    homepage: https://github.com/vanheeringen-lab/genomepy

                    version toolchain 0.15.0 foss/2022a"},{"location":"version-specific/supported-software/#genometester4","title":"GenomeTester4","text":"

                    A toolkit for performing set operations - union, intersection and complement - on k-mer lists.

                    homepage: https://github.com/bioinfo-ut/GenomeTester4

                    version toolchain 4.0 intel/2018a"},{"location":"version-specific/supported-software/#genomethreader","title":"GenomeThreader","text":"

                    GenomeThreader is a software tool to compute gene structure predictions.

                    homepage: https://genomethreader.org

                    version versionsuffix toolchain 1.7.1 -Linux_x86_64-64bit system 1.7.3 -Linux_x86_64-64bit system"},{"location":"version-specific/supported-software/#genometools","title":"GenomeTools","text":"

                    A comprehensive software library for efficient processing of structured genome annotations.

                    homepage: http://genometools.org

                    version versionsuffix toolchain 1.5.10 foss/2018b 1.5.10 -Python-2.7.15 foss/2018b 1.6.1 GCC/10.2.0, GCC/8.3.0, GCC/9.3.0 1.6.1 -Python-2.7.16 GCC/8.3.0 1.6.2 GCC/10.3.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#genomeworks","title":"GenomeWorks","text":"

                    SDK for GPU accelerated genome assembly and analysis

                    homepage: https://github.com/clara-parabricks/GenomeWorks

                    version toolchain 2021.02.2 fosscuda/2020b"},{"location":"version-specific/supported-software/#genotypeharmonizer","title":"GenotypeHarmonizer","text":"

                    The Genotype Harmonizer is an easy to use command-line tool that allows harmonization of genotype data stored using different file formats with different and potentially unknown strands.

                    homepage: https://github.com/molgenis/systemsgenetics/wiki/Genotype-Harmonizer

                    version versionsuffix toolchain 1.4.14 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#genozip","title":"genozip","text":"

                    Genozip is a compressor for genomic files - it compresses FASTQ, SAM/BAM/CRAM, VCF, FASTA and others.

                    homepage: https://genozip.com

                    version toolchain 13.0.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#gensim","title":"gensim","text":"

                    Gensim is a Python library for topic modelling, document indexing and similarity retrieval with large corpora.

                    homepage: https://radimrehurek.com/gensim

                    version versionsuffix toolchain 0.13.2 -Python-2.7.11 foss/2016a 3.8.3 foss/2020b, intel/2020b 4.2.0 foss/2021a"},{"location":"version-specific/supported-software/#geocube","title":"geocube","text":"

                    Tool to convert geopandas vector data into rasterized xarray data.

                    homepage: https://corteva.github.io/geocube/latest/

                    version versionsuffix toolchain 0.0.14 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#geopandas","title":"geopandas","text":"

                    GeoPandas is a project to add support for geographic data to pandas objects. It currently implements GeoSeries and GeoDataFrame types which are subclasses of pandas.Series and pandas.DataFrame respectively. GeoPandas objects can act on shapely geometry objects and perform geometric operations.

                    homepage: https://github.com/geopandas/geopandas

                    version versionsuffix toolchain 0.7.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.8.0 -Python-3.7.2 foss/2019a 0.8.1 -Python-3.7.4 intel/2019b 0.8.1 -Python-3.8.2 foss/2020a 0.10.2 foss/2021a 0.11.0 foss/2021b 0.12.2 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#geopy","title":"geopy","text":"

                    geopy is a Python client for several popular geocoding web services. geopy makes it easy for Python developers to locate the coordinates of addresses, cities, countries, and landmarks across the globe using third-party geocoders and other data sources.

                    homepage: https://geopy.readthedocs.io/en/stable/

                    version versionsuffix toolchain 1.11.0 -Python-3.6.1 intel/2017a 2.1.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#georges","title":"georges","text":"

                    Georges the lemur opinionated particle accelerator modeling Python package. Also a thin wrapper over MAD-X/PTC, BDSim and G4Beamline.

                    homepage: https://github.com/ULB-Metronu/georges

                    version versionsuffix toolchain 2019.2 foss/2021a 2019.2 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#geos","title":"GEOS","text":"

                    GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)

                    homepage: https://trac.osgeo.org/geos

                    version versionsuffix toolchain 3.5.0 -Python-2.7.11 intel/2016a 3.5.0 -Python-2.7.12 intel/2016b 3.6.1 -Python-2.7.12 foss/2016b, intel/2016b 3.6.1 -Python-2.7.13 intel/2017a 3.6.1 -Python-3.6.1 intel/2017a 3.6.2 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 3.6.2 -Python-2.7.15 foss/2018b 3.6.2 -Python-3.6.2 foss/2017b 3.6.2 -Python-3.6.3 foss/2017b, intel/2017b, intel/2018.01 3.6.2 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018a 3.6.2 -Python-3.6.6 foss/2018b, intel/2018b 3.7.2 -Python-2.7.15 foss/2019a, intel/2019a 3.7.2 -Python-3.7.2 foss/2019a, intel/2019a 3.8.0 GCC/8.3.0 3.8.0 -Python-3.7.4 GCC/8.3.0, iccifort/2019.5.281 3.8.1 -Python-3.8.2 GCC/9.3.0, iccifort/2020.1.217 3.9.1 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.4.0 3.10.3 GCC/11.3.0 3.11.1 GCC/12.2.0"},{"location":"version-specific/supported-software/#gerris","title":"Gerris","text":"

                    Gerris is a Free Software program for the solution of the partial differential equations describing fluid flow

                    homepage: http://gfs.sourceforge.net/wiki/index.php/Main_Page

                    version toolchain 20131206 foss/2017b"},{"location":"version-specific/supported-software/#getorb","title":"GETORB","text":"

                    GETORB software package contains programs to handle the orbital data records (ODRs)

                    homepage: http://www.deos.tudelft.nl/ers/precorbs/tools/getorb_pack.shtml

                    version toolchain 2.3.2 intel/2017a"},{"location":"version-specific/supported-software/#getorganelle","title":"GetOrganelle","text":"

                    This toolkit assemblies organelle genome from genomic skimming data.

                    homepage: https://github.com/Kinggerm/GetOrganelle

                    version versionsuffix toolchain 1.7.2 -Python-3.8.2 foss/2020a 1.7.4-pre2 foss/2020b 1.7.5.3 foss/2021b 1.7.6.1 foss/2021b 1.7.7.0 foss/2022a"},{"location":"version-specific/supported-software/#gettext","title":"gettext","text":"

                    GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools and documentation

                    homepage: https://www.gnu.org/software/gettext/

                    version versionsuffix toolchain 0.18.2 system 0.19.4 GCC/4.9.2, system 0.19.6 GNU/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016a, system 0.19.7 foss/2016a, intel/2016a, system 0.19.8 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016.04, foss/2016b, intel/2016b, system 0.19.8.1 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, system 0.19.8.1 -libxml2-2.9.7 GCCcore/6.4.0 0.20.1 GCCcore/8.3.0, GCCcore/9.3.0, system 0.21 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, system 0.21.1 GCCcore/12.2.0, GCCcore/12.3.0, system"},{"location":"version-specific/supported-software/#gexiv2","title":"gexiv2","text":"

                    gexiv2 is a GObject wrapper around the Exiv2 photo metadata library.

                    homepage: https://wiki.gnome.org/Projects/gexiv2

                    version toolchain 0.12.2 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#gfbf","title":"gfbf","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain, including FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.

                    homepage: <(none)>

                    version toolchain 2022a system 2022b system 2023a system"},{"location":"version-specific/supported-software/#gffcompare","title":"GffCompare","text":"

                    GffCompare provides classification and reference annotation mapping and matching statistics for RNA-Seq assemblies (transfrags) or other generic GFF/GTF files.

                    homepage: https://ccb.jhu.edu/software/stringtie/gffcompare.shtml

                    version toolchain 0.10.1 foss/2016b 0.10.6 GCCcore/7.3.0 0.11.6 GCCcore/8.3.0, GCCcore/9.3.0 0.12.2 GCC/10.3.0 0.12.6 GCC/11.2.0"},{"location":"version-specific/supported-software/#gffread","title":"gffread","text":"

                    GFF/GTF parsing utility providing format conversions, region filtering, FASTA sequence extraction and more.

                    homepage: https://github.com/gpertea/gffread

                    version toolchain 0.9.12 foss/2016b 0.10.6 GCCcore/7.3.0 0.11.6 GCCcore/8.3.0, GCCcore/9.3.0 0.12.7 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gflags","title":"gflags","text":"

                    The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used.

                    homepage: https://github.com/gflags/gflags

                    version toolchain 2.1.2 foss/2016a 2.2.1 GCCcore/6.4.0, intel/2017a, intel/2017b 2.2.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#gfold","title":"GFOLD","text":"

                    Generalized fold change for ranking differentially expressed genes from RNA-seq data

                    homepage: http://www.tongji.edu.cn/~zhanglab/GFOLD/index.html

                    version toolchain 1.1.4 intel/2016a"},{"location":"version-specific/supported-software/#gh","title":"gh","text":"

                    gh is GitHub on the command line.

                    homepage: https://github.com/cli/cli

                    version toolchain 1.3.1 system 2.20.2 system"},{"location":"version-specific/supported-software/#ghc","title":"GHC","text":"

                    The Glorious/Glasgow Haskell Compiler

                    homepage: https://haskell.org/ghc/

                    version versionsuffix toolchain 6.12.3 system 8.6.5 -x86_64 system"},{"location":"version-specific/supported-software/#ghostscript","title":"Ghostscript","text":"

                    Ghostscript is a versatile processor for PostScript data with the ability to render PostScript to different targets. It used to be part of the cups printing stack, but is no longer used for that.

                    homepage: https://ghostscript.com

                    version versionsuffix toolchain 9.19 intel/2016a, intel/2016b 9.20 foss/2016b, intel/2016b 9.21 intel/2017a 9.22 GCCcore/6.4.0, foss/2017b, intel/2017b 9.22 -cairo-1.14.12 GCCcore/6.4.0 9.23 GCCcore/6.4.0, GCCcore/7.3.0 9.23 -cairo-1.14.12 GCCcore/6.4.0 9.27 GCCcore/8.2.0 9.50 GCCcore/8.3.0 9.52 GCCcore/9.3.0 9.53.3 GCCcore/10.2.0 9.54.0 GCCcore/10.3.0, GCCcore/11.2.0 9.56.1 GCCcore/11.3.0 10.0.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gibbs2","title":"Gibbs2","text":"

                    Gibbs2 is a program for the calculation of thermodynamic properties in periodic solids under arbitrary conditions of temperature and pressure. Gibbs2 uses the results of periodic solid-state quantum-mechanical calculations, specifically the energy-volume curve and possibly the harmonic phonon frequencies, to compute the thermodynamic properties of the solid within the framework of the quasiharmonic approximation.

                    homepage: https://aoterodelaroza.github.io/gibbs2/

                    version toolchain 1.0 GCC/10.3.0"},{"location":"version-specific/supported-software/#giflib","title":"giflib","text":"

                    giflib is a library for reading and writing gif images. It is API and ABI compatible with libungif which was in wide use while the LZW compression algorithm was patented.

                    homepage: http://giflib.sourceforge.net/

                    version toolchain 5.1.4 GCCcore/7.3.0, GCCcore/8.2.0 5.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#gifsicle","title":"gifsicle","text":"

                    Gifsicle is a command-line tool for creating, editing, and getting information about GIF images and animations. Making a GIF animation with gifsicle is easy.

                    homepage: https://github.com/kohler/gifsicle

                    version toolchain 1.92 GCCcore/8.2.0 1.93 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gimic","title":"GIMIC","text":"

                    The GIMIC program calculates magnetically induced currents in molecules. You need to provide this program with a density matrix in atomic-orbital (AO) basis and three (effective) magnetically perturbed AO density matrices in the proper format. Currently ACES2, Turbomole, G09, QChem, FERMION++, and LSDalton can produce these matrices.

                    homepage: http://gimic.readthedocs.io

                    version versionsuffix toolchain 2018.04.20 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#gimkl","title":"gimkl","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain with Intel MPI and MKL

                    homepage: <(none)>

                    version toolchain 2.11.5 system 2017a system 2018b system"},{"location":"version-specific/supported-software/#gimmemotifs","title":"GimmeMotifs","text":"

                    Suite of motif tools, including a motif prediction pipeline for ChIP-seq experiments

                    homepage: https://github.com/vanheeringen-lab/gimmemotifs

                    version toolchain 0.17.2 foss/2022a"},{"location":"version-specific/supported-software/#gimp","title":"GIMP","text":"

                    GIMP is a cross-platform image editor available for GNU/Linux, OS X, Windows and more operating systems.

                    homepage: https://www.gimp.org

                    version toolchain 2.10.24 GCC/10.3.0"},{"location":"version-specific/supported-software/#gimpi","title":"gimpi","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain with Intel MPI.

                    homepage: <(none)>

                    version toolchain 2.11.5 system 2017a system 2017b system 2018a system 2018b system"},{"location":"version-specific/supported-software/#gimpic","title":"gimpic","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain along with CUDA toolkit, including IntelMPI for MPI support with CUDA features enabled.

                    homepage: <(none)>

                    version toolchain 2017b system"},{"location":"version-specific/supported-software/#gimps","title":"GIMPS","text":"

                    GIMPS: Great Internet Mersenne Prime Search; it can be useful for limited stress testing of nodes, in user space

                    homepage: http://www.mersenne.org/

                    version toolchain p95v279 GCC/4.8.2 p95v279.linux64 system"},{"location":"version-specific/supported-software/#giolf","title":"giolf","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain, including IntelMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

                    homepage: <(none)>

                    version toolchain 2017b system 2018a system"},{"location":"version-specific/supported-software/#giolfc","title":"giolfc","text":"

                    GCC based compiler toolchain with CUDA support, and including IntelMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

                    homepage: <(none)>

                    version toolchain 2017b system"},{"location":"version-specific/supported-software/#giotto-suite","title":"Giotto-Suite","text":"

                    Giotto Suite is focused on building a modular platform for analyzing spatial-omics technologies and strives to be interoperable with other popular spatial analysis tools and classes. Using established packages optimized for large(r) data, Giotto Suite adopts fast and memory efficient methods to create an interactive analysis.

                    homepage: https://github.com/drieslab/Giotto

                    version versionsuffix toolchain 3.0.1 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#git","title":"git","text":"

                    Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

                    homepage: http://git-scm.com/

                    version versionsuffix toolchain 1.8.5.6 GCC/4.9.2 2.2.2 GCC/4.9.2 2.4.1 GCC/4.9.2 2.8.0 foss/2016a 2.12.2 foss/2016b 2.13.1 foss/2016b 2.14.1 GCCcore/6.4.0 2.16.1 foss/2018a 2.18.0 GCCcore/7.3.0 2.19.1 GCCcore/7.3.0 2.21.0 GCCcore/8.2.0 2.21.0 -nodocs GCCcore/8.2.0 2.23.0 GCCcore/8.3.0 2.23.0 -nodocs GCCcore/8.3.0, GCCcore/9.3.0 2.28.0 -nodocs GCCcore/10.2.0 2.32.0 -nodocs GCCcore/10.3.0 2.33.1 -nodocs GCCcore/11.2.0 2.36.0 -nodocs GCCcore/11.3.0 2.38.1 -nodocs GCCcore/12.2.0 2.41.0 -nodocs GCCcore/12.3.0"},{"location":"version-specific/supported-software/#git-extras","title":"git-extras","text":"

                    Extra useful scripts for git

                    homepage: https://github.com/tj/git-extras

                    version toolchain 5.1.0 foss/2016a"},{"location":"version-specific/supported-software/#git-lfs","title":"git-lfs","text":"

                    Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com

                    homepage: https://git-lfs.github.com

                    version toolchain 1.1.1 system 2.7.1 system 2.11.0 system 3.2.0 system"},{"location":"version-specific/supported-software/#gitpython","title":"GitPython","text":"

                    GitPython is a python library used to interact with Git repositories

                    homepage: https://github.com/gitpython-developers/GitPython

                    version versionsuffix toolchain 2.1.11 -Python-3.6.6 foss/2018b, intel/2018b 2.1.15 system 3.0.3 -Python-3.7.2 GCCcore/8.2.0 3.1.0 -Python-3.7.4 GCCcore/8.3.0 3.1.9 -Python-3.8.2 GCCcore/9.3.0 3.1.14 GCCcore/10.2.0 3.1.18 GCCcore/10.3.0 3.1.24 GCCcore/11.2.0 3.1.27 GCCcore/11.3.0 3.1.31 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#givaro","title":"Givaro","text":"

                    C++ library for arithmetic and algebraic computations

                    homepage: http://givaro.forge.imag.fr/

                    version toolchain 4.0.1 foss/2016a"},{"location":"version-specific/supported-software/#giza","title":"Giza","text":"

                    Giza is an open, lightweight scientific plotting library built on top of cairo that provides uniform output to multiple devices.

                    homepage: https://danieljprice.github.io/giza/

                    version toolchain 1.1.0 foss/2018b"},{"location":"version-specific/supported-software/#gkeyll","title":"GKeyll","text":"

                    Gkeyll v2.0 (pronounced as in the book \u201cThe Strange Case of Dr. Jekyll and Mr. Hyde\u201d) is a computational plasma physics code mostly written in C/C++ and LuaJIT. Gkeyll contains solvers for gyrokinetic equations, Vlasov-Maxwell equations, and multi-fluid equations. Gkeyll contains ab-initio and novel implementations of a number of algorithms, and perhaps is unique in using a JIT compiled typeless dynamic language for as its main implementation language.

                    homepage: https://gkeyll.readthedocs.io

                    version versionsuffix toolchain 20220803 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#gl2ps","title":"GL2PS","text":"

                    GL2PS: an OpenGL to PostScript printing library

                    homepage: https://www.geuz.org/gl2ps/

                    version versionsuffix toolchain 1.3.9 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.3.9 -Mesa-11.2.1 foss/2016a, intel/2016a 1.4.0 GCCcore/8.3.0, foss/2017b, foss/2018a, foss/2018b, foss/2019a, intel/2017a, intel/2017b, intel/2018a 1.4.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#glade","title":"Glade","text":"

                    Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment.

                    homepage: https://glade.gnome.org/

                    version versionsuffix toolchain 3.8.5 -Python-2.7.11 intel/2016a 3.8.5 -Python-2.7.14 intel/2017b 3.8.6 -Python-2.7.14 intel/2018a 3.8.6 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#glew","title":"glew","text":"

                    The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform.

                    homepage: https://github.com/nigels-com/glew

                    version versionsuffix toolchain 2.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2018b 2.2.0 -egl GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0 2.2.0 -glx GCCcore/10.2.0, GCCcore/11.2.0 2.2.0 -osmesa GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#glfw","title":"GLFW","text":"

                    GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop

                    homepage: https://www.glfw.org

                    version toolchain 3.2.1 intel/2018a 3.3.2 GCCcore/9.3.0 3.3.3 GCCcore/10.2.0 3.3.4 GCCcore/10.3.0, GCCcore/11.2.0 3.3.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gli","title":"GLI","text":"

                    Graphics Language Interpreter

                    homepage: https://pgi-jcns.fz-juelich.de/portal/pages/gli.html

                    version toolchain 4.5.31 GCCcore/10.2.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#glib","title":"GLib","text":"

                    GLib is one of the base libraries of the GTK+ project

                    homepage: https://www.gtk.org/

                    version toolchain 2.42.1 GCC/4.9.2 2.44.0 GCC/4.9.2 2.47.5 foss/2016a, gimkl/2.11.5, intel/2016a 2.48.0 foss/2016a, intel/2016a 2.49.5 foss/2016b, intel/2016b 2.52.0 foss/2017a, intel/2017a 2.53.5 GCCcore/6.3.0, GCCcore/6.4.0 2.54.2 GCCcore/6.4.0 2.54.3 GCCcore/6.4.0, GCCcore/7.3.0 2.60.1 GCCcore/8.2.0 2.62.0 GCCcore/8.3.0 2.64.1 GCCcore/9.3.0 2.66.1 GCCcore/10.2.0 2.68.2 GCCcore/10.3.0 2.69.1 GCCcore/11.2.0 2.72.1 GCCcore/11.3.0 2.75.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#glib-networking","title":"glib-networking","text":"

                    Network extensions for GLib

                    homepage: https://gitlab.gnome.org/GNOME/glib-networking

                    version toolchain 2.68.1 GCCcore/10.3.0 2.72.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#glibc","title":"glibc","text":"

                    The GNU C Library project provides the core libraries for the GNU system and GNU/Linux systems, as well as many other systems that use Linux as the kernel.

                    homepage: https://www.gnu.org/software/libc/

                    version toolchain 2.17 GCCcore/6.4.0 2.26 GCCcore/6.4.0 2.30 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#glibmm","title":"GLibmm","text":"

                    C++ bindings for Glib

                    homepage: https://www.gtk.org/

                    version toolchain 2.49.7 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 2.66.4 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#glimmer","title":"GLIMMER","text":"

                    Glimmer is a system for finding genes in microbial DNA, especially the genomes of bacteria, archaea, and viruses.

                    homepage: http://ccb.jhu.edu/software/glimmer/index.shtml

                    version toolchain 3.02b foss/2016b, foss/2018b"},{"location":"version-specific/supported-software/#glimmerhmm","title":"GlimmerHMM","text":"

                    GlimmerHMM is a new gene finder based on a Generalized Hidden Markov Model. Although the gene finder conforms to the overall mathematical framework of a GHMM, additionally it incorporates splice site models adapted from the GeneSplicer program and a decision tree adapted from GlimmerM. It also utilizes Interpolated Markov Models for the coding and noncoding models.

                    homepage: https://ccb.jhu.edu/software/glimmerhmm

                    version toolchain 3.0.4 foss/2016b, foss/2018b 3.0.4c GCC/10.2.0, GCC/11.2.0, GCC/8.3.0"},{"location":"version-specific/supported-software/#glimpse","title":"GLIMPSE","text":"

                    GLIMPSE2 is a set of tools for phasing and imputation for low-coverage sequencing datasets

                    homepage: https://github.com/odelaneau/GLIMPSE

                    version toolchain 2.0.0 GCC/10.3.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#glm","title":"GLM","text":"

                    OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.

                    homepage: https://github.com/g-truc/glm

                    version toolchain 0.9.7.6 intel/2016a 0.9.8.3 GCCcore/5.4.0, GCCcore/7.3.0 0.9.9.0 GCCcore/6.4.0 0.9.9.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#glm-aed","title":"GLM-AED","text":"

                    The General Lake Model (GLM) is a water balance and one-dimensional vertical stratification hydrodynamic model, which is dynamically coupled with the AED water quality modelling library. GLM-AED is suitable for simulating conditions in a wide range of natural and engineered lakes, including shallow (well-mixed) and deep (stratified) systems. The model has been successfully applied to systems from the scale of individual ponds and wetlands, to actively operated reservoirs, upto the scale of the Great Lakes.

                    homepage: https://github.com/AquaticEcoDynamics/glm-aed

                    version toolchain 3.3.0a5 gompi/2021b"},{"location":"version-specific/supported-software/#globalarrays","title":"GlobalArrays","text":"

                    Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model

                    homepage: https://hpc.pnl.gov/globalarrays

                    version versionsuffix toolchain 5.7 intel/2018b 5.7 -peigs intel/2019a 5.7.2 intel/2019b 5.7.2 -peigs intel/2019b 5.8 intel/2020a, intel/2021a, iomkl/2021a 5.8.1 intel/2022a 5.8.2 intel/2022a"},{"location":"version-specific/supported-software/#globus-cli","title":"Globus-CLI","text":"

                    A Command Line Wrapper over the Globus SDK for Python, which provides an interface to Globus services from the shell, and is suited to both interactive and simple scripting use cases.

                    homepage: https://docs.globus.org/cli/

                    version toolchain 1.11.0 GCCcore/8.3.0 3.1.1 GCCcore/10.2.0 3.2.0 GCCcore/10.3.0 3.6.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#globusconnectpersonal","title":"GlobusConnectPersonal","text":"

                    Globus Connect Personal turns your laptop or other personal computer into a Globus endpoint with a just a few clicks. With Globus Connect Personal you can share and transfer files to/from a local machine\u2014campus server, desktop computer or laptop\u2014even if it's behind a firewall and you don't have administrator privileges.

                    homepage: https://www.globus.org/globus-connect-personal

                    version toolchain 2.3.6 system"},{"location":"version-specific/supported-software/#glog","title":"glog","text":"

                    A C++ implementation of the Google logging module.

                    homepage: https://github.com/google/glog

                    version toolchain 0.3.4 foss/2016a 0.3.5 GCCcore/6.4.0, intel/2017a, intel/2017b 0.4.0 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.5.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#glpk","title":"GLPK","text":"

                    The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library.

                    homepage: https://www.gnu.org/software/glpk/

                    version toolchain 4.58 foss/2016a, intel/2016a 4.60 GCCcore/5.4.0, intel/2016b 4.61 intel/2017a 4.65 GCCcore/10.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 5.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#glproto","title":"glproto","text":"

                    X protocol and ancillary headers

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.4.17 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#glucose","title":"Glucose","text":"

                    Glucose is based on a new scoring scheme (well, not so new now, it was introduced in 2009) for the clause learning mechanism of so called Modern SAT solvers (it is based on our IJCAI'09 paper). It is designed to be parallel, since v4.0.

                    homepage: https://www.labri.fr/perso/lsimon/glucose/

                    version toolchain 4.1 GCC/9.3.0"},{"location":"version-specific/supported-software/#gmap-gsnap","title":"GMAP-GSNAP","text":"

                    GMAP: A Genomic Mapping and Alignment Program for mRNA and EST Sequences GSNAP: Genomic Short-read Nucleotide Alignment Program

                    homepage: http://research-pub.gene.com/gmap/

                    version toolchain 2016-05-01 foss/2016a 2016-11-07 foss/2016b 2018-05-11 intel/2018a 2018-07-04 intel/2018a 2019-03-15 foss/2018b 2019-09-12 GCC/8.3.0 2020-12-17 GCC/9.3.0 2021-12-17 GCC/11.2.0 2023-02-17 GCC/11.3.0 2023-04-20 GCC/12.2.0"},{"location":"version-specific/supported-software/#gmp","title":"GMP","text":"

                    GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers.

                    homepage: https://gmplib.org/

                    version toolchain 4.3.2 system 5.1.3 GCC/4.8.2 6.0.0 GCC/4.9.2 6.0.0a GCC/4.8.4, GCC/4.9.2, GNU/4.9.3-2.25 6.1.0 GCC/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 6.1.1 GCC/5.4.0-2.26, GCCcore/5.4.0, GCCcore/6.3.0, foss/2016.04, foss/2016a, foss/2016b, intel/2016b 6.1.2 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016b 6.2.0 GCCcore/10.2.0, GCCcore/9.3.0 6.2.1 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#gmpich","title":"gmpich","text":"

                    gcc and GFortran based compiler toolchain, including MPICH for MPI support.

                    homepage: <(none)>

                    version toolchain 2016a system 2017.08 system"},{"location":"version-specific/supported-software/#gmpolf","title":"gmpolf","text":"

                    gcc and GFortran based compiler toolchain, MPICH for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

                    homepage: <(none)>

                    version toolchain 2016a system 2017.10 system"},{"location":"version-specific/supported-software/#gmpy2","title":"gmpy2","text":"

                    GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x

                    homepage: https://github.com/aleaxit/gmpy

                    version versionsuffix toolchain 2.0.8 -Python-2.7.13 intel/2017a 2.0.8 -Python-2.7.14 foss/2017b, intel/2017b 2.0.8 -Python-3.6.3 foss/2017b, intel/2017b 2.1.0b1 -Python-2.7.14 foss/2017b, intel/2017b 2.1.0b1 -Python-3.6.3 foss/2017b, intel/2017b 2.1.0b4 GCC/8.3.0 2.1.0b5 GCC/10.2.0, GCC/10.3.0, GCC/9.3.0, iccifort/2020.4.304 2.1.2 GCC/11.2.0, GCC/11.3.0, intel-compilers/2022.1.0"},{"location":"version-specific/supported-software/#gmsh","title":"gmsh","text":"

                    Gmsh is a 3D finite element grid generator with a build-in CAD engine and post-processor.

                    homepage: https://gmsh.info/

                    version versionsuffix toolchain 3.0.6 -Python-2.7.14 foss/2017b 3.0.6 -Python-3.6.6 foss/2018b 4.2.2 -Python-3.6.6 foss/2018b 4.5.6 -Python-2.7.16 intel/2019b 4.5.6 -Python-3.7.4 foss/2019b 4.7.1 -Python-3.8.2 foss/2020a, intel/2020a 4.8.4 -Python-3.6.4 foss/2018a 4.9.0 foss/2021a 4.11.1 foss/2022a"},{"location":"version-specific/supported-software/#gmt","title":"GMT","text":"

                    GMT is an open source collection of about 80 command-line tools for manipulating geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting, etc.) and producing PostScript illustrations ranging from simple x-y plots via contour maps to artificially illuminated surfaces and 3D perspective views; the GMT supplements add another 40 more specialized and discipline-specific tools.

                    homepage: https://www.generic-mapping-tools.org/

                    version toolchain 4.5.17 foss/2018a 5.4.1 intel/2017a 5.4.3 foss/2018a, intel/2017b 5.4.5 foss/2019a 6.2.0 foss/2019b, foss/2020b"},{"location":"version-specific/supported-software/#gmvapich2","title":"gmvapich2","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain, including MVAPICH2 for MPI support.

                    homepage: <(none)>

                    version toolchain 1.7.20 system 2016a system"},{"location":"version-specific/supported-software/#gmvolf","title":"gmvolf","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain, including MVAPICH2 for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.

                    homepage: <(none)>

                    version toolchain 1.7.20 system 2016a system"},{"location":"version-specific/supported-software/#gnu","title":"GNU","text":"

                    Compiler-only toolchain with GCC and binutils.

                    homepage: http://www.gnu.org/software/

                    version toolchain 4.9.2-2.25 system 4.9.3-2.25 system 5.1.0-2.25 system"},{"location":"version-specific/supported-software/#gnuplot","title":"gnuplot","text":"

                    Portable interactive, function plotting utility

                    homepage: http://gnuplot.sourceforge.net

                    version toolchain 5.0.3 foss/2016a, intel/2016a 5.0.5 foss/2016b, intel/2016b 5.0.6 intel/2017a 5.2.2 foss/2017b, foss/2018a, intel/2017b, intel/2018a 5.2.5 foss/2018b 5.2.6 GCCcore/8.2.0, foss/2018b, fosscuda/2018b 5.2.8 GCCcore/8.3.0, GCCcore/9.3.0 5.4.1 GCCcore/10.2.0 5.4.2 GCCcore/10.3.0, GCCcore/11.2.0 5.4.4 GCCcore/11.3.0 5.4.6 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gnutls","title":"GnuTLS","text":"

                    GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them. It provides a simple C language application programming interface (API) to access the secure communications protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and other required structures. It is aimed to be portable and efficient with focus on security and interoperability.

                    homepage: https://www.gnutls.org

                    version toolchain 3.3.21 intel/2016a 3.4.7 GNU/4.9.3-2.25 3.4.11 foss/2016a 3.7.2 GCCcore/10.3.0 3.7.3 GCCcore/11.2.0 3.7.8 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#go","title":"Go","text":"

                    Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

                    homepage: http://www.golang.org

                    version toolchain 1.2.1 GCC/4.8.2 1.4.2 GCC/4.8.4 1.5 GCC/4.8.4 1.8.1 system 1.11.5 system 1.12 system 1.12.1 GCCcore/7.3.0 1.13.1 system 1.14 system 1.14.1 system 1.16.3 system 1.16.5 system 1.16.6 system 1.17.3 system 1.17.6 system 1.18.1 system 1.18.3 system 1.20.4 system"},{"location":"version-specific/supported-software/#goalign","title":"goalign","text":"

                    Goalign is a set of command line tools to manipulate multiple alignments.

                    homepage: https://github.com/evolbioinfo/goalign

                    version toolchain 0.3.2 system"},{"location":"version-specific/supported-software/#goatools","title":"GOATOOLS","text":"

                    A Python library for Gene Ontology analyses

                    homepage: https://github.com/tanghaibao/goatools

                    version toolchain 1.1.6 foss/2020b 1.3.1 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#gobff","title":"gobff","text":"

                    GCC and GFortran based compiler toolchain with OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

                    homepage: <(none)>

                    version versionsuffix toolchain 2020.06 -amd system 2020.11 system 2020b system 2021a system"},{"location":"version-specific/supported-software/#gobject-introspection","title":"GObject-Introspection","text":"

                    GObject introspection is a middleware layer between C libraries (using GObject) and language bindings. The C library can be scanned at compile time and generate a metadata file, in addition to the actual native C library. Then at runtime, language bindings can read this metadata and automatically provide bindings to call into the C library.

                    homepage: https://gi.readthedocs.io/en/latest/

                    version versionsuffix toolchain 1.47.1 foss/2016a, intel/2016a 1.48.0 foss/2016a, intel/2016a 1.49.1 foss/2016b, intel/2016b 1.52.0 intel/2017a 1.53.5 -Python-2.7.13 intel/2017a 1.53.5 -Python-2.7.14 foss/2017b, intel/2017b 1.53.5 -Python-3.6.1 intel/2017a 1.54.1 -Python-2.7.14 foss/2018a, intel/2018a 1.54.1 -Python-2.7.15 foss/2018b, fosscuda/2018b 1.54.1 -Python-3.6.6 fosscuda/2018b 1.58.3 -Python-2.7.16 GCCcore/8.3.0 1.60.1 -Python-3.7.2 GCCcore/8.2.0 1.63.1 -Python-3.7.4 GCCcore/8.3.0 1.64.0 -Python-3.8.2 GCCcore/9.3.0 1.66.1 GCCcore/10.2.0 1.68.0 GCCcore/10.3.0, GCCcore/11.2.0 1.72.0 GCCcore/11.3.0 1.74.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#goblf","title":"goblf","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support, BLIS (BLAS support), LAPACK, FFTW and ScaLAPACK.

                    homepage: <(none)>

                    version toolchain 2018b system 2020b system"},{"location":"version-specific/supported-software/#gobnilp","title":"GOBNILP","text":"

                    GOBNILP (Globally Optimal Bayesian Network learning using Integer Linear Programming) is a C program which learns Bayesian networks from complete discrete data or from local scores.

                    homepage: https://www.cs.york.ac.uk/aig/sw/gobnilp/

                    version toolchain 1.6.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#godon","title":"Godon","text":"

                    Godon is codon models software written in Go.

                    homepage: https://bitbucket.org/Davydov/godon/

                    version versionsuffix toolchain 20210913 -x86_64 system"},{"location":"version-specific/supported-software/#gofasta","title":"gofasta","text":"

                    Some functions for dealing with alignments, developed to handle SARS-CoV-2 data as part of the COG-UK project.

                    homepage: https://github.com/cov-ert/gofasta

                    version toolchain 0.0.5 system"},{"location":"version-specific/supported-software/#golf","title":"golf","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain, including OpenBLAS (BLAS and LAPACK support) and FFTW.

                    homepage: <(none)>

                    version toolchain 2018a system 2020a system"},{"location":"version-specific/supported-software/#gomkl","title":"gomkl","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain with OpenMPI and MKL

                    homepage: <(none)>

                    version toolchain 2018b system 2019a system 2020a system 2020b system 2021a system 2021b system 2022a system"},{"location":"version-specific/supported-software/#gompi","title":"gompi","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support.

                    homepage: <(none)>

                    version versionsuffix toolchain 2016.04 system 2016.06 system 2016.07 system 2016.09 system 2016a system 2016b system 2017a system 2017b system 2018.08 system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system 2021a system 2021b system 2022.05 system 2022.10 system 2022a system 2022b system 2023a system system -2.29 system"},{"location":"version-specific/supported-software/#gompic","title":"gompic","text":"

                    GNU Compiler Collection (GCC) based compiler toolchain along with CUDA toolkit, including OpenMPI for MPI support with CUDA features enabled.

                    homepage: <(none)>

                    version toolchain 2017b system 2018a system 2018b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#google-java-format","title":"google-java-format","text":"

                    Reformats Java source code to comply with Google Java Style.

                    homepage: https://github.com/google/google-java-format

                    version versionsuffix toolchain 1.7 -Java-1.8 system"},{"location":"version-specific/supported-software/#googletest","title":"googletest","text":"

                    Google's framework for writing C++ tests on a variety of platforms

                    homepage: https://github.com/google/googletest

                    version toolchain 1.8.0 GCCcore/6.3.0, GCCcore/6.4.0, foss/2016b, intel/2016b 1.8.1 GCCcore/8.2.0 1.10.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.11.0 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 1.12.1 GCCcore/12.2.0 1.13.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#gotree","title":"gotree","text":"

                    GoTree is a set of command line tools to manipulate phylogenetic trees.

                    homepage: https://github.com/evolbioinfo/gotree

                    version toolchain 0.4.0 system"},{"location":"version-specific/supported-software/#gp2c","title":"GP2C","text":"

                    The gp2c compiler is a package for translating GP routines into the C programming language, so that they can be compiled and used with the PARI system or the GP calculator.

                    homepage: http://pari.math.u-bordeaux.fr/pub/pari/manuals/gp2c/gp2c.html

                    version toolchain 0.0.9pl5 foss/2016a"},{"location":"version-specific/supported-software/#gpaw","title":"GPAW","text":"

                    GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) method and the atomic simulation environment (ASE). It uses real-space uniform grids and multigrid methods or atom-centered basis-functions.

                    homepage: https://wiki.fysik.dtu.dk/gpaw/

                    version versionsuffix toolchain 1.4.0 -Python-3.6.6 foss/2018b, intel/2018b 19.8.1 -ASE-3.18.0-Python-3.6.6 foss/2018b, intel/2018b 19.8.1 -Python-3.7.2 foss/2019a, intel/2019a 20.1.0 -Python-3.7.4 foss/2019b, intel/2019b 20.10.0 foss/2020b, intel/2020b 20.10.0 -ASE-3.20.1-Python-3.7.4 foss/2019b, intel/2019b 21.1.0 -ASE-3.21.1 foss/2020b, intel/2020b 21.6.0 foss/2021a 21.6.0 -ASE-3.22.0 foss/2020b, intel/2020b 22.8.0 foss/2021b, foss/2022a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#gpaw-setups","title":"GPAW-setups","text":"

                    PAW setup for the GPAW Density Functional Theory package. Users can install setups manually using 'gpaw install-data' or use setups from this package. The versions of GPAW and GPAW-setups can be intermixed.

                    homepage: https://wiki.fysik.dtu.dk/gpaw/

                    version toolchain 0.8.7929 system 0.9.9672 system 0.9.11271 system 0.9.20000 system"},{"location":"version-specific/supported-software/#gperf","title":"gperf","text":"

                    GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only.

                    homepage: https://www.gnu.org/software/gperf/

                    version toolchain 3.0.4 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016a, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a 3.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#gperftools","title":"gperftools","text":"

                    gperftools is a collection of a high-performance multi-threaded malloc() implementation, plus some pretty nifty performance analysis tools. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.

                    homepage: https://github.com/gperftools/gperftools

                    version toolchain 2.5 foss/2016a, intel/2016b 2.6.3 GCCcore/6.4.0, GCCcore/7.3.0 2.7.90 GCCcore/8.3.0 2.8 GCCcore/9.3.0 2.9.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 2.10 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gpustat","title":"gpustat","text":"

                    A simple command-line utility for querying and monitoring GPU status

                    homepage: https://github.com/wookayin/gpustat

                    version versionsuffix toolchain 0.5.0 -Python-2.7.15 fosscuda/2018b 0.6.0 GCCcore/10.3.0, gcccuda/2020b 0.6.0 -Python-3.7.4 fosscuda/2019b 1.0.0b1 GCCcore/11.2.0 1.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gpy","title":"GPy","text":"

                    GPy is a Gaussian Process (GP) framework written in Python

                    homepage: https://sheffieldml.github.io/GPy

                    version toolchain 1.10.0 foss/2021b"},{"location":"version-specific/supported-software/#gpyopt","title":"GPyOpt","text":"

                    GPyOpt is a Python open-source library for Bayesian Optimization

                    homepage: https://sheffieldml.github.io/GPyOpt

                    version toolchain 1.2.6 intel/2020b"},{"location":"version-specific/supported-software/#gpytorch","title":"GPyTorch","text":"

                    GPyTorch is a Gaussian process library implemented using PyTorch.

                    homepage: https://gpytorch.ai

                    version versionsuffix toolchain 1.3.0 foss/2020b 1.9.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#grace","title":"Grace","text":"

                    Grace is a WYSIWYG tool to make two-dimensional plots of numerical data.

                    homepage: https://plasma-gate.weizmann.ac.il/Grace/

                    version versionsuffix toolchain 5.1.25 foss/2016a, foss/2021a, foss/2021b, intel/2016a 5.1.25 -5build1 foss/2017b, foss/2018a, foss/2019a, foss/2019b, intel/2017b, intel/2019a, intel/2019b"},{"location":"version-specific/supported-software/#gradle","title":"Gradle","text":"

                    Complete Gradle install. From mobile apps to microservices, from small startups to big enterprises, Gradle helps teams build, automate and deliver better software, faster.

                    homepage: https://gradle.org

                    version toolchain 4.5.1 system 6.1.1 system 6.9.1 system"},{"location":"version-specific/supported-software/#gradunwarp","title":"gradunwarp","text":"

                    Gradient Unwarping. This is the Human Connectome Project fork of the no longer maintained original.

                    homepage: https://github.com/Washington-University/gradunwarp

                    version versionsuffix toolchain 1.1.0 -HCP-Python-2.7.15 foss/2019a 1.2.0 -HCP-Python-2.7.15 foss/2019a 1.2.0 -HCP-Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#graph-tool","title":"graph-tool","text":"

                    Graph-tool is an efficient Python module for manipulation and statistical analysis of graphs (a.k.a. networks). Contrary to most other python modules with similar functionality, the core data structures and algorithms are implemented in C++, making extensive use of template metaprogramming, based heavily on the Boost Graph Library. This confers it a level of performance that is comparable (both in memory usage and computation time) to that of a pure C/C++ library.

                    homepage: https://graph-tool.skewed.de/

                    version versionsuffix toolchain 2.26 -Python-3.6.3 foss/2017b 2.27 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#graphdb","title":"GraphDB","text":"

                    GraphDB is an enterprise ready Semantic Graph Database, compliant with W3C Standards. Semantic graph databases (also called RDF triplestores) provide the core infrastructure for solutions where modelling agility, data integration, relationship exploration and cross-enterprise data publishing and consumption are important.

                    homepage: https://graphdb.ontotext.com/

                    version toolchain 10.1.5 system"},{"location":"version-specific/supported-software/#graphene","title":"Graphene","text":"

                    Graphene is a a thin layer of types for graphic libraries

                    homepage: https://ebassi.github.io/graphene/

                    version toolchain 1.6.0 intel/2017a 1.10.8 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#graphicsmagick","title":"GraphicsMagick","text":"

                    GraphicsMagick is the swiss army knife of image processing.

                    homepage: https://www.graphicsmagick.org/

                    version toolchain 1.3.23 foss/2016a, intel/2016a 1.3.25 intel/2016b, intel/2017a 1.3.28 foss/2018a 1.3.31 foss/2018b 1.3.34 foss/2019a, foss/2019b 1.3.36 GCCcore/11.2.0, foss/2020b"},{"location":"version-specific/supported-software/#graphite2","title":"graphite2","text":"

                    Graphite is a \"smart font\" system developed specifically to handle the complexities of lesser-known languages of the world.

                    homepage: https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home

                    version toolchain 1.3.14 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#graphlan","title":"GraPhlAn","text":"

                    GraPhlAn is a software tool for producing high-quality circular representations of taxonomic and phylogenetic trees. It focuses on concise, integrative, informative, and publication-ready representations of phylogenetically- and taxonomically-driven investigation.

                    homepage: https://segatalab.github.io/tools/graphlan

                    version versionsuffix toolchain 1.1.3 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#graphmap","title":"GraphMap","text":"

                    A highly sensitive and accurate mapper for long, error-prone reads

                    homepage: https://github.com/isovic/graphmap

                    version toolchain 0.5.2 foss/2019b"},{"location":"version-specific/supported-software/#graphmap2","title":"GraphMap2","text":"

                    A highly sensitive and accurate mapper for long, error-prone reads

                    homepage: https://github.com/lbcb-sci/graphmap2

                    version toolchain 0.6.4 foss/2019b"},{"location":"version-specific/supported-software/#graphviz","title":"Graphviz","text":"

                    Graphviz is open source graph visualization software. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.

                    homepage: https://www.graphviz.org/

                    version versionsuffix toolchain 2.38.0 foss/2016b, intel/2016b 2.40.1 foss/2018b, intel/2018a 2.40.1 -Python-2.7.15 foss/2018b 2.42.2 foss/2019b 2.42.2 -Java-11 GCCcore/8.3.0 2.42.2 -Python-3.7.4 foss/2019b 2.44.1 -Java-11 GCCcore/9.3.0 2.44.1 -Java-11-Python-3.8.2 GCCcore/9.3.0 2.47.0 -Java-11 GCCcore/10.2.0 2.47.2 GCCcore/10.3.0 2.50.0 GCCcore/11.2.0 5.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#graphviz-python","title":"graphviz-python","text":"

                    Simple Python interface for Graphviz

                    homepage: https://pypi.python.org/pypi/graphviz

                    version versionsuffix toolchain 0.5.1 -Python-2.7.12 foss/2016b, intel/2016b 0.5.1 -Python-3.5.2 intel/2016b 0.8.2 -Python-3.6.4 intel/2018a 0.20.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#grasp","title":"GRASP","text":"

                    The General Relativistic Atomic Structure Package (GRASP) is a set of Fortran 90 programs for performing fully-relativistic electron structure calculations of atoms.

                    homepage: https://compas.github.io/grasp/

                    version toolchain 2018 foss/2019b"},{"location":"version-specific/supported-software/#grass","title":"GRASS","text":"

                    The Geographic Resources Analysis Support System - used for geospatial data management and analysis, image processing, graphics and maps production, spatial modeling, and visualization

                    homepage: https://grass.osgeo.org

                    version versionsuffix toolchain 7.6.0 -Python-2.7.15 foss/2018b 7.8.3 -Python-3.7.4 fosscuda/2019b 8.2.0 foss/2021b"},{"location":"version-specific/supported-software/#greenlet","title":"Greenlet","text":"

                    The greenlet package is a spin-off of Stackless, a version of CPython that supports micro-threads called \"tasklets\". Tasklets run pseudo-concurrently (typically in a single or a few OS-level threads) and are synchronized with data exchanges on \"channels\". A \"greenlet\", on the other hand, is a still more primitive notion of micro-thread with no implicit scheduling; coroutines, in other words. This is useful when you want to control exactly when your code runs.

                    homepage: https://github.com/python-greenlet/greenlet

                    version versionsuffix toolchain 0.4.9 -Python-2.7.11 intel/2016a 0.4.9 -Python-3.5.1 intel/2016a 0.4.11 -Python-2.7.12 intel/2016b 0.4.12 -Python-2.7.14 intel/2017b 2.0.2 foss/2022a"},{"location":"version-specific/supported-software/#grep","title":"Grep","text":"

                    The grep command searches one or more input files for lines containing a match to a specified pattern. By default, grep prints the matching lines.

                    homepage: http://www.gnu.org/software/grep/

                    version toolchain 2.21 GCC/4.9.2"},{"location":"version-specific/supported-software/#gretl","title":"gretl","text":"

                    A cross-platform software package for econometric analysis

                    homepage: http://gretl.sourceforge.net

                    version toolchain 2020a foss/2019a"},{"location":"version-specific/supported-software/#grib_api","title":"grib_api","text":"

                    The ECMWF GRIB API is an application program interface accessible from C, FORTRAN and Python programs developed for encoding and decoding WMO FM-92 GRIB edition 1 and edition 2 messages. A useful set of command line tools is also provided to give quick access to GRIB messages.

                    homepage: https://software.ecmwf.int/wiki/display/GRIB/Home

                    version toolchain 1.16.0 intel/2016a 1.21.0 foss/2017a 1.24.0 foss/2017b, intel/2017a, intel/2017b"},{"location":"version-specific/supported-software/#grid","title":"grid","text":"

                    Grid is a free and open-source Python library for numerical integration, interpolation and differentiation of interest for the quantum chemistry community.

                    homepage: https://grid.qcdevs.org/

                    version toolchain 20220610 intel/2022a"},{"location":"version-specific/supported-software/#gridss","title":"GRIDSS","text":"

                    GRIDSS is a module software suite containing tools useful for the detection of genomic rearrangements. GRIDSS includes a genome-wide break-end assembler, as well as a structural variation caller for Illumina sequencing data. GRIDSS calls variants based on alignment-guided positional de Bruijn graph genome-wide break-end assembly, split read, and read pair evidence.

                    homepage: https://github.com/PapenfussLab/gridss/wiki/GRIDSS-Documentation

                    version versionsuffix toolchain 2.13.2 -Java-11 foss/2021b"},{"location":"version-specific/supported-software/#grit","title":"GRIT","text":"

                    GRIT - A tool for the integrative analysis of RNA-seq type assays

                    homepage: https://github.com/nboley/grit

                    version versionsuffix toolchain 2.0.5 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#grnboost","title":"GRNBoost","text":"

                    XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable.

                    homepage: https://github.com/dmlc/xgboost

                    version versionsuffix toolchain 20171009 -Java-1.8.0_152 intel/2017b"},{"location":"version-specific/supported-software/#groff","title":"groff","text":"

                    Groff (GNU troff) is a typesetting system that reads plain text mixed with formatting commands and produces formatted output.

                    homepage: https://www.gnu.org/software/groff

                    version toolchain 1.22.4 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#groimp","title":"GroIMP","text":"

                    GroIMP (Growth Grammar-related Interactive Modelling Platform) is a 3D-modelling platform.

                    homepage: http://www.grogra.de/software/groimp

                    version toolchain 1.5 system"},{"location":"version-specific/supported-software/#gromacs","title":"GROMACS","text":"

                    GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.

                    homepage: http://www.gromacs.org

                    version versionsuffix toolchain 5.1.2 -hybrid foss/2016a, intel/2016a 5.1.2 -hybrid-dp intel/2016a 5.1.2 -mt foss/2016a 5.1.4 -hybrid foss/2016b 5.1.4 -mt foss/2016b 2016 -hybrid foss/2016b 2016 -mt foss/2016b 2016.1 -PLUMED foss/2017a 2016.2 foss/2017a 2016.3 foss/2017a, intel/2017a 2016.3 -GPU-enabled foss/2016b 2016.4 foss/2017b, fosscuda/2017b, giolf/2017b, intel/2017a, intel/2017b, intelcuda/2017b 2016.5 intel/2018a 2018 foss/2018a 2018.1 -PLUMED foss/2018b 2018.2 foss/2017b, foss/2018b, fosscuda/2017b, fosscuda/2018b, intel/2017b, intelcuda/2017b 2018.3 foss/2018b, fosscuda/2018b 2018.4 -PLUMED-2.5.0 foss/2018b, fosscuda/2018b 2019 foss/2018b, fosscuda/2018b 2019.2 fosscuda/2019a 2019.3 foss/2019a, foss/2019b, fosscuda/2019a, fosscuda/2019b 2019.4 foss/2019b, fosscuda/2019b 2019.4 -PLUMED-2.5.4 foss/2019b, fosscuda/2019b 2019.6 fosscuda/2019b 2020 foss/2019b, fosscuda/2019b 2020.1 -Python-3.8.2 foss/2020a 2020.3 fosscuda/2019b 2020.4 -Python-3.8.2 foss/2020a 2020.5 -Python-3.8.2 fosscuda/2020a 2021 foss/2020b, fosscuda/2020b 2021.2 fosscuda/2020b 2021.3 foss/2021a 2021.3 -CUDA-11.3.1 foss/2021a 2021.3 -CUDA-11.3.1-PLUMED-2.7.2 foss/2021a 2021.3 -PLUMED-2.7.2 foss/2021a 2021.5 foss/2021b 2021.5 -CUDA-11.4.1 foss/2021b 2021.5 -CUDA-11.4.1-PLUMED-2.8.0 foss/2021b 2021.5 -PLUMED-2.8.0 foss/2021b 2023.1 foss/2022a 2023.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#gromacswrapper","title":"GromacsWrapper","text":"

                    GromacsWrapper is a python package that wraps system calls to Gromacs tools into thin classes. This allows for fairly seamless integration of the gromacs tools into python scripts.

                    homepage: https://gromacswrapper.readthedocs.org

                    version versionsuffix toolchain 0.8.0 -Python-3.7.2 fosscuda/2019a"},{"location":"version-specific/supported-software/#groovy","title":"Groovy","text":"

                    Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax.

                    homepage: https://groovy-lang.org

                    version versionsuffix toolchain 2.5.9 -Java-11 system 4.0.3 -Java-11 system"},{"location":"version-specific/supported-software/#grpc","title":"gRPC","text":"

                    gRPC is a modern, open source, high-performance remote procedure call (RPC) framework that can run anywhere. gRPC enables client and server applications to communicate transparently, and simplifies the building of connected systems.

                    homepage: https://grpc.io/

                    version toolchain 1.44.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#gsea","title":"GSEA","text":"

                    Gene Set Enrichment Analysis (GSEA) is a computational method that determines whether an a priori defined set of genes shows statistically significant, concordant differences between two biological states (e.g. phenotypes).

                    homepage: https://www.gsea-msigdb.org/gsea/index.jsp

                    version toolchain 4.0.3 system"},{"location":"version-specific/supported-software/#gsettings-desktop-schemas","title":"gsettings-desktop-schemas","text":"

                    gsettings-desktop-schemas contains a collection of GSettings schemas for settings shared by various components of a desktop.

                    homepage: https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas

                    version toolchain 3.34.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gsl","title":"GSL","text":"

                    The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.

                    homepage: https://www.gnu.org/software/gsl/

                    version toolchain 1.16 foss/2016a, intel/2016a 2.1 GCC/5.4.0-2.26, foss/2016a, foss/2016b, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b 2.2.1 intel/2016a, intel/2016b 2.3 foss/2016b, foss/2017a, intel/2016b, intel/2017a 2.4 GCCcore/6.4.0 2.5 GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, iccifort/2018.3.222-GCC-7.3.0-2.30, iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.6 GCC/10.2.0, GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281, iccifort/2020.1.217, iccifort/2020.4.304 2.7 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCCcore/12.2.0, GCCcore/12.3.0, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#gsoap","title":"gSOAP","text":"

                    The gSOAP toolkit is a C and C++ software development toolkit for SOAP and REST XML Web services and generic C/C++ XML data bindings. The toolkit analyzes WSDLs and XML schemas (separately or as a combined set) and maps the XML schema types and the SOAP/REST XML messaging protocols to easy-to-use and efficient C and C++ code. It also supports exposing (legacy) C and C++ applications as XML Web services by auto-generating XML serialization code and WSDL specifications. Or you can simply use it to automatically convert XML to/from C and C++ data. The toolkit supports options to generate pure ANSI C or C++ with or without STL.

                    homepage: http://www.cs.fsu.edu/~engelen/soap.html

                    version toolchain 2.8.48 GCCcore/6.3.0 2.8.100 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#gsport","title":"gsport","text":"

                    GSPORT command-line tool for accessing GenomeScan Customer Portal

                    homepage: https://github.com/genomescan/gsport

                    version versionsuffix toolchain 1.4.2 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#gst-plugins-bad","title":"GST-plugins-bad","text":"

                    GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

                    homepage: https://gstreamer.freedesktop.org/

                    version toolchain 1.20.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#gst-plugins-base","title":"GST-plugins-base","text":"

                    GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

                    homepage: https://gstreamer.freedesktop.org/

                    version toolchain 0.10.36 foss/2016a, foss/2017b, foss/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b 1.6.4 foss/2016a 1.8.3 foss/2016a 1.16.0 GCC/8.2.0-2.31.1 1.16.2 GCC/8.3.0 1.18.4 GCC/10.2.0, GCC/10.3.0 1.18.5 GCC/11.2.0 1.20.2 GCC/11.3.0 1.22.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gstreamer","title":"GStreamer","text":"

                    GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

                    homepage: https://gstreamer.freedesktop.org/

                    version toolchain 0.10.36 foss/2016a, foss/2017b, foss/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b 1.6.4 foss/2016a 1.8.3 foss/2016a 1.15.1 fosscuda/2018b 1.16.0 GCC/8.2.0-2.31.1 1.16.2 GCC/8.3.0 1.18.4 GCC/10.2.0, GCC/10.3.0 1.18.5 GCC/11.2.0 1.20.2 GCC/11.3.0 1.22.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gsutil","title":"gsutil","text":"

                    gsutil is a Python application that lets you access Cloud Storage from the command line.

                    homepage: https://cloud.google.com/storage/docs/gsutil

                    version toolchain 5.10 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#gsw","title":"gsw","text":"

                    This Python implementation of the Thermodynamic Equation of Seawater 2010 (TEOS-10) is based primarily on numpy ufunc wrappers of the GSW-C implementation. This library replaces the original python-gsw pure-python implementation.. The primary reasons for this change are that by building on the C implementation we reduce code duplication and we gain an immediate update to the 75-term equation. Additional benefits include a major increase in speed, a reduction in memory usage, and the inclusion of more functions. The penalty is that a C (or MSVC C++ for Windows) compiler is required to build the package from source.

                    homepage: https://github.com/TEOS-10/GSW-python

                    version toolchain 3.6.16 foss/2022a"},{"location":"version-specific/supported-software/#gtdb-tk","title":"GTDB-Tk","text":"

                    A toolkit for assigning objective taxonomic classifications to bacterial and archaeal genomes.

                    homepage: https://github.com/Ecogenomics/GTDBTk

                    version versionsuffix toolchain 0.2.2 -Python-2.7.15 intel/2018b 0.3.2 -Python-2.7.15 foss/2019a, intel/2019a 1.0.2 -Python-3.7.4 intel/2019b 1.3.0 -Python-3.8.2 intel/2020a 1.5.0 intel/2020b 1.7.0 foss/2020b, foss/2021a, intel/2020b 2.0.0 foss/2021a, intel/2021b 2.1.1 foss/2021b"},{"location":"version-specific/supported-software/#gtk","title":"GTK+","text":"

                    The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications.

                    homepage: https://developer.gnome.org/gtk+/stable/

                    version toolchain 2.24.28 intel/2016a 2.24.30 foss/2016a, intel/2016a 2.24.31 foss/2016b, intel/2016b, intel/2017a 2.24.32 foss/2017b, foss/2018a, foss/2018b, intel/2017b, intel/2018a 2.24.33 GCCcore/10.3.0 3.22.30 fosscuda/2018b 3.24.8 GCCcore/8.2.0 3.24.13 GCCcore/8.3.0 3.24.17 GCCcore/9.3.0 3.24.23 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gtk2","title":"GTK2","text":"

                    The GTK+ 2 package contains libraries used for creating graphical user interfaces for applications.

                    homepage: https://www.gtk.org

                    version toolchain 2.24.33 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#gtk3","title":"GTK3","text":"

                    GTK+ is the primary library used to construct user interfaces in GNOME. It provides all the user interface controls, or widgets, used in a common graphical application. Its object-oriented API allows you to construct user interfaces without dealing with the low-level details of drawing and device interaction.

                    homepage: https://developer.gnome.org/gtk3/stable/

                    version toolchain 3.24.29 GCCcore/10.3.0 3.24.31 GCCcore/11.2.0 3.24.33 GCCcore/11.3.0 3.24.35 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gtk4","title":"GTK4","text":"

                    GTK+ is the primary library used to construct user interfaces in GNOME. It provides all the user interface controls, or widgets, used in a common graphical application. Its object-oriented API allows you to construct user interfaces without dealing with the low-level details of drawing and device interaction.

                    homepage: https://docs.gtk.org/gtk4/

                    version toolchain 4.7.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#gtksourceview","title":"GtkSourceView","text":"

                    GtkSourceView is a GNOME library that extends GtkTextView, the standard GTK+ widget for multiline text editing. GtkSourceView adds support for syntax highlighting, undo/redo, file loading and saving, search and replace, a completion system, printing, displaying line numbers, and other features typical of a source code editor.

                    homepage: https://wiki.gnome.org/Projects/GtkSourceView

                    version toolchain 3.24.11 GCCcore/10.2.0, GCCcore/8.2.0 4.4.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#gtool","title":"GTOOL","text":"

                    GTOOL is a program for transforming sets of genotype data for use with the programs SNPTEST and IMPUTE.

                    homepage: http://www.well.ox.ac.uk/~cfreeman/software/gwas/gtool.html

                    version toolchain 0.7.5 system"},{"location":"version-specific/supported-software/#gts","title":"GTS","text":"

                    GTS stands for the GNU Triangulated Surface Library. It is an Open Source Free Software Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles.

                    homepage: http://gts.sourceforge.net/

                    version toolchain 0.7.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2018b, foss/2019b, foss/2020a, intel/2016a, intel/2016b, intel/2018a 20121130 foss/2017b"},{"location":"version-specific/supported-software/#gubbins","title":"gubbins","text":"

                    Gubbins (Genealogies Unbiased By recomBinations In Nucleotide Sequences) is an algorithm that iteratively identifies loci containing elevated densities of base substitutions while concurrently constructing a phylogeny based on the putative point mutations outside of these regions. Simulations demonstrate the algorithm generates highly accurate reconstructions under realistic models of short-term bacterial evolution, and can be run in only a few hours on alignments of hundreds of bacterial genome sequences.

                    homepage: https://sanger-pathogens.github.io/gubbins

                    version toolchain 2.4.0 system"},{"location":"version-specific/supported-software/#guenomu","title":"guenomu","text":"

                    guenomu is a software written in C that estimates the species tree for a given set of gene families.

                    homepage: https://bitbucket.org/leomrtns/guenomu

                    version versionsuffix toolchain 2019.07.05 -mpi iimpi/2019a"},{"location":"version-specific/supported-software/#guile","title":"Guile","text":"

                    Guile is a programming language, designed to help programmers create flexible applications that can be extended by users or other programmers with plug-ins, modules, or scripts.

                    homepage: https://www.gnu.org/software/guile/

                    version toolchain 1.8.8 GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, GNU/4.9.3-2.25, foss/2016a, foss/2016b, foss/2017a, intel/2016a, intel/2016b 2.0.11 GCC/4.9.3-2.25, foss/2016a 2.2.2 GCCcore/6.4.0 2.2.4 GCCcore/7.3.0, GCCcore/9.3.0 2.2.7 GCCcore/10.3.0 3.0.7 GCCcore/11.2.0 3.0.8 GCCcore/11.3.0 3.0.9 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#gulp","title":"GULP","text":"

                    GULP is a program for performing a variety of types of simulation on materials using boundary conditions of 0-D (molecules and clusters), 1-D (polymers), 2-D (surfaces, slabs and grain boundaries), or 3-D (periodic solids)Band Unfolding code for Plane-wave based calculations

                    homepage: https://gulp.curtin.edu.au/gulp/

                    version toolchain 5.1 intel/2019a 6.1 foss/2021b"},{"location":"version-specific/supported-software/#gurobi","title":"Gurobi","text":"

                    The Gurobi Optimizer is a state-of-the-art solver for mathematical programming. The solvers in the Gurobi Optimizer were designed from the ground up to exploit modern architectures and multi-core processors, using the most advanced implementations of the latest algorithms.

                    homepage: https://www.gurobi.com

                    version versionsuffix toolchain 6.5.1 system 6.5.2 system 7.0.1 system 7.5.2 system 7.5.2 -Python-3.6.4 intel/2018a 8.1.1 system 9.0.0 system 9.0.0 -Python-3.6.6 foss/2018b, intel/2018b 9.0.0 -Python-3.7.4 GCCcore/8.3.0 9.0.1 system 9.0.1 -Python-3.8.2 GCCcore/9.3.0 9.0.3 GCCcore/10.2.0, system 9.1.0 system 9.1.1 GCCcore/10.2.0 9.1.2 GCCcore/10.2.0, GCCcore/10.3.0, system 9.5.0 GCCcore/10.3.0, GCCcore/11.2.0 9.5.2 GCCcore/11.3.0 10.0.1 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#gushr","title":"GUSHR","text":"

                    Assembly-free construction of UTRs from short read RNA-Seq data on the basis of coding sequence annotation.

                    homepage: https://github.com/Gaius-Augustus/GUSHR

                    version toolchain 2020-09-28 foss/2021b"},{"location":"version-specific/supported-software/#gzip","title":"gzip","text":"

                    gzip (GNU zip) is a popular data compression program as a replacement for compress

                    homepage: http://www.gnu.org/software/gzip/

                    version toolchain 1.8 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0 1.9 GCCcore/7.3.0 1.10 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.12 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#h","title":"H","text":"

                    h4toh5 - H5hut - h5netcdf - h5py - Hadoop - HAL - hanythingondemand - HAPGEN2 - HarfBuzz - Harminv - harmony - HBase - HD-BET - HDBSCAN - HDDM - HDF - HDF-EOS - HDF-EOS5 - HDF5 - hdf5storage - HDFView - HEALPix - Health-GPS - heaptrack - hector - HeFFTe - Hello - help2man - HepMC3 - HH-suite - HiC-Pro - HiCExplorer - HiCMatrix - hierfstat - hifiasm - HighFive - Highway - HIP - hipify-clang - HIPS - hipSYCL - hiredis - HISAT2 - histolab - hivtrace - hl7apy - HLAminer - HMMER - HMMER2 - hmmlearn - HOME - HOOMD-blue - Horovod - horton - how_are_we_stranded_here - HPCG - HPCX - HPDBSCAN - HPL - htop - HTSeq - HTSlib - HTSplotter - hub - humann - hunspell - hwloc - Hydra - Hyperopt - HyperQueue - hyperspy - HyPhy - HyPo - hypothesis - Hypre

                    "},{"location":"version-specific/supported-software/#h4toh5","title":"h4toh5","text":"

                    The h4toh5 software consists of the h4toh5 and h5toh4 command-line utilities, as well as a conversion library for converting between individual HDF4 and HDF5 objects.

                    homepage: http://www.hdfgroup.org/h4toh5/

                    version versionsuffix toolchain 2.2.2 -linux-x86_64-static system 2.2.3 foss/2018b, gompi/2019b, gompi/2020b"},{"location":"version-specific/supported-software/#h5hut","title":"H5hut","text":"

                    HDF5 Utility Toolkit: High-Performance I/O Library for Particle-based Simulations

                    homepage: https://amas.psi.ch/H5hut/

                    version toolchain 1.99.13 intel/2016b"},{"location":"version-specific/supported-software/#h5netcdf","title":"h5netcdf","text":"

                    A Python interface for the netCDF4 file-format that reads and writes local or remote HDF5 files directly via h5py or h5pyd, without relying on the Unidata netCDF library.

                    homepage: https://h5netcdf.org/

                    version toolchain 1.1.0 foss/2021b"},{"location":"version-specific/supported-software/#h5py","title":"h5py","text":"

                    HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous amounts of data.

                    homepage: https://www.h5py.org/

                    version versionsuffix toolchain 2.5.0 -Python-2.7.11-HDF5-1.8.16 foss/2016a, intel/2016a 2.5.0 -Python-2.7.11-HDF5-1.8.16-serial foss/2016a, intel/2016a 2.5.0 -Python-3.5.1-HDF5-1.8.16 foss/2016a 2.6.0 -Python-2.7.11 intel/2016a 2.6.0 -Python-2.7.12-HDF5-1.10.0-patch1 foss/2016b, intel/2016b 2.6.0 -Python-2.7.12-HDF5-1.8.17 foss/2016b, intel/2016b 2.6.0 -Python-2.7.12-HDF5-1.8.18 foss/2016b, intel/2016b 2.6.0 -Python-3.5.2-HDF5-1.10.0-patch1 foss/2016b, intel/2016b 2.6.0 -Python-3.5.2-HDF5-1.8.17 intel/2016b 2.6.0 -Python-3.5.2-HDF5-1.8.18 foss/2016b, intel/2016b 2.7.0 -Python-2.7.12 intel/2016b 2.7.0 -Python-2.7.13 intel/2017a 2.7.0 -Python-2.7.13-HDF5-1.10.1 foss/2017a 2.7.0 -Python-2.7.13-HDF5-1.8.19 foss/2017a 2.7.0 -Python-3.6.1 intel/2017a 2.7.0 -Python-3.6.1-HDF5-1.10.0-patch1 intel/2017a 2.7.0 -Python-3.6.1-HDF5-1.10.1 foss/2017a 2.7.0 -Python-3.6.1-HDF5-1.8.19 foss/2017a 2.7.1 -Python-2.7.13 intel/2017a 2.7.1 -Python-2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, intel/2017b, intel/2018a 2.7.1 -Python-2.7.14-serial intel/2018a 2.7.1 -Python-3.6.1 intel/2017a 2.7.1 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b 2.7.1 -Python-3.6.4 foss/2018a, intel/2018a 2.8.0 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 2.8.0 -Python-2.7.15-serial intel/2018b 2.8.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 2.9.0 foss/2019a, fosscuda/2019a, intel/2019a, intelcuda/2019a 2.10.0 -Python-2.7.18 intel/2020a 2.10.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b, intelcuda/2019b 2.10.0 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a, intelcuda/2020a 2.10.0 -serial-Python-3.7.4 foss/2019b 3.1.0 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 3.2.1 foss/2021a, gomkl/2021a 3.6.0 foss/2021b, intel/2021b 3.7.0 foss/2022a, intel/2022a 3.8.0 foss/2022b"},{"location":"version-specific/supported-software/#hadoop","title":"Hadoop","text":"

                    Hadoop MapReduce by Cloudera

                    homepage: https://archive.cloudera.com/cdh5/cdh/5/

                    version versionsuffix toolchain 2.4.0 -seagate-722af1-native system 2.5.0-cdh5.3.1 -native system 2.6.0-cdh5.4.5 -native system 2.6.0-cdh5.7.0 -native system 2.6.0-cdh5.8.0 -native system 2.6.0-cdh5.12.0 -native system 2.9.2 -native GCCcore/7.3.0 2.10.0 -native GCCcore/8.3.0 2.10.0 -native-Java-1.8 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#hal","title":"HAL","text":"

                    HAL is a structure to efficiently store and index multiple genome alignments and ancestral reconstructions. HAL is a graph-based representation which provides several advantages over matrix/block-based formats such as MAF, such as improved scalability and the ability to perform queries with respect to an arbitrary reference or subtree. This package includes the HAL API and several analysis and conversion tools which are described below. HAL files are presently stored in either HDF5 or mmap format, but we note that the tools and most of the API are format-independent, so other databases could be implemented in the future.

                    homepage: https://github.com/ComparativeGenomicsToolkit/hal

                    version toolchain 2.1 foss/2020b"},{"location":"version-specific/supported-software/#hanythingondemand","title":"hanythingondemand","text":"

                    HanythingOnDemand (HOD) is a system for provisioning virtual Hadoop clusters over a large physical cluster. It uses the Torque resource manager to do node allocation.

                    homepage: https://github.com/hpcugent/hanythingondemand

                    version versionsuffix toolchain 3.0.0 -cli system 3.0.1 -cli system 3.0.2 -cli system 3.0.3 -cli system 3.0.4 -cli system 3.1.0 -Python-2.7.11 intel/2016a 3.1.0 -cli system 3.1.1 -Python-2.7.11 intel/2016a 3.1.1 -cli system 3.1.2 -Python-2.7.11 intel/2016a 3.1.2 -cli system 3.1.3 -Python-2.7.12 intel/2016b 3.1.3 -cli system 3.1.4 -Python-2.7.12 intel/2016b 3.1.4 -cli system 3.2.0 -Python-2.7.12 intel/2016b 3.2.0 -cli system 3.2.2 -Python-2.7.12 intel/2016b 3.2.2 -cli system"},{"location":"version-specific/supported-software/#hapgen2","title":"HAPGEN2","text":"

                    'HAPGEN2' simulates case control datasets at SNP markers.

                    homepage: https://mathgen.stats.ox.ac.uk/genetics_software/hapgen/hapgen2.html

                    version toolchain 2.2.0 system"},{"location":"version-specific/supported-software/#harfbuzz","title":"HarfBuzz","text":"

                    HarfBuzz is an OpenType text shaping engine.

                    homepage: https://www.freedesktop.org/wiki/Software/HarfBuzz

                    version toolchain 1.1.3 foss/2016a, intel/2016a 1.2.7 foss/2016a, intel/2016a 1.3.1 foss/2016b, intel/2016b, intel/2017a 1.5.1 intel/2017a 1.7.1 foss/2017b, intel/2017b 1.7.5 foss/2018a, intel/2018a 1.9.0 fosscuda/2018b 2.2.0 foss/2018b, fosscuda/2018b 2.4.0 GCCcore/8.2.0 2.6.4 GCCcore/8.3.0, GCCcore/9.3.0 2.6.7 GCCcore/10.2.0 2.8.1 GCCcore/10.3.0 2.8.2 GCCcore/11.2.0 4.2.1 GCCcore/11.3.0 5.3.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#harminv","title":"Harminv","text":"

                    Harminv is a free program (and accompanying library) to solve the problem of harmonic inversion - given a discrete-time, finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially decaying) in a given bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.

                    homepage: https://github.com/stevengj/harminv

                    version toolchain 1.4 foss/2016a 1.4.1 foss/2017b, foss/2018a, intel/2018a, intel/2020a 1.4.2 foss/2020b"},{"location":"version-specific/supported-software/#harmony","title":"harmony","text":"

                    Harmony is a general-purpose R package with an efficient algorithm for integrating multiple data sets.

                    homepage: https://portals.broadinstitute.org/harmony

                    version versionsuffix toolchain 1.0.0-20200224 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#hbase","title":"HBase","text":"

                    Apache HBase. is the Hadoop database, a distributed, scalable, big data store.

                    homepage: http://hbase.apache.org/

                    version toolchain 1.0.2 system"},{"location":"version-specific/supported-software/#hd-bet","title":"HD-BET","text":"

                    Tool for brain extraction.

                    homepage: https://github.com/MIC-DKFZ/HD-BET

                    version versionsuffix toolchain 20220318 foss/2021a 20220318 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#hdbscan","title":"HDBSCAN","text":"

                    The hdbscan library is a suite of tools to use unsupervised learning to find clusters, or dense regions, of a dataset. The primary algorithm is HDBSCAN* as proposed by Campello, Moulavi, and Sander. The library provides a high performance implementation of this algorithm, along with tools for analysing the resulting clustering.

                    homepage: http://hdbscan.readthedocs.io/en/latest/

                    version versionsuffix toolchain 0.8.24 -Python-3.7.4 foss/2019b 0.8.27 foss/2021a 0.8.29 foss/2022a"},{"location":"version-specific/supported-software/#hddm","title":"HDDM","text":"

                    HDDM is a Python toolbox for hierarchical Bayesian parameter estimation of the Drift Diffusion Model (via PyMC).

                    homepage: http://ski.clps.brown.edu/hddm_docs

                    version versionsuffix toolchain 0.6.1 -Python-3.6.6 intel/2018b 0.7.5 -Python-2.7.16 intel/2019b 0.7.5 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#hdf","title":"HDF","text":"

                    HDF (also known as HDF4) is a library and multi-object file format for storing and managing data between machines.

                    homepage: https://www.hdfgroup.org/products/hdf4/

                    version versionsuffix toolchain 4.2.11 intel/2016a 4.2.12 intel/2017a 4.2.13 GCCcore/6.4.0 4.2.13 -no-netcdf intel/2017a 4.2.14 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 4.2.15 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#hdf-eos","title":"HDF-EOS","text":"

                    HDF-EOS libraries are software libraries built on HDF libraries. It supports three data structures for remote sensing data: Grid, Point and Swath.

                    homepage: https://hdfeos.org/

                    version toolchain 2.20 GCCcore/10.2.0, GCCcore/7.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#hdf-eos5","title":"HDF-EOS5","text":"

                    HDF-EOS libraries are software libraries built on HDF libraries. It supports three data structures for remote sensing data: Grid, Point and Swath.

                    homepage: https://hdfeos.org/

                    version toolchain 1.16 foss/2018b, gompi/2019b, gompi/2020b"},{"location":"version-specific/supported-software/#hdf5","title":"HDF5","text":"

                    HDF5 is a data model, library, and file format for storing and managing data. It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data.

                    homepage: https://portal.hdfgroup.org/display/support

                    version versionsuffix toolchain 1.8.10 -serial GCC/4.8.1 1.8.11 -serial GCC/4.8.1 1.8.12 foss/2018b, intel/2016b 1.8.13 foss/2018b 1.8.16 foss/2016a, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 1.8.16 -serial foss/2016a, gimkl/2.11.5, intel/2016a 1.8.17 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.8.17 -serial GCC/5.4.0-2.26, foss/2016a, intel/2016b 1.8.18 foss/2016b, foss/2017a, gimkl/2017a, intel/2016b, intel/2017.01, intel/2017a 1.8.18 -serial intel/2017a 1.8.19 foss/2017a, foss/2017b, intel/2017a, intel/2017b 1.8.20 foss/2018a, gmpolf/2017.10, intel/2017b, intel/2018a 1.10.0-patch1 foss/2016b, intel/2016b, intel/2017.01, intel/2017a 1.10.1 foss/2017a, foss/2017b, foss/2018a, fosscuda/2017b, intel/2017a, intel/2017b, intel/2018.00, intel/2018.01, intel/2018a, intelcuda/2017b, iomkl/2017b, iomkl/2018a 1.10.2 PGI/18.4-GCC-6.4.0-2.28, foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 1.10.5 gompi/2019a, gompi/2019b, gompic/2019a, gompic/2019b, iimpi/2019a, iimpi/2019b, iimpic/2019a, iimpic/2019b, iompi/2019b 1.10.5 -serial GCC/8.3.0 1.10.6 gompi/2020a, gompic/2020a, iimpi/2020a, iimpic/2020a, iompi/2020a 1.10.7 gompi/2020b, gompi/2021a, gompic/2020b, iimpi/2020b, iimpi/2021a, iimpic/2020b, iompi/2021a 1.10.8 gompi/2021b, gompi/2022a 1.12.0 gompi/2020a, iimpi/2020a 1.12.1 gompi/2021a, gompi/2021b, iimpi/2021b 1.12.2 gompi/2022a, iimpi/2022a, nvompi/2022.07 1.12.2 -serial GCC/11.3.0, NVHPC/22.7-CUDA-11.7.0 1.13.1 gompi/2022a, iimpi/2022a 1.13.1 -serial GCC/11.3.0 1.14.0 gompi/2022b, iimpi/2022b"},{"location":"version-specific/supported-software/#hdf5storage","title":"hdf5storage","text":"

                    This Python package provides high level utilities to read/write a variety of Python types to/from HDF5 (Heirarchal Data Format) formatted files. This package also provides support for MATLAB MAT v7.3 formatted files, which are just HDF5 files with a different extension and some extra meta-data. All of this is done without pickling data. Pickling is bad for security because it allows arbitrary code to be executed in the interpreter. One wants to be able to read possibly HDF5 and MAT files from untrusted sources, so pickling is avoided in this package.

                    homepage: https://pythonhosted.org/hdf5storage/

                    version toolchain 0.1.15 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#hdfview","title":"HDFView","text":"

                    HDFView is a visual tool for browsing and editing HDF4 and HDF5 files.

                    homepage: https://support.hdfgroup.org/products/java/hdfview/

                    version versionsuffix toolchain 2.14 -Java-1.8.0_152-centos6 system 2.14 -Java-1.8.0_152-centos7 system"},{"location":"version-specific/supported-software/#healpix","title":"HEALPix","text":"

                    Hierarchical Equal Area isoLatitude Pixelation of a sphere.

                    homepage: http://healpix.sourceforge.net/

                    version toolchain 3.50 GCCcore/7.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#health-gps","title":"Health-GPS","text":"

                    Health-GPS microsimulation is part of the STOP project, and supports researchers and policy makers in the analysis of the health and economic impacts of alternative measures to tackle chronic diseases and obesity in children. The model reproduces the characteristics of a population and simulates key individual event histories associated with key components of relevant behaviours, such as physical activity, and diseases such as diabetes or cancer. To run the test-jobs with HealthGPS.Tests the data-directory, found in your installation folder, must be in the current path.

                    homepage: https://github.com/imperialCHEPI/healthgps

                    version toolchain 1.1.3.0 GCCcore/11.3.0 1.2.2.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#heaptrack","title":"heaptrack","text":"

                    A heap memory profiler for Linux.

                    homepage: http://milianw.de/blog/heaptrack-a-heap-memory-profiler-for-linux

                    version toolchain 1.1.0 foss/2016b"},{"location":"version-specific/supported-software/#hector","title":"hector","text":"

                    This is the repository for Hector, an open source, object-oriented, simple global climate carbon-cycle model. It runs essentially instantaneously while still representing the most critical global scale earth system processes, and is one of a class of models heavily used for for emulating complex climate models and uncertainty analyses.

                    homepage: https://github.com/JGCRI/hector

                    version toolchain 2.5.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#heffte","title":"HeFFTe","text":"

                    Highly Efficient FFT for Exascale (HeFFTe) library

                    homepage: https://icl.utk.edu/fft

                    version toolchain 1.0 foss/2020a"},{"location":"version-specific/supported-software/#hello","title":"Hello","text":"

                    The GNU Hello program produces a familiar, friendly greeting. Yes, this is another implementation of the classic program that prints \"Hello, world!\" when you run it. However, unlike the minimal version often seen, GNU Hello processes its argument list to modify its behavior, supports greetings in many languages, and so on.

                    homepage: https://www.gnu.org/software/hello/

                    version toolchain 2.10 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#help2man","title":"help2man","text":"

                    help2man produces simple manual pages from the '--help' and '--version' output of other commands.

                    homepage: https://www.gnu.org/software/help2man/

                    version toolchain 1.47.4 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/system, gimkl/2017a, intel/2016b, system 1.47.5 GCCcore/5.5.0 1.47.6 GCCcore/8.1.0 1.47.7 GCCcore/8.2.0 1.47.8 GCCcore/7.4.0, GCCcore/8.3.0, GCCcore/8.4.0 1.47.10 GCCcore/9.1.0, GCCcore/9.2.0 1.47.12 GCCcore/9.3.0 1.47.15 GCCcore/10.1.0 1.47.16 GCCcore/10.2.0 1.48.3 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/11.2.0, GCCcore/9.4.0 1.49.2 GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/9.5.0 1.49.3 GCCcore/11.4.0, GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#hepmc3","title":"HepMC3","text":"

                    HepMC is a standard for storing Monte Carlo event data.

                    homepage: http://hepmc.web.cern.ch/hepmc/

                    version toolchain 3.2.5 GCC/11.3.0"},{"location":"version-specific/supported-software/#hh-suite","title":"HH-suite","text":"

                    The HH-suite is an open-source software package for sensitive protein sequence searching based on the pairwise alignment of hidden Markov models (HMMs).

                    homepage: https://github.com/soedinglab/hh-suite

                    version versionsuffix toolchain 3.0-beta.3 intel/2018a 3.2.0 foss/2019b, fosscuda/2019b 3.3.0 foss/2020a, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a, gompic/2020b 3.3.0 -Python-3.7.4 gompic/2019b"},{"location":"version-specific/supported-software/#hic-pro","title":"HiC-Pro","text":"

                    HiC-Pro was designed to process Hi-C data, from raw fastq files (paired-end Illumina data) to the normalized contact maps.

                    homepage: http://nservant.github.io/HiC-Pro

                    version versionsuffix toolchain 2.9.0 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#hicexplorer","title":"HiCExplorer","text":"

                    HiCexplorer addresses the common tasks of Hi-C analysis from processing to visualization.

                    homepage: http://hicexplorer.readthedocs.org/

                    version versionsuffix toolchain 2.1.1 -Python-3.6.4 foss/2018a 3.7.2 foss/2022a"},{"location":"version-specific/supported-software/#hicmatrix","title":"HiCMatrix","text":"

                    This library implements the central class of HiCExplorer to manage Hi-C interaction matrices.

                    homepage: https://github.com/deeptools/HiCMatrix

                    version toolchain 17 foss/2022a"},{"location":"version-specific/supported-software/#hierfstat","title":"hierfstat","text":"

                    Estimates hierarchical F-statistics from haploid or diploid genetic data with any numbers of levels in the hierarchy.

                    homepage: https://cran.r-project.org/package=hierfstat

                    version versionsuffix toolchain 0.5-7 -R-4.0.0-Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#hifiasm","title":"hifiasm","text":"

                    Hifiasm: a haplotype-resolved assembler for accurate Hifi reads.

                    homepage: https://github.com/chhylp123/hifiasm

                    version toolchain 0.15.2 GCCcore/10.3.0, GCCcore/9.3.0 0.16.1 GCCcore/10.3.0 0.19.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#highfive","title":"HighFive","text":"

                    HighFive is a modern header-only C++11 friendly interface for libhdf5.

                    homepage: https://github.com/BlueBrain/HighFive

                    version toolchain 2.6.2 gompi/2021a, gompi/2022a"},{"location":"version-specific/supported-software/#highway","title":"Highway","text":"

                    Highway is a C++ library for SIMD (Single Instruction, Multiple Data), i.e. applying the same operation to 'lanes'.

                    homepage: https://github.com/google/highway

                    version toolchain 0.12.2 GCCcore/10.2.0, GCCcore/10.3.0 1.0.3 GCCcore/11.3.0, GCCcore/12.2.0 1.0.4 GCCcore/11.3.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#hip","title":"HIP","text":"

                    HIP is a C++ Runtime API and Kernel Language that allows developers to create portable applications for AMD and NVIDIA GPUs from single source code.

                    homepage: https://github.com/ROCm-Developer-Tools/HIP

                    version versionsuffix toolchain 4.5.0 -amd GCCcore/11.2.0"},{"location":"version-specific/supported-software/#hipify-clang","title":"hipify-clang","text":"

                    Hipify-clang is a clang-based tool for translating CUDA sources into HIP sources. It translates CUDA source into an abstract syntax tree, which is traversed by transformation matchers. After applying all the matchers, the output HIP source is produced.

                    homepage: https://github.com/ROCm-Developer-Tools/HIPIFY

                    version toolchain 4.2.0 gcccuda/2020b"},{"location":"version-specific/supported-software/#hips","title":"HIPS","text":"

                    HIPS (Hierarchical Iterative Parallel Solver) is a scientific library that provides an efficient parallel iterative solver for very large sparse linear systems.

                    homepage: http://hips.gforge.inria.fr/

                    version toolchain 1.2b-rc5 foss/2017b"},{"location":"version-specific/supported-software/#hipsycl","title":"hipSYCL","text":"

                    hipSYCL is a modern SYCL implementation targeting CPUs and GPUs, with a focus on leveraging existing toolchains such as CUDA or HIP

                    homepage: https://github.com/illuhad/hipSYCL

                    version toolchain 0.9.1 GCC/10.2.0, gcccuda/2020b"},{"location":"version-specific/supported-software/#hiredis","title":"hiredis","text":"

                    Hiredis is a minimalistic C client library for the Redis database. It is minimalistic because it just adds minimal support for the protocol, but at the same time it uses a high level printf-alike API in order to make it much higher level than otherwise suggested by its minimal code base and the lack of explicit bindings for every Redis command.

                    homepage: https://github.com/redis/hiredis

                    version toolchain 1.0.2 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#hisat2","title":"HISAT2","text":"

                    HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) against the general human population (as well as against a single reference genome).

                    homepage: https://daehwankimlab.github.io/hisat2

                    version toolchain 2.0.3-beta intel/2016a 2.0.4 foss/2016b 2.0.5 intel/2017a 2.1.0 foss/2017b, foss/2018b, intel/2017a, intel/2017b, intel/2018a 2.2.0 foss/2018b 2.2.1 foss/2019b, foss/2020a, gompi/2020b, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#histolab","title":"histolab","text":"

                    Library for Digital Pathology Image Processing

                    homepage: https://github.com/histolab/histolab

                    version toolchain 0.4.1 foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#hivtrace","title":"hivtrace","text":"

                    HIV-TRACE is an application that identifies potential transmission clusters within a supplied FASTA file with an option to find potential links against the Los Alamos HIV Sequence Database.

                    homepage: https://github.com/veg/hivtrace

                    version toolchain 0.6.2 foss/2021a"},{"location":"version-specific/supported-software/#hl7apy","title":"hl7apy","text":"

                    Python library to parse, create and handle HL7 v2 messages.

                    homepage: https://github.com/crs4/hl7apy

                    version versionsuffix toolchain 1.3.3 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#hlaminer","title":"HLAminer","text":"

                    HLAminer is a software for HLA predictions from next-generation shotgun (NGS) sequence read data and supports direct read alignment and targeted de novo assembly of sequence reads.

                    homepage: http://www.bcgsc.ca/platform/bioinfo/software/hlaminer

                    version versionsuffix toolchain 1.4 -Perl-5.28.0 foss/2018b"},{"location":"version-specific/supported-software/#hmmer","title":"HMMER","text":"

                    HMMER is used for searching sequence databases for homologs of protein sequences, and for making protein sequence alignments. It implements methods using probabilistic models called profile hidden Markov models (profile HMMs). Compared to BLAST, FASTA, and other sequence alignment and database search tools based on older scoring methodology, HMMER aims to be significantly more accurate and more able to detect remote homologs because of the strength of its underlying mathematical models. In the past, this strength came at significant computational expense, but in the new HMMER3 project, HMMER is now essentially as fast as BLAST.

                    homepage: http://hmmer.org/

                    version toolchain 3.1b2 GCC/6.4.0-2.28, foss/2016a, foss/2016b, foss/2018a, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2017a, intel/2018a 3.2.1 GCC/8.2.0-2.31.1, foss/2018b, gompi/2019b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iimpi/2019b, intel/2018b 3.3.1 gompi/2020a, iimpi/2020a 3.3.2 gompi/2019b, gompi/2020a, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a, gompi/2022b, gompic/2020b, iimpi/2020b, iimpi/2021b"},{"location":"version-specific/supported-software/#hmmer2","title":"HMMER2","text":"

                    HMMER is used for searching sequence databases for sequence homologs, and for making sequence alignments.

                    homepage: http://hmmer.org

                    version toolchain 2.3.2 GCC/10.2.0, GCC/10.3.0, GCC/8.3.0"},{"location":"version-specific/supported-software/#hmmlearn","title":"hmmlearn","text":"

                    hmmlearn is a set of algorithms for unsupervised learning and inference of Hidden Markov Models

                    homepage: https://github.com/hmmlearn/hmmlearn

                    version versionsuffix toolchain 0.2.0 -Python-2.7.14 intel/2017b 0.2.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#home","title":"HOME","text":"

                    HOME (histogram of methylation) is a python package for differential methylation region (DMR) identification. The method uses histogram of methylation features and the linear Support Vector Machine (SVM) to identify DMRs from whole genome bisulfite sequencing (WGBS) data.

                    homepage: https://github.com/ListerLab/HOME

                    version versionsuffix toolchain 0.9 -Python-2.7.13 foss/2017a"},{"location":"version-specific/supported-software/#hoomd-blue","title":"HOOMD-blue","text":"

                    HOOMD-blue is a general-purpose particle simulation toolkit, implementing molecular dynamics and hard particle Monte Carlo optimized for fast execution on both GPUs and CPUs.

                    homepage: https://bitbucket.org/glotzer/hoomd-blue

                    version toolchain 4.0.1 foss/2022a"},{"location":"version-specific/supported-software/#horovod","title":"Horovod","text":"

                    Horovod is a distributed training framework for TensorFlow.

                    homepage: https://github.com/uber/horovod

                    version versionsuffix toolchain 0.9.10 -Python-3.6.3 intel/2017b 0.18.1 -Python-3.7.2 foss/2019a 0.18.2 -TensorFlow-1.15.0-Python-3.7.4 fosscuda/2019b 0.18.2 -TensorFlow-1.15.2-Python-3.7.4 fosscuda/2019b 0.18.2 -TensorFlow-2.0.0-Python-3.7.4 fosscuda/2019b 0.19.1 -TensorFlow-2.1.0-Python-3.7.4 fosscuda/2019b 0.19.5 -TensorFlow-2.2.0-Python-3.7.4 fosscuda/2019b 0.20.3 -TensorFlow-2.3.1-Python-3.7.4 fosscuda/2019b 0.21.1 -PyTorch-1.7.1-Python-3.7.4 fosscuda/2019b 0.21.1 -TensorFlow-2.4.1 fosscuda/2020b 0.21.1 -TensorFlow-2.4.1-Python-3.7.4 fosscuda/2019b 0.21.3 -PyTorch-1.7.1 fosscuda/2020b 0.21.3 -TensorFlow-2.3.1-Python-3.8.2 foss/2020a, fosscuda/2020a 0.22.0 -PyTorch-1.8.1 fosscuda/2020b 0.22.1 -CUDA-11.3.1-TensorFlow-2.6.0 foss/2021a 0.22.1 -TensorFlow-2.5.0 fosscuda/2020b 0.22.1 -TensorFlow-2.5.0-Python-3.7.4 fosscuda/2019b 0.23.0 -CUDA-11.3.1-PyTorch-1.10.0 foss/2021a 0.23.0 -TensorFlow-2.5.0 fosscuda/2020b 0.25.0 -CUDA-11.3.1-PyTorch-1.10.0 foss/2021a"},{"location":"version-specific/supported-software/#horton","title":"horton","text":"

                    HORTON is a Helpful Open-source Research TOol for N-fermion systems, written primarily in the Python programming language. (HORTON is named after the helpful pachyderm, not the Canadian caffeine supply store.) The ultimate goal of HORTON is to provide a platform for testing new ideas on the quantum many-body problem at a reasonable computational cost. Although HORTON is primarily designed to be a quantum-chemistry program, it can perform computations involving model Hamiltonians, and could be extended for computations in nuclear physics.

                    homepage: https://theochem.github.io/horton

                    version versionsuffix toolchain 2.1.1 -Python-2.7.15 foss/2018b, intel/2018b 2.1.1 -Python-2.7.18 intel/2020a"},{"location":"version-specific/supported-software/#how_are_we_stranded_here","title":"how_are_we_stranded_here","text":"

                    Python package for testing strandedness of RNA-Seq fastq files

                    homepage: https://github.com/signalbash/how_are_we_stranded_here

                    version toolchain 1.0.1 foss/2021b"},{"location":"version-specific/supported-software/#hpcg","title":"HPCG","text":"

                    The HPCG Benchmark project is an effort to create a more relevant metric for ranking HPC systems than the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark.

                    homepage: https://software.sandia.gov/hpcg

                    version toolchain 3.0 foss/2016b, foss/2018b, intel/2018b 3.1 foss/2018b, foss/2021a, foss/2021b, intel/2018b, intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#hpcx","title":"HPCX","text":"

                    The Mellanox HPC-X Toolkit is a comprehensive MPI and SHMEM/PGAS software suite for high performance computing environments

                    homepage: http://www.mellanox.com/page/products_dyn?product_family=189&mtag=hpc-x

                    version toolchain 2.3.0 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#hpdbscan","title":"HPDBSCAN","text":"

                    Highly parallel density based spatial clustering for application with noise

                    homepage: https://github.com/Markus-Goetz/hpdbscan

                    version toolchain 20171110 foss/2017b 20210826 foss/2020b"},{"location":"version-specific/supported-software/#hpl","title":"HPL","text":"

                    HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the High Performance Computing Linpack Benchmark.

                    homepage: https://www.netlib.org/benchmark/hpl/

                    version toolchain 2.1 foss/2016.04, foss/2016.06, foss/2016a, foss/2016b, gimkl/2.11.5, gmpolf/2016a, gmvolf/1.7.20, gmvolf/2016a, intel/2016.00, intel/2016.01, intel/2016.02-GCC-4.9, intel/2016.02-GCC-5.3, intel/2016.03-GCC-4.9, intel/2016.03-GCC-5.3, intel/2016.03-GCC-5.4, intel/2016a, intel/2016b, iomkl/2016.07, pomkl/2016.03, pomkl/2016.04, pomkl/2016.09 2.2 foss/2016.07, foss/2016.09, foss/2017a, foss/2017b, foss/2018.08, foss/2018a, foss/2018b, fosscuda/2017b, fosscuda/2018a, fosscuda/2018b, gimkl/2018b, giolf/2017b, giolf/2018a, giolfc/2017b, gmpolf/2017.10, goblf/2018b, gomkl/2018b, intel/2017.00, intel/2017.01, intel/2017.02, intel/2017.09, intel/2017a, intel/2017b, intel/2018.00, intel/2018.01, intel/2018.02, intel/2018.04, intel/2018a, intel/2018b, intel/2019.00, intel/2019.01, intelcuda/2016.10, intelcuda/2017b, iomkl/2016.09-GCC-4.9.3-2.25, iomkl/2016.09-GCC-5.4.0-2.26, iomkl/2017.01, iomkl/2017a, iomkl/2017b, iomkl/2018.02, iomkl/2018a, iomkl/2018b, pomkl/2016.09 2.3 CrayCCE/19.06, CrayGNU/19.06, CrayIntel/19.06, Fujitsu/21.05, foss/2019a, foss/2019b, foss/2020a, foss/2020b, foss/2021a, foss/2021b, foss/2022.05, foss/2022.10, foss/2022a, foss/2022b, foss/2023a, fosscuda/2019b, fosscuda/2020a, gobff/2020.06-amd, gobff/2020.11, gobff/2020b, gobff/2021a, goblf/2020b, gomkl/2019a, gomkl/2020b, gomkl/2021a, gomkl/2022a, iibff/2020b, intel/2019.02, intel/2019.03, intel/2019a, intel/2019b, intel/2020.00, intel/2020.06-impi-18.5, intel/2020.12, intel/2020a, intel/2020b, intel/2021a, intel/2021b, intel/2022.00, intel/2022.09, intel/2022.11, intel/2022.12, intel/2022b, intel/2023.03, intel/2023a, intelcuda/2019b, intelcuda/2020a, iomkl/2019.01, iomkl/2021a, iomkl/2021b"},{"location":"version-specific/supported-software/#htop","title":"htop","text":"

                    An interactive process viewer for Unix

                    homepage: https://htop.dev

                    version toolchain 2.0.0 system 2.0.1 system 3.2.1 system"},{"location":"version-specific/supported-software/#htseq","title":"HTSeq","text":"

                    HTSeq is a Python library to facilitate processing and analysis of data from high-throughput sequencing (HTS) experiments.

                    homepage: https://github.com/simon-anders/htseq

                    version versionsuffix toolchain 0.6.1p1 -Python-2.7.11 foss/2016a 0.6.1p1 -Python-2.7.12 foss/2016b, intel/2016b 0.9.1 -Python-2.7.12 foss/2016b 0.9.1 -Python-2.7.13 intel/2017a 0.9.1 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 0.9.1 -Python-3.6.3 foss/2017b, intel/2017b 0.10.0 -Python-2.7.14 foss/2018a 0.11.0 -Python-2.7.15 foss/2018b, intel/2018b 0.11.2 -Python-3.6.6 foss/2018b 0.11.2 -Python-3.7.2 foss/2019a 0.11.2 -Python-3.7.4 foss/2019b 0.11.3 foss/2020b, foss/2021b 2.0.2 foss/2022a"},{"location":"version-specific/supported-software/#htslib","title":"HTSlib","text":"

                    PacBio fork of C library for reading/writing high-throughput sequencing data. This package includes the utilities bgzip and tabix

                    homepage: https://github.com/PacificBiosciences/htslib

                    version versionsuffix toolchain 1.2.1 foss/2016b 1.3 foss/2016a, intel/2016a 1.3.1 foss/2016a, foss/2016b, intel/2016b 1.3.2 intel/2016b 1.4 foss/2016b, intel/2016b 1.4.1 foss/2016a, intel/2017a 1.6 foss/2016b, foss/2017b, intel/2017b 1.7 intel/2018a 1.8 GCC/6.4.0-2.28, foss/2018a, intel/2018a 1.9 GCC/6.4.0-2.28, GCC/8.2.0-2.31.1, foss/2018b, iccifort/2017.4.196-GCC-6.4.0-2.28, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 1.10.2 GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281 1.11 GCC/10.2.0, iccifort/2020.4.304 1.12 GCC/10.2.0, GCC/10.3.0, GCC/9.3.0 1.14 GCC/11.2.0 1.15.1 GCC/11.3.0 1.17 GCC/12.2.0 20160107 -PacBio intel/2017a"},{"location":"version-specific/supported-software/#htsplotter","title":"HTSplotter","text":"

                    HTSplotter allows an end-to-end data processing and analysis of chemical and genetic in vitro perturbation screens.

                    homepage: https://github.com/CBIGR/HTSplotter

                    version toolchain 0.15 foss/2022a 2.11 foss/2022b"},{"location":"version-specific/supported-software/#hub","title":"hub","text":"

                    hub is a command-line wrapper for git that makes you better at GitHub.

                    homepage: https://hub.github.com/

                    version versionsuffix toolchain 2.2.2 -linux-amd64 system"},{"location":"version-specific/supported-software/#humann","title":"humann","text":"

                    HUMAnN v3 is a pipeline for efficiently and accurately determining the coverage and abundance of microbial pathways in a community from metagenomic data. Sequencing a metagenome typically produces millions of short DNA/RNA reads. This process, referred to as functional profiling, aims to describe the metabolic potential of a microbial community and its members. More generally, functional profiling answers the question: What are the microbes in my community-of-interest doing (or capable of doing)?

                    homepage: http://huttenhower.sph.harvard.edu/humann

                    version toolchain 3.6 foss/2022a"},{"location":"version-specific/supported-software/#hunspell","title":"hunspell","text":"

                    Hunspell is a spell checker and morphological analyzer library and program designed for languageswith rich morphology and complex word compounding or character encoding.

                    homepage: https://hunspell.github.io/

                    version toolchain 1.6.1 intel/2017a 1.7.0 GCCcore/8.2.0 1.7.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#hwloc","title":"hwloc","text":"

                    The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily aims at helping applications with gathering information about modern computing hardware so as to exploit it accordingly and efficiently.

                    homepage: https://www.open-mpi.org/projects/hwloc/

                    version toolchain 1.7.2 GCC/4.8.2 1.8.1 GCC/4.8.2, GCC/4.8.3 1.9 GCC/4.8.3 1.10.0 GCC/4.9.2 1.10.1 GCC/4.8.4, GNU/4.9.2-2.25 1.11.0 GNU/4.9.3-2.25 1.11.1 GCC/4.9.3 1.11.2 GCC/4.9.3-2.25, GNU/4.9.3-2.25 1.11.3 GCC/5.2.0, GCC/5.3.0-2.26, GCC/5.4.0-2.26, GCC/6.1.0-2.27, PGI/16.3-GCC-4.9.3-2.25, PGI/16.4-GCC-5.3.0-2.26, iccifort/2016.3.210-GCC-4.9.3-2.25, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b 1.11.4 GCC/6.2.0-2.27, PGI/16.7-GCC-5.4.0-2.26, iccifort/2017.1.132-GCC-5.4.0-2.26 1.11.5 GCC/5.4.0-2.26, GCC/6.3.0-2.27, iccifort/2017.1.132-GCC-6.3.0-2.27 1.11.6 GCC/6.3.0-2.28 1.11.7 GCCcore/5.4.0, GCCcore/6.4.0 1.11.8 GCCcore/6.4.0, GCCcore/7.2.0, intel/2017a 1.11.10 GCCcore/7.3.0 1.11.11 GCCcore/8.2.0 1.11.12 GCCcore/8.3.0 2.0.2 GCCcore/8.2.0 2.0.3 GCCcore/8.3.0 2.1.0 GCCcore/9.2.0 2.2.0 GCCcore/10.2.0, GCCcore/9.3.0 2.4.1 GCCcore/10.3.0 2.5.0 GCCcore/11.2.0 2.7.1 GCCcore/11.3.0 2.8.0 GCCcore/12.2.0 2.9.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#hydra","title":"Hydra","text":"

                    Hydra is an open-source Python framework that simplifies the development of research and other complex applications. The key feature is the ability to dynamically create a hierarchical configuration by composition and override it through config files and the command line. The name Hydra comes from its ability to run multiple similar jobs - much like a Hydra with multiple heads.

                    homepage: https://hydra.cc/

                    version toolchain 1.1.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#hyperopt","title":"Hyperopt","text":"

                    hyperopt is a Python library for optimizing over awkward search spaces with real-valued, discrete, and conditional dimensions.

                    homepage: http://hyperopt.github.io/hyperopt/

                    version versionsuffix toolchain 0.1 -Python-2.7.14 intel/2017b 0.1.1 -Python-3.6.6 intel/2018b 0.2.4 -Python-3.7.4-Java-1.8 intel/2019b 0.2.5 fosscuda/2020b 0.2.7 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#hyperqueue","title":"HyperQueue","text":"

                    HyperQueue lets you build a computation plan consisting of a large amount of tasks and then execute it transparently over a system like SLURM/PBS. It dynamically groups jobs into SLURM/PBS jobs and distributes them to fully utilize allocated nodes. You thus do not have to manually aggregate your tasks into SLURM/PBS jobs.

                    homepage: https://it4innovations.github.io/hyperqueue/

                    version toolchain 0.13.0 system"},{"location":"version-specific/supported-software/#hyperspy","title":"hyperspy","text":"

                    HyperSpy is an open source Python library which provides tools to facilitate the interactive data analysis of multi-dimensional datasets that can be described as multi-dimensional arrays of a given signal (e.g. a 2D array of spectra a.k.a spectrum image)

                    homepage: https://hyperspy.org/

                    version versionsuffix toolchain 1.1.1 -Python-3.5.2 intel/2016b"},{"location":"version-specific/supported-software/#hyphy","title":"HyPhy","text":"

                    HyPhy (Hypothesis Testing using Phylogenies) is an open-source software package for the analysis of genetic sequences (in particular the inference of natural selection) using techniques in phylogenetics, molecular evolution, and machine learning

                    homepage: https://veg.github.io/hyphy-site/

                    version toolchain 2.3.13 foss/2016b 2.5.1 gompi/2019a 2.5.33 gompi/2021a"},{"location":"version-specific/supported-software/#hypo","title":"HyPo","text":"

                    HyPo: Super Fast & Accurate Polisher for Long Read Genome Assemblies

                    homepage: https://github.com/kensung-lab/hypo

                    version versionsuffix toolchain 1.0.3 -Python-3.7.4 GCC/8.3.0"},{"location":"version-specific/supported-software/#hypothesis","title":"hypothesis","text":"

                    Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets you find more bugs in your code with less work.

                    homepage: https://github.com/HypothesisWorks/hypothesis

                    version versionsuffix toolchain 4.5.0 -Python-3.6.6 foss/2018b, fosscuda/2018b 4.23.4 GCCcore/8.2.0 4.39.3 -Python-3.6.4 intel/2018a 4.44.2 -Python-3.7.4 GCCcore/8.3.0 4.53.1 GCCcore/10.2.0 4.57.1 -Python-2.7.18 GCCcore/11.2.0 5.6.0 -Python-3.8.2 GCCcore/9.3.0 5.41.2 GCCcore/10.2.0 5.41.5 GCCcore/10.2.0 6.7.0 GCCcore/10.2.0 6.13.1 GCCcore/10.3.0 6.14.6 GCCcore/11.2.0 6.46.7 GCCcore/11.3.0 6.68.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#hypre","title":"Hypre","text":"

                    Hypre is a library for solving large, sparse linear systems of equations on massively parallel computers. The problems of interest arise in the simulation codes being developed at LLNL and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.

                    homepage: https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods

                    version toolchain 2.11.1 foss/2016a, intel/2016a 2.14.0 foss/2018a, intel/2018a 2.15.1 foss/2019a, intel/2019a 2.18.2 foss/2019b, foss/2020a, intel/2019b, intel/2020a 2.20.0 foss/2020b, intel/2020b 2.21.0 foss/2021a, fosscuda/2020b, intel/2021a 2.24.0 intel/2021b 2.25.0 foss/2022a 2.27.0 foss/2022b"},{"location":"version-specific/supported-software/#i","title":"I","text":"

                    i-cisTarget - i-PI - I-TASSER - i7z - ICA-AROMA - icc - iccifort - iccifortcuda - ichorCNA - icmake - iCount - ICU - IDBA-UD - idemux - ieeg-cli - ifort - IgBLAST - IGMPlot - igraph - IGV - igv-reports - IGVTools - iibff - iimkl - iimpi - iimpic - IJulia - ILAMB - IMa2 - IMa2p - imagecodecs - imageio - ImageJ - ImageMagick - imake - Imath - IMB - imbalanced-learn - imgaug - imkl - imkl-FFTW - Imlib2 - immunedeconv - IMOD - impi - IMPUTE2 - InChI - indicators - Inelastica - inferCNV - infercnvpy - Inferelator - Infernal - Infomap - inline - InParanoid - inputproto - Inspector - IntaRNA - INTEGRATE - INTEGRATE-Neo - intel - intel-compilers - IntelClusterChecker - intelcuda - IntelDAAL - IntelPython - InterProScan - InterProScan_data - intervaltree - intervaltree-python - intltool - io_lib - ioapi - iodata - iomkl - iompi - IOR - IOzone - IPM - Ipopt - ipp - IPy - ipympl - ipyparallel - ipyrad - IPython - IQ-TREE - Iris - IRkernel - irodsfs - IronPython - ISA-L - ISL - isoCirc - IsoNet - IsoSeq - ispc - itac - ITK - itpp - ITSTool - ITSx - iVar

                    "},{"location":"version-specific/supported-software/#i-cistarget","title":"i-cisTarget","text":"

                    An integrative genomics method for the prediction of regulatory features and cis-regulatory modules in Human, Mouse, and Fly

                    homepage: https://gbiomed.kuleuven.be/apps/lcb/i-cisTarget

                    version versionsuffix toolchain 20160602 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#i-pi","title":"i-PI","text":"

                    A Python wrapper for (ab initio) (path integrals) molecular dynamics

                    homepage: https://github.com/i-pi/i-pi

                    version versionsuffix toolchain 1.0-20160213 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#i-tasser","title":"I-TASSER","text":"

                    I-TASSER is a set of pre-compiled binaries and scripts for protein structure and function modelling and comparison.

                    homepage: http://zhanglab.ccmb.med.umich.edu/I-TASSER/

                    version toolchain 4.0 system 4.2 system 5.1 system"},{"location":"version-specific/supported-software/#i7z","title":"i7z","text":"

                    A better i7 (and now i3, i5) reporting tool for Linux

                    homepage: https://github.com/ajaiantilal/i7z

                    version toolchain 20131012 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#ica-aroma","title":"ICA-AROMA","text":"

                    ICA-AROMA (i.e. 'ICA-based Automatic Removal Of Motion Artifacts') concerns a data-driven method to identify and remove motion-related independent components from fMRI data.

                    homepage: https://github.com/maartenmennes/ICA-AROMA

                    version versionsuffix toolchain 0.4.4-beta -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#icc","title":"icc","text":"

                    C and C++ compiler from Intel

                    homepage: http://software.intel.com/en-us/intel-compilers/

                    version versionsuffix toolchain 2016.0.109 system 2016.0.109 -GCC-4.9.3-2.25 system 2016.1.150 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-4.9.3-2.25 system 2016.3.210 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-5.4.0-2.26 system 2017.0.098 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-6.3.0-2.27 system 2017.2.174 -GCC-6.3.0-2.27 system 2017.4.196 -GCC-6.4.0-2.28 system 2017.5.239 -GCC-6.4.0-2.28 system 2017.6.256 -GCC-6.4.0-2.28 system 2017.7.259 -GCC-6.4.0-2.28 system 2018.0.128 -GCC-6.4.0-2.28 system 2018.1.163 -GCC-6.4.0-2.28 system 2018.2.199 -GCC-6.4.0-2.28 system 2018.3.222 -GCC-7.3.0-2.30 system 2018.5.274 -GCC-7.3.0-2.30 system 2019.0.117 -GCC-8.2.0-2.31.1 system 2019.1.144 -GCC-8.2.0-2.31.1 system 2019.2.187 -GCC-8.2.0-2.31.1 system 2019.3.199 -GCC-8.3.0-2.32 system system -GCC-system-2.29 system"},{"location":"version-specific/supported-software/#iccifort","title":"iccifort","text":"

                    Intel C, C++ & Fortran compilers

                    homepage: http://software.intel.com/en-us/intel-cluster-toolkit-compiler/

                    version versionsuffix toolchain 2016.0.109 system 2016.0.109 -GCC-4.9.3-2.25 system 2016.1.150 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-4.9.3-2.25 system 2016.3.210 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-5.4.0-2.26 system 2017.0.098 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-6.3.0-2.27 system 2017.2.174 -GCC-6.3.0-2.27 system 2017.4.196 -GCC-6.4.0-2.28 system 2017.5.239 -GCC-6.4.0-2.28 system 2018.0.128 -GCC-6.4.0-2.28 system 2018.1.163 -GCC-6.4.0-2.28 system 2018.2.199 -GCC-6.4.0-2.28 system 2018.3.222 -GCC-7.3.0-2.30 system 2018.5.274 -GCC-7.3.0-2.30 system 2019.0.117 -GCC-8.2.0-2.31.1 system 2019.1.144 -GCC-8.2.0-2.31.1 system 2019.2.187 -GCC-8.2.0-2.31.1 system 2019.3.199 -GCC-8.3.0-2.32 system 2019.4.243 system 2019.5.281 system 2020.0.166 system 2020.0.166 -GCC-9.2.0 system 2020.1.217 system 2020.4.304 system system -GCC-system-2.29 system"},{"location":"version-specific/supported-software/#iccifortcuda","title":"iccifortcuda","text":"

                    Intel C, C++ & Fortran compilers with CUDA toolkit

                    homepage: <(none)>

                    version versionsuffix toolchain 2016.10 system 2017.4.196 -GCC-6.4.0-2.28 system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#ichorcna","title":"ichorCNA","text":"

                    ichorCNA is a tool for estimating the fraction of tumor in cell-free DNA from ultra-low-pass whole genome sequencing

                    homepage: https://github.com/broadinstitute/ichorCNA/wiki

                    version toolchain 0.2.0 foss/2019b 0.3.2-20191219 foss/2020a"},{"location":"version-specific/supported-software/#icmake","title":"icmake","text":"

                    Icmake is a hybrid between a 'make' utility and a 'shell script' language. Originally, it was written to provide a useful tool for automatic program maintenance and system administrative tasks on old MS-DOS platforms.

                    homepage: http://icmake.sourceforge.net/

                    version toolchain 7.23.02 foss/2016a"},{"location":"version-specific/supported-software/#icount","title":"iCount","text":"

                    iCount: protein-RNA interaction analysis is a Python module and associated command-line interface (CLI), which provides all the commands needed to process iCLIP data on protein-RNA interactions.

                    homepage: https://github.com/tomazc/iCount

                    version versionsuffix toolchain 20180820 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#icu","title":"ICU","text":"

                    ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications.

                    homepage: https://icu.unicode.org

                    version toolchain 61.1 GCCcore/6.4.0, GCCcore/7.3.0 64.2 GCCcore/8.2.0, GCCcore/8.3.0 65.1 GCCcore/8.3.0 66.1 GCCcore/9.3.0 67.1 GCCcore/10.2.0 69.1 GCCcore/10.3.0, GCCcore/11.2.0 71.1 GCCcore/11.3.0 72.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#idba-ud","title":"IDBA-UD","text":"

                    IDBA-UD is a iterative De Bruijn Graph De Novo Assembler for Short Reads Sequencing data with Highly Uneven Sequencing Depth. It is an extension of IDBA algorithm. IDBA-UD also iterates from small k to a large k. In each iteration, short and low-depth contigs are removed iteratively with cutoff threshold from low to high to reduce the errors in low-depth and high-depth regions. Paired-end reads are aligned to contigs and assembled locally to generate some missing k-mers in low-depth regions. With these technologies, IDBA-UD can iterate k value of de Bruijn graph to a very large value with less gaps and less branches to form long contigs in both low-depth and high-depth regions.

                    homepage: http://i.cs.hku.hk/~alse/hkubrg/projects/idba_ud/

                    version toolchain 1.1.3 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2018a, foss/2018b"},{"location":"version-specific/supported-software/#idemux","title":"idemux","text":"

                    idemux - inline barcode demultiplexing Idemux is a command line tool designed to demultiplex paired-end FASTQ files from QuantSeq-Pool.

                    homepage: https://github.com/Lexogen-Tools/idemux

                    version toolchain 0.1.6 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#ieeg-cli","title":"ieeg-cli","text":"

                    IEEG.ORG is a collaborative initiative funded by the National Institutes of Neurological Disorders and Stroke. This initiative seeks to advance research towards the understanding of epilepsy by providing a platform for sharing data, tools and expertise between researchers.

                    homepage: https://www.ieeg.org/

                    version toolchain 1.14.56 system"},{"location":"version-specific/supported-software/#ifort","title":"ifort","text":"

                    Fortran compiler from Intel

                    homepage: http://software.intel.com/en-us/intel-compilers/

                    version versionsuffix toolchain 2016.0.109 system 2016.0.109 -GCC-4.9.3-2.25 system 2016.1.150 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-4.9.3-2.25 system 2016.2.181 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-4.9.3-2.25 system 2016.3.210 -GCC-5.3.0-2.26 system 2016.3.210 -GCC-5.4.0-2.26 system 2017.0.098 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-5.4.0-2.26 system 2017.1.132 -GCC-6.3.0-2.27 system 2017.2.174 -GCC-6.3.0-2.27 system 2017.4.196 -GCC-6.4.0-2.28 system 2017.5.239 -GCC-6.4.0-2.28 system 2017.6.256 -GCC-6.4.0-2.28 system 2017.7.259 -GCC-6.4.0-2.28 system 2018.0.128 -GCC-6.4.0-2.28 system 2018.1.163 -GCC-6.4.0-2.28 system 2018.2.199 -GCC-6.4.0-2.28 system 2018.3.222 -GCC-7.3.0-2.30 system 2018.5.274 -GCC-7.3.0-2.30 system 2019.0.117 -GCC-8.2.0-2.31.1 system 2019.1.144 -GCC-8.2.0-2.31.1 system 2019.2.187 -GCC-8.2.0-2.31.1 system 2019.3.199 -GCC-8.3.0-2.32 system system -GCC-system-2.29 system"},{"location":"version-specific/supported-software/#igblast","title":"IgBLAST","text":"

                    IgBLAST faclilitates the analysis of immunoglobulin and T cell receptor variable domain sequences.

                    homepage: https://ncbi.github.io/igblast

                    version versionsuffix toolchain 1.15.0 -x64-linux system 1.18.0 -x64-linux system 1.21.0 -x64-linux system"},{"location":"version-specific/supported-software/#igmplot","title":"IGMPlot","text":"

                    IGMPlot is a free open-source program developed to identify molecular interactions and prepare data to build 2D and 3D representations of them in the molecular environment.

                    homepage: http://igmplot.univ-reims.fr

                    version toolchain 2.4.2 GCC/8.3.0, iccifort/2019.5.281 2.6.9b GCC/11.2.0"},{"location":"version-specific/supported-software/#igraph","title":"igraph","text":"

                    igraph is a collection of network analysis tools with the emphasis on efficiency, portability and ease of use. igraph is open source and free. igraph can be programmed in R, Python and C/C++.

                    homepage: https://igraph.org

                    version toolchain 0.7.1 foss/2018b, intel/2016b, intel/2017b 0.8.0 foss/2019b 0.8.2 foss/2020a 0.8.5 foss/2020b 0.9.1 foss/2020b, fosscuda/2020b 0.9.4 foss/2021a 0.9.5 foss/2021b 0.10.3 foss/2022a"},{"location":"version-specific/supported-software/#igv","title":"IGV","text":"

                    This package contains command line utilities for preprocessing, computing feature count density (coverage), sorting, and indexing data files.

                    homepage: https://www.broadinstitute.org/software/igv/

                    version versionsuffix toolchain 2.3.68 -Java-1.7.0_80 system 2.3.80 -Java-1.7.0_80 system 2.5.0 -Java-11 system 2.8.0 -Java-11 system 2.9.4 -Java-11 system 2.12.3 -Java-11 system 2.16.0 -Java-11 system"},{"location":"version-specific/supported-software/#igv-reports","title":"igv-reports","text":"

                    Python application to generate self-contained igv.js pages that can be opened within a browser with \"file\" protocol.

                    homepage: https://github.com/igvteam/igv-reports

                    version versionsuffix toolchain 0.9.8 -Python-3.7.4 GCC/8.3.0"},{"location":"version-specific/supported-software/#igvtools","title":"IGVTools","text":"

                    This package contains command line utilities for preprocessing, computing feature count density (coverage), sorting, and indexing data files. See also http://www.broadinstitute.org/software/igv/igvtools_commandline.

                    homepage: https://software.broadinstitute.org/software/igv/igvtools

                    version versionsuffix toolchain 2.3.68 -Java-1.7.0_80 system 2.3.72 -Java-1.7.0_80 system 2.3.75 -Java-1.7.0_80 system 2.4.18 -Java-1.8 system"},{"location":"version-specific/supported-software/#iibff","title":"iibff","text":"

                    GCC and GFortran based compiler toolchain with OpenMPI, BLIS, libFLAME, ScaLAPACK and FFTW.

                    homepage: <(none)>

                    version toolchain 2020b system"},{"location":"version-specific/supported-software/#iimkl","title":"iimkl","text":"

                    Intel C/C++ and Fortran compilers, alongside Intel Math Kernel Library (MKL).

                    homepage: https://software.intel.com/en-us/intel-cluster-toolkit-compiler/

                    version toolchain 2018a system 2022b system"},{"location":"version-specific/supported-software/#iimpi","title":"iimpi","text":"

                    Intel C/C++ and Fortran compilers, alongside Intel MPI.

                    homepage: http://software.intel.com/en-us/intel-cluster-toolkit-compiler/

                    version versionsuffix toolchain 8.1.5 -GCC-4.9.3-2.25 system 2016.00 -GCC-4.9.3-2.25 system 2016.01 -GCC-4.9.3-2.25 system 2016.02 -GCC-4.9.3-2.25 system 2016.02 -GCC-5.3.0-2.26 system 2016.03 -GCC-4.9.3-2.25 system 2016.03 -GCC-5.3.0-2.26 system 2016.03 -GCC-5.4.0-2.26 system 2016b system 2017.00 -GCC-5.4.0-2.26 system 2017.01 -GCC-5.4.0-2.26 system 2017.02 -GCC-6.3.0-2.27 system 2017.09 system 2017a system 2017b system 2018.00 system 2018.01 system 2018.02 system 2018.04 system 2018a system 2018b system 2019.00 system 2019.01 system 2019.02 system 2019.03 system 2019a system 2019b system 2020.00 system 2020.06-impi-18.5 system 2020.12 system 2020a system 2020b system 2021a system 2021b system 2022.00 system 2022.05 system 2022.09 system 2022.11 system 2022.12 system 2022a system 2022b system 2023.03 system 2023a system system -GCC-system-2.29 system"},{"location":"version-specific/supported-software/#iimpic","title":"iimpic","text":"

                    Intel C/C++ and Fortran compilers, alongside Intel MPI and CUDA.

                    homepage: <(none)>

                    version toolchain 2016.10 system 2017b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#ijulia","title":"IJulia","text":"

                    Julia kernel for Jupyter

                    homepage: https://github.com/JuliaLang/IJulia.jl

                    version versionsuffix toolchain 1.23.3 -Julia-1.6.7 system 1.24.0 -Julia-1.8.5 system"},{"location":"version-specific/supported-software/#ilamb","title":"ILAMB","text":"

                    The International Land Model Benchmarking (ILAMB) project is a model-data intercomparison and integration project designed to improve the performance of land models and, in parallel, improve the design of new measurement campaigns to reduce uncertainties associated with key land surface processes.

                    homepage: https://www.ilamb.org/

                    version versionsuffix toolchain 2.5 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#ima2","title":"IMa2","text":"

                    IMa2 is a progam for population genetic analysis that can handle two or more populations.

                    homepage: https://bio.cst.temple.edu/~hey/software/software.htm#IMa2

                    version toolchain 8.27.12 foss/2016a"},{"location":"version-specific/supported-software/#ima2p","title":"IMa2p","text":"

                    IMa2p is a parallel implementation of IMa2, using OpenMPI-C++ - a Bayesian MCMC based method for inferring population demography under the IM (Isolation with Migration) model. http://dx.doi.org/10.1111/1755-0998.12437

                    homepage: https://github.com/arunsethuraman/ima2p

                    version toolchain 20151123 foss/2016a 20160804 intel/2016b"},{"location":"version-specific/supported-software/#imagecodecs","title":"imagecodecs","text":"

                    Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation, compression, and decompression functions for use in the tifffile, czifile, zarr, and other scientific image input/output modules.

                    homepage: https://github.com/cgohlke/imagecodecs

                    version toolchain 2021.8.26 foss/2020b 2022.9.26 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#imageio","title":"imageio","text":"

                    Imageio is a Python library that provides an easy interface to read and write a wide range of image data, including animated images, video, volumetric data, and scientific formats.

                    homepage: https://imageio.github.io

                    version versionsuffix toolchain 2.3.0 -Python-3.6.4 intel/2018a 2.5.0 foss/2019a 2.9.0 foss/2020b, fosscuda/2020b 2.9.0 -Python-3.7.4 foss/2019b, intel/2019b 2.10.5 foss/2021a 2.13.5 foss/2021b 2.22.2 foss/2022a"},{"location":"version-specific/supported-software/#imagej","title":"ImageJ","text":"

                    Image Processing and Analysis in Java

                    homepage: https://imagej.nih.gov/ij

                    version versionsuffix toolchain 1.51a system 1.51i system 1.51k system 1.52q -Java-1.8 system"},{"location":"version-specific/supported-software/#imagemagick","title":"ImageMagick","text":"

                    ImageMagick is a software suite to create, edit, compose, or convert bitmap images

                    homepage: https://www.imagemagick.org/

                    version versionsuffix toolchain 6.9.4-8 intel/2016a 7.0.1-6 intel/2016a 7.0.1-9 intel/2016a 7.0.2-9 intel/2016a 7.0.3-1 intel/2016b 7.0.5-4 intel/2017a 7.0.5-10 foss/2016b 7.0.7-8 -JasPer-1.900.1 intel/2017a 7.0.7-14 foss/2017b, intel/2017b 7.0.7-15 GCCcore/6.4.0 7.0.7-26 foss/2018a 7.0.7-30 GCCcore/6.4.0 7.0.7-30 -Ghostscript-9.22-cairo-1.14.12 GCCcore/6.4.0 7.0.7-39 -Ghostscript-9.23-cairo-1.14.12 GCCcore/6.4.0 7.0.8-11 GCCcore/7.3.0 7.0.8-46 GCCcore/8.2.0 7.0.9-5 GCCcore/8.3.0 7.0.10-1 GCCcore/9.3.0 7.0.10-35 GCCcore/10.2.0 7.0.11-14 GCCcore/10.3.0 7.1.0-4 GCCcore/11.2.0 7.1.0-37 GCCcore/11.3.0 7.1.0-53 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#imake","title":"imake","text":"

                    imake is a Makefile-generator that is intended to make it easier to develop software portably for multiple systems.

                    homepage: https://www.x.org/

                    version toolchain 1.0.7 intel/2016a 1.0.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#imath","title":"Imath","text":"

                    Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics

                    homepage: https://imath.readthedocs.io/en/latest/

                    version toolchain 3.1.5 GCCcore/11.3.0 3.1.6 GCCcore/12.2.0 3.1.7 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#imb","title":"IMB","text":"

                    The Intel MPI Benchmarks perform a set of MPI performance measurements for point-to-point and global communication operations for a range of message sizes

                    homepage: https://software.intel.com/en-us/articles/intel-mpi-benchmarks

                    version toolchain 4.1 foss/2016a, foss/2017a, intel/2017.02, intel/2017a 2018.1 intel/2017a 2019.3 gompi/2019a, iimpi/2019a 2021.3 gompi/2021b, gompi/2022a, gompi/2022b, iimpi/2022a, iimpi/2022b"},{"location":"version-specific/supported-software/#imbalanced-learn","title":"imbalanced-learn","text":"

                    imbalanced-learn is a Python package offering a number of re-sampling techniques commonly used in datasets showing strong between-class imbalance.

                    homepage: https://github.com/scikit-learn-contrib/imbalanced-learn

                    version versionsuffix toolchain 0.2.1 -Python-2.7.12 intel/2016b 0.2.1 -Python-3.5.2 intel/2016b 0.3.3 -Python-3.6.4 foss/2018a 0.4.3 -Python-3.6.6 foss/2018b 0.7.0 foss/2020b 0.9.0 foss/2021b 0.10.1 foss/2022a"},{"location":"version-specific/supported-software/#imgaug","title":"imgaug","text":"

                    This python library helps you with augmenting images for your machine learning projects. It converts a set of input images into a new, much larger set of slightly altered images.

                    homepage: https://imgaug.readthedocs.io/en/latest/

                    version versionsuffix toolchain 0.2.8 -Python-3.6.6 foss/2018b 0.4.0 foss/2021a, foss/2021b, foss/2022a 0.4.0 -CUDA-11.3.1 foss/2021a 0.4.0 -CUDA-11.4.1 foss/2021b 0.4.0 -CUDA-11.7.0 foss/2022a 0.4.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#imkl","title":"imkl","text":"

                    Intel oneAPI Math Kernel Library

                    homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html

                    version versionsuffix toolchain 11.2.3.187 gimpi/2.11.5 11.3.0.109 iimpi/2016.00-GCC-4.9.3-2.25 11.3.1.150 iimpi/2016.01-GCC-4.9.3-2.25, iimpi/8.1.5-GCC-4.9.3-2.25 11.3.2.181 iimpi/2016.02-GCC-4.9.3-2.25, iimpi/2016.02-GCC-5.3.0-2.26, pompi/2016.03 11.3.3.210 iimpi/2016.03-GCC-4.9.3-2.25, iimpi/2016.03-GCC-5.3.0-2.26, iimpi/2016.03-GCC-5.4.0-2.26, iimpi/2016b, iimpic/2016.10, iompi/2016.07, iompi/2016.09-GCC-4.9.3-2.25, iompi/2016.09-GCC-5.4.0-2.26, pompi/2016.04, pompi/2016.09 2017.0.098 iimpi/2017.00-GCC-5.4.0-2.26 2017.1.132 gimpi/2017a, iimpi/2017.01-GCC-5.4.0-2.26, iimpi/2017a, iompi/2017.01, iompi/2017a 2017.2.174 iimpi/2017.02-GCC-6.3.0-2.27 2017.3.196 gompi/2017b, iimpi/2017b, iimpic/2017b, iompi/2017b 2017.4.239 iimpi/2017.09 2018.0.128 iimpi/2018.00 2018.1.163 iimpi/2018.01, iimpi/2018a, iompi/2018a 2018.1.163 -serial iccifort/2018.1.163-GCC-6.4.0-2.28 2018.2.199 iimpi/2018.02, iompi/2018.02 2018.3.222 gimpi/2018b, gompi/2018b, iimpi/2018b, iompi/2018b 2018.4.274 iimpi/2018.04 2019.0.117 iimpi/2019.00 2019.1.144 gompi/2019a, iimpi/2019.01, iimpi/2019a, iimpic/2019a, iompi/2019.01 2019.2.187 iimpi/2019.02 2019.3.199 iimpi/2019.03 2019.5.281 gompi/2019b, gompic/2019b, iimpi/2019b, iimpic/2019b, iompi/2019b 2020.0.166 iimpi/2020.00 2020.1.217 gompi/2020a, iimpi/2020.06-impi-18.5, iimpi/2020a, iimpic/2020a, iompi/2020a 2020.4.304 NVHPC/21.2, gompi/2020b, gompic/2020b, iimpi/2020b, iimpic/2020b, iompi/2020b 2021.1.1 iimpi/2020.12 2021.2.0 gompi/2021a, iimpi/2021a, iompi/2021a 2021.3.0 gompi/2021a 2021.4.0 iompi/2021b, system 2022.0.1 system 2022.1.0 gompi/2022a, system 2022.2.0 system 2022.2.1 system 2023.0.0 system 2023.1.0 system"},{"location":"version-specific/supported-software/#imkl-fftw","title":"imkl-FFTW","text":"

                    FFTW interfaces using Intel oneAPI Math Kernel Library

                    homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html

                    version toolchain 2021.4.0 gompi/2021b, iimpi/2021b 2022.0.1 iimpi/2022.00 2022.1.0 iimpi/2022.05, iimpi/2022a 2022.2.0 iimpi/2022.09 2022.2.1 iimpi/2022.11, iimpi/2022b 2023.0.0 iimpi/2022.12 2023.1.0 iimpi/2023.03, iimpi/2023a"},{"location":"version-specific/supported-software/#imlib2","title":"Imlib2","text":"

                    This is the Imlib 2 library - a library that does image file loading and saving as well as rendering, manipulation, arbitrary polygon support, etc. It does ALL of these operations FAST. Imlib2 also tries to be highly intelligent about doing them, so writing naive programs can be done easily, without sacrificing speed.

                    homepage: https://docs.enlightenment.org/api/imlib2/html/

                    version toolchain 1.5.1 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#immunedeconv","title":"immunedeconv","text":"

                    immunedeconv is an R package for unified access to computational methods for estimating immune cell fractions from bulk RNA sequencing data.

                    homepage: https://github.com/icbi-lab/immunedeconv

                    version versionsuffix toolchain 2.0.2 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#imod","title":"IMOD","text":"

                    IMOD is a set of image processing, modeling and display programs used for tomographic reconstruction and for 3D reconstruction of EM serial sections and optical sections. The package contains tools for assembling and aligning data within multiple types and sizes of image stacks, viewing 3-D data from any orientation, and modeling and display of the image files. IMOD was developed primarily by David Mastronarde, Rick Gaudette, Sue Held, Jim Kremer, Quanren Xiong, and John Heumann at the University of Colorado.

                    homepage: http://bio3d.colorado.edu/imod/

                    version versionsuffix toolchain 4.7.15 _RHEL6-64_CUDA6.0 system 4.11.5 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#impi","title":"impi","text":"

                    The Intel(R) MPI Library for Linux* OS is a multi-fabric message passing library based on ANL MPICH2 and OSU MVAPICH2. The Intel MPI Library for Linux OS implements the Message Passing Interface, version 2 (MPI-2) specification.

                    homepage: http://software.intel.com/en-us/intel-mpi-library/

                    version versionsuffix toolchain 3.2.2.006 system 4.0.0.028 system 4.0.0.028 -32bit system 4.0.2.003 system 4.1.0.027 system 4.1.0.030 system 4.1.1.036 system 4.1.2.040 system 4.1.3.045 system 4.1.3.049 GCC/4.8.3, system 5.0.3.048 GCC/4.9.3 5.1.1.109 iccifort/2016.0.109-GCC-4.9.3-2.25 5.1.2.150 iccifort/2016.1.150-GCC-4.9.3-2.25 5.1.3.181 iccifort/2016.2.181-GCC-4.9.3-2.25, iccifort/2016.2.181-GCC-5.3.0-2.26, iccifort/2016.3.210-GCC-4.9.3-2.25, iccifort/2016.3.210-GCC-5.3.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26, iccifortcuda/2016.10 2017.0.098 iccifort/2017.0.098-GCC-5.4.0-2.26 2017.1.132 GCC/5.4.0-2.26, iccifort/2017.1.132-GCC-5.4.0-2.26, iccifort/2017.1.132-GCC-6.3.0-2.27 2017.2.174 iccifort/2017.2.174-GCC-6.3.0-2.27 2017.3.196 GCC/6.4.0-2.28, gcccuda/2017b, iccifort/2017.4.196-GCC-6.4.0-2.28, iccifortcuda/2017.4.196-GCC-6.4.0-2.28 2017.4.239 iccifort/2017.5.239-GCC-6.4.0-2.28 2018.0.128 iccifort/2018.0.128-GCC-6.4.0-2.28 2018.1.163 GCC/6.4.0-2.28, iccifort/2018.1.163-GCC-6.4.0-2.28 2018.2.199 iccifort/2018.2.199-GCC-6.4.0-2.28 2018.3.222 GCC/7.3.0-2.30, iccifort/2018.3.222-GCC-7.3.0-2.30 2018.4.274 iccifort/2018.5.274-GCC-7.3.0-2.30, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifortcuda/2019a 2018.5.288 iccifort/2019.5.281, iccifort/2020.1.217, iccifortcuda/2019b 2019.0.117 iccifort/2019.0.117-GCC-8.2.0-2.31.1 2019.1.144 iccifort/2019.1.144-GCC-8.2.0-2.31.1 2019.2.187 iccifort/2019.2.187-GCC-8.2.0-2.31.1 2019.3.199 iccifort/2019.3.199-GCC-8.3.0-2.32 2019.6.166 iccifort/2020.0.166-GCC-9.2.0 2019.7.217 iccifort/2020.1.217, iccifortcuda/2020a 2019.9.304 iccifort/2020.4.304, iccifortcuda/2020b 2019.12.320 iccifort/2020.4.304 2021.1.1 intel-compilers/2021.1.2 2021.2.0 intel-compilers/2021.2.0 2021.3.0 intel-compilers/2021.3.0 2021.4.0 intel-compilers/2021.4.0 2021.5.0 intel-compilers/2022.0.1 2021.6.0 intel-compilers/2022.1.0 2021.7.0 intel-compilers/2022.2.0 2021.7.1 intel-compilers/2022.2.1 2021.8.0 intel-compilers/2023.0.0 2021.9.0 intel-compilers/2023.1.0 system iccifort/system-GCC-system-2.29"},{"location":"version-specific/supported-software/#impute2","title":"IMPUTE2","text":"

                    IMPUTE version 2 (also known as IMPUTE2) is a genotype imputation and haplotype phasing program based on ideas from Howie et al. 2009

                    homepage: http://mathgen.stats.ox.ac.uk/impute/impute_v2.html

                    version versionsuffix toolchain 2.3.0 _x86_64_dynamic system 2.3.0 _x86_64_static system 2.3.2 _x86_64_dynamic system 2.3.2 _x86_64_static system"},{"location":"version-specific/supported-software/#inchi","title":"InChI","text":"

                    The IUPAC International Chemical Identifier (InChI TM) is a non-proprietary identifier for chemical substances that can be used in printed and electronic data sources thus enabling easier linking of diverse data compilations.

                    homepage: https://www.inchi-trust.org/

                    version toolchain 1.06 GCC/10.3.0"},{"location":"version-specific/supported-software/#indicators","title":"indicators","text":"
                    • Thread-safe progress bars and spinners - Header-only library. Grab a copy of include/indicators. - Single-header version in single_include/indicators.

                    homepage: https://github.com/p-ranav/indicators

                    version toolchain 2.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#inelastica","title":"Inelastica","text":"

                    Python package for eigenchannels, vibrations and inelastic electron transport based on SIESTA/TranSIESTA DFT.

                    homepage: https://github.com/tfrederiksen/inelastica

                    version versionsuffix toolchain 1.3.5 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#infercnv","title":"inferCNV","text":"

                    InferCNV is used to explore tumor single cell RNA-Seq data to identify evidence for somatic large-scale chromosomal copy number alterations, such as gains or deletions of entire chromosomes or large segments of chromosomes.

                    homepage: https://github.com/broadinstitute/inferCNV/wiki

                    version versionsuffix toolchain 1.0.4 -Python-3.7.2-R-3.6.0 foss/2019a 1.2.1 -Python-3.7.4 foss/2019b 1.3.3 foss/2020b, foss/2021a 1.3.3 -Python-3.8.2 foss/2020a 1.10.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#infercnvpy","title":"infercnvpy","text":"

                    Infer copy number variation (CNV) from scRNA-seq data. Plays nicely with Scanpy.

                    homepage: https://github.com/icbi-lab/infercnvpy

                    version toolchain 0.4.0 foss/2021b 0.4.2 foss/2022a"},{"location":"version-specific/supported-software/#inferelator","title":"Inferelator","text":"

                    Inferelator 3.0 is a package for gene regulatory network inference that is based on regularized regression.

                    homepage: https://github.com/flatironinstitute/inferelator

                    version toolchain 0.6.1 foss/2022a"},{"location":"version-specific/supported-software/#infernal","title":"Infernal","text":"

                    Infernal (\"INFERence of RNA ALignment\") is for searching DNA sequence databases for RNA structure and sequence similarities.

                    homepage: http://eddylab.org/infernal/

                    version toolchain 1.1.2 foss/2016b, foss/2018b, intel/2017a, intel/2018b 1.1.4 foss/2020b, foss/2021a, foss/2021b, foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#infomap","title":"Infomap","text":"

                    Multi-level network clustering based on the Map equation.

                    homepage: https://www.mapequation.org/code.html#Linux

                    version toolchain 20190308 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#inline","title":"inline","text":"

                    Functionality to dynamically define R functions and S4 methods with 'inlined' C, C++ or Fortran code supporting the .C and .Call calling conventions.

                    homepage: https://cran.r-project.org/web/packages/inline

                    version versionsuffix toolchain 0.3.19 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#inparanoid","title":"InParanoid","text":"

                    InParanoid: ortholog groups with inparalogs.

                    homepage: https://inparanoid.sbc.su.se

                    version toolchain 5.0-20220607 GCC/10.3.0"},{"location":"version-specific/supported-software/#inputproto","title":"inputproto","text":"

                    X.org InputProto protocol headers.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 2.3.1 foss/2016a, gimkl/2.11.5, intel/2016a 2.3.2 intel/2016a"},{"location":"version-specific/supported-software/#inspector","title":"Inspector","text":"

                    Intel Inspector is a dynamic memory and threading error checking tool for users developing serial and parallel applications

                    homepage: https://software.intel.com/en-us/inspector

                    version toolchain 2013_update6 system 2013_update7 system 2016_update3 system 2017_update1 system 2017_update2 system 2018_update1 system 2018_update2 system 2018_update3 system 2019_update2 system 2019_update5 system 2021.4.0 system 2022.0.0 system 2022.1.0 system"},{"location":"version-specific/supported-software/#intarna","title":"IntaRNA","text":"

                    Efficient RNA-RNA interaction prediction incorporating accessibility and seeding of interaction sites

                    homepage: https://github.com/BackofenLab/IntaRNA

                    version versionsuffix toolchain 2.3.1 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#integrate","title":"INTEGRATE","text":"

                    INTEGRATE is a tool calling gene fusions with exact fusion junctions and genomic breakpoints by combining RNA-Seq and WGS data. It is highly sensitive and accurate by applying a fast split-read mapping algorithm based on Burrow-Wheeler transform.

                    homepage: https://sourceforge.net/p/integrate-fusion/wiki/Home/

                    version toolchain 0.2.6 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#integrate-neo","title":"INTEGRATE-Neo","text":"

                    INTEGRATE-Neo is a gene fusion neoantigen discovering tool using next-generation sequencing data. It is written in C++ and Python.

                    homepage: <>

                    version versionsuffix toolchain 1.2.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#intel","title":"intel","text":"

                    Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL).

                    homepage: https://easybuild.readthedocs.io/en/master/Common-toolchains.html#intel-toolchain

                    version versionsuffix toolchain 2016.00 system 2016.01 system 2016.02 -GCC-4.9 system 2016.02 -GCC-5.3 system 2016.03 -GCC-4.9 system 2016.03 -GCC-5.3 system 2016.03 -GCC-5.4 system 2016a system 2016b system 2017.00 system 2017.01 system 2017.02 system 2017.09 system 2017a system 2017b system 2018.00 system 2018.01 system 2018.02 system 2018.04 system 2018a system 2018b system 2019.00 system 2019.01 system 2019.02 system 2019.03 system 2019a system 2019b system 2020.00 system 2020.06-impi-18.5 system 2020.12 system 2020a system 2020b system 2021a system 2021b system 2022.00 system 2022.05 system 2022.09 system 2022.11 system 2022.12 system 2022a system 2022b system 2023.03 system 2023a system"},{"location":"version-specific/supported-software/#intel-compilers","title":"intel-compilers","text":"

                    Intel C, C++ & Fortran compilers (classic and oneAPI)

                    homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html

                    version toolchain 2021.1.2 system 2021.2.0 system 2021.3.0 system 2021.4.0 system 2022.0.1 system 2022.0.2 system 2022.1.0 system 2022.2.0 system 2022.2.1 system 2023.0.0 system 2023.1.0 system"},{"location":"version-specific/supported-software/#intelclusterchecker","title":"IntelClusterChecker","text":"

                    Intel Cluster Checker verifies the configuration and performance of Linux OS-based clusters. Anomalies and performance differences can be identified and practical resolutions provided.

                    homepage: https://software.intel.com/en-us/cluster-checker

                    version toolchain 2017.1.016 system 2021.5.0 system"},{"location":"version-specific/supported-software/#intelcuda","title":"intelcuda","text":"

                    Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI & Intel MKL, with CUDA toolkit

                    homepage: <(none)>

                    version toolchain 2016.10 system 2017b system 2019a system 2019b system 2020a system 2020b system"},{"location":"version-specific/supported-software/#inteldaal","title":"IntelDAAL","text":"

                    Intel\u00ae Data Analytics Acceleration Library (Intel\u00ae DAAL) is the library of Intel\u00ae architecture optimized building blocks covering all stages of data analytics: data acquisition from a data source, preprocessing, transformation, data mining, modeling, validation, and decision making.

                    homepage: https://software.intel.com/en-us/daal

                    version toolchain 2019.4.007 system"},{"location":"version-specific/supported-software/#intelpython","title":"IntelPython","text":"

                    Intel\u00ae Distribution for Python. Powered by Anaconda. Accelerating Python* performance on modern architectures from Intel.

                    homepage: https://software.intel.com/en-us/intel-distribution-for-python

                    version versionsuffix toolchain 2.7.15 -2019.2.066 system 3.6.8 -2019.2.066 system"},{"location":"version-specific/supported-software/#interproscan","title":"InterProScan","text":"

                    InterProScan is a sequence analysis application (nucleotide and protein sequences) that combines different protein signature recognition methods into one resource [code only: libraries and external binaries but no data].

                    homepage: https://www.ebi.ac.uk/interpro/

                    version toolchain 5.26-65.0 intel/2017b 5.27-66.0 intel/2017b 5.28-67.0 intel/2018a 5.52-86.0 GCCcore/10.3.0 5.55-88.0 foss/2021a 5.62-94.0 foss/2022b"},{"location":"version-specific/supported-software/#interproscan_data","title":"InterProScan_data","text":"

                    InterProScan is a sequence analysis application (nucleotide and protein sequences) that combines different protein signature recognition methods into one resource [data only].

                    homepage: https://www.ebi.ac.uk/interpro/

                    version toolchain 5.55-88.0 foss/2021a"},{"location":"version-specific/supported-software/#intervaltree","title":"intervaltree","text":"

                    An interval tree can be used to efficiently find a set of numeric intervals overlapping or containing another interval. This library provides a basic implementation of an interval tree using C++ templates, allowing the insertion of arbitrary types into the tree.

                    homepage: https://github.com/ekg/intervaltree

                    version toolchain 0.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#intervaltree-python","title":"intervaltree-python","text":"

                    A mutable, self-balancing interval tree. Queries may be by point, by range overlap, or by range containment.

                    homepage: https://github.com/chaimleib/intervaltree

                    version versionsuffix toolchain 3.0.2 -Python-3.6.6 foss/2018b 3.1.0 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#intltool","title":"intltool","text":"

                    intltool is a set of tools to centralize translation of many different file formats using GNU gettext-compatible PO files.

                    homepage: http://freedesktop.org/wiki/Software/intltool/

                    version versionsuffix toolchain 0.51.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.51.0 -Perl-5.20.3 intel/2016a 0.51.0 -Perl-5.22.1 foss/2016a, intel/2016a 0.51.0 -Perl-5.24.0 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, gimkl/2017a, intel/2016b 0.51.0 -Perl-5.24.1 GCCcore/6.3.0, intel/2017a 0.51.0 -Perl-5.26.0 GCCcore/6.4.0 0.51.0 -Perl-5.26.1 GCCcore/6.4.0 0.51.0 -Perl-5.28.0 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#io_lib","title":"io_lib","text":"

                    Io_lib is a library of file reading and writing code to provide a general purpose trace file (and Experiment File) reading interface. The programmer simply calls the (eg) read_reading to create a \"Read\" C structure with the data loaded into memory. It has been compiled and tested on a variety of unix systems, MacOS X and MS Windows.

                    homepage: http://sourceforge.net/projects/staden/files/io_lib/

                    version toolchain 1.14.8 foss/2016a"},{"location":"version-specific/supported-software/#ioapi","title":"ioapi","text":"

                    The Models-3/EDSS Input/Output Applications Programming Interface (I/O API) provides the environmental model developer with an easy-to-learn, easy-to-use programming library for data storage and access, available from both Fortran and C. The same routines can be used for both file storage (using netCDF files) and model coupling (using PVM mailboxes). It is the standard data access library for both the NCSC/CMAS's EDSS project and EPA's Models-3, CMAQ, and SMOKE, as well as various other atmospheric and hydrological modeling systems.

                    homepage: https://www.cmascenter.org/ioapi/

                    version versionsuffix toolchain 3.2-2020111 -nocpl gompi/2019b"},{"location":"version-specific/supported-software/#iodata","title":"iodata","text":"

                    Python library for reading, writing, and converting computational chemistry file formats and generating input files.

                    homepage: https://github.com/theochem/iodata

                    version toolchain 1.0.0a2 intel/2022a"},{"location":"version-specific/supported-software/#iomkl","title":"iomkl","text":"

                    Compiler toolchain including Intel compilers, Open MPI and Intel Math Kernel Library (MKL).

                    homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html

                    version toolchain 2016.07 system 2016.09-GCC-4.9.3-2.25 system 2016.09-GCC-5.4.0-2.26 system 2017.01 system 2017a system 2017b system 2018.02 system 2018a system 2018b system 2019.01 system 2019b system 2020a system 2020b system 2021a system 2021b system"},{"location":"version-specific/supported-software/#iompi","title":"iompi","text":"

                    Intel C/C++ and Fortran compilers, alongside Open MPI.

                    homepage: https://software.intel.com/content/www/us/en/develop/tools/oneapi/hpc-toolkit.html

                    version toolchain 2016.07 system 2016.09-GCC-4.9.3-2.25 system 2016.09-GCC-5.4.0-2.26 system 2017.01 system 2017a system 2017b system 2018.02 system 2018a system 2018b system 2019.01 system 2019b system 2020a system 2020b system 2021a system 2021b system"},{"location":"version-specific/supported-software/#ior","title":"IOR","text":"

                    The IOR software is used for benchmarking parallel file systems using POSIX, MPIIO, or HDF5 interfaces.

                    homepage: https://github.com/hpc/ior

                    version versionsuffix toolchain 3.0.1 -mpiio foss/2016a 3.2.1 gompi/2019b 3.3.0 gompi/2020b, gompi/2021a, gompi/2022a"},{"location":"version-specific/supported-software/#iozone","title":"IOzone","text":"

                    IOzone is a filesystem benchmark tool. The benchmark generates and measures a variety of file operations. Iozone has been ported to many machines and runs under many operating systems.

                    homepage: http://www.iozone.org/

                    version toolchain 3.434 foss/2016a"},{"location":"version-specific/supported-software/#ipm","title":"IPM","text":"

                    IPM is a portable profiling infrastructure for parallel codes. It provides a low-overhead profile of application performance and resource utilization in a parallel program. Communication, computation, and IO are the primary focus.

                    homepage: https://github.com/nerscadmin/IPM

                    version toolchain 2.0.6 gompi/2019b, gompi/2020a, iimpi/2019b, iimpi/2020a, iompi/2020a"},{"location":"version-specific/supported-software/#ipopt","title":"Ipopt","text":"

                    IPOPT (Interior Point Optimizer, pronounced Eye-Pea-Opt) is an open source software package for large-scale nonlinear optimization.

                    homepage: https://projects.coin-or.org/Ipopt

                    version toolchain 3.12.9 foss/2017b 3.12.13 intel/2019a"},{"location":"version-specific/supported-software/#ipp","title":"ipp","text":"

                    Intel Integrated Performance Primitives (Intel IPP) is an extensive library of multicore-ready, highly optimized software functions for multimedia, data processing, and communications applications. Intel IPP offers thousands of optimized functions covering frequently used fundamental algorithms.

                    homepage: https://software.intel.com/en-us/articles/intel-ipp/

                    version toolchain 7.0.5.233 system 8.1.0.144 system 9.0.1.150 system 2017.1.132 system"},{"location":"version-specific/supported-software/#ipy","title":"IPy","text":"

                    Class and tools for handling of IPv4 and IPv6 addresses and networks

                    homepage: https://pypi.python.org/pypi/IPy

                    version toolchain 0.83 system"},{"location":"version-specific/supported-software/#ipympl","title":"ipympl","text":"

                    Leveraging the Jupyter interactive widgets framework, ipympl enables the interactive features of matplotlib in the Jupyter notebook and in JupyterLab. Besides, the figure canvas element is a proper Jupyter interactive widget which can be positioned in interactive widget layouts.

                    homepage: https://matplotlib.org/ipympl

                    version toolchain 0.9.3 foss/2022a"},{"location":"version-specific/supported-software/#ipyparallel","title":"ipyparallel","text":"

                    ipyparallel is a Python package and collection of CLI scripts for controlling clusters for Jupyter

                    homepage: https://ipyparallel.readthedocs.io

                    version versionsuffix toolchain 6.2.2 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#ipyrad","title":"ipyrad","text":"

                    ipyrad is an interactive toolkit for assembly and analysis of restriction-site associated genomic data sets (e.g., RAD, ddRAD, GBS) for population genetic and phylogenetic studies.

                    homepage: https://ipyrad.readthedocs.io

                    version versionsuffix toolchain 0.6.15 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#ipython","title":"IPython","text":"

                    IPython provides a rich architecture for interactive computing with: Powerful interactive shells (terminal and Qt-based). A browser-based notebook with support for code, text, mathematical expressions, inline plots and other rich media. Support for interactive data visualization and use of GUI toolkits. Flexible, embeddable interpreters to load into your own projects. Easy to use, high performance tools for parallel computing.

                    homepage: https://ipython.org/index.html

                    version versionsuffix toolchain 3.2.3 -Python-2.7.11 foss/2016a, intel/2016a 4.2.0 -Python-2.7.11 intel/2016a 5.0.0 -Python-2.7.11 foss/2016a 5.0.0 -Python-3.5.1 foss/2016a 5.1.0 -Python-2.7.12 foss/2016b, intel/2016b 5.1.0 -Python-3.5.2 intel/2016b 5.2.2 -Python-2.7.12 intel/2016b 5.3.0 -Python-2.7.13 intel/2017a 5.7.0 -Python-2.7.14 foss/2018a, intel/2018a 5.8.0 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 5.8.0 -Python-2.7.15 foss/2018b, foss/2019a, fosscuda/2018b, fosscuda/2019a, intel/2018b 5.8.0 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 5.10.0 -Python-2.7.18 foss/2021b 6.2.1 -Python-3.6.4 foss/2017a 6.3.1 -Python-3.6.4 intel/2018a 6.4.0 -Python-3.6.4 foss/2018a 7.2.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 7.7.0 -Python-3.7.2 foss/2019a, fosscuda/2019a, intel/2019a 7.9.0 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 7.13.0 -Python-3.8.2 foss/2020a, intel/2020a 7.15.0 -Python-3.8.2 foss/2020a, intel/2020a 7.18.1 GCCcore/10.2.0 7.25.0 GCCcore/10.3.0 7.26.0 GCCcore/11.2.0 8.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#iq-tree","title":"IQ-TREE","text":"

                    Efficient phylogenomic software by maximum likelihood

                    homepage: http://www.iqtree.org/

                    version versionsuffix toolchain 1.5.5 -omp-mpi foss/2016a 1.6.6 intel/2018a 1.6.12 foss/2018b, foss/2020a, intel/2019b 2.1.2 foss/2020a, gompi/2020b 2.1.3 gompi/2021a 2.2.1 gompi/2021b 2.2.2.3 gompi/2022a 2.2.2.6 gompi/2022a, gompi/2022b"},{"location":"version-specific/supported-software/#iris","title":"Iris","text":"

                    A module for improving the insertion sequences of structural variant calls

                    homepage: https://github.com/mkirsche/Iris

                    version versionsuffix toolchain 1.0.5 -Java-15 GCC/11.2.0"},{"location":"version-specific/supported-software/#irkernel","title":"IRkernel","text":"

                    The R kernel for the 'Jupyter' environment executes R code which the front-end (Jupyter Notebook or other front-ends) submits to the kernel via the network.

                    homepage: https://irkernel.github.io

                    version versionsuffix toolchain 0.8.15 -R-3.4.3-Python-2.7.14 foss/2017b, intel/2017b 1.1 -R-3.6.2-Python-3.7.4 foss/2019b, fosscuda/2019b 1.1 -R-3.6.3-Python-3.8.2 foss/2020a 1.2 -R-4.0.0-Python-3.8.2 foss/2020a 1.2 -R-4.1.0 foss/2021a 1.3 -R-4.2.0 foss/2021b 1.3.2 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#irodsfs","title":"irodsfs","text":"

                    FUSE implementation of iRODS Client written in Golang.

                    homepage: https://github.com/cyverse/irodsfs

                    version versionsuffix toolchain 0.8.9 -linux-amd64 system 0.8.11 -linux-amd64 system 0.8.12 -linux-amd64 system"},{"location":"version-specific/supported-software/#ironpython","title":"IronPython","text":"

                    IronPython is an open-source implementation of the Python programming language which is tightly integrated with the .NET Framework. IronPython can use the .NET Framework and Python libraries, and other .NET languages can use Python code just as easily.

                    homepage: http://ironpython.net/

                    version toolchain 2.7 intel/2016b"},{"location":"version-specific/supported-software/#isa-l","title":"ISA-L","text":"

                    Intelligent Storage Acceleration Library

                    homepage: https://github.com/intel/isa-l

                    version toolchain 2.30.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#isl","title":"ISL","text":"

                    isl is a library for manipulating sets and relations of integer points bounded by linear constraints.

                    homepage: http://isl.gforge.inria.fr/

                    version toolchain 0.14 GCC/4.9.2 0.15 GCC/4.9.3-2.25, GNU/4.9.3-2.25, foss/2016a 0.16 GCC/4.9.3-2.25 0.17 foss/2016a 0.23 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 0.24 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#isocirc","title":"isoCirc","text":"

                    isoCirc: computational pipeline to identify high-confidence BSJs and full-length circRNA isoforms from isoCirc long-read data

                    homepage: https://github.com/Xinglab/isoCirc

                    version toolchain 1.0.4 foss/2020b"},{"location":"version-specific/supported-software/#isonet","title":"IsoNet","text":"

                    IsoNet stands for for ISOtropic reconstructioN of Electron Tomography. It trains deep convolutional neural networks to reconstruct meaningful contents in the mis sing wedge for electron tomography, and to increase signal-to-noise ratio, using the information learned from the original tomogram. The software requires tomograms as input. Observing at about 30A resolution, the IsoNet generated tomograms are largely isotropic.

                    homepage: https://github.com/Heng-Z/IsoNet

                    version toolchain 0.1_20210822_04_674f67f fosscuda/2020b"},{"location":"version-specific/supported-software/#isoseq","title":"IsoSeq","text":"

                    IsoSeq v3 contains the newest tools to identify transcripts in PacBio single-molecule sequencing data. Starting in SMRT Link v6.0.0, those tools power the IsoSeq GUI-based analysis application. A composable workflow of existing tools and algorithms, combined with a new clustering technique, allows to process the ever-increasing yield of PacBio machines with similar performance to IsoSeq versions 1 and 2. Starting with version 3.4, support for UMI and cell barcode based deduplication has been added.

                    homepage: https://github.com/PacificBiosciences/ioseq3

                    version versionsuffix toolchain 3.8.2 -linux-x86_64 system"},{"location":"version-specific/supported-software/#ispc","title":"ispc","text":"

                    Intel SPMD Program Compilers; An open-source compiler for high-performance SIMD programming on the CPU. ispc is a compiler for a variant of the C programming language, with extensions for 'single program, multiple data' (SPMD) programming. Under the SPMD model, the programmer writes a program that generally appears to be a regular serial program, though the execution model is actually that a number of program instances execute in parallel on the hardware.

                    homepage: http://ispc.github.io/ , https://github.com/ispc/ispc/

                    version toolchain 1.6.0 system 1.10.0 system 1.12.0 system 1.16.0 system"},{"location":"version-specific/supported-software/#itac","title":"itac","text":"

                    The Intel Trace Collector is a low-overhead tracing library that performs event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application activities gathered by the Intel Trace Collector through graphical displays.

                    homepage: https://software.intel.com/en-us/intel-trace-analyzer/

                    version toolchain 8.0.0.011 system 8.1.4.045 system 9.0.3.051 system 2017.1.024 system 2018.1.017 system 2018.3.022 system 2019.2.026 system 2019.4.036 system 2021.2.0 system 2021.5.0 system 2021.6.0 system"},{"location":"version-specific/supported-software/#itk","title":"ITK","text":"

                    Insight Segmentation and Registration Toolkit (ITK) provides an extensive suite of software tools for registering and segmenting multidimensional imaging data.

                    homepage: https://itk.org

                    version versionsuffix toolchain 4.12.2 -Python-2.7.12 foss/2016b 4.13.0 -Python-2.7.14 foss/2018a 4.13.0 -Python-3.6.4 foss/2018a 4.13.1 -Python-2.7.14 foss/2018a 4.13.1 -Python-2.7.15 foss/2018b 4.13.1 -Python-3.6.4 foss/2018a 4.13.1 -Python-3.6.6 foss/2018b 4.13.1 -Python-3.7.4 foss/2019b 5.0.1 -Python-3.7.2 foss/2019a 5.0.1 -Python-3.7.4 foss/2019b 5.0b01 -Python-3.6.6 foss/2018b 5.1.2 foss/2020a, fosscuda/2020a 5.1.2 -Python-3.8.2 foss/2020a, fosscuda/2020a 5.2.1 foss/2020b, foss/2021a, foss/2021b, foss/2022a, fosscuda/2020b"},{"location":"version-specific/supported-software/#itpp","title":"itpp","text":"

                    IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simulation of communication systems and for performing research in the area of communications.

                    homepage: https://sourceforge.net/projects/itpp/

                    version toolchain 4.3.1 foss/2019b"},{"location":"version-specific/supported-software/#itstool","title":"ITSTool","text":"

                    ITS Tool allows you to translate your XML documents with PO files

                    homepage: http://itstool.org/

                    version versionsuffix toolchain 2.0.5 -Python-2.7.14 intel/2018a 2.0.5 -Python-2.7.15 foss/2018b 2.0.6 -Python-3.7.2 GCCcore/8.2.0 2.0.7 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#itsx","title":"ITSx","text":"

                    ITSx: Improved software detection and extraction of ITS1 and ITS2 from ribosomal ITS sequences of fungi and other eukaryotes for use in environmental sequencing.

                    homepage: https://microbiology.se/software/itsx/

                    version toolchain 1.1.2 GCCcore/9.3.0 1.1.3 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ivar","title":"iVar","text":"

                    iVar is a computational package that contains functions broadly useful for viral amplicon-based sequencing.

                    homepage: https://github.com/andersen-lab/ivar

                    version toolchain 1.0.1 foss/2018b 1.3.1 GCC/10.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#j","title":"J","text":"

                    JAGS - Jansson - Jasmine - JasPer - Java - JavaFX - jax - JAXFrontCE - jbigkit - Jellyfish - jemalloc - jhbuild - JiTCODE - jModelTest - Jorg - joypy - jq - json-c - json-fortran - JSON-GLib - JsonCpp - JUBE - Judy - Julia - JUnit - jupyter-contrib-nbextensions - jupyter-matlab-proxy - jupyter-resource-usage - jupyter-server - jupyter-server-proxy - JupyterHub - JupyterLab - jupyterlab-lmod - jupyterlmod - JWM - jxrlib

                    "},{"location":"version-specific/supported-software/#jags","title":"JAGS","text":"

                    JAGS is Just Another Gibbs Sampler. It is a program for analysis of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation

                    homepage: http://mcmc-jags.sourceforge.net/

                    version toolchain 4.2.0 foss/2016a, intel/2016a, intel/2017a 4.3.0 foss/2017b, foss/2018b, foss/2019a, foss/2019b, foss/2020a, foss/2020b, foss/2021a, foss/2021b, fosscuda/2020b, intel/2017b 4.3.1 foss/2022a 4.3.2 foss/2022b"},{"location":"version-specific/supported-software/#jansson","title":"Jansson","text":"

                    Jansson is a C library for encoding, decoding and manipulating JSON data. Its main features and design principles are: * Simple and intuitive API and data model * Comprehensive documentation * No dependencies on other libraries * Full Unicode support (UTF-8) * Extensive test suite

                    homepage: http://www.digip.org/jansson/

                    version toolchain 2.6 GCC/4.8.3 2.13.1 GCC/10.2.0, GCC/11.2.0 2.14 GCC/11.3.0"},{"location":"version-specific/supported-software/#jasmine","title":"Jasmine","text":"

                    SV Merging Across Samples

                    homepage: https://github.com/mkirsche/Jasmine

                    version versionsuffix toolchain 1.1.4 -Java-15 GCC/11.2.0"},{"location":"version-specific/supported-software/#jasper","title":"JasPer","text":"

                    The JasPer Project is an open-source initiative to provide a free software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.

                    homepage: https://www.ece.uvic.ca/~frodo/jasper/

                    version toolchain 1.900.1 GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/8.2.0, foss/2016a, foss/2016b, foss/2017a, intel/2016a, intel/2016b, intel/2017a 2.0.10 intel/2016b 2.0.12 GCCcore/6.4.0, foss/2016b, intel/2017a 2.0.14 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.0.16 GCCcore/9.3.0 2.0.24 GCCcore/10.2.0 2.0.28 GCCcore/10.3.0 2.0.33 GCCcore/11.2.0, GCCcore/11.3.0 4.0.0 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#java","title":"Java","text":"

                    Java Platform, Standard Edition (Java SE) lets you develop and deploy Java applications on desktops and servers.

                    homepage: https://java.com/

                    version versionsuffix toolchain 1.6.0_24 system 1.7.0_10 system 1.7.0_15 system 1.7.0_21 system 1.7.0_40 system 1.7.0_45 system 1.7.0_60 system 1.7.0_75 system 1.7.0_76 system 1.7.0_79 system 1.7.0_80 system 1.8 system 1.8.0_20 system 1.8.0_25 system 1.8.0_31 system 1.8.0_40 system 1.8.0_45 system 1.8.0_60 system 1.8.0_65 system 1.8.0_66 system 1.8.0_72 system 1.8.0_74 system 1.8.0_77 system 1.8.0_92 system 1.8.0_112 system 1.8.0_121 system 1.8.0_131 system 1.8.0_141 system 1.8.0_144 system 1.8.0_152 system 1.8.0_162 system 1.8.0_172 system 1.8.0_181 system 1.8.0_192 system 1.8.0_202 system 1.8.0_212 system 1.8.0_221 system 1.8.0_231 system 1.8.0_241 system 1.8.0_271 system 1.8.0_281 system 1.8.0_292 -OpenJDK system 1.8.0_311 system 1.8_191 -b26-OpenJDK system 1.8_265 -b01-OpenJDK-aarch64 system 1.9.0.4 system 8 system 8.345 system 8.362 system 11 system 11.0.2 system 11.0.6 -ppc64le system 11.0.8 -aarch64 system 11.0.16 system 11.0.18 system 13 system 13.0.2 system 15 system 15.0.1 system 16 system 16.0.1 system 17 system 17.0.1 system 17.0.2 system 17.0.4 system 17.0.6 system"},{"location":"version-specific/supported-software/#javafx","title":"JavaFX","text":"

                    OpenJFX is an open source, next generation client application platform for desktop, mobile and embedded systems built on Java

                    homepage: https://openjfx.io/

                    version versionsuffix toolchain 11.0.2 _linux-x64_bin-sdk system"},{"location":"version-specific/supported-software/#jax","title":"jax","text":"

                    Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more

                    homepage: https://pypi.python.org/pypi/jax

                    version versionsuffix toolchain 0.2.19 foss/2020b, fosscuda/2020b 0.2.20 foss/2021a 0.2.24 foss/2021a 0.2.24 -CUDA-11.3.1 foss/2021a 0.3.9 foss/2021a 0.3.9 -CUDA-11.3.1 foss/2021a 0.3.14 -CUDA-11.7.0 foss/2022a 0.3.23 foss/2022a 0.3.23 -CUDA-11.4.1 foss/2021b 0.3.25 foss/2022a 0.3.25 -CUDA-11.7.0 foss/2022a 0.4.4 foss/2022a 0.4.4 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#jaxfrontce","title":"JAXFrontCE","text":"

                    JAXFront is a technology to generate graphical user interfaces on multiple channels (Java Swing, HTML, PDF) on the basis of an XML schema.

                    homepage: http://www.jaxfront.org/pages/free_community_edition.html

                    version toolchain 2.75 system"},{"location":"version-specific/supported-software/#jbigkit","title":"jbigkit","text":"

                    JBIG-KIT is a software implementation of the JBIG1 data compression standard (ITU-T T.82), which was designed for bi-level image data, such as scanned documents.

                    homepage: https://www.cl.cam.ac.uk/~mgk25/jbigkit/

                    version toolchain 2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#jellyfish","title":"Jellyfish","text":"

                    Jellyfish is a tool for fast, memory-efficient counting of k-mers in DNA.

                    homepage: http://www.genome.umd.edu/jellyfish.html

                    version toolchain 1.1.11 foss/2016a, foss/2016b 1.1.12 foss/2018b, intel/2018a 2.2.6 foss/2016b, intel/2017a 2.2.10 foss/2018b, intel/2018a 2.3.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/8.2.0-2.31.1, GCC/8.3.0"},{"location":"version-specific/supported-software/#jemalloc","title":"jemalloc","text":"

                    jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support.

                    homepage: http://jemalloc.net

                    version toolchain 4.1.0 intel/2016a 4.2.0 foss/2016a, intel/2016a 4.2.1 intel/2016b 4.5.0 intel/2017a 5.0.1 GCCcore/6.4.0 5.1.0 GCCcore/7.3.0 5.2.0 GCCcore/8.2.0 5.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0 5.3.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#jhbuild","title":"jhbuild","text":"

                    JHBuild allows you to automatically download and compile \u201cmodules\u201d (i.e. source code packages). Modules are listed in \u201cmodule set\u201d files, which also include dependency information so that JHBuild can discover what modules need to be built and in what order.

                    homepage: https://wiki.gnome.org/action/show/Projects/Jhbuild

                    version toolchain 3.15.92 GCCcore/4.9.3"},{"location":"version-specific/supported-software/#jitcode","title":"JiTCODE","text":"

                    Just-in-time compilation for ordinary/delay/stochastic differential equations (DDEs)

                    homepage: https://jitcde-common.readthedocs.io

                    version versionsuffix toolchain 1.3.2 -Python-3.6.4 intel/2018a 1.4.0 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#jmodeltest","title":"jModelTest","text":"

                    jModelTest is a tool to carry out statistical selection of best-fit models of nucleotide substitution.

                    homepage: https://github.com/ddarriba/jmodeltest2

                    version versionsuffix toolchain 2.1.10r20160303 -Java-1.8.0_92 system"},{"location":"version-specific/supported-software/#jorg","title":"Jorg","text":"

                    A MAG Circularization Method By Lauren Lui, Torben Nielsen, and Adam Arkin

                    homepage: https://github.com/lmlui/Jorg

                    version toolchain 1.0.1 foss/2020b"},{"location":"version-specific/supported-software/#joypy","title":"joypy","text":"

                    Joyplots in Python with matplotlib & pandas

                    homepage: https://github.com/sbebo/joypy

                    version versionsuffix toolchain 0.2.2 -Python-3.7.4 intel/2019b 0.2.4 intel/2020b"},{"location":"version-specific/supported-software/#jq","title":"jq","text":"

                    jq is a lightweight and flexible command-line JSON processor.

                    homepage: https://stedolan.github.io/jq/

                    version toolchain 1.5 GCCcore/10.2.0, GCCcore/6.4.0 1.6 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#json-c","title":"json-c","text":"

                    JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON objects.

                    homepage: https://github.com/json-c/json-c

                    version toolchain 0.15 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 0.16 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#json-fortran","title":"json-fortran","text":"

                    JSON-Fortran: A Modern Fortran JSON API

                    homepage: https://github.com/jacobwilliams/json-fortran

                    version toolchain 8.3.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#json-glib","title":"JSON-GLib","text":"

                    JSON-GLib implements a full JSON parser and generator using GLib and GObject, and integrates JSON with GLib data types.

                    homepage: https://wiki.gnome.org/Projects/JsonGlib

                    version toolchain 1.6.2 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#jsoncpp","title":"JsonCpp","text":"

                    JsonCpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings. It can also preserve existing comment in unserialization/serialization steps, making it a convenient format to store user input files.

                    homepage: https://open-source-parsers.github.io/jsoncpp-docs/doxygen/index.html

                    version toolchain 0.10.7 GCCcore/8.2.0 1.9.3 GCCcore/8.3.0 1.9.4 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 1.9.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jube","title":"JUBE","text":"

                    The JUBE benchmarking environment provides a script based framework to easily create benchmark sets, run those sets on different computer systems and evaluate the results.

                    homepage: https://www.fz-juelich.de/jsc/jube

                    version toolchain 2.0.3 system 2.0.4 system 2.0.5 system 2.4.0 system 2.4.1 system 2.4.2 system"},{"location":"version-specific/supported-software/#judy","title":"Judy","text":"

                    A C library that implements a dynamic array.

                    homepage: http://judy.sourceforge.net/

                    version toolchain 1.0.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/8.2.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#julia","title":"Julia","text":"

                    Julia is a high-level, high-performance dynamic programming language for numerical computing

                    homepage: https://julialang.org

                    version versionsuffix toolchain 1.1.1 -linux-x86_64 system 1.2.0 -linux-x86_64 system 1.3.1 -linux-x86_64 system 1.4.0 -linux-x86_64 system 1.4.1 -linux-x86_64 system 1.4.2 -linux-x86_64 system 1.5.1 -linux-x86_64 system 1.5.3 -linux-x86_64 system 1.6.1 -linux-x86_64 system 1.6.2 -linux-x86_64 system 1.6.4 -linux-x86_64 system 1.6.5 -linux-x86_64 system 1.6.6 -linux-x86_64 system 1.6.7 -linux-x86_64 system 1.7.0 -linux-x86_64 system 1.7.1 -linux-x86_64 system 1.7.2 -linux-x86_64 system 1.7.3 -linux-x86_64 system 1.8.0 -linux-x86_64 system 1.8.2 -linux-x86_64 system 1.8.5 -linux-x86_64 system 1.9.0 -linux-x86_64 system"},{"location":"version-specific/supported-software/#junit","title":"JUnit","text":"

                    A programmer-oriented testing framework for Java.

                    homepage: http://sourceforge.net/projects/junit

                    version versionsuffix toolchain 4.10 -Java-1.7.0_10 system 4.10 -Java-1.7.0_21 system 4.11 -Java-1.7.0_15 system 4.11 -Java-1.7.0_21 system 4.11 -Java-1.7.0_60 system 4.11 -Java-1.7.0_75 system 4.11 -Java-1.7.0_79 system 4.12 -Java-1.7.0_80 system 4.12 -Java-1.8 system 4.12 -Java-1.8.0_112 system 4.12 -Java-1.8.0_121 system 4.12 -Java-1.8.0_144 system 4.12 -Java-1.8.0_152 system 4.12 -Java-1.8.0_162 system 4.12 -Java-1.8.0_66 system 4.12 -Java-1.8.0_72 system 4.12 -Java-1.8.0_77 system 4.12 -Java-1.8.0_92 system"},{"location":"version-specific/supported-software/#jupyter-contrib-nbextensions","title":"jupyter-contrib-nbextensions","text":"

                    A collection of various notebook extensions for Jupyter

                    homepage: https://github.com/ipython-contrib/jupyter_contrib_nbextensions

                    version toolchain 0.7.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyter-matlab-proxy","title":"jupyter-matlab-proxy","text":"

                    MATLAB Integration for Jupyter

                    homepage: https://github.com/mathworks/jupyter-matlab-proxy

                    version toolchain 0.3.4 GCCcore/10.3.0 0.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyter-resource-usage","title":"jupyter-resource-usage","text":"

                    Jupyter Notebook Extension for monitoring your own Resource Usage (memory and/or CPU)

                    homepage: https://github.com/jupyter-server/jupyter-resource-usage

                    version toolchain 0.6.1 GCCcore/10.3.0 0.6.2 GCCcore/10.3.0 0.6.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyter-server","title":"jupyter-server","text":"

                    The Jupyter Server provides the backend (i.e. the core services, APIs, and REST endpoints) for Jupyter web applications like Jupyter notebook, JupyterLab, and Voila.

                    homepage: https://jupyter.org/

                    version toolchain 1.21.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyter-server-proxy","title":"jupyter-server-proxy","text":"

                    Jupyter Server Proxy lets you run arbitrary external processes (such as RStudio, Shiny Server, Syncthing, PostgreSQL, Code Server, etc) alongside your notebook server and provide authenticated web access to them using a path like /rstudio next to others like /lab. Alongside the python package that provides the main functionality, the JupyterLab extension (@jupyterlab/server-proxy) provides buttons in the JupyterLab launcher window to get to RStudio for example.

                    homepage: https://github.com/jupyterhub/jupyter-server-proxy

                    version toolchain 3.2.1 GCCcore/10.3.0 3.2.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyterhub","title":"JupyterHub","text":"

                    JupyterHub is a multiuser version of the Jupyter (IPython) notebook designed for centralized deployments in companies, university classrooms and research labs.

                    homepage: https://jupyter.org

                    version versionsuffix toolchain 0.6.1 -Python-3.5.1 foss/2016a 0.8.1 -Python-3.6.4 foss/2017a 1.1.0 GCCcore/10.2.0 1.4.1 GCCcore/10.3.0 3.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyterlab","title":"JupyterLab","text":"

                    JupyterLab is the next-generation user interface for Project Jupyter offering all the familiar building blocks of the classic Jupyter Notebook (notebook, terminal, text editor, file browser, rich outputs, etc.) in a flexible and powerful user interface. JupyterLab will eventually replace the classic Jupyter Notebook.

                    homepage: https://jupyter.org/

                    version versionsuffix toolchain 1.2.5 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.2.8 GCCcore/10.2.0 3.0.16 GCCcore/10.3.0 3.1.6 GCCcore/11.2.0 3.2.8 GCCcore/10.3.0 3.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyterlab-lmod","title":"jupyterlab-lmod","text":"

                    JupyterLab extension that allows user to interact with environment modules before launching kernels. The extension use Lmod's Python interface to accomplish module related task like loading, unloading, saving collection, etc.

                    homepage: https://github.com/cmd-ntrf/jupyter-lmod

                    version toolchain 1.0.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jupyterlmod","title":"jupyterlmod","text":"

                    Jupyter interactive notebook server extension that allows users to interact with environment modules before launching kernels. The extension uses Lmod's Python interface to accomplish module-related tasks like loading, unloading, saving collections, etc.

                    homepage: https://github.com/cmd-ntrf/jupyter-lmod

                    version toolchain 3.0.0 GCCcore/11.3.0 4.0.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#jwm","title":"JWM","text":"

                    JWM is a light-weight window manager for the X11 Window System.

                    homepage: https://joewing.net/projects/jwm/

                    version toolchain 2.3.5 intel/2016a"},{"location":"version-specific/supported-software/#jxrlib","title":"jxrlib","text":"

                    Open source implementation of jpegxr

                    homepage: https://github.com/4creators/jxrlib

                    version toolchain 1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#k","title":"K","text":"

                    KaHIP - Kaiju - Kaleido - Kalign - kallisto - KAT - kb-python - kbproto - kedro - Kent_tools - Keras - KerasTuner - khmer - kim-api - kineto - king - KITE - kma - KMC - KMCP - KmerGenie - KNIME - kpcalg - Kraken - Kraken2 - KrakenUniq - Kratos - krbalancing - KronaTools - kwant - KWIML - kWIP - KyotoCabinet

                    "},{"location":"version-specific/supported-software/#kahip","title":"KaHIP","text":"

                    The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning.

                    homepage: https://kahip.github.io/

                    version toolchain 3.14 gompi/2022a, gompi/2022b"},{"location":"version-specific/supported-software/#kaiju","title":"Kaiju","text":"

                    Kaiju is a program for sensitive taxonomic classification of high-throughput sequencing reads from metagenomic whole genome sequencing experiments

                    homepage: http://kaiju.binf.ku.dk/

                    version versionsuffix toolchain 1.5.0 intel/2016b 1.7.2 -Python-3.7.2 iimpi/2019a 1.7.3 -Python-3.7.4 gompi/2019b"},{"location":"version-specific/supported-software/#kaleido","title":"Kaleido","text":"

                    Fast static image export for web-based visualization libraries with zero dependencies

                    homepage: https://github.com/plotly/Kaleido

                    version toolchain 0.1.0 GCCcore/10.2.0 0.2.1 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kalign","title":"Kalign","text":"

                    Kalign is a fast multiple sequence alignment program for biological sequences.

                    homepage: https://github.com/TimoLassmann/kalign

                    version toolchain 2.0.4 GCCcore/10.2.0 3.3.1 GCCcore/10.2.0, GCCcore/10.3.0 3.3.2 GCCcore/11.2.0 3.3.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kallisto","title":"kallisto","text":"

                    kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads.

                    homepage: https://pachterlab.github.io/kallisto/

                    version toolchain 0.42.5 foss/2016a 0.43.0 intel/2016b 0.43.1 foss/2016b, intel/2017a, intel/2017b 0.44.0 foss/2016b, intel/2018a 0.45.0 foss/2018b 0.45.1 foss/2019a 0.46.0 intel/2019a 0.46.1 foss/2019b, iimpi/2020a, iimpi/2020b 0.46.2 foss/2020b 0.48.0 gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#kat","title":"KAT","text":"

                    The K-mer Analysis Toolkit (KAT) contains a number of tools that analyse and compare K-mer spectra.

                    homepage: https://www.earlham.ac.uk/kat-tools

                    version versionsuffix toolchain 2.4.2 -Python-3.6.4 foss/2018a 2.4.2 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#kb-python","title":"kb-python","text":"

                    kallisto | bustools is a workflow for pre-processing single-cell RNA-seq data. Pre-processing single-cell RNA-seq involves: (1) association of reads with their cells of origin, (2) collapsing of reads according to unique molecular identifiers (UMIs), and (3) generation of gene or feature counts from the reads to generate a cell x gene matrix.

                    homepage: https://www.kallistobus.tools/

                    version toolchain 0.27.3 foss/2021b"},{"location":"version-specific/supported-software/#kbproto","title":"kbproto","text":"

                    X.org KBProto protocol headers.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.0.7 foss/2016a, gimkl/2.11.5, intel/2016a, intel/2017b"},{"location":"version-specific/supported-software/#kedro","title":"kedro","text":"

                    Kedro is an open-source Python framework that applies software engineering best-practice to data and machine-learning pipelines.

                    homepage: https://github.com/quantumblacklabs/kedro

                    version versionsuffix toolchain 0.16.5 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#kent_tools","title":"Kent_tools","text":"

                    Kent utilities: collection of tools used by the UCSC genome browser.

                    homepage: https://genome.cse.ucsc.edu/

                    version versionsuffix toolchain 401 gompi/2019b 411 GCC/10.2.0 418 GCC/10.3.0 422 GCC/11.2.0 442 GCC/11.3.0 20130806 -linux.x86_64 system 20171107 -linux.x86_64 system 20180716 -linux.x86_64 system 20190326 -linux.x86_64 system"},{"location":"version-specific/supported-software/#keras","title":"Keras","text":"

                    Keras is a deep learning API written in Python, running on top of the machine learning platform TensorFlow.

                    homepage: https://keras.io/

                    version versionsuffix toolchain 1.0.8 -Python-3.5.2 intel/2016b 1.1.0 -Python-3.5.2 intel/2016b 2.0.4 -Python-2.7.13 intel/2017a 2.0.4 -Python-3.6.1 intel/2017a 2.0.5 -Python-3.6.1 intel/2017a 2.0.8 -Python-3.6.1 intel/2017a 2.1.1 -Python-2.7.14 intel/2017b 2.1.1 -Python-3.6.3 intel/2017b 2.1.2 -Python-2.7.14 intel/2017b 2.1.2 -Python-3.6.3 foss/2017b 2.1.3 -Python-3.6.3 foss/2017b, intel/2017b 2.2.0 -Python-2.7.14 fosscuda/2017b 2.2.0 -Python-3.6.3 fosscuda/2017b 2.2.0 -Python-3.6.4 foss/2018a 2.2.2 -Python-2.7.15 fosscuda/2018b 2.2.4 -Python-3.6.4 intel/2018a 2.2.4 -Python-3.6.6 foss/2018b, fosscuda/2018b 2.2.4 -Python-3.7.2 foss/2019a, fosscuda/2019a 2.3.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.3.1 -Python-3.8.2 foss/2020a 2.4.3 foss/2020b, fosscuda/2020b 2.4.3 -TensorFlow-2.5.0 fosscuda/2020b"},{"location":"version-specific/supported-software/#kerastuner","title":"KerasTuner","text":"

                    KerasTuner is an easy-to-use, scalable hyperparameter optimization framework that solves the pain points of hyperparameter search.

                    homepage: https://keras.io/keras_tuner

                    version toolchain 1.3.5 foss/2022a"},{"location":"version-specific/supported-software/#khmer","title":"khmer","text":"

                    In-memory nucleotide sequence k-mer counting, filtering, graph traversal and more

                    homepage: https://github.com/ged-lab/khmer/

                    version versionsuffix toolchain 1.4.1 -Python-2.7.12 foss/2016b 2.1.1 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#kim-api","title":"kim-api","text":"

                    Open Knowledgebase of Interatomic Models. KIM is an API and OpenKIM is a collection of interatomic models (potentials) for atomistic simulations. This is a library that can be used by simulation programs to get access to the models in the OpenKIM database. This EasyBuild only installs the API, the models can be installed with the package openkim-models, or the user can install them manually by running kim-api-collections-management install user MODELNAME or kim-api-collections-management install user OpenKIM to install them all.

                    homepage: https://openkim.org/

                    version toolchain 2.1.2 foss/2019a, intel/2019a 2.1.3 foss/2019b, foss/2020a, intel/2019b, intel/2020a 2.2.1 GCCcore/10.2.0, GCCcore/10.3.0 2.3.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kineto","title":"kineto","text":"

                    A CPU+GPU Profiling library that provides access to timeline traces and hardware performance counters

                    homepage: https://github.com/pytorch/kineto

                    version toolchain 0.4.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#king","title":"king","text":"

                    KING is a toolset that makes use of high-throughput SNP data typically seen in a genome-wide association study (GWAS) or a sequencing project. Applications of KING include family relationship inference and pedigree error checking, quality control, population substructure identification, forensics, gene mapping, etc.

                    homepage: https://kingrelatedness.com/

                    version toolchain 2.2.4 system 2.2.7 system"},{"location":"version-specific/supported-software/#kite","title":"KITE","text":"

                    KITE is an open-source Python/C++ software suite for efficient real-space tight-binding (TB) simulations of electronic structure and bulk quantum transport properties of disordered systems scalable to multi billions of atomic orbitals.

                    homepage: https://github.com/quantum-kite/kite

                    version toolchain 1.1 gompi/2022a"},{"location":"version-specific/supported-software/#kma","title":"kma","text":"

                    KMA is a mapping method designed to map raw reads directly against redundant databases, in an ultra-fast manner using seed and extend.

                    homepage: https://bitbucket.org/genomicepidemiology/kma

                    version toolchain 1.2.22 intel/2019b"},{"location":"version-specific/supported-software/#kmc","title":"KMC","text":"

                    KMC is a disk-based programm for counting k-mers from (possibly gzipped) FASTQ/FASTA files.

                    homepage: http://sun.aei.polsl.pl/kmc

                    version versionsuffix toolchain 3.1.0 foss/2018a, foss/2018b 3.1.1 -Python-3.7.2 GCC/8.2.0-2.31.1 3.1.2rc1 -Python-3.7.4 GCC/8.3.0 3.2.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#kmcp","title":"KMCP","text":"

                    KMCP: accurate metagenomic profiling of both prokaryotic and viral populations by pseudo-mapping

                    homepage: https://bioinf.shenwei.me/kmcp

                    version toolchain 0.9.1 system"},{"location":"version-specific/supported-software/#kmergenie","title":"KmerGenie","text":"

                    KmerGenie estimates the best k-mer length for genome de novo assembly.

                    homepage: http://kmergenie.bx.psu.edu/

                    version toolchain 1.7044 intel/2017a 1.7048 intel/2018a"},{"location":"version-specific/supported-software/#knime","title":"KNIME","text":"

                    KNIME Analytics Platform is the open source software for creating data science applications and services. KNIME stands for KoNstanz Information MinEr.

                    homepage: https://www.knime.com/

                    version toolchain 3.6.2 system"},{"location":"version-specific/supported-software/#kpcalg","title":"kpcalg","text":"

                    Kernel PC (kPC) algorithm for causal structure learning and causal inference using graphical models. kPC is a version of PC algorithm that uses kernel based independence criteria in order to be able to deal with non-linear relationships and non-Gaussian noise. Includes pcalg: Functions for causal structure learning and causal inference using graphical models.

                    homepage: https://cran.r-project.org/package=kpcalg

                    version versionsuffix toolchain 1.0.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#kraken","title":"Kraken","text":"

                    Kraken is a system for assigning taxonomic labels to short DNA sequences, usually obtained through metagenomic studies. Previous attempts by other bioinformatics software to accomplish this task have often used sequence alignment or machine learning techniques that were quite slow, leading to the development of less sensitive but much faster abundance estimation programs. Kraken aims to achieve high sensitivity and high speed by utilizing exact alignments of k-mers and a novel classification algorithm.

                    homepage: https://ccb.jhu.edu/software/kraken/

                    version versionsuffix toolchain 0.10.5-beta -Perl-5.22.1 foss/2016a 0.10.5-beta -Perl-5.24.0 foss/2016b 1.0 -Perl-5.26.1 intel/2018a 1.1 -Perl-5.28.0 foss/2018b 1.1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/9.3.0 1.1.1 -Perl-5.28.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#kraken2","title":"Kraken2","text":"

                    Kraken is a system for assigning taxonomic labels to short DNA sequences, usually obtained through metagenomic studies. Previous attempts by other bioinformatics software to accomplish this task have often used sequence alignment or machine learning techniques that were quite slow, leading to the development of less sensitive but much faster abundance estimation programs. Kraken aims to achieve high sensitivity and high speed by utilizing exact alignments of k-mers and a novel classification algorithm.

                    homepage: https://github.com/DerrickWood/kraken2/wiki

                    version versionsuffix toolchain 2.0.6-beta -Perl-5.26.1 foss/2018a 2.0.7-beta -Perl-5.28.0 foss/2018b 2.0.8-beta -Perl-5.30.0 gompi/2019b 2.0.9-beta -Perl-5.28.0 foss/2018b 2.0.9-beta -Perl-5.30.2 gompi/2020a 2.1.1 gompi/2020b 2.1.2 gompi/2021a, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#krakenuniq","title":"KrakenUniq","text":"

                    KrakenUniq: confident and fast metagenomics classification using unique k-mer counts

                    homepage: https://github.com/fbreitwieser/krakenuniq/

                    version toolchain 1.0.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#kratos","title":"Kratos","text":"

                    Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software.

                    homepage: https://www.cimne.com/kratos

                    version versionsuffix toolchain 6.0 -Python-3.6.4 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#krbalancing","title":"krbalancing","text":"

                    A C++ extension for Python which computes K.R. balanced matrices.

                    homepage: https://github.com/deeptools/Knight-Ruiz-Matrix-balancing-algorithm

                    version toolchain 0.5.0b0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kronatools","title":"KronaTools","text":"

                    Krona Tools is a set of scripts to create Krona charts from several Bioinformatics tools as well as from text and XML files.

                    homepage: https://github.com/marbl/Krona/wiki/KronaTools

                    version toolchain 2.7 GCCcore/7.3.0 2.7.1 GCCcore/8.2.0 2.8 GCC/10.3.0, GCCcore/10.2.0 2.8.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#kwant","title":"kwant","text":"

                    Kwant is a free (open source), powerful, and easy to use Python package for numerical calculations on tight-binding models with a strong focus on quantum transport.

                    homepage: https://kwant-project.org/

                    version versionsuffix toolchain 1.4.1 -Python-3.7.2 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#kwiml","title":"KWIML","text":"

                    The Kitware Information Macro Library

                    homepage: https://gitlab.kitware.com/utils/kwiml

                    version toolchain 20180201 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#kwip","title":"kWIP","text":"

                    This software implements a de novo, alignment free measure of sample genetic dissimilarity which operates upon raw sequencing reads. It is able to calculate the genetic dissimilarity between samples without any reference genome, and without assembling one.

                    homepage: https://github.com/kdmurray91/kWIP

                    version toolchain 0.2.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#kyotocabinet","title":"KyotoCabinet","text":"

                    Kyoto Cabinet is a library of routines for managing a database.

                    homepage: https://fallabs.com/kyotocabinet

                    version toolchain 1.2.77 GCCcore/7.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#l","title":"L","text":"

                    L_RNA_scaffolder - Lace - LADR - lagrangian-filtering - LAME - LAMMPS - lancet - LAPACK - LASSO-Python - LAST - LASTZ - lavaan - LayoutParser - LBFGS++ - LCov - LDC - lDDT - LeadIT - leidenalg - LEMON - Leptonica - LERC - less - LevelDB - lftp - LHAPDF - LIANA - libaec - libaio - libarchive - libav - libavif - libBigWig - libbitmask - libcdms - libcerf - libcint - libcircle - libcmaes - libconfig - libcpuset - libcroco - libctl - libdap - libde265 - libdeflate - libdivsufsort - libdrm - libdrs - libdwarf - libedit - libelf - libemf - libepoxy - libev - libevent - libexif - libfabric - libfdf - libffcall - libffi - libFLAME - libfontenc - libgcrypt - libgd - libgdiplus - libGDSII - libgeotiff - libgit2 - libglade - libGLU - libglvnd - libgpg-error - libgpuarray - libGridXC - libgtextutils - libharu - libheif - libibmad - libibumad - libICE - libiconv - libidn - libidn2 - Libint - LiBis - libjpeg-turbo - libjxl - LibLZF - libmad - libmatheval - libmaus2 - libmbd - libMemcached - libmicrohttpd - libmo_unpack - libmypaint - libnsl - libobjcryst - libogg - libopus - libosmium - libpci - libpciaccess - libplinkio - libpng - libpsl - libPSML - libpsortb - libpspio - libpthread-stubs - libQGLViewer - libreadline - libRmath - librosa - librsb - librsvg - librttopo - libsamplerate - libSBML - libsigc++ - libsigsegv - libSM - libsndfile - libsodium - LibSoup - libspatialindex - libspatialite - libssh - libStatGen - LIBSVM - libtar - libtasn1 - libtecla - LibTIFF - libtirpc - libtool - libtree - libunistring - libunwind - libutempter - LibUUID - libuv - libvdwxc - libvorbis - libWallModelledLES - libwebp - libwpe - libX11 - libXau - libxc - libxcb - libXcursor - libXdamage - libXdmcp - libXext - libXfixes - libXfont - libXft - libXi - libXinerama - libxkbcommon - libxml++ - libxml2 - libxml2-python - libXmu - libXp - libXpm - libXrandr - libXrender - libxslt - libxsmm - libXt - libXxf86vm - libyaml - libzeep - libzip - lie_learn - lifelines - Lighter - liknorm - likwid - limix - LinBox - line_profiler - Lingeling - LISFLOOD-FP - LittleCMS - LLDB - LLVM - LMDB - LMfit - Lmod - LncLOOM - LocARNA - LoFreq - Log-Log4perl - logaddexp - LOHHLA - Loki - longestrunsubsequence - longread_umi - Longshot - loompy - loomR - LoRDEC - LPeg - LPJmL - lpsolve - lrslib - LS-PrePost - LSD2 - LSMS - LTR_retriever - LtrDetector - Lua - LuaJIT - LuaJIT2-OpenResty - LuaRocks - Lucene-Geo-Gazetteer - LUMPY - LUSCUS - lwgrp - lxml - lynx - lz4 - LZO

                    "},{"location":"version-specific/supported-software/#l_rna_scaffolder","title":"L_RNA_scaffolder","text":"

                    L_RNA_scaffolder is a genome scaffolding tool with long trancriptome reads

                    homepage: https://github.com/CAFS-bioinformatics/L_RNA_scaffolder

                    version versionsuffix toolchain 20141124 -Perl-5.24.0 intel/2016b 20190530 GCC/11.3.0"},{"location":"version-specific/supported-software/#lace","title":"Lace","text":"

                    Building SuperTranscripts: A linear representation of transcriptome data

                    homepage: https://github.com/Oshlack/Lace

                    version toolchain 1.14.1 foss/2022a"},{"location":"version-specific/supported-software/#ladr","title":"LADR","text":"

                    Prover9, Mace4, and several related programs come packaged in a system called LADR (Library for Automated Deduction Research).

                    homepage: https://www.cs.unm.edu/~mccune/mace4/download

                    version toolchain 2009-11A GCCcore/10.2.0"},{"location":"version-specific/supported-software/#lagrangian-filtering","title":"lagrangian-filtering","text":"

                    Temporal filtering of data in a Lagrangian frame of reference.

                    homepage: https://github.com/angus-g/lagrangian-filtering

                    version toolchain 0.8.3 foss/2022a"},{"location":"version-specific/supported-software/#lame","title":"LAME","text":"

                    LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.

                    homepage: http://lame.sourceforge.net/

                    version toolchain 3.99.5 foss/2016b, intel/2017a 3.100 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2017b"},{"location":"version-specific/supported-software/#lammps","title":"LAMMPS","text":"

                    LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for solid-state materials (metals, semiconductors) and soft matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale. LAMMPS runs on single processors or in parallel using message-passing techniques and a spatial-decomposition of the simulation domain. The code is designed to be easy to modify or extend with new functionality.

                    homepage: https://lammps.sandia.gov/

                    version versionsuffix toolchain 3Mar2020 -Python-3.7.4-kokkos foss/2019b, intel/2019b 3Mar2020 -Python-3.8.2-kokkos foss/2020a, intel/2020a 7Aug2019 -Python-3.7.4-kokkos foss/2019b, intel/2019b 7Aug2019 -Python-3.7.4-kokkos-OCTP intel/2019b 23Jun2022 -kokkos foss/2021a, foss/2021b, foss/2022a 23Jun2022 -kokkos-CUDA-11.3.1 foss/2021a 23Jun2022 -kokkos-CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#lancet","title":"lancet","text":"

                    Lancet is a somatic variant caller (SNVs and indels) for short read data.

                    homepage: https://github.com/nygenome/lancet

                    version toolchain 1.1.0 iccifort/2019.5.281"},{"location":"version-specific/supported-software/#lapack","title":"LAPACK","text":"

                    LAPACK is written in Fortran90 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems.

                    homepage: https://www.netlib.org/lapack/

                    version toolchain 3.8.0 GCC/7.3.0-2.30 3.9.1 GCC/10.2.0 3.10.1 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#lasso-python","title":"LASSO-Python","text":"

                    This python library is designed for general purpose usage in the field of Computer Aided Engineering (CAE). It's name originates from the original initiator and donator of the project Lasso GmbH. The library is now maintained by an open-source community.

                    homepage: https://open-lasso-python.github.io/lasso-python/

                    version toolchain 2.0.0 foss/2022b"},{"location":"version-specific/supported-software/#last","title":"LAST","text":"

                    LAST finds similar regions between sequences.

                    homepage: http://last.cbrc.jp/

                    version toolchain 869 intel/2017a 914 intel/2017b 1045 intel/2019b 1179 GCC/10.2.0"},{"location":"version-specific/supported-software/#lastz","title":"LASTZ","text":"

                    LASTZ is a program for aligning DNA sequences, a pairwise aligner. Originally designed to handle sequences the size of human chromosomes and from different species, it is also useful for sequences produced by NGS sequencing technologies such as Roche 454.

                    homepage: https://www.bx.psu.edu/~rsharris/lastz/

                    version toolchain 1.02.00 GCCcore/8.2.0, foss/2016a 1.04.03 foss/2019b"},{"location":"version-specific/supported-software/#lavaan","title":"lavaan","text":"

                    Fit a variety of latent variable models, including confirmatory factor analysis, structural equation modeling and latent growth curve models.

                    homepage: https://cran.r-project.org/web/packages/lavaan

                    version versionsuffix toolchain 0.6-2 -R-3.4.4 intel/2018a 0.6-4.1433 -R-3.6.0 foss/2019a 0.6-9 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#layoutparser","title":"LayoutParser","text":"

                    A Unified Toolkit for Deep Learning Based Document Image Analysis

                    homepage: https://layout-parser.github.io/

                    version versionsuffix toolchain 0.3.4 foss/2022a 0.3.4 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#lbfgs","title":"LBFGS++","text":"

                    A header-only C++ library for L-BFGS and L-BFGS-B algorithms

                    homepage: https://lbfgspp.statr.me

                    version toolchain 0.1.0 system"},{"location":"version-specific/supported-software/#lcov","title":"LCov","text":"

                    LCOV - the LTP GCOV extension

                    homepage: http://ltp.sourceforge.net/coverage/lcov.php

                    version toolchain 1.13 GCCcore/7.2.0"},{"location":"version-specific/supported-software/#ldc","title":"LDC","text":"

                    The LLVM-based D Compiler

                    homepage: https://wiki.dlang.org/LDC

                    version versionsuffix toolchain 0.17.6 -x86_64 system 1.24.0 -x86_64 system 1.25.1 GCCcore/10.2.0 1.26.0 GCCcore/10.3.0 1.30.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#lddt","title":"lDDT","text":"

                    The local Distance Difference Test (lDDT) is a superposition-free score which evaluates local distance differences in a model compared to a reference structure.

                    homepage: https://openstructure.org

                    version toolchain 1.2 system"},{"location":"version-specific/supported-software/#leadit","title":"LeadIT","text":"

                    Visually Informed LeadOpt

                    homepage: http://www.biosolveit.de/LeadIT/index.html

                    version toolchain 2.1.9 system"},{"location":"version-specific/supported-software/#leidenalg","title":"leidenalg","text":"

                    Implementation of the Leiden algorithm for various quality functions to be used with igraph in Python.

                    homepage: https://github.com/vtraag/leidenalg

                    version versionsuffix toolchain 0.8.2 -Python-3.8.2 foss/2020a 0.8.3 foss/2020b, fosscuda/2020b 0.8.7 foss/2021a 0.8.8 foss/2021b 0.9.1 foss/2022a"},{"location":"version-specific/supported-software/#lemon","title":"LEMON","text":"

                    LEMON stands for Library for Efficient Modeling and Optimization in Networks. It is a C++ template library providing efficient implementations of common data structures and algorithms with focus on combinatorial optimization tasks connected mainly with graphs and networks.

                    homepage: https://lemon.cs.elte.hu

                    version toolchain 1.3.1 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#leptonica","title":"Leptonica","text":"

                    Leptonica is a collection of pedagogically-oriented open source software that is broadly useful for image processing and image analysis applications.

                    homepage: http://www.leptonica.org

                    version toolchain 1.77.0 GCCcore/7.3.0 1.78.0 GCCcore/8.2.0 1.82.0 GCCcore/10.3.0 1.83.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#lerc","title":"LERC","text":"

                    LERC is an open-source image or raster format which supports rapid encoding and decoding for any pixel type (not just RGB or Byte). Users set the maximum compression error per pixel while encoding, so the precision of the original input image is preserved (within user defined error bounds).

                    homepage: https://github.com/Esri/lerc

                    version toolchain 3.0 GCCcore/10.2.0, GCCcore/10.3.0 4.0.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#less","title":"less","text":"

                    Less is a free, open-source file pager. It can be found on most versions of Linux, Unix and Mac OS, as well as on many other operating systems.

                    homepage: http://www.greenwoodsoftware.com/less/

                    version toolchain 458 GCC/4.8.2"},{"location":"version-specific/supported-software/#leveldb","title":"LevelDB","text":"

                    LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

                    homepage: https://github.com/google/leveldb

                    version toolchain 1.18 foss/2016a, intel/2017a, intel/2017b 1.20 GCCcore/7.3.0 1.22 GCCcore/8.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#lftp","title":"lftp","text":"

                    LFTP is a sophisticated ftp/http client, and a file transfer program supporting a number of network protocols. Like BASH, it has job control and uses the readline library for input. It has bookmarks, a built-in mirror command, and can transfer several files in parallel. It was designed with reliability in mind.

                    homepage: https://lftp.yar.ru

                    version toolchain 4.6.4 GNU/4.9.3-2.25 4.8.4 GCCcore/6.4.0 4.9.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#lhapdf","title":"LHAPDF","text":"

                    Les Houches Parton Density Function LHAPDF is the standard tool for evaluating parton distribution functions (PDFs) in high-energy physics.

                    homepage: http://lhapdf.hepforge.org/

                    version toolchain 6.5.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#liana","title":"LIANA","text":"

                    LIANA: a LIgand-receptor ANalysis frAmework. LIANA enables the use of any combination of ligand-receptor methods and resources, and their consensus.

                    homepage: https://saezlab.github.io/liana/

                    version versionsuffix toolchain 0.1.11 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#libaec","title":"libaec","text":"

                    Libaec provides fast lossless compression of 1 up to 32 bit wide signed or unsigned integers (samples). The library achieves best results for low entropy data as often encountered in space imaging instrument data or numerical model output from weather or climate simulations. While floating point representations are not directly supported, they can also be efficiently coded by grouping exponents and mantissa.

                    homepage: https://gitlab.dkrz.de/k202009/libaec

                    version toolchain 1.0.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libaio","title":"libaio","text":"

                    Asynchronous input/output library that uses the kernels native interface.

                    homepage: https://pagure.io/libaio

                    version toolchain 0.3.111 GCCcore/8.2.0, GCCcore/8.3.0 0.3.112 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 0.3.113 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libarchive","title":"libarchive","text":"

                    Multi-format archive and compression library

                    homepage: https://www.libarchive.org/

                    version toolchain 3.4.0 GCCcore/8.2.0 3.4.2 GCCcore/9.3.0 3.4.3 GCCcore/10.2.0 3.5.1 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0 3.6.1 GCCcore/11.3.0, GCCcore/12.2.0 3.6.2 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#libav","title":"libav","text":"

                    Libav is a friendly and community-driven effort to provide its users with a set of portable, functional and high-performance libraries for dealing with multimedia formats of all sorts.

                    homepage: https://libav.org/

                    version toolchain 11.10 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libavif","title":"libavif","text":"

                    This library aims to be a friendly, portable C implementation of the AV1 Image File Format, as described here: https://aomediacodec.github.io/av1-avif/

                    homepage: https://github.com/AOMediaCodec/libavif

                    version toolchain 0.9.0 foss/2020b 0.11.1 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#libbigwig","title":"libBigWig","text":"

                    A C library for handling bigWig files

                    homepage: https://github.com/dpryan79/libBigWig

                    version toolchain 0.4.4 GCCcore/8.3.0 0.4.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libbitmask","title":"libbitmask","text":"

                    libbitmask provides a convenient, powerful bitmask data type

                    homepage: http://oss.sgi.com/projects/cpusets/

                    version toolchain 2.0 system"},{"location":"version-specific/supported-software/#libcdms","title":"libcdms","text":"

                    Climate Data Management System Library.

                    homepage: https://github.com/CDAT/libcdms/

                    version versionsuffix toolchain 3.1.2 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#libcerf","title":"libcerf","text":"

                    libcerf is a self-contained numeric library that provides an efficient and accurate implementation of complex error functions, along with Dawson, Faddeeva, and Voigt functions.

                    homepage: https://jugit.fz-juelich.de/mlz/libcerf

                    version toolchain 1.4 foss/2016a, foss/2016b, intel/2016a 1.5 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, foss/2016b, intel/2016b, intel/2017a 1.7 GCCcore/7.3.0 1.11 GCCcore/7.3.0, GCCcore/8.2.0 1.13 GCCcore/8.3.0, GCCcore/9.3.0 1.14 GCCcore/10.2.0 1.15 GCCcore/10.3.0 1.17 GCCcore/10.3.0, GCCcore/11.2.0 2.1 GCCcore/11.3.0 2.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libcint","title":"libcint","text":"

                    libcint is an open source library for analytical Gaussian integrals.

                    homepage: https://github.com/sunqm/libcint

                    version toolchain 4.4.0 foss/2020b, foss/2021a, gomkl/2021a 5.1.6 foss/2022a"},{"location":"version-specific/supported-software/#libcircle","title":"libcircle","text":"

                    An API to provide an efficient distributed queue on a cluster. libcircle is an API for distributing embarrassingly parallel workloads using self-stabilization.

                    homepage: https://github.com/hpc/libcircle/

                    version toolchain 0.2.1-rc.1 gompi/2019a, iimpi/2019a 0.3 gompi/2020a, gompi/2020b, gompi/2022a, iimpi/2020a"},{"location":"version-specific/supported-software/#libcmaes","title":"libcmaes","text":"

                    libcmaes is a multithreaded C++11 library for high performance blackbox stochastic optimization using the CMA-ES algorithm for Covariance Matrix Adaptation Evolution Strategy.

                    homepage: http://beniz.github.io/libcmaes/

                    version toolchain 0.9.5 foss/2016a"},{"location":"version-specific/supported-software/#libconfig","title":"libconfig","text":"

                    Libconfig is a simple library for processing structured configuration files

                    homepage: https://hyperrealm.github.io/libconfig

                    version toolchain 1.5 intel/2016b 1.7.1 GCCcore/6.4.0 1.7.2 GCCcore/7.3.0 1.7.3 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libcpuset","title":"libcpuset","text":"

                    libcpuset provides full access to cpuset capabilities

                    homepage: http://oss.sgi.com/projects/cpusets/

                    version toolchain 1.0 system"},{"location":"version-specific/supported-software/#libcroco","title":"libcroco","text":"

                    Libcroco is a standalone css2 parsing and manipulation library.

                    homepage: https://github.com/GNOME/libcroco

                    version toolchain 0.6.11 intel/2016a 0.6.13 GCC/10.2.0, foss/2019a"},{"location":"version-specific/supported-software/#libctl","title":"libctl","text":"

                    libctl is a free Guile-based library implementing flexible control files for scientific simulations.

                    homepage: https://libctl.readthedocs.io/en/latest/

                    version toolchain 3.2.2 foss/2016a 4.0.0 intel/2020a 4.1.3 GCCcore/6.4.0 4.5.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libdap","title":"libdap","text":"

                    A C++ SDK which contains an implementation of DAP 2.0 and DAP4.0. This includes both Client- and Server-side support classes.

                    homepage: https://www.opendap.org/software/libdap

                    version versionsuffix toolchain 3.18.1 intel/2017a 3.18.1 -Python-2.7.11 foss/2016a 3.19.1 GCCcore/6.4.0, foss/2017b, intel/2017b 3.20.3 GCCcore/7.3.0 3.20.4 GCCcore/8.2.0 3.20.6 GCCcore/8.3.0 3.20.7 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 3.20.8 GCCcore/11.2.0 3.20.11 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libde265","title":"libde265","text":"

                    libde265 is an open source implementation of the h.265 video codec

                    homepage: https://github.com/strukturag/libde265

                    version toolchain 1.0.8 GCC/10.3.0, GCC/11.2.0 1.0.11 GCC/11.3.0"},{"location":"version-specific/supported-software/#libdeflate","title":"libdeflate","text":"

                    Heavily optimized library for DEFLATE/zlib/gzip compression and decompression.

                    homepage: https://github.com/ebiggers/libdeflate

                    version toolchain 1.5 GCCcore/7.3.0 1.7 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 1.8 GCCcore/10.3.0, GCCcore/11.2.0 1.10 GCCcore/11.3.0 1.15 GCCcore/12.2.0 1.18 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libdivsufsort","title":"libdivsufsort","text":"

                    libdivsufsort is a software library that implements a lightweight suffix array construction algorithm.

                    homepage: https://github.com/y-256/libdivsufsort

                    version toolchain 2.0.1 foss/2018b"},{"location":"version-specific/supported-software/#libdrm","title":"libdrm","text":"

                    Direct Rendering Manager runtime library.

                    homepage: https://dri.freedesktop.org

                    version toolchain 2.4.67 foss/2016a, gimkl/2.11.5, intel/2016a 2.4.68 foss/2016a, intel/2016a 2.4.70 GCCcore/5.4.0, foss/2016b, intel/2016b 2.4.76 GCCcore/6.3.0, intel/2017a 2.4.88 GCCcore/6.4.0 2.4.91 GCCcore/6.4.0 2.4.92 GCCcore/7.3.0 2.4.97 GCCcore/8.2.0 2.4.99 GCCcore/8.3.0 2.4.100 GCCcore/9.3.0 2.4.102 GCCcore/10.2.0 2.4.106 GCCcore/10.3.0 2.4.107 GCCcore/11.2.0 2.4.110 GCCcore/11.3.0 2.4.114 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libdrs","title":"libdrs","text":"

                    PCMDI's old DRS format implementation

                    homepage: https://github.com/CDAT/libdrs/

                    version toolchain 3.1.2 foss/2020a"},{"location":"version-specific/supported-software/#libdwarf","title":"libdwarf","text":"

                    The DWARF Debugging Information Format is of interest to programmers working on compilers and debuggers (and anyone interested in reading or writing DWARF information))

                    homepage: https://www.prevanders.net/dwarf.html

                    version toolchain 0.4.1 GCCcore/11.3.0 20140805 GCC/4.9.2 20150310 GCC/4.9.2, GCCcore/5.4.0, GCCcore/6.3.0 20190529 GCCcore/8.2.0 20201201 GCCcore/10.2.0 20210305 GCCcore/10.3.0 20210528 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libedit","title":"libedit","text":"

                    This BSD-style licensed command line editor library provides generic line editing, history, and tokenization functions, similar to those found in GNU Readline.

                    homepage: https://thrysoee.dk/editline/

                    version toolchain 20150325 GNU/4.9.3-2.25 20180525 GCCcore/6.4.0 20191231 GCCcore/9.3.0 20210910 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libelf","title":"libelf","text":"

                    libelf is a free ELF object file access library

                    homepage: https://directory.fsf.org/wiki/Libelf

                    version toolchain 0.8.13 GCC/4.8.3, GCC/4.9.2, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/8.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libemf","title":"libemf","text":"

                    Library implementation of ECMA-234 API for the generation of enhanced metafiles.

                    homepage: https://sourceforge.net/projects/libemf/

                    version toolchain 1.0.13 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libepoxy","title":"libepoxy","text":"

                    Epoxy is a library for handling OpenGL function pointer management for you

                    homepage: https://github.com/anholt/libepoxy

                    version toolchain 1.5.2 foss/2018a 1.5.3 GCCcore/8.2.0, fosscuda/2018b 1.5.4 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.5.8 GCCcore/10.3.0, GCCcore/11.2.0 1.5.10 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libev","title":"libev","text":"

                    A full-featured and high-performance (see benchmark) event loop that is loosely modelled after libevent, but without its limitations and bugs. It is used in GNU Virtual Private Ethernet, rxvt-unicode, auditd, the Deliantra MORPG Server and Client, and many other programs.

                    homepage: http://software.schmorp.de/pkg/libev.html

                    version toolchain 4.33 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#libevent","title":"libevent","text":"

                    The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Furthermore, libevent also support callbacks due to signals or regular timeouts.

                    homepage: http://libevent.org/

                    version toolchain 2.0.22 GCC/4.9.2, GCC/5.4.0-2.26, GCCcore/4.9.3, GNU/4.9.3-2.25 2.1.8 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, system 2.1.11 GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 2.1.12 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, system"},{"location":"version-specific/supported-software/#libexif","title":"libexif","text":"

                    A library for parsing, editing, and saving EXIF data.

                    homepage: https://libexif.github.io/

                    version toolchain 0.6.24 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libfabric","title":"libfabric","text":"

                    Libfabric is a core component of OFI. It is the library that defines and exports the user-space API of OFI, and is typically the only software that applications deal with directly. It works in conjunction with provider libraries, which are often integrated directly into libfabric.

                    homepage: https://ofiwg.github.io/libfabric/

                    version toolchain 1.9.1 GCCcore/9.3.0 1.10.1 GCCcore/9.3.0 1.11.0 GCCcore/10.2.0, GCCcore/9.3.0 1.12.1 GCCcore/10.3.0 1.13.0 GCCcore/11.2.0 1.13.1 GCCcore/11.2.0 1.13.2 GCCcore/11.2.0 1.15.1 GCCcore/11.3.0 1.16.1 GCCcore/12.2.0 1.18.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libfdf","title":"libfdf","text":"

                    LibFDF provides a Fortran API to parse files in the Flexible Data Format (FDF).

                    homepage: https://launchpad.net/libfdf

                    version versionsuffix toolchain 0.2.2 -serial GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#libffcall","title":"libffcall","text":"

                    GNU Libffcall is a collection of four libraries which can be used to build foreign function call interfaces in embedded interpreters

                    homepage: https://www.gnu.org/software/libffcall/

                    version toolchain 1.13 GCCcore/6.4.0 2.2 GCCcore/8.3.0, GCCcore/9.3.0 2.4 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libffi","title":"libffi","text":"

                    The libffi library provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run-time.

                    homepage: https://sourceware.org/libffi/

                    version toolchain 3.2.1 GCC/4.9.2, GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b, system 3.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 3.4.2 GCCcore/11.2.0, GCCcore/11.3.0 3.4.4 GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#libflame","title":"libFLAME","text":"

                    libFLAME is a portable library for dense matrix computations, providing much of the functionality present in LAPACK.

                    homepage: https://developer.amd.com/amd-cpu-libraries/blas-library/#libflame

                    version versionsuffix toolchain 1.0 -amd GCC/7.3.0-2.30 2.2 -amd GCCcore/9.3.0 5.2.0 GCC/10.3.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libfontenc","title":"libfontenc","text":"

                    X11 font encoding library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs/

                    version toolchain 1.1.3 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libgcrypt","title":"libgcrypt","text":"

                    Libgcrypt is a general purpose cryptographic library originally based on code from GnuPG

                    homepage: https://gnupg.org/related_software/libgcrypt/index.html

                    version toolchain 1.6.5 intel/2016a 1.8.4 GCCcore/7.3.0, GCCcore/8.2.0 1.8.5 GCCcore/8.3.0 1.9.2 GCCcore/10.2.0, GCCcore/10.3.0 1.9.3 GCCcore/11.2.0 1.10.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libgd","title":"libgd","text":"

                    GD is an open source code library for the dynamic creation of images by programmers.

                    homepage: https://libgd.github.io

                    version toolchain 2.1.1 foss/2016a, intel/2016a 2.2.3 foss/2016b, intel/2016b 2.2.4 GCCcore/6.4.0, foss/2016b, intel/2017a 2.2.5 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, intel/2017b, intel/2018a 2.3.0 GCCcore/10.2.0, GCCcore/9.3.0 2.3.1 GCCcore/10.3.0 2.3.3 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libgdiplus","title":"libgdiplus","text":"

                    Libgdiplus is the Mono library that provides a GDI+-compatible API on non-Windows operating systems.

                    homepage: https://www.mono-project.com/docs/gui/libgdiplus

                    version toolchain 6.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libgdsii","title":"libGDSII","text":"

                    libGDSII is a C++ library for working with GDSII binary data files, intended primarily for use with the computational electromagnetism codes scuff-em and meep but sufficiently general-purpose to allow other uses as well.

                    homepage: https://github.com/HomerReid/libGDSII

                    version toolchain 0.21 GCCcore/10.2.0, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libgeotiff","title":"libgeotiff","text":"

                    Library for reading and writing coordinate system information from/to GeoTIFF files

                    homepage: https://directory.fsf.org/wiki/Libgeotiff

                    version toolchain 1.4.2 foss/2018a, foss/2018b, intel/2018b 1.5.1 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.6.0 GCCcore/10.2.0, GCCcore/10.3.0 1.7.0 GCCcore/11.2.0 1.7.1 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libgit2","title":"libgit2","text":"

                    libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings.

                    homepage: https://libgit2.org/

                    version toolchain 1.0.0 GCCcore/8.3.0 1.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 1.1.1 GCCcore/11.2.0 1.4.3 GCCcore/11.3.0 1.5.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libglade","title":"libglade","text":"

                    Libglade is a library for constructing user interfaces dynamically from XML descriptions.

                    homepage: https://developer.gnome.org/libglade/

                    version toolchain 2.6.4 foss/2018b, intel/2016a, intel/2017b, intel/2018a"},{"location":"version-specific/supported-software/#libglu","title":"libGLU","text":"

                    The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL.

                    homepage: https://mesa.freedesktop.org/archive/glu/

                    version versionsuffix toolchain 9.0.0 GCCcore/8.2.0, foss/2016a, foss/2016b, foss/2017a, foss/2017b, foss/2018a, foss/2018b, fosscuda/2017b, fosscuda/2018a, fosscuda/2018b, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intelcuda/2017b, iomkl/2018a 9.0.0 -Mesa-11.2.1 foss/2016a, intel/2016a 9.0.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0, GCCcore/9.3.0 9.0.2 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libglvnd","title":"libglvnd","text":"

                    libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors.

                    homepage: https://gitlab.freedesktop.org/glvnd/libglvnd

                    version toolchain 1.2.0 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.3.2 GCCcore/10.2.0 1.3.3 GCCcore/10.3.0, GCCcore/11.2.0 1.4.0 GCCcore/11.3.0 1.6.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libgpg-error","title":"libgpg-error","text":"

                    Libgpg-error is a small library that defines common error values for all GnuPG components.

                    homepage: https://gnupg.org/related_software/libgpg-error/index.html

                    version toolchain 1.21 intel/2016a 1.35 GCCcore/7.3.0 1.36 GCCcore/8.2.0 1.38 GCCcore/8.3.0 1.41 GCCcore/10.2.0 1.42 GCCcore/10.3.0, GCCcore/11.2.0 1.46 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libgpuarray","title":"libgpuarray","text":"

                    Library to manipulate tensors on the GPU.

                    homepage: http://deeplearning.net/software/libgpuarray/

                    version versionsuffix toolchain 0.7.5 -Python-2.7.14 fosscuda/2017b, intelcuda/2017b 0.7.5 -Python-3.6.3 fosscuda/2017b, intel/2017b, intelcuda/2017b 0.7.6 fosscuda/2019a, fosscuda/2020b 0.7.6 -Python-2.7.15 fosscuda/2018b 0.7.6 -Python-3.6.6 fosscuda/2018b 0.7.6 -Python-3.7.4 fosscuda/2019b"},{"location":"version-specific/supported-software/#libgridxc","title":"libGridXC","text":"

                    A library to compute the exchange and correlation energy and potential in spherical (i.e. atoms) or periodic systems.

                    homepage: https://gitlab.com/siesta-project/libraries/libgridxc

                    version toolchain 0.8.5 iimpi/2019b 0.9.6 gompi/2020b, gompi/2021a, gompi/2021b, iimpi/2020b, iimpi/2021a, iimpi/2021b 1.1.0 gompi/2022a"},{"location":"version-specific/supported-software/#libgtextutils","title":"libgtextutils","text":"

                    ligtextutils is a dependency of fastx-toolkit and is provided via the same upstream

                    homepage: http://hannonlab.cshl.edu/fastx_toolkit/

                    version toolchain 0.7 GCCcore/7.3.0, foss/2016a, foss/2016b, intel/2018a"},{"location":"version-specific/supported-software/#libharu","title":"libharu","text":"

                    libHaru is a free, cross platform, open source library for generating PDF files.

                    homepage: http://libharu.org/

                    version toolchain 2.3.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016a, foss/2016b, foss/2021a, foss/2021b, intel/2017a, intel/2018b"},{"location":"version-specific/supported-software/#libheif","title":"libheif","text":"

                    libheif is an HEIF and AVIF file format decoder and encoder

                    homepage: https://github.com/strukturag/libheif

                    version toolchain 1.12.0 GCC/10.3.0, GCC/11.2.0 1.16.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#libibmad","title":"libibmad","text":"

                    libibmad is a convenience library to encode, decode, and dump IB MAD packets. It is implemented on top of and in conjunction with libibumad (the umad kernel interface library.)

                    homepage: http://www.openfabrics.org

                    version toolchain 1.3.12 GCC/4.9.3-2.25"},{"location":"version-specific/supported-software/#libibumad","title":"libibumad","text":"

                    libibumad is the umad kernel interface library.

                    homepage: http://www.openfabrics.org

                    version toolchain 1.3.10.2 GCC/4.9.3-2.25"},{"location":"version-specific/supported-software/#libice","title":"libICE","text":"

                    X Inter-Client Exchange library for freedesktop.org

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.0.9 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libiconv","title":"libiconv","text":"

                    Libiconv converts from one character encoding to another through Unicode conversion

                    homepage: https://www.gnu.org/software/libiconv

                    version toolchain 1.15 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0 1.16 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.17 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libidn","title":"libidn","text":"

                    GNU Libidn is a fully documented implementation of the Stringprep, Punycode and IDNA specifications. Libidn's purpose is to encode and decode internationalized domain names.

                    homepage: http://www.gnu.org/software/libidn

                    version toolchain 1.32 GCCcore/5.4.0, GNU/4.9.3-2.25, foss/2016a, foss/2016b, intel/2016a 1.34 GCCcore/6.4.0 1.35 GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.36 GCCcore/10.2.0, GCCcore/10.3.0 1.38 GCCcore/11.2.0 1.41 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libidn2","title":"libidn2","text":"

                    Libidn2 implements the revised algorithm for internationalized domain names called IDNA2008/TR46.

                    homepage: http://www.gnu.org/software/libidn2

                    version toolchain 2.3.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 2.3.2 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libint","title":"Libint","text":"

                    Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.

                    homepage: https://github.com/evaleev/libint

                    version versionsuffix toolchain 1.1.4 intel/2016a 1.1.6 GCC/8.2.0-2.31.1, foss/2016b, foss/2018a, foss/2020a, foss/2020b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2016b, intel/2017b, intel/2018a, intel/2018b, intel/2020a 2.0.3 foss/2018b, gompi/2019a, intel/2018b 2.1.0 intel/2016b 2.4.2 intel/2018a 2.5.0 gompi/2019a, iimpi/2019a 2.6.0 -lmax-6-cp2k GCC/10.2.0, GCC/10.3.0, gompi/2020a, iccifort/2020.4.304, iimpi/2020a, iimpi/2021a 2.7.2 -lmax-6-cp2k GCC/11.3.0"},{"location":"version-specific/supported-software/#libis","title":"LiBis","text":"

                    An ultrasensitive alignment method for low input bisulfite sequencing

                    homepage: https://github.com/Dangertrip/LiBis

                    version versionsuffix toolchain 20200428 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#libjpeg-turbo","title":"libjpeg-turbo","text":"

                    libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG compression and decompression. libjpeg is a library that implements JPEG image encoding, decoding and transcoding.

                    homepage: https://sourceforge.net/projects/libjpeg-turbo/

                    version versionsuffix toolchain 1.4.2 foss/2016a, foss/2016b, intel/2016a 1.4.2 -NASM-2.12.01 foss/2016a, intel/2016a 1.5.0 GCCcore/5.4.0, foss/2016a, foss/2016b, intel/2016b 1.5.1 foss/2016b, intel/2016b, intel/2017a 1.5.2 GCCcore/6.3.0, GCCcore/6.4.0 1.5.3 GCCcore/6.4.0 2.0.0 GCCcore/7.3.0 2.0.2 GCCcore/7.3.0, GCCcore/8.2.0 2.0.3 GCCcore/8.3.0 2.0.4 GCCcore/9.3.0 2.0.5 GCCcore/10.2.0 2.0.6 GCCcore/10.3.0, GCCcore/11.2.0 2.1.3 GCCcore/11.3.0 2.1.4 GCCcore/12.2.0 2.1.5.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libjxl","title":"libjxl","text":"

                    JPEG XL image format reference implementation

                    homepage: https://github.com/libjxl/libjxl

                    version toolchain 0.5 GCCcore/10.3.0 0.6.1 GCCcore/10.2.0 0.8.1 foss/2022a"},{"location":"version-specific/supported-software/#liblzf","title":"LibLZF","text":"

                    LibLZF is a very small data compression library. It consists of only two .c and two .h files and is very easy to incorporate into your own programs. The compression algorithm is very, very fast, yet still written in portable C.

                    homepage: http://oldhome.schmorp.de/marc/liblzf.html

                    version toolchain 3.4 GCCcore/10.2.0 3.6 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libmad","title":"libmad","text":"

                    MAD is a high-quality MPEG audio decoder.

                    homepage: https://www.underbit.com/products/mad/

                    version toolchain 0.15.1b GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libmatheval","title":"libmatheval","text":"

                    GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic expressions input as text.

                    homepage: http://www.gnu.org/software/libmatheval/

                    version toolchain 1.1.11 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016b, foss/2017a, intel/2016a, intel/2016b"},{"location":"version-specific/supported-software/#libmaus2","title":"libmaus2","text":"

                    libmaus2 is a collection of data structures and algorithms.

                    homepage: https://github.com/gt1/libmaus2

                    version toolchain 2.0.453 intel/2018a 2.0.499 GCC/11.3.0"},{"location":"version-specific/supported-software/#libmbd","title":"libmbd","text":"

                    Libmbd implements the many-body dispersion (MBD) method in several programming languages and frameworks: - The Fortran implementation is the reference, most advanced implementation, with support for analytical gradients and distributed parallelism, and additional functionality beyond the MBD method itself. It provides a low-level and a high-level Fortran API, as well as a C API. Furthermore, Python bindings to the C API are provided. - The Python/Numpy implementation is intended for prototyping, and as a high-level language reference. - The Python/Tensorflow implementation is an experiment that should enable rapid prototyping of machine learning applications with MBD. The Python-based implementations as well as Python bindings to the Libmbd C API are accessible from the Python package called Pymbd.

                    homepage: https://libmbd.github.io/index.html

                    version toolchain 0.10.4 foss/2020b, foss/2021a, intel/2020b, intel/2021a"},{"location":"version-specific/supported-software/#libmemcached","title":"libMemcached","text":"

                    libMemcached is an open source C/C++ client library and tools for the memcached server (http://danga.com/memcached). It has been designed to be light on memory usage, thread safe, and provide full access to server side methods.

                    homepage: https://memcached.org

                    version toolchain 1.0.18 GCCcore/6.4.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libmicrohttpd","title":"libmicrohttpd","text":"

                    GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application.

                    homepage: https://www.gnu.org/software/libmicrohttpd/

                    version toolchain 0.9.71 GCCcore/9.3.0 0.9.73 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#libmo_unpack","title":"libmo_unpack","text":"

                    A library for handling the WGDOS and RLE compression schemes used in UM files.

                    homepage: https://github.com/SciTools/libmo_unpack

                    version toolchain 3.1.2 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libmypaint","title":"libmypaint","text":"

                    libmypaint, a.k.a. \"brushlib\", is a library for making brushstrokes which is used by MyPaint and other projects

                    homepage: https://github.com/mypaint/libmypaint

                    version toolchain 1.6.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#libnsl","title":"libnsl","text":"

                    The libnsl package contains the public client interface for NIS(YP).

                    homepage: https://github.com/thkukuk/libnsl

                    version toolchain 1.3.0 GCCcore/10.3.0 2.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libobjcryst","title":"libobjcryst","text":"

                    ObjCryst++ is Object-Oriented Crystallographic Library for C++

                    homepage: https://github.com/diffpy/libobjcryst

                    version toolchain 2017.2.3 intel/2020a 2021.1.2 foss/2021b"},{"location":"version-specific/supported-software/#libogg","title":"libogg","text":"

                    Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs.

                    homepage: https://xiph.org/ogg/

                    version toolchain 1.3.4 GCCcore/10.2.0, GCCcore/10.3.0 1.3.5 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libopus","title":"libopus","text":"

                    Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype\u2019s SILK codec and Xiph.Org\u2019s CELT codec.

                    homepage: https://www.opus-codec.org/

                    version toolchain 1.3.1 GCCcore/11.3.0, GCCcore/12.2.0 1.4 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libosmium","title":"libosmium","text":"

                    A fast and flexible C++ library for working with OpenStreetMap data. The Osmium Library has extensive support for all types of OSM entities: nodes, ways, relations, and changesets. It allows reading from and writing to OSM files in XML and PBF formats, including change files and full history files. Osmium can store OSM data in memory and on disk in various formats and using various indexes. Its easy to use handler interface allows you to quickly write data filtering and conversion functions. Osmium can create WKT, WKB, OGR, GEOS and GeoJSON geometries for easy conversion into many GIS formats and it can assemble multipolygons from ways and relations.

                    homepage: https://osmcode.org/libosmium/

                    version versionsuffix toolchain 2.15.4 -Python-3.6.6 foss/2018b 2.15.6 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#libpci","title":"libpci","text":"

                    Library for portable access to PCI bus configuration registers from PCI Utils.

                    homepage: https://github.com/pciutils/pciutils

                    version toolchain 3.7.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libpciaccess","title":"libpciaccess","text":"

                    Generic PCI access library.

                    homepage: https://cgit.freedesktop.org/xorg/lib/libpciaccess/

                    version toolchain 0.13.4 foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b 0.14 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 0.16 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.2.0, GCCcore/9.3.0 0.17 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libplinkio","title":"libplinkio","text":"

                    A small C and Python library for reading PLINK genotype files.

                    homepage: https://github.com/mfranberg/libplinkio

                    version toolchain 0.9.8 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libpng","title":"libpng","text":"

                    libpng is the official PNG reference library

                    homepage: http://www.libpng.org/pub/png/libpng.html

                    version toolchain 1.2.58 system 1.2.59 system 1.5.30 system 1.6.21 foss/2016a, gimkl/2.11.5, intel/2016a 1.6.23 foss/2016a, foss/2016b, intel/2016b 1.6.24 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, intel/2016b 1.6.26 foss/2016b, intel/2016b 1.6.27 intel/2016b 1.6.28 GCCcore/5.4.0, GCCcore/6.3.0, gimkl/2017a 1.6.29 GCCcore/6.3.0 1.6.32 GCCcore/6.4.0 1.6.34 GCCcore/6.4.0, GCCcore/7.3.0 1.6.36 GCCcore/8.2.0 1.6.37 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.6.38 GCCcore/12.2.0 1.6.39 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libpsl","title":"libpsl","text":"

                    C library for the Public Suffix List

                    homepage: https://rockdaboot.github.io/libpsl

                    version toolchain 0.20.2 GCCcore/7.3.0 0.21.0 GCCcore/8.2.0, GCCcore/8.3.0 0.21.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libpsml","title":"libPSML","text":"

                    A library to handle PSML, the pseudopotential markup language.

                    homepage: https://launchpad.net/libpsml

                    version toolchain 1.1.7 foss/2016b, foss/2017a 1.1.8 iccifort/2019.5.281 1.1.10 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0 1.1.12 GCC/11.3.0"},{"location":"version-specific/supported-software/#libpsortb","title":"libpsortb","text":"

                    PSORT family of programs for subcellular localization prediction as well as other datasets and resources relevant to localization prediction.

                    homepage: http://psort.org/

                    version toolchain 1.0 foss/2016a"},{"location":"version-specific/supported-software/#libpspio","title":"libpspio","text":"

                    libpspio is a library to read and write pseudopotentials in multiple formats.

                    homepage: https://gitlab.com/ElectronicStructureLibrary/libpspio

                    version toolchain 0.2.4 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#libpthread-stubs","title":"libpthread-stubs","text":"

                    The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.

                    homepage: http://xcb.freedesktop.org/

                    version toolchain 0.3 GCCcore/6.4.0, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b 0.4 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libqglviewer","title":"libQGLViewer","text":"

                    libQGLViewer is a C++ library based on Qt that eases the creation of OpenGL 3D viewers.

                    homepage: http://libqglviewer.com/

                    version versionsuffix toolchain 2.6.3 foss/2016a, foss/2016b, intel/2016b 2.6.3 -Mesa-11.2.1 foss/2016a, intel/2016a 2.6.4 intel/2016b 2.7.1 intel/2018a 2.8.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#libreadline","title":"libreadline","text":"

                    The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.

                    homepage: https://tiswww.case.edu/php/chet/readline/rltop.html

                    version toolchain 6.3 GCC/4.8.2, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 7.0 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0 8.0 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, system 8.1 FCC/4.5.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 8.1.2 GCCcore/11.3.0, GCCcore/12.1.0 8.2 GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#librmath","title":"libRmath","text":"

                    The routines supporting the distribution and special functions in R and a few others are declared in C header file Rmath.h. These can be compiled into a standalone library for linking to other applications.

                    homepage: https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-standalone-Rmath-library

                    version toolchain 3.6.0 foss/2018b 4.0.0 GCCcore/9.3.0 4.1.0 GCCcore/10.2.0 4.1.2 GCCcore/11.2.0 4.2.0 GCCcore/10.3.0 4.2.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#librosa","title":"librosa","text":"

                    Python module for audio and music processing

                    homepage: https://librosa.github.io

                    version versionsuffix toolchain 0.7.2 -Python-3.7.4 foss/2019b, fosscuda/2019b"},{"location":"version-specific/supported-software/#librsb","title":"librsb","text":"

                    A shared memory parallel sparse matrix computations library for the Recursive Sparse Blocks format

                    homepage: https://sourceforge.net/projects/librsb/

                    version toolchain 1.2.0.9 GCC/10.2.0 1.2.0.10 GCC/10.2.0 1.2.0.11 GCC/10.2.0 1.3.0.0 GCC/10.2.0 1.3.0.1 GCC/10.2.0"},{"location":"version-specific/supported-software/#librsvg","title":"librsvg","text":"

                    Librsvg is a library to render SVG files using cairo.

                    homepage: https://wiki.gnome.org/Projects/LibRsvg

                    version toolchain 2.40.15 intel/2016a 2.48.4 foss/2019a 2.51.2 GCCcore/10.3.0 2.52.8 GCCcore/11.2.0 2.55.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#librttopo","title":"librttopo","text":"

                    The RT Topology Library exposes an API to create and manage standard (ISO 13249 aka SQL/MM) topologies using user-provided data stores.

                    homepage: https://git.osgeo.org/gitea/rttopo/librttopo

                    version toolchain 1.1.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#libsamplerate","title":"libsamplerate","text":"

                    Secret Rabbit Code (aka libsamplerate) is a Sample Rate Converter for audio.

                    homepage: http://www.mega-nerd.com/libsamplerate

                    version toolchain 0.1.9 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#libsbml","title":"libSBML","text":"

                    libSBML (Systems Biology Markup Language library) is a free, open-source programming library to help you read, write, manipulate, translate, and validate SBML files and data streams. It's not an application itself (though it does come with example programs), but rather a library you embed in your own applications.

                    homepage: http://sbml.org/Software/libSBML

                    version toolchain 5.19.0 GCC/10.2.0, GCC/10.3.0"},{"location":"version-specific/supported-software/#libsigc","title":"libsigc++","text":"

                    The libsigc++ package implements a typesafe callback system for standard C++.

                    homepage: https://libsigcplusplus.github.io/libsigcplusplus/

                    version toolchain 2.10.0 GCCcore/6.4.0 2.10.1 GCCcore/7.3.0 2.10.2 GCCcore/8.2.0, GCCcore/8.3.0 2.10.8 GCCcore/10.3.0 3.4.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libsigsegv","title":"libsigsegv","text":"

                    GNU libsigsegv is a library for handling page faults in user mode.

                    homepage: https://www.gnu.org/software/libsigsegv/

                    version toolchain 2.11 GCCcore/6.4.0 2.12 GCCcore/9.3.0 2.13 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libsm","title":"libSM","text":"

                    X11 Session Management library, which allows for applications to both manage sessions, and make use of session managers to save and restore their state for later use.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.2.2 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libsndfile","title":"libsndfile","text":"

                    Libsndfile is a C library for reading and writing files containing sampled sound (such as MS Windows WAV and the Apple/SGI AIFF format) through one standard library interface.

                    homepage: http://www.mega-nerd.com/libsndfile

                    version toolchain 1.0.28 GCCcore/10.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2017a 1.0.31 GCCcore/10.3.0, GCCcore/11.2.0 1.1.0 GCCcore/11.3.0 1.2.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libsodium","title":"libsodium","text":"

                    Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more.

                    homepage: https://doc.libsodium.org/

                    version toolchain 1.0.6 intel/2016a 1.0.8 foss/2016a 1.0.11 foss/2016b, intel/2016b 1.0.12 GCCcore/6.4.0, intel/2017a 1.0.13 GCCcore/6.4.0, foss/2017a 1.0.16 GCCcore/6.4.0, GCCcore/7.3.0 1.0.17 GCCcore/8.2.0 1.0.18 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#libsoup","title":"LibSoup","text":"

                    libsoup is an HTTP client/server library for GNOME. It uses GObjects and the glib main loop, to integrate well with GNOME applications, and also has a synchronous API, for use in threaded applications.

                    homepage: https://wiki.gnome.org/Projects/libsoup

                    version toolchain 2.66.1 GCCcore/8.2.0 2.70.0 GCCcore/8.3.0 2.72.0 GCCcore/10.2.0 2.74.0 GCCcore/10.3.0 3.0.7 GCC/11.2.0 3.0.8 GCC/11.3.0"},{"location":"version-specific/supported-software/#libspatialindex","title":"libspatialindex","text":"

                    C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API

                    homepage: https://libspatialindex.org

                    version toolchain 1.8.5 GCCcore/6.4.0, GCCcore/8.2.0, foss/2016b, intel/2016b, intel/2018a 1.9.3 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#libspatialite","title":"libspatialite","text":"

                    SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.

                    homepage: https://www.gaia-gis.it/fossil/libspatialite/home

                    version versionsuffix toolchain 4.3.0a foss/2016b, foss/2018b, intel/2016b 4.3.0a -Python-3.7.2 foss/2019a 4.3.0a -Python-3.7.4 GCC/8.3.0 5.0.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#libssh","title":"libssh","text":"

                    Multiplatform C library implementing the SSHv2 protocol on client and server side

                    homepage: https://www.libssh.org

                    version toolchain 0.9.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libstatgen","title":"libStatGen","text":"

                    Useful set of classes for creating statistical genetic programs.

                    homepage: https://genome.sph.umich.edu/wiki/C++_Library:_libStatGen

                    version toolchain 1.0.15 GCCcore/10.2.0 20190330 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libsvm","title":"LIBSVM","text":"

                    LIBSVM is an integrated software for support vector classification, (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.

                    homepage: https://www.csie.ntu.edu.tw/~cjlin/libsvm/

                    version toolchain 3.22 intel/2016b, intel/2017b 3.23 foss/2018b, intel/2018b 3.24 GCCcore/9.3.0 3.25 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 3.30 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libtar","title":"libtar","text":"

                    C library for manipulating POSIX tar files

                    homepage: https://repo.or.cz/libtar.git

                    version toolchain 1.2.20 GCCcore/7.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#libtasn1","title":"libtasn1","text":"

                    Libtasn1 is the ASN.1 library used by GnuTLS, GNU Shishi and some other packages. It was written by Fabio Fiorina, and has been shipped as part of GnuTLS for some time but is now a proper GNU package.

                    homepage: https://www.gnu.org/software/libtasn1/

                    version toolchain 4.7 GNU/4.9.3-2.25, foss/2016a, intel/2016a 4.12 GCCcore/5.4.0 4.13 GCCcore/7.3.0, GCCcore/8.2.0 4.16.0 GCCcore/10.2.0, GCCcore/8.3.0 4.17.0 GCCcore/10.3.0 4.18.0 GCCcore/11.2.0 4.19.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libtecla","title":"libtecla","text":"

                    The tecla library provides UNIX and LINUX programs with interactive command line editing facilities, similar to those of the UNIX tcsh shell. In addition to simple command-line editing, it supports recall of previously entered command lines, TAB completion of file names or other tokens, and in-line wild-card expansion of filenames. The internal functions which perform file-name completion and wild-card expansion are also available externally for optional use by programs.

                    homepage: https://sites.astro.caltech.edu/~mcs/tecla/

                    version toolchain 1.6.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libtiff","title":"LibTIFF","text":"

                    tiff: Library and tools for reading and writing TIFF data files

                    homepage: https://libtiff.gitlab.io/libtiff/

                    version toolchain 4.0.6 GCCcore/5.4.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b 4.0.7 foss/2016b, intel/2017a 4.0.8 intel/2017a, intel/2017b 4.0.9 GCCcore/6.4.0, GCCcore/7.3.0, foss/2017b, intel/2017b, intel/2018.01, intel/2018b 4.0.10 GCCcore/8.2.0, GCCcore/8.3.0 4.1.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.2.0 GCCcore/10.3.0 4.3.0 GCCcore/11.2.0, GCCcore/11.3.0 4.4.0 GCCcore/12.2.0 4.5.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libtirpc","title":"libtirpc","text":"

                    Libtirpc is a port of Suns Transport-Independent RPC library to Linux.

                    homepage: https://sourceforge.net/projects/libtirpc/

                    version toolchain 1.1.4 GCCcore/7.3.0, GCCcore/8.2.0 1.2.6 GCCcore/8.3.0, GCCcore/9.3.0 1.3.1 GCCcore/10.2.0 1.3.2 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 1.3.3 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libtool","title":"libtool","text":"

                    GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.

                    homepage: https://www.gnu.org/software/libtool

                    version toolchain 2.4.2 GCC/4.8.2, GCC/4.9.2 2.4.5 GCC/4.8.4, GCC/4.9.2 2.4.6 FCC/4.5.0, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 2.4.7 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#libtree","title":"libtree","text":"

                    libtree is a tool that turns ldd into a tree, explains why shared libraries are found and why not and optionally deploys executables and dependencies into a single directory

                    homepage: https://github.com/haampie/libtree

                    version toolchain 2.0.0 GCCcore/10.3.0 3.0.3 system"},{"location":"version-specific/supported-software/#libunistring","title":"libunistring","text":"

                    This library provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard.

                    homepage: https://www.gnu.org/software/libunistring/

                    version toolchain 0.9.3 GCC/4.9.3-2.25, GNU/4.9.3-2.25, foss/2016a, intel/2016a 0.9.6 GCCcore/5.4.0, foss/2016b, foss/2017a, intel/2016b 0.9.7 GCCcore/6.4.0 0.9.10 GCCcore/10.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.0 GCCcore/11.2.0, GCCcore/11.3.0 1.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#libunwind","title":"libunwind","text":"

                    The primary goal of libunwind is to define a portable and efficient C programming interface (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain (non-local goto). The API supports both local (same-process) and remote (across-process) operation. As such, the API is useful in a number of applications

                    homepage: https://www.nongnu.org/libunwind/

                    version toolchain 1.1 GCC/4.9.2, foss/2016a, intel/2016b 1.2.1 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, foss/2016b 1.3.1 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.4.0 GCCcore/10.2.0, GCCcore/10.3.0 1.5.0 GCCcore/10.3.0, GCCcore/11.2.0 1.6.2 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libutempter","title":"libutempter","text":"

                    libutempter is library that provides an interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files.

                    homepage: http://git.altlinux.org/people/ldv/packages/?p=libutempter.git

                    version toolchain 1.1.6.2 GCC/6.4.0-2.28"},{"location":"version-specific/supported-software/#libuuid","title":"LibUUID","text":"

                    Portable uuid C library

                    homepage: http://sourceforge.net/projects/libuuid/

                    version toolchain 1.0.3 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016a, intel/2017a, intel/2017b"},{"location":"version-specific/supported-software/#libuv","title":"libuv","text":"

                    libuv is a multi-platform support library with a focus on asynchronous I/O.

                    homepage: https://libuv.org

                    version toolchain 1.37.0 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#libvdwxc","title":"libvdwxc","text":"

                    libvdwxc is a general library for evaluating energy and potential for exchange-correlation (XC) functionals from the vdW-DF family that can be used with various of density functional theory (DFT) codes.

                    homepage: https://libvdwxc.org

                    version toolchain 0.3.2 foss/2018b 0.4.0 foss/2019a, foss/2019b, foss/2020a, foss/2020b, foss/2021a, foss/2021b, foss/2022a, intel/2020b, intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#libvorbis","title":"libvorbis","text":"

                    Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format

                    homepage: https://xiph.org/vorbis/

                    version toolchain 1.3.7 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libwallmodelledles","title":"libWallModelledLES","text":"

                    libWallModelledLES is a library based on OpenFOAM\u00ae technology, extending the capabilities of OpenFOAM in the area of wall-modelled LES (WMLES). This is a turbulence modelling methodology, which allows to make LES cheaper by not resolving the inner region of turbulent boundary layers.

                    homepage: https://bitbucket.org/lesituu/libwallmodelledles/

                    version toolchain 0.6.1 foss/2021b"},{"location":"version-specific/supported-software/#libwebp","title":"libwebp","text":"

                    WebP is a modern image format that provides superior lossless and lossy compression for images on the web. Using WebP, webmasters and web developers can create smaller, richer images that make the web faster.

                    homepage: https://developers.google.com/speed/webp/

                    version toolchain 1.0.0 foss/2018b 1.0.2 GCCcore/7.3.0, GCCcore/8.2.0 1.1.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.2.0 GCCcore/10.3.0, GCCcore/11.2.0 1.2.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libwpe","title":"libwpe","text":"

                    WPE is the reference WebKit port for embedded and low-consumption computer devices. It has been designed from the ground-up with performance, small footprint, accelerated content rendering, and simplicity of deployment in mind, bringing the excellence of the WebKit engine to countless platforms and target devices.

                    homepage: https://webkit.org/wpe

                    version toolchain 1.13.3 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#libx11","title":"libX11","text":"

                    X11 client-side library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.6.3 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxau","title":"libXau","text":"

                    The libXau package contains a library implementing the X11 Authorization Protocol. This is useful for restricting client access to the display.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.0.8 GCCcore/6.4.0, foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxc","title":"libxc","text":"

                    Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.

                    homepage: https://www.tddft.org/programs/libxc

                    version toolchain 2.2.2 GCC/8.2.0-2.31.1, foss/2018b, intel/2018b 2.2.3 foss/2016b, intel/2016a, intel/2016b, intel/2017b, intel/2018a 3.0.0 GCC/5.4.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b, intel/2017a, intel/2017b 3.0.1 GCC/8.2.0-2.31.1, foss/2016b, foss/2017a, foss/2018a, foss/2018b, foss/2020a, foss/2020b, gimkl/2017a, intel/2018a, intel/2018b, intel/2020a 4.0.1 foss/2017b, intel/2017b 4.0.3 foss/2016b, foss/2017a 4.2.3 foss/2017b, foss/2018a, foss/2018b, gimkl/2017a, intel/2018a, intel/2018b 4.3.4 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, iccifort/2020.1.217, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0 5.1.2 GCC/10.2.0 5.1.3 GCC/10.2.0 5.1.5 GCC/10.3.0, intel-compilers/2021.2.0 5.1.6 GCC/11.2.0, intel-compilers/2021.4.0 5.2.3 GCC/11.3.0, intel-compilers/2022.1.0 6.1.0 GCC/12.2.0, intel-compilers/2022.2.1"},{"location":"version-specific/supported-software/#libxcb","title":"libxcb","text":"

                    The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.

                    homepage: https://xcb.freedesktop.org/

                    version toolchain 1.11.1 foss/2016a, gimkl/2.11.5, intel/2016a 1.13 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#libxcursor","title":"libXcursor","text":"

                    X Cursor management library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.1.14 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxdamage","title":"libXdamage","text":"

                    X Damage extension library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.1.4 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxdmcp","title":"libXdmcp","text":"

                    The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is useful for allowing clients to interact with the X Display Manager.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.1.2 GCCcore/6.4.0, foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxext","title":"libXext","text":"

                    Common X Extensions library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.3.3 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxfixes","title":"libXfixes","text":"

                    X Fixes extension library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 5.0.1 foss/2016a, gimkl/2.11.5, intel/2016a 5.0.2 intel/2016a"},{"location":"version-specific/supported-software/#libxfont","title":"libXfont","text":"

                    X font libary

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version versionsuffix toolchain 1.5.1 foss/2016a, gimkl/2.11.5, intel/2016a 1.5.1 -freetype-2.6.3 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxft","title":"libXft","text":"

                    X11 client-side library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version versionsuffix toolchain 2.3.2 foss/2016a, intel/2016a 2.3.2 -fontconfig-2.11.95 intel/2016a 2.3.2 -freetype-2.6.3 foss/2016a"},{"location":"version-specific/supported-software/#libxi","title":"libXi","text":"

                    LibXi provides an X Window System client interface to the XINPUT extension to the X protocol.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.7.6 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxinerama","title":"libXinerama","text":"

                    Xinerama multiple monitor library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.1.3 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxkbcommon","title":"libxkbcommon","text":"

                    xkbcommon is a library to handle keyboard descriptions, including loading them from disk, parsing them and handling their state. It's mainly meant for client toolkits, window systems, and other system applications.

                    homepage: http://xkbcommon.org/

                    version toolchain 0.6.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxml","title":"libxml++","text":"

                    libxml++ is a C++ wrapper for the libxml XML parser library.

                    homepage: http://libxmlplusplus.sourceforge.net

                    version toolchain 2.40.1 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0 2.42.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#libxml2","title":"libxml2","text":"

                    Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable outside of the Gnome platform).

                    homepage: http://xmlsoft.org/

                    version versionsuffix toolchain 2.9.2 GCC/4.8.3, GCC/4.8.4, GCC/4.9.2, GCC/4.9.3-2.25, GNU/4.9.3-2.25 2.9.3 GCC/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016a 2.9.3 -Python-2.7.11 foss/2016a, intel/2016a 2.9.4 GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, foss/2016.04, foss/2016a, foss/2016b, gimkl/2017a, intel/2016b 2.9.4 -Python-2.7.12 foss/2016b, intel/2016b 2.9.4 -Python-2.7.13 intel/2017a 2.9.5 GCCcore/6.3.0 2.9.6 GCCcore/6.4.0 2.9.7 GCCcore/6.4.0 2.9.8 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0 2.9.9 GCCcore/8.3.0 2.9.10 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.2.0, GCCcore/9.3.0 2.9.13 GCCcore/11.3.0 2.10.3 GCCcore/12.2.0 2.11.4 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libxml2-python","title":"libxml2-python","text":"

                    Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable outside of the Gnome platform). This is the Python binding.

                    homepage: http://xmlsoft.org/

                    version versionsuffix toolchain 2.9.7 -Python-2.7.14 intel/2018a 2.9.8 -Python-2.7.15 foss/2018b 2.9.8 -Python-3.7.2 GCCcore/8.2.0 2.9.13 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#libxmu","title":"libXmu","text":"

                    libXmu provides a set of miscellaneous utility convenience functions for X libraries to use. libXmuu is a lighter-weight version that does not depend on libXt or libXext

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.1.2 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxp","title":"libXp","text":"

                    libXp provides the X print library.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.0.3 intel/2016a"},{"location":"version-specific/supported-software/#libxpm","title":"libXpm","text":"

                    libXp provides the X print library.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 3.5.11 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxrandr","title":"libXrandr","text":"

                    X Resize, Rotate and Reflection extension library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.5.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libxrender","title":"libXrender","text":"

                    X11 client-side library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 0.9.9 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxslt","title":"libxslt","text":"

                    Libxslt is the XSLT C library developed for the GNOME project (but usable outside of the Gnome platform).

                    homepage: http://xmlsoft.org/

                    version versionsuffix toolchain 1.1.28 foss/2016a, intel/2016a 1.1.28 -Python-2.7.11 intel/2016a 1.1.29 foss/2016b, intel/2016a, intel/2016b, intel/2017a 1.1.30 GCCcore/6.3.0 1.1.32 GCCcore/6.4.0, GCCcore/7.3.0 1.1.33 GCCcore/8.2.0 1.1.34 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.1.37 GCCcore/12.2.0 1.1.38 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libxsmm","title":"libxsmm","text":"

                    LIBXSMM is a library for small dense and small sparse matrix-matrix multiplications targeting Intel Architecture (x86).

                    homepage: https://github.com/hfp/libxsmm

                    version toolchain 1.4 intel/2016a 1.4.4 foss/2016b, intel/2016b 1.6.4 foss/2016b, intel/2016b 1.8.2 intel/2017b 1.8.3 foss/2018a, intel/2018a 1.10 GCC/8.2.0-2.31.1, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 1.16.1 GCC/10.2.0, GCC/9.3.0, iccifort/2020.1.217, iccifort/2020.4.304 1.16.2 GCC/10.3.0, intel-compilers/2021.2.0 1.17 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#libxt","title":"libXt","text":"

                    libXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.1.5 foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#libxxf86vm","title":"libXxf86vm","text":"

                    X11 XFree86 video mode extension library

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.1.4 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#libyaml","title":"libyaml","text":"

                    LibYAML is a YAML parser and emitter written in C.

                    homepage: https://pyyaml.org/wiki/LibYAML

                    version toolchain 0.1.6 GCCcore/6.4.0, foss/2016b, intel/2016a, intel/2016b 0.1.7 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, system 0.2.1 GCCcore/7.3.0, system 0.2.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.2.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#libzeep","title":"libzeep","text":"

                    Libzeep was originally developed to make it easy to create SOAP servers.

                    homepage: https://github.com/mhekkel/libzeep

                    version toolchain 5.0.1 gompi/2019b"},{"location":"version-specific/supported-software/#libzip","title":"libzip","text":"

                    libzip is a C library for reading, creating, and modifying zip archives.

                    homepage: https://libzip.org/

                    version toolchain 1.5.2 GCCcore/8.2.0 1.7.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 1.9.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#lie_learn","title":"lie_learn","text":"

                    lie_learn is a python package that knows how to do various tricky computations related to Lie groups and manifolds (mainly the sphere S2 and rotation group SO3).

                    homepage: https://github.com/AMLab-Amsterdam/lie_learn

                    version versionsuffix toolchain 0.0.1.post1 -Python-3.7.4 fosscuda/2019b"},{"location":"version-specific/supported-software/#lifelines","title":"lifelines","text":"

                    lifelines is a complete survival analysis library, written in pure Python.

                    homepage: https://lifelines.readthedocs.io/en/latest/

                    version versionsuffix toolchain 0.22.8 -Python-3.7.2 fosscuda/2019a 0.26.3 fosscuda/2020b 0.27.4 foss/2022a"},{"location":"version-specific/supported-software/#lighter","title":"Lighter","text":"

                    Fast and memory-efficient sequencing error corrector

                    homepage: https://github.com/mourisl/Lighter

                    version toolchain 1.1.1 foss/2018a 1.1.2 GCC/11.2.0, foss/2018b"},{"location":"version-specific/supported-software/#liknorm","title":"liknorm","text":"

                    Moments of the product of an exponential-family likelihood with a Normal distribution.

                    homepage: https://github.com/limix/liknorm

                    version toolchain 1.5.2 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#likwid","title":"likwid","text":"

                    Likwid stands for Like I knew what I am doing. This project contributes easy to use command line tools for Linux to support programmers in developing high performance multi threaded programs.

                    homepage: https://github.com/RRZE-HPC/likwid

                    version toolchain 4.0.1 GNU/4.9.3-2.25 4.1.0 GCCcore/4.9.3 4.2.0 GCCcore/6.3.0, GCCcore/6.4.0, foss/2017a, intel/2017a 4.3.2 GCCcore/6.4.0, GCCcore/7.3.0 5.0.1 GCCcore/8.3.0 5.1.0 GCCcore/9.3.0 5.2.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2020.4.304, intel-compilers/2021.2.0 5.2.1 GCC/11.2.0 5.2.2 GCC/11.3.0"},{"location":"version-specific/supported-software/#limix","title":"limix","text":"

                    Limix is a flexible and efficient linear mixed model library with interfaces to Python. Genomic analyses require flexible models that can be adapted to the needs of the user. Limix is smart about how particular models are fitted to save computational cost.

                    homepage: https://github.com/limix/limix

                    version versionsuffix toolchain 2.0.4 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#linbox","title":"LinBox","text":"

                    C++ library for exact, high-performance linear algebra

                    homepage: http://linalg.org/

                    version toolchain 1.4.0 foss/2016a"},{"location":"version-specific/supported-software/#line_profiler","title":"line_profiler","text":"

                    line_profiler is a module for doing line-by-line profiling of functions. kernprof is a convenient script for running either line_profiler or the Python standard library's cProfile or profile modules, depending on what is available.

                    homepage: https://github.com/pyutils/line_profiler

                    version versionsuffix toolchain 3.1.0 -Python-3.8.2 foss/2020a 3.5.1 foss/2021b 4.0.0 foss/2022a"},{"location":"version-specific/supported-software/#lingeling","title":"Lingeling","text":"

                    One of the design principles of the state-of-the-art SAT solver Lingeling is to use as compact data structures as possible. These reduce memory usage, increase cache efficiency and thus improve runtime, particularly, when using multiple solver instances on multi-core machines, as in our parallel portfolio solver Plingeling and our cube and conquer solver Treengeling.

                    homepage: http://fmv.jku.at/lingeling/

                    version toolchain bcp GCC/9.3.0"},{"location":"version-specific/supported-software/#lisflood-fp","title":"LISFLOOD-FP","text":"

                    The LISFLOOD-FP is a raster-based hydrodynamic model originally developed by the University of Bristol. It has undergone extensive development since conception and includes a collection of numerical schemes implemented to solve a variety of mathematical approximations of the 2D shallow water equations of different complexity. The local inertia solver, known as the ACC solver, is widely used to simulate floods with gradually-varying, subcritical flow over sufficiently rough surfaces with Manning\u2019s coefficient of at least 0.03. It has a version with CPU-specific optimisations and enhanced with a subgrid channel model. LISFLOOD-FP also includes second-order discontinuous Galerkin (DG2) and first-order finite volume (FV1) solvers of the full shallow water equations for modelling a wide range of flows, including rapidly-propagating, supercritical flows, shock waves, or flows over very smooth surfaces. The DG2/FV1 solvers are parallelised for the multi-core CPU architecture, but do not integrate with the subgrid channel model nor with the CPU-specific optimisations.

                    homepage: https://www.seamlesswave.com/LISFLOOD8.0.html

                    version versionsuffix toolchain 8.1 gompi/2022a 8.1 -CUDA-11.7.0 gompi/2022a"},{"location":"version-specific/supported-software/#littlecms","title":"LittleCMS","text":"

                    Little CMS intends to be an OPEN SOURCE small-footprint color management engine, with special focus on accuracy and performance.

                    homepage: http://www.littlecms.com/

                    version toolchain 2.7 intel/2016a 2.8 GCCcore/6.4.0, foss/2016b, intel/2016b, intel/2017a 2.9 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2017b, foss/2018a, intel/2017b 2.11 GCCcore/10.2.0 2.12 GCCcore/10.3.0, GCCcore/11.2.0 2.13.1 GCCcore/11.3.0 2.14 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#lldb","title":"LLDB","text":"

                    The debugger component of the LLVM project

                    homepage: https://lldb.llvm.org/

                    version versionsuffix toolchain 11.0.0 -Python-3.8.2 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#llvm","title":"LLVM","text":"

                    The LLVM Core libraries provide a modern source- and target-independent optimizer, along with code generation support for many popular CPUs (as well as some less common ones!) These libraries are built around a well specified code representation known as the LLVM intermediate representation (\"LLVM IR\"). The LLVM Core libraries are well documented, and it is particularly easy to invent your own language (or port an existing compiler) to use LLVM as an optimizer and code generator.

                    homepage: https://llvm.org/

                    version toolchain 3.7.1 foss/2016a, gimkl/2.11.5, intel/2016a 3.8.0 foss/2016a, intel/2016a 3.8.1 GCCcore/4.9.3, foss/2016b, intel/2016b 3.9.0 foss/2016b, intel/2016b 3.9.1 foss/2017a 4.0.0 foss/2017a, intel/2017a 4.0.1 intel/2017a, intel/2017b 5.0.0 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 5.0.1 GCCcore/6.4.0 6.0.0 GCCcore/6.4.0, GCCcore/7.3.0 7.0.0 GCCcore/7.2.0, GCCcore/7.3.0 7.0.1 GCCcore/8.2.0 8.0.1 GCCcore/8.3.0 9.0.0 GCCcore/8.3.0 9.0.1 GCCcore/8.3.0, GCCcore/9.3.0 10.0.0 GCCcore/8.3.0 10.0.1 GCCcore/10.2.0 11.0.0 GCCcore/10.2.0 11.1.0 GCCcore/10.3.0 12.0.1 GCCcore/10.3.0, GCCcore/11.2.0 14.0.3 GCCcore/11.3.0 15.0.5 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#lmdb","title":"LMDB","text":"

                    LMDB is a fast, memory-efficient database. With memory-mapped files, it has the read performance of a pure in-memory database while retaining the persistence of standard disk-based databases.

                    homepage: https://symas.com/lmdb

                    version toolchain 0.9.18 foss/2016a 0.9.21 GCCcore/6.4.0, intel/2017a 0.9.22 GCCcore/7.3.0 0.9.23 GCCcore/8.2.0 0.9.24 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 0.9.28 GCCcore/10.3.0 0.9.29 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#lmfit","title":"LMfit","text":"

                    Lmfit provides a high-level interface to non-linear optimization and curve fitting problems for Python

                    homepage: https://lmfit.github.io/lmfit-py

                    version versionsuffix toolchain 0.9.9 -Python-3.6.4 intel/2018a 0.9.14 -Python-2.7.15 intel/2018b 1.0.0 -Python-3.7.4 foss/2019b, intel/2019b 1.0.1 -Python-3.8.2 foss/2020a 1.0.2 foss/2020b, intel/2020b 1.0.3 foss/2021a, foss/2022a, intel/2022a 1.2.1 foss/2021b"},{"location":"version-specific/supported-software/#lmod","title":"Lmod","text":"

                    Lmod is a Lua based module system. Modules allow for dynamic modification of a user's environment under Unix systems. See www.tacc.utexas.edu/tacc-projects/lmod for a complete description. Lmod is a new implementation that easily handles the MODULEPATH Hierarchical problem. It is drop-in replacement for TCL/C modules and reads TCL modulefiles directly.

                    homepage: http://sourceforge.net/projects/lmod/

                    version toolchain 5.2 GCC/4.8.2 5.2.5 GCC/4.8.2 5.3 GCC/4.8.2 5.4 GCC/4.8.2 5.4.2 GCC/4.8.2 5.5 GCC/4.8.2 5.5.1 GCC/4.8.2 5.6 GCC/4.8.2 5.7 GCC/4.8.2 5.8 GCC/4.8.2 5.8.5 GCC/4.8.2 5.9 GCC/4.8.2, GCC/4.8.4 6.4.2 system 7.3 system"},{"location":"version-specific/supported-software/#lncloom","title":"LncLOOM","text":"

                    LncLOOM is a graph-based framework that uses integer programming to identify combinations of short motifs that are deeply conserved in rapidly evolving sequences.

                    homepage: https://github.com/lncLOOM/lncLOOMv2/

                    version toolchain 2.0 foss/2020b"},{"location":"version-specific/supported-software/#locarna","title":"LocARNA","text":"

                    LocARNA is a collection of alignment tools for the structural analysis of RNA. Given a set of RNA sequences, LocARNA simultaneously aligns and predicts common structures for your RNAs. In this way, LocARNA performs Sankoff-like alignment and is in particular suited for analyzing sets of related RNAs without known common structure.

                    homepage: http://www.bioinf.uni-freiburg.de/Software/LocARNA/

                    version versionsuffix toolchain 1.9.2 foss/2016b 1.9.2.2 -Python-3.6.6 foss/2018b 1.9.2.3 foss/2021b"},{"location":"version-specific/supported-software/#lofreq","title":"LoFreq","text":"

                    Fast and sensitive variant calling from next-gen sequencing data

                    homepage: http://csb5.github.io/lofreq

                    version versionsuffix toolchain 2.1.2 -Python-2.7.12 intel/2016b 2.1.3.1 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a"},{"location":"version-specific/supported-software/#log-log4perl","title":"Log-Log4perl","text":"

                    Log4perl

                    homepage: https://metacpan.org/pod/Log::Log4perl

                    version toolchain 1.47 foss/2016a"},{"location":"version-specific/supported-software/#logaddexp","title":"logaddexp","text":"

                    C library that implements the logarithm of the sum of exponentiations. Inspired by NumPy's logaddexp function.

                    homepage: https://github.com/horta/logaddexp

                    version toolchain 1.0.3 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#lohhla","title":"LOHHLA","text":"

                    LOHHLA, Loss Of Heterozygosity in Human Leukocyte Antigen, a computational tool to evaluate HLA loss using next-generation sequencing data.

                    homepage: https://bitbucket.org/mcgranahanlab/lohhla

                    version versionsuffix toolchain 2018.11.05 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#loki","title":"Loki","text":"

                    Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms.

                    homepage: http://loki-lib.sourceforge.net/

                    version toolchain 0.1.7 foss/2016a, foss/2016b, intel/2016a, intel/2016b, intel/2018a"},{"location":"version-specific/supported-software/#longestrunsubsequence","title":"longestrunsubsequence","text":"

                    Implementation of a solver for the Longest Run Subsequence Problem. Given a sequence as input, compute a longest subsequence such that there is at most one run for every character.

                    homepage: https://pypi.org/project/longestrunsubsequence/

                    version toolchain 1.0.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#longread_umi","title":"longread_umi","text":"

                    A collection of scripts for processing longread UMI data.

                    homepage: https://github.com/SorenKarst/longread_umi

                    version toolchain 0.3.2 foss/2020b"},{"location":"version-specific/supported-software/#longshot","title":"Longshot","text":"

                    Longshot is a variant calling tool for diploid genomes using long error prone reads such as Pacific Biosciences (PacBio) SMRT and Oxford Nanopore Technologies (ONT). It takes as input an aligned BAM file and outputs a phased VCF file with variants and haplotype information. It can also output haplotype-separated BAM files that can be used for downstream analysis. Currently, it only calls single nucleotide variants (SNVs).

                    homepage: https://github.com/pjedge/longshot

                    version toolchain 0.3.4 GCCcore/8.2.0 0.4.1 GCC/7.3.0-2.30, GCCcore/8.3.0 0.4.3 GCCcore/10.2.0 0.4.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#loompy","title":"loompy","text":"

                    Python implementation of the Loom file format, an efficient file format for large omics datasets

                    homepage: https://loompy.org/

                    version toolchain 3.0.6 intel/2020b 3.0.7 foss/2021a, foss/2021b, foss/2022a, intel/2021b"},{"location":"version-specific/supported-software/#loomr","title":"loomR","text":"

                    An R interface for loom files

                    homepage: https://github.com/mojaveazure/loomR

                    version versionsuffix toolchain 0.2.0-20180425 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#lordec","title":"LoRDEC","text":"

                    Program for correcting sequencing errors in long reads (e.g., PacBio, Oxford Nanopore) using highly accurate short reads (e.g., Illumina).

                    homepage: https://www.lirmm.fr/~rivals/lordec

                    version toolchain 0.9 gompi/2022a"},{"location":"version-specific/supported-software/#lpeg","title":"LPeg","text":"

                    LPeg is a new pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs).

                    homepage: http://www.inf.puc-rio.br/~roberto/lpeg/

                    version toolchain 1.0.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#lpjml","title":"LPJmL","text":"

                    Dynamic global vegetation model with managed land and river routing

                    homepage: https://github.com/PIK-LPJmL/LPJmL

                    version toolchain 4.0.003 iimpi/2020b"},{"location":"version-specific/supported-software/#lpsolve","title":"lpsolve","text":"

                    Mixed Integer Linear Programming (MILP) solver

                    homepage: https://sourceforge.net/projects/lpsolve/

                    version toolchain 5.5.2.5 GCC/6.4.0-2.28, GCC/8.3.0, foss/2018a, iccifort/2017.4.196-GCC-6.4.0-2.28, iccifort/2019.1.144-GCC-8.2.0-2.31.1, iccifort/2019.5.281, intel/2017a, intel/2018b 5.5.2.11 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#lrslib","title":"lrslib","text":"

                    lrslib is a self-contained ANSI C implementation of the reverse search algorithm for vertex enumeration/convex hull problems

                    homepage: http://cgm.cs.mcgill.ca/~avis/C/lrs.html

                    version toolchain 6.2 intel/2018b 7.0a gompi/2019a"},{"location":"version-specific/supported-software/#ls-prepost","title":"LS-PrePost","text":"

                    LS-PrePost is an advanced pre and post-processor that is delivered free with LS-DYNA.

                    homepage: http://lstc.com/products/ls-prepost

                    version versionsuffix toolchain 4.6 -centos6 system 4.6 -centos7 system 4.6.24 system 4.7.8 system 4.7.15 system"},{"location":"version-specific/supported-software/#lsd2","title":"LSD2","text":"

                    Least-squares methods to estimate rates and dates from phylogenies

                    homepage: https://github.com/tothuhien/lsd2

                    version toolchain 1.9.7 GCCcore/9.3.0 2.2 GCCcore/10.2.0 2.3 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 2.4.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#lsms","title":"LSMS","text":"

                    LSMS benchmark, part of CORAL suite

                    homepage: https://asc.llnl.gov/CORAL-benchmarks/#lsms

                    version toolchain 3_rev237 foss/2016a"},{"location":"version-specific/supported-software/#ltr_retriever","title":"LTR_retriever","text":"

                    LTR_retriever is a highly accurate and sensitive program for identification of LTR retrotransposons; The LTR Assembly Index (LAI) is also included in this package.

                    homepage: https://github.com/oushujun/LTR_retriever

                    version toolchain 2.9.0 foss/2020b, foss/2022a"},{"location":"version-specific/supported-software/#ltrdetector","title":"LtrDetector","text":"

                    A modern tool-suite for detectinglong terminal repeat retrotransposons de-novo onthe genomic scale

                    homepage: https://github.com/TulsaBioinformaticsToolsmith/LtrDetector

                    version versionsuffix toolchain 1.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#lua","title":"Lua","text":"

                    Lua is a powerful, fast, lightweight, embeddable scripting language. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.

                    homepage: https://www.lua.org/

                    version toolchain 5.1.4-5 GCC/4.8.2 5.1.4-8 GCC/4.8.2, GCC/4.8.4, system 5.1.5 GCCcore/7.3.0, GCCcore/8.3.0 5.2.4 GCCcore/6.4.0, GCCcore/7.3.0 5.3.4 GCCcore/7.2.0, system 5.3.5 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, system 5.4.2 GCCcore/10.2.0 5.4.3 GCCcore/10.3.0, GCCcore/11.2.0 5.4.4 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#luajit","title":"LuaJIT","text":"

                    LuaJIT is a Just-In-Time Compiler (JIT) for the Lua programming language. Lua is a powerful, dynamic and light-weight programming language. It may be embedded or used as a general-purpose, stand-alone language.

                    homepage: https://luajit.org/

                    version toolchain 2.0.2 GCC/4.9.2 2.1.0-beta3_20230602 GCC/11.3.0"},{"location":"version-specific/supported-software/#luajit2-openresty","title":"LuaJIT2-OpenResty","text":"

                    openresty/luajit2 - OpenResty's maintained branch of LuaJIT. LuaJIT is a Just-In-Time Compiler (JIT) for the Lua programming language. Lua is a powerful, dynamic and light-weight programming language. It may be embedded or used as a general-purpose, stand-alone language.

                    homepage: https://github.com/openresty/luajit2

                    version toolchain 2.1-20220411 GCC/9.3.0"},{"location":"version-specific/supported-software/#luarocks","title":"LuaRocks","text":"

                    LuaRocks is the package manager for Lua modules. It allows you to create and install Lua modules as self-contained packages called rocks.

                    homepage: https://luarocks.org

                    version toolchain 3.9.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#lucene-geo-gazetteer","title":"Lucene-Geo-Gazetteer","text":"

                    A command line gazetteer built around the Geonames.org dataset, that uses the Apache Lucene library to create a searchable gazetteer.

                    homepage: https://github.com/chrismattmann/lucene-geo-gazetteer

                    version toolchain 20170718 system"},{"location":"version-specific/supported-software/#lumpy","title":"LUMPY","text":"

                    A probabilistic framework for structural variant discovery.

                    homepage: https://github.com/arq5x/lumpy-sv

                    version toolchain 0.2.13 foss/2016b 0.3.1 foss/2020b"},{"location":"version-specific/supported-software/#luscus","title":"LUSCUS","text":"

                    Luscus is the program for graphical display and editing of molecular systems.

                    homepage: https://sourceforge.net/projects/luscus/

                    version toolchain 0.8.6 foss/2018b, intel/2018a"},{"location":"version-specific/supported-software/#lwgrp","title":"lwgrp","text":"

                    The light-weight group library defines data structures and collective operations to group MPI processes as an ordered set. Such groups are useful as substitutes for MPI communicators when the overhead of communicator creation is too costly. For example, certain sorting algorithms recursively divide processes into subgroups as the sort algorithm progresses. These groups may be different with each invocation, so that it is inefficient to create and destroy communicators during the sort routine.

                    homepage: https://github.com/LLNL/lwgrp

                    version toolchain 1.0.2 gompi/2019a, gompi/2020a, iimpi/2019a, iimpi/2020a 1.0.3 gompi/2020b 1.0.5 gompi/2022a"},{"location":"version-specific/supported-software/#lxml","title":"lxml","text":"

                    The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt.

                    homepage: https://lxml.de/

                    version versionsuffix toolchain 3.5.0 -Python-2.7.11 intel/2016a 3.6.0 -Python-2.7.11 intel/2016a 3.6.4 -Python-2.7.12 intel/2016b 4.0.0 -Python-2.7.13 intel/2017a 4.1.1 -Python-2.7.14 intel/2017b 4.2.0 -Python-2.7.14 foss/2018a, intel/2018a 4.2.0 -Python-3.6.4 intel/2018a 4.2.5 -Python-2.7.15 foss/2018b, intel/2018b 4.2.5 -Python-3.6.6 foss/2018b 4.3.3 GCCcore/8.2.0 4.4.2 GCCcore/8.3.0 4.5.2 GCCcore/9.3.0 4.6.2 GCCcore/10.2.0 4.6.3 GCCcore/10.3.0, GCCcore/11.2.0 4.9.1 GCCcore/11.3.0 4.9.2 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#lynx","title":"lynx","text":"

                    lynx is an alphanumeric display oriented World-Wide Web Client

                    homepage: http://lynx.browser.org/

                    version versionsuffix toolchain 2.8.9 -develop foss/2016b"},{"location":"version-specific/supported-software/#lz4","title":"lz4","text":"

                    LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core. It features an extremely fast decoder, with speed in multiple GB/s per core.

                    homepage: https://lz4.github.io/lz4/

                    version toolchain 1.8.2 GCCcore/5.4.0, GCCcore/6.4.0 1.9.0 GCCcore/7.3.0 1.9.1 GCCcore/8.2.0 1.9.2 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.9.3 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 1.9.4 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#lzo","title":"LZO","text":"

                    Portable lossless data compression library

                    homepage: http://www.oberhumer.com/opensource/lzo/

                    version toolchain 2.09 intel/2016b, intel/2017b 2.10 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2017a, foss/2018a, foss/2018b, fosscuda/2018b, intel/2017a"},{"location":"version-specific/supported-software/#m","title":"M","text":"

                    M1QN3 - M3GNet - M4 - MACH - MACS2 - MACSE - maeparser - MAFFT - MAGeCK - magick - Magics - magma - MAGMA-gene-analysis - MagresPython - mahotas - MAJIQ - make - makedepend - makedepf90 - makeinfo - MAKER - Mako - Mamba - mandrake - mannkendall - manta - mapDamage - Maple - MapSplice - Maq - MariaDB - MariaDB-connector-c - MARS - Mash - MaSuRCA - Mathematica - MathGL - MATIO - MATLAB - MATLAB-Engine - matlab-proxy - matplotlib - matplotlib-inline - MATSim - Maude - mauveAligner - Maven - mawk - MaxBin - MaxQuant - mayavi - maze - MbedTLS - MBROLA - mbuffer - mc - MCL - MCR - mctc-lib - mcu - MDAnalysis - MDBM - MDSplus - MDSplus-Java - MDSplus-Python - mdtest - MDTraj - medaka - medImgProc - MedPy - Meep - MEGA - MEGACC - MEGAHIT - Megalodon - MEGAN - Meld - MEM - MEME - memkind - memory-profiler - MEMOTE - memtester - meRanTK - MERCKX - Mercurial - Mesa - Mesa-demos - meshalyzer - meshio - meshtool - Meson - meson-python - Mesquite - MESS - MetaBAT - MetaboAnalystR - metaerg - MetaEuk - MetaGeneAnnotator - Metagenome-Atlas - Metal - MetaMorpheus - MetaPhlAn - MetaPhlAn2 - metaWRAP - Metaxa2 - methylartist - MethylDackel - methylpy - METIS - mgltools - mhcflurry - mhcnuggets - MicrobeAnnotator - microctools - MiGEC - MIGRATE-N - Miller - mimalloc - MINC - MinCED - Mini-XML - miniasm - minibar - MiniCARD - Miniconda2 - Miniconda3 - minieigen - Minimac4 - minimap2 - Minipolish - MiniSat - minizip - MINPACK - MinPath - MIRA - miRDeep2 - Mish-Cuda - misha - MITgcmutils - MITObim - MitoZ - MiXCR - MixMHC2pred - mkl-dnn - mkl-service - mkl_fft - MLC - MLxtend - mm-common - Mmg - MMSEQ - MMseqs2 - mmtf-cpp - MNE-Python - MOABB - MOABS - MOB-suite - ModelTest-NG - modred - Molcas - mold - Molden - molecularGSM - Molekel - molmod - Molpro - MONA - MONAI - MONAI-Label - mongolite - Mono - Monocle3 - moonjit - MOOSE - mordecai - MoreRONN - mosdepth - Mothur - motif - MotionCor2 - motionSegmentation - MoviePy - MPB - MPC - MPFR - mpi4py - MPICH - MPICH2 - mpifileutils - mpiP - MPJ-Express - mpmath - MrBayes - mrcfile - MRChem - MRCPP - MRIcron - MRPRESSO - MRtrix - msgpack-c - MSM - MSPC - msprime - mstore - MTL4 - MuJoCo - mujoco-py - multichoose - MultilevelEstimators - MultiNest - MultiQC - Multiwfn - muMerge - MUMmer - MUMPS - muParser - muparserx - MuPeXI - MUSCLE - MuSiC - MUST - MuTect - mutil - MVAPICH2 - MView - mxml - mxmlplus - MXNet - MyCC - mygene - MyMediaLite - mympingpong - Myokit - mypy - MySQL - MySQL-python - mysqlclient

                    "},{"location":"version-specific/supported-software/#m1qn3","title":"M1QN3","text":"

                    A solver of large-scale unconstrained minimization problems

                    homepage: https://who.rocq.inria.fr/Jean-Charles.Gilbert/modulopt/optimization-routines/m1qn3/m1qn3.html

                    version toolchain 3.3 GCC/10.3.0"},{"location":"version-specific/supported-software/#m3gnet","title":"M3GNet","text":"

                    \" M3GNet is a new materials graph neural network architecture that incorporates 3-body interactions. A key difference with prior materials graph implementations such as MEGNet is the addition of the coordinates for atoms and the 3\u00d73 lattice matrix in crystals, which are necessary for obtaining tensorial quantities such as forces and stresses via auto-differentiation.

                    homepage: https://materialsvirtuallab.github.io/m3gnet/

                    version toolchain 0.2.4 foss/2022a"},{"location":"version-specific/supported-software/#m4","title":"M4","text":"

                    GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.

                    homepage: https://www.gnu.org/software/m4/m4.html

                    version toolchain 1.4.16 GCC/4.8.1, GCC/4.8.2, system 1.4.17 GCC/4.8.2, GCC/4.8.4, GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-2.25, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCC/5.2.0, GCC/5.4.0-2.26, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GNU/4.9.2-2.25, GNU/4.9.3-2.25, GNU/5.1.0-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 1.4.18 FCC/4.5.0, GCCcore/10.1.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/5.5.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/7.4.0, GCCcore/8.1.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/8.4.0, GCCcore/9.1.0, GCCcore/9.2.0, GCCcore/9.3.0, GCCcore/system, system 1.4.19 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/11.4.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/9.4.0, GCCcore/9.5.0, system"},{"location":"version-specific/supported-software/#mach","title":"MACH","text":"

                    MACH 1.0 is a Markov Chain based haplotyper that can resolve long haplotypes or infer missing genotypes in samples of unrelated individuals.

                    homepage: http://csg.sph.umich.edu/abecasis/MACH/

                    version toolchain 1.0.18 system"},{"location":"version-specific/supported-software/#macs2","title":"MACS2","text":"

                    Model Based Analysis for ChIP-Seq data

                    homepage: https://github.com/taoliu/MACS

                    version versionsuffix toolchain 2.1.1.20160309 -Python-2.7.14 intel/2017b 2.1.2.1 -Python-2.7.14 foss/2017b, intel/2017b 2.1.2.1 -Python-2.7.15 intel/2019a 2.2.5 -Python-3.6.6 foss/2018b 2.2.7.1 foss/2021b"},{"location":"version-specific/supported-software/#macse","title":"MACSE","text":"

                    MACSE aligns coding NT sequences with respect to their AA translation while allowing NT sequences to contain multiple frameshifts and/or stop codons. MACSE is hence the first automatic solution to align protein-coding gene datasets containing non-functional sequences (pseudogenes) without disrupting the underlying codon structure.

                    homepage: https://bioweb.supagro.inra.fr/macse/index.php

                    version versionsuffix toolchain 2.06 -Java-15 system"},{"location":"version-specific/supported-software/#maeparser","title":"maeparser","text":"

                    maeparser is a parser for Schrodinger Maestro files.

                    homepage: https://github.com/schrodinger/maeparser

                    version toolchain 1.2.2 gompi/2019a, iimpi/2019a 1.3.0 gompi/2019b, gompi/2021a, gompi/2022a, iimpi/2020a"},{"location":"version-specific/supported-software/#mafft","title":"MAFFT","text":"

                    MAFFT is a multiple sequence alignment program for unix-like operating systems. It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment of <\u223c200 sequences), FFT-NS-2 (fast; for alignment of <\u223c30,000 sequences), etc.

                    homepage: https://mafft.cbrc.jp/alignment/software/source.html

                    version versionsuffix toolchain 7.305 -with-extensions foss/2016b 7.397 -with-extensions intel/2018a 7.427 -with-extensions foss/2018b, intel/2018b 7.429 -with-extensions GCC/8.2.0-2.31.1 7.453 -with-extensions GCC/8.3.0, GCC/9.3.0, gompi/2020a, iccifort/2019.5.281, iimpi/2020a 7.470 -with-extensions GCC/9.3.0, gompi/2020a 7.471 -with-extensions iimpi/2020a 7.475 -with-extensions GCC/10.2.0, gompi/2020b 7.487 -with-extensions gompi/2021a 7.490 -with-extensions GCC/10.3.0, GCC/11.2.0, gompi/2021b 7.505 -with-extensions GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#mageck","title":"MAGeCK","text":"

                    Model-based Analysis of Genome-wide CRISPR-Cas9 Knockout (MAGeCK) is a computational tool to identify important genes from the recent genome-scale CRISPR-Cas9 knockout screens (or GeCKO) technology. MAGeCK is developed by Wei Li and Han Xu from Dr. Xiaole Shirley Liu's lab at Dana-Farber Cancer Institute, and is being actively updated by Wei Li lab from Children's National Medical Center.

                    homepage: https://sourceforge.net/p/mageck/wiki/Home/

                    version toolchain 0.5.9.4 foss/2021a, foss/2022a 0.5.9.5 gfbf/2022b"},{"location":"version-specific/supported-software/#magick","title":"magick","text":"

                    R bindings to the open-source image processing library ImageMagick

                    homepage: https://cran.r-project.org/web/packages/magick/

                    version versionsuffix toolchain 2.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#magics","title":"Magics","text":"

                    Magics\u00a0is ECMWF's meteorological plotting software and can be either accessed directly through its Python or\u00a0Fortran interfaces or by using Metview.

                    homepage: https://confluence.ecmwf.int/display/MAGP/

                    version toolchain 4.13.0 gompi/2022a"},{"location":"version-specific/supported-software/#magma","title":"magma","text":"

                    The MAGMA project aims to develop a dense linear algebra library similar to LAPACK but for heterogeneous/hybrid architectures, starting with current Multicore+GPU systems.

                    homepage: https://icl.cs.utk.edu/magma/

                    version versionsuffix toolchain 2.3.0 fosscuda/2017b, intelcuda/2017b 2.3.0 -CUDA-9.1.85 foss/2018a 2.4.0 fosscuda/2018b 2.5.0 fosscuda/2018b 2.5.1 fosscuda/2019a, fosscuda/2019b 2.5.4 fosscuda/2019a, fosscuda/2019b, fosscuda/2020a, fosscuda/2020b, intelcuda/2019b, intelcuda/2020b 2.6.1 -CUDA-11.3.1 foss/2021a 2.6.2 -CUDA-11.4.1 foss/2021b 2.6.2 -CUDA-11.5.2 foss/2021b 2.6.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#magma-gene-analysis","title":"MAGMA-gene-analysis","text":"

                    MAGMA is a tool for gene analysis and generalized gene-set analysis of GWAS data. It can be used to analyse both raw genotype data as well as summary SNP p-values from a previous GWAS or meta-analysis.

                    homepage: https://ctg.cncr.nl/software/magma

                    version toolchain 1.07b foss/2018b 1.07bb GCC/8.3.0 1.09b GCC/11.2.0"},{"location":"version-specific/supported-software/#magrespython","title":"MagresPython","text":"

                    MagresPython is a Python library for parsing the CCP-NC ab-initio magnetic resonance file format. This is used in the latest version of the CASTEP and Quantum ESPRESSO (PWSCF) codes.

                    homepage: http://tfgg.me/magres-python

                    version versionsuffix toolchain 20160329 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#mahotas","title":"mahotas","text":"

                    Mahotas is a computer vision and image processing library for Python

                    homepage: https://mahotas.readthedocs.io/

                    version versionsuffix toolchain 1.4.3 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#majiq","title":"MAJIQ","text":"

                    MAJIQ and Voila are two software packages that together detect, quantify, and visualize local splicing variations (LSV) from RNA-Seq data.

                    homepage: https://majiq.biociphers.org

                    version versionsuffix toolchain 1.1.1 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#make","title":"make","text":"

                    GNU version of make utility

                    homepage: https://www.gnu.org/software/make/make.html

                    version toolchain 3.82 GCC/4.8.2 4.1 GCC/4.9.2 4.2.1 GCC/7.3.0-2.30, GCCcore/8.3.0 4.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/9.3.0 4.4.1 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#makedepend","title":"makedepend","text":"

                    The makedepend package contains a C-preprocessor like utility to determine build-time dependencies.

                    homepage: https://linux.die.net/man/1/makedepend

                    version toolchain 1.0.5 GCCcore/6.3.0, GCCcore/6.4.0, foss/2016a, gimkl/2.11.5, intel/2016a 1.0.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.0.7 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#makedepf90","title":"makedepf90","text":"

                    Makedepf90 is a program for automatic creation of Makefile-style dependency lists for Fortran source code.

                    homepage: https://linux.die.net/man/1/makedepf90

                    version toolchain 2.8.8 foss/2017a"},{"location":"version-specific/supported-software/#makeinfo","title":"makeinfo","text":"

                    makeinfo is part of the Texinfo project, the official documentation format of the GNU project.

                    homepage: https://www.gnu.org/software/texinfo/

                    version versionsuffix toolchain 6.7 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0, GCCcore/9.3.0 6.7 -minimal GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0, GCCcore/9.3.0 6.8 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#maker","title":"MAKER","text":"

                    MAKER is a portable and easily configurable genome annotation pipeline. Its purpose is to allow smaller eukaryotic and prokaryotic genome projects to independently annotate their genomes and to create genome databases.

                    homepage: https://yandell-lab.org/software/maker.html

                    version toolchain 3.01.04 foss/2022a"},{"location":"version-specific/supported-software/#mako","title":"Mako","text":"

                    A super-fast templating language that borrows the best ideas from the existing templating languages

                    homepage: https://www.makotemplates.org

                    version versionsuffix toolchain 1.0.4 -Python-2.7.12 foss/2016b, intel/2016b 1.0.6 -Python-2.7.13 foss/2017a, intel/2017a 1.0.7 -Python-2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, fosscuda/2018a, intel/2017b, intel/2018.01, intel/2018a, intelcuda/2017b, iomkl/2018a 1.0.7 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 1.0.7 -Python-3.6.4 intel/2018a 1.0.7 -Python-3.6.6 fosscuda/2018b 1.0.8 GCCcore/8.2.0 1.1.0 GCCcore/8.3.0 1.1.2 GCCcore/9.3.0 1.1.3 GCCcore/10.2.0 1.1.4 GCCcore/10.3.0, GCCcore/11.2.0 1.2.0 GCCcore/11.3.0 1.2.4 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#mamba","title":"Mamba","text":"

                    Mamba is a fast, robust, and cross-platform package manager. It runs on Windows, OS X and Linux (ARM64 and PPC64LE included) and is fully compatible with conda packages and supports most of conda's commands.

                    homepage: https://mamba.readthedocs.io/

                    version toolchain 4.14.0-0 system"},{"location":"version-specific/supported-software/#mandrake","title":"mandrake","text":"

                    Fast visualisation of the population structure of pathogens using Stochastic Cluster Embedding.

                    homepage: https://mandrake.readthedocs.io

                    version toolchain 1.2.2 foss/2022a"},{"location":"version-specific/supported-software/#mannkendall","title":"mannkendall","text":"

                    A python package for non parametric Mann Kendall family of trend tests.

                    homepage: https://github.com/mmhs013/pymannkendall

                    version toolchain 1.1.1 foss/2022a"},{"location":"version-specific/supported-software/#manta","title":"manta","text":"

                    Manta calls structural variants (SVs) and indels from mapped paired-end sequencing reads. It is optimized for analysis of germline variation in small sets of individuals and somatic variation in tumor/normal sample pairs. Manta discovers, assembles and scores large-scale SVs, medium-sized indels and large insertions within a single efficient workflow.

                    homepage: https://github.com/Illumina/manta

                    version versionsuffix toolchain 1.1.1 system 1.6.0 system 1.6.0 -Python-2.7.16 gompi/2019b 1.6.0 -Python-2.7.18 GCC/10.2.0, gompi/2020a"},{"location":"version-specific/supported-software/#mapdamage","title":"mapDamage","text":"

                    mapDamage2 is a computational framework written in Python and R, which tracks and quantifies DNA damage patterns among ancient DNA sequencing reads generated by Next-Generation Sequencing platforms.

                    homepage: https://ginolhac.github.io/mapDamage/

                    version versionsuffix toolchain 2.2.1 foss/2021b, foss/2022a 2.2.1 -R-4.0.4 foss/2020b 2.2.1 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#maple","title":"Maple","text":"

                    Maple combines the world's most powerful mathematical computation engine with an intuitive, 'clickable' user interface.

                    homepage: http://www.maplesoft.com/products/maple/

                    version toolchain 15 system 2017.2 system 2022.1 system"},{"location":"version-specific/supported-software/#mapsplice","title":"MapSplice","text":"

                    MapSplice is a software for mapping RNA-seq data to reference genome for splice junction discovery that depends only on reference genome, and not on any further annotations.

                    homepage: http://www.netlab.uky.edu/p/bioinfo/MapSplice2

                    version versionsuffix toolchain 2.2.1 -Python-2.7.12 foss/2016b 2.2.1 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#maq","title":"Maq","text":"

                    Maq is a software that builds mapping assemblies from short reads generated by the next-generation sequencing machines.

                    homepage: http://maq.sourceforge.net/maq-man.shtml

                    version toolchain 0.7.0 system"},{"location":"version-specific/supported-software/#mariadb","title":"MariaDB","text":"

                    MariaDB is an enhanced, drop-in replacement for MySQL. Included engines: myISAM, Aria, InnoDB, RocksDB, TokuDB, OQGraph, Mroonga.

                    homepage: https://mariadb.org/

                    version toolchain 10.0.21 GNU/4.9.3-2.25 10.1.13 intel/2016a 10.1.14 foss/2016a, intel/2016a 10.1.17 intel/2016b 10.1.24 intel/2017a 10.2.11 foss/2017b, intel/2017b 10.3.7 intel/2018a 10.3.10 foss/2018b 10.3.14 foss/2019a 10.4.13 gompi/2019b 10.5.8 GCC/10.2.0 10.6.4 GCC/10.3.0, GCC/11.2.0 10.9.3 GCC/11.3.0 10.11.2 GCC/12.2.0"},{"location":"version-specific/supported-software/#mariadb-connector-c","title":"MariaDB-connector-c","text":"

                    MariaDB Connector/C is used to connect applications developed in C/C++ to MariaDB and MySQL databases.

                    homepage: https://downloads.mariadb.org/connector-c/

                    version toolchain 2.3.4 foss/2017b, intel/2017b 2.3.5 intel/2018a, iomkl/2018a 2.3.7 GCCcore/8.2.0, GCCcore/8.3.0, foss/2018b 3.1.7 GCCcore/9.3.0 3.1.11 GCCcore/10.2.0 3.2.2 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#mars","title":"MARS","text":"

                    improving Multiple circular sequence Alignment using Refined Sequences

                    homepage: https://github.com/lorrainea/MARS

                    version toolchain 20191101 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#mash","title":"Mash","text":"

                    Fast genome and metagenome distance estimation using MinHash

                    homepage: http://mash.readthedocs.org

                    version toolchain 2.0 foss/2018a 2.1 foss/2018b 2.2 GCC/9.3.0 2.3 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, intel-compilers/2021.4.0"},{"location":"version-specific/supported-software/#masurca","title":"MaSuRCA","text":"

                    MaSuRCA is whole genome assembly software. It combines the efficiency of the de Bruijn graph and Overlap-Layout-Consensus (OLC) approaches. MaSuRCA can assemble data sets containing only short reads from Illumina sequencing or a mixture of short reads and long reads (Sanger, 454, Pacbio and Nanopore).

                    homepage: https://www.genome.umd.edu/masurca.html

                    version versionsuffix toolchain 3.2.2 foss/2016a 3.2.2 -Perl-5.26.0 foss/2017b 3.2.4 foss/2018a 3.2.5 -Perl-5.26.0 foss/2017b 3.3.1 -Perl-5.28.0 foss/2018b 4.0.1 -Perl-5.30.2 foss/2020a 4.0.9 -Perl-5.32.1 foss/2021a 4.1.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#mathematica","title":"Mathematica","text":"

                    Mathematica is a computational software program used in many scientific, engineering, mathematical and computing fields.

                    homepage: http://www.wolfram.com/mathematica

                    version toolchain 9.0.1 system 10.0.2 system 10.1.0 system 10.4.1 system 11.0.1 system 11.1.1 system 11.3.0 system 12.0.0 system 12.1.1 system 13.0.0 system 13.1.0 system"},{"location":"version-specific/supported-software/#mathgl","title":"MathGL","text":"

                    MathGL is ... a library for making high-quality scientific graphics under Linux and Windows; a library for the fast data plotting and data processing of large data arrays; a library for working in window and console modes and for easy embedding into other programs; a library with large and growing set of graphics.

                    homepage: http://mathgl.sourceforge.net/doc_en/Main.html

                    version toolchain 2.4.1 foss/2018a"},{"location":"version-specific/supported-software/#matio","title":"MATIO","text":"

                    matio is an C library for reading and writing Matlab MAT files.

                    homepage: http://sourceforge.net/projects/matio/

                    version toolchain 1.5.9 GCCcore/5.4.0 1.5.11 foss/2017b 1.5.12 GCCcore/6.4.0 1.5.17 GCCcore/8.3.0 1.5.19 GCCcore/9.3.0 1.5.21 GCCcore/10.2.0 1.5.23 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#matlab","title":"MATLAB","text":"

                    MATLAB is a high-level language and interactive environment that enables you to perform computationally intensive tasks faster than with traditional programming languages such as C, C++, and Fortran.

                    homepage: https://www.mathworks.com/products/matlab

                    version versionsuffix toolchain 2012b system 2013b system 2015a system 2016a system 2017a system 2018b system 2019b system 2020a system 2020b system 2021a system 2021b system 2022a system 2022a -r3 system 2022b system 2022b -r5 system 2023a system"},{"location":"version-specific/supported-software/#matlab-engine","title":"MATLAB-Engine","text":"

                    The MATLAB Engine API for Python provides a package for Python to call MATLAB as a computational engine.

                    homepage: https://www.mathworks.com/help/matlab/matlab-engine-for-python.html

                    version versionsuffix toolchain 2018b -Python-2.7.14 foss/2017b, intel/2017b 2018b -Python-3.6.3 foss/2017b, intel/2017b 2019b GCCcore/8.3.0 2021a-9.10.1 GCCcore/10.2.0 2021b-9.11.19 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#matlab-proxy","title":"matlab-proxy","text":"

                    A Python package which enables you to launch MATLAB and access it from a web browser.

                    homepage: https://github.com/mathworks/matlab-proxy

                    version toolchain 0.5.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#matplotlib","title":"matplotlib","text":"

                    matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python and ipython shell, web application servers, and six graphical user interface toolkits.

                    homepage: https://matplotlib.org

                    version versionsuffix toolchain 1.4.3 -Python-2.7.12 intel/2016b 1.5.1 -Python-2.7.11 foss/2016a, intel/2016a 1.5.1 -Python-2.7.11-freetype-2.6.3 foss/2016a, intel/2016a 1.5.1 -Python-2.7.12 intel/2016b 1.5.1 -Python-3.5.1 foss/2016a, intel/2016a 1.5.1 -Python-3.5.2 intel/2016b 1.5.2 -Python-2.7.12 foss/2016b, intel/2016b 1.5.2 -Python-3.5.2 intel/2016b 1.5.3 -Python-2.7.12 foss/2016b, intel/2016b 1.5.3 -Python-3.5.2 foss/2016b, intel/2016b 2.0.0 -Python-2.7.12 foss/2016b, intel/2016b 2.0.0 -Python-2.7.13 intel/2017a 2.0.1 -Python-3.6.1 intel/2017a 2.0.2 -Python-2.7.13 foss/2017a, intel/2017a 2.0.2 -Python-2.7.13-Qt-4.8.7 intel/2017a 2.0.2 -Python-2.7.13-libpng-1.6.29 intel/2017a 2.0.2 -Python-3.6.1 foss/2017a 2.0.2 -Python-3.6.1-libpng-1.6.29 intel/2017a 2.1.0 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 2.1.0 -Python-3.6.2 foss/2017b 2.1.0 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 2.1.1 -Python-2.7.14 intel/2017b 2.1.1 -Python-3.6.3 foss/2017b, intel/2017b 2.1.2 -Python-2.7.14 foss/2018a, intel/2018a 2.1.2 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018.02, iomkl/2018a 2.2.3 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 2.2.3 -Python-3.6.6 intel/2018b 2.2.4 -Python-2.7.15 foss/2019a, fosscuda/2019a, intel/2019a, intelcuda/2019a 2.2.4 -Python-2.7.16 foss/2019b, fosscuda/2019b, intel/2019b 2.2.5 -Python-2.7.16 foss/2019b 2.2.5 -Python-2.7.18 foss/2020a, foss/2020b, foss/2021b, fosscuda/2020a, intel/2020a 3.0.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 3.0.2 -Python-3.6.6 foss/2018b 3.0.3 -Python-3.7.2 foss/2019a, fosscuda/2019a, intel/2019a, intelcuda/2019a 3.1.1 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b, intelcuda/2019b 3.2.1 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a, intelcuda/2020a 3.3.3 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 3.4.2 foss/2021a, gomkl/2021a, intel/2021a 3.4.3 foss/2021b, intel/2021b 3.5.1 foss/2020b, intel/2020b 3.5.2 foss/2021b, foss/2022a, intel/2022a 3.7.0 gfbf/2022b"},{"location":"version-specific/supported-software/#matplotlib-inline","title":"matplotlib-inline","text":"

                    Matplotlib Inline Back-end for IPython and Jupyter.

                    homepage: https://github.com/ipython/matplotlib-inline

                    version toolchain 0.1.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#matsim","title":"MATSim","text":"

                    MATSim is an open-source framework to implement large-scale agent-based transport simulations.

                    homepage: https://www.matsim.org/

                    version versionsuffix toolchain 0.8.1 -Java-1.8.0_112 intel/2016b 14.0 -Java-11 GCCcore/11.2.0, system"},{"location":"version-specific/supported-software/#maude","title":"Maude","text":"

                    Maude is a high-performance reflective language and system supporting both equational and rewriting logic specification and programming for a wide range of applications. Maude has been influenced in important ways by the OBJ3 language, which can be regarded as an equational logic sublanguage. Besides supporting equational specification and programming, Maude also supports rewriting logic computation.

                    homepage: https://maude.cs.illinois.edu/w/index.php/The_Maude_System

                    version toolchain 3.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#mauvealigner","title":"mauveAligner","text":"

                    Mauve is a system for constructing multiple genome alignments in the presence of large-scale evolutionary events such as rearrangement and inversion. Multiple genome alignments provide a basis for research into comparative genomics and the study of genome-wide evolutionary dynamics. This version was built without Graphical User Interface.

                    homepage: https://darlinglab.org/mauve/mauve.html

                    version toolchain 4736 gompi/2020a"},{"location":"version-specific/supported-software/#maven","title":"Maven","text":"

                    Binary maven install, Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

                    homepage: https://maven.apache.org/index.html

                    version toolchain 3.2.3 system 3.3.3 system 3.3.9 system 3.5.0 system 3.5.2 system 3.6.0 system 3.6.3 system"},{"location":"version-specific/supported-software/#mawk","title":"mawk","text":"

                    mawk is an interpreter for the AWK Programming Language.

                    homepage: https://invisible-island.net/mawk/

                    version toolchain 1.3.4-20141206 GCC/4.9.2 1.3.4-20171017 foss/2018a, foss/2018b, foss/2019a, intel/2018a, intel/2018b, intel/2019a"},{"location":"version-specific/supported-software/#maxbin","title":"MaxBin","text":"

                    MaxBin is software for binning assembled metagenomic sequences based on an Expectation-Maximization algorithm.

                    homepage: https://sourceforge.net/projects/maxbin/

                    version versionsuffix toolchain 2.2.6 -Perl-5.28.0 foss/2018b 2.2.7 gompi/2020b, gompi/2021a, gompi/2021b 2.2.7 -Perl-5.28.1 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#maxquant","title":"MaxQuant","text":"

                    MaxQuant is a quantitative proteomics software package designed for analyzing large mass-spectrometric data sets. It is specifically aimed at high-resolution MS data. Several labeling techniques as well as label-free quantification are supported.

                    homepage: https://maxquant.org/maxquant

                    version toolchain 1.6.10.43 foss/2018b 2.0.3.0 GCCcore/11.2.0 2.2.0.0 GCCcore/11.2.0 2.4.2.0 system"},{"location":"version-specific/supported-software/#mayavi","title":"mayavi","text":"

                    The Mayavi scientific data 3-dimensional visualizer

                    homepage: http://code.enthought.com/projects/mayavi/

                    version versionsuffix toolchain 4.4.4 -Python-2.7.11 intel/2016a 4.6.2 -Python-3.6.6 foss/2018b 4.7.1 -Python-2.7.15 foss/2019a 4.7.1 -Python-3.7.2 foss/2019a 4.7.4 foss/2021b"},{"location":"version-specific/supported-software/#maze","title":"maze","text":"

                    In a similar manner to dot plots, maze highlights local sequence similarity between two DNA sequences. In particular, maximal exact substring matches are computed with MUMmer3 and visualised.

                    homepage: https://github.com/dellytools/maze

                    version toolchain 20170124 foss/2020b"},{"location":"version-specific/supported-software/#mbedtls","title":"MbedTLS","text":"

                    An open source, portable, easy to use, readable and flexible SSL library.

                    homepage: https://tls.mbed.org/

                    version toolchain 2.26.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#mbrola","title":"MBROLA","text":"

                    MBROLA is a speech synthesizer based on the concatenation of diphones. It takes a list of phonemes as input, together with prosodic information (duration of phonemes and a piecewise linear description of pitch), and produces speech samples on 16 bits (linear), at the sampling frequency of the diphone database. MBROLA voices project provides list of MBROLA speech synthesizer voices. It is intended to provide easier collaboration and automatic updates for individual users and packagers.

                    homepage: <['https://github.com/numediart/MBROLA', 'https://github.com/numediart/MBROLA-voices']>

                    version versionsuffix toolchain 3.3 -voices-20200330 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mbuffer","title":"mbuffer","text":"

                    mbuffer is a tool for buffering data streams with a large set of unique features.

                    homepage: https://www.maier-komor.de/mbuffer.html

                    version toolchain 20191016 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mc","title":"mc","text":"

                    mc-4.6.1: User-friendly file manager and visual shell

                    homepage: https://www.midnight-commander.org/

                    version toolchain 4.8.13 GCC/4.9.2"},{"location":"version-specific/supported-software/#mcl","title":"MCL","text":"

                    The MCL algorithm is short for the Markov Cluster Algorithm, a fast and scalable unsupervised cluster algorithm for graphs (also known as networks) based on simulation of (stochastic) flow in graphs.

                    homepage: https://micans.org/mcl/

                    version versionsuffix toolchain 02.063 intel/2016b 14.137 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, intel/2016b 14.137 -Perl-5.26.1 GCCcore/6.4.0 14.137 -Perl-5.28.0 GCCcore/7.3.0 22.282 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mcr","title":"MCR","text":"

                    The MATLAB Runtime is a standalone set of shared libraries that enables the execution of compiled MATLAB applications or components on computers that do not have MATLAB installed.

                    homepage: https://www.mathworks.com/products/compiler/mcr/

                    version versionsuffix toolchain R2013a system R2013b system R2014a system R2014b system R2015a system R2015b system R2016a system R2016b system R2018a system R2018b system R2019a system R2019b .8 system R2020a .6 system R2020b .5 system R2021a .0 system R2021a .3 system R2021b system R2021b .1 system R2021b .2 system R2022a system R2022a .1 system R2022a .5 system"},{"location":"version-specific/supported-software/#mctc-lib","title":"mctc-lib","text":"

                    Common tool chain for working with molecular structure data in various applications. This library provides a unified way to perform operations on molecular structure data, like reading and writing to common geometry file formats.

                    homepage: https://grimme-lab.github.io/mctc-lib

                    version toolchain 0.3.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mcu","title":"mcu","text":"

                    A package for periodic wavefunction and crystallography analysis. mcu is designed to support large scale analysis and topological descriptions for periodic wavefunction.

                    homepage: https://hungqpham.com/mcu/

                    version toolchain 2021-04-06 gomkl/2021a"},{"location":"version-specific/supported-software/#mdanalysis","title":"MDAnalysis","text":"

                    MDAnalysis is an object-oriented Python library to analyze trajectories from molecular dynamics (MD) simulations in many popular formats.

                    homepage: https://www.mdanalysis.org/

                    version versionsuffix toolchain 0.20.1 -Python-3.7.4 foss/2019b, intel/2019b 1.1.1 foss/2020b 2.0.0 foss/2021a, foss/2021b, intel/2021b 2.2.0 foss/2022a 2.4.2 foss/2021a, foss/2022b"},{"location":"version-specific/supported-software/#mdbm","title":"MDBM","text":"

                    MDBM is a super-fast memory-mapped key/value store

                    homepage: https://github.com/yahoo/mdbm

                    version toolchain 4.13.0 GCCcore/6.4.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mdsplus","title":"MDSplus","text":"

                    MDSplus is a set of software tools for data acquisition and storage and a methodology for management of complex scientific data.

                    homepage: https://mdsplus.org/

                    version versionsuffix toolchain 7.0.67 -Java-1.7.0_79-Python-2.7.11 foss/2016a 7.46.1 foss/2018a 7.96.8 GCCcore/9.3.0 7.96.12 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mdsplus-java","title":"MDSplus-Java","text":"

                    MDSplus is a set of software tools for data acquisition and storage and a methodology for management of complex scientific data.

                    homepage: https://mdsplus.org

                    version versionsuffix toolchain 7.96.12 -Java-13 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#mdsplus-python","title":"MDSplus-Python","text":"

                    MDSplus is a set of software tools for data acquisition and storage and a methodology for management of complex scientific data.

                    homepage: https://mdsplus.org

                    version versionsuffix toolchain 7.96.12 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#mdtest","title":"mdtest","text":"

                    mdtest is an MPI-coordinated metadata benchmark test that performs open/stat/close operations on files and directories and then reports the performance.

                    homepage: http://sourceforge.net/projects/mdtest/

                    version toolchain 1.9.3 intel/2017a"},{"location":"version-specific/supported-software/#mdtraj","title":"MDTraj","text":"

                    Read, write and analyze MD trajectories with only a few lines of Python code.

                    homepage: https://mdtraj.org

                    version versionsuffix toolchain 1.9.1 -Python-3.6.3 intel/2017b 1.9.2 -Python-3.6.6 intel/2018b 1.9.3 -Python-3.7.4 foss/2019b, intel/2019b 1.9.4 -Python-3.8.2 foss/2020a, intel/2020a 1.9.5 foss/2020b, fosscuda/2020b, intel/2020b 1.9.7 foss/2021a, foss/2022a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#medaka","title":"medaka","text":"

                    medaka is a tool to create a consensus sequence from nanopore sequencing data.

                    homepage: https://github.com/nanoporetech/medaka

                    version versionsuffix toolchain 0.4.3 -Python-3.6.6 foss/2018b 0.11.4 -Python-3.6.6 foss/2018b 0.12.0 -Python-3.6.6 foss/2018b 1.1.1 -Python-3.7.4 foss/2019b 1.1.3 -Python-3.7.4 foss/2019b 1.2.0 -Python-3.7.4 foss/2019b 1.4.3 foss/2020b 1.4.3 -Python-3.7.4 foss/2019b 1.5.0 foss/2021a 1.6.0 foss/2021b"},{"location":"version-specific/supported-software/#medimgproc","title":"medImgProc","text":"

                    Motion correction, explicit spatio-temporal regularization of motion tracking, random speckles enhancement, and segmentation.

                    homepage: https://github.com/WeiXuanChan/motionSegmentation

                    version versionsuffix toolchain 2.5.7 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#medpy","title":"MedPy","text":"

                    MedPy is a library and script collection for medical image processing in Python, providing basic functionalities for reading, writing and manipulating large images of arbitrary dimensionality. Its main contributions are n-dimensional versions of popular image filters, a collection of image feature extractors, ready to be used with scikit-learn, and an exhaustive n-dimensional graph-cut package.

                    homepage: https://pypi.org/project/MedPy/

                    version versionsuffix toolchain 0.4.0 foss/2020b, fosscuda/2020b 0.4.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#meep","title":"Meep","text":"

                    Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems.

                    homepage: https://meep.readthedocs.io/en/latest/

                    version versionsuffix toolchain 1.3 foss/2016a 1.4.3 intel/2020a 1.6.0 -Python-2.7.14 foss/2017b, foss/2018a, intel/2018a 1.26.0 foss/2020b"},{"location":"version-specific/supported-software/#mega","title":"MEGA","text":"

                    MEGA-CC (Molecular Evolutionary Genetics Analysis Computational Core) is an integrated suite of tools for statistics-based comparative analysis of molecular sequence data based on evolutionary principles.

                    homepage: http://www.megasoftware.net/

                    version toolchain 7.0.20-1 system 10.0.5 system 11.0.10 system"},{"location":"version-specific/supported-software/#megacc","title":"MEGACC","text":"

                    MEGA-Computing Core - Sophisticated and user-friendly software suite for analyzing DNA and protein sequence data from species and populations.

                    homepage: http://www.megasoftware.net

                    version toolchain 7.0.18-1 system"},{"location":"version-specific/supported-software/#megahit","title":"MEGAHIT","text":"

                    An ultra-fast single-node solution for large and complex metagenomics assembly via succinct de Bruijn graph

                    homepage: https://github.com/voutcn/megahit

                    version versionsuffix toolchain 1.1.2 -Python-2.7.14 foss/2018a 1.1.3 -Python-2.7.14 foss/2017b, foss/2018a 1.1.3 -Python-3.6.3 foss/2017b 1.1.4 -Python-2.7.15 foss/2018b 1.1.4 -Python-3.6.6 foss/2018b 1.2.8 GCCcore/8.2.0 1.2.9 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0, foss/2018b 1.2.9 -Python-2.7.18 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#megalodon","title":"Megalodon","text":"

                    Megalodon is a research command line tool to extract high accuracy modified base and sequence variant calls from raw nanopore reads by anchoring the information rich basecalling neural network output to a reference genome/transriptome.

                    homepage: https://github.com/nanoporetech/megalodon

                    version versionsuffix toolchain 2.3.5 foss/2020b, fosscuda/2020b 2.5.0 foss/2021a 2.5.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#megan","title":"MEGAN","text":"

                    MEGAN is a comprehensive toolbox for interactively analyzing microbiome data

                    homepage: http://megan.informatik.uni-tuebingen.de/

                    version versionsuffix toolchain 6.22.0 -Java-17 system"},{"location":"version-specific/supported-software/#meld","title":"Meld","text":"

                    Meld is a visual diff and merge tool targeted at developers. Meld helps you compare files, directories, and version controlled projects. It provides two- and three-way comparison of both files and directories, and has support for many popular version control systems.

                    homepage: https://meldmerge.org/

                    version versionsuffix toolchain 3.20.1 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#mem","title":"MEM","text":"

                    Marker Enrichment Modeling (MEM) is a tool designed to calculate enrichment scores.

                    homepage: https://github.com/cytolab/mem

                    version versionsuffix toolchain 20191023 foss/2019b 20191023 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#meme","title":"MEME","text":"

                    The MEME Suite allows you to: * discover motifs using MEME, DREME (DNA only) or GLAM2 on groups of related DNA or protein sequences, * search sequence databases with motifs using MAST, FIMO, MCAST or GLAM2SCAN, * compare a motif to all motifs in a database of motifs, * associate motifs with Gene Ontology terms via their putative target genes, and * analyse motif enrichment using SpaMo or CentriMo.

                    homepage: https://meme-suite.org/meme/index.html

                    version versionsuffix toolchain 5.0.4 -Perl-5.26.0-Python-2.7.14 foss/2017b, intel/2017b 5.0.4 -Perl-5.26.0-Python-3.6.3 foss/2017b, intel/2017b 5.1.1 -Python-3.6.6 foss/2018b 5.1.1 -Python-3.7.4 foss/2019b, intel/2019b 5.4.1 GCC/10.3.0, gompi/2021b 5.4.1 -Python-2.7.18 gompi/2021b"},{"location":"version-specific/supported-software/#memkind","title":"memkind","text":"

                    User Extensible Heap Manager built on top of jemalloc which enables control of memory characteristics and a partitioning of the heap between kinds of memory.

                    homepage: http://memkind.github.io

                    version toolchain 1.5.0 GCCcore/5.4.0"},{"location":"version-specific/supported-software/#memory-profiler","title":"memory-profiler","text":"

                    memory-profiler is a Python module for monitoring memory consumption of a process as well as line-by-line analysis of memory consumption for python programs.

                    homepage: https://pypi.org/project/memory-profiler

                    version toolchain 0.55.0 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#memote","title":"MEMOTE","text":"

                    The genome-scale metabolic model test suite

                    homepage: https://github.com/opencobra/memote

                    version toolchain 0.13.0 foss/2021a"},{"location":"version-specific/supported-software/#memtester","title":"memtester","text":"

                    A userspace utility for testing the memory subsystem for faults

                    homepage: https://pyropus.ca./software/memtester/

                    version toolchain 4.5.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#merantk","title":"meRanTK","text":"

                    meRanTK is a versatile high performance toolkit for complete analysis of methylated RNA data.

                    homepage: http://www.icbi.at/index.html

                    version toolchain 1.1.1b system"},{"location":"version-specific/supported-software/#merckx","title":"MERCKX","text":"

                    Multilingual Entity/Resource Combiner & Knowledge eXtractor

                    homepage: https://github.com/madewild/MERCKX

                    version versionsuffix toolchain 20170330 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#mercurial","title":"Mercurial","text":"

                    Mercurial is a free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface.

                    homepage: https://www.mercurial-scm.org

                    version versionsuffix toolchain 3.8.3 -Python-2.7.11 foss/2016a 5.7.1 GCCcore/10.2.0 5.7.1 -Python-3.8.2 GCCcore/9.3.0 5.8 GCCcore/10.3.0 6.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mesa","title":"Mesa","text":"

                    Mesa is an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics.

                    homepage: https://www.mesa3d.org/

                    version toolchain 11.1.2 foss/2016a, gimkl/2.11.5, intel/2016a 11.2.1 foss/2016a, intel/2016a 12.0.2 foss/2016b, intel/2016b 17.0.2 foss/2017a, intel/2017a 17.2.4 intel/2017b, intelcuda/2017b 17.2.5 foss/2017b, fosscuda/2017b 17.3.6 foss/2018a, fosscuda/2018a, intel/2018a, iomkl/2018a 18.1.1 foss/2018b, fosscuda/2018b, intel/2018b 19.0.1 GCCcore/8.2.0 19.1.7 GCCcore/8.3.0 19.2.1 GCCcore/8.3.0 20.0.2 GCCcore/9.3.0 20.2.1 GCCcore/10.2.0 21.1.1 GCCcore/10.3.0 21.1.7 GCCcore/11.2.0 22.0.3 GCCcore/11.3.0 22.2.4 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#mesa-demos","title":"Mesa-demos","text":"

                    Mesa utility and demo programs, including glxinfo and eglinfo.

                    homepage: https://www.mesa3d.org/

                    version toolchain 8.4.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#meshalyzer","title":"meshalyzer","text":"

                    Graphical program for display time dependent data on 3D finite element meshes

                    homepage: https://git.opencarp.org/openCARP/meshalyzer

                    version versionsuffix toolchain 2.0 -Python-3.8.2 foss/2020a 2.2 foss/2020b 20200308 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#meshio","title":"meshio","text":"

                    meshio is a tool for reading/writing various mesh formats representing unstructured meshes

                    homepage: https://github.com/nschloe/meshio

                    version versionsuffix toolchain 1.7.1 -Python-2.7.12 intel/2016b 2.0.2 -Python-2.7.14 intel/2018a 2.0.2 -Python-3.6.4 intel/2018a 5.3.4 foss/2022b"},{"location":"version-specific/supported-software/#meshtool","title":"meshtool","text":"

                    Meshtool is a comand-line tool written in C++. It is designed to apply various manipulations to volumetric meshes.

                    homepage: https://bitbucket.org/aneic/meshtool

                    version toolchain 16 GCC/10.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#meson","title":"Meson","text":"

                    Meson is a cross-platform build system designed to be both as fast and as user friendly as possible.

                    homepage: https://mesonbuild.com

                    version versionsuffix toolchain 0.43.0 -Python-3.6.3 intel/2017b 0.46.1 -Python-3.6.4 foss/2018a 0.48.1 -Python-3.6.4 foss/2018a, intel/2018a 0.48.1 -Python-3.6.6 foss/2018b, fosscuda/2018b 0.50.0 -Python-3.7.2 GCCcore/8.2.0 0.51.2 -Python-3.7.4 GCCcore/8.3.0 0.53.1 -Python-3.6.3 intel/2017b 0.53.2 -Python-3.8.2 GCCcore/9.3.0 0.55.1 -Python-3.8.2 GCCcore/9.3.0 0.55.3 GCCcore/10.2.0 0.58.0 GCCcore/10.3.0 0.58.2 GCCcore/11.2.0 0.59.1 -Python-3.7.4 GCCcore/8.3.0 0.62.1 GCCcore/11.3.0 0.64.0 GCCcore/12.2.0 1.1.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#meson-python","title":"meson-python","text":"

                    Python build backend (PEP 517) for Meson projects

                    homepage: https://github.com/mesonbuild/meson-python

                    version toolchain 0.11.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#mesquite","title":"Mesquite","text":"

                    Mesh-Quality Improvement Library

                    homepage: https://software.sandia.gov/mesquite/

                    version toolchain 2.3.0 GCCcore/10.2.0, GCCcore/6.4.0, GCCcore/8.3.0, gimkl/2.11.5, intel/2016a, intel/2017a"},{"location":"version-specific/supported-software/#mess","title":"MESS","text":"

                    Master Equation System Solver (MESS)

                    homepage: https://github.com/PACChem/MESS

                    version toolchain 0.1.6 foss/2019b"},{"location":"version-specific/supported-software/#metabat","title":"MetaBAT","text":"

                    An efficient tool for accurately reconstructing single genomes from complex microbial communities

                    homepage: https://bitbucket.org/berkeleylab/metabat

                    version versionsuffix toolchain 2.12.1 -Python-2.7.15 foss/2018b 2.14 gompi/2019a 2.15 GCC/11.2.0, gompi/2021a, gompi/2021b 2.15 -Python-2.7.18 gompi/2020b"},{"location":"version-specific/supported-software/#metaboanalystr","title":"MetaboAnalystR","text":"

                    MetaboAnalystR contains the R functions and libraries underlying the popular MetaboAnalyst web server, including > 500 functions for metabolomic data analysis, visualization, and functional interpretation.

                    homepage: https://www.metaboanalyst.ca

                    version versionsuffix toolchain 2.0.1-20190827 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#metaerg","title":"metaerg","text":"

                    MetaErg is a stand-alone and fully automated metagenomic and metaproteomic data annotation pipeline.

                    homepage: https://github.com/xiaoli-dong/metaerg

                    version versionsuffix toolchain 1.2.3 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#metaeuk","title":"MetaEuk","text":"

                    MetaEuk is a modular toolkit designed for large-scale gene discovery and annotation in eukaryotic metagenomic contigs.

                    homepage: https://metaeuk.soedinglab.org

                    version toolchain 4 GCC/10.2.0 5 GCC/10.3.0 6 GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#metageneannotator","title":"MetaGeneAnnotator","text":"

                    MetaGeneAnnotator is a gene-finding program for prokaryote and phage.

                    homepage: http://metagene.nig.ac.jp/

                    version versionsuffix toolchain 20080819 -x86-64 system"},{"location":"version-specific/supported-software/#metagenome-atlas","title":"Metagenome-Atlas","text":"

                    Metagenome-atlas is a easy-to-use metagenomic pipeline based on snakemake. It handles all steps from QC, Assembly, Binning, to Annotation.

                    homepage: https://github.com/metagenome-atlas/atlas

                    version versionsuffix toolchain 2.4.3 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#metal","title":"Metal","text":"

                    Metal - Meta Analysis Helper. The METAL software is designed to facilitate meta-analysis of large datasets (such as several whole genome scans) in a convenient, rapid and memory efficient manner.

                    homepage: http://csg.sph.umich.edu/abecasis/Metal/

                    version toolchain 2011-03-25 foss/2016a 2020-05-05 GCC/10.2.0"},{"location":"version-specific/supported-software/#metamorpheus","title":"MetaMorpheus","text":"

                    MetaMorpheus is a bottom-up proteomics database search software with integrated post-translational modification (PTM) discovery capability. This program combines features of Morpheus and G-PTM-D in a single tool.

                    homepage: https://github.com/smith-chem-wisc/MetaMorpheus

                    version toolchain 0.0.320 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#metaphlan","title":"MetaPhlAn","text":"

                    MetaPhlAn is a computational tool for profiling the composition of microbial communities from metagenomic shotgun sequencing data

                    homepage: https://github.com/biobakery/MetaPhlAn

                    version versionsuffix toolchain 3.0.9 -Python-3.8.2 foss/2020a 4.0.6 foss/2022a"},{"location":"version-specific/supported-software/#metaphlan2","title":"MetaPhlAn2","text":"

                    MetaPhlAn is a computational tool for profiling the composition of microbial communities (Bacteria, Archaea, Eukaryotes and Viruses) from metagenomic shotgun sequencing data (i.e. not 16S) with species-level. With the newly added StrainPhlAn module, it is now possible to perform accurate strain-level microbial profiling.

                    homepage: https://bitbucket.org/biobakery/metaphlan2/

                    version versionsuffix toolchain 2.7.8 -Python-2.7.12 foss/2016b 2.7.8 -Python-3.6.6 foss/2018b 2.7.8 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#metawrap","title":"metaWRAP","text":"

                    MetaWRAP aims to be an easy-to-use metagenomic wrapper suite that accomplishes the core tasks of metagenomic analysis from start to finish: read quality control, assembly, visualization, taxonomic profiling, extracting draft genomes (binning), and functional annotation.

                    homepage: https://github.com/bxlab/metaWRAP

                    version versionsuffix toolchain 1.2 -Python-2.7.15 foss/2018b 1.2.2 -Python-2.7.15 foss/2019a 1.3 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#metaxa2","title":"Metaxa2","text":"

                    Metaxa2 -- Identifies Small Subunit (SSU) rRNAs and classifies them taxonomically

                    homepage: https://microbiology.se/software/metaxa2/

                    version toolchain 2.2 gompi/2019a"},{"location":"version-specific/supported-software/#methylartist","title":"methylartist","text":"

                    Tools for plotting methylation data in various ways

                    homepage: https://github.com/adamewing/methylartist

                    version toolchain 1.2.6 foss/2021b"},{"location":"version-specific/supported-software/#methyldackel","title":"MethylDackel","text":"

                    A (mostly) universal methylation extractor for BS-seq experiments.

                    homepage: https://github.com/dpryan79/MethylDackel

                    version toolchain 0.4.0 iccifort/2019.1.144-GCC-8.2.0-2.31.1 0.5.0 iccifort/2019.5.281 0.6.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#methylpy","title":"methylpy","text":"

                    Bisulfite sequencing data processing and differential methylation analysis.

                    homepage: https://pypi.python.org/pypi/methylpy

                    version versionsuffix toolchain 1.1.9 -Python-2.7.13 foss/2017a 1.2.9 foss/2021b"},{"location":"version-specific/supported-software/#metis","title":"METIS","text":"

                    METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes.

                    homepage: http://glaros.dtc.umn.edu/gkhome/metis/metis/overview

                    version versionsuffix toolchain 5.0.2 gimkl/2.11.5 5.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2017a, foss/2018b, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a 5.1.0 -32bitIDX foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#mgltools","title":"mgltools","text":"

                    The MGLTools software suite can be used for visualization and analysis of molecular structures and comprises the Python Molecular Viewer (PMV, a general purpose molecular viewer), AutoDockTools (ADT, a set of PMV commands specifically developed to support AutoDock users) and Vision (a visual programming environment).

                    homepage: https://ccsb.scripps.edu/mgltools/

                    version toolchain 1.5.7 system"},{"location":"version-specific/supported-software/#mhcflurry","title":"mhcflurry","text":"

                    MHCflurry implements class I peptide/MHC binding affinity prediction. By default it supports 112 MHC alleles using ensembles of allele-specific models. Pan-allele predictors supporting virtually any MHC allele of known sequence are available for testing (see below). MHCflurry runs on Python 2.7 and 3.4+ using the keras neural network library. It exposes command-line and Python library interfaces.

                    homepage: https://github.com/openvax/mhcflurry

                    version versionsuffix toolchain 1.2.4 -Python-3.7.2 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#mhcnuggets","title":"mhcnuggets","text":"

                    MHCnuggets: Neoantigen peptide MHC binding prediction for class I and II.

                    homepage: https://github.com/KarchinLab/mhcnuggets

                    version versionsuffix toolchain 2.3 foss/2020b, fosscuda/2020b 2.3 -Python-3.7.2 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#microbeannotator","title":"MicrobeAnnotator","text":"

                    Easy-to-use pipeline for the comprehensive metabolic annotation of microbial genomes.

                    homepage: https://github.com/cruizperez/MicrobeAnnotator

                    version toolchain 2.0.5 foss/2021a"},{"location":"version-specific/supported-software/#microctools","title":"microctools","text":"

                    Various worker functions for microclimc package

                    homepage: https://github.com/ilyamaclean/microctools

                    version versionsuffix toolchain 0.1.0-20201209 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#migec","title":"MiGEC","text":"

                    MIGEC is a software pipeline that facilitates processing and analysis of immune repertoire sequencing data generated using molecular barcoding technique

                    homepage: https://milaboratory.com/software/migec/

                    version versionsuffix toolchain 1.2.8 -Java-1.8.0_162 system 1.2.9 -Java-1.8 system"},{"location":"version-specific/supported-software/#migrate-n","title":"MIGRATE-N","text":"

                    Migrate estimates population parameters, effective population sizes and migration rates of n populations, using genetic data. It uses a coalescent theory approach taking into account history of mutations and uncertainty of the genealogy.

                    homepage: https://peterbeerli.com/migrate-html5/index.html

                    version toolchain 4.2.8 foss/2016a 4.2.14 foss/2018a 5.0.4 foss/2021b"},{"location":"version-specific/supported-software/#miller","title":"Miller","text":"

                    Miller is like awk, sed, cut, join, and sort for name-indexed data such as CSV, TSV, and tabular JSON

                    homepage: https://miller.readthedocs.io/

                    version toolchain 6.4.0 system"},{"location":"version-specific/supported-software/#mimalloc","title":"mimalloc","text":"

                    mimalloc is a general purpose allocator with excellent performance characteristics.

                    homepage: https://microsoft.github.io/mimalloc/

                    version toolchain 1.7.2 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#minc","title":"MINC","text":"

                    Medical Image NetCDF or MINC isn't netCDF.

                    homepage: https://github.com/BIC-MNI/libminc

                    version toolchain 2.4.03 foss/2017b, foss/2018a, intel/2017b"},{"location":"version-specific/supported-software/#minced","title":"MinCED","text":"

                    Mining CRISPRs in Environmental Datasets

                    homepage: https://github.com/ctSkennerton/minced

                    version versionsuffix toolchain 0.4.2 -Java-11 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#mini-xml","title":"Mini-XML","text":"

                    Mini-XML is a small XML parsing library that you can use to read XML data files or strings in your application without requiring large non-standard libraries

                    homepage: https://www.msweet.org/mxml

                    version toolchain 2.9 GCCcore/8.2.0 2.12 GCCcore/9.3.0 3.2 GCCcore/10.3.0 3.3.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#miniasm","title":"miniasm","text":"

                    Miniasm is a very fast OLC-based de novo assembler for noisy long reads. It takes all-vs-all read self-mappings (typically by minimap) as input and outputs an assembly graph in the GFA format. Different from mainstream assemblers, miniasm does not have a consensus step. It simply concatenates pieces of read sequences to generate the final unitig sequences. Thus the per-base error rate is similar to the raw input reads.

                    homepage: https://github.com/lh3/minimap2

                    version toolchain 0.3-20191007 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#minibar","title":"minibar","text":"

                    Dual barcode and primer demultiplexing for MinION sequenced reads

                    homepage: https://github.com/calacademy-research/minibar

                    version versionsuffix toolchain 20200326 -Python-3.7.4 iccifort/2019.5.281 20200326 -Python-3.8.2 iccifort/2020.1.217"},{"location":"version-specific/supported-software/#minicard","title":"MiniCARD","text":"

                    MiniCARD is a cardinality solver based on MiniSAT [www.minisat.se]. MiniCARD handles cardinality constraints natively, using the same efficient data structures and techniques MiniSAT uses for clauses, giving it much better performance on cardinality constraints than CNF encodings of those constraints passed to a typical SAT solver. It can read the standard DIMACS CNF format, the OPB pseudo-boolean format (with linear cardinality constraints only), and CNF+, a format that extends CNF to include cardinality constraints.

                    homepage: https://github.com/liffiton/minicard

                    version toolchain 1.2 GCC/9.3.0"},{"location":"version-specific/supported-software/#miniconda2","title":"Miniconda2","text":"

                    Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages.

                    homepage: https://docs.conda.io/en/latest/miniconda.html

                    version toolchain 4.3.21 system 4.6.14 system 4.7.10 system"},{"location":"version-specific/supported-software/#miniconda3","title":"Miniconda3","text":"

                    Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages.

                    homepage: https://docs.conda.io/en/latest/miniconda.html

                    version toolchain 4.4.10 system 4.5.12 system 4.6.14 system 4.7.10 system 4.8.3 system 4.9.2 system 4.12.0 system 22.11.1-1 system"},{"location":"version-specific/supported-software/#minieigen","title":"minieigen","text":"

                    A small wrapper for core parts of EIgen, c++ library for linear algebra.

                    homepage: https://launchpad.net/minieigen/

                    version versionsuffix toolchain 0.5.3 -Python-2.7.11 foss/2016a, intel/2016a 0.5.3 -Python-2.7.12 foss/2016b, intel/2016b 0.5.3 -Python-2.7.12-Boost-1.63.0 intel/2016b 0.5.4 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#minimac4","title":"Minimac4","text":"

                    Minimac4 is a latest version in the series of genotype imputation software - preceded by Minimac3 (2015), Minimac2 (2014), minimac (2012) and MaCH (2010). Minimac4 is a lower memory and more computationally efficient implementation of the original algorithms with comparable imputation quality.

                    homepage: https://genome.sph.umich.edu/wiki/Minimac4

                    version toolchain 1.0.0 foss/2018a"},{"location":"version-specific/supported-software/#minimap2","title":"minimap2","text":"

                    Minimap2 is a fast sequence mapping and alignment program that can find overlaps between long noisy reads, or map long reads or their assemblies to a reference genome optionally with detailed alignment (i.e. CIGAR). At present, it works efficiently with query sequences from a few kilobases to ~100 megabases in length at an error rate ~15%. Minimap2 outputs in the PAF or the SAM format. On limited test data sets, minimap2 is over 20 times faster than most other long-read aligners. It will replace BWA-MEM for long reads and contig alignment.

                    homepage: https://github.com/lh3/minimap2

                    version toolchain 2.0rc1 foss/2016b 2.10 foss/2018a 2.11 intel/2018a 2.12 foss/2018a 2.13 foss/2018b 2.17 GCC/8.2.0-2.31.1, GCC/8.3.0, GCCcore/9.3.0 2.18 GCCcore/10.2.0 2.20 GCCcore/10.2.0, GCCcore/10.3.0 2.22 GCCcore/11.2.0 2.24 GCCcore/11.2.0, GCCcore/11.3.0 2.26 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#minipolish","title":"Minipolish","text":"

                    A tool for Racon polishing of miniasm assemblies

                    homepage: https://github.com/rrwick/Minipolish

                    version toolchain 0.1.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#minisat","title":"MiniSat","text":"

                    MiniSat is a minimalistic, open-source SAT solver, developed to help researchers and developers alike to get started on SAT.

                    homepage: http://minisat.se/

                    version toolchain 2.2.0 GCC/9.3.0 20130925 GCC/9.3.0"},{"location":"version-specific/supported-software/#minizip","title":"minizip","text":"

                    Mini zip and unzip based on zlib

                    homepage: https://www.winimage.com/zLibDll/minizip.html

                    version toolchain 1.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#minpack","title":"MINPACK","text":"

                    Minpack includes software for solving nonlinear equations and nonlinear least squares problems. Five algorithmic paths each include a core subroutine and an easy-to-use driver. The algorithms proceed either from an analytic specification of the Jacobian matrix or directly from the problem functions. The paths include facilities for systems of equations with a banded Jacobian matrix, for least squares problems with a large amount of data, and for checking the consistency of the Jacobian matrix with the functions.

                    homepage: https://www.netlib.org/minpack/

                    version toolchain 19961126 GCC/10.3.0"},{"location":"version-specific/supported-software/#minpath","title":"MinPath","text":"

                    MinPath (Minimal set of Pathways) is a parsimony approach for biological pathway reconstructions using protein family predictions, achieving a more conservative, yet more faithful, estimation of the biological pathways for a query dataset.

                    homepage: https://omics.informatics.indiana.edu/MinPath

                    version versionsuffix toolchain 1.4 -Python-2.7.15 foss/2018b, intel/2018b 1.4 -Python-2.7.16 intel/2019b 1.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#mira","title":"MIRA","text":"

                    MIRA is a whole genome shotgun and EST sequence assembler for Sanger, 454, Solexa (Illumina), IonTorrent data and PacBio (the latter at the moment only CCS and error-corrected CLR reads).

                    homepage: https://sourceforge.net/p/mira-assembler/wiki/Home/

                    version versionsuffix toolchain 4.0.2 foss/2018b, gompi/2019b, intel/2017b 4.0.2 -Python-2.7.11 foss/2016a 4.9.6 intel/2017b 5.0rc2 foss/2020b"},{"location":"version-specific/supported-software/#mirdeep2","title":"miRDeep2","text":"

                    miRDeep2 is a completely overhauled tool which discovers microRNA genes by analyzing sequenced RNAs

                    homepage: https://www.mdc-berlin.de/8551903/en/

                    version versionsuffix toolchain 0.1.1 -Python-3.6.6 foss/2018b 2.0.0.8 intel/2016b"},{"location":"version-specific/supported-software/#mish-cuda","title":"Mish-Cuda","text":"

                    Mish-Cuda: Self Regularized Non-Monotonic Activation Function

                    homepage: https://github.com/JunnYu/mish-cuda

                    version versionsuffix toolchain 20210309 -PyTorch-1.9.0 fosscuda/2020b"},{"location":"version-specific/supported-software/#misha","title":"misha","text":"

                    The misha package is intended to help users to efficiently analyze genomic data achieved from various experiments.

                    homepage: https://github.com/tanaylab/misha

                    version versionsuffix toolchain 4.0.10 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#mitgcmutils","title":"MITgcmutils","text":"

                    A numerical model designed for study of the atmosphere, ocean, and climate, MITgcm\u2019s flexible non-hydrostatic formulation enables it to efficiently simulate fluid phenomena over a wide range of scales; its adjoint capabilities enable it to be applied to sensitivity questions and to parameter and state estimation problems. By employing fluid equation isomorphisms, a single dynamical kernel can be used to simulate flow of both the atmosphere and ocean. The model is developed to perform efficiently on a wide variety of computational platforms.

                    homepage: https://mitgcm.org/

                    version toolchain 0.1.2 foss/2022a"},{"location":"version-specific/supported-software/#mitobim","title":"MITObim","text":"

                    The MITObim procedure (mitochondrial baiting and iterative mapping) represents a highly efficient approach to assembling novel mitochondrial genomes of non-model organisms directly from total genomic DNA derived NGS reads.

                    homepage: https://github.com/chrishah/MITObim

                    version toolchain 1.9.1 foss/2018b, foss/2020b, gompi/2019b"},{"location":"version-specific/supported-software/#mitoz","title":"MitoZ","text":"

                    MitoZ is a Python3-based toolkit which aims to automatically filter pair-end raw data (fastq files), assemble genome, search for mitogenome sequences from the genome assembly result, annotate mitogenome (genbank file as result), and mitogenome visualization.

                    homepage: https://github.com/linzhi2013/MitoZ

                    version versionsuffix toolchain 2.3 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#mixcr","title":"MiXCR","text":"

                    MiXCR processes big immunome data from raw sequences to quantitated clonotypes

                    homepage: https://milaboratory.com/software/mixcr/

                    version versionsuffix toolchain 2.1.9 -Java-1.8.0_162 system 3.0.3 -Java-1.8 system 3.0.13 -Java-1.8 system 3.0.13 -Java-11 system"},{"location":"version-specific/supported-software/#mixmhc2pred","title":"MixMHC2pred","text":"

                    MixMHC2pred is a predictor of HLA class II ligands and epitopes. It is described in publication Racle, J., et al. Robust prediction of HLA class II epitopes by deep motif deconvolution of immunopeptidomes

                    homepage: https://github.com/GfellerLab/MixMHC2pred

                    version toolchain 1.2 system"},{"location":"version-specific/supported-software/#mkl-dnn","title":"mkl-dnn","text":"

                    Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)

                    homepage: https://01.org/mkl-dnn

                    version toolchain 0.11 intel/2017b 0.13 intel/2018a 0.16 foss/2018b, intel/2018b 0.17.2 foss/2018a"},{"location":"version-specific/supported-software/#mkl-service","title":"mkl-service","text":"

                    Python hooks for Intel(R) Math Kernel Library runtime control settings.

                    homepage: https://github.com/IntelPython/mkl-service

                    version versionsuffix toolchain 2.0.2 intel/2019a 2.3.0 intel/2020b, intel/2021b 2.3.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#mkl_fft","title":"mkl_fft","text":"

                    NumPy-based Python interface to Intel(R) MKL FFT functionality

                    homepage: https://github.com/IntelPython/mkl_fft

                    version versionsuffix toolchain 1.0.14 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#mlc","title":"MLC","text":"

                    Intel Memory Latency Checker (Intel MLC) is a tool used to measure memory latencies and b/w, and how they change with increasing load on the system.

                    homepage: https://software.intel.com/en-us/articles/intelr-memory-latency-checker

                    version toolchain 3.0 system"},{"location":"version-specific/supported-software/#mlxtend","title":"MLxtend","text":"

                    Mlxtend (machine learning extensions) is a Python library of useful tools for the day-to-day data science tasks.

                    homepage: https://rasbt.github.io/mlxtend/

                    version versionsuffix toolchain 0.17.3 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#mm-common","title":"mm-common","text":"

                    The mm-common module provides the build infrastructure and utilities shared among the GNOME C++ binding libraries.

                    homepage: https://gitlab.gnome.org/GNOME/mm-common

                    version toolchain 1.0.4 GCCcore/10.3.0 1.0.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mmg","title":"Mmg","text":"

                    Mmg is an open source software for simplicial remeshing. It provides 3 applications and 4 libraries: the mmg2d application and the libmmg2d library: adaptation and optimization of a two-dimensional triangulation and generation of a triangulation from a set of points or from given boundary edges the mmgs application and the libmmgs library: adaptation and optimization of a surface triangulation and isovalue discretization the mmg3d application and the libmmg3d library: adaptation and optimization of a tetrahedral mesh and implicit domain meshing the libmmg library gathering the libmmg2d, libmmgs and libmmg3d libraries.

                    homepage: https://www.mmgtools.org/

                    version toolchain 5.3.9 foss/2017b 5.6.0 gompi/2021a, gompi/2021b"},{"location":"version-specific/supported-software/#mmseq","title":"MMSEQ","text":"

                    The MMSEQ package contains a collection of statistical tools for analysing RNA-seq expression data.

                    homepage: https://github.com/eturro/mmseq

                    version versionsuffix toolchain 1.0.8 -linux64-static system"},{"location":"version-specific/supported-software/#mmseqs2","title":"MMseqs2","text":"

                    MMseqs2: ultra fast and sensitive search and clustering suite

                    homepage: https://mmseqs.com

                    version toolchain 1-c7a89 foss/2016b 5-9375b intel/2018a 8-fac81 intel/2018b 10-6d92c gompi/2019b, iimpi/2019b 11-e1a1c iimpi/2019b 13-45111 gompi/2020b, gompi/2021a, gompi/2021b 13-45111-20211006 gompi/2020b 13-45111-20211019 gompi/2020b 14-7e284 gompi/2022a"},{"location":"version-specific/supported-software/#mmtf-cpp","title":"mmtf-cpp","text":"

                    The Macromolecular Transmission Format (MMTF) is a new compact binary format to transmit and store biomolecular structures for fast 3D visualization and analysis.

                    homepage: https://mmtf.rcsb.org/

                    version toolchain 1.0.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#mne-python","title":"MNE-Python","text":"

                    MNE-Python software is an open-source Python package for exploring, visualizing, and analyzing human neurophysiological data such as MEG, EEG, sEEG, ECoG, and more. It includes modules for data input/output, preprocessing, visualization, source estimation, time-frequency analysis, connectivity analysis, machine learning, and statistics.

                    homepage: https://mne.tools/stable/index.html

                    version toolchain 0.24.1 foss/2021a"},{"location":"version-specific/supported-software/#moabb","title":"MOABB","text":"

                    Build a comprehensive benchmark of popular Brain-Computer Interface (BCI) algorithms applied on an extensive list of freely available EEG datasets.

                    homepage: https://neurotechx.github.io/moabb/

                    version toolchain 0.4.6 foss/2021a"},{"location":"version-specific/supported-software/#moabs","title":"MOABS","text":"

                    MOABS: MOdel based Analysis of Bisulfite Sequencing data

                    homepage: https://github.com/sunnyisgalaxy/moabs

                    version toolchain 1.3.9.6 gompi/2019b"},{"location":"version-specific/supported-software/#mob-suite","title":"MOB-suite","text":"

                    Software tools for clustering, reconstruction and typing of plasmids from draft assemblies

                    homepage: https://github.com/phac-nml/mob-suite

                    version versionsuffix toolchain 3.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#modeltest-ng","title":"ModelTest-NG","text":"

                    ModelTest-NG is a tool for selecting the best-fit model of evolution for DNA and protein alignments. ModelTest-NG supersedes jModelTest and ProtTest in one single tool, with graphical and command console interfaces.

                    homepage: https://github.com/ddarriba/modeltest

                    version toolchain 0.1.7 gompi/2021b"},{"location":"version-specific/supported-software/#modred","title":"modred","text":"

                    Compute modal decompositions and reduced-order models, easily, efficiently, and in parallel.

                    homepage: https://pypi.python.org/pypi/modred/

                    version versionsuffix toolchain 2.0.2 -Python-3.5.2 foss/2016b"},{"location":"version-specific/supported-software/#molcas","title":"Molcas","text":"

                    Molcas is an ab initio quantum chemistry software package developed by scientists to be used by scientists. The basic philosophy is is to be able to treat general electronic structures for molecules consisting of atoms from most of the periodic table. As such, the primary focus of the package is on multiconfigurational methods with applications typically connected to the treatment of highly degenerate states.

                    homepage: http://www.molcas.org

                    version versionsuffix toolchain 8.0-15.06.18 _CentOS_6.6_x86_64 system 8.2 -centos-mkl-par system 8.2 -centos-par system"},{"location":"version-specific/supported-software/#mold","title":"mold","text":"

                    mold is a high-performance drop-in replacement for existing Unix linkers.

                    homepage: https://github.com/rui314/mold

                    version toolchain 0.9.6 GCCcore/11.2.0 1.0.0 GCCcore/11.2.0 1.2.1 GCCcore/11.3.0 1.3.0 GCCcore/11.3.0 1.7.1 GCCcore/12.2.0 1.11.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#molden","title":"Molden","text":"

                    Molden is a package for displaying Molecular Density from the Ab Initio packages GAMESS-UK, GAMESS-US and GAUSSIAN and the Semi-Empirical packages Mopac/Ampac

                    homepage: https://www.theochem.ru.nl/molden/

                    version toolchain 5.6 foss/2016a 5.7 intel/2016b 5.8 foss/2018a 6.1 GCCcore/8.2.0 6.8 GCCcore/10.2.0, GCCcore/9.3.0 7.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#moleculargsm","title":"molecularGSM","text":"

                    Code for single-ended and double-ended molecular GSM. The growing string method is a reaction path and transition state finding method developed in c++.

                    homepage: https://github.com/ZimmermanGroup/molecularGSM

                    version toolchain 20190826 intel/2020b"},{"location":"version-specific/supported-software/#molekel","title":"Molekel","text":"

                    Molekel is an open-source multi-platform molecular visualization program.

                    homepage: http://ugovaretto.github.io/molekel/wiki/pmwiki.php/Main/HomePage.html

                    version versionsuffix toolchain 5.4.0 -Linux_x86_64 system"},{"location":"version-specific/supported-software/#molmod","title":"molmod","text":"

                    MolMod is a Python library with many compoments that are useful to write molecular modeling programs.

                    homepage: https://molmod.github.io/molmod/

                    version versionsuffix toolchain 1.1 -Python-2.7.11 intel/2016a 1.1 -Python-2.7.12 intel/2016b 1.1 -Python-2.7.13 intel/2017a 1.4.3 -Python-2.7.14 intel/2017b 1.4.3 -Python-3.6.3 intel/2017b 1.4.4 -Python-2.7.14 foss/2018a, intel/2018a 1.4.4 -Python-2.7.15 intel/2018b 1.4.4 -Python-3.7.2 intel/2019a 1.4.5 -Python-3.7.4 foss/2019b, intel/2019b 1.4.5 -Python-3.8.2 foss/2020a, intel/2020a 1.4.8 foss/2020b, foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#molpro","title":"Molpro","text":"

                    Molpro is a complete system of ab initio programs for molecular electronic structure calculations.

                    homepage: https://www.molpro.net

                    version versionsuffix toolchain 2010.1.23 .Linux_x86_64 system 2015.1.0 .linux_x86_64_intel system 2015.1.3 .linux_x86_64_openmp system 2015.1.10 .linux_x86_64_openmp system"},{"location":"version-specific/supported-software/#mona","title":"MONA","text":"

                    MONA is a tool that translates formulas to finite-state automata. The formulas may express search patterns, temporal properties of reactive systems, parse tree constraints, etc. MONA analyses the automaton resulting from the compilation and prints out \"valid\" or a counter-example.

                    homepage: https://www.brics.dk/mona/index.html

                    version toolchain 1.4-18 GCC/11.2.0"},{"location":"version-specific/supported-software/#monai","title":"MONAI","text":"

                    MONAI is a PyTorch-based, open-source framework for deep learning in healthcare imaging, part of PyTorch Ecosystem.

                    homepage: https://monai.io/

                    version versionsuffix toolchain 0.8.0 foss/2021a 0.8.0 -CUDA-11.3.1 foss/2021a 1.0.1 foss/2022a 1.0.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#monai-label","title":"MONAI-Label","text":"

                    MONAI Label is an intelligent open source image labeling and learning tool that enables users to create annotated datasets and build AI annotation models for clinical evaluation. MONAI Label enables application developers to build labeling apps in a serverless way, where custom labeling apps are exposed as a service through the MONAI Label Server.

                    homepage: https://docs.monai.io/projects/label/en/latest/

                    version versionsuffix toolchain 0.5.2 -PyTorch-1.12.0 foss/2022a 0.5.2 -PyTorch-1.12.0-CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#mongolite","title":"mongolite","text":"

                    High-performance MongoDB client based on 'mongo-c-driver' and 'jsonlite'. Includes support for aggregation, indexing, map-reduce, streaming, encryption, enterprise authentication, and GridFS. The online user manual provides an overview of the available methods in the package: https://jeroen.github.io/mongolite/.

                    homepage: https://cran.r-project.org/web/packages/mongolite

                    version versionsuffix toolchain 2.3.0 -R-4.0.0 foss/2020a 2.3.0 -R-4.0.3 foss/2020b 2.3.0 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#mono","title":"Mono","text":"

                    An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET.

                    homepage: https://www.mono-project.com/

                    version toolchain 2.10.6 intel/2016b 4.6.2.7 intel/2016b, system 4.8.0.495 intel/2017a 5.4.1.6 foss/2017b, intel/2017b 5.10.0.160 foss/2018a 5.18.1.0 foss/2018a 6.4.0.198 foss/2018b 6.8.0.105 GCCcore/8.3.0 6.12.0.122 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#monocle3","title":"Monocle3","text":"

                    An analysis toolkit for single-cell RNA-seq.

                    homepage: https://cole-trapnell-lab.github.io/monocle3/

                    version versionsuffix toolchain 0.2.0 -Python-3.7.2-R-3.6.0 foss/2019a 0.2.3 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#moonjit","title":"moonjit","text":"

                    Moonjit is a Just-In-Time Compiler (JIT) for the Lua programming language. Lua is a powerful, dynamic and light-weight programming language. It may be embedded or used as a general-purpose, stand-alone language.

                    homepage: https://github.com/moonjit/moonjit

                    version toolchain 2.2.0 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#moose","title":"MOOSE","text":"

                    The Multiphysics Object-Oriented Simulation Environment (MOOSE) is a finite-element, multiphysics framework primarily developed by Idaho National Laboratory

                    homepage: https://mooseframework.inl.gov

                    version versionsuffix toolchain 2021-05-18 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#mordecai","title":"mordecai","text":"

                    mordecai is a full text geoparsing as a Python library. Extract the place names from a piece of text, resolve them to the correct place, and return their coordinates and structured geographic information.

                    homepage: https://github.com/openeventdata/mordecai

                    version versionsuffix toolchain 2.0.1 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#moreronn","title":"MoreRONN","text":"

                    MoreRONN is the spiritual successor of RONN and is useful for surveying disorder in proteins as well as designing expressible constructs for X-ray crystallography.

                    homepage: https://github.com/varun-ramraj/MoreRONN

                    version toolchain 4.9 GCC/8.3.0"},{"location":"version-specific/supported-software/#mosdepth","title":"mosdepth","text":"

                    Fast BAM/CRAM depth calculation for WGS, exome, or targeted sequencing

                    homepage: https://github.com/brentp/mosdepth

                    version toolchain 0.2.2 intel/2018a 0.2.3 intel/2018a 0.2.4 foss/2018b 0.3.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#mothur","title":"Mothur","text":"

                    Mothur is a single piece of open-source, expandable software to fill the bioinformatics needs of the microbial ecology community.

                    homepage: https://www.mothur.org/

                    version versionsuffix toolchain 1.39.5 -Python-2.7.13 intel/2017a 1.41.0 -Python-2.7.15 foss/2018b 1.43.0 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#motif","title":"motif","text":"

                    Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It was the standard toolkit for the Common Desktop Environment and thus for Unix.

                    homepage: https://motif.ics.com/

                    version toolchain 2.3.5 foss/2016a, intel/2016a 2.3.7 intel/2017a 2.3.8 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2017b, foss/2018a, foss/2018b, foss/2019a, intel/2017b, intel/2018a, intel/2019a"},{"location":"version-specific/supported-software/#motioncor2","title":"MotionCor2","text":"

                    MotionCor2 correct anisotropic image motion at the single pixel level across the whole frame, suitable for both single particle and tomographic images. Iterative, patch-based motion detection is combined with spatial and temporal constraints and dose weighting. Cite publication: Shawn Q. Zheng, Eugene Palovcak, Jean-Paul Armache, Yifan Cheng and David A. Agard (2016) Anisotropic Correction of Beam-induced Motion for Improved Single-particle Electron Cryo-microscopy, Nature Methods, submitted. BioArxiv: https://biorxiv.org/content/early/2016/07/04/061960

                    homepage: https://msg.ucsf.edu/

                    version toolchain 1.2.6 GCCcore/8.2.0 1.3.1 GCCcore/8.3.0 1.3.2 GCCcore/8.3.0 1.4.2 GCCcore/10.2.0 1.4.4 GCCcore/10.2.0, GCCcore/10.3.0 1.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#motionsegmentation","title":"motionSegmentation","text":"

                    Motion correction, explicit spatio-temporal regularization of motion tracking, random speckles enhancement, and segmentation.

                    homepage: https://github.com/WeiXuanChan/motionSegmentation

                    version versionsuffix toolchain 2.7.9 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#moviepy","title":"MoviePy","text":"

                    MoviePy (full documentation) is a Python library for video editing: cutting, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects.

                    homepage: https://zulko.github.io/moviepy/

                    version versionsuffix toolchain 1.0.1 -Python-3.7.2 foss/2019a 1.0.3 foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#mpb","title":"MPB","text":"

                    MPB is a free and open-source software package for computing the band structures, or dispersion relations, and electromagnetic modes of periodic dielectric structures, on both serial and parallel computers. MPB is an acronym for MIT Photonic Bands.

                    homepage: https://mpb.readthedocs.io/en/latest/

                    version versionsuffix toolchain 1.6.2 -Python-2.7.14 foss/2017b, foss/2018a, intel/2018a 1.11.1 foss/2020b"},{"location":"version-specific/supported-software/#mpc","title":"MPC","text":"

                    Gnu Mpc is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. It extends the principles of the IEEE-754 standard for fixed precision real floating point numbers to complex numbers, providing well-defined semantics for every operation. At the same time, speed of operation at high precision is a major design goal.

                    homepage: http://www.multiprecision.org/

                    version versionsuffix toolchain 1.0.3 intel/2017a 1.0.3 -MPFR-3.1.6 foss/2017b, intel/2017b 1.1.0 GCC/8.3.0, GCC/9.3.0, GCCcore/9.3.0 1.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mpfr","title":"MPFR","text":"

                    The MPFR library is a C library for multiple-precision floating-point computations with correct rounding.

                    homepage: https://www.mpfr.org

                    version toolchain 2.4.2 system 3.1.4 foss/2016a, foss/2016b, intel/2016a, intel/2016b 3.1.5 GCCcore/6.4.0, intel/2017a 3.1.6 GCCcore/6.4.0 4.0.1 GCCcore/6.4.0, GCCcore/7.3.0 4.0.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 4.2.0 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#mpi4py","title":"mpi4py","text":"

                    MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for the Python programming language, allowing any Python program to exploit multiple processors.

                    homepage: https://github.com/mpi4py/mpi4py

                    version versionsuffix toolchain 1.3.1 -Python-2.7.11-timed-pingpong intel/2016a 1.3.1 -Python-2.7.12-timed-pingpong intel/2016b 2.0.0 -Python-2.7.12 intel/2016b 2.0.0 -Python-2.7.13-timed-pingpong intel/2017a 3.0.0 -Python-2.7.14-timed-pingpong intel/2018a 3.0.0 -Python-3.6.3 intel/2017b 3.0.1 -Python-3.6.6 intel/2018b 3.0.2 -timed-pingpong gompi/2019a, iimpi/2019a 3.1.4 gompi/2022b"},{"location":"version-specific/supported-software/#mpich","title":"MPICH","text":"

                    MPICH is a high-performance and widely portable implementation of the Message Passing Interface (MPI) standard (MPI-1, MPI-2 and MPI-3).

                    homepage: https://www.mpich.org/

                    version toolchain 3.0.4 GCC/4.8.1 3.2 GCC/4.9.3-2.25, GCC/7.2.0-2.29 3.2.1 GCC/7.2.0-2.29 3.3.2 GCC/10.2.0, GCC/9.3.0 3.4.2 GCC/10.3.0"},{"location":"version-specific/supported-software/#mpich2","title":"MPICH2","text":"

                    MPICH v3.x is an open source high-performance MPI 3.0 implementation. It does not support InfiniBand (use MVAPICH2 with InfiniBand devices).

                    homepage: http://www.mpich.org/

                    version toolchain 1.1 GCC/4.8.1"},{"location":"version-specific/supported-software/#mpifileutils","title":"mpifileutils","text":"

                    MPI-Based File Utilities For Distributed Systems

                    homepage: https://hpc.github.io/mpifileutils/

                    version toolchain 0.9.1 gompi/2019a, iimpi/2019a 0.10 gompi/2020a, iimpi/2020a 0.10.1 gompi/2020a 0.11.1 gompi/2022a"},{"location":"version-specific/supported-software/#mpip","title":"mpiP","text":"

                    mpiP is a lightweight profiling library for MPI applications. Because it only collects statistical information about MPI functions, mpiP generates considerably less overhead and much less data than tracing tools. All the information captured by mpiP is task-local. It only uses communication during report generation, typically at the end of the experiment, to merge results from all of the tasks into one output file.

                    homepage: http://mpip.sourceforge.net/

                    version toolchain 3.4.1 gompi/2019a, iimpi/2019a, iompi/2019.01"},{"location":"version-specific/supported-software/#mpj-express","title":"MPJ-Express","text":"

                    MPJ Express is an open source Java message passing library that allows application developers to write and execute parallel applications for multicore processors and compute clusters/clouds.

                    homepage: http://mpj-express.org/

                    version versionsuffix toolchain 0.44 -Java-1.8.0_92 foss/2016a"},{"location":"version-specific/supported-software/#mpmath","title":"mpmath","text":"

                    mpmath can be used as an arbitrary-precision substitute for Python's float/complex types and math/cmath modules, but also does much more advanced mathematics. Almost any calculation can be performed just as well at 10-digit or 1000-digit precision, with either real or complex numbers, and in many cases mpmath implements efficient algorithms that scale well for extremely high precision work.

                    homepage: https://mpmath.org/

                    version versionsuffix toolchain 0.19 -Python-2.7.11 foss/2016a, intel/2016a 1.0.0 -Python-2.7.14 intel/2018a 1.0.0 -Python-2.7.15 foss/2018b 1.1.0 -Python-3.8.2 GCCcore/9.3.0 1.2.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mrbayes","title":"MrBayes","text":"

                    MrBayes is a program for Bayesian inference and model choice across a wide range of phylogenetic and evolutionary models.

                    homepage: https://nbisweden.github.io/MrBayes/

                    version toolchain 3.2.6 foss/2016a, foss/2017a, gompi/2020b 3.2.7 gompi/2020b, gompi/2022a, gompic/2019b 3.2.7a foss/2020a, iimpi/2019a"},{"location":"version-specific/supported-software/#mrcfile","title":"mrcfile","text":"

                    mrcfile is a Python implementation of the MRC2014 file format, which is used in structural biology to store image and volume data. It allows MRC files to be created and opened easily using a very simple API, which exposes the file\u2019s header and data as numpy arrays. The code runs in Python 2 and 3 and is fully unit-tested. This library aims to allow users and developers to read and write standard- compliant MRC files in Python as easily as possible, and with no dependencies on any compiled libraries except numpy. You can use it interactively to inspect files, correct headers and so on, or in scripts and larger software packages to provide basic MRC file I/O functions.

                    homepage: https://github.com/ccpem/mrcfile

                    version toolchain 1.3.0 foss/2020b, foss/2021a, fosscuda/2020b"},{"location":"version-specific/supported-software/#mrchem","title":"MRChem","text":"

                    MRChem is a numerical real-space code for molecular electronic structure calculations within the self-consistent field (SCF) approximations of quantum chemistry: Hartree-Fock and Density Functional Theory.

                    homepage: https://mrchem.readthedocs.io

                    version versionsuffix toolchain 1.0.0 -Python-3.8.2 foss/2020a 1.1.1 foss/2022a"},{"location":"version-specific/supported-software/#mrcpp","title":"MRCPP","text":"

                    MultiResolution Computation Program Package

                    homepage: https://mrcpp.readthedocs.io

                    version toolchain 1.3.6 foss/2020a 1.4.1 foss/2022a"},{"location":"version-specific/supported-software/#mricron","title":"MRIcron","text":"

                    MRIcron allows viewing of medical images. It includes tools to complement SPM and FSL. Native format is NIFTI but includes a conversion program (see dcm2nii) for converting DICOM images. Features layers, ROIs, and volume rendering.

                    homepage: http://www.mccauslandcenter.sc.edu/mricro/mricron/

                    version toolchain 1.0.20180614 system 20150601 system"},{"location":"version-specific/supported-software/#mrpresso","title":"MRPRESSO","text":"

                    Performs the Mendelian Randomization Pleiotropy RESidual Sum and Outlier (MR-PRESSO) method..

                    homepage: https://github.com/rondolab/MR-PRESSO

                    version toolchain 1.0-20230502 foss/2022a"},{"location":"version-specific/supported-software/#mrtrix","title":"MRtrix","text":"

                    MRtrix provides a set of tools to perform diffusion-weighted MR white-matter tractography in a manner robust to crossing fibres, using constrained spherical deconvolution (CSD) and probabilistic streamlines.

                    homepage: http://www.brain.org.au/software/index.html#mrtrix

                    version versionsuffix toolchain 0.3.14 -Python-2.7.11 intel/2016a 0.3.15 -Python-2.7.12 intel/2016b 3.0-rc-20191217 -Python-2.7.16 foss/2019b 3.0-rc-20191217 -Python-3.7.4 foss/2019b 3.0.0 -Python-3.8.2 foss/2020a 3.0.3 foss/2021a 3.0_RC2 -Python-2.7.13 foss/2017a 3.0_RC3 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#msgpack-c","title":"msgpack-c","text":"

                    MessagePack is an efficient binary serialization format, which lets you exchange data among multiple languages like JSON, except that it's faster and smaller. Small integers are encoded into a single byte while typical short strings require only one extra byte in addition to the strings themselves.

                    homepage: http://msgpack.org/

                    version toolchain 3.3.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#msm","title":"MSM","text":"

                    Multimodal Surface Matching with Higher order Clique Reduction

                    homepage: https://github.com/ecr05/MSM_HOCR

                    version toolchain 1.0 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#mspc","title":"MSPC","text":"

                    Using combined evidence from replicates to evaluate ChIP-seq peaks

                    homepage: https://genometric.github.io/MSPC/

                    version toolchain 3.3.1 system"},{"location":"version-specific/supported-software/#msprime","title":"msprime","text":"

                    msprime is a coalescent simulator and library for processing tree-based genetic data.

                    homepage: https://msprime.readthedocs.io

                    version versionsuffix toolchain 0.7.0 -Python-3.7.2 intel/2019a 1.2.0 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#mstore","title":"mstore","text":"

                    Molecular structure store for testing

                    homepage: https://github.com/grimme-lab/mstore

                    version toolchain 0.2.0 GCC/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mtl4","title":"MTL4","text":"

                    The Matrix Template Library 4 incorporates the most modern programming techniques to provide an easy and intuitive interface to users while enabling optimal performance. The natural mathematical notation in MTL4 empowers all engineers and scientists to implement their algorithms and models in minimal time. All technical aspects are encapsulated in the library.

                    homepage: http://www.simunova.com/mtl4

                    version toolchain 4.0.8878 system 4.0.9555 system"},{"location":"version-specific/supported-software/#mujoco","title":"MuJoCo","text":"

                    MuJoCo stands for Multi-Joint dynamics with Contact. It is a general purpose physics engine that aims to facilitate research and development in robotics, biomechanics, graphics and animation, machine learning, and other areas which demand fast and accurate simulation of articulated structures interacting with their environment.

                    homepage: https://mujoco.org/

                    version toolchain 2.1.1 GCCcore/11.2.0 2.2.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#mujoco-py","title":"mujoco-py","text":"

                    MuJoCo is a physics engine for detailed, efficient rigid body simulations with contacts. mujoco-py allows using MuJoCo from Python 3.

                    homepage: https://github.com/openai/mujoco-py

                    version toolchain 2.1.2.14 foss/2021b"},{"location":"version-specific/supported-software/#multichoose","title":"multichoose","text":"

                    generate multiset combinations (n multichoose k).

                    homepage: https://github.com/ekg/multichoose

                    version toolchain 1.0.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#multilevelestimators","title":"MultilevelEstimators","text":"

                    The Julia module for Multilevel Monte Carlo methods

                    homepage: https://github.com/PieterjanRobbe/MultilevelEstimators.jl

                    version versionsuffix toolchain 0.1.0 -Julia-1.7.2 GCC/11.2.0"},{"location":"version-specific/supported-software/#multinest","title":"MultiNest","text":"

                    MultiNest is a Bayesian inference tool which calculates the evidence and explores the parameter space which may contain multiple posterior modes and pronounced (curving) degeneracies in moderately high dimensions.

                    homepage: https://ccpforge.cse.rl.ac.uk/gf/project/multinest/

                    version toolchain 3.10 intel/2016a"},{"location":"version-specific/supported-software/#multiqc","title":"MultiQC","text":"

                    Aggregate results from bioinformatics analyses across many samples into a single report. MultiQC searches a given directory for analysis logs and compiles a HTML report. It's a general use tool, perfect for summarising the output from numerous bioinformatics tools.

                    homepage: https://multiqc.info

                    version versionsuffix toolchain 0.9 -Python-2.7.12 foss/2016b 1.2 -Python-2.7.14 foss/2017b, intel/2017b 1.2 -Python-3.6.3 foss/2017b, intel/2017b 1.6 -Python-2.7.14 foss/2017b, intel/2017b 1.6 -Python-3.6.3 foss/2017b, intel/2017b 1.7 -Python-2.7.15 intel/2018b 1.7 -Python-3.6.6 foss/2018b, intel/2018b 1.8 -Python-2.7.16 intel/2019b 1.8 -Python-3.7.4 foss/2019b, intel/2019b 1.9 -Python-3.7.4 foss/2019b 1.9 -Python-3.8.2 foss/2020a, intel/2020a 1.10.1 foss/2020b 1.11 foss/2021a 1.12 foss/2021b 1.14 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#multiwfn","title":"Multiwfn","text":"

                    Multiwfn is an extremely powerful program for realizingi electronic wavefunction analysis, which is a key ingredient of quantum chemistry. Multiwfn is free, open-source, high-efficient, very user-friendly and flexible, it supports almost all of the most important wavefunction analysis methods.

                    homepage: http://sobereva.com/multiwfn/

                    version toolchain 3.4.1 intel/2017b 3.6 intel/2019a, intel/2019b"},{"location":"version-specific/supported-software/#mumerge","title":"muMerge","text":"

                    muMerge is a tool for combining bed regions from multiple bed files that overlap.

                    homepage: https://github.com/Dowell-Lab/mumerge

                    version toolchain 1.1.0 foss/2022a"},{"location":"version-specific/supported-software/#mummer","title":"MUMmer","text":"

                    MUMmer is a system for rapidly aligning entire genomes, whether in complete or draft form. AMOS makes use of it.

                    homepage: https://mummer.sourceforge.net/

                    version toolchain 3.23 GCCcore/10.3.0, GCCcore/9.3.0, foss/2016b 4.0.0beta2 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/9.3.0, foss/2018b 4.0.0rc1 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#mumps","title":"MUMPS","text":"

                    A parallel sparse direct solver

                    homepage: https://graal.ens-lyon.fr/MUMPS/

                    version versionsuffix toolchain 5.1.2 -metis foss/2017b 5.2.1 -metis foss/2018b, foss/2019a, foss/2019b, foss/2020a, intel/2019a, intel/2019b, intel/2020a 5.2.1 -metis-seq foss/2019a, intel/2019a 5.3.5 -metis foss/2020b, intel/2020b 5.4.0 -metis foss/2021a, intel/2021a 5.4.1 -metis foss/2021b, intel/2021b 5.5.0 -metis foss/2021a 5.5.1 -metis foss/2022a"},{"location":"version-specific/supported-software/#muparser","title":"muParser","text":"

                    muParser is an extensible high performance math expression parser library written in C++. It works by transforming a mathematical expression into bytecode and precalculating constant parts of the expression.

                    homepage: https://beltoforion.de/article.php?a=muparser

                    version toolchain 2.2.5 GCCcore/6.4.0 2.3.2 GCCcore/10.2.0, GCCcore/9.3.0 2.3.3 GCCcore/10.3.0 2.3.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#muparserx","title":"muparserx","text":"

                    A C++ Library for Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more.

                    homepage: https://beltoforion.de/en/muparserx/

                    version toolchain 4.0.8 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#mupexi","title":"MuPeXI","text":"

                    MuPeXI: Mutant Peptide eXtractor and Informer. Given a list of somatic mutations (VCF file) as input, MuPeXI returns a table containing all mutated peptides (neo-peptides) of user-defined lengths, along with several pieces of information relevant for identifying which of these neo-peptides are likely to serve as neo-epitopes.

                    homepage: https://github.com/ambj/MuPeXI

                    version versionsuffix toolchain 1.2.0 -Perl-5.28.0-Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#muscle","title":"MUSCLE","text":"

                    MUSCLE is one of the best-performing multiple alignment programs according to published benchmark tests, with accuracy and speed that are consistently better than CLUSTALW. MUSCLE can align hundreds of sequences in seconds. Most users learn everything they need to know about MUSCLE in a few minutes-only a handful of command-line options are needed to perform common alignment tasks.

                    homepage: https://drive5.com/muscle/

                    version versionsuffix toolchain 3.8.31 GCC/7.3.0-2.30, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0, foss/2016a, foss/2017b, foss/2018a, intel/2016a, intel/2017b, intel/2018a, intel/2018b 3.8.31 -i86linux64 system 3.8.1551 GCC/10.2.0, GCC/8.2.0-2.31.1, GCC/8.3.0 5.0.1428 GCCcore/10.3.0 5.1 GCCcore/11.2.0 5.1.0 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#music","title":"MuSiC","text":"

                    Multi-subject Single Cell deconvolution (MuSiC) is a deconvolution method that utilizes cross-subject scRNA-seq to estimate cell type proportions in bulk RNA-seq data.

                    homepage: https://github.com/xuranw/MuSiC

                    version versionsuffix toolchain 1.6.2 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#must","title":"MUST","text":"

                    MUST detects usage errors of the Message Passing Interface (MPI) and reports them to the user. As MPI calls are complex and usage errors common, this functionality is extremely helpful for application developers that want to develop correct MPI applications. This includes errors that already manifest \u2013 segmentation faults or incorrect results \u2013 as well as many errors that are not visible to the application developer or do not manifest on a certain system or MPI implementation.

                    homepage: https://hpc.rwth-aachen.de/must/

                    version versionsuffix toolchain 1.6 -Python-3.6.6 foss/2018b 1.6 -Python-3.7.4 foss/2019b 1.7.1 foss/2020b 1.7.2 foss/2021a"},{"location":"version-specific/supported-software/#mutect","title":"MuTect","text":"

                    MuTect is a method developed at the Broad Institute for the reliable and accurate identification of somatic point mutations in next generation sequencing data of cancer genomes.

                    homepage: http://www.broadinstitute.org/cancer/cga/mutect

                    version versionsuffix toolchain 1.1.4 -Java-1.7.0_76 system 1.1.4 -Java-1.7.0_80 system 1.1.7 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#mutil","title":"mutil","text":"

                    Mutil is a set of standard utilities that have been parallelized to maximize performance on modern file systems. These currently include multi-threaded drop-in replacements for cp and md5sum from GNU coreutils, which have achieved 10/30x rates on one/many nodes.

                    homepage: http://people.nas.nasa.gov/~kolano/projects/mutil.html

                    version toolchain 1.822.3 intel/2016a"},{"location":"version-specific/supported-software/#mvapich2","title":"MVAPICH2","text":"

                    This is an MPI 3.0 implementation. It is based on MPICH2 and MVICH.

                    homepage: http://mvapich.cse.ohio-state.edu/overview/mvapich2/

                    version toolchain 2.0.1 GCC/4.8.4 2.1 GCC/4.9.3-2.25 2.2b GCC/4.9.3-2.25"},{"location":"version-specific/supported-software/#mview","title":"MView","text":"

                    MView reformats the results of a sequence database search or a multiple alignment, optionally adding HTML markup.

                    homepage: https://desmid.github.io/mview/

                    version toolchain 1.67 GCC/11.3.0"},{"location":"version-specific/supported-software/#mxml","title":"mxml","text":"

                    Mini-XML is a tiny XML library that you can use to read and write XML and XML-like data files in your application without requiring large non-standard libraries.

                    homepage: https://github.com/michaelrsweet/mxml

                    version toolchain 3.2 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#mxmlplus","title":"mxmlplus","text":"

                    Mxml is a pure C library (yet having an object oriented layout) that is meant to help developers implementing XML file interpretation in their projects.

                    homepage: http://mxml.sourceforge.net

                    version toolchain 0.9.2 GCC/9.3.0"},{"location":"version-specific/supported-software/#mxnet","title":"MXNet","text":"

                    Flexible and Efficient Library for Deep Learning

                    homepage: https://mxnet.io/

                    version versionsuffix toolchain 0.9.3 -Python-2.7.12-R-3.3.3 foss/2016b"},{"location":"version-specific/supported-software/#mycc","title":"MyCC","text":"

                    MyCC is built and delivered as a tailored solution for metagenomics sequencesclassfication.

                    homepage: https://sourceforge.net/projects/sb2nhri/files/MyCC/

                    version versionsuffix toolchain 2017-03-01 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#mygene","title":"mygene","text":"

                    Python Client for MyGene.Info services.

                    homepage: https://github.com/biothings/mygene.py

                    version toolchain 3.1.0 intel/2019a 3.2.2 foss/2022a"},{"location":"version-specific/supported-software/#mymedialite","title":"MyMediaLite","text":"

                    MyMediaLite is a lightweight, multi-purpose library of recommender system algorithms.

                    homepage: http://www.ismll.uni-hildesheim.de/mymedialite/

                    version toolchain 3.10 intel/2016b 3.11 intel/2016b 3.12 intel/2017a"},{"location":"version-specific/supported-software/#mympingpong","title":"mympingpong","text":"

                    A mpi4py based random pair pingpong network stress test.

                    homepage: https://github.com/hpcugent/mympingpong

                    version versionsuffix toolchain 0.7.0 -Python-2.7.11 intel/2016a 0.7.1 -Python-2.7.12 intel/2016b 0.8.0 -Python-2.7.13 intel/2017a 0.8.0 -Python-2.7.14 intel/2018a 0.8.0 -Python-2.7.15 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#myokit","title":"Myokit","text":"

                    Myokit is an open-source Python-based toolkit that facilitates modeling and simulation of cardiac cellular electrophysiology.

                    homepage: http://myokit.org

                    version toolchain 1.32.0 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#mypy","title":"mypy","text":"

                    Optional static typing for Python

                    homepage: http://www.mypy-lang.org/

                    version toolchain 0.4.5 intel/2016b"},{"location":"version-specific/supported-software/#mysql","title":"MySQL","text":"

                    MySQL is one of the world's most widely used open-source relational database management system (RDBMS).

                    homepage: http://www.mysql.com/

                    version versionsuffix toolchain 5.6.26 -clientonly GNU/4.9.3-2.25 5.7.21 -clientonly GCCcore/6.4.0"},{"location":"version-specific/supported-software/#mysql-python","title":"MySQL-python","text":"

                    MySQL database connector for Python

                    homepage: https://github.com/farcepest/MySQLdb1

                    version versionsuffix toolchain 1.2.5 -Python-2.7.11 intel/2016a 1.2.5 -Python-2.7.11-MariaDB-10.1.14 intel/2016a"},{"location":"version-specific/supported-software/#mysqlclient","title":"mysqlclient","text":"

                    Python interface to MySQL

                    homepage: https://github.com/PyMySQL/mysqlclient-python

                    version versionsuffix toolchain 1.3.7 -Python-2.7.11 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#n","title":"N","text":"

                    n2v - NAG - NAGfor - NAMD - namedlist - nano - NanoComp - nanocompore - NanoFilt - nanoflann - nanoget - NanoLyse - nanomath - nanomax-analysis-utils - nanonet - NanoPlot - nanopolish - NanopolishComp - NanoStat - napari - NASM - nauty - NBO - NCBI-Toolkit - ncbi-vdb - NCCL - NCCL-tests - ncdf4 - ncdu - NCIPLOT - NCL - NCO - ncompress - ncurses - ncview - nd2reader - ne - NECI - NEdit - Nek5000 - Nektar++ - neon - neptune-client - Net-core - netCDF - netCDF-C++ - netCDF-C++4 - netCDF-Fortran - netcdf4-python - netloc - NetLogo - netMHC - netMHCII - netMHCIIpan - netMHCpan - NetPIPE - NetPyNE - nettle - networkTools - networkx - NeuroKit - NEURON - NewHybrids - Nextflow - NextGenMap - NEXUS-CL - nf-core-mag - NFFT - nghttp2 - nghttp3 - NGLess - nglview - NGS - NGS-Python - NGSadmix - NGSpeciesID - ngspice - ngtcp2 - NiBabel - nichenetr - NIfTI - nifti2dicom - Nilearn - Nim - NIMBLE - Ninja - Nipype - NLMpy - nlohmann_json - NLopt - NLTK - nnU-Net - Node-RED - nodejs - Normaliz - nose-parameterized - novoalign - NOVOPlasty - npstat - NRGLjubljana - Nsight-Compute - Nsight-Systems - NSPR - NSS - nsync - ntCard - ntEdit - ntHits - NTL - NTPoly - num2words - numactl - numba - numdiff - numexpr - numpy - NVHPC - nvofbf - nvompi - NVSHMEM - nvtop - NWChem - NxTrim

                    "},{"location":"version-specific/supported-software/#n2v","title":"n2v","text":"

                    Noise2Void - Learning Denoising from Single Noisy Images The field of image denoising is currently dominated by discriminative deep learning methods that are trained on pairs of noisy input and clean target images. Recently it has been shown that such methods can also be trained without clean targets. Instead, independent pairs of noisy images can be used, in an approach known as NOISE2NOISE (N2N). Here, we introduce NOISE2VOID (N2V), a training scheme that takes this idea one step further. It does not require noisy image pairs, nor clean target images. Consequently, N2V allows us to train directly on the body of data to be denoised and can therefore be applied when other methods cannot. Especially interesting is the application to biomedical image data, where the acquisition of training targets, clean or noisy, is frequently not possible. We compare the performance of N2V to approaches that have either clean target images and/or noisy image pairs available. Intuitively, N2V cannot be expected to outperform methods that have more information available during training. Still, we observe that the denoising performance of NOISE2VOID drops in moderation and compares favorably to training-free denoising methods.

                    homepage: https://github.com/juglab/n2v

                    version versionsuffix toolchain 0.3.2 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#nag","title":"NAG","text":"

                    The worlds largest collection of robust, documented, tested and maintained numerical algorithms.

                    homepage: http://www.nag.co.uk

                    version toolchain 7.1 gompi/2022b 24 PGI/17.4-GCC-6.4.0-2.28 26 GCCcore/6.4.0, intel/2018a"},{"location":"version-specific/supported-software/#nagfor","title":"NAGfor","text":"

                    The checking compiler for improved code portability and detailed error reporting.

                    homepage: http://www.nag.co.uk

                    version toolchain 6.2.14 system 7.1 system"},{"location":"version-specific/supported-software/#namd","title":"NAMD","text":"

                    NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems.

                    homepage: https://www.ks.uiuc.edu/Research/namd/

                    version versionsuffix toolchain 2.11 -mpi intel/2016a 2.12 -CUDA-8.0.61 foss/2016b 2.12 -mpi foss/2017a, foss/2017b, intel/2017a, intel/2017b 2.13 fosscuda/2018b 2.13 -mpi foss/2018b, foss/2019b, intel/2018b 2.14 fosscuda/2019b, fosscuda/2020b 2.14 -CUDA-11.3.1 foss/2021a 2.14 -mpi foss/2019b, foss/2020a, foss/2020b, foss/2022a, intel/2020a"},{"location":"version-specific/supported-software/#namedlist","title":"namedlist","text":"

                    A Python object, similar to namedtuple, but for lists.

                    homepage: https://gitlab.com/ericvsmith/namedlist

                    version toolchain 1.8 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#nano","title":"nano","text":"

                    a simple editor, inspired by Pico

                    homepage: https://www.nano-editor.org/

                    version toolchain 6.4 GCCcore/11.3.0 7.0 GCCcore/11.3.0 7.1 GCCcore/12.2.0 7.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#nanocomp","title":"NanoComp","text":"

                    Comparing runs of Oxford Nanopore sequencing data and alignments

                    homepage: https://github.com/wdecoster/NanoComp

                    version versionsuffix toolchain 1.10.1 -Python-3.7.4 intel/2019b 1.13.1 intel/2020b"},{"location":"version-specific/supported-software/#nanocompore","title":"nanocompore","text":"

                    Nanocompore identifies differences in ONT nanopore sequencing raw signal corresponding to RNA modifications by comparing 2 samples

                    homepage: https://nanocompore.rna.rocks/

                    version versionsuffix toolchain 1.0.0rc3-2 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#nanofilt","title":"NanoFilt","text":"

                    Filtering and trimming of long read sequencing data.

                    homepage: https://github.com/wdecoster/nanofilt

                    version versionsuffix toolchain 2.5.0 -Python-3.6.6 foss/2018b 2.6.0 -Python-3.7.4 foss/2019b, intel/2019b 2.6.0 -Python-3.8.2 intel/2020a 2.8.0 foss/2021b"},{"location":"version-specific/supported-software/#nanoflann","title":"nanoflann","text":"

                    nanoflann is a C++11 header-only library for building KD-Trees of datasets with different topologies.

                    homepage: https://github.com/jlblancoc/nanoflann

                    version toolchain 1.4.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#nanoget","title":"nanoget","text":"

                    Functions to extract information from Oxford Nanopore sequencing data and alignments

                    homepage: https://github.com/wdecoster/nanoget

                    version versionsuffix toolchain 1.12.1 -Python-3.7.4 intel/2019b 1.15.0 intel/2020b 1.18.1 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#nanolyse","title":"NanoLyse","text":"

                    Remove reads mapping to the lambda phage genome from a fastq file.

                    homepage: https://github.com/wdecoster/nanolyse

                    version toolchain 1.2.1 foss/2021a"},{"location":"version-specific/supported-software/#nanomath","title":"nanomath","text":"

                    A few simple math function for other Oxford Nanopore processing scripts

                    homepage: https://github.com/wdecoster/nanomath

                    version versionsuffix toolchain 0.23.1 -Python-3.7.4 intel/2019b 1.2.0 intel/2020b 1.2.1 foss/2021a 1.3.0 foss/2022a"},{"location":"version-specific/supported-software/#nanomax-analysis-utils","title":"nanomax-analysis-utils","text":"

                    A set of tools for handling and analysing data at the NanoMAX beamline.

                    homepage: https://github.com/maxiv-science/nanomax-analysis-utils

                    version versionsuffix toolchain 0.4 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.4.3 foss/2020b, fosscuda/2020b 0.4.4 foss/2021b"},{"location":"version-specific/supported-software/#nanonet","title":"nanonet","text":"

                    Nanonet provides recurrent neural network basecalling for Oxford Nanopore MinION data.

                    homepage: https://github.com/nanoporetech/nanonet

                    version versionsuffix toolchain 2.0.0 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#nanoplot","title":"NanoPlot","text":"

                    Plotting suite for long read sequencing data and alignments

                    homepage: https://github.com/wdecoster/NanoPlot

                    version versionsuffix toolchain 1.28.4 -Python-3.7.4 intel/2019b 1.33.0 foss/2021a, intel/2020b"},{"location":"version-specific/supported-software/#nanopolish","title":"nanopolish","text":"

                    Software package for signal-level analysis of Oxford Nanopore sequencing data.

                    homepage: https://github.com/jts/nanopolish

                    version versionsuffix toolchain 0.9.2 intel/2018a 0.10.2 -Python-2.7.15 foss/2018b, intel/2018b 0.13.1 -Python-3.6.6 foss/2018b 0.13.2 -Python-3.8.2 foss/2020a 0.13.3 foss/2020b"},{"location":"version-specific/supported-software/#nanopolishcomp","title":"NanopolishComp","text":"

                    NanopolishComp is a Python3 package for downstream analyses of Nanopolish output files

                    homepage: https://adrienleger.com/NanopolishComp/

                    version versionsuffix toolchain 0.6.11 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#nanostat","title":"NanoStat","text":"

                    Calculate various statistics from a long read sequencing dataset in fastq, bam or albacore sequencing summary format.

                    homepage: https://github.com/wdecoster/nanostat

                    version toolchain 1.6.0 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#napari","title":"napari","text":"

                    napari is a fast, interactive, multi-dimensional image viewer for Python. It's designed for browsing, annotating, and analyzing large multi-dimensional images. It's built on top of Qt (for the GUI), vispy (for performant GPU-based rendering), and the scientific Python stack (numpy, scipy).

                    homepage: https://napari.org/

                    version toolchain 0.4.15 foss/2021b"},{"location":"version-specific/supported-software/#nasm","title":"NASM","text":"

                    NASM: General-purpose x86 assembler

                    homepage: https://www.nasm.us/

                    version toolchain 2.11.08 GCCcore/5.4.0, foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a 2.12.01 foss/2016a, intel/2016a 2.12.02 foss/2016a, foss/2016b, intel/2016b, intel/2017a, system 2.13.01 GCCcore/6.3.0, GCCcore/6.4.0 2.13.03 GCCcore/6.4.0, GCCcore/7.3.0 2.14.02 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.15.05 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 2.16.01 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nauty","title":"nauty","text":"

                    nauty and Traces are programs for computing automorphism groups of graphs and digraphs. They can also produce a canonical label.

                    homepage: https://pallini.di.uniroma1.it/

                    version toolchain 2.6r12 GCC/8.2.0-2.31.1 2.7rc2 GCC/8.2.0-2.31.1 2.7rc5 GCC/8.3.0"},{"location":"version-specific/supported-software/#nbo","title":"NBO","text":"

                    The Natural Bond Orbital (NBO) program is a discovery tool for chemical insights from complex wavefunctions.

                    homepage: http://nbo.chem.wisc.edu/

                    version toolchain 1.1 intel/2016a 7.0 intel/2017b"},{"location":"version-specific/supported-software/#ncbi-toolkit","title":"NCBI-Toolkit","text":"

                    The NCBI Toolkit is a collection of utilities developed for the production and distribution of GenBank, Entrez, BLAST, and related services by the National Center for Biotechnology Information.

                    homepage: http://ncbi.github.io/cxx-toolkit/

                    version toolchain 18.0.0 intel/2017a"},{"location":"version-specific/supported-software/#ncbi-vdb","title":"ncbi-vdb","text":"

                    The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for using data in the INSDC Sequence Read Archives.

                    homepage: https://github.com/ncbi/ncbi-vdb

                    version toolchain 2.5.8-1 foss/2016b, intel/2016a 2.7.0 foss/2016b 2.8.2 foss/2017b, intel/2017a, intel/2017b 2.9.1-1 foss/2018a, intel/2018a 2.9.3 foss/2018b 2.10.4 gompi/2019b 2.10.7 gompi/2020a 2.10.9 gompi/2020b, gompi/2021a 2.11.2 gompi/2021b 3.0.0 gompi/2021b, gompi/2022a 3.0.2 gompi/2022a 3.0.5 gompi/2021a, gompi/2022b"},{"location":"version-specific/supported-software/#nccl","title":"NCCL","text":"

                    The NVIDIA Collective Communications Library (NCCL) implements multi-GPU and multi-node collective communication primitives that are performance optimized for NVIDIA GPUs.

                    homepage: https://developer.nvidia.com/nccl

                    version versionsuffix toolchain 2.1.4 -CUDA-9.0.176 system 2.2.13 -CUDA-9.2.148.1 system 2.3.7 fosscuda/2018b 2.4.2 gcccuda/2019a 2.4.8 gcccuda/2019b 2.8.3 -CUDA-11.0.2 GCCcore/9.3.0, system 2.8.3 -CUDA-11.1.1 GCCcore/10.2.0, system 2.9.9 -CUDA-11.3.1 system 2.10.3 -CUDA-11.3.1 GCCcore/10.3.0 2.10.3 -CUDA-11.4.1 GCCcore/11.2.0 2.10.3 -CUDA-11.5.2 GCCcore/11.2.0 2.11.4 gcccuda/2019b 2.12.12 -CUDA-11.7.0 GCCcore/11.3.0 2.16.2 -CUDA-12.0.0 GCCcore/12.2.0 2.18.3 -CUDA-12.1.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nccl-tests","title":"NCCL-tests","text":"

                    Tests check both the performance and the correctness of NCCL operations.

                    homepage: https://github.com/NVIDIA/nccl-tests

                    version versionsuffix toolchain 2.0.0 gompic/2019b 2.13.6 -CUDA-11.7.0 gompi/2022a"},{"location":"version-specific/supported-software/#ncdf4","title":"ncdf4","text":"

                    ncdf4: Interface to Unidata netCDF (version 4 or earlier) format data files

                    homepage: https://cran.r-project.org/web/packages/ncdf4

                    version versionsuffix toolchain 1.16 -R-3.4.0 intel/2017a 1.16 -R-3.4.3 intel/2017b 1.16 -R-3.4.4 intel/2018a 1.16.1 -R-3.5.1 foss/2018b, intel/2018b 1.16.1 -R-3.6.0 foss/2019a 1.17 foss/2019b 1.17 -R-4.0.0 foss/2020a 1.17 -R-4.0.3 foss/2020b 1.17 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#ncdu","title":"ncdu","text":"

                    Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a remote server where you don't have an entire graphical setup available, but it is a useful tool even on regular desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like environment with ncurses installed.

                    homepage: https://dev.yorhel.nl/ncdu

                    version toolchain 1.13 GCCcore/7.3.0 1.14 GCCcore/7.3.0 1.15.1 GCCcore/9.3.0 1.16 GCC/10.3.0, GCC/11.2.0 1.17 GCC/11.3.0"},{"location":"version-specific/supported-software/#nciplot","title":"NCIPLOT","text":"

                    NCIPLOT is a program for revealing non covalent interactions based on the reduced density gradient.

                    homepage: https://www.lct.jussieu.fr/pagesperso/contrera/index-nci.html

                    version toolchain 4.0-20190718 iccifort/2019.5.281 4.0-20200106 iccifort/2019.5.281 4.0-20200624 GCC/11.2.0"},{"location":"version-specific/supported-software/#ncl","title":"NCL","text":"

                    NCL is an interpreted language designed specifically for scientific data analysis and visualization.

                    homepage: https://www.ncl.ucar.edu

                    version toolchain 6.4.0 intel/2017a, intel/2017b, intel/2018a 6.5.0 intel/2018a 6.6.2 foss/2018b, foss/2020a, foss/2020b, foss/2021a, intel/2018b, intel/2019b, intel/2020a"},{"location":"version-specific/supported-software/#nco","title":"NCO","text":"

                    The NCO toolkit manipulates and analyzes data stored in netCDF-accessible formats, including DAP, HDF4, and HDF5.

                    homepage: https://github.com/nco/nco

                    version toolchain 4.6.0 foss/2016a 4.6.6 intel/2017a 4.7.0 intel/2017b 4.7.1 intel/2017b 4.7.4 foss/2017b 4.7.6 intel/2018a 4.7.9 foss/2018b, intel/2018b 4.8.1 foss/2019a 4.9.3 foss/2019b 4.9.7 foss/2020a, foss/2020b 5.0.1 foss/2021a 5.0.3 foss/2021b, intel/2021b 5.0.6 intel/2019b 5.1.0 foss/2022a 5.1.3 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#ncompress","title":"ncompress","text":"

                    Compress is a fast, simple LZW file compressor. Compress does not have the highest compression rate, but it is one of the fastest programs to compress data. Compress is the defacto standard in the UNIX community for compressing files.

                    homepage: http://ncompress.sourceforge.net/

                    version toolchain 4.2.4.4 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#ncurses","title":"ncurses","text":"

                    The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.

                    homepage: https://www.gnu.org/software/ncurses/

                    version toolchain 5.9 GCC/4.8.1, GCC/4.8.2, GCC/4.8.3, GCC/4.8.4, GCC/4.9.2, GNU/4.9.3-2.25, gimkl/2.11.5, system 6.0 GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, foss/2016b, gimkl/2017a, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 6.1 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, system 6.2 FCC/4.5.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0, system 6.3 GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, system 6.4 GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#ncview","title":"ncview","text":"

                    Ncview is a visual browser for netCDF format files. Typically you would use ncview to get a quick and easy, push-button look at your netCDF files. You can view simple movies of the data, view along various dimensions, take a look at the actual data values, change color maps, invert the data, etc.

                    homepage: http://meteora.ucsd.edu/~pierce/ncview_home_page.html

                    version toolchain 2.1.7 foss/2017b, foss/2018b, foss/2019b, gompi/2019a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intel/2019b, iomkl/2018b 2.1.8 gompi/2020a, gompi/2021a, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#nd2reader","title":"nd2reader","text":"

                    nd2reader is a pure-Python package that reads images produced by NIS Elements 4.0+.

                    homepage: https://www.lighthacking.nl/nd2reader/

                    version versionsuffix toolchain 3.0.6 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#ne","title":"ne","text":"

                    ne is a free (GPL'd) text editor based on the POSIX standard that runs (we hope) on almost any UN*X machine. ne is easy to use for the beginner, but powerful and fully configurable for the wizard, and most sparing in its resource usage.

                    homepage: http://ne.di.unimi.it/

                    version toolchain 3.0.1 gimkl/2017a"},{"location":"version-specific/supported-software/#neci","title":"NECI","text":"

                    Standalone NECI codebase designed for FCIQMC and other stochastic quantum chemistry methods.

                    homepage: https://github.com/ghb24/NECI_STABLE

                    version toolchain 20220711 foss/2022a"},{"location":"version-specific/supported-software/#nedit","title":"NEdit","text":"

                    NEdit is a multi-purpose text editor for the X Window System, which combines a standard, easy to use, graphical user interface with the thorough functionality and stability required by users who edit text eight hours a day.

                    homepage: http://www.nedit.org

                    version versionsuffix toolchain 5.5 -Linux-x86 system"},{"location":"version-specific/supported-software/#nek5000","title":"Nek5000","text":"

                    a fast and scalable high-order solver for computational fluid dynamics

                    homepage: https://nek5000.mcs.anl.gov/

                    version toolchain 17.0 intel/2018a"},{"location":"version-specific/supported-software/#nektar","title":"Nektar++","text":"

                    Nektar++ is a tensor product based finite element package designed to allow one to construct efficient classical low polynomial order h-type solvers (where h is the size of the finite element) as well as higher p-order piecewise polynomial order solvers.

                    homepage: https://www.nektar.info

                    version toolchain 5.0.1 foss/2020b"},{"location":"version-specific/supported-software/#neon","title":"neon","text":"

                    neon is an HTTP/1.1 and WebDAV client library, with a C interface.

                    homepage: https://github.com/notroj/neon

                    version toolchain 0.31.2 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#neptune-client","title":"neptune-client","text":"

                    Neptune is an experiment tracking hub that brings organization and collaboration to your data science team.

                    homepage: https://docs.neptune.ai

                    version versionsuffix toolchain 0.4.129 -Python-3.8.2 foss/2020a 0.10.5 foss/2020b 0.16.2 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#net-core","title":"Net-core","text":"

                    .NET Core is a free and open-source managed computer software framework for the Windows, Linux, and macOS operating systems .NET Core fully supports C# and F# and partially supports Visual Basic

                    homepage: https://dotnet.microsoft.com/

                    version toolchain 2.1.8 system 2.2.5 system 3.0.0 system"},{"location":"version-specific/supported-software/#netcdf","title":"netCDF","text":"

                    NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.

                    homepage: https://www.unidata.ucar.edu/software/netcdf/

                    version versionsuffix toolchain 4.3.3.1 foss/2016a, intel/2016.02-GCC-4.9, intel/2016a 4.4.0 foss/2016a, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 4.4.1 foss/2016a, foss/2016b, intel/2016a, intel/2016b 4.4.1.1 foss/2016b, foss/2017b, fosscuda/2017b, intel/2016b, intel/2017a, intel/2017b, intelcuda/2017b 4.4.1.1 -HDF5-1.10.1 foss/2017a, intel/2017a 4.4.1.1 -HDF5-1.8.18 intel/2017a 4.4.1.1 -HDF5-1.8.19 foss/2017a, foss/2017b, intel/2017b 4.5.0 foss/2017b, intel/2017b, intel/2018.00, intel/2018.01 4.6.0 foss/2018a, intel/2018a, iomkl/2018a 4.6.1 PGI/18.4-GCC-6.4.0-2.28, foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 4.6.2 gompi/2019a, iimpi/2019a 4.7.1 gompi/2019b, gompic/2019b, iimpi/2019b, iimpic/2019b 4.7.4 gompi/2020a, gompi/2020b, gompic/2020a, gompic/2020b, iimpi/2020a, iimpi/2020b, iimpic/2020b, iompi/2020a 4.8.0 gompi/2021a, iimpi/2021a 4.8.1 gompi/2021b, iimpi/2021b 4.9.0 gompi/2022a, gompi/2022b, iimpi/2022a, iimpi/2022b"},{"location":"version-specific/supported-software/#netcdf-c","title":"netCDF-C++","text":"

                    NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.

                    homepage: http://www.unidata.ucar.edu/software/netcdf/

                    version toolchain 4.2 foss/2016a"},{"location":"version-specific/supported-software/#netcdf-c4","title":"netCDF-C++4","text":"

                    NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.

                    homepage: https://www.unidata.ucar.edu/software/netcdf/

                    version versionsuffix toolchain 4.3.0 foss/2018b, gompi/2019a, iimpi/2019a, intel/2016a, intel/2016b, intel/2017a, intel/2018a, intel/2018b, iomkl/2018b 4.3.0 -HDF5-1.8.18 intel/2017a 4.3.0 -HDF5-1.8.19 intel/2017b 4.3.1 gompi/2019b, gompi/2020a, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a, iimpi/2019b, iimpi/2020a, iimpi/2020b, iimpi/2021a, iimpi/2021b, iimpi/2022a"},{"location":"version-specific/supported-software/#netcdf-fortran","title":"netCDF-Fortran","text":"

                    NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.

                    homepage: https://www.unidata.ucar.edu/software/netcdf/

                    version versionsuffix toolchain 4.4.1 foss/2016b, intel/2016b 4.4.2 intel/2016.02-GCC-4.9 4.4.3 foss/2016a, intel/2016a 4.4.4 PGI/18.4-GCC-6.4.0-2.28, foss/2016b, foss/2017b, foss/2018a, foss/2018b, fosscuda/2017b, fosscuda/2018b, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intelcuda/2017b, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, iomkl/2018b 4.4.4 -HDF5-1.8.18 intel/2017a 4.4.4 -HDF5-1.8.19 foss/2017b, intel/2017b 4.4.5 gompi/2019a, iimpi/2019a 4.5.2 gompi/2019b, gompi/2020a, gompic/2019b, gompic/2020a, iimpi/2019b, iimpi/2020a, iimpic/2019b 4.5.3 gompi/2020b, gompi/2021a, gompi/2021b, gompic/2020b, iimpi/2020b, iimpi/2021a, iimpi/2021b 4.6.0 gompi/2022a, gompi/2022b, iimpi/2022a"},{"location":"version-specific/supported-software/#netcdf4-python","title":"netcdf4-python","text":"

                    Python/numpy interface to netCDF.

                    homepage: https://unidata.github.io/netcdf4-python/

                    version versionsuffix toolchain 1.2.9 -Python-2.7.13 intel/2017a 1.3.1 -Python-3.6.3 intel/2017b 1.3.1 -Python-3.6.3-HDF5-1.8.19 intel/2017b 1.4.0 -Python-3.6.2-HDF5-1.8.19 foss/2017b 1.4.0 -Python-3.6.4 intel/2018a 1.4.1 -Python-2.7.15 intel/2018b 1.4.1 -Python-3.6.6 foss/2018b, intel/2018b 1.4.2 -Python-3.6.4 foss/2018a 1.4.3 -Python-3.6.6 foss/2018b 1.5.2 intel/2019a 1.5.3 -Python-2.7.16 foss/2019b 1.5.3 -Python-3.7.4 foss/2019b, intel/2019b 1.5.3 -Python-3.8.2 foss/2020a, intel/2020a 1.5.5.1 foss/2020b, fosscuda/2020b, intel/2020b 1.5.7 foss/2021a, foss/2021b, intel/2021b 1.6.1 foss/2022a, intel/2022a 1.6.3 foss/2022b"},{"location":"version-specific/supported-software/#netloc","title":"netloc","text":"

                    The Portable Network Locality (netloc) software package provides network topology discovery tools, and an abstract representation of those networks topologies for a range of network types and configurations. It is provided as a companion to the Portable Hardware Locality (hwloc) package.

                    homepage: http://www.open-mpi.org/software/netloc

                    version toolchain 0.5 GCC/4.8.3"},{"location":"version-specific/supported-software/#netlogo","title":"NetLogo","text":"

                    NetLogo is a multi-agent programmable modeling environment. It is used by tens of thousands of students, teachers and researchers worldwide. It also powers HubNet participatory simulations. It is authored by Uri Wilensky and developed at the CCL.

                    homepage: https://ccl.northwestern.edu/netlogo/

                    version versionsuffix toolchain 5.3.1 -64 system 6.0.4 -64 system 6.2.0 -64 system 6.2.2 -64 system 6.3.0 -64 system"},{"location":"version-specific/supported-software/#netmhc","title":"netMHC","text":"

                    NetMHC 4.0 predicts binding of peptides to a number of different HLA alleles using artificial neural networks (ANN).

                    homepage: https://www.cbs.dtu.dk/services/NetMHC/

                    version toolchain 4.0a system"},{"location":"version-specific/supported-software/#netmhcii","title":"netMHCII","text":"

                    NetMHCII 2.3 server predicts binding of peptides to HLA-DR, HLA-DQ, HLA-DP and mouse MHC class II alleles using articial neuron networks. Predictions can be obtained for 25 HLA-DR alleles, 20 HLA-DQ, 9 HLA-DP, and 7 mouse H2 class II alleles.

                    homepage: https://www.cbs.dtu.dk/services/NetMHCII/

                    version toolchain 2.3 system"},{"location":"version-specific/supported-software/#netmhciipan","title":"netMHCIIpan","text":"

                    NetMHCIIpan 3.2 server predicts binding of peptides to MHC class II molecules. The predictions are available for the three human MHC class II isotypes HLA-DR, HLA-DP and HLA-DQ, as well as mouse molecules (H-2).

                    homepage: https://www.cbs.dtu.dk/services/NetMHCIIpan/

                    version toolchain 3.2 GCCcore/7.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#netmhcpan","title":"netMHCpan","text":"

                    The NetMHCpan software predicts binding of peptides to any known MHC molecule using artificial neural networks (ANNs).

                    homepage: https://www.cbs.dtu.dk/services/NetMHCpan/

                    version toolchain 4.0a system"},{"location":"version-specific/supported-software/#netpipe","title":"NetPIPE","text":"

                    NetPIPE is a protocol independent communication performance benchmark that visually represents the network performance under a variety of conditions.

                    homepage: https://netpipe.cs.ksu.edu/

                    version toolchain 5.1 intel/2018a 5.1.4 gompi/2020b, iimpi/2020b"},{"location":"version-specific/supported-software/#netpyne","title":"NetPyNE","text":"

                    NetPyNE is an open-source Python package to facilitate the development, parallel simulation, analysis, and optimization of biological neuronal networks using the NEURON simulator.

                    homepage: http://www.netpyne.org

                    version toolchain 1.0.2.1 foss/2021b"},{"location":"version-specific/supported-software/#nettle","title":"nettle","text":"

                    Nettle is a cryptographic library that is designed to fit easily in more or less any context: In crypto toolkits for object-oriented languages (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in kernel space.

                    homepage: https://www.lysator.liu.se/~nisse/nettle/

                    version toolchain 3.1.1 GNU/4.9.3-2.25, foss/2016a, intel/2016a 3.2 GCCcore/5.4.0, foss/2016b, intel/2016b 3.3 GCCcore/6.3.0, GCCcore/6.4.0, intel/2017a 3.4 GCCcore/6.4.0, GCCcore/7.3.0, foss/2018a, foss/2018b, fosscuda/2018b, intel/2018a, intel/2018b, iomkl/2018a 3.4.1 GCCcore/8.2.0 3.5.1 GCCcore/8.3.0 3.6 GCCcore/10.2.0, GCCcore/9.3.0 3.7.2 GCCcore/10.3.0 3.7.3 GCCcore/11.2.0 3.8 GCCcore/11.3.0 3.8.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#networktools","title":"networkTools","text":"

                    Dynamical Network Analysis is a method of characterizing allosteric signalling through biomolecular complexes.

                    homepage: http://faculty.scs.illinois.edu/schulten/software/networkTools/

                    version toolchain 2 GCC/9.3.0"},{"location":"version-specific/supported-software/#networkx","title":"networkx","text":"

                    NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.

                    homepage: https://pypi.python.org/pypi/networkx

                    version versionsuffix toolchain 1.1 -Python-2.7.12 intel/2016b 1.11 -Python-2.7.11 foss/2016a 1.11 -Python-2.7.14 intel/2017b 1.11 -Python-3.5.1 foss/2016a 2.0 -Python-2.7.14 intel/2017b 2.1 -Python-2.7.14 intel/2017b 2.2 -Python-2.7.15 foss/2018b, foss/2019a, intel/2018b 2.2 -Python-2.7.16 foss/2019b 2.2 -Python-3.6.6 foss/2018b, intel/2018b 2.3 -Python-3.7.2 foss/2019a, intel/2019a 2.4 -Python-3.7.2 foss/2019a, intel/2019a 2.4 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b, intelcuda/2019b 2.4 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a 2.5 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 2.5.1 foss/2021a 2.6.2 foss/2020b 2.6.3 foss/2021a, foss/2021b, intel/2021b 2.8.4 foss/2022a, intel/2022a 2.8.8 gfbf/2022b 3.0 gfbf/2022b"},{"location":"version-specific/supported-software/#neurokit","title":"NeuroKit","text":"

                    NeuroKit is a Python module that provides high-level integrative functions with good and flexible defaults, allowing users to focus on what\u2019s important.

                    homepage: https://neurokit.readthedocs.io

                    version versionsuffix toolchain 0.2.7 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#neuron","title":"NEURON","text":"

                    Empirically-based simulations of neurons and networks of neurons.

                    homepage: https://www.neuron.yale.edu/neuron

                    version versionsuffix toolchain 7.4 intel/2016b 7.6.5 -Python-2.7.15 intel/2018b 7.8.2 foss/2021b"},{"location":"version-specific/supported-software/#newhybrids","title":"NewHybrids","text":"

                    This implements a Gibbs sampler to estimate the posterior probability that genetically sampled individuals fall into each of a set of user-defined hybrid categories.

                    homepage: https://ib.berkeley.edu/labs/slatkin/eriq/software/software.htm#NewHybs

                    version toolchain 1.1_Beta3 GCC/10.2.0"},{"location":"version-specific/supported-software/#nextflow","title":"Nextflow","text":"

                    Nextflow is a reactive workflow framework and a programming DSL that eases writing computational pipelines with complex data

                    homepage: https://www.nextflow.io/

                    version toolchain 19.04.0 system 19.07.0 system 19.12.0 system 20.01.0 system 20.04.1 system 20.10.0 system 21.03.0 system 21.08.0 system 21.10.6 system 22.04.0 system 22.10.0 system 22.10.1 system 22.10.5 system 22.10.6 system 23.04.2 system"},{"location":"version-specific/supported-software/#nextgenmap","title":"NextGenMap","text":"

                    NextGenMap is a flexible highly sensitive short read mapping tool that handles much higher mismatch rates than comparable algorithms while still outperforming them in terms of runtime.

                    homepage: http://cibiv.github.io/NextGenMap/

                    version toolchain 0.5.5 GCC/11.2.0, foss/2016b"},{"location":"version-specific/supported-software/#nexus-cl","title":"NEXUS-CL","text":"

                    The NEXUS Class Library is a C++ library for parsing NEXUS files.

                    homepage: https://ncl.sourceforge.net/

                    version toolchain 2.1.18 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#nf-core-mag","title":"nf-core-mag","text":"

                    The Nextflow pipeline 'mag' ported to EasyBuild/EESSI.

                    homepage: https://nf-co.re/mag

                    version toolchain 20221110 foss/2021a"},{"location":"version-specific/supported-software/#nfft","title":"NFFT","text":"

                    The NFFT (nonequispaced fast Fourier transform or nonuniform fast Fourier transform) is a C subroutine library for computing the nonequispaced discrete Fourier transform (NDFT) and its generalisations in one or more dimensions, of arbitrary input size, and of complex data.

                    homepage: https://www-user.tu-chemnitz.de/~potts/nfft/

                    version toolchain 3.1.3 foss/2020b, fosscuda/2020b 3.5.1 foss/2018b, foss/2019a 3.5.2 foss/2020a, foss/2021a, foss/2021b 3.5.3 foss/2022a"},{"location":"version-specific/supported-software/#nghttp2","title":"nghttp2","text":"

                    This is an implementation of the Hypertext Transfer Protocol version 2 in C. The framing layer of HTTP/2 is implemented as a reusable C library. On top of that, we have implemented an HTTP/2 client, server and proxy. We have also developed load test and benchmarking tools for HTTP/2. An HPACK encoder and decoder are available as a public API.

                    homepage: https://github.com/nghttp2/nghttp2

                    version toolchain 1.48.0 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#nghttp3","title":"nghttp3","text":"

                    nghttp3 is an implementation of RFC 9114 HTTP/3 mapping over QUIC and RFC 9204 QPACK in C. It does not depend on any particular QUIC transport implementation.

                    homepage: https://github.com/ngtcp2/nghttp3

                    version toolchain 0.6.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ngless","title":"NGLess","text":"

                    NGLess is a domain-specific language for NGS (next-generation sequencing data) processing.

                    homepage: https://ngless.embl.de/

                    version versionsuffix toolchain 1.1.1 -static-Linux64 system"},{"location":"version-specific/supported-software/#nglview","title":"nglview","text":"

                    IPython widget to interactively view molecular structures and trajectories.

                    homepage: https://github.com/arose/nglview

                    version versionsuffix toolchain 2.7.0 -Python-3.7.2 intel/2019a 2.7.7 -Python-3.8.2 intel/2020a 3.0.3 foss/2021a"},{"location":"version-specific/supported-software/#ngs","title":"NGS","text":"

                    NGS is a new, domain-specific API for accessing reads, alignments and pileups produced from Next Generation Sequencing.

                    homepage: https://github.com/ncbi/ngs

                    version versionsuffix toolchain 1.2.3 foss/2016b, intel/2016a 1.2.5 foss/2016b 1.3.0 GCCcore/6.4.0, intel/2017a 2.9.1 -Java-1.8.0_162 foss/2018a, intel/2018a 2.9.3 -Java-1.8 foss/2018b 2.10.0 -Java-1.8 GCCcore/8.2.0 2.10.0 -Java-11 GCCcore/8.2.0 2.10.4 -Java-11 GCCcore/8.3.0 2.10.5 GCCcore/9.3.0 2.10.9 GCCcore/10.2.0, GCCcore/10.3.0 2.11.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#ngs-python","title":"NGS-Python","text":"

                    NGS is a new, domain-specific API for accessing reads, alignments and pileups produced from Next Generation Sequencing.

                    homepage: https://github.com/ncbi/ngs

                    version versionsuffix toolchain 1.2.3 -Python-2.7.11 intel/2016a 2.9.3 -Python-3.6.6 intel/2018b 2.10.4 -Python-2.7.16 gompi/2019b"},{"location":"version-specific/supported-software/#ngsadmix","title":"NGSadmix","text":"

                    NGSadmix is a tool for finding admixture proportions from NGS data, based on genotype likelihoods.

                    homepage: http://www.popgen.dk/software/index.php/NgsAdmix

                    version toolchain 32 GCC/7.3.0-2.30"},{"location":"version-specific/supported-software/#ngspeciesid","title":"NGSpeciesID","text":"

                    NGSpeciesID is a tool for clustering and consensus forming of targeted ONT reads.

                    homepage: https://github.com/ksahlin/NGSpeciesID

                    version versionsuffix toolchain 0.1.1.1 -Python-3.7.4 foss/2019b 0.1.2.1 foss/2021b"},{"location":"version-specific/supported-software/#ngspice","title":"ngspice","text":"

                    Ngspice is a mixed-level/mixed-signal circuit simulator. Its code is based on three open source software packages: Spice3f5, Cider1b1 and Xspice.

                    homepage: https://ngspice.sourceforge.net

                    version toolchain 31 foss/2019b 39 foss/2022a"},{"location":"version-specific/supported-software/#ngtcp2","title":"ngtcp2","text":"

                    'Call it TCP/2. One More Time.' ngtcp2 project is an effort to implement RFC9000 QUIC protocol.

                    homepage: https://github.com/ngtcp2/ngtcp2

                    version toolchain 0.7.0 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#nibabel","title":"NiBabel","text":"

                    NiBabel provides read/write access to some common medical and neuroimaging file formats, including: ANALYZE (plain, SPM99, SPM2 and later), GIFTI, NIfTI1, NIfTI2, MINC1, MINC2, MGH and ECAT as well as Philips PAR/REC. We can read and write Freesurfer geometry, and read Freesurfer morphometry and annotation files. There is some very limited support for DICOM. NiBabel is the successor of PyNIfTI.

                    homepage: https://nipy.github.io/nibabel

                    version versionsuffix toolchain 2.0.2 -Python-2.7.11 intel/2016a 2.0.2 -Python-2.7.11-freetype-2.6.3 intel/2016a 2.1.0 -Python-2.7.13 intel/2017a 2.2.1 -Python-3.6.4 intel/2018a 2.3.0 -Python-2.7.14 foss/2017b, intel/2017b 2.3.0 -Python-3.6.3 foss/2017b, intel/2017b 2.3.0 -Python-3.6.6 foss/2018b 2.4.0 foss/2019a, intel/2019a 2.5.1 -Python-3.6.6 foss/2018b 3.1.0 -Python-3.7.4 foss/2019b, intel/2019b 3.2.0 -Python-3.8.2 foss/2020a 3.2.1 foss/2020b, foss/2021a, fosscuda/2020b 3.2.2 foss/2021b 4.0.2 foss/2022a"},{"location":"version-specific/supported-software/#nichenetr","title":"nichenetr","text":"

                    R implementation of the NicheNet method, to predict active ligand-target links between interacting cells

                    homepage: https://github.com/saeyslab/nichenetr

                    version versionsuffix toolchain 1.1.1-20230223 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#nifti","title":"NIfTI","text":"

                    Niftilib is a set of i/o libraries for reading and writing files in the nifti-1 data format.

                    homepage: http://niftilib.sourceforge.net/

                    version toolchain 2.0.0 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#nifti2dicom","title":"nifti2dicom","text":"

                    Nifti2Dicom is a conversion tool that converts 3D NIfTI files (and other formats supported by ITK, including Analyze, MetaImage Nrrd and VTK) to DICOM. Unlike other conversion tools, it can import a DICOM file that is used to import the patient and study DICOM tags, and allows you to edit the accession number and other DICOM tags, in order to create a valid DICOM that can be imported in a PACS.

                    homepage: https://github.com/biolab-unige/nifti2dicom

                    version toolchain 0.4.11 foss/2019b"},{"location":"version-specific/supported-software/#nilearn","title":"Nilearn","text":"

                    Nilearn is a Python module for fast and easy statistical learning on NeuroImaging data.

                    homepage: https://nilearn.github.io/

                    version versionsuffix toolchain 0.5.2 foss/2019a, intel/2019a 0.5.2 -Python-2.7.14 foss/2017b, intel/2017b 0.5.2 -Python-3.6.3 foss/2017b, intel/2017b 0.7.0 -Python-3.8.2 foss/2020a 0.7.1 foss/2020b"},{"location":"version-specific/supported-software/#nim","title":"Nim","text":"

                    Nim is a systems and applications programming language.

                    homepage: https://nim-lang.org/

                    version toolchain 0.18.0 GCCcore/6.4.0 0.19.2 GCCcore/7.3.0 1.0.0 GCCcore/8.3.0 1.4.6 GCCcore/10.2.0 1.4.8 GCCcore/10.3.0 1.6.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#nimble","title":"NIMBLE","text":"

                    NIMBLE is a system for building and sharing analysis methods for statistical models, especially for hierarchical models and computationally-intensive methods.

                    homepage: https://r-nimble.org

                    version versionsuffix toolchain 0.7.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#ninja","title":"Ninja","text":"

                    Ninja is a small build system with a focus on speed.

                    homepage: https://ninja-build.org/

                    version toolchain 1.8.2 foss/2018a, foss/2018b, fosscuda/2018b, intel/2017b, intel/2018a 1.9.0 GCCcore/8.2.0, GCCcore/8.3.0, foss/2018b 1.10.0 GCCcore/9.3.0 1.10.1 GCCcore/10.2.0 1.10.2 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 1.11.1 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nipype","title":"Nipype","text":"

                    Nipype is a Python project that provides a uniform interface to existing neuroimaging software and facilitates interaction between these packages within a single workflow.

                    homepage: https://nipype.readthedocs.io

                    version versionsuffix toolchain 1.0.2 -Python-3.6.4 intel/2018a 1.1.3 -Python-3.6.6 foss/2018b 1.4.2 -Python-3.7.4 intel/2019b 1.8.5 foss/2021a"},{"location":"version-specific/supported-software/#nlmpy","title":"NLMpy","text":"

                    NLMpy is a Python package for the creation of neutral landscape models that are widely used in the modelling of ecological patterns and processes across landscapes.

                    homepage: https://pypi.org/project/nlmpy

                    version versionsuffix toolchain 0.1.5 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#nlohmann_json","title":"nlohmann_json","text":"

                    JSON for Modern C++

                    homepage: https://github.com/nlohmann/json

                    version toolchain 3.10.0 GCCcore/10.3.0 3.10.4 GCCcore/11.2.0 3.10.5 GCCcore/11.3.0 3.11.2 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nlopt","title":"NLopt","text":"

                    NLopt is a free/open-source library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms.

                    homepage: http://ab-initio.mit.edu/wiki/index.php/NLopt

                    version toolchain 2.4.2 GCC/5.4.0-2.26, GCCcore/7.3.0, foss/2016a, foss/2016b, foss/2017b, foss/2018a, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, iomkl/2018a 2.6.1 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.6.2 GCCcore/10.2.0 2.7.0 GCCcore/10.3.0, GCCcore/11.2.0 2.7.1 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#nltk","title":"NLTK","text":"

                    NLTK is a leading platform for building Python programs to work with human language data.

                    homepage: https://www.nltk.org/

                    version versionsuffix toolchain 3.2.2 -Python-2.7.13 intel/2017a 3.2.4 -Python-2.7.13 intel/2017a 3.5 -Python-3.7.4 foss/2019b 3.5 -Python-3.8.2 foss/2020a, fosscuda/2020a 3.6.7 foss/2021a 3.7 foss/2021b"},{"location":"version-specific/supported-software/#nnu-net","title":"nnU-Net","text":"

                    nnU-Net is the first segmentation method that is designed to deal with the dataset diversity found in the domain It condenses and automates the keys decisions for designing a successful segmentation pipeline for any given dataset.

                    homepage: https://github.com/MIC-DKFZ/nnUNet

                    version toolchain 1.7.0 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#node-red","title":"Node-RED","text":"

                    Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

                    homepage: http://nodered.org

                    version toolchain 0.16.2 foss/2017a"},{"location":"version-specific/supported-software/#nodejs","title":"nodejs","text":"

                    Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

                    homepage: http://nodejs.org

                    version toolchain 4.4.7 foss/2016a 6.10.3 foss/2017a 8.9.4 foss/2017a 10.15.1 foss/2018b 10.15.3 GCCcore/8.2.0 12.16.1 GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0 12.19.0 GCCcore/10.2.0 14.17.0 GCCcore/10.3.0 14.17.2 GCCcore/10.3.0 14.17.6 GCCcore/11.2.0 16.15.1 GCCcore/11.3.0 18.12.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#normaliz","title":"Normaliz","text":"

                    Normaliz is a open source tool for computations in affine monoids, vector configurations, rational polyhedra and rational cones. Normaliz now computes rational and algebraic polyhedra, i.e., polyhedra defined over real algebraic extensions of QQ.

                    homepage: https://www.normaliz.uni-osnabrueck.de/

                    version toolchain 3.6.3 intel/2018b 3.7.4 gompi/2019a 3.8.4 GCC/8.3.0"},{"location":"version-specific/supported-software/#nose-parameterized","title":"nose-parameterized","text":"

                    Parameterized testing with any Python test framework.

                    homepage: version versionsuffix toolchain 0.5.0 -Python-2.7.11 foss/2016a 0.5.0 -Python-3.5.1 foss/2016a 0.5.0 -Python-3.5.2 intel/2016b 0.6.0 -Python-3.6.1 intel/2017a"},{"location":"version-specific/supported-software/#novoalign","title":"novoalign","text":"

                    NovoCraft is a software bundle. NovoAlign: Market\u2019s leading aligner with fully packed features designed for mapping of short reads onto a reference genome from Illumina, Ion Torrent, 454, and Color Spance NGS platforms. NovoAlignCS: Leading aligner packed with features designed to fully support reads from ABI SOLiD Color Space. NovoSort: Custom designed multi-threaded sort/merge tools for BAM files. NovoMethyl: It can analyse a set of alignments to identify methylated cytosine\u2019s. WARNING! You can only use the sofware without a license (with some features disabled) if you are a non-profit organisation and use is for your own research or for use by students as part of their course. A license is required for use where these programs are part of a service where a third party is billed.

                    homepage: http://www.novocraft.com/

                    version versionsuffix toolchain 3.09.00 system 3.09.01 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#novoplasty","title":"NOVOPlasty","text":"

                    NOVOPlasty is a de novo assembler and heteroplasmy/variance caller for short circular genomes.

                    homepage: https://github.com/ndierckx/NOVOPlasty

                    version toolchain 3.7 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#npstat","title":"npstat","text":"

                    npstat implements some population genetics tests and estimators that can be applied to pooled sequences from Next Generation Sequencing experiments.

                    homepage: https://code.google.com/archive/p/npstat/

                    version toolchain 0.99 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#nrgljubljana","title":"NRGLjubljana","text":"

                    NRG Ljubljana is an efficient implementation of the numerical renormalization group (NRG) technique for solving quantum impurity problems that arise as simplified models of magnetic impurities and as effective models in the dynamical mean field theory (DMFT) approach to bulk correlated materials.

                    homepage: http://nrgljubljana.ijs.si/

                    version toolchain 2.4.3.23 foss/2016b"},{"location":"version-specific/supported-software/#nsight-compute","title":"Nsight-Compute","text":"

                    NVIDIA\u00ae Nsight\u2122 Compute is an interactive kernel profiler for CUDA applications. It provides detailed performance metrics and API debugging via a user interface and a command line tool. In addition, its baseline feature allows users to compare results within the tool. Nsight Compute provides a customizable and data-driven user interface and fast metric collection, which can be extended with rules-based analysis scripts for post-processing results. The rules-based guided analysis helps isolate and fix memory throughput, compute, and occupancy inefficiencies in the target application.

                    homepage: https://developer.nvidia.com/nsight-compute

                    version toolchain 2020.3.0 system 2021.2.0 system"},{"location":"version-specific/supported-software/#nsight-systems","title":"Nsight-Systems","text":"

                    NVIDIA\u00ae Nsight\u2122 Systems is a system-wide performance analysis tool designed to visualize an application\u2019s algorithm, help you select the largest opportunities to optimize, and tune to scale efficiently across any quantity of CPUs and GPUs in your computer; from laptops to DGX servers.

                    homepage: https://developer.nvidia.com/nsight-compute

                    version toolchain 2020.5.1 system"},{"location":"version-specific/supported-software/#nspr","title":"NSPR","text":"

                    Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level and libc-like functions.

                    homepage: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR

                    version toolchain 4.20 GCCcore/6.4.0, GCCcore/7.3.0 4.21 GCCcore/8.2.0, GCCcore/8.3.0 4.25 GCCcore/9.3.0 4.29 GCCcore/10.2.0 4.30 GCCcore/10.3.0 4.32 GCCcore/11.2.0 4.34 GCCcore/11.3.0 4.35 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nss","title":"NSS","text":"

                    Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications.

                    homepage: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS

                    version toolchain 3.39 GCCcore/6.4.0, GCCcore/7.3.0 3.42.1 GCCcore/8.2.0 3.45 GCCcore/8.3.0 3.51 GCCcore/9.3.0 3.57 GCCcore/10.2.0 3.65 GCCcore/10.3.0 3.69 GCCcore/11.2.0 3.79 GCCcore/11.3.0 3.85 GCCcore/12.2.0 3.89.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#nsync","title":"nsync","text":"

                    nsync is a C library that exports various synchronization primitives, such as mutexes

                    homepage: https://github.com/google/nsync

                    version toolchain 1.24.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.25.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ntcard","title":"ntCard","text":"

                    ntCard is a streaming algorithm for estimating the frequencies of k-mers in genomics datasets.

                    homepage: https://www.bcgsc.ca/resources/software/ntcard

                    version toolchain 1.2.1 GCC/11.2.0, GCC/8.3.0"},{"location":"version-specific/supported-software/#ntedit","title":"ntEdit","text":"

                    ntEdit is a fast and scalable genomics application for polishing genome assembly drafts.

                    homepage: https://github.com/bcgsc/ntEdit

                    version toolchain 1.3.1 iccifort/2018.3.222-GCC-7.3.0-2.30"},{"location":"version-specific/supported-software/#nthits","title":"ntHits","text":"

                    ntHits is a method for identifying repeats in high-throughput DNA sequencing data.

                    homepage: https://github.com/bcgsc/ntHits

                    version toolchain 0.0.1 iccifort/2018.3.222-GCC-7.3.0-2.30"},{"location":"version-specific/supported-software/#ntl","title":"NTL","text":"

                    NTL is a high-performance, portable C++ library providing data structures and algorithms for manipulating signed, arbitrary length integers, and for vectors, matrices, and polynomials over the integers and over finite fields.

                    homepage: https://shoup.net/ntl/

                    version toolchain 11.3.4 GCC/8.2.0-2.31.1 11.5.1 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#ntpoly","title":"NTPoly","text":"

                    is a massively parallel library for computing the functions of sparse, symmetric matrices based on polynomial expansions. For sufficiently sparse matrices, most of the matrix functions in NTPoly can be computed in linear time.

                    homepage: https://github.com/william-dawson/NTPoly

                    version toolchain 2.5.1 foss/2020b, intel/2020b 2.7.0 foss/2021a, intel/2021a 2.7.1 intel/2020b"},{"location":"version-specific/supported-software/#num2words","title":"num2words","text":"

                    Modules to convert numbers to words. 42 --> forty-two

                    homepage: https://github.com/savoirfairelinux/num2words

                    version toolchain 0.5.10 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#numactl","title":"numactl","text":"

                    The numactl program allows you to run your application program on specific cpu's and memory nodes. It does this by supplying a NUMA memory policy to the operating system before running your program. The libnuma library provides convenient ways for you to add NUMA memory policies into your own program.

                    homepage: http://oss.sgi.com/projects/libnuma/

                    version toolchain 2.0.9 GCC/4.8.3 2.0.10 GCC/4.8.4, GCC/4.9.2, GNU/4.9.2-2.25, GNU/4.9.3-2.25 2.0.11 GCC/4.9.3, GCC/4.9.3-2.25, GCC/5.2.0, GCC/5.3.0-2.26, GCC/5.4.0-2.26, GCC/6.1.0-2.27, GCC/6.2.0-2.27, GCC/6.3.0-2.27, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, foss/2016a, iccifort/2016.3.210-GCC-4.9.3-2.25, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016a, intel/2016b 2.0.12 GCCcore/8.2.0, GCCcore/8.3.0 2.0.13 GCCcore/10.2.0, GCCcore/9.2.0, GCCcore/9.3.0 2.0.14 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 2.0.16 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#numba","title":"numba","text":"

                    Numba is an Open Source NumPy-aware optimizing compiler for Python sponsored by Continuum Analytics, Inc. It uses the remarkable LLVM compiler infrastructure to compile Python syntax to machine code.

                    homepage: https://numba.pydata.org/

                    version versionsuffix toolchain 0.24.0 -Python-2.7.11 intel/2016a 0.24.0 -Python-3.5.1 intel/2016a 0.26.0 -Python-2.7.11 intel/2016a 0.32.0 -Python-2.7.13 intel/2017a 0.37.0 -Python-2.7.14 foss/2018a, intel/2017b 0.37.0 -Python-3.6.4 foss/2018a, intel/2018a 0.39.0 -Python-3.6.6 foss/2018b 0.43.1 intel/2019a 0.46.0 foss/2019a 0.47.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.50.0 -Python-3.8.2 foss/2020a, intel/2020a 0.50.1 -Python-3.8.2 foss/2020a 0.52.0 foss/2020b, fosscuda/2020b, intel/2020b 0.52.0 -Python-3.8.2 foss/2020a 0.53.1 foss/2020b, foss/2021a, fosscuda/2020b 0.54.1 foss/2021b, intel/2021b 0.54.1 -CUDA-11.4.1 foss/2021b 0.56.4 foss/2022a 0.56.4 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#numdiff","title":"numdiff","text":"

                    Numdiff (which I will also write numdiff) is a little program that can be used to compare putatively similar files line by line and field by field, ignoring small numeric differences or/and different numeric formats. Equivalently, Numdiff is a program with the capability to appropriately compare files containing numerical fields (and not only).

                    homepage: https://www.nongnu.org/numdiff/

                    version toolchain 5.9.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#numexpr","title":"numexpr","text":"

                    The numexpr package evaluates multiple-operator array expressions many times faster than NumPy can. It accepts the expression as a string, analyzes it, rewrites it more efficiently, and compiles it on the fly into code for its internal virtual machine (VM). Due to its integrated just-in-time (JIT) compiler, it does not require a compiler at runtime.

                    homepage: https://numexpr.readthedocs.io/en/latest/

                    version versionsuffix toolchain 2.5.2 -Python-2.7.11 intel/2016a 2.6.1 -Python-2.7.12 foss/2016b, intel/2016b 2.6.1 -Python-3.5.2 intel/2016b 2.6.4 -Python-2.7.13 foss/2017a 2.6.4 -Python-2.7.14 intel/2018a 2.6.4 -Python-3.5.1 foss/2016a 2.6.4 -Python-3.6.1 intel/2017a 2.6.4 -Python-3.6.3 intel/2017b 2.6.4 -Python-3.6.4 foss/2018a, intel/2018a 2.6.5 -Python-2.7.15 foss/2018b, intel/2018b 2.6.5 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 2.7.0 intel/2019a 2.7.1 -Python-2.7.16 intel/2019b 2.7.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.7.1 -Python-3.8.2 foss/2020a, intel/2020a 2.8.1 foss/2021a, intel/2021a 2.8.4 foss/2022a"},{"location":"version-specific/supported-software/#numpy","title":"numpy","text":"

                    NumPy is the fundamental package for scientific computing with Python. It contains among other things: a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.

                    homepage: http://www.numpy.org

                    version versionsuffix toolchain 1.8.2 -Python-2.7.11 foss/2016a, intel/2016a 1.9.2 -Python-2.7.12 intel/2016b 1.10.4 -Python-2.7.11 intel/2016a 1.11.0 -Python-2.7.11 intel/2016a 1.12.1 -Python-3.5.2 intel/2016b 1.13.0 -Python-2.7.13 intel/2017a 1.13.1 -Python-3.6.1 intel/2017a"},{"location":"version-specific/supported-software/#nvhpc","title":"NVHPC","text":"

                    C, C++ and Fortran compilers included with the NVIDIA HPC SDK (previously: PGI)

                    homepage: https://developer.nvidia.com/hpc-sdk/

                    version versionsuffix toolchain 20.7 system 20.9 system 20.11 system 21.2 system 21.3 system 21.5 system 21.7 system 21.9 system 21.11 system 22.7 -CUDA-11.7.0 system 22.9 -CUDA-11.7.0 system 22.11 -CUDA-11.7.0 system 23.1 -CUDA-12.0.0 system"},{"location":"version-specific/supported-software/#nvofbf","title":"nvofbf","text":"

                    NVHPC based toolchain, including OpenMPI for MPI support, OpenBLAS (via FlexiBLAS for BLAS and LAPACK support), FFTW and ScaLAPACK.

                    homepage: <(none)>

                    version toolchain 2022.07 system"},{"location":"version-specific/supported-software/#nvompi","title":"nvompi","text":"

                    NVHPC based compiler toolchain, including OpenMPI for MPI support.

                    homepage: <(none)>

                    version toolchain 2022.07 system"},{"location":"version-specific/supported-software/#nvshmem","title":"NVSHMEM","text":"

                    NVSHMEM is a parallel programming interface based on OpenSHMEM that provides efficient and scalable communication for NVIDIA GPU clusters. NVSHMEM creates a global address space for data that spans the memory of multiple GPUs and can be accessed with fine-grained GPU-initiated operations, CPU-initiated operations, and operations on CUDA streams.

                    homepage: https://developer.nvidia.com/nvshmem

                    version versionsuffix toolchain 2.4.1 -CUDA-11.4.1 gompi/2021b 2.5.0 -CUDA-11.7.0 gompi/2022a 2.7.0 -CUDA-11.7.0 gompi/2022a 2.8.0 -CUDA-11.7.0 gompi/2022a"},{"location":"version-specific/supported-software/#nvtop","title":"nvtop","text":"

                    htop-like GPU usage monitor

                    homepage: https://github.com/Syllo/nvtop

                    version toolchain 1.0.0 fosscuda/2018b 1.1.0 fosscuda/2019b 1.2.1 GCCcore/10.2.0, GCCcore/10.3.0 1.2.2 GCCcore/10.2.0, GCCcore/10.3.0 2.0.2 GCCcore/11.3.0 3.0.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#nwchem","title":"NWChem","text":"

                    NWChem aims to provide its users with computational chemistry tools that are scalable both in their ability to treat large scientific computational chemistry problems efficiently, and in their use of available parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties and relativity.

                    homepage: https://nwchemgit.github.io/

                    version versionsuffix toolchain 6.6.revision27746 -2015-10-20-Python-2.7.12 iomkl/2017a 6.6.revision27746 -2015-10-20-patches-20170814-Python-2.7.13 intel/2017a 6.8.revision47 -2017-12-14-Python-2.7.14 intel/2017b, intel/2018a 7.0.0 -Python-3.7.4 intel/2019b 7.0.2 intel/2021a, intel/2022a 7.0.2 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#nxtrim","title":"NxTrim","text":"

                    NxTrim is a software to remove Nextera Mate Pair junction adapters and categorise reads according to the orientation implied by the adapter location.

                    homepage: https://github.com/sequencing/NxTrim

                    version toolchain 0.4.3 foss/2018a"},{"location":"version-specific/supported-software/#o","title":"O","text":"

                    Oases - OBITools - OBITools3 - OCaml - occt - oceanspy - OCNet - Octave - Octopus-vcf - OGDF - olaFlow - olego - OMA - OmegaFold - onedrive - ONNX - ONNX-Runtime - ont-fast5-api - ont-guppy - ont-remora - OOMPA - OPARI2 - Open-Data-Cube-Core - OpenAI-Gym - OpenBabel - OpenBLAS - openCARP - OpenCensus-python - OpenCoarrays - OpenColorIO - OpenCV - OpenEXR - OpenFace - OpenFAST - OpenFOAM - OpenFOAM-Extend - OpenFold - OpenForceField - OpenImageIO - OpenJPEG - OpenKIM-API - openkim-models - OpenMM - OpenMM-PLUMED - OpenMMTools - OpenMolcas - OpenMPI - OpenMS - OpenNLP - OpenPGM - OpenPIV - openpyxl - OpenRefine - OpenSceneGraph - OpenSees - OpenSlide - openslide-python - OpenSSL - OpenStackClient - OPERA - OPERA-MS - OptaDOS - OptiType - OptiX - Optuna - OR-Tools - ORCA - ORFfinder - OrfM - OrthoFinder - OrthoMCL - Osi - OSPRay - OSU-Micro-Benchmarks - OTF2 - OVITO - ownCloud - oxDNA - oxford_asl

                    "},{"location":"version-specific/supported-software/#oases","title":"Oases","text":"

                    Oases is a de novo transcriptome assembler designed to produce transcripts from short read sequencing technologies, such as Illumina, SOLiD, or 454 in the absence of any genomic assembly.

                    homepage: http://www.ebi.ac.uk/~zerbino/oases/

                    version versionsuffix toolchain 0.2.08 foss/2016b 0.2.08 -kmer_101 intel/2017b"},{"location":"version-specific/supported-software/#obitools","title":"OBITools","text":"

                    The OBITools programs aims to help you to manipulate various data and sequence files in a convenient way using the Unix command line interface. They follow the standard Unix interface for command line program, allowing to chain a set of commands using the pipe mecanism.

                    homepage: http://www.grenoble.prabi.fr/trac/OBITools

                    version versionsuffix toolchain 1.2.9 -Python-2.7.11 foss/2016a 1.2.13 -Python-2.7.15 foss/2019a"},{"location":"version-specific/supported-software/#obitools3","title":"OBITools3","text":"

                    A package for the management of analyses and data in DNA metabarcoding.

                    homepage: https://metabarcoding.org/obitools3

                    version toolchain 3.0.1b8 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#ocaml","title":"OCaml","text":"

                    OCaml is a general purpose industrial-strength programming language with an emphasis on expressiveness and safety. Developed for more than 20 years at Inria it benefits from one of the most advanced type systems and supports functional, imperative and object-oriented styles of programming.

                    homepage: http://ocaml.org/

                    version toolchain 4.02.3 foss/2016a 4.07.1 foss/2018b"},{"location":"version-specific/supported-software/#occt","title":"occt","text":"

                    Open CASCADE Technology (OCCT) is an object-oriented C++ class library designed for rapid production of sophisticated domain-specific CAD/CAM/CAE applications.

                    homepage: https://www.opencascade.com/

                    version toolchain 7.3.0p4 foss/2019b 7.5.0p1 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#oceanspy","title":"oceanspy","text":"

                    OceanSpy - A Python package to facilitate ocean model data analysis and visualization.

                    homepage: https://github.com/hainegroup/oceanspy

                    version toolchain 0.2.0 foss/2022a"},{"location":"version-specific/supported-software/#ocnet","title":"OCNet","text":"

                    Generate and analyze Optimal Channel Networks (OCNs): oriented spanning trees reproducing all scaling features characteristic of real, natural river networks. As such, they can be used in a variety of numerical experiments in the fields of hydrology, ecology and epidemiology.

                    homepage: https://cran.r-project.org/web/packages/OCNet

                    version versionsuffix toolchain 0.2.0 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#octave","title":"Octave","text":"

                    GNU Octave is a high-level interpreted language, primarily intended for numerical computations.

                    homepage: https://www.gnu.org/software/octave/

                    version versionsuffix toolchain 4.0.0 foss/2016a 4.0.3 intel/2016b 4.2.1 foss/2018a, intel/2016b, intel/2017a 4.2.1 -mt intel/2017a 4.2.2 foss/2018a 4.4.1 foss/2018b 5.1.0 foss/2019a, foss/2019b 6.2.0 foss/2020b 7.1.0 foss/2021b"},{"location":"version-specific/supported-software/#octopus-vcf","title":"Octopus-vcf","text":"

                    Octopus is a mapping-based variant caller that implements several calling models within a unified haplotype-aware framework. Octopus takes inspiration from particle filtering by constructing a tree of haplotypes and dynamically pruning and extending the tree based on haplotype posterior probabilities in a sequential manner. This allows octopus to implicitly consider all possible haplotypes at a given loci in reasonable time.

                    homepage: https://github.com/luntergroup/octopus

                    version toolchain 0.7.1 foss/2020b 0.7.2 foss/2020b"},{"location":"version-specific/supported-software/#ogdf","title":"OGDF","text":"

                    OGDF is a self-contained C++ library for graph algorithms, in particular for (but not restricted to) automatic graph drawing. It offers sophisticated algorithms and data structures to use within your own applications or scientific projects.

                    homepage: https://ogdf.uos.de/

                    version toolchain dogwood-202202 GCC/11.2.0"},{"location":"version-specific/supported-software/#olaflow","title":"olaFlow","text":"

                    olaFlow CFD Suite is a free and open source project committed to bringing the latest advances for the simulation of wave dynamics to the OpenFOAM\u00ae and FOAM-extend communities.

                    homepage: https://olaflow.github.io/

                    version toolchain 20210820 foss/2021b"},{"location":"version-specific/supported-software/#olego","title":"olego","text":"

                    OLego is a program specifically designed for de novo spliced mapping of mRNA-seq reads. OLego adopts a seed-and-extend scheme, and does not rely on a separate external mapper.

                    homepage: https://github.com/chaolinzhanglab/olego

                    version toolchain 1.1.9 GCC/11.2.0"},{"location":"version-specific/supported-software/#oma","title":"OMA","text":"

                    The OMA ('Orthologous MAtrix') project is a method and database for the inference of orthologs among complete genomes

                    homepage: https://omabrowser.org/standalone/

                    version toolchain 2.1.1 system"},{"location":"version-specific/supported-software/#omegafold","title":"OmegaFold","text":"

                    OmegaFold: High-resolution de novo Structure Prediction from Primary Sequence

                    homepage: https://github.com/HeliXonProtein/OmegaFold

                    version versionsuffix toolchain 1.1.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#onedrive","title":"onedrive","text":"

                    A free Microsoft OneDrive Client which supports OneDrive Personal, OneDrive for Business, OneDrive for Office365 and SharePoint.

                    homepage: https://abraunegg.github.io/

                    version toolchain 2.4.11 GCCcore/10.2.0 2.4.21 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#onnx","title":"ONNX","text":"

                    Open Neural Network Exchange (ONNX) is an open ecosystem that empowers AI developers to choose the right tools as their project evolves. ONNX provides an open source format for AI models, both deep learning and traditional ML. It defines an extensible computation graph model, as well as definitions of built-in operators and standard data types. Currently we focus on the capabilities needed for inferencing (scoring).

                    homepage: https://onnx.ai/

                    version toolchain 1.11.0 foss/2021a"},{"location":"version-specific/supported-software/#onnx-runtime","title":"ONNX-Runtime","text":"

                    ONNX Runtime inference can enable faster customer experiences and lower costs, supporting models from deep learning frameworks such as PyTorch and TensorFlow/Keras as well as classical machine learning libraries such as scikit-learn, LightGBM, XGBoost, etc. ONNX Runtime is compatible with different hardware, drivers, and operating systems, and provides optimal performance by leveraging hardware accelerators where applicable alongside graph optimizations and transforms.

                    homepage: https://onnxruntime.ai/

                    version versionsuffix toolchain 1.10.0 foss/2021a 1.10.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#ont-fast5-api","title":"ont-fast5-api","text":"

                    ont_fast5_api is a simple interface to HDF5 files of the Oxford Nanopore .fast5 file format.

                    homepage: https://github.com/nanoporetech/ont_fast5_api

                    version versionsuffix toolchain 3.3.0 foss/2020b, fosscuda/2020b 3.3.0 -Python-3.7.4 foss/2019b 4.0.0 foss/2021a 4.0.2 foss/2021a, foss/2021b 4.1.1 foss/2022b"},{"location":"version-specific/supported-software/#ont-guppy","title":"ont-guppy","text":"

                    Guppy is a bioinformatics toolkit that enables real-time basecalling and several post-processing features that works on Oxford Nanopore Technologies\u2122 sequencing platforms. For Research Use Only

                    homepage: https://community.nanoporetech.com/protocols/Guppy-protocol

                    version versionsuffix toolchain 6.4.6 system 6.4.6 -CUDA-11.7.0 system 6.4.8 -CUDA-11.7.0 system"},{"location":"version-specific/supported-software/#ont-remora","title":"ont-remora","text":"

                    Methylation/modified base calling separated from basecalling. Remora primarily provides an API to call modified bases for basecaller programs such as Bonito. Remora also provides the tools to prepare datasets, train modified base models and run simple inference.

                    homepage: https://github.com/nanoporetech/remora

                    version versionsuffix toolchain 0.1.2 foss/2021a 0.1.2 -CUDA-11.3.1 foss/2021a 1.0.0 foss/2021a 1.0.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#oompa","title":"OOMPA","text":"

                    OOMPA is a suite of R packages for the analysis of gene expression (RNA), proteomics profiling, and other high throughput molecular biology data.

                    homepage: https://r-forge.r-project.org/projects/oompa

                    version versionsuffix toolchain 3.1.2 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#opari2","title":"OPARI2","text":"

                    OPARI2, the successor of Forschungszentrum Juelich's OPARI, is a source-to-source instrumentation tool for OpenMP and hybrid codes. It surrounds OpenMP directives and runtime library calls with calls to the POMP2 measurement interface.

                    homepage: https://www.score-p.org

                    version toolchain 2.0 foss/2016a 2.0.5 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.0.6 GCCcore/10.2.0, GCCcore/10.3.0 2.0.7 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#open-data-cube-core","title":"Open-Data-Cube-Core","text":"

                    The Open Data Cube Core provides an integrated gridded data analysis environment for decades of analysis ready earth observation satellite and related data from multiple satellite and other acquisition systems.

                    homepage: https://github.com/opendatacube/datacube-core

                    version versionsuffix toolchain 1.8.3 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#openai-gym","title":"OpenAI-Gym","text":"

                    A toolkit for developing and comparing reinforcement learning algorithms.

                    homepage: https://gym.openai.com

                    version versionsuffix toolchain 0.17.1 -Python-3.7.4 foss/2019b 0.21.0 foss/2021b"},{"location":"version-specific/supported-software/#openbabel","title":"OpenBabel","text":"

                    Open Babel is a chemical toolbox designed to speak the many languages of chemical data. It's an open, collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.

                    homepage: https://openbabel.org

                    version versionsuffix toolchain 2.3.2 -Python-2.7.11 foss/2016a 2.4.1 -Python-2.7.14 intel/2017b 2.4.1 -Python-2.7.15 intel/2018b 2.4.1 -Python-3.6.6 intel/2018b 2.4.1 -Python-3.7.2 intel/2019a 3.0.0 -Python-3.7.4 gompi/2019b 3.1.1 gompi/2021a, gompi/2022a 3.1.1 -Python-3.7.4 gompi/2019b 3.1.1 -Python-3.8.2 iimpi/2020a"},{"location":"version-specific/supported-software/#openblas","title":"OpenBLAS","text":"

                    OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

                    homepage: https://xianyi.github.com/OpenBLAS/

                    version versionsuffix toolchain 0.2.9 -LAPACK-3.5.0 GCC/4.8.3 0.2.12 -LAPACK-3.5.0 GCC/4.9.2 0.2.13 -LAPACK-3.5.0 GCC/4.8.4, GCC/4.9.2 0.2.14 -LAPACK-3.5.0 GNU/4.9.2-2.25, GNU/4.9.3-2.25 0.2.15 -LAPACK-3.6.0 GCC/4.9.3-2.25 0.2.18 -LAPACK-3.6.0 GCC/4.9.4-2.25, GCC/5.3.0-2.26, GCC/5.4.0-2.26 0.2.18 -LAPACK-3.6.1 GCC/5.4.0-2.26, gompi/2016.07 0.2.19 -LAPACK-3.6.1 gompi/2016.09 0.2.19 -LAPACK-3.7.0 GCC/5.4.0-2.26, GCC/6.3.0-2.27 0.2.20 GCC/5.4.0-2.26, GCC/6.4.0-2.28, GCC/7.2.0-2.29 0.3.0 GCC/6.4.0-2.28, GCC/7.3.0-2.30 0.3.1 GCC/7.3.0-2.30 0.3.3 GCC/8.2.0-2.31.1 0.3.4 GCC/8.2.0-2.31.1 0.3.5 GCC/8.2.0-2.31.1 0.3.6 GCC/8.3.0-2.32 0.3.7 GCC/8.3.0 0.3.8 GCC/9.2.0 0.3.9 GCC/9.3.0 0.3.12 GCC/10.2.0 0.3.15 GCC/10.3.0 0.3.17 GCC/10.3.0, GCC/11.2.0 0.3.18 GCC/11.2.0 0.3.20 GCC/11.2.0, GCC/11.3.0, NVHPC/22.7-CUDA-11.7.0 0.3.21 GCC/12.2.0 0.3.23 GCC/12.3.0"},{"location":"version-specific/supported-software/#opencarp","title":"openCARP","text":"

                    openCARP is an open cardiac electrophysiology simulator for in-silico experiments.

                    homepage: https://opencarp.org

                    version versionsuffix toolchain 3.2 -Python-3.8.2 foss/2020a 6.0 foss/2020b 8.2 foss/2021a"},{"location":"version-specific/supported-software/#opencensus-python","title":"OpenCensus-python","text":"

                    OpenCensus for Python. OpenCensus provides a framework to measure a server's resource usage and collect performance stats. This repository contains Python related utilities and supporting software needed by OpenCensus.

                    homepage: https://opencensus.io/

                    version toolchain 0.8.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#opencoarrays","title":"OpenCoarrays","text":"

                    OpenCoarrays is an open-source software project that supports the coarray Fortran (CAF) parallel programming features of the Fortran 2008 standard and several features proposed for Fortran 2015 in the draft Technical Specification TS 18508 Additional Parallel Features in Fortran.

                    homepage: https://github.com/sourceryinstitute/opencoarrays

                    version toolchain 1.9.0 gompi/2017a 2.2.0 gompi/2018b 2.8.0 gompi/2019b 2.9.2 gompi/2020a"},{"location":"version-specific/supported-software/#opencolorio","title":"OpenColorIO","text":"

                    OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation.

                    homepage: http://opencolorio.org/

                    version toolchain 1.1.0 foss/2018b"},{"location":"version-specific/supported-software/#opencv","title":"OpenCV","text":"

                    OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Includes extra modules for OpenCV from the contrib repository.

                    homepage: https://opencv.org/

                    version versionsuffix toolchain 2.4.12 intel/2016a 3.1.0 foss/2016a, foss/2016b, intel/2016a, intel/2016b 3.3.0 -Python-2.7.13 intel/2017a 3.3.0 -Python-2.7.14 foss/2017b, intel/2017b 3.3.0 -Python-3.6.1 intel/2017a 3.3.0 -Python-3.6.3 foss/2017b, intel/2017b 3.4.1 -Python-2.7.14 foss/2018a, intel/2018a 3.4.1 -Python-3.6.4 foss/2018a, intel/2018a 3.4.1 -Python-3.6.4-contrib foss/2018a 3.4.5 -Python-2.7.15 foss/2018b 3.4.7 -Python-2.7.15 foss/2019a, fosscuda/2019a 3.4.7 -Python-3.7.2 foss/2019a, fosscuda/2019a 4.0.1 -Python-2.7.15 foss/2018b 4.0.1 -Python-3.6.6 foss/2018b 4.2.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 4.2.0 -Python-3.8.2 foss/2020a 4.2.0 -Python-3.8.2-contrib foss/2020a 4.5.1 -contrib foss/2020b, fosscuda/2020b 4.5.3 -CUDA-11.3.1-contrib foss/2021a 4.5.3 -contrib foss/2021a 4.5.5 -CUDA-11.4.1-contrib foss/2021b 4.5.5 -contrib foss/2021b 4.6.0 -CUDA-11.7.0-contrib foss/2022a 4.6.0 -contrib foss/2022a"},{"location":"version-specific/supported-software/#openexr","title":"OpenEXR","text":"

                    OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications

                    homepage: https://www.openexr.com/

                    version toolchain 2.2.0 intel/2016b, intel/2017a 2.3.0 foss/2018b, intel/2018b 2.4.0 GCCcore/8.3.0 2.4.1 GCCcore/9.3.0 2.5.5 GCCcore/10.2.0 3.0.1 GCCcore/10.3.0 3.1.1 GCCcore/11.2.0 3.1.5 GCCcore/11.3.0, GCCcore/12.2.0 3.1.7 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#openface","title":"OpenFace","text":"

                    OpenFace \u2013 a state-of-the art tool intended for facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation.

                    homepage: https://github.com/TadasBaltrusaitis/OpenFace

                    version versionsuffix toolchain 2.2.0 foss/2021a 2.2.0 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#openfast","title":"OpenFAST","text":"

                    OpenFAST is a wind turbine simulation tool which builds on FAST v8. FAST.Farm extends the capability of OpenFAST to simulate multi-turbine wind farms

                    homepage: http://openfast.readthedocs.io/

                    version toolchain 3.0.0 foss/2021b"},{"location":"version-specific/supported-software/#openfoam","title":"OpenFOAM","text":"

                    OpenFOAM is a free, open source CFD software package. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.

                    homepage: https://www.openfoam.com/

                    version versionsuffix toolchain 2.2.2 intel/2016a, intel/2017a, intel/2018a 2.2.x intel/2019a 2.3.1 intel/2017a, intel/2019b 2.4.0 intel/2017a, intel/2019a 3.0.0 foss/2016a 3.0.1 intel/2016b, intel/2018a 4.0 foss/2016b, intel/2016b 4.1 foss/2016b, intel/2017a 4.x-20170904 intel/2016b 5.0 foss/2017b, intel/2017a, intel/2017b 5.0-20180108 foss/2018a, intel/2017b, intel/2018a 6 foss/2018b, foss/2019b, intel/2018a 7 foss/2019b 7 -20200508 foss/2019b 8 foss/2020a, foss/2020b 8 -20210316 foss/2020b 9 foss/2021a, intel/2021a 10 foss/2022a 10 -20230119 foss/2022a v1606+ foss/2018b v1612+ foss/2018b v1712 foss/2017b, intel/2017b v1806 foss/2018b v1812 foss/2018b v1906 foss/2019b v1912 foss/2019b, intel/2019b v2006 foss/2020a, intel/2020a v2012 foss/2020a v2106 foss/2021a v2112 foss/2020b, foss/2021b v2206 foss/2022a"},{"location":"version-specific/supported-software/#openfoam-extend","title":"OpenFOAM-Extend","text":"

                    OpenFOAM is a free, open source CFD software package. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.

                    homepage: http://www.extend-project.de/

                    version versionsuffix toolchain 3.1 gimkl/2.11.5 3.2 gimkl/2.11.5, intel/2016a 4.0 intel/2017a 4.0 -Python-2.7.16 intel/2019b 4.1-20191120 -Python-2.7.16 intel/2019b 4.1-20200408 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#openfold","title":"OpenFold","text":"

                    A faithful PyTorch reproduction of DeepMind's AlphaFold 2

                    homepage: https://github.com/aqlaboratory/openfold

                    version versionsuffix toolchain 1.0.0 -CUDA-11.3.1 foss/2021a 1.0.1 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#openforcefield","title":"OpenForceField","text":"

                    Simulation and Parameter Estimation in Geophysics - A python package for simulation and gradient based parameter estimation in the context of geophysical applications.

                    homepage: https://github.com/openforcefield/openforcefield/releases

                    version versionsuffix toolchain 0.7.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#openimageio","title":"OpenImageIO","text":"

                    OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities, and applications.

                    homepage: https://openimageio.org/

                    version toolchain 1.6.17 intel/2016b 1.7.17 intel/2017a 1.8.16 foss/2018b, intel/2018b 2.0.12 gompi/2019b, iimpi/2019b 2.1.12.0 gompi/2020a, iimpi/2020a 2.3.17.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#openjpeg","title":"OpenJPEG","text":"

                    OpenJPEG is an open-source JPEG 2000 codec written in C language. It has been developed in order to promote the use of JPEG 2000, a still-image compression standard from the Joint Photographic Experts Group (JPEG). Since may 2015, it is officially recognized by ISO/IEC and ITU-T as a JPEG 2000 Reference Software.

                    homepage: https://www.openjpeg.org/

                    version toolchain 2.1 GCCcore/6.4.0 2.3.0 GCCcore/6.4.0, GCCcore/7.3.0 2.3.1 GCCcore/8.2.0, GCCcore/8.3.0 2.4.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 2.5.0 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#openkim-api","title":"OpenKIM-API","text":"

                    Open Knowledgebase of Interatomic Models. OpenKIM is an API and a collection of interatomic models (potentials) for atomistic simulations. It is a library that can be used by simulation programs to get access to the models in the OpenKIM database. This EasyBuild only installs the API, the models have to be installed by the user by running kim-api-collections-management install user MODELNAME or kim-api-collections-management install user OpenKIM to install them all.

                    homepage: https://openkim.org/

                    version toolchain 1.9.2 foss/2016b, foss/2017b 1.9.7 foss/2018b, intel/2018b, iomkl/2018b"},{"location":"version-specific/supported-software/#openkim-models","title":"openkim-models","text":"

                    Open Knowledgebase of Interatomic Models. OpenKIM is an API and a collection of interatomic models (potentials) for atomistic simulations. It is a library that can be used by simulation programs to get access to the models in the OpenKIM database. This EasyBuild installs the models. The API itself is in the kim-api package.

                    homepage: https://openkim.org/

                    version toolchain 20190725 GCCcore/10.2.0, foss/2019a, foss/2019b, intel/2019a, intel/2019b 20210128 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#openmm","title":"OpenMM","text":"

                    OpenMM is a toolkit for molecular simulation.

                    homepage: https://openmm.org

                    version versionsuffix toolchain 7.1.1 -Python-3.6.3 intel/2017b 7.4.1 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 7.4.2 -Python-3.8.2 intel/2020a 7.5.0 foss/2020b, fosscuda/2020b, intel/2020b 7.5.0 -Python-3.8.2 fosscuda/2020a, intel/2020a 7.5.1 foss/2020b, fosscuda/2020b 7.5.1 -CUDA-11.3.1-DeepMind-patch foss/2021a 7.5.1 -CUDA-11.4.1-DeepMind-patch foss/2021b 7.5.1 -DeepMind-patch foss/2021a, foss/2021b 7.7.0 foss/2021a, foss/2022a 7.7.0 -CUDA-11.3.1 foss/2021a 8.0.0 foss/2022a 8.0.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#openmm-plumed","title":"OpenMM-PLUMED","text":"

                    This project provides a connection between OpenMM and PLUMED. It allows you to bias or analyze an OpenMM simulation based on collective variables.

                    homepage: https://github.com/openmm/openmm-plumed/

                    version versionsuffix toolchain 1.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#openmmtools","title":"OpenMMTools","text":"

                    A batteries-included toolkit for the GPU-accelerated OpenMM molecular simulation engine. openmmtools is a Python library layer that sits on top of OpenMM to provide access to a variety of useful tools for building full-featured molecular simulation packages.

                    homepage: https://github.com/choderalab/openmmtools

                    version versionsuffix toolchain 0.20.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#openmolcas","title":"OpenMolcas","text":"

                    OpenMolcas is a quantum chemistry software package.

                    homepage: https://gitlab.com/Molcas/OpenMolcas

                    version versionsuffix toolchain 18.09 -Python-3.6.6 intel/2018b 20.10 -Python-3.8.2 intel/2020a 20.10 -Python-3.8.2-noGA intel/2020a 21.06 intel/2021a, iomkl/2021a 22.06 intel/2022a 22.10 intel/2022a 22.10 -noGA intel/2022a"},{"location":"version-specific/supported-software/#openmpi","title":"OpenMPI","text":"

                    The Open MPI Project is an open source MPI implementation.

                    homepage: http://www.open-mpi.org/

                    version versionsuffix toolchain 1.6.5 GCC/4.8.1, GCC/4.8.2, GCC/4.8.3 1.6.5 -no-OFED GCC/4.8.1, GCC/4.8.2 1.7.3 GCC/4.8.2 1.8.1 GCC/4.8.3 1.8.3 GCC/4.9.2 1.8.4 GCC/4.8.4, GCC/4.9.2 1.8.5 GNU/4.9.2-2.25 1.8.6 GNU/4.9.3-2.25 1.8.8 GNU/4.9.3-2.25 1.10.1 GCC/4.9.3-2.25 1.10.2 GCC/4.9.3-2.25, GCC/5.3.0-2.26, GCC/6.1.0-2.27, PGI/16.3-GCC-4.9.3-2.25, PGI/16.4-GCC-5.3.0-2.26 1.10.3 GCC/5.4.0-2.26, GCC/6.1.0-2.27, iccifort/2016.3.210-GCC-5.4.0-2.26 1.10.4 PGI/16.7-GCC-5.4.0-2.26, iccifort/2016.3.210-GCC-4.9.3-2.25 2.0.0 GCC/5.2.0 2.0.1 GCC/6.2.0-2.27, iccifort/2017.1.132-GCC-5.4.0-2.26 2.0.2 GCC/6.3.0-2.27, iccifort/2017.1.132-GCC-6.3.0-2.27 2.0.2 -opa GCC/6.3.0-2.27 2.1.0 GCC/6.3.0-2.28 2.1.1 GCC/6.4.0-2.28, gcccuda/2017b, iccifort/2017.4.196-GCC-6.4.0-2.28 2.1.2 GCC/6.4.0-2.28, gcccuda/2018a, iccifort/2018.1.163-GCC-6.4.0-2.28 2.1.3 iccifort/2018.2.199-GCC-6.4.0-2.28 3.0.0 GCC/7.2.0-2.29 3.1.0 GCC/7.3.0-2.30 3.1.1 GCC/7.3.0-2.30, gcccuda/2018b, iccifort/2018.3.222-GCC-7.3.0-2.30 3.1.2 GCC/8.2.0-2.31.1 3.1.3 GCC/8.2.0-2.31.1, gcccuda/2019a, iccifort/2019.1.144-GCC-8.2.0-2.31.1 3.1.4 GCC/8.3.0, GCC/8.3.0-2.32, gcccuda/2019b, iccifort/2019.5.281 4.0.0 GCC/8.2.0-2.31.1 4.0.0 -hpcx GCC/8.2.0-2.31.1 4.0.1 GCC/8.3.0-2.32 4.0.2 GCC/9.2.0-2.32 4.0.3 GCC/9.3.0, gcccuda/2020a, iccifort/2020.1.217, iccifortcuda/2020a 4.0.5 GCC/10.2.0, GCC/9.3.0, gcccuda/2020b, iccifort/2020.4.304 4.0.5 -CUDA-11.2.1 NVHPC/21.2 4.0.6 GCC/10.3.0 4.0.7 GCC/10.3.0 4.1.0 GCC/10.2.0 4.1.1 GCC/10.3.0, GCC/11.2.0, intel-compilers/2021.2.0, intel-compilers/2021.4.0 4.1.2 GCC/10.2.0, GCC/11.2.0 4.1.4 GCC/11.3.0, GCC/12.2.0, NVHPC/22.7-CUDA-11.7.0 4.1.5 GCC/12.2.0, GCC/12.3.0 system GCC/system-2.29"},{"location":"version-specific/supported-software/#openms","title":"OpenMS","text":"

                    As part of the deNBI Center for integrative Bioinformatics, OpenMS offers an open-source software C++ library (+ python bindings) for LC/MS data management and analyses. It provides an infrastructure for the rapid development of mass spectrometry related software as well as a rich toolset built on top of it.

                    homepage: https://www.openms.de/

                    version toolchain 2.4.0 foss/2018b"},{"location":"version-specific/supported-software/#opennlp","title":"OpenNLP","text":"

                    The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.

                    homepage: https://opennlp.apache.org/

                    version toolchain 1.8.1 system"},{"location":"version-specific/supported-software/#openpgm","title":"OpenPGM","text":"

                    OpenPGM is an open source implementation of the Pragmatic General Multicast (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable and scalable multicast protocol that enables receivers to detect loss, request retransmission of lost data, or notify an application of unrecoverable loss. PGM is a receiver-reliable protocol, which means the receiver is responsible for ensuring all data is received, absolving the sender of reception responsibility.

                    homepage: http://code.google.com/p/openpgm/

                    version toolchain 5.2.122 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2017a, intel/2016a, intel/2016b, intel/2017a"},{"location":"version-specific/supported-software/#openpiv","title":"OpenPIV","text":"

                    OpenPIV is an open source Particle Image Velocimetry analysis software

                    homepage: http://www.openpiv.net

                    version versionsuffix toolchain 0.21.8 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#openpyxl","title":"openpyxl","text":"

                    A Python library to read/write Excel 2010 xlsx/xlsm files

                    homepage: https://openpyxl.readthedocs.io

                    version versionsuffix toolchain 2.6.2 GCCcore/8.2.0 2.6.4 -Python-2.7.16 GCCcore/8.3.0 3.0.3 -Python-3.7.4 GCCcore/8.3.0 3.0.7 GCCcore/10.2.0, GCCcore/10.3.0 3.0.9 GCCcore/11.2.0 3.0.10 GCCcore/11.3.0 3.1.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#openrefine","title":"OpenRefine","text":"

                    OpenRefine is a power tool that allows you to load data, understand it, clean it up, reconcile it, and augment it with data coming from the web.

                    homepage: https://github.com/OpenRefine/OpenRefine

                    version versionsuffix toolchain 2.7 -Java-1.8.0_144 system 3.4.1 -Java-11 system"},{"location":"version-specific/supported-software/#openscenegraph","title":"OpenSceneGraph","text":"

                    The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems. The OpenSceneGraph is now well established as the world leading scene graph technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual reality industries.

                    homepage: http://www.openscenegraph.org/

                    version toolchain 3.6.5 foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#opensees","title":"OpenSees","text":"

                    Open System for Earthquake Engineering Simulation

                    homepage: https://opensees.berkeley.edu/index.php

                    version versionsuffix toolchain 3.2.0 -Python-3.8.2 intel/2020a 3.2.0 -Python-3.8.2-parallel intel/2020a"},{"location":"version-specific/supported-software/#openslide","title":"OpenSlide","text":"

                    OpenSlide is a C library that provides a simple interface to read whole-slide images (also known as virtual slides).

                    homepage: https://openslide.org/

                    version versionsuffix toolchain 3.4.1 GCCcore/11.2.0, GCCcore/8.2.0 3.4.1 -largefiles GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/8.2.0"},{"location":"version-specific/supported-software/#openslide-python","title":"openslide-python","text":"

                    OpenSlide Python is a Python interface to the OpenSlide library.

                    homepage: https://github.com/openslide/openslide-python

                    version toolchain 1.1.1 GCCcore/8.2.0 1.1.2 GCCcore/10.3.0, GCCcore/11.2.0 1.2.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#openssl","title":"OpenSSL","text":"

                    The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolchain implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library.

                    homepage: https://www.openssl.org/

                    version toolchain 1.0 system 1.0.1f GCC/4.8.2 1.0.1k GCC/4.9.2 1.0.1s foss/2016a, intel/2016a 1.0.2g GCCcore/4.9.3 1.0.2h foss/2016.04, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 1.1 system 1.1.0c GCC/5.4.0-2.26 1.1.0e intel/2016b 1.1.0h GCCcore/7.3.0 1.1.1b GCCcore/8.2.0 1.1.1d GCCcore/8.3.0 1.1.1e GCCcore/9.3.0 1.1.1h GCCcore/10.2.0 1.1.1k GCCcore/10.3.0, GCCcore/11.2.0 1.1.1n GCCcore/11.3.0 1.1.1q GCCcore/10.3.0"},{"location":"version-specific/supported-software/#openstackclient","title":"OpenStackClient","text":"

                    OpenStackClient (aka OSC) is a command-line client for OpenStack that brings the command set for Compute, Identity, Image, Network, Object Store and Block Storage APIs together in a single shell with a uniform command structure.

                    homepage: https://docs.openstack.org/python-openstackclient/latest/

                    version toolchain 5.5.0 GCCcore/10.2.0 5.8.0 GCCcore/11.2.0 6.0.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#opera","title":"OPERA","text":"

                    An optimal genome scaffolding program

                    homepage: https://sourceforge.net/projects/operasf

                    version versionsuffix toolchain 2.0.6 -Perl-5.28.0 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#opera-ms","title":"OPERA-MS","text":"

                    OPERA-MS is a hybrid metagenomic assembler which combines the advantages of short and long-read technologies to provide high quality assemblies, addressing issues of low contiguity for short-read only assemblies, and low base-pair quality for long-read only assemblies.

                    homepage: https://github.com/CSB5/OPERA-MS

                    version versionsuffix toolchain 0.9.0-20200802 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#optados","title":"OptaDOS","text":"

                    OptaDOS is a program for calculating core-electron and low-loss electron energy loss spectra (EELS) and optical spectra along with total-, projected- and joint-density of electronic states (DOS) from single-particle eigenenergies and dipole transition coefficients.

                    homepage: http://www.optados.org/

                    version toolchain 1.2.380 GCC/11.3.0"},{"location":"version-specific/supported-software/#optitype","title":"OptiType","text":"

                    OptiType is a novel HLA genotyping algorithm based on integer linear programming, capable of producing accurate 4-digit HLA genotyping predictions from NGS data by simultaneously selecting all major and minor HLA Class I alleles.

                    homepage: https://github.com/FRED-2/OptiType

                    version versionsuffix toolchain 1.3.2 -Python-2.7.15 foss/2018b 1.3.2 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#optix","title":"OptiX","text":"

                    OptiX is NVIDIA SDK for easy ray tracing performance. It provides a simple framework for accessing the GPU\u2019s massive ray tracing power using state-of-the-art GPU algorithms.

                    homepage: https://developer.nvidia.com/optix

                    version toolchain 3.8.0 GNU/4.9.3-2.25 3.9.0 GNU/4.9.3-2.25 6.5.0 system 7.2.0 system"},{"location":"version-specific/supported-software/#optuna","title":"Optuna","text":"

                    Optuna is an automatic hyperparameter optimization software framework, particularly designed for machine learning. It features an imperative, define-by-run style user API. Thanks to our define-by-run API, the code written with Optuna enjoys high modularity, and the user of Optuna can dynamically construct the search spaces for the hyperparameters.

                    homepage: https://optuna.org/

                    version toolchain 2.9.1 foss/2021a 2.10.0 foss/2021b 3.1.0 foss/2022a"},{"location":"version-specific/supported-software/#or-tools","title":"OR-Tools","text":"

                    Google Optimization Tools (a.k.a., OR-Tools) is an open-source, fast and portable software suite for solving combinatorial optimization problems.

                    homepage: https://developers.google.com/optimization/

                    version versionsuffix toolchain 7.1 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#orca","title":"ORCA","text":"

                    ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. It features a wide variety of standard quantum chemical methods ranging from semiempirical methods to DFT to single- and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.

                    homepage: https://orcaforum.kofo.mpg.de

                    version versionsuffix toolchain 3_0_2-linux_x86-64 -OpenMPI-1.8.1 system 4.0.0.2 -OpenMPI-2.0.2 system 4.0.1 -OpenMPI-2.0.2 system 4.1.0 -OpenMPI-3.1.3 system 4.2.0 gompi/2019b 4.2.1 gompi/2019b 5.0.0 gompi/2021a 5.0.0 -static gompi/2021a 5.0.1 gompi/2021a 5.0.1 -static gompi/2021a 5.0.2 gompi/2021a, gompi/2021b 5.0.2 -static gompi/2021a, gompi/2021b 5.0.3 gompi/2021b 5.0.4 gompi/2022a"},{"location":"version-specific/supported-software/#orffinder","title":"ORFfinder","text":"

                    ORF finder searches for open reading frames (ORFs) in the DNA sequence you enter. The program returns the range of each ORF, along with its protein translation. Use ORF finder to search newly sequenced DNA for potential protein encoding segments, verify predicted protein using newly developed SMART BLAST or regular BLASTP.

                    homepage: https://www.ncbi.nlm.nih.gov/orffinder/

                    version toolchain 0.4.3 system"},{"location":"version-specific/supported-software/#orfm","title":"OrfM","text":"

                    A simple and not slow open reading frame (ORF) caller.

                    homepage: https://github.com/wwood/OrfM

                    version toolchain 0.6.1 foss/2016b 0.7.1 iccifort/2019.1.144-GCC-8.2.0-2.31.1"},{"location":"version-specific/supported-software/#orthofinder","title":"OrthoFinder","text":"

                    OrthoFinder is a fast, accurate and comprehensive platform for comparative genomics

                    homepage: https://github.com/davidemms/OrthoFinder

                    version versionsuffix toolchain 2.2.7 -Python-2.7.14 intel/2018a 2.3.3 -Python-2.7.15 intel/2018b 2.3.8 -Python-2.7.16 foss/2019b 2.3.11 -Python-3.7.4 intel/2019b 2.5.2 foss/2020b 2.5.4 foss/2020b"},{"location":"version-specific/supported-software/#orthomcl","title":"OrthoMCL","text":"

                    OrthoMCL is a genome-scale algorithm for grouping orthologous protein sequences.

                    homepage: http://orthomcl.org/

                    version versionsuffix toolchain 1.4 -Perl-5.24.0 intel/2016b 2.0.9 -Perl-5.24.0 intel/2016b"},{"location":"version-specific/supported-software/#osi","title":"Osi","text":"

                    Osi (Open Solver Interface) provides an abstract base class to a generic linear programming (LP) solver, along with derived classes for specific solvers. Many applications may be able to use the Osi to insulate themselves from a specific LP solver. That is, programs written to the OSI standard may be linked to any solver with an OSI interface and should produce correct results. The OSI has been significantly extended compared to its first incarnation. Currently, the OSI supports linear programming solvers and has rudimentary support for integer programming.

                    homepage: https://github.com/coin-or/Osi

                    version toolchain 0.108.5 GCCcore/7.3.0, foss/2018b 0.108.6 GCC/10.3.0, GCCcore/10.2.0 0.108.7 GCC/11.2.0"},{"location":"version-specific/supported-software/#ospray","title":"OSPRay","text":"

                    Open, Scalable, and Portable Ray Tracing Engine

                    homepage: https://www.ospray.org

                    version toolchain 2.5.0 system"},{"location":"version-specific/supported-software/#osu-micro-benchmarks","title":"OSU-Micro-Benchmarks","text":"

                    OSU Micro-Benchmarks

                    homepage: https://mvapich.cse.ohio-state.edu/benchmarks/

                    version versionsuffix toolchain 5.3.2 foss/2016a, foss/2017a 5.6.2 gompi/2019a 5.6.3 gompi/2019b, gompi/2020a, gompi/2020b, gompic/2019b, gompic/2020a, iimpi/2019a, iimpi/2019b, iimpi/2020a, iimpi/2020b, iimpic/2019b, iimpic/2020a 5.7 gompi/2020b, gompic/2020b, iimpi/2020b 5.7.1 ffmpi/4.5.0, gompi/2021a, gompi/2021b, iimpi/2021a, iompi/2021a 5.7.1 -CUDA-11.3.1 gompi/2021a 5.8 iimpi/2021b 5.9 gompi/2022.05, gompi/2022a, iimpi/2022a 5.9 -CUDA-11.3.1 gompi/2021a 5.9 -CUDA-11.4.1 gompi/2021b 5.9 -CUDA-11.7.0 gompi/2022a 5.9 -ROCm-4.5.0 gompi/2021b 6.2 gompi/2022.10, gompi/2022b 7.1-1 gompi/2023a"},{"location":"version-specific/supported-software/#otf2","title":"OTF2","text":"

                    The Open Trace Format 2 is a highly scalable, memory efficient event trace data format plus support library. It is the new standard trace format for Scalasca, Vampir, and TAU and is open for other tools.

                    homepage: https://www.score-p.org

                    version toolchain 2.0 foss/2016a, foss/2017a 2.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.3 GCCcore/10.2.0, GCCcore/10.3.0 3.0 GCCcore/11.3.0 3.0.2 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ovito","title":"OVITO","text":"

                    OVITO is a scientific visualization and data analysis solution for atomistic and other particle-based models. It helps scientists gain meaningful and quick insights from numerical simulation results.

                    homepage: https://www.ovito.org

                    version versionsuffix toolchain 3.7.11 -basic gompi/2022a"},{"location":"version-specific/supported-software/#owncloud","title":"ownCloud","text":"

                    The ownCloud Desktop Client is a tool to synchronize files from ownCloud Server with your computer.

                    homepage: https://github.com/owncloud/client

                    version toolchain 2.4.3 foss/2018b 2.5.4 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#oxdna","title":"oxDNA","text":"

                    oxDNA is a simulation code that was initially conceived as an implementation of the coarse-grained DNA model introduced by T. E. Ouldridge, J. P. K. Doye and A. A. Louis. It has been since reworked and it is now an extensible simulation+analysis framework. It natively supports DNA, RNA, Lennard-Jones and patchy particle simulations of different kinds on both single CPU cores and NVIDIA GPUs.

                    homepage: https://github.com/lorenzo-rovigatti/oxDNA

                    version versionsuffix toolchain 3.5.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#oxford_asl","title":"oxford_asl","text":"

                    A command line tool for quantification of perfusion from ASL data

                    homepage: https://github.com/ibme-qubic/oxford_asl

                    version versionsuffix toolchain 3.9.6 -centos7-Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#p","title":"P","text":"

                    p11-kit - p4-phylogenetics - p4est - p4vasp - p7zip - packmol - pagmo - pairsnp - PAL2NAL - paladin - PALEOMIX - PAML - panaroo - pandapower - pandas - pandas-datareader - PANDAseq - Pandoc - Panedr - Pango - pangolin - panito - PAPI - parallel - parallel-fastq-dump - Parallel-Hashmap - ParallelIO - parameterized - parasail - Paraver - ParaView - Parcels - PARI-GP - ParmEd - ParMETIS - ParMGridGen - PartitionFinder - pasta - PaStiX - pastml - patch - patchelf - path.py - PAUP - pauvre - pbbam - pbcopper - pbdagcon - pbipa - pbmm2 - pbs_python - PBSuite - PCAngsd - PCC - PCL - PCMSolver - PCRaster - PCRE - PCRE2 - pdsh - PDT - PEAR - PennCNV - PEPT - Percolator - Perl - perl-app-cpanminus - Perl-bundle-CPAN - Perl4-CoreLibs - Perseus - PEST++ - PETSc - petsc4py - PfamScan - pfind - pftoolsV3 - pFUnit - PGDSpider - PGI - PGPLOT - PHANOTATE - Phantompeakqualtools - PHASE - PHAST - Phenoflow - PheWAS - PheWeb - PhiPack - PHLAT - phonemizer - phono3py - phonopy - photontorch - phototonic - PHYLIP - PhyloBayes-MPI - phylokit - phylonaut - PhyloPhlAn - PhyML - phyx - picard - PICI-LIGGGHTS - pigz - PIL - PileOMeth - Pillow - Pillow-SIMD - Pilon - PIMS - Pindel - Pingouin - Pint - pip - PIPITS - PIRATE - pIRS - Pisces - piSvM - piSvM-JSC - pixman - pizzly - pkg-config - pkgconf - pkgconfig - PLAMS - plantcv - PlaScope - PlasmaPy - PLAST - Platanus - Platypus - plc - PLINK - plinkliftover - plinkQC - PLINKSEQ - plot1cell - Ploticus - plotly - plotly-orca - plotly.py - PLplot - PLUMED - PLY - PMIx - pmt - pmx - PnetCDF - pocl - pod5-file-format - poetry - polars - polymake - pomkl - pompi - poppler - popscle - popt - Porechop - porefoam - poretools - Portcullis - Postgres-XL - PostgreSQL - POT - POV-Ray - powerlaw - pp-sketchlib - PPanGGOLiN - PPfold - ppl - pplacer - pplpy - PRANK - PRC - preCICE - PREQUAL - preseq - presto - pretty-yaml - Primer3 - PRINSEQ - printproto - PRISMS-PF - ProbABEL - prodigal - ProFit - PROJ - ProjectQ - prokka - prompt-toolkit - proovread - propy - Proteinortho - ProtHint - protobuf - protobuf-python - protozero - PRSice - pscom - PSI - PSI4 - PsiCLASS - PSIPRED - psmc - psmpi - psmpi2 - PSolver - PSORTb - psrecord - pstoedit - psutil - psycopg2 - ptemcee - PTESFinder - pubtcrs - pugixml - pullseq - PuLP - purge_dups - py - py-aiger - py-aiger-bdd - py-cpuinfo - py3Dmol - pyABC - PyAMG - PyAPS3 - pybedtools - PyBerny - pyBigWig - pybind11 - pybinding - PyBioLib - PyCairo - PyCalib - pyccel - PyCharm - PyCheMPS2 - Pychopper - PyCifRW - PyClone - pycma - pycocotools - pycodestyle - PyCogent - pycoQC - PyCUDA - PycURL - PyDamage - pydantic - PyDatastream - pydicom - pydicom-seg - pydlpoly - pydot - pyEGA3 - pyenchant - PyEVTK - pyFAI - pyfaidx - pyfasta - PyFFmpeg - pyFFTW - pyfits - PyFMI - PyFoam - PyFR - PyFrag - pygccxml - pyGenomeTracks - PyGEOS - pyGIMLi - Pygments - pygmo - PyGObject - pygraphviz - pygrib - PyGTK - PyGTS - PyGWAS - pyhdf - PyImageJ - pyiron - Pyke3 - pylift - Pylint - pyMannKendall - pymatgen - pymatgen-db - pymbar - PyMC3 - pymca - pymemcache - PyMOL - PyNAST - pyobjcryst - PyOD - Pyomo - PyOpenCL - PyOpenGL - pyparsing - pyperf - pyplusplus - pypmt - PYPOWER - pyproj - PyPSA - pyqstem - PyQt - PyQt5 - PyQtGraph - pyradiomics - PyRe - PyRETIS - pyringe - pyro-api - pyro-ppl - Pyro4 - PyRosetta - Pysam - pysamstats - PySAT - pyScaf - pySCENIC - PySCF - pysheds - pyshp - PySide2 - pyslim - pysndfx - Pysolar - pyspoa - pysqlite - PyStan - pysteps - pystran - PyTables - pytesseract - pytest - pytest-benchmark - pytest-cpp - pytest-flakefinder - pytest-rerunfailures - pytest-shard - pytest-xdist - PYTHIA - Python - Python-bundle - python-docx - python-hl7 - python-igraph - python-irodsclient - python-isal - python-Levenshtein - python-libsbml - python-louvain - python-mujoco - python-parasail - python-telegram-bot - python-weka-wrapper3 - python-xxhash - pythran - PyTorch - PyTorch-bundle - pytorch-CycleGAN-pix2pix - PyTorch-Geometric - PyTorch-Ignite - PyTorch-Image-Models - PyTorch-Lightning - PyTorch3D - PyVCF - PyVCF3 - pyWannier90 - PyWavelets - PyWBGT - PyYAML - PyZMQ

                    "},{"location":"version-specific/supported-software/#p11-kit","title":"p11-kit","text":"

                    Provides a way to load and enumerate PKCS#11 modules. Provides a standard configuration setup for installing PKCS#11 modules in such a way that they're discoverable. Also solves problems with coordinating the use of PKCS#11 by different components or libraries living in the same process.

                    homepage: https://p11-glue.freedesktop.org/p11-kit.html

                    version toolchain 0.23.2 GCCcore/5.4.0, GNU/4.9.3-2.25, foss/2016a, intel/2016a 0.24.0 GCCcore/10.3.0 0.24.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#p4-phylogenetics","title":"p4-phylogenetics","text":"

                    A Python phyloinformatic toolkit, and an implementation of tree-heterogeneous models of evolution.

                    homepage: http://p4.nhm.ac.uk/

                    version versionsuffix toolchain 1.4-20210322 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#p4est","title":"p4est","text":"

                    p4est is a C library to manage a collection (a forest) of multiple connected adaptive quadtrees or octrees in parallel.

                    homepage: https://www.p4est.org

                    version toolchain 2.2 foss/2019a, intel/2019a 2.8 foss/2021a"},{"location":"version-specific/supported-software/#p4vasp","title":"p4vasp","text":"

                    Visualization suite for VASP

                    homepage: http://www.p4vasp.at/

                    version versionsuffix toolchain 0.3.29 -Python-2.7.11 intel/2016a 0.3.30 -Python-2.7.14 intel/2017b, intel/2018a 0.3.30 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#p7zip","title":"p7zip","text":"

                    p7zip is a quick port of 7z.exe and 7za.exe (command line version of 7zip) for Unix. 7-Zip is a file archiver with highest compression ratio.

                    homepage: http://p7zip.sourceforge.net/

                    version toolchain 9.38.1 GCC/4.9.2, system 16.02 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2018a 17.03 GCCcore/10.2.0 17.04 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#packmol","title":"packmol","text":"

                    Packing Optimization for Molecular Dynamics Simulations

                    homepage: http://m3g.iqm.unicamp.br/packmol

                    version toolchain 16.103 intel/2016a 18.013 foss/2018a, intel/2018a 20.2.2 GCC/10.2.0 v20.2.2 iccifort/2020.1.217"},{"location":"version-specific/supported-software/#pagmo","title":"pagmo","text":"

                    pagmo is a C++ scientific library for massively parallel optimization.

                    homepage: https://esa.github.io/pagmo2

                    version toolchain 2.17.0 foss/2020b 2.18.0 foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pairsnp","title":"pairsnp","text":"

                    A set of scripts for very quickly obtaining pairwise SNP distance matrices from multiple sequence alignments using sparse matrix libraries to improve performance.

                    homepage: https://github.com/gtonkinhill/pairsnp

                    version toolchain 0.0.7 foss/2021a"},{"location":"version-specific/supported-software/#pal2nal","title":"PAL2NAL","text":"

                    PAL2NAL is a program that converts a multiple sequence alignment of proteins and the corresponding DNA (or mRNA) sequences into a codon alignment. The program automatically assigns the corresponding codon sequence even if the input DNA sequence has mismatches with the input protein sequence, or contains UTRs, polyA tails. It can also deal with frame shifts in the input alignment, which is suitable for the analysis of pseudogenes. The resulting codon alignment can further be subjected to the calculation of synonymous (d_S) and non-synonymous (d_N) subs- titution rates.

                    homepage: http://www.bork.embl.de/pal2nal/

                    version toolchain 14 GCCcore/10.2.0, GCCcore/10.3.0"},{"location":"version-specific/supported-software/#paladin","title":"paladin","text":"

                    Protein ALignment And Detection INterface PALADIN is a protein sequence alignment tool designed for the accurate functional characterization of metagenomes.

                    homepage: https://github.com/ToniWestbrook/paladin

                    version toolchain 1.4.6 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#paleomix","title":"PALEOMIX","text":"

                    The PALEOMIX pipelines are a set of pipelines and tools designed to aid the rapid processing of High-Throughput Sequencing (HTS) data.

                    homepage: https://github.com/MikkelSchubert/paleomix

                    version toolchain 1.3.7 foss/2022a"},{"location":"version-specific/supported-software/#paml","title":"PAML","text":"

                    PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood.

                    homepage: http://abacus.gene.ucl.ac.uk/software/paml.html

                    version toolchain 4.9i GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28 4.9j GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 4.10.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#panaroo","title":"panaroo","text":"

                    A pangenome analysis pipeline.

                    homepage: https://gtonkinhill.github.io/panaroo/

                    version toolchain 1.2.8 foss/2020b 1.2.9 foss/2021a 1.3.2 foss/2021b"},{"location":"version-specific/supported-software/#pandapower","title":"pandapower","text":"

                    An easy to use open source tool for power system modeling, analysis and optimization with a high degree of automation

                    homepage: http://www.pandapower.org/

                    version toolchain 2.7.0 foss/2020b"},{"location":"version-specific/supported-software/#pandas","title":"pandas","text":"

                    pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

                    homepage: https://pypi.python.org/pypi/pandas/

                    version versionsuffix toolchain 0.18.0 -Python-2.7.11 foss/2016a, intel/2016a 0.18.0 -Python-3.5.1 foss/2016a, intel/2016a 0.18.1 -Python-2.7.12 intel/2016b 0.18.1 -Python-3.5.2 intel/2016b 0.19.0 -Python-2.7.12 foss/2016b, intel/2016b 0.19.0 -Python-3.5.2 foss/2016b, intel/2016b 0.19.1 -Python-2.7.12 intel/2016b 0.19.1 -Python-3.5.2 intel/2016b 0.20.1 -Python-3.6.1 intel/2017a 0.21.0 -Python-2.7.13 intel/2017a 0.21.0 -Python-3.6.3 intel/2017b 1.1.2 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#pandas-datareader","title":"pandas-datareader","text":"

                    Up to date remote data access for pandas, works for multiple versions of pandas.

                    homepage: https://pypi.org/project/pandas-datareader

                    version versionsuffix toolchain 0.7.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#pandaseq","title":"PANDAseq","text":"

                    PANDASEQ is a program to align Illumina reads, optionally with PCR primers embedded in the sequence, and reconstruct an overlapping sequence.

                    homepage: https://github.com/neufeld/pandaseq

                    version toolchain 2.10 GCC/5.4.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26 2.11 foss/2017b, intel/2017b, intel/2018a"},{"location":"version-specific/supported-software/#pandoc","title":"Pandoc","text":"

                    If you need to convert files from one markup format into another, pandoc is your swiss-army knife

                    homepage: https://pandoc.org

                    version toolchain 2.1.3 system 2.5 system 2.10 system 2.13 system 3.1.2 system"},{"location":"version-specific/supported-software/#panedr","title":"Panedr","text":"

                    Panedr uses the Pyedr library to read a Gromacs EDR binary energy XDR file and returns its contents as a pandas dataframe.

                    homepage: https://github.com/MDAnalysis/panedr

                    version toolchain 0.7.0 foss/2021a"},{"location":"version-specific/supported-software/#pango","title":"Pango","text":"

                    Pango is a library for laying out and rendering of text, with an emphasis on internationalization. Pango can be used anywhere that text layout is needed, though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x.

                    homepage: https://www.pango.org/

                    version toolchain 1.39.0 foss/2016a, intel/2016a 1.40.1 foss/2016a, intel/2016a 1.40.3 foss/2016b, intel/2016b 1.40.5 intel/2017a 1.40.12 intel/2017a 1.40.14 foss/2017b, intel/2017b 1.41.0 foss/2017b, intel/2017b 1.41.1 foss/2018a, intel/2018a 1.42.4 foss/2018b, fosscuda/2018b 1.43.0 GCCcore/8.2.0 1.44.7 GCCcore/8.3.0, GCCcore/9.3.0 1.47.0 GCCcore/10.2.0 1.48.5 GCCcore/10.3.0 1.48.8 GCCcore/11.2.0 1.50.7 GCCcore/11.3.0 1.50.12 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pangolin","title":"pangolin","text":"

                    Software package for assigning SARS-CoV-2 genome sequences to global lineages. This module also contains the faToVcf tool

                    homepage: https://cov-lineages.org/pangolin.html

                    version versionsuffix toolchain 3.1.11 foss/2020b 3.1.16 -pangoLEARN-2021-10-18 foss/2021b 3.1.16 -pangoLEARN-2021-11-25 foss/2021b"},{"location":"version-specific/supported-software/#panito","title":"panito","text":"

                    Calculate genome wide average nucleotide identity (gwANI) for a multiFASTA alignment.

                    homepage: https://github.com/sanger-pathogens/panito

                    version toolchain 0.0.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#papi","title":"PAPI","text":"

                    PAPI provides the tool designer and application engineer with a consistent interface and methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables software engineers to see, in near real time, the relation between software performance and processor events. In addition Component PAPI provides access to a collection of components that expose performance measurement opportunites across the hardware and software stack.

                    homepage: https://icl.cs.utk.edu/projects/papi/

                    version toolchain 5.4.3 foss/2016a 5.5.1 GCCcore/6.3.0, GCCcore/6.4.0 5.6.0 GCCcore/6.4.0 5.7.0 GCCcore/7.3.0, GCCcore/8.2.0 6.0.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 6.0.0.1 GCCcore/10.3.0, GCCcore/11.2.0 7.0.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#parallel","title":"parallel","text":"

                    parallel: Build and execute shell commands in parallel

                    homepage: https://savannah.gnu.org/projects/parallel/

                    version toolchain 20141122 GCC/4.9.2 20150322 GCC/4.9.2 20150822 GCC/4.9.2 20160622 foss/2016a 20170822 intel/2017a 20171022 intel/2017b 20171122 foss/2017b, intel/2017b 20180422 intel/2018a 20180822 foss/2018b 20181222 intel/2018b 20190222 GCCcore/7.3.0 20190622 GCCcore/8.2.0 20190922 GCCcore/8.3.0 20200422 GCCcore/9.3.0 20200522 GCCcore/9.3.0 20210322 GCCcore/10.2.0 20210622 GCCcore/10.3.0 20210722 GCCcore/11.2.0 20220722 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#parallel-fastq-dump","title":"parallel-fastq-dump","text":"

                    parallel fastq-dump wrapper

                    homepage: https://github.com/rvalieris/parallel-fastq-dump

                    version versionsuffix toolchain 0.6.5 -Python-3.7.2 GCCcore/8.2.0 0.6.6 -Python-3.8.2 GCCcore/9.3.0 0.6.7 gompi/2020b, gompi/2022a"},{"location":"version-specific/supported-software/#parallel-hashmap","title":"Parallel-Hashmap","text":"

                    Parallel Hashmap is built on a modified version of Abseil's flat_hash_map. Parallel Hashmap has lower space requirements, is nearly as fast as the underlying flat_hash_map, and can be used from multiple threads with high levels of concurrency.

                    homepage: https://github.com/greg7mdp/parallel-hashmap

                    version toolchain 1.33 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#parallelio","title":"ParallelIO","text":"

                    A high-level Parallel I/O Library for structured grid applications

                    homepage: https://github.com/NCAR/ParallelIO

                    version toolchain 2.2.2a intel/2017a 2.5.10 gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#parameterized","title":"parameterized","text":"

                    Parameterized testing with any Python test framework

                    homepage: https://github.com/wolever/parameterized

                    version toolchain 0.8.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#parasail","title":"parasail","text":"

                    parasail is a SIMD C (C99) library containing implementations of the Smith-Waterman (local), Needleman-Wunsch (global), and semi-global pairwise sequence alignment algorithms.

                    homepage: https://github.com/jeffdaily/parasail

                    version toolchain 2.2 intel/2018a 2.4 foss/2018b 2.4.1 GCC/8.3.0, intel/2019b 2.4.2 GCC/9.3.0, iccifort/2020.1.217 2.4.3 GCC/10.2.0, GCC/10.3.0 2.5 GCC/11.2.0 2.6 GCC/11.3.0 2.6.2 GCC/12.2.0"},{"location":"version-specific/supported-software/#paraver","title":"Paraver","text":"

                    A very powerful performance visualization and analysis tool based on traces that can be used to analyse any information that is expressed on its input trace format. Traces for parallel MPI, OpenMP and other programs can be genereated with Extrae.

                    homepage: https://tools.bsc.es/paraver

                    version toolchain 4.8.1 foss/2019a 4.9.2 foss/2021a 4.11.1 foss/2022a"},{"location":"version-specific/supported-software/#paraview","title":"ParaView","text":"

                    ParaView is a scientific parallel visualizer.

                    homepage: https://www.paraview.org

                    version versionsuffix toolchain 4.4.0 foss/2016a, intel/2016a 4.4.0 -mpi gimkl/2.11.5 5.1.2 -mpi foss/2016b, intel/2016b 5.2.0 -mpi foss/2016b, intel/2017a 5.3.0 -mpi foss/2016b 5.4.1 -mpi foss/2017b, foss/2018a, foss/2018b, intel/2017a, intel/2017b, intel/2018a 5.5.2 -Python-2.7.15-mpi foss/2018b 5.6.2 -Python-3.7.4-mpi foss/2019b, intel/2019b 5.8.0 -Python-3.8.2-mpi foss/2020a, intel/2020a 5.8.1 -mpi foss/2020b 5.9.1 -mpi foss/2021a, foss/2021b, intel/2021a 5.10.1 -mpi foss/2022a 5.11.0 -mpi foss/2022b 5.11.1 -mpi foss/2022a"},{"location":"version-specific/supported-software/#parcels","title":"Parcels","text":"

                    Parcels (Probably A Really Computationally Efficient Lagrangian Simulator) is a set of Python classes and methods to create customisable particle tracking simulations using output from Ocean Circulation models. Parcels can be used to track passive and active particulates such as water, plankton, plastic and fish.

                    homepage: http://www.oceanparcels.org/

                    version toolchain 2.4.0 foss/2022a"},{"location":"version-specific/supported-software/#pari-gp","title":"PARI-GP","text":"

                    PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.

                    homepage: http://pari.math.u-bordeaux.fr

                    version toolchain 2.7.6 foss/2016a"},{"location":"version-specific/supported-software/#parmed","title":"ParmEd","text":"

                    ParmEd is a general tool for aiding in investigations of biomolecular systems using popular molecular simulation packages, like Amber, CHARMM, and OpenMM written in Python.

                    homepage: https://parmed.github.io/ParmEd

                    version versionsuffix toolchain 2.7.3 -Python-3.6.3 intel/2017b 3.2.0 -Python-3.7.4 intel/2019b 3.2.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#parmetis","title":"ParMETIS","text":"

                    ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes.

                    homepage: http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview

                    version toolchain 4.0.3 foss/2016a, foss/2016b, foss/2017a, foss/2017b, foss/2018a, foss/2018b, gimkl/2.11.5, gompi/2019a, gompi/2019b, gompi/2020a, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a, gompi/2022b, iimpi/2019a, iimpi/2019b, iimpi/2020a, iimpi/2020b, iimpi/2021a, iimpi/2021b, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a, intel/2018b"},{"location":"version-specific/supported-software/#parmgridgen","title":"ParMGridGen","text":"

                    ParMGridGen is an MPI-based parallel library that is based on the serial package MGridGen, that implements (serial) algorithms for obtaining a sequence of successive coarse grids that are well-suited for geometric multigrid methods.

                    homepage: http://www-users.cs.umn.edu/~moulitsa/software.html

                    version toolchain 1.0 gimkl/2.11.5, gompi/2019b, gompi/2020a, iimpi/2019b, iimpi/2020a, intel/2016a, intel/2017a"},{"location":"version-specific/supported-software/#partitionfinder","title":"PartitionFinder","text":"

                    PartitionFinder 2 is a Python program for simultaneously choosing partitioning schemes and models of molecular evolution for phylogenetic analyses of DNA, protein, and morphological data. You can PartitionFinder 2 before running a phylogenetic analysis, in order to decide how to divide up your sequence data into separate blocks before analysis, and to simultaneously perform model selection on each of those blocks.

                    homepage: https://www.robertlanfear.com/partitionfinder

                    version versionsuffix toolchain 2.1.1 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#pasta","title":"pasta","text":"

                    PASTA (Practical Alignment using SATe and Transitivity)

                    homepage: https://github.com/smirarab/pasta

                    version versionsuffix toolchain 1.8.5 -Python-3.7.2 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#pastix","title":"PaStiX","text":"

                    PaStiX (Parallel Sparse matriX package) is a scientific library that provides a high performance parallel solver for very large sparse linear systems based on direct methods.

                    homepage: http://pastix.gforge.inria.fr/

                    version toolchain 5.2.3 foss/2017b"},{"location":"version-specific/supported-software/#pastml","title":"pastml","text":"

                    Ancestor character reconstruction and visualisation for rooted phylogenetic trees

                    homepage: https://pastml.pasteur.fr/

                    version toolchain 1.9.34 foss/2021a"},{"location":"version-specific/supported-software/#patch","title":"patch","text":"

                    Patch takes a patch file containing a difference listing produced by the diff program and applies those differences to one or more original files, producing patched versions.

                    homepage: https://savannah.gnu.org/projects/patch

                    version toolchain 2.7.6 system"},{"location":"version-specific/supported-software/#patchelf","title":"patchelf","text":"

                    PatchELF is a small utility to modify the dynamic linker and RPATH of ELF executables.

                    homepage: http://nixos.org/patchelf.html

                    version toolchain 0.8 GNU/4.9.3-2.25 0.9 GCCcore/6.4.0, foss/2016a 0.10 GCCcore/7.2.0, GCCcore/8.3.0 0.12 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 0.13 GCCcore/11.2.0 0.15.0 GCCcore/11.3.0 0.18.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pathpy","title":"path.py","text":"

                    path.py is a Python library implementing path objects as first-class entities, allowing common operations on files to be invoked on those path objects directly.

                    homepage: https://github.com/jaraco/path.py

                    version versionsuffix toolchain 8.2.1 -Python-2.7.11 foss/2016a 8.2.1 -Python-2.7.12 foss/2016b, intel/2016b 8.2.1 -Python-3.5.1 foss/2016a 8.2.1 -Python-3.5.2 intel/2016b 10.1 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#paup","title":"PAUP","text":"

                    PAUP (Phylogenetic Analysis Using Parsimony and other methods) is a computational phylogenetics program for inferring evolutionary trees.

                    homepage: https://paup.phylosolutions.com/

                    version versionsuffix toolchain 4.0a166 -centos64 system 4.0a168 -centos64 system"},{"location":"version-specific/supported-software/#pauvre","title":"pauvre","text":"

                    Tools for plotting Oxford Nanopore and other long-read data

                    homepage: https://github.com/conchoecia/pauvre

                    version versionsuffix toolchain 0.2.3 foss/2021a 0.1923 -Python-3.7.4 intel/2019b 0.1924 intel/2020b"},{"location":"version-specific/supported-software/#pbbam","title":"pbbam","text":"

                    The pbbam software package provides components to create, query, & edit PacBio BAM files and associated indices.

                    homepage: http://pbbam.readthedocs.io/

                    version toolchain 1.0.6 gompi/2019a 20170508 intel/2017a"},{"location":"version-specific/supported-software/#pbcopper","title":"pbcopper","text":"

                    The pbcopper library provides a suite of data structures, algorithms, and utilities for C++ applications.

                    homepage: https://github.com/PacificBiosciences/pbcopper

                    version toolchain 1.3.0 gompi/2019a"},{"location":"version-specific/supported-software/#pbdagcon","title":"pbdagcon","text":"

                    pbdagcon is a tool that implements DAGCon (Directed Acyclic Graph Consensus) which is a sequence consensus algorithm based on using directed acyclic graphs to encode multiple sequence alignment.

                    homepage: https://github.com/PacificBiosciences/pbdagcon

                    version toolchain 20170330 intel/2017a"},{"location":"version-specific/supported-software/#pbipa","title":"pbipa","text":"

                    Improved Phased Assembler (IPA) is the official PacBio software for HiFi genome assembly. IPA was designed to utilize the accuracy of PacBio HiFi reads to produce high-quality phased genome assemblies. IPA is an end-to-end solution, starting with input reads and resulting in a polished assembly. IPA is fast, providing an easy to use local run mode or a distributed pipeline for a cluster.

                    homepage: https://github.com/PacificBiosciences/pbipa

                    version toolchain 1.8.0 foss/2021b"},{"location":"version-specific/supported-software/#pbmm2","title":"pbmm2","text":"

                    A minimap2 frontend for PacBio native data formats

                    homepage: https://github.com/PacificBiosciences/pbmm2

                    version toolchain 1.1.0 gompi/2019a"},{"location":"version-specific/supported-software/#pbs_python","title":"pbs_python","text":"

                    The pbs_python package is a wrapper class for the Torque C library. With this package you now can write utilities/extensions in Python instead of C. We developed this package because we want to replace xpbsmon by an ascii version named pbsmon. PBSQuery is also included in this package. This is a python module build on top of the pbs python module to simplify querying the batch server, eg: how many jobs, how many nodes, ...

                    homepage: https://oss.trac.surfsara.nl/pbs_python

                    version versionsuffix toolchain 4.6.0 system 4.6.0 -Python-2.7.11 intel/2016a 4.6.0 -Python-2.7.12 intel/2016b 4.6.0 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#pbsuite","title":"PBSuite","text":"

                    PBJelly is a highly automated pipeline that aligns long sequencing reads (such as PacBio RS reads or long 454 reads in fasta format) to high-confidence draft assembles.

                    homepage: https://sourceforge.net/p/pb-jelly/wiki/Home/

                    version versionsuffix toolchain 15.8.24 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#pcangsd","title":"PCAngsd","text":"

                    PCAngsd, which estimates the covariance matrix for low depth NGS data in an iterative procedure based on genotype likelihoods and is able to perform multiple population genetic analyses in heterogeneous populations.

                    homepage: http://www.popgen.dk/software/index.php/PCAngsd

                    version versionsuffix toolchain 0.97 -Python-2.7.14 foss/2018a"},{"location":"version-specific/supported-software/#pcc","title":"PCC","text":"

                    The compiler is based on the original Portable C Compiler by S. C. Johnson, written in the late 70's. About 50% of the frontend code and 80% of the backend code has been modified.

                    homepage: http://pcc.ludd.ltu.se/

                    version toolchain 20131024 system"},{"location":"version-specific/supported-software/#pcl","title":"PCL","text":"

                    The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing.

                    homepage: http://pointclouds.org/

                    version versionsuffix toolchain 1.7.2 -Python-2.7.11 intel/2016a 1.8.1 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pcmsolver","title":"PCMSolver","text":"

                    An API for the Polarizable Continuum Model.

                    homepage: https://pcmsolver.readthedocs.org

                    version versionsuffix toolchain 1.1.4 -Python-2.7.11 intel/2016a 1.2.3 -Python-3.6.6 foss/2018b 1.2.3 -Python-3.7.2 gompi/2019a 1.2.3 -Python-3.7.4 iimpi/2019b 20160205 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#pcraster","title":"PCRaster","text":"

                    PCRaster Is a collection of software targeted at the development and deployment of spatio-temporal environmental models.

                    homepage: http://pcraster.geo.uu.nl/

                    version versionsuffix toolchain 4.1.0 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pcre","title":"PCRE","text":"

                    The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.

                    homepage: https://www.pcre.org/

                    version toolchain 8.38 foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b 8.39 GCCcore/5.4.0, foss/2016b, intel/2016b 8.40 GCCcore/6.3.0, gimkl/2017a, intel/2016b, intel/2017a 8.41 GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0 8.42 GCCcore/6.4.0 8.43 GCCcore/8.2.0, GCCcore/8.3.0 8.44 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 8.45 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pcre2","title":"PCRE2","text":"

                    The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.

                    homepage: https://www.pcre.org/

                    version toolchain 10.21 foss/2016a 10.31 foss/2018b 10.33 GCCcore/8.2.0, GCCcore/8.3.0 10.34 GCCcore/9.3.0 10.35 GCCcore/10.2.0 10.36 GCCcore/10.3.0 10.37 GCCcore/11.2.0 10.40 GCCcore/11.3.0, GCCcore/12.2.0 10.42 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pdsh","title":"pdsh","text":"

                    A high performance, parallel remote shell utility

                    homepage: https://github.com/chaos/pdsh

                    version toolchain 2.34 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pdt","title":"PDT","text":"

                    Program Database Toolkit (PDT) is a framework for analyzing source code written in several programming languages and for making rich program knowledge accessible to developers of static and dynamic analysis tools. PDT implements a standard program representation, the program database (PDB), that can be accessed in a uniform way through a class library supporting common PDB operations.

                    homepage: https://www.cs.uoregon.edu/research/pdt/

                    version toolchain 3.22 foss/2016a 3.25 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0 3.25.1 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#pear","title":"PEAR","text":"

                    PEAR is an ultrafast, memory-efficient and highly accurate pair-end read merger. It is fully parallelized and can run with as low as just a few kilobytes of memory.

                    homepage: http://sco.h-its.org/exelixis/web/software/pear/

                    version toolchain 0.9.8 foss/2016b, intel/2016b 0.9.10 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28 0.9.11 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCCcore/7.3.0, GCCcore/9.3.0, foss/2018a"},{"location":"version-specific/supported-software/#penncnv","title":"PennCNV","text":"

                    A free software tool for Copy Number Variation (CNV) detection from SNP genotyping arrays. Currently it can handle signal intensity data from Illumina and Affymetrix arrays. With appropriate preparation of file format, it can also handle other types of SNP arrays and oligonucleotide arrays.

                    homepage: https://penncnv.openbioinformatics.org/

                    version toolchain 1.0.5 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#pept","title":"PEPT","text":"

                    A Python library that integrates all the tools necessary to perform research using Positron Emission Particle Tracking (PEPT). The library includes algorithms for the location, identification and tracking of particles, in addition to tools for visualisation and analysis, and utilities allowing the realistic simulation of PEPT data.

                    homepage: https://pept.readthedocs.io/en/latest/

                    version toolchain 0.4.1 foss/2021a"},{"location":"version-specific/supported-software/#percolator","title":"Percolator","text":"

                    Semi-supervised learning for peptide identification from shotgun proteomics datasets

                    homepage: https://github.com/percolator/percolator

                    version toolchain 3.4 gompi/2019a"},{"location":"version-specific/supported-software/#perl","title":"Perl","text":"

                    Larry Wall's Practical Extraction and Report Language Includes a small selection of extra CPAN packages for core functionality.

                    homepage: https://www.perl.org/

                    version versionsuffix toolchain 5.20.1 -bare GCC/4.8.2, GCC/4.9.2 5.20.2 -bare GCC/4.9.2 5.20.3 foss/2016a, intel/2016a 5.22.0 -bare GCC/4.9.2 5.22.1 foss/2016a, foss/2016b, intel/2016a 5.22.1 -bare foss/2016a, intel/2016a 5.22.2 intel/2016a 5.24.0 GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, intel/2016b 5.24.0 -bare foss/2016b 5.24.1 GCCcore/6.3.0, foss/2017a, intel/2017a 5.26.0 GCCcore/6.4.0, foss/2017b, intel/2017b, intel/2018.00, intel/2018.01 5.26.1 GCCcore/6.4.0, foss/2018a 5.26.1 -bare foss/2018a 5.28.0 GCCcore/7.3.0 5.28.1 GCCcore/8.2.0 5.30.0 GCCcore/8.3.0 5.30.0 -minimal GCCcore/8.3.0 5.30.2 GCCcore/9.3.0 5.30.2 -minimal GCCcore/9.3.0 5.32.0 GCCcore/10.2.0 5.32.0 -minimal GCCcore/10.2.0 5.32.1 FCC/4.5.0, GCCcore/10.3.0 5.32.1 -minimal GCCcore/10.3.0 5.34.0 GCCcore/11.2.0 5.34.0 -minimal GCCcore/11.2.0 5.34.1 GCCcore/11.3.0 5.34.1 -minimal GCCcore/11.3.0 5.36.0 GCCcore/12.1.0, GCCcore/12.2.0 5.36.0 -minimal GCCcore/12.2.0 5.36.1 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#perl-app-cpanminus","title":"perl-app-cpanminus","text":"

                    cpanm - get, unpack build and install modules from CPAN

                    homepage: https://github.com/miyagawa/cpanminus

                    version toolchain 1.7039 system"},{"location":"version-specific/supported-software/#perl-bundle-cpan","title":"Perl-bundle-CPAN","text":"

                    A set of common packages from CPAN

                    homepage: https://www.perl.org/

                    version toolchain 5.36.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#perl4-corelibs","title":"Perl4-CoreLibs","text":"

                    Libraries historically supplied with Perl 4

                    homepage: https://metacpan.org/pod/Perl4::CoreLibs

                    version versionsuffix toolchain 0.003 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#perseus","title":"Perseus","text":"

                    The Perseus software platform supports biological and biomedical researchers in interpreting protein quantification, interaction and post-translational modification data.

                    homepage: https://maxquant.org/perseus

                    version toolchain 2.0.7.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#pest","title":"PEST++","text":"

                    PEST++ is a software suite aimed at supporting complex numerical models in the decision-support context. Much focus has been devoted to supporting environmental models (groundwater, surface water, etc) but these tools are readily applicable to any computer model.

                    homepage: https://github.com/usgs/pestpp

                    version toolchain 5.0.5 foss/2020a"},{"location":"version-specific/supported-software/#petsc","title":"PETSc","text":"

                    PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.

                    homepage: http://www.mcs.anl.gov/petsc

                    version versionsuffix toolchain 3.7.2 -Python-2.7.11 intel/2016a 3.7.3 -Python-2.7.11 foss/2016a 3.7.5 -downloaded-deps intel/2016b 3.8.3 -downloaded-deps foss/2017b 3.9.1 -downloaded-deps foss/2018a 3.9.3 foss/2018a, intel/2018a 3.11.0 -downloaded-deps foss/2018b 3.11.1 -Python-3.7.2 foss/2019a, intel/2019a 3.12.4 -Python-2.7.16 intel/2019b 3.12.4 -Python-3.7.4 foss/2019b, intel/2019b 3.12.4 -Python-3.8.2 foss/2020a, intel/2020a 3.14.4 foss/2020b, intel/2020b 3.15.1 foss/2021a, intel/2021a 3.17.4 foss/2022a 3.18.4 intel/2021b"},{"location":"version-specific/supported-software/#petsc4py","title":"petsc4py","text":"

                    petsc4py are Python bindings for PETSc, the Portable, Extensible Toolchain for Scientific Computation.

                    homepage: https://bitbucket.org/petsc/petsc4py

                    version versionsuffix toolchain 3.9.1 -Python-3.6.4 foss/2018a 3.12.0 -Python-3.7.4 foss/2019b 3.15.0 foss/2021a"},{"location":"version-specific/supported-software/#pfamscan","title":"PfamScan","text":"

                    PfamScan is used to search a FASTA sequence against a library of Pfam HMM.

                    homepage: https://www.ebi.ac.uk/seqdb/confluence/display/THD/PfamScan

                    version toolchain 1.6 gompi/2022a"},{"location":"version-specific/supported-software/#pfind","title":"pfind","text":"

                    Drop-in replacement for find, implemented for using parallel access and MPI.

                    homepage: https://github.com/VI4IO/pfind

                    version toolchain 20220613 gompi/2021b"},{"location":"version-specific/supported-software/#pftoolsv3","title":"pftoolsV3","text":"

                    A suite of tools to build and search generalized profiles (protein and DNA).

                    homepage: https://github.com/sib-swiss/pftools3

                    version toolchain 3.2.11 GCCcore/10.3.0, foss/2021a 3.2.12 GCCcore/11.2.0, GCCcore/11.3.0 20160324 foss/2016a"},{"location":"version-specific/supported-software/#pfunit","title":"pFUnit","text":"

                    pFUnit is a unit testing framework enabling JUnit-like testing of serial and MPI-parallel software written in Fortran.

                    homepage: https://github.com/Goddard-Fortran-Ecosystem/pFUnit

                    version toolchain 3.2.9 gompi/2018b 4.2.0 gompi/2020b"},{"location":"version-specific/supported-software/#pgdspider","title":"PGDSpider","text":"

                    An automated data conversion tool for connecting population genetics and genomics programs

                    homepage: http://cmpg.unibe.ch/software/PGDSpider/

                    version versionsuffix toolchain 2.1.0.3 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#pgi","title":"PGI","text":"

                    C, C++ and Fortran compilers from The Portland Group - PGI

                    homepage: https://www.pgroup.com/

                    version versionsuffix toolchain 15.7 -GNU-4.9.2-2.25 system 15.7 -GNU-4.9.3-2.25 system 15.10 -GCC-4.9.3-2.25 system 16.1 -CDK-GCC-4.9.2-2.25 system 16.3 -GCC-4.9.3-2.25 system 16.4 -GCC-5.3.0-2.26 system 16.7 -GCC-5.4.0-2.26 system 16.10 -GCC-5.4.0-2.26 system 17.1 -GCC-6.3.0-2.27 system 17.3 -GCC-6.3.0-2.28 system 17.4 -GCC-6.4.0-2.28 system 17.10 -GCC-6.4.0-2.28 system 18.1 -GCC-7.2.0-2.29 system 18.4 -GCC-6.4.0-2.28 system 18.7 -GCC-7.3.0-2.30 system 18.10 -GCC-6.4.0-2.28 system 19.1 -GCC-8.2.0-2.31.1 system 19.4 -GCC-8.2.0-2.31.1 system 19.7 -GCC-8.3.0-2.32 system 19.10 -GCC-8.3.0-2.32 system"},{"location":"version-specific/supported-software/#pgplot","title":"PGPLOT","text":"

                    The PGPLOT Graphics Subroutine Library is a Fortran- or C-callable, device-independent graphics package for making simple scientific graphs. It is intended for making graphical images of publication quality with minimum effort on the part of the user. For most applications, the program can be device-independent, and the output can be directed to the appropriate device at run time.

                    homepage: https://sites.astro.caltech.edu/~tjp/pgplot/

                    version toolchain 5.2.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#phanotate","title":"PHANOTATE","text":"

                    PHANOTATE: a tool to annotate phage genomes

                    homepage: https://github.com/deprekate/PHANOTATE

                    version toolchain 20190724 foss/2018b"},{"location":"version-specific/supported-software/#phantompeakqualtools","title":"Phantompeakqualtools","text":"

                    It computes informative enrichment and quality measures for ChIP-seq/DNase-seq/FAIRE-seq/MNase-seq data.

                    homepage: https://github.com/kundajelab/phantompeakqualtools

                    version toolchain 1.2.2 foss/2021b"},{"location":"version-specific/supported-software/#phase","title":"PHASE","text":"

                    The program PHASE implements a Bayesian statistical method for reconstructing haplotypes from population genotype data. Documentation: http://stephenslab.uchicago.edu/assets/software/phase/instruct2.1.pdf

                    homepage: http://stephenslab.uchicago.edu/phase/download.html

                    version toolchain 2.1.1 system"},{"location":"version-specific/supported-software/#phast","title":"PHAST","text":"

                    PHAST is a freely available software package for comparative and evolutionary genomics.

                    homepage: http://compgen.cshl.edu/phast/

                    version toolchain 1.4 intel/2017a 1.5 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#phenoflow","title":"Phenoflow","text":"

                    R package offering functionality for the advanced analysis of microbial flow cytometry data

                    homepage: https://github.com/rprops/Phenoflow_package

                    version versionsuffix toolchain 1.1.2-20200917 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#phewas","title":"PheWAS","text":"

                    Provides an accessible R interface to the phenome wide association study.

                    homepage: https://www.vumc.org/cpm/center-precision-medicine-blog/phewas-r-package

                    version versionsuffix toolchain 0.12 -R-3.3.3 foss/2016b, intel/2016b 0.99.5-2 -R-3.6.0 foss/2019a, intel/2019a"},{"location":"version-specific/supported-software/#pheweb","title":"PheWeb","text":"

                    A tool for building PheWAS websites from association files

                    homepage: https://github.com/statgen/pheweb

                    version versionsuffix toolchain 1.1.20 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#phipack","title":"PhiPack","text":"

                    The PhiPack software package implements (in C) a few tests for recombination and can produce refined incompatibility matrices as well.

                    homepage: http://www.maths.otago.ac.nz/~dbryant/software.html

                    version toolchain 2016.06.14 iccifort/2019.1.144-GCC-8.2.0-2.31.1"},{"location":"version-specific/supported-software/#phlat","title":"PHLAT","text":"

                    PHLAT is a bioinformatics algorithm that offers HLA typing at four-digit resolution (or higher) using genome-wide transcriptome and exome sequencing data over a wide range of read lengths and sequencing depths.

                    homepage: https://sites.google.com/site/phlatfortype/

                    version versionsuffix toolchain 1.1 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#phonemizer","title":"phonemizer","text":"

                    The phonemizer allows simple phonemization of words and texts in many languages. Provides both the phonemize command-line tool and the Python function phonemizer.phonemize. It is using four backends: espeak, espeak-mbrola, festival and segments.

                    homepage: https://github.com/bootphon/phonemizer

                    version versionsuffix toolchain 2.2.1 -Python-3.8.2 gompi/2020a"},{"location":"version-specific/supported-software/#phono3py","title":"phono3py","text":"

                    phono3py calculates phonon-phonon interaction and related properties using the supercell approach.

                    homepage: https://atztogo.github.io/phono3py/

                    version versionsuffix toolchain 1.12.5.35 -Python-2.7.14 intel/2017b 1.12.7.55 -Python-2.7.14 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#phonopy","title":"phonopy","text":"

                    Phonopy is an open source package of phonon calculations based on the supercell approach.

                    homepage: https://atztogo.github.io/phonopy/

                    version versionsuffix toolchain 1.10.1 -Python-2.7.11 intel/2016a 1.12.2.20 -Python-2.7.14 intel/2017b 1.12.6.66 -Python-2.7.14 foss/2018a, intel/2018a 1.13.0.64 -Python-2.7.14 intel/2018a 1.14.2 -Python-2.7.15 intel/2018b 2.0.0 -Python-2.7.14 intel/2018a 2.2.0 -Python-3.7.2 intel/2019a 2.7.1 -Python-3.7.4 intel/2019b 2.7.1 -Python-3.8.2 intel/2020a 2.12.0 foss/2020b 2.16.3 foss/2022a"},{"location":"version-specific/supported-software/#photontorch","title":"photontorch","text":"

                    Photontorch is a photonic simulator for highly parallel simulation and optimization of photonic circuits in time and frequency domain. Photontorch features CUDA enabled simulation and optimization of photonic circuits. It leverages the deep learning framework PyTorch to view the photonic circuit as essentially a recurrent neural network. This enables the use of native PyTorch optimizers to optimize the (physical) parameters of the circuit.

                    homepage: https://docs.photontorch.com/

                    version toolchain 0.4.1 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#phototonic","title":"phototonic","text":"

                    Phototonic is an image viewer and organizer

                    homepage: https://github.com/oferkv/phototonic

                    version toolchain 2.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#phylip","title":"PHYLIP","text":"

                    PHYLIP is a free package of programs for inferring phylogenies.

                    homepage: http://evolution.genetics.washington.edu/phylip

                    version toolchain 3.696 foss/2016a, intel/2016a 3.697 GCC/6.4.0-2.28, GCC/9.3.0, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#phylobayes-mpi","title":"PhyloBayes-MPI","text":"

                    A Bayesian software for phylogenetic reconstruction using mixture models

                    homepage: https://github.com/bayesiancook/pbmpi

                    version toolchain 20161021 intel/2016b"},{"location":"version-specific/supported-software/#phylokit","title":"phylokit","text":"

                    C++ library for high performance phylogenetics

                    homepage: https://github.com/pranjalv123/phylokit

                    version toolchain 1.0 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#phylonaut","title":"phylonaut","text":"

                    Dynamic programming for phylogenetics applications

                    homepage: https://github.com/pranjalv123/phylonaut

                    version toolchain 20190626 gompi/2019a"},{"location":"version-specific/supported-software/#phylophlan","title":"PhyloPhlAn","text":"

                    PhyloPhlAn is an integrated pipeline for large-scale phylogenetic profiling of genomes and metagenomes. PhyloPhlAn is an accurate, rapid, and easy-to-use method for large-scale microbial genome characterization and phylogenetic analysis at multiple levels of resolution.

                    homepage: https://github.com/biobakery/phylophlan

                    version versionsuffix toolchain 3.0 -Python-3.8.2 foss/2020a 3.0.2 foss/2021a 3.0.3 foss/2022a"},{"location":"version-specific/supported-software/#phyml","title":"PhyML","text":"

                    Phylogenetic estimation using (Maximum) Likelihood

                    homepage: https://github.com/stephaneguindon/phyml

                    version toolchain 3.3.20190321 foss/2018b 3.3.20200621 foss/2020b"},{"location":"version-specific/supported-software/#phyx","title":"phyx","text":"

                    phyx performs phylogenetics analyses on trees and sequences.

                    homepage: https://github.com/FePhyFoFum/phyx

                    version toolchain 1.01 foss/2019a 1.3 foss/2022a"},{"location":"version-specific/supported-software/#picard","title":"picard","text":"

                    A set of tools (in Java) for working with next generation sequencing data in the BAM format.

                    homepage: https://broadinstitute.github.io/picard/

                    version versionsuffix toolchain 1.39 system 1.100 system 1.109 system 1.119 system 1.119 -Java-1.7.0_80 system 1.120 -Java-1.8.0_66 system 1.141 -Java-1.8.0_74 system 2.0.1 -Java-1.8.0_66 system 2.1.0 system 2.1.0 -Java-1.8.0_74 system 2.1.1 -Java-1.8.0_112 system 2.1.1 -Java-1.8.0_74 system 2.2.4 -Java-1.8.0_92 system 2.6.0 -Java-1.8.0_131 system 2.10.1 -Java-1.8.0_131 system 2.18.5 -Java-1.8.0_162 system 2.18.11 -Java-1.8.0_162 system 2.18.14 -Java-1.8 system 2.18.17 -Java-1.8 system 2.18.27 -Java-1.8 system 2.20.6 -Java-1.8 system 2.21.1 -Java-11 system 2.21.6 -Java-11 system 2.22.1 -Java-11 system 2.25.0 -Java-11 system 2.25.1 -Java-11 system 2.25.5 -Java-13 system 2.26.10 -Java-15 system 3.0.0 -Java-17 system"},{"location":"version-specific/supported-software/#pici-liggghts","title":"PICI-LIGGGHTS","text":"

                    UoB Positron Imaging Centre's Improved LIGGGHTS distribution with an emphasis on the Python interface.

                    homepage: https://github.com/uob-positron-imaging-centre/PICI-LIGGGHTS

                    version toolchain 3.8.1 foss/2022a"},{"location":"version-specific/supported-software/#pigz","title":"pigz","text":"

                    pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler, and uses the zlib and pthread libraries.

                    homepage: https://zlib.net/pigz/

                    version toolchain 2.3.3 foss/2016b 2.3.4 GCCcore/6.4.0 2.4 GCCcore/10.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2018a 2.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 2.7 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pil","title":"PIL","text":"

                    The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities.

                    homepage: http://www.pythonware.com/products/pil

                    version versionsuffix toolchain 1.1.7 -Python-2.7.11 intel/2016a 1.1.7 -Python-2.7.11-freetype-2.6.3 intel/2016a 1.1.7 -Python-2.7.12 foss/2016b, intel/2016b 1.1.7 -Python-2.7.13 intel/2017a 1.1.7 -Python-2.7.15 foss/2019a"},{"location":"version-specific/supported-software/#pileometh","title":"PileOMeth","text":"

                    PileOMeth processes a coordinate-sorted and indexed BAM or CRAM file containing some form of BS-seq alignments. PileOMeth extracts per-base methylation metrics from them. PileOMeth requires an indexed fasta file containing the reference genome as well.

                    homepage: https://github.com/dpryan79/PileOMeth

                    version toolchain 0.1.11 foss/2016b"},{"location":"version-specific/supported-software/#pillow","title":"Pillow","text":"

                    Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors.

                    homepage: https://pillow.readthedocs.org/

                    version versionsuffix toolchain 3.2.0 -Python-2.7.11 intel/2016a 3.2.0 -Python-2.7.11-freetype-2.6.3 foss/2016a, intel/2016a 3.4.2 -Python-2.7.12 intel/2016b 3.4.2 -Python-3.5.2 foss/2016b, intel/2016b 3.4.2 -Python-3.5.2-freetype-2.6.5 intel/2016b 4.1.0 -Python-2.7.13 intel/2017a 4.1.1 -Python-3.6.1 intel/2017a 4.2.1 -Python-3.6.1 intel/2017a 4.3.0 -Python-2.7.13 intel/2017a 4.3.0 -Python-2.7.14 intel/2017b 4.3.0 -Python-3.6.3 foss/2017b 5.0.0 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 5.0.0 -Python-3.6.3 foss/2017b, intel/2017b 5.0.0 -Python-3.6.4 foss/2018a, intel/2018a 5.3.0 -Python-2.7.15 foss/2018b 5.3.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 6.0.0 GCCcore/8.2.0 6.2.1 GCCcore/8.3.0 6.2.2 -Python-2.7.18 foss/2020b 7.0.0 -Python-3.8.2 GCCcore/9.3.0 8.0.1 GCCcore/10.2.0 8.2.0 GCCcore/10.3.0 8.3.1 GCCcore/11.2.0 8.3.2 GCCcore/11.2.0 9.1.0 GCCcore/10.3.0 9.1.1 GCCcore/11.2.0, GCCcore/11.3.0 9.2.0 GCCcore/10.2.0 9.4.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pillow-simd","title":"Pillow-SIMD","text":"

                    Pillow is the 'friendly PIL fork' by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors.

                    homepage: https://github.com/uploadcare/pillow-simd

                    version versionsuffix toolchain 5.0.0 -Python-3.6.4 foss/2018a, intel/2018a 5.3.0.post0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 6.0.x.post0 GCCcore/8.2.0, GCCcore/8.3.0 7.1.2 GCCcore/10.2.0 7.1.2 -Python-3.8.2 GCCcore/9.3.0 8.2.0 GCCcore/10.3.0 8.3.1 GCCcore/11.2.0 8.3.2 GCCcore/11.2.0 9.2.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pilon","title":"Pilon","text":"

                    Pilon is an automated genome assembly improvement and variant detection tool

                    homepage: https://github.com/broadinstitute/pilon

                    version versionsuffix toolchain 1.22 -Java-1.8 system 1.22 -Java-1.8.0_162 system 1.23 -Java-1.8 system 1.23 -Java-11 system"},{"location":"version-specific/supported-software/#pims","title":"PIMS","text":"

                    PIMS is a lazy-loading interface to sequential data with numpy-like slicing.

                    homepage: https://soft-matter.github.io/pims

                    version versionsuffix toolchain 0.4.1 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pindel","title":"Pindel","text":"

                    Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data. It uses a pattern growth approach to identify the breakpoints of these variants from paired-end short reads.

                    homepage: http://gmt.genome.wustl.edu/packages/pindel/

                    version toolchain 0.2.5b8 foss/2016b 0.2.5b9-20170508 GCC/11.2.0, GCC/11.3.0, GCC/6.4.0-2.28"},{"location":"version-specific/supported-software/#pingouin","title":"Pingouin","text":"

                    Pingouin is an open-source statistical package written in Python 3 and based mostly on Pandas and NumPy.

                    homepage: https://pingouin-stats.org/

                    version versionsuffix toolchain 0.3.8 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pint","title":"Pint","text":"

                    Pint is a Python package to define, operate and manipulate physical quantities: the product of a numerical value and a unit of measurement. It allows arithmetic operations between them and conversions from and to different units.

                    homepage: https://github.com/hgrecco/pint

                    version versionsuffix toolchain 0.14 -Python-3.7.4 GCCcore/8.3.0 0.19.2 GCCcore/11.2.0 0.20.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#pip","title":"pip","text":"

                    The PyPA recommended tool for installing Python packages.

                    homepage: https://pip.pypa.io

                    version versionsuffix toolchain 8.0.2 -Python-2.7.11 intel/2016a 8.1.2 -Python-2.7.11 foss/2016a 8.1.2 -Python-2.7.12 foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#pipits","title":"PIPITS","text":"

                    An automated pipeline for analyses of fungal internal transcribed spacer (ITS) sequences from the Illumina sequencing platform.

                    homepage: https://github.com/hsgweon/pipits

                    version versionsuffix toolchain 2.7 -Python-3.8.2 foss/2020a 2.8 foss/2021a 3.0 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#pirate","title":"PIRATE","text":"

                    A toolbox for pangenome analysis and threshold evaluation.

                    homepage: https://github.com/SionBayliss/PIRATE

                    version versionsuffix toolchain 1.0.5 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#pirs","title":"pIRS","text":"

                    pIRS (profile based Illumina pair-end Reads Simulator) is a program for simulating paired-end reads from a reference genome. It is optimized for simulating reads similar to those generated from the Illumina platform.

                    homepage: https://github.com/galaxy001/pirs

                    version toolchain 2.0.2 gompi/2019b"},{"location":"version-specific/supported-software/#pisces","title":"Pisces","text":"

                    Somatic and germline variant caller for amplicon data. Recommended caller for tumor-only workflows.

                    homepage: https://github.com/Illumina/Pisces

                    version toolchain 5.2.7.47 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#pisvm","title":"piSvM","text":"

                    piSvM is a parallel implementation of the Support Vector Machine (SVM) algorithm that allows efficient training and testing on a multiprocessor system.

                    homepage: http://pisvm.sourceforge.net/

                    version toolchain 1.3 intel/2017b"},{"location":"version-specific/supported-software/#pisvm-jsc","title":"piSvM-JSC","text":"

                    piSvM is a parallel implementation of the Support Vector Machine (SVM) algorithm that allows efficient training and testing on a multiprocessor system. This version is a fork of the original PiSvM to increase scalability.

                    homepage: https://github.com/mricherzhagen/pisvm

                    version toolchain 1.2-20150622 intel/2017b"},{"location":"version-specific/supported-software/#pixman","title":"pixman","text":"

                    Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. Important users of pixman are the cairo graphics library and the X server.

                    homepage: http://www.pixman.org/

                    version toolchain 0.34.0 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b 0.38.0 GCCcore/8.2.0 0.38.4 GCCcore/8.3.0, GCCcore/9.3.0 0.40.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 0.42.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pizzly","title":"pizzly","text":"

                    Pizzly is a program for detecting gene fusions from RNA-Seq data of cancer samples.

                    homepage: https://github.com/pmelsted/pizzly

                    version toolchain 0.37.3 foss/2018b"},{"location":"version-specific/supported-software/#pkg-config","title":"pkg-config","text":"

                    pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the correct compiler options on the command line so an application can use gcc -o test test.c pkg-config --libs --cflags glib-2.0 for instance, rather than hard-coding values on where to find glib (or other libraries).

                    homepage: http://www.freedesktop.org/wiki/Software/pkg-config/

                    version toolchain 0.28 GCC/4.8.2, GCC/4.9.2, GNU/4.9.3-2.25 0.29 foss/2016a, gimkl/2.11.5, intel/2016a 0.29.1 GCCcore/4.9.3, GCCcore/5.4.0, GCCcore/6.3.0, foss/2016a, foss/2016b, foss/2017a, gimkl/2017a, intel/2016a, intel/2016b, intel/2017a 0.29.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, intel/2017a, system"},{"location":"version-specific/supported-software/#pkgconf","title":"pkgconf","text":"

                    pkgconf is a program which helps to configure compiler and linker flags for development libraries. It is similar to pkg-config from freedesktop.org.

                    homepage: https://github.com/pkgconf/pkgconf

                    version toolchain 1.8.0 GCCcore/11.2.0, GCCcore/11.3.0, system 1.9.3 GCCcore/12.2.0 1.9.4 GCCcore/13.1.0 1.9.5 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pkgconfig","title":"pkgconfig","text":"

                    pkgconfig is a Python module to interface with the pkg-config command line tool

                    homepage: https://github.com/matze/pkgconfig

                    version versionsuffix toolchain 1.1.0 -Python-2.7.11 foss/2016a, intel/2016a 1.1.0 -Python-2.7.12 foss/2016b, intel/2016b 1.1.0 -Python-3.5.1 foss/2016a 1.1.0 -Python-3.5.2 foss/2016b, intel/2016b 1.2.2 -Python-2.7.13 foss/2017a, intel/2017a 1.2.2 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b 1.2.2 -Python-3.6.1 foss/2017a, intel/2017a 1.2.2 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b 1.3.1 -Python-2.7.14 foss/2018a, intel/2018a 1.3.1 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 1.3.1 -Python-3.6.4 foss/2018a, intel/2018a 1.3.1 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 1.5.1 -Python-3.7.4 GCCcore/8.3.0 1.5.1 -Python-3.8.2 GCCcore/9.3.0 1.5.1 -python GCCcore/10.2.0, GCCcore/8.2.0 1.5.4 -python GCCcore/10.3.0 1.5.5 -python GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#plams","title":"PLAMS","text":"

                    The Python Library for Automating Molecular Simulation (PLAMS) is powerful and flexible Python tool interfaced to the Amsterdam Modeling Suite engines ADF, BAND, DFTB, MOPAC, ReaxFF, and UFF.

                    homepage: https://www.scm.com/product/plams

                    version toolchain 1.5.1 intel/2022a"},{"location":"version-specific/supported-software/#plantcv","title":"plantcv","text":"

                    PlantCV: Plant phenotyping using computer vision.

                    homepage: https://pypi.org/project/plantcv/

                    version versionsuffix toolchain 3.8.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#plascope","title":"PlaScope","text":"

                    Plasmid exploration of bacterial genomes

                    homepage: https://github.com/GuilhemRoyer/PlaScope

                    version toolchain 1.3.1 foss/2018b"},{"location":"version-specific/supported-software/#plasmapy","title":"PlasmaPy","text":"

                    Open source Python ecosystem for plasma research and education

                    homepage: https://www.plasmapy.org

                    version versionsuffix toolchain 0.3.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#plast","title":"PLAST","text":"

                    PLAST is a parallel alignment search tool for comparing large protein banks

                    homepage: http://www.irisa.fr/symbiose/projects/plast/

                    version versionsuffix toolchain 2.3.1 -Java-1.8.0_92 foss/2016a"},{"location":"version-specific/supported-software/#platanus","title":"Platanus","text":"

                    PLATform for Assembling NUcleotide Sequences

                    homepage: http://platanus.bio.titech.ac.jp/

                    version versionsuffix toolchain 1.2.1 -linux-x86_64 system 1.2.4 foss/2017a"},{"location":"version-specific/supported-software/#platypus","title":"Platypus","text":"

                    Platypus is a tool designed for efficient and accurate variant-detection in high-throughput sequencing data.

                    homepage: http://www.well.ox.ac.uk/platypus

                    version versionsuffix toolchain 0.8.1 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#plc","title":"plc","text":"

                    plc is the public Planck Likelihood Code. It provides C and Fortran libraries that allow users to compute the log likelihoods of the temperature, polarization, and lensing maps. Optionally, it also provides a python version of this library, as well as tools to modify the predetermined options for some likelihoods (e.g. changing the high-ell and low-ell lmin and lmax values of the temperature).

                    homepage: http://pla.esac.esa.int/pla/#home

                    version versionsuffix toolchain 3.0.1 -Python-2.7.15 foss/2019a, intel/2018b 3.0.1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#plink","title":"PLINK","text":"

                    PLINK is a free, open-source whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner.

                    homepage: https://www.cog-genomics.org/plink/2.0/

                    version toolchain 1.07 foss/2016a, foss/2016b 1.07-x86_64 system 1.9b5 golf/2020a 1.9b_4.1-x86_64 system 1.9b_6.17-x86_64 system 1.9b_6.21-x86_64 system 2.00-alpha1-x86_64 system 2.00-alpha2-x86_64 system 2.00-alpha2-x86_64_avx2 system 2.00a2.3 GCC/10.3.0, GCC/11.2.0 2.00a2.3_x86_64 system 2.00a3.1 GCC/11.2.0 2.00a3.6 GCC/11.3.0 2.00a3.7 foss/2022a"},{"location":"version-specific/supported-software/#plinkliftover","title":"plinkliftover","text":"

                    PLINKLiftOver is a utility enabling liftOver to work on genomics files from PLINK, allowing one to update the coordinates from one genome reference version to another.

                    homepage: https://github.com/milescsmith/plinkliftover

                    version toolchain 0.3.0 foss/2022b"},{"location":"version-specific/supported-software/#plinkqc","title":"plinkQC","text":"

                    plinkQC is a R/CRAN package for genotype quality control in genetic association studies. It makes PLINK basic statistics (e.g.missing genotyping rates per individual, allele frequencies per genetic marker) and relationship functions easily accessible from within R and allows for automatic evaluation of the results.

                    homepage: https://meyer-lab-cshl.github.io/plinkQC/

                    version versionsuffix toolchain 0.3.3 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#plinkseq","title":"PLINKSEQ","text":"

                    PLINK/SEQ is an open-source C/C++ library for working with human genetic variation data. The specific focus is to provide a platform for analytic tool development for variation data from large-scale resequencing and genotyping projects, particularly whole-exome and whole-genome studies. It is independent of (but designed to be complementary to) the existing PLINK package.

                    homepage: https://atgu.mgh.harvard.edu/plinkseq/

                    version toolchain 0.10 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#plot1cell","title":"plot1cell","text":"

                    plot1cell: a package for advanced single cell data visualization

                    homepage: https://github.com/HaojiaWu/plot1cell

                    version versionsuffix toolchain 0.0.1 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#ploticus","title":"Ploticus","text":"

                    Ploticus is a free GPL software utility that can produce various types of plots and graphs

                    homepage: http://ploticus.sourceforge.net/doc/welcome.html

                    version toolchain 2.42 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#plotly","title":"plotly","text":"

                    Easily translate 'ggplot2' graphs to an interactive web-based version and/or create custom web-based visualizations directly from R.

                    homepage: https://cran.r-project.org/web/packages/plotly

                    version versionsuffix toolchain 4.7.1 -R-3.4.0 intel/2017a 4.8.0 -R-3.4.4 intel/2018a"},{"location":"version-specific/supported-software/#plotly-orca","title":"plotly-orca","text":"

                    Orca is an Electron app that generates images and reports of Plotly things like plotly.js graphs, dash apps, dashboards from the command line.

                    homepage: https://github.com/plotly/orca

                    version toolchain 1.3.0 GCCcore/8.3.0 1.3.1 GCCcore/10.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#plotlypy","title":"plotly.py","text":"

                    An open-source, interactive graphing library for Python

                    homepage: https://plot.ly/python

                    version toolchain 4.1.0 intel/2019a 4.4.1 intel/2019b 4.8.1 GCCcore/9.3.0 4.14.3 GCCcore/10.2.0, GCCcore/10.3.0 5.1.0 GCCcore/10.3.0 5.4.0 GCCcore/11.2.0 5.12.0 GCCcore/11.3.0 5.13.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#plplot","title":"PLplot","text":"

                    PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer.

                    homepage: http://plplot.sourceforge.net

                    version versionsuffix toolchain 5.11.1 -Java-1.7.0_80-Python-2.7.11 foss/2016a 5.11.1 -Java-1.7.0_80-Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#plumed","title":"PLUMED","text":"

                    PLUMED is an open source library for free energy calculations in molecular systems which works together with some of the most popular molecular dynamics engines. Free energy calculations can be performed as a function of many order parameters with a particular focus on biological problems, using state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. The software, written in C++, can be easily interfaced with both fortran and C/C++ codes.

                    homepage: https://www.plumed.org

                    version versionsuffix toolchain 2.2.2 intel/2016a 2.2.3 foss/2016b, intel/2016b 2.3.0 foss/2016b, foss/2017a, intel/2016b 2.3.4 intel/2017b 2.4.0 foss/2018a, intel/2017b, intel/2018a 2.4.0 -PathCV intel/2018a 2.4.1 iomkl/2018a 2.4.2 foss/2018b, intel/2018b 2.5.0 intel/2018b 2.5.0 -Python-2.7.15 foss/2018b, fosscuda/2018b 2.5.1 foss/2019a, intel/2018b 2.5.1 -PathCV intel/2018b 2.5.2 -Python-3.7.2 intel/2019a 2.5.3 -Python-3.7.4 foss/2019b, intel/2019b 2.5.4 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.5b -Python-2.7.14 intel/2018a 2.6.0 -Python-3.8.2 foss/2020a, intel/2020a 2.6.2 foss/2020b, intel/2020b 2.7.0 foss/2020b 2.7.2 foss/2021a, intel/2021a 2.7.3 foss/2021b 2.8.0 foss/2021b 2.8.1 foss/2022a"},{"location":"version-specific/supported-software/#ply","title":"PLY","text":"

                    PLY is yet another implementation of lex and yacc for Python.

                    homepage: http://www.dabeaz.com/ply/

                    version versionsuffix toolchain 3.11 -Python-3.6.4 foss/2018a 3.11 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#pmix","title":"PMIx","text":"

                    Process Management for Exascale Environments PMI Exascale (PMIx) represents an attempt to provide an extended version of the PMI standard specifically designed to support clusters up to and including exascale sizes. The overall objective of the project is not to branch the existing pseudo-standard definitions - in fact, PMIx fully supports both of the existing PMI-1 and PMI-2 APIs - but rather to (a) augment and extend those APIs to eliminate some current restrictions that impact scalability, and (b) provide a reference implementation of the PMI-server that demonstrates the desired level of scalability.

                    homepage: https://pmix.org/

                    version toolchain 1.2.5 GCCcore/6.4.0 2.1.3 GCCcore/7.2.0, GCCcore/7.3.0 2.2.1 GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0 2.2.3 GCCcore/7.2.0, GCCcore/7.3.0 3.0.1 GCCcore/6.4.0, GCCcore/7.3.0 3.0.2 GCCcore/8.2.0, GCCcore/8.3.0 3.1.1 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0 3.1.4 GCCcore/8.3.0 3.1.5 GCCcore/10.2.0, GCCcore/9.3.0 3.2.3 GCCcore/10.3.0 4.1.0 GCCcore/11.2.0 4.1.2 GCCcore/11.3.0 4.2.2 GCCcore/12.2.0 4.2.4 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pmt","title":"pmt","text":"

                    PMT is a high-level software library capable of collecting power consumption measurements on various hardware.

                    homepage: https://git.astron.nl/RD/pmt

                    version toolchain 1.1.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pmx","title":"pmx","text":"

                    pmx (formerly pymacs) is a small bunch of classes to read structure files such as pdb or gro and trajectory data in gromacs xtc format. Over the years it has been extended towards a versatile (bio-) molecular structure manipulation package with some additional functionalities, e.g. gromacs file parsers and scripts for setup and analysis of free energy calculations.

                    homepage: https://github.com/deGrootLab/pmx

                    version versionsuffix toolchain 2.0 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#pnetcdf","title":"PnetCDF","text":"

                    Parallel netCDF: A Parallel I/O Library for NetCDF File Access

                    homepage: https://trac.mcs.anl.gov/projects/parallel-netcdf

                    version toolchain 1.8.1 intel/2017a 1.9.0 intel/2018a 1.10.0 foss/2018b, intel/2018b 1.12.1 gompi/2019b, gompi/2020a, gompic/2019b, gompic/2020a, iimpi/2020a 1.12.2 gompi/2020b, gompi/2021a, gompic/2020b, iimpi/2021a 1.12.3 gompi/2021b, gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#pocl","title":"pocl","text":"

                    Pocl is a portable open source (MIT-licensed) implementation of the OpenCL standard

                    homepage: http://portablecl.org

                    version toolchain 1.2 GCC/7.3.0-2.30 1.3 GCC/8.2.0-2.31.1, gcccuda/2019a 1.4 GCC/8.3.0, gcccuda/2019b 1.5 GCC/9.3.0 1.6 GCC/10.2.0, gcccuda/2020b, iccifort/2020.4.304 1.8 GCC/10.3.0, GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#pod5-file-format","title":"pod5-file-format","text":"

                    POD5 is a file format for storing nanopore dna data in an easily accessible way. The format is able to be written in a streaming manner which allows a sequencing instrument to directly write the format.

                    homepage: https://github.com/nanoporetech/pod5-file-format

                    version toolchain 0.1.8 foss/2022a"},{"location":"version-specific/supported-software/#poetry","title":"poetry","text":"

                    Python packaging and dependency management made easy. Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere.

                    homepage: https://python-poetry.org

                    version versionsuffix toolchain 1.0.9 -Python-3.8.2 GCCcore/9.3.0 1.2.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#polars","title":"polars","text":"

                    Lightning-fast DataFrame library for Rust and Python.

                    homepage: https://pola.rs/

                    version toolchain 0.15.6 foss/2022a"},{"location":"version-specific/supported-software/#polymake","title":"polymake","text":"

                    polymake is open source software for research in polyhedral geometry. It deals with polytopes, polyhedra and fans as well as simplicial complexes, matroids, graphs, tropical hypersurfaces, and other objects.

                    homepage: https://polymake.org

                    version toolchain 4.0r1 foss/2019b 4.8 foss/2021b, gfbf/2022a"},{"location":"version-specific/supported-software/#pomkl","title":"pomkl","text":"

                    Toolchain with PGI C, C++ and Fortran compilers, alongside Intel MKL & OpenMPI.

                    homepage: http://www.pgroup.com/index.htm

                    version toolchain 2016.03 system 2016.04 system 2016.09 system"},{"location":"version-specific/supported-software/#pompi","title":"pompi","text":"

                    Toolchain with PGI C, C++ and Fortran compilers, alongside OpenMPI.

                    homepage: http://www.pgroup.com/index.htm

                    version toolchain 2016.03 system 2016.04 system 2016.09 system"},{"location":"version-specific/supported-software/#poppler","title":"poppler","text":"

                    Poppler is a PDF rendering library

                    homepage: https://poppler.freedesktop.org

                    version toolchain 0.70.1 foss/2018b 0.90.1 GCCcore/8.3.0 21.06.1 GCC/10.2.0, GCC/10.3.0 22.01.0 GCC/11.2.0 22.12.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#popscle","title":"popscle","text":"

                    A suite of population scale analysis tools for single-cell genomics data including implementation of Demuxlet / Freemuxlet methods and auxilary tools

                    homepage: https://github.com/statgen/popscle

                    version toolchain 0.1-beta foss/2019b 0.1-beta-20210505 GCC/11.3.0"},{"location":"version-specific/supported-software/#popt","title":"popt","text":"

                    Popt is a C library for parsing command line parameters.

                    homepage: http://freecode.com/projects/popt

                    version toolchain 1.14 GCC/4.8.2 1.16 GCC/10.2.0, GCC/4.9.2, system"},{"location":"version-specific/supported-software/#porechop","title":"Porechop","text":"

                    Porechop is a tool for finding and removing adapters from Oxford Nanopore reads. Adapters on the ends of reads are trimmed off, and when a read has an adapter in its middle, it is treated as chimeric and chopped into separate reads. Porechop performs thorough alignments to effectively find adapters, even at low sequence identity

                    homepage: https://github.com/rrwick/Porechop

                    version versionsuffix toolchain 0.2.3 -Python-3.5.2 foss/2016b 0.2.4 GCCcore/10.3.0, GCCcore/11.2.0 0.2.4 -Python-3.6.6 foss/2018b 0.2.4 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#porefoam","title":"porefoam","text":"

                    Direct pore-scale simulation of single- and two-phase flow through confined media

                    homepage: https://github.com/ImperialCollegeLondon/porefoam

                    version toolchain 2021-09-21 foss/2020a"},{"location":"version-specific/supported-software/#poretools","title":"poretools","text":"

                    A toolkit for working with nanopore sequencing data from Oxford Nanopore.

                    homepage: https://poretools.readthedocs.io/en/latest/

                    version versionsuffix toolchain 0.6.0 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#portcullis","title":"Portcullis","text":"

                    Portcullis stands for PORTable CULLing of Invalid Splice junctions from pre-aligned RNA-seq data. It is known that RNAseq mapping tools generate many invalid junction predictions, particularly in deep datasets with high coverage over splice sites. In order to address this, instead for creating a new RNAseq mapper, with a focus on SJ accuracy we created a tool that takes in a BAM file generated by an RNAseq mapper of the user's own choice (e.g. Tophat2, Gsnap, STAR2 or HISAT2) as input (i.e. it's portable). It then, analyses and quantifies all splice junctions in the file before, filtering (culling) those which are unlikely to be genuine. Portcullis output's junctions in a variety of formats making it suitable for downstream analysis (such as differential splicing analysis and gene modelling) without additional work. Portcullis can also filter the original BAM file removing alignments associated with bad junctions.

                    homepage: https://github.com/maplesond/portcullis

                    version versionsuffix toolchain 1.2.2 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#postgres-xl","title":"Postgres-XL","text":"

                    Postgres-XL is a horizontally scalable open source SQL database cluster, flexible enough to handle varying database workloads:

                    homepage: http://www.postgres-xl.org

                    version versionsuffix toolchain 9.5r1 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#postgresql","title":"PostgreSQL","text":"

                    PostgreSQL is a powerful, open source object-relational database system. It is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures (in multiple languages). It includes most SQL:2008 data types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. It also supports storage of binary large objects, including pictures, sounds, or video. It has native programming interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, among others, and exceptional documentation.

                    homepage: https://www.postgresql.org/

                    version versionsuffix toolchain 9.4.7 -Python-2.7.11 intel/2016a 9.5.2 -Python-2.7.11 intel/2016a 9.6.0 -Python-2.7.12 intel/2016b 9.6.2 -Python-2.7.12 foss/2016b, intel/2016b 10.2 -Python-2.7.14 intel/2018a 10.3 foss/2018b 10.3 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 11.3 -Python-2.7.15 GCCcore/8.2.0 11.3 -Python-3.7.2 GCCcore/8.2.0 12.4 GCCcore/9.3.0 13.2 GCCcore/10.2.0 13.3 GCCcore/10.3.0 13.4 GCCcore/11.2.0 14.4 GCCcore/11.3.0 15.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pot","title":"POT","text":"

                    POT (Python Optimal Transport) is a Python library provide several solvers for optimization problems related to Optimal Transport for signal, image processing and machine learning.

                    homepage: https://github.com/rflamary/POT

                    version versionsuffix toolchain 0.5.1 -Python-3.6.6 intel/2018b 0.9.0 foss/2022a"},{"location":"version-specific/supported-software/#pov-ray","title":"POV-Ray","text":"

                    The Persistence of Vision Raytracer, or POV-Ray, is a ray tracing program which generates images from a text-based scene description, and is available for a variety of computer platforms. POV-Ray is a high-quality, Free Software tool for creating stunning three-dimensional graphics. The source code is available for those wanting to do their own ports.

                    homepage: https://www.povray.org/

                    version toolchain 3.7.0.0 intel/2016b 3.7.0.7 foss/2017b, foss/2018b, intel/2017b, intel/2018a, intel/2018b 3.7.0.8 GCC/10.2.0, iccifort/2020.4.304 3.7.0.10 GCC/11.3.0"},{"location":"version-specific/supported-software/#powerlaw","title":"powerlaw","text":"

                    powerlaw: A Python Package for Analysis of Heavy-Tailed Distributions

                    homepage: http://www.github.com/jeffalstott/powerlaw

                    version toolchain 1.5 foss/2022a"},{"location":"version-specific/supported-software/#pp-sketchlib","title":"pp-sketchlib","text":"

                    Library of sketching functions used by PopPUNK

                    homepage: https://github.com/bacpop/pp-sketchlib

                    version toolchain 2.1.1 foss/2022a"},{"location":"version-specific/supported-software/#ppanggolin","title":"PPanGGOLiN","text":"

                    PPanGGOLiN is a software suite used to create and manipulate prokaryotic pangenomes from a set of either genomic DNA sequences or provided genome annotations. It is designed to scale up to tens of thousands of genomes. It has the specificity to partition the pangenome using a statistical approach rather than using fixed thresholds which gives it the ability to work with low-quality data such as Metagenomic Assembled Genomes (MAGs) or Single-cell Amplified Genomes (SAGs) thus taking advantage of large scale environmental studies and letting users study the pangenome of uncultivable species.

                    homepage: https://github.com/labgem/PPanGGOLiN

                    version toolchain 1.1.136 foss/2021b"},{"location":"version-specific/supported-software/#ppfold","title":"PPfold","text":"

                    PPfold is a new implementation of pfold, written in Java 6.0. It can predict the consensus secondary structure of RNA alignments through a stochastic context-free grammar coupled to an evolutionary model. It can also use data from chemical probing experiments to predict RNA secondary structure. PPfold is multithreaded, and can solve the structure of much longer alignments than pfold.

                    homepage: version versionsuffix toolchain 3.1.1 -Java-1.8.0_66 system"},{"location":"version-specific/supported-software/#ppl","title":"ppl","text":"

                    The Parma Polyhedra Library (PPL) provides numerical abstractions especially targeted at applications in the field of analysis and verification of complex systems.

                    homepage: https://www.bugseng.com/parma-polyhedra-library

                    version toolchain 1.2 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#pplacer","title":"pplacer","text":"

                    Pplacer places query sequences on a fixed reference phylogenetic tree to maximize phylogenetic likelihood or posterior probability according to a reference alignment. Pplacer is designed to be fast, to give useful information about uncertainty, and to offer advanced visualization and downstream analysis.

                    homepage: http://matsen.fhcrc.org/pplacer/

                    version toolchain 1.1.alpha19 system"},{"location":"version-specific/supported-software/#pplpy","title":"pplpy","text":"

                    This Python package provides a wrapper to the C++ Parma Polyhedra Library (PPL).

                    homepage: https://pypi.org/project/pplpy/

                    version versionsuffix toolchain 0.8.4 -Python-2.7.14 foss/2017b, intel/2017b 0.8.4 -Python-3.6.3 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#prank","title":"PRANK","text":"

                    PRANK is a probabilistic multiple alignment program for DNA, codon and amino-acid sequences. PRANK is based on a novel algorithm that treats insertions correctly and avoids over-estimation of the number of deletion events.

                    homepage: http://wasabiapp.org/software/prank/

                    version toolchain 170427 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/9.3.0, intel/2018a"},{"location":"version-specific/supported-software/#prc","title":"PRC","text":"

                    PRC is a stand-alone program for aligning and scoring two profile hidden Markov models. This can be used to detect remote relationships between profiles more effectively than by doing simple profile-sequence comparisons. PRC takes into account all transition and emission probabilities in both hidden Markov models.

                    homepage:

                    version toolchain 1.5.6 intel/2018a"},{"location":"version-specific/supported-software/#precice","title":"preCICE","text":"

                    preCICE (Precise Code Interaction Coupling Environment) is a coupling library for partitioned multi-physics simulations, including, but not restricted to fluid-structure interaction and conjugate heat transfer simulations. Partitioned means that preCICE couples existing programs (solvers) capable of simulating a subpart of the complete physics involved in a simulation. This allows for the high flexibility that is needed to keep a decent time-to-solution for complex multi-physics scenarios.

                    homepage: https://www.precice.org/

                    version versionsuffix toolchain 2.1.1 -Python-3.8.2 foss/2020a 2.2.0 -Python-3.8.2 foss/2020a, intel/2020a"},{"location":"version-specific/supported-software/#prequal","title":"PREQUAL","text":"

                    A program to identify and mask regions with non-homologous adjacent characters in FASTA files.

                    homepage: https://github.com/simonwhelan/prequal

                    version toolchain 1.02 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#preseq","title":"preseq","text":"

                    Software for predicting library complexity and genome coverage in high-throughput sequencing.

                    homepage: https://smithlabresearch.org/software/preseq

                    version toolchain 2.0.2 foss/2016b 2.0.3 foss/2018b, intel/2018a 3.1.2 GCC/10.3.0, GCC/11.2.0 3.2.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#presto","title":"presto","text":"

                    Presto performs a fast Wilcoxon rank sum test and auROC analysis.

                    homepage: https://github.com/immunogenomics/presto

                    version versionsuffix toolchain 1.0.0-20200718 -R-4.1.2 foss/2021b 1.0.0-20230113 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#pretty-yaml","title":"pretty-yaml","text":"

                    PyYAML-based python module to produce pretty and readable YAML-serialized data. This module is for serialization only, see ruamel.yaml module for literate YAML parsing (keeping track of comments, spacing, line/column numbers of values, etc).

                    homepage: https://github.com/mk-fg/pretty-yaml

                    version toolchain 19.12.0 GCCcore/8.3.0 20.4.0 GCCcore/9.3.0 21.10.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#primer3","title":"Primer3","text":"

                    Primer3 is a widely used program for designing PCR primers (PCR = 'Polymerase Chain Reaction'). PCR is an essential and ubiquitous tool in genetics and molecular biology. Primer3 can also design hybridization probes and sequencing primers.

                    homepage: https://primer3.org/

                    version toolchain 2.3.7 intel/2017b 2.4.0 iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 2.5.0 GCC/9.3.0"},{"location":"version-specific/supported-software/#prinseq","title":"PRINSEQ","text":"

                    A bioinformatics tool to PRe-process and show INformation of SEQuence data.

                    homepage: http://prinseq.sourceforge.net

                    version versionsuffix toolchain 0.20.4 -Perl-5.28.0 foss/2018b 0.20.4 -Perl-5.32.0 foss/2020b 0.20.4 -Perl-5.34.0 foss/2021b"},{"location":"version-specific/supported-software/#printproto","title":"printproto","text":"

                    X.org PrintProto protocol headers.

                    homepage: http://xorg.freedesktop.org/

                    version toolchain 1.0.5 intel/2016a"},{"location":"version-specific/supported-software/#prisms-pf","title":"PRISMS-PF","text":"

                    PRISMS-PF is a powerful, massively parallel finite element code for conducting phase field and other related simulations of microstructural evolution.

                    homepage: https://prisms-center.github.io/phaseField

                    version toolchain 2.1.1 foss/2019a, intel/2019a 2.2 foss/2021a"},{"location":"version-specific/supported-software/#probabel","title":"ProbABEL","text":"

                    Tool for genome-wide association analysis of imputed genetic data.

                    homepage: http://www.genabel.org/packages/ProbABEL

                    version toolchain 0.5.0 GCCcore/9.3.0, system"},{"location":"version-specific/supported-software/#prodigal","title":"prodigal","text":"

                    Prodigal (Prokaryotic Dynamic Programming Genefinding Algorithm) is a microbial (bacterial and archaeal) gene finding program developed at Oak Ridge National Laboratory and the University of Tennessee.

                    homepage: https://github.com/hyattpd/Prodigal/

                    version toolchain 2.6.2 GCC/4.9.3-binutils-2.25 2.6.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#profit","title":"ProFit","text":"

                    ProFit (pronounced Pro-Fit, not profit!) is designed to be the ultimate program for performing least squares fits of two or more protein structures. It performs a very simple and basic function, but allows as much flexibility as possible in performing this procedure. Thus one can specify subsets of atoms to be considered, specify zones to be fitted by number, sequence, or by sequence alignment.

                    homepage: http://www.bioinf.org.uk/software/profit

                    version toolchain 3.3 GCC/10.3.0"},{"location":"version-specific/supported-software/#proj","title":"PROJ","text":"

                    Program proj is a standard Unix filter function which converts geographic longitude and latitude coordinates into cartesian coordinates

                    homepage: https://proj.org

                    version toolchain 4.9.2 foss/2016a, foss/2016b, intel/2016a, intel/2016b 4.9.3 foss/2016b, foss/2017b, intel/2016b, intel/2017a, intel/2017b 5.0.0 foss/2018a, foss/2018b, intel/2018a, intel/2018b, iomkl/2018a 6.0.0 GCCcore/8.2.0 6.2.1 GCCcore/8.3.0 7.0.0 GCCcore/9.3.0 7.2.1 GCCcore/10.2.0 8.0.1 GCCcore/10.3.0 8.1.0 GCCcore/11.2.0 9.0.0 GCCcore/11.3.0 9.1.1 GCCcore/12.2.0 9.2.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#projectq","title":"ProjectQ","text":"

                    An open source software framework for quantum computing

                    homepage: https://projectq.ch

                    version versionsuffix toolchain 0.4.2 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#prokka","title":"prokka","text":"

                    Prokka is a software tool for the rapid annotation of prokaryotic genomes.

                    homepage: https://www.vicbioinformatics.com/software.prokka.shtml

                    version versionsuffix toolchain 1.11 -BioPerl-1.7.0 foss/2016b 1.13 -BioPerl-1.7.2 intel/2018a 1.13.4 foss/2018b 1.13.7 gompi/2019a 1.14.5 gompi/2019a, gompi/2019b, gompi/2020b, gompi/2021a, gompi/2021b, gompi/2022a"},{"location":"version-specific/supported-software/#prompt-toolkit","title":"prompt-toolkit","text":"

                    prompt_toolkit is a Python library for building powerful interactive command lines and terminal applications.

                    homepage: https://github.com/jonathanslenders/python-prompt-toolkit

                    version versionsuffix toolchain 1.0.3 -Python-2.7.11 foss/2016a 1.0.3 -Python-3.5.1 foss/2016a 1.0.6 -Python-2.7.12 foss/2016b, intel/2016b 1.0.6 -Python-3.5.2 intel/2016b 1.0.13 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#proovread","title":"proovread","text":"

                    PacBio hybrid error correction through iterative short read consensus

                    homepage: https://github.com/BioInf-Wuerzburg/proovread

                    version toolchain 2.14.1 intel/2017b"},{"location":"version-specific/supported-software/#propy","title":"propy","text":"

                    Propy is a protein description software. It allows analyzing sequence-derived structural and physicochemical features, which are very useful in representing and distinguishing proteins or peptides of different structural, functional and interaction properties. These have been widely used in developing methods and software for predicting protein structural and functional classes, protein-protein interactions, drug-target interactions, protein substrates, among others.

                    homepage: https://code.google.com/archive/p/protpy

                    version versionsuffix toolchain 1.0 -Python-2.7.13 foss/2017a"},{"location":"version-specific/supported-software/#proteinortho","title":"Proteinortho","text":"

                    Proteinortho is a tool to detect orthologous genes within different species.

                    homepage: https://www.bioinf.uni-leipzig.de/Software/proteinortho

                    version versionsuffix toolchain 5.16b -Python-3.6.4-Perl-5.26.1 foss/2018a 6.2.3 gompi/2021b"},{"location":"version-specific/supported-software/#prothint","title":"ProtHint","text":"

                    ProtHint is a pipeline for predicting and scoring hints (in the form of introns, start and stop codons) in the genome of interest by mapping and spliced aligning predicted genes to a database of reference protein sequences.

                    homepage: https://github.com/gatech-genemark/ProtHint

                    version versionsuffix toolchain 2.4.0 -Python-3.7.2 iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.4.0 -Python-3.7.4 iccifort/2019.5.281"},{"location":"version-specific/supported-software/#protobuf","title":"protobuf","text":"

                    Google Protocol Buffers

                    homepage: https://github.com/google/protobuf/

                    version toolchain 2.5.0 GCCcore/10.2.0, GCCcore/7.3.0, GCCcore/8.3.0, system 2.6.1 system 3.0.2 foss/2016a 3.2.0 foss/2016b, intel/2016b 3.3.0 foss/2016b, intel/2017a 3.4.0 GCCcore/6.4.0, intel/2017a, intel/2017b 3.5.1 intel/2017b 3.6.0 GCCcore/7.3.0 3.6.1 GCCcore/7.3.0 3.6.1.2 GCCcore/8.2.0 3.7.1 GCCcore/8.2.0, GCCcore/8.3.0 3.10.0 GCCcore/8.3.0, GCCcore/9.3.0 3.13.0 GCCcore/9.3.0 3.14.0 GCCcore/10.2.0 3.17.3 GCCcore/10.3.0, GCCcore/11.2.0 3.19.4 GCCcore/11.3.0 3.21.9 GCCcore/10.3.0 23.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#protobuf-python","title":"protobuf-python","text":"

                    Python Protocol Buffers runtime library.

                    homepage: https://github.com/google/protobuf/

                    version versionsuffix toolchain 3.0.2 -Python-2.7.11 foss/2016a 3.0.2 -Python-3.5.1 foss/2016a 3.2.0 -Python-2.7.12 foss/2016b, intel/2016b 3.2.0 -Python-3.5.2 foss/2016b, intel/2016b 3.3.0 -Python-2.7.13 intel/2017a 3.3.0 -Python-3.5.2 foss/2016b 3.3.0 -Python-3.6.1 intel/2017a 3.4.0 -Python-2.7.13 intel/2017a 3.4.0 -Python-2.7.14 intel/2017b 3.4.0 -Python-3.6.1 intel/2017a 3.4.0 -Python-3.6.3 intel/2017b 3.6.0 -Python-2.7.15 fosscuda/2018b 3.6.0 -Python-3.6.6 foss/2018b, fosscuda/2018b 3.10.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 3.13.0 -Python-3.8.2 foss/2020a, fosscuda/2020a 3.14.0 GCCcore/10.2.0 3.17.3 GCCcore/10.3.0, GCCcore/11.2.0 3.19.4 GCCcore/11.3.0 4.23.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#protozero","title":"protozero","text":"

                    Minimalistic protocol buffer decoder and encoder in C++.

                    homepage: https://github.com/mapbox/protozero

                    version toolchain 1.6.8 GCCcore/7.3.0 1.7.0 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#prsice","title":"PRSice","text":"

                    PRSice (pronounced 'precise') is a Polygenic Risk Score software for calculating, applying, evaluating and plotting the results of polygenic risk scores (PRS) analyses.

                    homepage: https://www.prsice.info/

                    version toolchain 2.2.12 GCCcore/8.3.0 2.3.1 GCCcore/9.3.0 2.3.3 GCCcore/10.3.0, GCCcore/9.3.0 2.3.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pscom","title":"pscom","text":"

                    ParaStation is a robust and efficient cluster middleware, consisting of a high-performance communication layer (MPI) and a sophisticated management layer.

                    homepage: http://www.par-tec.com

                    version toolchain 5.0.43 GCC/4.8.2 5.0.44-1 GCC/4.9.2 5.0.48-1 system"},{"location":"version-specific/supported-software/#psi","title":"PSI","text":"

                    PSI4 is an open-source suite of ab initio quantum chemistry programs designed for efficient, high-accuracy simulations of a variety of molecular properties. We can routinely perform computations with more than 2500 basis functions running serially or in parallel.

                    homepage: http://www.psicode.org/

                    version versionsuffix toolchain 4.0b6-20160201 -mt-Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#psi4","title":"PSI4","text":"

                    PSI4 is an open-source suite of ab initio quantum chemistry programs designed for efficient, high-accuracy simulations of a variety of molecular properties. We can routinely perform computations with more than 2500 basis functions running serially or in parallel.

                    homepage: https://www.psicode.org/

                    version versionsuffix toolchain 1.0 -Python-2.7.11 intel/2016a 1.0 -mt-Python-2.7.11 intel/2016a 1.2.1 -Python-2.7.15 intel/2018b 1.2.1 -Python-2.7.15-maxam8 intel/2018b 1.3.1 -Python-3.7.2 foss/2019a 1.3.2 -Python-3.7.4 intel/2019b 1.7 foss/2021b"},{"location":"version-specific/supported-software/#psiclass","title":"PsiCLASS","text":"

                    PsiCLASS is a reference-based transcriptome assembler for single or multiple RNA-seq samples.

                    homepage: https://github.com/splicebox/PsiCLASS

                    version toolchain 1.0.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#psipred","title":"PSIPRED","text":"

                    Accurate protein secondary structure prediction

                    homepage: http://bioinf.cs.ucl.ac.uk

                    version toolchain 4.02 GCC/8.3.0"},{"location":"version-specific/supported-software/#psmc","title":"psmc","text":"

                    This software package infers population size history from a diploid sequence using the Pairwise Sequentially Markovian Coalescent (PSMC) model.

                    homepage: https://github.com/lh3/psmc

                    version toolchain 0.6.5 foss/2016a, foss/2018a"},{"location":"version-specific/supported-software/#psmpi","title":"psmpi","text":"

                    ParaStation MPI is an open source high-performance MPI 3.0 implementation, based on MPICH v3. It provides extra low level communication libraries and integration with various batch systems for tighter process control.

                    homepage: https://github.com/ParaStation/psmpi2

                    version versionsuffix toolchain 5.1.0-1 GCC/4.9.2 5.1.5-1 GCC/4.9.3 5.1.5-1 -mt GCC/4.9.3"},{"location":"version-specific/supported-software/#psmpi2","title":"psmpi2","text":"

                    ParaStation is a robust and efficient cluster middleware, consisting of a high-performance communication layer (MPI) and a sophisticated management layer.

                    homepage: http://www.par-tec.com

                    version versionsuffix toolchain 5.0.29 GCC/4.8.2 5.0.29 -mt GCC/4.8.2"},{"location":"version-specific/supported-software/#psolver","title":"PSolver","text":"

                    Interpolating scaling function Poisson Solver Library

                    homepage: http://bigdft.org/devel-doc/d1/d81/group__PSOLVER.html

                    version toolchain 1.7.6 foss/2017b, foss/2018a, foss/2018b, intel/2017b, intel/2018a, intel/2018b 1.8.3 foss/2020b, foss/2021a, foss/2021b, intel/2020b, intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#psortb","title":"PSORTb","text":"

                    PSORTb v3.0.4 is the most precise bacterial localization prediction tool available.

                    homepage: http://psort.org/psortb/index.html

                    version versionsuffix toolchain 3.0.4 -Perl-5.22.1 foss/2016a"},{"location":"version-specific/supported-software/#psrecord","title":"psrecord","text":"

                    psrecord is a small utility that uses the psutil library to record the CPU and memory activity of a process.

                    homepage: https://github.com/astrofrog/psrecord

                    version versionsuffix toolchain 1.1 -Python-2.7.14 intel/2018a 1.1 -Python-2.7.15 intel/2018b 1.1 -Python-3.6.4 intel/2018a 1.1 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#pstoedit","title":"pstoedit","text":"

                    pstoedit translates PostScript and PDF graphics into other vector formats

                    homepage: http://pstoedit.net/

                    version toolchain 3.70 GCCcore/6.3.0, GCCcore/6.4.0"},{"location":"version-specific/supported-software/#psutil","title":"psutil","text":"

                    A cross-platform process and system utilities module for Python

                    homepage: https://github.com/giampaolo/psutil

                    version versionsuffix toolchain 4.2.0 -Python-2.7.11 intel/2016a 4.3.0 -Python-2.7.11 foss/2016a, intel/2016a 5.4.3 -Python-2.7.14 intel/2017b 5.4.7 -Python-2.7.15 foss/2018b 5.4.7 -Python-3.6.6 foss/2018b 5.6.1 -Python-2.7.15 fosscuda/2018b 5.6.3 GCCcore/8.2.0 5.9.3 GCCcore/10.2.0, GCCcore/11.3.0 5.9.4 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#psycopg2","title":"psycopg2","text":"

                    Psycopg is the most popular PostgreSQL adapter for the Python programming language.

                    homepage: https://psycopg.org/

                    version versionsuffix toolchain 2.7 -Python-2.7.12 foss/2016b, intel/2016b 2.8.3 -Python-3.7.2 foss/2019a 2.8.6 -Python-3.8.2 GCCcore/9.3.0 2.9.5 GCCcore/11.2.0 2.9.6 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#ptemcee","title":"ptemcee","text":"

                    ptemcee, pronounced \"tem-cee\", is fork of Daniel Foreman-Mackey's wonderful emcee to implement parallel tempering more robustly. If you're trying to characterise awkward, multi-model probability distributions, then ptemcee is your friend.

                    homepage: https://github.com/willvousden/ptemcee

                    version toolchain 1.0.0 foss/2019a"},{"location":"version-specific/supported-software/#ptesfinder","title":"PTESFinder","text":"

                    Post-Transcriptional Exon Shuffling (PTES) Identification Pipeline

                    homepage: https://sourceforge.net/projects/ptesfinder-v1/

                    version toolchain 1 intel/2017b"},{"location":"version-specific/supported-software/#pubtcrs","title":"pubtcrs","text":"

                    This repository contains C++ source code for the TCR clustering and correlation analyses described in the manuscript \"Human T cell receptor occurrence patterns encode immune history, genetic background, and receptor specificity\" by William S DeWitt III, Anajane Smith, Gary Schoch, John A Hansen, Frederick A Matsen IV and Philip Bradley, available on bioRxiv.

                    homepage: https://github.com/phbradley/pubtcrs

                    version toolchain 20180622 intel/2019a"},{"location":"version-specific/supported-software/#pugixml","title":"pugixml","text":"

                    pugixml is a light-weight C++ XML processing library

                    homepage: https://pugixml.org/

                    version toolchain 1.11.4 GCCcore/10.3.0 1.12.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pullseq","title":"pullseq","text":"

                    Utility program for extracting sequences from a fasta/fastq file

                    homepage: https://github.com/bcthomas/pullseq

                    version toolchain 1.0.2 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/7.3.0"},{"location":"version-specific/supported-software/#pulp","title":"PuLP","text":"

                    PuLP is an LP modeler written in Python. PuLP can generate MPS or LP files and call GLPK, COIN-OR CLP/CBC, CPLEX, GUROBI, MOSEK, XPRESS, CHOCO, MIPCL, SCIP to solve linear problems.

                    homepage: https://github.com/coin-or/pulp

                    version toolchain 2.5.1 foss/2021a"},{"location":"version-specific/supported-software/#purge_dups","title":"purge_dups","text":"

                    purge haplotigs and overlaps in an assembly based on read depth

                    homepage: https://github.com/dfguan/purge_dups

                    version toolchain 1.2.5 foss/2021b"},{"location":"version-specific/supported-software/#py","title":"py","text":"

                    library with cross-python path, ini-parsing, io, code, log facilities

                    homepage: < https://pylib.readthedocs.org/>

                    version versionsuffix toolchain 1.4.31 -Python-2.7.11 foss/2016a 1.4.31 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#py-aiger","title":"py-aiger","text":"

                    A python library for manipulating sequential and combinatorial circuits. This module provides the py-aiger extensions: aiger_bv, aiger_cnf, aiger_ptltl, aiger_coins, aiger_gridworld, aiger_dfa

                    homepage: https://github.com/mvcisback/py-aiger

                    version versionsuffix toolchain 6.1.1 -Python-3.8.2 GCCcore/9.3.0 6.1.14 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#py-aiger-bdd","title":"py-aiger-bdd","text":"

                    Aiger to BDD bridge.

                    homepage: https://github.com/mvcisback/py-aiger-bdd

                    version versionsuffix toolchain 3.0.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#py-cpuinfo","title":"py-cpuinfo","text":"

                    py-cpuinfo gets CPU info with pure Python.

                    homepage: https://github.com/workhorsy/py-cpuinfo

                    version toolchain 5.0.0 system 8.0.0 GCCcore/11.2.0 9.0.0 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#py3dmol","title":"py3Dmol","text":"

                    A simple IPython/Jupyter widget to embed an interactive 3Dmol.js viewer in a notebook.

                    homepage: https://github.com/3dmol/3Dmol.js/tree/master/py3Dmol

                    version toolchain 2.0.1.post1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyabc","title":"pyABC","text":"

                    Massively parallel, distributed and scalable ABC-SMC (Approximate Bayesian Computation - Sequential Monte Carlo) for parameter estimation of complex stochastic models. Implemented in Python with support of the R language.

                    homepage: https://github.com/icb-dcm/pyabc

                    version versionsuffix toolchain 0.10.4 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pyamg","title":"PyAMG","text":"

                    PyAMG is a library of Algebraic Multigrid (AMG) solvers with a convenient Python interface.

                    homepage: https://pyamg.github.io

                    version versionsuffix toolchain 3.0.1 -Python-2.7.11 intel/2016a 4.0.0 foss/2020b, intel/2020b 4.2.3 foss/2021a"},{"location":"version-specific/supported-software/#pyaps3","title":"PyAPS3","text":"

                    Python 3 Atmospheric Phase Screen

                    homepage: https://github.com/AngeliqueBenoit/pyaps3

                    version versionsuffix toolchain 20190407 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#pybedtools","title":"pybedtools","text":"

                    pybedtools wraps and extends BEDTools and offers feature-level manipulations from within Python.

                    homepage: https://daler.github.io/pybedtools

                    version versionsuffix toolchain 0.7.10 -Python-2.7.14 intel/2017b, intel/2018a 0.7.10 -Python-3.6.6 foss/2018b 0.8.0 foss/2019a, intel/2019a 0.8.1 foss/2019b 0.8.2 GCC/10.2.0, GCC/11.2.0, iccifort/2020.4.304 0.8.2 -Python-2.7.18 GCC/10.2.0 0.9.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#pyberny","title":"PyBerny","text":"

                    PyBerny is an optimizer of molecular geometries with respect to the total energy, using nuclear gradient information.

                    homepage: https://github.com/jhrmnn/pyberny

                    version versionsuffix toolchain 0.6.2 -Python-3.8.2 intel/2020a 0.6.3 foss/2022a"},{"location":"version-specific/supported-software/#pybigwig","title":"pyBigWig","text":"

                    A python extension, written in C, for quick access to bigBed files and access to and creation of bigWig files.

                    homepage: https://github.com/deeptools/pyBigWig

                    version versionsuffix toolchain 0.3.13 -Python-3.6.6 foss/2018b 0.3.17 GCCcore/8.2.0, GCCcore/9.3.0 0.3.18 GCCcore/10.2.0, foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pybind11","title":"pybind11","text":"

                    pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code.

                    homepage: https://pybind11.readthedocs.io

                    version versionsuffix toolchain 2.2.4 -Python-3.6.4 foss/2018a 2.2.4 -Python-3.6.6 intel/2018b 2.4.3 -Python-3.7.4 GCCcore/8.3.0 2.4.3 -Python-3.8.2 GCCcore/9.3.0 2.6.0 GCCcore/10.2.0 2.6.2 GCCcore/10.3.0 2.7.1 GCCcore/11.2.0 2.7.1 -Python-2.7.18 GCCcore/11.2.0 2.9.2 GCCcore/11.3.0 2.10.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pybinding","title":"pybinding","text":"

                    Pybinding is a Python package for numerical tight-binding calculations in solid state physics.

                    homepage: https://github.com/dean0x7d/pybinding

                    version toolchain 0.9.5 foss/2022a"},{"location":"version-specific/supported-software/#pybiolib","title":"PyBioLib","text":"

                    PyBioLib is a Python package for running BioLib applications from Python scripts and the command line. BioLib is a library of biological data science applications. Applications on BioLib range from small bioinformatics utilities to state-of-the-art machine learning algorithms for predicting characteristics of biological molecules.

                    homepage: https://biolib.com/

                    version toolchain 1.1.988 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pycairo","title":"PyCairo","text":"

                    Python bindings for the cairo library

                    homepage: https://pycairo.readthedocs.io/

                    version versionsuffix toolchain 1.10.0 -Python-2.7.11 intel/2016a 1.16.1 -Python-3.6.3 foss/2017b 1.16.2 -Python-2.7.14 intel/2017b 1.18.0 -Python-2.7.14 intel/2018a 1.18.0 -Python-2.7.15 foss/2018b 1.18.0 -Python-3.6.6 foss/2018b 1.18.0 -Python-3.7.2 GCCcore/8.2.0 1.18.2 GCCcore/8.3.0, GCCcore/9.3.0 1.20.0 GCCcore/10.2.0 1.20.1 GCCcore/10.3.0, GCCcore/11.2.0 1.21.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pycalib","title":"PyCalib","text":"

                    Python library for classifier calibration

                    homepage: https://github.com/classifier-calibration/PyCalib

                    version toolchain 0.1.0.dev0 foss/2021b 20230531 gfbf/2022b"},{"location":"version-specific/supported-software/#pyccel","title":"pyccel","text":"

                    Python extension language using accelerators

                    homepage: https://github.com/pyccel/pyccel

                    version toolchain 1.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pycharm","title":"PyCharm","text":"

                    PyCharm Community Edition: Python IDE for Professional Developers

                    homepage: https://www.jetbrains.com/pycharm/

                    version toolchain 2017.2.3 system 2019.3.1 system 2021.1.1 system 2022.2.2 system 2022.3.2 system"},{"location":"version-specific/supported-software/#pychemps2","title":"PyCheMPS2","text":"

                    PyCheMPS2 is a python interface to CheMPS2, for compilation without MPI. CheMPS2 is a scientific library which contains a spin-adapted implementation of the density matrix renormalization group (DMRG) for ab initio quantum chemistry.

                    homepage: https://sebwouters.github.io/CheMPS2

                    version toolchain 1.8.12 foss/2022a"},{"location":"version-specific/supported-software/#pychopper","title":"Pychopper","text":"

                    A tool to identify, orient, trim and rescue full length cDNA reads.

                    homepage: https://github.com/nanoporetech/pychopper

                    version versionsuffix toolchain 2.3.1 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#pycifrw","title":"PyCifRW","text":"

                    PyCIFRW provides support for reading and writing CIF (Crystallographic Information Format) files using Python.

                    homepage: https://bitbucket.org/jamesrhester/pycifrw/src/development

                    version toolchain 4.4.2 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#pyclone","title":"PyClone","text":"

                    PyClone is a Python package that wraps rclone and provides a threaded interface for an installation at the host or container level.

                    homepage: https://gitlab.com/ltgiv/pyclone

                    version toolchain 2020.9b2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pycma","title":"pycma","text":"

                    A stochastic numerical optimization algorithm for difficult (non-convex, ill-conditioned, multi-modal, rugged, noisy) optimization problems in continuous search spaces, implemented in Python.

                    homepage: https://github.com/CMA-ES/pycma

                    version toolchain 2.7.0 intel/2019a"},{"location":"version-specific/supported-software/#pycocotools","title":"pycocotools","text":"

                    Official APIs for the MS-COCO dataset

                    homepage: https://pypi.org/project/pycocotools

                    version versionsuffix toolchain 2.0.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.0.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.0.2 -Python-3.8.2 foss/2020a, fosscuda/2020a 2.0.4 foss/2021a 2.0.6 foss/2022a"},{"location":"version-specific/supported-software/#pycodestyle","title":"pycodestyle","text":"

                    pycodestyle is a tool to check your Python code against some of the style conventions in PEP 8.

                    homepage: https://pycodestyle.readthedocs.io

                    version versionsuffix toolchain 2.5.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#pycogent","title":"PyCogent","text":"

                    PyCogent is a software library for genomic biology. It is a fully integrated and thoroughly tested framework for: controlling third-party applications; devising workflows; querying databases; conducting novel probabilistic analyses of biological sequence evolution; and generating publication quality graphics.

                    homepage: http://pycogent.org

                    version versionsuffix toolchain 1.5.3 -Python-2.7.12 intel/2016b 1.9 -Python-2.7.12 foss/2016b, intel/2016b 1.9 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#pycoqc","title":"pycoQC","text":"

                    PycoQC computes metrics and generates interactive QC plots for Oxford Nanopore technologies sequencing data.

                    homepage: https://tleonardi.github.io/pycoQC

                    version toolchain 2.5.2 foss/2021a"},{"location":"version-specific/supported-software/#pycuda","title":"PyCUDA","text":"

                    PyCUDA lets you access Nvidia\u2019s CUDA parallel computation API from Python.

                    homepage: https://mathema.tician.de/software/pycuda

                    version versionsuffix toolchain 2016.1.2 -Python-2.7.12 intel/2016b 2017.1.1 -CUDA-9.0.176-Python-2.7.14 foss/2017b 2017.1.1 -Python-2.7.14 intel/2018a 2018.1 -Python-3.6.4-CUDA-9.1.85 intel/2018a 2019.1.2 -Python-3.7.4 fosscuda/2019b, intelcuda/2019b 2020.1 fosscuda/2020b"},{"location":"version-specific/supported-software/#pycurl","title":"PycURL","text":"

                    PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features.

                    homepage: http://pycurl.io/

                    version versionsuffix toolchain 7.43.0.5 -Python-3.7.4 GCCcore/8.3.0 7.45.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pydamage","title":"PyDamage","text":"

                    Pydamage, is a Python software to automate the process of contig damage identification and estimation. After modelling the ancient DNA damage using the C to T transitions, Pydamage uses a likelihood ratio test to discriminate between truly ancient, and modern contigs originating from sample contamination.

                    homepage: https://github.com/maxibor/pydamage

                    version toolchain 0.70 foss/2021a"},{"location":"version-specific/supported-software/#pydantic","title":"pydantic","text":"

                    Data validation and settings management using Python type hinting.

                    homepage: https://github.com/samuelcolvin/pydantic

                    version versionsuffix toolchain 1.6.1 -Python-3.7.4 GCCcore/8.3.0 1.10.2 GCCcore/11.2.0 1.10.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pydatastream","title":"PyDatastream","text":"

                    Lightweight SOAP client

                    homepage: https://pypi.python.org/pypi/suds-py3

                    version versionsuffix toolchain 0.5.1 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#pydicom","title":"pydicom","text":"

                    Pure python package for DICOM medical file reading and writing.

                    homepage: https://pydicom.github.io/

                    version versionsuffix toolchain 0.9.9 -Python-2.7.11 intel/2016a 1.2.2 GCCcore/8.2.0 1.4.2 GCCcore/8.3.0 2.1.2 GCCcore/10.2.0 2.1.2 -Python-3.8.2 GCCcore/9.3.0 2.2.2 GCCcore/10.3.0, GCCcore/11.2.0 2.3.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pydicom-seg","title":"pydicom-seg","text":"

                    Reading and writing of DICOM-SEG medical image segmentation storage files using pydicom as DICOM serialization/deserialization library.

                    homepage: https://github.com/razorx89/pydicom-seg

                    version toolchain 0.4.1 foss/2022a"},{"location":"version-specific/supported-software/#pydlpoly","title":"pydlpoly","text":"

                    Pydlpoly is a molecular dynamics simulation package which is a modified version of DL-POLY with a Python language interface.

                    homepage: http://cmc.aci.ruhr-uni-bochum.de/cmc/

                    version versionsuffix toolchain 20150225 -Python-2.7.12 intel/2016b 20150225 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#pydot","title":"pydot","text":"

                    Python interface to Graphviz's Dot language.

                    homepage: https://github.com/pydot/pydot

                    version toolchain 1.4.1 GCCcore/9.3.0, foss/2019b 1.4.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyega3","title":"pyEGA3","text":"

                    A basic Python-based EGA download client

                    homepage: https://github.com/EGA-archive/ega-download-client

                    version versionsuffix toolchain 3.0.33 -Python-3.7.2 GCCcore/8.2.0 3.4.0 -Python-3.7.4 GCCcore/8.3.0 3.4.0 -Python-3.8.2 GCCcore/9.3.0 4.0.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#pyenchant","title":"pyenchant","text":"

                    PyEnchant is a spellchecking library for Python, based on the excellent Enchant library.

                    homepage: https://pythonhosted.org/pyenchant/

                    version versionsuffix toolchain 1.6.8 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#pyevtk","title":"PyEVTK","text":"

                    EVTK (Export VTK) package allows exporting data to binary VTK files for visualization and data analysis with any of the visualization packages that support VTK files

                    homepage: https://github.com/paulo-herrera/PyEVTK

                    version toolchain 1.4.1 foss/2021b 2.0.0 foss/2021b"},{"location":"version-specific/supported-software/#pyfai","title":"pyFAI","text":"

                    Python implementation of fast azimuthal integration.

                    homepage: https://github.com/silx-kit/pyFAI

                    version versionsuffix toolchain 0.19.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.20.0 foss/2020b, fosscuda/2020b 0.21.3 foss/2021b"},{"location":"version-specific/supported-software/#pyfaidx","title":"pyfaidx","text":"

                    pyfaidx: efficient pythonic random access to fasta subsequences

                    homepage: https://pypi.python.org/pypi/pyfaidx

                    version versionsuffix toolchain 0.5.9.5 GCCcore/10.2.0 0.5.9.5 -Python-3.7.4 GCCcore/8.3.0 0.6.3.1 GCCcore/10.3.0 0.7.0 GCCcore/11.2.0 0.7.1 GCCcore/11.3.0 0.7.2.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pyfasta","title":"pyfasta","text":"

                    fast, memory-efficient, pythonic (and command-line) access to fasta sequence files

                    homepage: https://pypi.org/project/pyfasta/

                    version toolchain 0.5.2 foss/2020b"},{"location":"version-specific/supported-software/#pyffmpeg","title":"PyFFmpeg","text":"

                    Python FFmpeg wrapper

                    homepage: https://github.com/mhaller/pyffmpeg

                    version versionsuffix toolchain 2.1beta -Python-2.7.10 gimkl/2.11.5 2.1beta -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#pyfftw","title":"pyFFTW","text":"

                    A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms.

                    homepage: https://github.com/pyFFTW/pyFFTW

                    version versionsuffix toolchain 0.11.1 intel/2019a 0.11.1 -Python-3.6.6 foss/2018b 0.12.0 foss/2020b, fosscuda/2020b 0.13.1 foss/2022a"},{"location":"version-specific/supported-software/#pyfits","title":"pyfits","text":"

                    The PyFITS module is a Python library providing access to FITS (Flexible Image Transport System)

                    homepage: https://pythonhosted.org/pyfits/

                    version versionsuffix toolchain 3.5 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#pyfmi","title":"PyFMI","text":"

                    PyFMI is a package for loading and interacting with Functional Mock-Up Units (FMUs), which are compiled dynamic models compliant with the Functional Mock-Up Interface (FMI)

                    homepage: https://pypi.org/project/PyFMI/

                    version versionsuffix toolchain 2.4.0 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#pyfoam","title":"PyFoam","text":"

                    A Python library to control OpenFOAM-runs and manipulate OpenFOAM-data.

                    homepage: http://openfoamwiki.net/index.php/Contrib/PyFoam

                    version toolchain 2020.5 foss/2020b"},{"location":"version-specific/supported-software/#pyfr","title":"PyFR","text":"

                    PyFR is an open-source Python based framework for solving advection-diffusion type problems on streaming architectures using the Flux Reconstruction approach of Huynh. The framework is designed to solve a range of governing systems on mixed unstructured grids containing various element types. It is also designed to target a range of hardware platforms via use of an in-built domain specific language derived from the Mako templating engine.

                    homepage: http://www.pyfr.org

                    version versionsuffix toolchain 1.7.6 -Python-3.6.4-CUDA-9.1.85 intel/2018a 1.9.0 -Python-3.7.4 intelcuda/2019b"},{"location":"version-specific/supported-software/#pyfrag","title":"PyFrag","text":"

                    PyFrag 2019 resolves three main challenges associated with the automatized computational exploration of reaction mechanisms: 1) the management of multiple parallel calculations to automatically find a reaction path; 2) the monitoring of the entire computational process along with the extraction and plotting of relevant information from large amounts of data; and 3) the analysis and presentation of these data in a clear and informative way. This module provides the Activation Strain Analysis (ASA) Module of PyFrag 2019

                    homepage: https://pyfragdocument.readthedocs.io/en/latest/includeme.html

                    version versionsuffix toolchain 2019-20220216 -ASA intel/2020b"},{"location":"version-specific/supported-software/#pygccxml","title":"pygccxml","text":"

                    Python package for easy C++ declarations navigation.

                    homepage: https://pypi.python.org/pypi/pygccxml

                    version versionsuffix toolchain 20160706 -Python-2.7.11 foss/2016a 20160706 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#pygenometracks","title":"pyGenomeTracks","text":"

                    pyGenomeTracks aims to produce high-quality genome browser tracks that are highly customizable.

                    homepage: https://pygenometracks.readthedocs.io

                    version toolchain 3.7 foss/2021b 3.8 foss/2022a"},{"location":"version-specific/supported-software/#pygeos","title":"PyGEOS","text":"

                    PyGEOS is a C/Python library with vectorized geometry functions. The geometry operations are done in the open-source geometry library GEOS. PyGEOS wraps these operations in NumPy ufuncs providing a performance improvement when operating on arrays of geometries.

                    homepage: https://pygeos.readthedocs.io

                    version versionsuffix toolchain 0.7.1 -Python-3.7.4 foss/2019b 0.8 -Python-3.8.2 foss/2020a 0.10.2 intel/2020b 0.14 gfbf/2022b"},{"location":"version-specific/supported-software/#pygimli","title":"pyGIMLi","text":"

                    pyGIMLi is an open-source multi-method library for solving inverse and forward tasks related to geophysical problems. Written in C++ and Python, it offers both efficiency and flexibility allowing you to quickly build your own robust inversion applications for the geophysical problem at hand.

                    homepage: http://www.pygimli.org/

                    version versionsuffix toolchain 20160803 -Python-2.7.11 foss/2016a 20160803 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#pygments","title":"Pygments","text":"

                    Generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code.

                    homepage: https://pygments.org/

                    version versionsuffix toolchain 2.1.3 -Python-2.7.11 foss/2016a 2.1.3 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#pygmo","title":"pygmo","text":"

                    pygmo is a scientific Python library for massively parallel optimization.

                    homepage: https://esa.github.io/pygmo2

                    version toolchain 2.16.1 foss/2020b 2.18.0 foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pygobject","title":"PyGObject","text":"

                    PyGObject is a Python package which provides bindings for GObject based libraries such as GTK, GStreamer, WebKitGTK, GLib, GIO and many more.

                    homepage: https://pygobject.readthedocs.io/

                    version versionsuffix toolchain 2.28.6 -Python-2.7.11 intel/2016a 2.28.6 -Python-2.7.14 intel/2017b 2.28.7 -Python-2.7.14 intel/2018a 2.28.7 -Python-2.7.15 foss/2018b 3.34.0 -Python-2.7.16 GCCcore/8.3.0 3.34.0 -Python-3.7.2 GCCcore/8.2.0 3.34.0 -Python-3.7.4 GCCcore/8.3.0 3.42.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pygraphviz","title":"pygraphviz","text":"

                    PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz graph data structure and layout algorithms.

                    homepage: https://pygraphviz.github.io/

                    version toolchain 1.5 foss/2019b 1.7 foss/2020b, foss/2021a 1.10 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pygrib","title":"pygrib","text":"

                    Python interface for reading and writing GRIB data

                    homepage: https://jswhit.github.io/pygrib

                    version toolchain 2.0.4 foss/2019a"},{"location":"version-specific/supported-software/#pygtk","title":"PyGTK","text":"

                    PyGTK lets you to easily create programs with a graphical user interface using the Python programming language.

                    homepage: http://www.pygtk.org/

                    version versionsuffix toolchain 2.24.0 -Python-2.7.11 intel/2016a 2.24.0 -Python-2.7.14 intel/2017b, intel/2018a 2.24.0 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#pygts","title":"PyGTS","text":"

                    PyGTS is a python package used to construct, manipulate, and perform computations on triangulated surfaces. It is a hand-crafted and pythonic binding for the GNU Triangulated Surface (GTS) Library.

                    homepage: https://sourceforge.net/projects/pygts/

                    version versionsuffix toolchain 0.3.1 -Python-2.7.11 foss/2016a, intel/2016a 0.3.1 -Python-2.7.12 foss/2016b, intel/2016b 0.3.1 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#pygwas","title":"PyGWAS","text":"

                    PyGWAS is a library for running Genome Wide Association studies.

                    homepage: https://github.com/timeu/pygwas

                    version versionsuffix toolchain 1.2.0 -Python-2.7.11 foss/2016a 1.3.1 -Python-2.7.11 foss/2016a 1.4.0 -Python-2.7.11 foss/2016a 1.5.0 -Python-2.7.11 foss/2016a 1.6.1 -Python-2.7.11 foss/2016a, intel/2016a 1.7.1 -Python-2.7.13 foss/2017a"},{"location":"version-specific/supported-software/#pyhdf","title":"pyhdf","text":"

                    Python wrapper around the NCSA HDF version 4 library

                    homepage: https://github.com/fhs/pyhdf

                    version toolchain 0.10.1 foss/2019a"},{"location":"version-specific/supported-software/#pyimagej","title":"PyImageJ","text":"

                    PyImageJ provides a set of wrapper functions for integration between ImageJ2 and Python. It also supports the original ImageJ API and data structures. A major advantage of this approach is the ability to combine ImageJ and ImageJ2 with other tools available from the Python software ecosystem, including NumPy, SciPy, scikit-image, CellProfiler, OpenCV, ITK and many more.

                    homepage: https://pyimagej.readthedocs.io/

                    version toolchain 1.3.1 foss/2021a"},{"location":"version-specific/supported-software/#pyiron","title":"pyiron","text":"

                    An integrated development environment (IDE) for computational materials science.

                    homepage: https://github.com/pyiron/pyiron

                    version versionsuffix toolchain 0.2.5 -Python-3.7.2 intel/2019a 0.3.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#pyke3","title":"Pyke3","text":"

                    Pyke introduces a form of Logic Programming (inspired by Prolog) to the Python community by providing a knowledge-based inference engine (expert system) written in 100% Python.

                    homepage: http://sourceforge.net/projects/pyke/

                    version versionsuffix toolchain 1.1.1 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#pylift","title":"pylift","text":"

                    pylift is an uplift library that provides, primarily: (1) Fast uplift modeling implementations and (2) Evaluation tools (UpliftEval class).

                    homepage: https://github.com/df-foundation/pylift

                    version versionsuffix toolchain 0.1.5 -Python-3.7.4 foss/2019b 0.1.5 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#pylint","title":"Pylint","text":"

                    Pylint is a tool that checks for errors in Python code, tries to enforce a coding standard and looks for code smells. It can also look for certain type errors, it can recommend suggestions about how particular blocks can be refactored and can offer you details about the code's complexity.

                    homepage: https://www.pylint.org/

                    version versionsuffix toolchain 1.9.3 -Python-2.7.15 foss/2018b, intel/2018b, iomkl/2018b 1.9.5 -Python-2.7.15 GCCcore/8.2.0 1.9.5 -Python-2.7.16 GCCcore/8.3.0 2.7.4 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pymannkendall","title":"pyMannKendall","text":"

                    A python package for non parametric Mann Kendall family of trend tests.

                    homepage: https://github.com/mmhs013/pymannkendall

                    version toolchain 1.4.3 foss/2022a"},{"location":"version-specific/supported-software/#pymatgen","title":"pymatgen","text":"

                    Python Materials Genomics is a robust materials analysis code that defines core object representations for structures and molecules with support for many electronic structure codes.

                    homepage: https://pypi.python.org/pypi/pymatgen

                    version versionsuffix toolchain 3.5.0 -Python-2.7.11 intel/2016.02-GCC-4.9 4.1.1 -Python-2.7.12 intel/2016b 4.3.2 -Python-2.7.12 intel/2016b 4.7.3 -Python-2.7.13 intel/2017a 2017.10.16 -Python-2.7.14 intel/2017b 2017.10.16 -Python-3.6.3 intel/2017b 2022.0.4 foss/2020b 2023.3.10 foss/2022a"},{"location":"version-specific/supported-software/#pymatgen-db","title":"pymatgen-db","text":"

                    Pymatgen-db is a database add-on for the Python Materials Genomics (pymatgen) materials analysis library.

                    homepage: https://pypi.python.org/pypi/pymatgen-db

                    version versionsuffix toolchain 0.6.5 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#pymbar","title":"pymbar","text":"

                    The pymbar package contains the pymbar suite of tools for the analysis of simulated and experimental data with the multistate Bennett acceptance ratio (MBAR) estimator.

                    homepage: http://pymbar.readthedocs.io/en/master/

                    version versionsuffix toolchain 3.0.3 -Python-3.6.3 intel/2017b 3.0.3 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#pymc3","title":"PyMC3","text":"

                    Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Theano

                    homepage: https://docs.pymc.io/

                    version versionsuffix toolchain 3.8 -Python-3.7.4 foss/2019b, intel/2019b 3.11.1 foss/2021b, fosscuda/2020b, intel/2020b, intel/2021b"},{"location":"version-specific/supported-software/#pymca","title":"pymca","text":"

                    The PyMca X-Ray Fluorescence Toolkit, including PyMca5 and fisx.

                    homepage: https://github.com/vasole/pymca

                    version versionsuffix toolchain 5.6.3 foss/2020b, fosscuda/2020b 5.6.3 -Python-3.7.4 foss/2019b, fosscuda/2019b 5.7.6 foss/2021b"},{"location":"version-specific/supported-software/#pymemcache","title":"pymemcache","text":"

                    A comprehensive, fast, pure-Python memcached client.

                    homepage: https://github.com/pinterest/pymemcache

                    version versionsuffix toolchain 2.1.1 -Python-3.6.4 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#pymol","title":"PyMOL","text":"

                    PyMOL is a Python-enhanced molecular graphics tool. It excels at 3D visualization of proteins, small molecules, density, surfaces, and trajectories. It also includes molecular editing, ray tracing, and movies. Open Source PyMOL is free to everyone!

                    homepage: https://github.com/schrodinger/pymol-open-source

                    version toolchain 2.5.0 foss/2020b"},{"location":"version-specific/supported-software/#pynast","title":"PyNAST","text":"

                    PyNAST is a reimplementation of the NAST sequence aligner, which has become a popular tool for adding new 16s rRNA sequences to existing 16s rRNA alignments. This reimplementation is more flexible, faster, and easier to install and maintain than the original NAST implementation.

                    homepage: https://biocore.github.io/pynast

                    version versionsuffix toolchain 1.2.2 -Python-2.7.12 foss/2016b, intel/2016b 1.2.2 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#pyobjcryst","title":"pyobjcryst","text":"

                    Python bindings to ObjCryst++, the Object-Oriented Crystallographic Library.

                    homepage: https://github.com/diffpy/pyobjcryst

                    version versionsuffix toolchain 2.1.0.post2 -Python-3.8.2 intel/2020a 2.2.1 foss/2021b"},{"location":"version-specific/supported-software/#pyod","title":"PyOD","text":"

                    PyOD is a comprehensive and scalable Python toolkit for detecting outlying objects in multivariate data.

                    homepage: https://pyod.readthedocs.io

                    version toolchain 0.8.7 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#pyomo","title":"Pyomo","text":"

                    Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models.

                    homepage: https://www.pyomo.org/

                    version versionsuffix toolchain 5.5.0 -Python-2.7.15 foss/2018b 5.5.0 -Python-3.6.6 foss/2018b 6.0.1 foss/2020b, foss/2021a 6.4.2 foss/2022a 6.5.0 foss/2022b"},{"location":"version-specific/supported-software/#pyopencl","title":"PyOpenCL","text":"

                    PyOpenCL lets you access GPUs and other massively parallel compute devices from Python.

                    homepage: https://mathema.tician.de/software/pyopencl/

                    version versionsuffix toolchain 2020.2.2 -Python-3.7.4 fosscuda/2019b 2021.1.2 foss/2020b, fosscuda/2020b, intel/2020b 2021.2.13 foss/2021b 2021.2.13 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#pyopengl","title":"PyOpenGL","text":"

                    PyOpenGL is the most common cross platform Python binding to OpenGL and related APIs.

                    homepage: http://pyopengl.sourceforge.net

                    version versionsuffix toolchain 3.1.1a1 GCCcore/8.2.0 3.1.1a1 -Python-2.7.11 intel/2016a 3.1.1a1 -Python-2.7.12 foss/2016b 3.1.1a1 -Python-2.7.14 foss/2018a, intel/2017b 3.1.3b2 -Python-2.7.14 intel/2018a 3.1.3b2 -Python-2.7.15 foss/2018b 3.1.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0 3.1.6 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyparsing","title":"pyparsing","text":"

                    The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. The pyparsing module provides a library of classes that client code uses to construct the grammar directly in Python code.

                    homepage: https://github.com/pyparsing/pyparsing

                    version versionsuffix toolchain 2.4.6 -Python-2.7.16 GCCcore/8.3.0 3.0.9 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyperf","title":"pyperf","text":"

                    The Python pyperf module is a toolkit to write, run and analyze benchmarks

                    homepage: https://github.com/psf/pyperf

                    version toolchain 2.5.0 GCCcore/11.3.0 2.6.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pyplusplus","title":"pyplusplus","text":"

                    Py++ is a code generator for Boost.Python that simplifies writing Python bindings of a C/C++ library The tool is implemented as a Python module which is controlled by a user script.

                    homepage: https://bitbucket.org/ompl/pyplusplus

                    version versionsuffix toolchain 20160707 -Python-2.7.11 foss/2016a 20160707 -Python-3.5.1 foss/2016a"},{"location":"version-specific/supported-software/#pypmt","title":"pypmt","text":"

                    PMT is a high-level software library capable of collecting power consumption measurements on various hardware.

                    homepage: https://git.astron.nl/RD/pmt

                    version toolchain 1.1.0 foss/2022a"},{"location":"version-specific/supported-software/#pypower","title":"PYPOWER","text":"

                    PYPOWER is a power flow and Optimal Power Flow (OPF) solver. It is a port of MATPOWER to the Python programming language.

                    homepage: https://github.com/rwl/PYPOWER

                    version toolchain 5.1.15 foss/2020b"},{"location":"version-specific/supported-software/#pyproj","title":"pyproj","text":"

                    Python interface to PROJ4 library for cartographic transformations

                    homepage: https://pyproj4.github.io/pyproj

                    version versionsuffix toolchain 2.1.3 GCCcore/8.2.0 2.4.2 -Python-3.7.4 GCCcore/8.3.0 2.6.1.post1 -Python-3.8.2 GCCcore/9.3.0 3.0.1 GCCcore/10.2.0 3.1.0 GCCcore/10.3.0 3.3.1 GCCcore/11.2.0, GCCcore/11.3.0 3.4.0 GCCcore/11.3.0 3.5.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pypsa","title":"PyPSA","text":"

                    PyPSA is an open source toolbox for simulating and optimising modern power systems that include features such as conventional generators with unit commitment, variable wind and solar generation, storage units, coupling to other energy sectors, and mixed alternating and direct current networks. PyPSA is designed to scale well with large networks and long time series.

                    homepage: https://pypsa.readthedocs.io/

                    version toolchain 0.17.1 foss/2020b"},{"location":"version-specific/supported-software/#pyqstem","title":"pyqstem","text":"

                    QSTEM is a program for quantitative image simulation in electron microscopy, including TEM, STEM and CBED image simulation. This project interfaces the QSTEM code with Python and the Atomic Simulation Environment (ASE) to provide a single environment for building models, simulating and analysing images.

                    homepage: https://github.com/jacobjma/PyQSTEM

                    version versionsuffix toolchain 1.0.3 -ASE-3.22.0 foss/2020b, fosscuda/2020b 1.0.3 -Python-3.6.6 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#pyqt","title":"PyQt","text":"

                    PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework.

                    homepage: http://www.riverbankcomputing.co.uk/software/pyqt

                    version versionsuffix toolchain 4.11.4 -Python-2.7.11 intel/2016a 4.11.4 -Python-2.7.12 intel/2016b 4.12 -Python-2.7.12 foss/2016b, intel/2016b 4.12 -Python-2.7.13 intel/2017a 4.12.1 -Python-2.7.14 foss/2018a 4.12.3 -Python-2.7.15 fosscuda/2018b"},{"location":"version-specific/supported-software/#pyqt5","title":"PyQt5","text":"

                    PyQt5 is a set of Python bindings for v5 of the Qt application framework from The Qt Company.

                    homepage: http://www.riverbankcomputing.co.uk/software/pyqt

                    version versionsuffix toolchain 5.7 -Python-2.7.11 foss/2016a 5.7.1 -Python-2.7.12 intel/2016b 5.8.2 -Python-2.7.13 intel/2017a 5.9.2 -Python-2.7.14 foss/2017b, intel/2017b, intel/2018a 5.9.2 -Python-3.6.4 foss/2018a, intel/2018a 5.11.3 -Python-3.6.6 foss/2018b, intel/2018b 5.12.1 -Python-2.7.15 GCCcore/8.2.0 5.12.1 -Python-3.7.2 GCCcore/8.2.0 5.13.2 -Python-3.7.4 GCCcore/8.3.0 5.15.1 GCCcore/10.2.0 5.15.1 -Python-3.8.2 GCCcore/9.3.0 5.15.4 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 5.15.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pyqtgraph","title":"PyQtGraph","text":"

                    PyQtGraph is a pure-python graphics and GUI library built on PyQt5/PySide2 and numpy.

                    homepage: http://www.pyqtgraph.org/

                    version versionsuffix toolchain 0.10.0 -Python-3.6.4 intel/2018a 0.10.0 -Python-3.6.6 foss/2018b, intel/2018b 0.10.0 -Python-3.7.2 intel/2019a 0.11.0 -Python-3.7.4 foss/2019b 0.11.1 foss/2020b, fosscuda/2020b 0.12.3 foss/2021a 0.13.3 foss/2022a"},{"location":"version-specific/supported-software/#pyradiomics","title":"pyradiomics","text":"

                    Open-source python package for the extraction of Radiomics features from 2D and 3D images and binary masks.

                    homepage: https://pyradiomics.readthedocs.io/

                    version versionsuffix toolchain 3.0.1 foss/2021a 3.0.1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pyre","title":"PyRe","text":"

                    PyRe (Python Reliability) is a Python module for structural reliability analysis.

                    homepage: https://hackl.science/pyre

                    version versionsuffix toolchain 5.0.3-20190221 -Python-3.7.4 foss/2019b, intel/2019b"},{"location":"version-specific/supported-software/#pyretis","title":"PyRETIS","text":"

                    PyRETIS is a Python library for rare event molecular simulations with emphasis on methods based on transition interface sampling and replica exchange transition interface sampling.

                    homepage: http://www.pyretis.org

                    version versionsuffix toolchain 2.1.0 -Python-3.6.6 intel/2018b 2.5.0 foss/2020b, intel/2020b 2.5.0 -Python-3.8.2 foss/2020a, intel/2020a"},{"location":"version-specific/supported-software/#pyringe","title":"pyringe","text":"

                    Debugger capable of attaching to and injecting code into python processes.

                    homepage: https://github.com/google/pyringe

                    version versionsuffix toolchain 1.0.2 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#pyro-api","title":"pyro-api","text":"

                    Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch.

                    homepage: https://github.com/pyro-ppl/pyro-api

                    version toolchain 0.1.2 fosscuda/2020b"},{"location":"version-specific/supported-software/#pyro-ppl","title":"pyro-ppl","text":"

                    Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch.

                    homepage: https://github.com/pyro-ppl/pyro

                    version toolchain 1.5.2 fosscuda/2020b"},{"location":"version-specific/supported-software/#pyro4","title":"Pyro4","text":"

                    Pyro means PYthon Remote Objects. It is a library that enables you to build applications in which objects can talk to eachother over the network, with minimal programming effort.

                    homepage: https://pypi.python.org/pypi/Pyro4

                    version versionsuffix toolchain 4.47 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#pyrosetta","title":"PyRosetta","text":"

                    PyRosetta is an interactive Python-based interface to the powerful Rosetta molecular modeling suite. It enables users to design their own custom molecular modeling algorithms using Rosetta sampling methods and energy functions.

                    homepage: https://www.pyrosetta.org/

                    version versionsuffix toolchain 4.release-292 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#pysam","title":"Pysam","text":"

                    Pysam is a python module for reading and manipulating Samfiles. It's a lightweight wrapper of the samtools C-API. Pysam also includes an interface for tabix.

                    homepage: https://github.com/pysam-developers/pysam

                    version versionsuffix toolchain 0.8.4 -Python-2.7.12 intel/2016b 0.9.1.4 -Python-2.7.12 foss/2016b 0.10.0 -Python-2.7.12 foss/2016b, intel/2016b 0.12.0.1 -Python-2.7.13 intel/2017a 0.12.0.1 -Python-2.7.14 intel/2017b 0.12.0.1 -Python-3.6.3 intel/2017b 0.13 -Python-2.7.14 intel/2017b 0.13.0 -Python-3.6.3 intel/2017b 0.14 -Python-2.7.14 foss/2017b, intel/2017b 0.14 -Python-3.6.3 foss/2017b, intel/2017b 0.14 -Python-3.6.4 intel/2018a 0.14.1 -Python-2.7.14 foss/2018a, intel/2018a 0.14.1 -Python-3.6.4 foss/2018a, intel/2018a 0.15.1 -Python-2.7.15 foss/2018b, intel/2018b 0.15.1 -Python-3.6.6 foss/2018b, intel/2018b 0.15.2 GCC/8.2.0-2.31.1, iccifort/2019.1.144-GCC-8.2.0-2.31.1 0.15.3 GCC/8.3.0, iccifort/2019.5.281 0.16.0.1 GCC/10.2.0, GCC/10.3.0, GCC/8.3.0, GCC/9.3.0, iccifort/2020.1.217, iccifort/2020.4.304 0.16.0.1 -Python-2.7.18 GCC/10.2.0 0.17.0 GCC/11.2.0 0.18.0 GCC/11.2.0 0.19.1 GCC/11.3.0 0.20.0 GCC/11.3.0 0.21.0 GCC/12.2.0"},{"location":"version-specific/supported-software/#pysamstats","title":"pysamstats","text":"

                    A Python utility for calculating statistics against genome positions based on sequence alignments from a SAM or BAM file.

                    homepage: https://github.com/alimanfoo/pysamstats

                    version toolchain 1.1.2 foss/2020b"},{"location":"version-specific/supported-software/#pysat","title":"PySAT","text":"

                    PySAT is a Python toolkit, which aims at providing a simple and unified interface to a number of state-of-art Boolean satisfiability (SAT) solvers as well as to a variety of cardinality and pseudo-Boolean encodings.

                    homepage: https://pysathq.github.io/

                    version versionsuffix toolchain 0.1.6.dev11 -Python-3.8.2 GCC/9.3.0 0.1.7.dev1 GCC/10.2.0"},{"location":"version-specific/supported-software/#pyscaf","title":"pyScaf","text":"

                    pyScaf orders contigs from genome assemblies utilising several types of information

                    homepage: https://github.com/lpryszcz/pyScaf

                    version versionsuffix toolchain 0.12a4 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pyscenic","title":"pySCENIC","text":"

                    pySCENIC is a lightning-fast python implementation of the SCENIC pipeline (Single-Cell rEgulatory Network Inference and Clustering) which enables biologists to infer transcription factors, gene regulatory networks and cell types from single-cell RNA-seq data.

                    homepage: https://github.com/aertslab/pySCENIC

                    version versionsuffix toolchain 0.10.3 -Python-3.8.2 foss/2020a, intel/2020a 0.12.1 foss/2022a"},{"location":"version-specific/supported-software/#pyscf","title":"PySCF","text":"

                    PySCF is an open-source collection of electronic structure modules powered by Python.

                    homepage: http://www.pyscf.org

                    version versionsuffix toolchain 1.6.3 -Python-3.7.2 foss/2019a 1.7.6 foss/2020b, foss/2021a, gomkl/2021a 2.1.1 foss/2022a"},{"location":"version-specific/supported-software/#pysheds","title":"pysheds","text":"

                    Simple and fast watershed delineation in python.

                    homepage: https://mattbartos.com/pysheds/

                    version toolchain 0.2.7.1 foss/2020b"},{"location":"version-specific/supported-software/#pyshp","title":"pyshp","text":"

                    Pure Python read/write support for ESRI Shapefile format

                    homepage: https://github.com/GeospatialPython/pyshp

                    version versionsuffix toolchain 1.2.12 -Python-3.6.2 foss/2017b 2.1.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pyside2","title":"PySide2","text":"

                    PySide2 is the official Python module from the Qt for Python project, which provides access to the complete Qt 5.12+ framework.

                    homepage: https://pypi.python.org/pypi/PySide2

                    version toolchain 5.14.2.3 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pyslim","title":"pyslim","text":"

                    A Python API for reading and modifying tskit tree sequence files produced by SLiM, or modifying files produced by other programs (e.g., msprime, fwdpy11, and tsinfer) for use in SLiM.

                    homepage: https://tskit.dev/pyslim/docs/stable/introduction.html

                    version toolchain 1.0.1 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pysndfx","title":"pysndfx","text":"

                    A lightweight Python wrapper for SoX - Sound eXchange. Supported effects range from EQ and compression to phasers, reverb and pitch shifters.

                    homepage: https://github.com/carlthome/python-audio-effects

                    version versionsuffix toolchain 0.3.6 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pysolar","title":"Pysolar","text":"

                    Pysolar is a collection of Python libraries for simulating the irradiation of any point on earth by the sun.

                    homepage: https://pysolar.org/

                    version versionsuffix toolchain 0.7 -Python-3.6.3 intel/2017b 0.7 -Python-3.6.4 intel/2018a 0.8 -Python-3.6.6 intel/2018b 0.8 -Python-3.7.2 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#pyspoa","title":"pyspoa","text":"

                    Python bindings to spoa.

                    homepage: https://github.com/nanoporetech/pyspoa

                    version versionsuffix toolchain 0.0.4 -Python-3.7.4 GCC/8.3.0 0.0.8 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0 0.0.9 GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#pysqlite","title":"pysqlite","text":"

                    pysqlite is an interface to the SQLite 3.x embedded relational database engine. It is almost fully compliant with the Python database API version 2.0 also exposes the unique features of SQLite.

                    homepage: https://pypi.python.org/pypi/pysqlite

                    version versionsuffix toolchain 2.8.2 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#pystan","title":"PyStan","text":"

                    Python interface to Stan, a package for Bayesian inference using the No-U-Turn sampler, a variant of Hamiltonian Monte Carlo.

                    homepage: https://github.com/stan-dev/pystan

                    version versionsuffix toolchain 2.19.0.0 -Python-3.6.4 intel/2018a 2.19.1.1 foss/2020b, intel/2020b 3.5.0 foss/2021b"},{"location":"version-specific/supported-software/#pysteps","title":"pysteps","text":"

                    Pysteps is an open-source and community-driven Python library for probabilistic precipitation nowcasting, i.e. short-term ensemble prediction systems.

                    homepage: https://pysteps.github.io/

                    version toolchain 1.7.1 foss/2022a"},{"location":"version-specific/supported-software/#pystran","title":"pystran","text":"

                    Toolset of dynamical model STRucture ANalysis algorithms

                    homepage: https://stijnvanhoey.github.io/pystran/

                    version versionsuffix toolchain 2017.04.20 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#pytables","title":"PyTables","text":"

                    PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data. PyTables is built on top of the HDF5 library, using the Python language and the NumPy package. It features an object-oriented interface that, combined with C extensions for the performance-critical parts of the code (generated using Cython), makes it a fast, yet extremely easy to use tool for interactively browsing, processing and searching very large amounts of data. One important feature of PyTables is that it optimizes memory and disk resources so that data takes much less space (specially if on-flight compression is used) than other solutions such as relational or object oriented databases.

                    homepage: https://www.pytables.org

                    version versionsuffix toolchain 3.2.2 -Python-2.7.12 foss/2016b 3.2.3.1 -Python-2.7.12 intel/2016b 3.3.0 -Python-2.7.12 foss/2016b, intel/2016b 3.3.0 -Python-3.5.2 intel/2016b 3.4.2 -Python-2.7.13 foss/2017a 3.4.2 -Python-3.6.1 intel/2017a 3.4.2 -Python-3.6.3 intel/2017b 3.4.2 -Python-3.6.4 foss/2018a, intel/2018a 3.4.4 -Python-2.7.15 foss/2018b 3.4.4 -Python-3.5.1 foss/2016a 3.4.4 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 3.5.2 intel/2019a 3.5.2 -Python-2.7.14 intel/2018a 3.5.2 -Python-2.7.16 intel/2019b 3.5.2 -Python-2.7.18 foss/2020b 3.6.1 foss/2020b, foss/2021a, foss/2021b, fosscuda/2020b, intel/2020b 3.6.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 3.6.1 -Python-3.8.2 foss/2020a, intel/2020a 3.8.0 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#pytesseract","title":"pytesseract","text":"

                    Python-tesseract is an optical character recognition (OCR) tool for python. That is, it will recognize and \"read\" the text embedded in images. Python-tesseract is a wrapper for Google's Tesseract-OCR Engine. It is also useful as a stand-alone invocation script to tesseract, as it can read all image types supported by the Pillow and Leptonica imaging libraries, including jpeg, png, gif, bmp, tiff, and others. Additionally, if used as a script, Python-tesseract will print the recognized text instead of writing it to a file.

                    homepage: https://github.com/madmaze/pytesseract

                    version toolchain 0.3.10 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest","title":"pytest","text":"

                    The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.

                    homepage: https://docs.pytest.org/en/latest/

                    version versionsuffix toolchain 3.0.1 -Python-2.7.11 foss/2016a 3.0.1 -Python-3.5.1 foss/2016a 3.8.0 -Python-3.6.4 foss/2018a, intel/2018a 3.8.2 -Python-2.7.14 foss/2017b, intel/2017b 3.8.2 -Python-2.7.15 intel/2018b 3.8.2 -Python-3.6.3 foss/2017b, intel/2017b 3.8.2 -Python-3.6.6 foss/2018b, intel/2018b 4.3.0 -Python-3.6.6 foss/2018b, intel/2018b 4.4.0 -Python-2.7.15 foss/2018b, intel/2018b 4.4.0 -Python-3.6.6 foss/2018b, intel/2018b 6.0.1 -Python-3.7.4 GCCcore/8.3.0 7.1.3 GCCcore/11.2.0 7.2.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#pytest-benchmark","title":"pytest-benchmark","text":"

                    A pytest fixture for benchmarking code.

                    homepage: https://github.com/ionelmc/pytest-benchmark

                    version toolchain 3.4.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#pytest-cpp","title":"pytest-cpp","text":"

                    Use pytest runner to discover and execute C++ tests.

                    homepage: http://github.com/pytest-dev/pytest-cpp

                    version toolchain 2.3.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest-flakefinder","title":"pytest-flakefinder","text":"

                    Runs tests multiple times to expose flakiness.

                    homepage: https://github.com/dropbox/pytest-flakefinder

                    version toolchain 1.1.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest-rerunfailures","title":"pytest-rerunfailures","text":"

                    pytest plugin to re-run tests to eliminate flaky failures.

                    homepage: https://github.com/pytest-dev/pytest-rerunfailures

                    version toolchain 11.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest-shard","title":"pytest-shard","text":"

                    pytest plugin to support parallelism across multiple machines. Shards tests based on a hash of their test name enabling easy parallelism across machines, suitable for a wide variety of continuous integration services. Tests are split at the finest level of granularity, individual test cases, enabling parallelism even if all of your tests are in a single file (or even single parameterized test method).

                    homepage: https://github.com/AdamGleave/pytest-shard

                    version toolchain 0.1.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pytest-xdist","title":"pytest-xdist","text":"

                    xdist: pytest distributed testing plugin The pytest-xdist plugin extends pytest with some unique test execution modes: * test run parallelization: if you have multiple CPUs or hosts you can use those for a combined test run. This allows to speed up development or to use special resources of remote machines. * --looponfail: run your tests repeatedly in a subprocess. After each run pytest waits until a file in your project changes and then re-runs the previously failing tests. This is repeated until all tests pass after which again a full run is performed. * Multi-Platform coverage: you can specify different Python interpreters or different platforms and run tests in parallel on all of them. Before running tests remotely, pytest efficiently \u201crsyncs\u201d your program source code to the remote place. All test results are reported back and displayed to your local terminal. You may specify different Python versions and interpreters.

                    homepage: https://github.com/pytest-dev/pytest-xdist

                    version toolchain 2.1.0 GCCcore/10.2.0 2.3.0 GCCcore/10.2.0, GCCcore/10.3.0 2.5.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pythia","title":"PYTHIA","text":"

                    PYTHIA is a program for the generation of high-energy physics collision events, i.e. for the description of collisions at high energies between electrons, protons, photons and heavy nuclei. It contains theory and models for a number of physics aspects, including hard and soft interactions, parton distributions, initial- and final-state parton showers, multiparton interactions, fragmentation and decay. It is largely based on original research, but also borrows many formulae and other knowledge from the literature. As such it is categorized as a general purpose Monte Carlo event generator.

                    homepage: https://www.pythia.org

                    version versionsuffix toolchain 8.226 -Python-2.7.13 intel/2017a 8.309 foss/2022b"},{"location":"version-specific/supported-software/#python","title":"Python","text":"

                    Python is a programming language that lets you work more quickly and integrate your systems more effectively.

                    homepage: https://python.org/

                    version versionsuffix toolchain 2.7.9 -bare GCC/4.8.4, GCC/4.9.2 2.7.10 gimkl/2.11.5 2.7.10 -bare GCC/4.9.3-2.25, GNU/4.9.3-2.25 2.7.11 foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 2.7.11 -bare GCC/4.9.3-2.25 2.7.11 -libX11-1.6.3 intel/2016a 2.7.12 foss/2016b, intel/2016b, iomkl/2017a 2.7.12 -bare GCC/5.4.0-2.26, GCCcore/4.9.3, iccifort/2016.3.210-GCC-5.4.0-2.26 2.7.13 foss/2017a, intel/2017a 2.7.13 -bare GCCcore/6.3.0 2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, fosscuda/2018a, intel/2017b, intel/2018.01, intel/2018a, intelcuda/2017b, iomkl/2018a 2.7.14 -bare GCCcore/6.4.0 2.7.15 GCCcore/8.2.0, foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 2.7.15 -bare GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0 2.7.16 GCCcore/8.3.0 2.7.16 -bare GCCcore/8.3.0 2.7.18 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/9.3.0 2.7.18 -bare GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/9.3.0 3.5.1 foss/2016a, intel/2016a 3.5.2 foss/2016.04, foss/2016b, intel/2016b 3.5.2 -bare GCC/5.4.0-2.26, iccifort/2016.3.210-GCC-5.4.0-2.26 3.6.1 foss/2017a, intel/2017a 3.6.2 foss/2017b, intel/2017b, intel/2018.00 3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intel/2018.01, intelcuda/2017b 3.6.4 foss/2017a, foss/2018a, fosscuda/2018a, golf/2018a, iimkl/2018a, intel/2018a, iomkl/2018.02, iomkl/2018a 3.6.6 foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 3.7.0 foss/2018b, intel/2018b, iomkl/2018b 3.7.2 GCCcore/8.2.0 3.7.4 GCCcore/8.3.0 3.8.2 GCCcore/9.3.0 3.8.6 GCCcore/10.2.0 3.9.5 GCCcore/10.3.0 3.9.5 -bare GCCcore/10.3.0 3.9.6 GCCcore/11.2.0 3.9.6 -bare GCCcore/11.2.0 3.10.4 GCCcore/11.3.0 3.10.4 -bare GCCcore/11.3.0 3.10.8 GCCcore/12.2.0 3.10.8 -bare GCCcore/12.2.0 3.11.2 -bare GCCcore/12.2.0 3.11.3 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#python-bundle","title":"Python-bundle","text":"

                    Python distribution with a number of widely used extensions incl. NumPy, SciPy, Matplotlib, JupyterLab, MPI4PY, ...

                    homepage: https://easybuild.io/

                    version toolchain 3.10.4 foss/2022a"},{"location":"version-specific/supported-software/#python-docx","title":"python-docx","text":"

                    python-docx is a Python library for creating and updating Microsoft Word (.docx) files

                    homepage: https://python-docx.readthedocs.io/en/latest/

                    version toolchain 0.8.11 GCCcore/10.2.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#python-hl7","title":"python-hl7","text":"

                    A simple library for parsing messages of Health Level 7 (HL7) version 2.x into Python objects.

                    homepage: https://github.com/johnpaulett/python-hl7

                    version versionsuffix toolchain 0.3.4 -Python-3.7.4 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#python-igraph","title":"python-igraph","text":"

                    Python interface to the igraph high performance graph library, primarily aimed at complex network research and analysis.

                    homepage: https://igraph.org/python

                    version versionsuffix toolchain 0.7.1.post6 -Python-2.7.14 intel/2017b 0.7.1.post6 -Python-3.6.6 foss/2018b 0.8.0 foss/2019b, foss/2020a 0.9.0 foss/2020b, fosscuda/2020b 0.9.6 foss/2021a 0.9.8 foss/2021b 0.10.3 foss/2022a"},{"location":"version-specific/supported-software/#python-irodsclient","title":"python-irodsclient","text":"

                    A python API for iRODS

                    homepage: https://github.com/irods/python-irodsclient

                    version toolchain 1.1.4 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#python-isal","title":"python-isal","text":"

                    Faster zlib and gzip compatible compression and decompression by providing python bindings for the isa-l library.

                    homepage: https://github.com/pycompression/python-isal

                    version toolchain 0.11.0 GCCcore/10.3.0 0.11.1 GCCcore/10.2.0, GCCcore/11.2.0 1.1.0 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#python-levenshtein","title":"python-Levenshtein","text":"

                    Python extension for computing string edit distances and similarities.

                    homepage: https://pypi.org/project/python-Levenshtein/

                    version versionsuffix toolchain 0.12.0 -Python-3.6.6 foss/2018b 0.12.0 -Python-3.7.4 foss/2019b 0.12.1 foss/2020b"},{"location":"version-specific/supported-software/#python-libsbml","title":"python-libsbml","text":"

                    LibSBML Python API.

                    homepage: https://sbml.org/

                    version toolchain 5.19.7 foss/2021a"},{"location":"version-specific/supported-software/#python-louvain","title":"python-louvain","text":"

                    Louvain algorithm for community detection

                    homepage: https://pypi.org/project/python-louvain

                    version toolchain 0.16 foss/2022a"},{"location":"version-specific/supported-software/#python-mujoco","title":"python-mujoco","text":"

                    This package is the canonical Python bindings for the MuJoCo physics engine. The mujoco package provides direct access to raw MuJoCo C API functions, structs, constants, and enumerations. Structs are provided as Python classes, with Pythonic initialization and deletion semantics.

                    homepage: https://www.mujoco.org

                    version toolchain 2.2.2 foss/2022a"},{"location":"version-specific/supported-software/#python-parasail","title":"python-parasail","text":"

                    Python Bindings for the Parasail C Library

                    homepage: https://github.com/jeffdaily/parasail-python

                    version versionsuffix toolchain 1.1.12 -Python-2.7.14 intel/2018a 1.1.16 -Python-3.6.6 foss/2018b 1.2 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 1.2.2 -Python-3.8.2 intel/2020a 1.2.3 -Python-3.8.2 foss/2020a 1.2.4 foss/2020b, foss/2021a, foss/2021b, fosscuda/2020b 1.3.3 foss/2022a 1.3.4 foss/2022b"},{"location":"version-specific/supported-software/#python-telegram-bot","title":"python-telegram-bot","text":"

                    This library provides a pure Python, asynchronous interface for the Telegram Bot API. It's compatible with Python versions 3.7+.

                    homepage: https://python-telegram-bot.org/

                    version toolchain 20.0a0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#python-weka-wrapper3","title":"python-weka-wrapper3","text":"

                    Python3 wrapper for the Weka Machine Learning Workbench

                    homepage: https://github.com/fracpete/python-weka-wrapper3

                    version versionsuffix toolchain 0.1.11 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#python-xxhash","title":"python-xxhash","text":"

                    xxhash is a Python binding for the xxHash library by Yann Collet.

                    homepage: https://github.com/ifduyue/python-xxhash

                    version toolchain 3.2.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#pythran","title":"pythran","text":"

                    Pythran is an ahead of time compiler for a subset of the Python language, with a focus on scientific computing. It takes a Python module annotated with a few interface description and turns it into a native Python module with the same interface, but (hopefully) faster.

                    homepage: https://pythran.readthedocs.io

                    version versionsuffix toolchain 0.9.4.post1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#pytorch","title":"PyTorch","text":"

                    Tensors and Dynamic neural networks in Python with strong GPU acceleration. PyTorch is a deep learning framework that puts Python first.

                    homepage: https://pytorch.org/

                    version versionsuffix toolchain 0.3.1 -Python-2.7.14 fosscuda/2017b 0.3.1 -Python-3.6.3 fosscuda/2017b 0.3.1 -Python-3.6.4 intel/2018a 0.3.1 -Python-3.6.4-CUDA-9.1.85 foss/2018a 0.4.1 -Python-3.6.4 intel/2018a 1.0.1 -Python-3.6.6 foss/2018b, fosscuda/2018b 1.1.0 -Python-3.7.2 foss/2019a 1.2.0 -Python-3.7.2 foss/2019a, fosscuda/2019a 1.3.1 fosscuda/2020b 1.3.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.4.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.6.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.6.0 -Python-3.7.4-imkl fosscuda/2019b 1.7.1 foss/2020b, fosscuda/2020b 1.7.1 -Python-3.7.4 fosscuda/2019b 1.7.1 -Python-3.8.2 fosscuda/2020a 1.8.1 foss/2020b, fosscuda/2020b 1.8.1 -Python-3.7.4 fosscuda/2019b 1.9.0 foss/2020b, fosscuda/2020b 1.9.0 -imkl fosscuda/2020b 1.10.0 foss/2021a, fosscuda/2020b 1.10.0 -CUDA-11.3.1 foss/2021a 1.11.0 -CUDA-11.3.1 foss/2021a 1.12.0 foss/2022a 1.12.0 -CUDA-11.7.0 foss/2022a 1.12.1 foss/2021a, foss/2021b, foss/2022a 1.12.1 -CUDA-11.3.1 foss/2021a 1.12.1 -CUDA-11.5.2 foss/2021b 1.12.1 -CUDA-11.7.0 foss/2022a 1.13.1 foss/2022a"},{"location":"version-specific/supported-software/#pytorch-bundle","title":"PyTorch-bundle","text":"

                    PyTorch with compatible versions of official Torch extensions.

                    homepage: https://pytorch.org/

                    version versionsuffix toolchain 1.12.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pytorch-cyclegan-pix2pix","title":"pytorch-CycleGAN-pix2pix","text":"

                    PyTorch implementations for both unpaired and paired image-to-image translation.

                    homepage: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

                    version versionsuffix toolchain 20230314 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pytorch-geometric","title":"PyTorch-Geometric","text":"

                    PyTorch Geometric (PyG) is a geometric deep learning extension library for PyTorch.

                    homepage: https://github.com/rusty1s/pytorch_geometric

                    version versionsuffix toolchain 1.3.2 -Python-3.7.4 foss/2019b 1.4.2 -Python-3.7.4-PyTorch-1.4.0 foss/2019b 1.6.3 foss/2020b, fosscuda/2020b 1.6.3 -Python-3.7.4-PyTorch-1.8.1 fosscuda/2019b 2.0.1 -PyTorch-1.9.0 fosscuda/2020b 2.1.0 -PyTorch-1.12.0-CUDA-11.7.0 foss/2022a 2.1.0 -PyTorch-1.12.1-CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#pytorch-ignite","title":"PyTorch-Ignite","text":"

                    Ignite is a high-level library to help with training and evaluating neural networks in PyTorch flexibly and transparently.

                    homepage: https://pytorch-ignite.ai/

                    version versionsuffix toolchain 0.4.9 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#pytorch-image-models","title":"PyTorch-Image-Models","text":"

                    PyTorch Image Models (timm) is a collection of image models, layers, utilities, optimizers, schedulers, data-loaders / augmentations, and reference training / validation scripts that aim to pull together a wide variety of SOTA models with ability to reproduce ImageNet training results.

                    homepage: https://huggingface.co/docs/timm

                    version versionsuffix toolchain 0.9.2 foss/2022a 0.9.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pytorch-lightning","title":"PyTorch-Lightning","text":"

                    PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers.

                    homepage: https://pytorchlightning.ai

                    version versionsuffix toolchain 1.5.9 foss/2021a 1.5.9 -CUDA-11.3.1 foss/2021a 1.7.7 foss/2022a 1.7.7 -CUDA-11.7.0 foss/2022a 1.8.4 foss/2022a 1.8.4 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#pytorch3d","title":"PyTorch3D","text":"

                    PyTorch3D is FAIR's library of reusable components for deep learning with 3D data.

                    homepage: https://pytorch3d.org/

                    version versionsuffix toolchain 0.4.0 -PyTorch-1.7.1 fosscuda/2020b"},{"location":"version-specific/supported-software/#pyvcf","title":"PyVCF","text":"

                    A Variant Call Format reader for Python.

                    homepage: https://github.com/jamescasbon/PyVCF

                    version versionsuffix toolchain 0.6.8 -Python-2.7.16 GCC/8.3.0"},{"location":"version-specific/supported-software/#pyvcf3","title":"PyVCF3","text":"

                    A VCFv4.0 and 4.1 parser for Python. The intent of this module is to mimic the csv module in the Python stdlib, as opposed to more flexible serialization formats like JSON or YAML. vcf will attempt to parse the content of each record based on the data types specified in the meta-information lines -- specifically the ##INFO and ##FORMAT lines. If these lines are missing or incomplete, it will check against the reserved types mentioned in the spec. Failing that, it will just return strings. PyVCF3 has been created because the Official PyVCF repository is no longer maintained and do not accept any pull requests. This fork is for python 3 only and has been published on pyPI as PyVCF3.

                    homepage: https://github.com/dridk/PyVCF3

                    version toolchain 1.0.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#pywannier90","title":"pyWannier90","text":"

                    A Wannier90 Python interface for VASP and PySCF

                    homepage: https://github.com/hungpham2017/pyWannier90

                    version toolchain 2021-12-07 foss/2021a, gomkl/2021a"},{"location":"version-specific/supported-software/#pywavelets","title":"PyWavelets","text":"

                    PyWavelets is open source wavelet transform software for Python.

                    homepage: https://pywavelets.readthedocs.io

                    version versionsuffix toolchain 1.1.1 intelcuda/2020b 1.1.1 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#pywbgt","title":"PyWBGT","text":"

                    Cython source code for estimating wet bulb globe temperature (WBGT) from datasets of standard meterological measurements using models developed by Liljegren et al (2008)

                    homepage: https://github.com/QINQINKONG/PyWBGT

                    version toolchain 1.0.0 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#pyyaml","title":"PyYAML","text":"

                    PyYAML is a YAML parser and emitter for the Python programming language.

                    homepage: https://github.com/yaml/pyyaml

                    version versionsuffix toolchain 3.11 -Python-2.7.11 intel/2016a 3.12 system 3.12 -Python-2.7.12 foss/2016b, intel/2016b 3.12 -Python-2.7.13 intel/2017a 3.12 -Python-2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, intel/2017b, intel/2018a 3.12 -Python-3.5.2 intel/2016b 3.12 -Python-3.6.1 intel/2017a 3.12 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b 3.12 -Python-3.6.4 foss/2018a, intel/2018a 3.13 system 3.13 -Python-2.7.15 fosscuda/2018b, intel/2018b 3.13 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 5.1 GCCcore/8.2.0 5.1.2 GCCcore/8.3.0 5.3 GCCcore/9.3.0 5.3.1 GCCcore/10.2.0 5.4.1 GCCcore/10.3.0, GCCcore/11.2.0 6.0 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#pyzmq","title":"PyZMQ","text":"

                    Python bindings for ZeroMQ

                    homepage: https://www.zeromq.org/bindings:python

                    version versionsuffix toolchain 15.2.0 -Python-2.7.11-zmq4 foss/2016a, intel/2016a 15.2.0 -Python-3.5.1-zmq4 intel/2016a 15.3.0 -Python-2.7.11-zmq4 foss/2016a 15.3.0 -Python-3.5.1-zmq4 foss/2016a 15.4.0 -Python-2.7.12-zmq4 intel/2016b 15.4.0 -Python-3.5.2-zmq4 intel/2016b 16.0.2 -Python-2.7.12-zmq4 foss/2016b, intel/2016b 16.0.2 -Python-2.7.13-zmq4 foss/2017a, intel/2017a 16.0.2 -Python-3.5.2-zmq4 foss/2016b, intel/2016b 16.0.3 -Python-2.7.14-zmq4 intel/2017b 17.0.0 -Python-2.7.14-zmq4 foss/2018a 17.0.0 -Python-3.6.4-zmq4 foss/2018a 18.1.1 -Python-3.7.4 GCCcore/8.3.0 22.3.0 GCCcore/10.3.0 24.0.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#q","title":"Q","text":"

                    Q6 - QCA - qcat - QCG-PilotJob - qcint - QCxMS - QD - QDD - QEMU - QGIS - Qhull - QIIME - QIIME2 - Qiskit - QJson - QML - qnorm - qpth - qrupdate - QScintilla - Qt - Qt5 - Qt5Webkit - Qtconsole - QtKeychain - QTLtools - qtop - QtPy - Qualimap - Quandl - QuantumESPRESSO - QUAST - QuaZIP - QuickFF - QuickPIC - Quip - Quorum - QuTiP - Qwt - QwtPolar

                    "},{"location":"version-specific/supported-software/#q6","title":"Q6","text":"

                    EVB, FEP and LIE simulator.

                    homepage: https://github.com/qusers/Q6

                    version toolchain 20180205 gompi/2019a"},{"location":"version-specific/supported-software/#qca","title":"QCA","text":"

                    Taking a hint from the similarly-named Java Cryptography Architecture, QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions. QCA separates the API from the implementation, using plugins known as Providers. The advantage of this model is to allow applications to avoid linking to or explicitly depending on any particular cryptographic library. This allows one to easily change or upgrade crypto implementations without even needing to recompile the application! QCA should work everywhere Qt does, including Windows/Unix/MacOSX.

                    homepage: https://userbase.kde.org/QCA

                    version toolchain 2.1.0 foss/2016a, intel/2016b 2.1.3 GCCcore/8.2.0, foss/2016b, intel/2016b 2.3.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#qcat","title":"qcat","text":"

                    qcat is a Python command-line tool for demultiplexing Oxford Nanopore reads from FASTQ files

                    homepage: https://github.com/nanoporetech/qcat/releases

                    version versionsuffix toolchain 1.1.0 foss/2022b 1.1.0 -Python-3.7.4 foss/2019b, intel/2019b 1.1.0 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#qcg-pilotjob","title":"QCG-PilotJob","text":"

                    A python service for easy execution of many tasks inside a single allocation.

                    homepage: https://qcg-pilotjob.readthedocs.org

                    version toolchain 0.12.3 foss/2021a 0.13.1 foss/2022a"},{"location":"version-specific/supported-software/#qcint","title":"qcint","text":"

                    libcint is an open source library for analytical Gaussian integrals. qcint is an optimized libcint branch for the x86-64 platform.

                    homepage: http://wiki.sunqm.net/libcint

                    version toolchain 3.0.18 foss/2019a"},{"location":"version-specific/supported-software/#qcxms","title":"QCxMS","text":"

                    QCxMS is a quantum chemical based program to calculate electron ionization (EI) and collision induced dissociation (CID) mass spectra using Born-Oppenheimer Molecular Dynamics (BO-MD). It is the successor of the QCEIMS program, in which the EI part is exchanged to x to account for the greater general applicibility of the program.

                    homepage: https://xtb-docs.readthedocs.io/en/latest/qcxms_doc/qcxms.html

                    version toolchain 5.0.3 system"},{"location":"version-specific/supported-software/#qd","title":"QD","text":"

                    Quad Double computation package

                    homepage: https://github.com/scibuilder/QD

                    version versionsuffix toolchain 0.8.9 foss/2021a 2.3.17 -20160110 NVHPC/21.2"},{"location":"version-specific/supported-software/#qdd","title":"QDD","text":"

                    A user-friendly program to select microsatellite markers and design primers from large sequencing projects.

                    homepage: http://net.imbe.fr/~emeglecz/qdd.html

                    version versionsuffix toolchain 3.1.2 -Perl-5.28.0 intel/2018b"},{"location":"version-specific/supported-software/#qemu","title":"QEMU","text":"

                    QEMU is a generic and open source machine emulator and virtualizer.

                    homepage: https://www.qemu.org/

                    version toolchain 2.10.1 intel/2017b"},{"location":"version-specific/supported-software/#qgis","title":"QGIS","text":"

                    QGIS is a user friendly Open Source Geographic Information System (GIS)

                    homepage: http://www.qgis.org/

                    version versionsuffix toolchain 2.14.12 -Python-2.7.12 intel/2016b 2.18.4 -Python-2.7.12 foss/2016b 3.4.12 -Python-3.7.2 foss/2019a 3.28.1 foss/2021b"},{"location":"version-specific/supported-software/#qhull","title":"Qhull","text":"

                    Qhull computes the convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, furthest-site Delaunay triangulation, and furthest-site Voronoi diagram. The source code runs in 2-d, 3-d, 4-d, and higher dimensions. Qhull implements the Quickhull algorithm for computing the convex hull.

                    homepage: http://www.qhull.org

                    version toolchain 2015.2 GCCcore/5.4.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, foss/2016a, foss/2016b, foss/2017b, intel/2016a, intel/2016b, intel/2017a 2019.1 GCCcore/8.2.0, GCCcore/8.3.0 2020.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#qiime","title":"QIIME","text":"

                    QIIME is an open-source bioinformatics pipeline for performing microbiome analysis from raw DNA sequencing data.

                    homepage: http://qiime.org/

                    version toolchain 1.9.1 system"},{"location":"version-specific/supported-software/#qiime2","title":"QIIME2","text":"

                    QIIME is an open-source bioinformatics pipeline for performing microbiome analysis from raw DNA sequencing data.

                    homepage: http://qiime2.org/

                    version toolchain 2017.10 system 2018.2 system 2019.4 system 2019.7 system 2020.8 system 2020.11 system 2021.8 system 2022.8 system 2022.11 system"},{"location":"version-specific/supported-software/#qiskit","title":"Qiskit","text":"

                    Qiskit is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms.

                    homepage: https://qiskit.org

                    version versionsuffix toolchain 0.11.1 -Python-3.7.2 foss/2019a 0.12.0 -Python-3.7.2 foss/2019a 0.31.0 foss/2021a"},{"location":"version-specific/supported-software/#qjson","title":"QJson","text":"

                    QJson is a Qt-based library that maps JSON data to QVariant objects and vice versa.

                    homepage: http://qjson.sourceforge.net/

                    version toolchain 0.9.0 GCCcore/10.2.0, GCCcore/8.2.0, foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#qml","title":"QML","text":"

                    QML is a Python2/3-compatible toolkit for representation learning of properties of molecules and solids.

                    homepage: https://www.qmlcode.org

                    version versionsuffix toolchain 0.2.10 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#qnorm","title":"qnorm","text":"

                    Fast-ish (and correct!) quantile normalization in Python

                    homepage: https://github.com/Maarten-vd-Sande/qnorm

                    version toolchain 0.8.1 foss/2022a"},{"location":"version-specific/supported-software/#qpth","title":"qpth","text":"

                    A fast and differentiable QP solver for PyTorch.

                    homepage: https://locuslab.github.io/qpth/

                    version versionsuffix toolchain 0.0.13-20190626 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#qrupdate","title":"qrupdate","text":"

                    qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.

                    homepage: https://sourceforge.net/projects/qrupdate/

                    version toolchain 1.1.2 GCC/5.4.0-2.26, GCC/8.2.0-2.31.1, GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.4.0, GCCcore/8.3.0, foss/2016a, foss/2018a, foss/2018b, intel/2016a, intel/2016b, intel/2017a"},{"location":"version-specific/supported-software/#qscintilla","title":"QScintilla","text":"

                    QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control

                    homepage: https://www.riverbankcomputing.com/software/qscintilla

                    version versionsuffix toolchain 2.9.4 -Python-2.7.12 foss/2016b, intel/2016b 2.10 -Python-2.7.12 foss/2016b, intel/2016b 2.11.2 -Python-3.7.2 GCCcore/8.2.0 2.11.6 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#qt","title":"Qt","text":"

                    Qt is a comprehensive cross-platform C++ application framework.

                    homepage: http://qt.io/

                    version versionsuffix toolchain 3.3.8 intel/2016a 4.8.6 system 4.8.7 GCCcore/8.2.0, foss/2016a, foss/2016b, foss/2017a, foss/2017b, foss/2018a, foss/2018b, fosscuda/2018b, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a 4.8.7 -GLib-2.48.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#qt5","title":"Qt5","text":"

                    Qt is a comprehensive cross-platform C++ application framework.

                    homepage: https://qt.io/

                    version toolchain 5.6.0 foss/2016a, intel/2016a 5.7.0 foss/2016a, foss/2016b, intel/2016a, intel/2016b 5.7.1 intel/2016b 5.8.0 foss/2017a, foss/2017b, intel/2016b, intel/2017a, intel/2017b 5.9.3 foss/2017b 5.9.8 fosscuda/2018b 5.10.1 foss/2018a, foss/2018b, fosscuda/2018b, intel/2018a, intel/2018b 5.11.2 foss/2018b 5.12.3 GCCcore/8.2.0 5.13.1 GCCcore/8.3.0 5.14.1 GCCcore/9.3.0 5.14.2 GCCcore/10.2.0 5.15.2 GCCcore/10.3.0, GCCcore/11.2.0 5.15.5 GCCcore/11.3.0 5.15.7 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#qt5webkit","title":"Qt5Webkit","text":"

                    Qt Port of WebKit. WebKit is an open source web browser engine.

                    homepage: https://github.com/qt/qtwebkit

                    version toolchain 5.212.0-alpha3 GCCcore/8.2.0 5.212.0-alpha4 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#qtconsole","title":"Qtconsole","text":"

                    A rich Qt-based console for working with Jupyter kernels, supporting rich media output, session export, and more. The Qtconsole is a very lightweight application that largely feels like a terminal, but provides a number of enhancements only possible in a GUI, such as inline figures, proper multiline editing with syntax highlighting, graphical calltips, and more.

                    homepage: https://jupyter.org/

                    version versionsuffix toolchain 4.7.7 -Python-3.7.4 foss/2019b, fosscuda/2019b 5.0.2 GCCcore/10.2.0 5.3.2 GCCcore/11.2.0 5.4.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#qtkeychain","title":"QtKeychain","text":"

                    Platform-independent Qt API for storing passwords securely.

                    homepage: https://github.com/frankosterfeld/qtkeychain

                    version toolchain 0.9.1 GCCcore/8.2.0, foss/2018b 0.13.2 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#qtltools","title":"QTLtools","text":"

                    QTLtools is a tool set for molecular QTL discovery and analysis. It allows to go from the raw sequence data to collection of molecular Quantitative Trait Loci (QTLs) in few easy-to-perform steps.

                    homepage: https://qtltools.github.io/qtltools/

                    version toolchain 1.1 intel/2016b 1.3.1 foss/2020b"},{"location":"version-specific/supported-software/#qtop","title":"qtop","text":"

                    qtop is a nifty command-line tool for monitoring queueing systems, esp. PBS/torque. It tries to fit as much information as possible in your screen's real estate, by stitching together the output of commands like pbsnodes -a, qstat & qstat -q. It is possible to write wrappers for other platforms -people have done so for SGE, OAR etc- or, even examine traces offline and present the sampled information.

                    homepage: http://cern.ch/fotis/QTOP/

                    version versionsuffix toolchain 53 -1 system"},{"location":"version-specific/supported-software/#qtpy","title":"QtPy","text":"

                    QtPy is a small abstraction layer that lets you write applications using a single API call to either PyQt or PySide. It provides support for PyQt5, PyQt4, PySide2 and PySide.

                    homepage: https://github.com/spyder-ide/qtpy

                    version versionsuffix toolchain 1.9.0 GCCcore/10.2.0 1.9.0 -Python-3.7.4 GCCcore/8.3.0 2.2.1 GCCcore/11.2.0 2.3.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#qualimap","title":"Qualimap","text":"

                    Qualimap 2 is a platform-independent application written in Java and R that provides both a Graphical User Inteface (GUI) and a command-line interface to facilitate the quality control of alignment sequencing data and its derivatives like feature counts.

                    homepage: http://qualimap.bioinfo.cipf.es/

                    version versionsuffix toolchain 2.2.1 -R-3.6.0 foss/2019a 2.2.1 -R-4.0.3 foss/2020b 2.2.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#quandl","title":"Quandl","text":"

                    A Python library for Quandl\u2019s RESTful API.

                    homepage: https://pypi.python.org/pypi/Quandl

                    version versionsuffix toolchain 3.4.2 -Python-3.6.4 intel/2018a 3.4.8 foss/2019a 3.6.1 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#quantumespresso","title":"QuantumESPRESSO","text":"

                    Quantum ESPRESSO is an integrated suite of computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials (both norm-conserving and ultrasoft).

                    homepage: https://www.quantum-espresso.org

                    version versionsuffix toolchain 5.3.0 intel/2016.02-GCC-4.9 5.4.0 intel/2016.02-GCC-4.9 5.4.0 -hybrid foss/2016b 6.0 intel/2016b 6.1 intel/2017a 6.2 intel/2017b 6.2.1 iomkl/2017b 6.3 foss/2018b, intel/2018b 6.4.1 intel/2019a 6.5 intel/2019a, intel/2019b 6.6 foss/2019b, foss/2020a, foss/2020b, intel/2019b, intel/2020a 6.7 foss/2019b, foss/2020b, foss/2021a, intel/2019b, intel/2021a, iomkl/2019b 6.8 foss/2021a, foss/2021b, intel/2021a 7.0 foss/2021b, intel/2021b 7.1 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#quast","title":"QUAST","text":"

                    QUAST evaluates genome assemblies by computing various metrics. It works both with and without reference genomes. The tool accepts multiple assemblies, thus is suitable for comparison.

                    homepage: https://github.com/ablab/quast

                    version versionsuffix toolchain 4.6.0 -Python-3.5.2 foss/2016b 4.6.3 -Python-3.6.4 foss/2018a 5.0.2 foss/2020b, foss/2021a, foss/2021b 5.0.2 -Python-2.7.15 foss/2018b, foss/2019a 5.0.2 -Python-2.7.18 foss/2020b 5.0.2 -Python-3.7.2 foss/2019a 5.0.2 -Python-3.8.2 foss/2020a 5.2.0 foss/2022a"},{"location":"version-specific/supported-software/#quazip","title":"QuaZIP","text":"

                    QuaZIP is the C++ wrapper for Gilles Vollant's ZIP/UNZIP package (AKA Minizip) using Trolltech's Qt library.

                    homepage: https://stachenov.github.io/quazip

                    version toolchain 0.8.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#quickff","title":"QuickFF","text":"

                    QuickFF is a Python package developed at the Center for Molecular Modeling (CMM) to quickly derive accurate force fields from ab initio calculations.

                    homepage: https://molmod.github.io/QuickFF/

                    version versionsuffix toolchain 2.1.4 -Python-2.7.12 intel/2016b 2.2.0 -Python-2.7.14 intel/2017b 2.2.4 -Python-3.7.2 intel/2019a 2.2.4 -Python-3.8.2 intel/2020a 2.2.7 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#quickpic","title":"QuickPIC","text":"

                    QuickPIC is a 3D parallel (MPI & OpenMP Hybrid) Quasi-Static PIC code, which is developed based on the framework UPIC. QuickPIC can efficiently simulate plasma based accelerator problems. This is the UCLA Plasma Simulation Group's official open-source repository for QuickPIC.

                    homepage: https://github.com/UCLA-Plasma-Simulation-Group/QuickPIC-OpenSource

                    version toolchain 20210224 gompi/2021b"},{"location":"version-specific/supported-software/#quip","title":"Quip","text":"

                    Quip compresses next-generation sequencing data with extreme prejudice. It supports input and output in the FASTQ and SAM/BAM formats, compressing large datasets to as little as 15% of their original size.

                    homepage: http://homes.cs.washington.edu/~dcjones/quip

                    version toolchain 1.1.8 GCC/4.8.2"},{"location":"version-specific/supported-software/#quorum","title":"Quorum","text":"

                    QuorUM is an error corrector for Illumina reads

                    homepage: http://www.genome.umd.edu/quorum.html

                    version toolchain 1.1.1 intel/2017a"},{"location":"version-specific/supported-software/#qutip","title":"QuTiP","text":"

                    QuTiP is open-source software for simulating the dynamics of open quantum systems.

                    homepage: http://qutip.org

                    version versionsuffix toolchain 4.1.0 -Python-2.7.12 intel/2016b 4.3.1 -Python-3.6.6 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#qwt","title":"Qwt","text":"

                    The Qwt library contains GUI Components and utility classes which are primarily useful for programs with a technical background.

                    homepage: https://qwt.sourceforge.io/

                    version toolchain 6.1.2 intel/2016a 6.1.3 foss/2016b, intel/2016b 6.1.4 GCCcore/8.2.0, GCCcore/8.3.0, foss/2018b 6.1.5 GCCcore/10.2.0, GCCcore/9.3.0 6.2.0 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#qwtpolar","title":"QwtPolar","text":"

                    The QwtPolar library contains classes for displaying values on a polar coordinate system.

                    homepage: http://qwtpolar.sourceforge.net/

                    version toolchain 1.1.1 GCCcore/10.2.0, GCCcore/8.2.0, foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#r","title":"R","text":"

                    R - R-bundle-Bioconductor - R-INLA - R-keras - R-MXM - R-opencv - R-tesseract - R-transport - R2jags - Racon - radeontop - RaGOO - Ragout - RagTag - rampart - randfold - randrproto - rapidcsv - RapidJSON - rapidNJ - rapidtide - RAPSearch2 - Rascaf - RASPA2 - rasterio - rasterstats - Ratatosk - Raven - RAxML - RAxML-NG - Ray-assembler - Ray-project - Raysect - RBFOpt - rclone - Rcorrector - RcppGSL - rCUDA - RDFlib - RDKit - RDP-Classifier - RE2 - re2c - Reads2snp - Reapr - ReaxFF - RECON - Red - Redis - redis-py - Redundans - ReFrame - regionmask - RegTools - Relate - RELION - ReMatCh - REMORA - renderproto - RepastHPC - RepeatMasker - RepeatModeler - RepeatScout - request - requests - RERconverge - resolos - retworkx - RevBayes - rgdal - rgeos - Rgurobi - rhdf5 - RheoTool - rickflow - RInChI - rioxarray - ripunzip - rising - Rivet - rjags - RLCard - rmarkdown - Rmath - rMATS-turbo - RMBlast - RNA-Bloom - RNA-SeQC - RNAclust - RNAcode - RNAIndel - RNAmmer - rnaQUAST - RNAz - RnBeads - Roary - ROCm - rocm-cmake - ROCm-CompilerSupport - rocm-smi - rocminfo - ROCR-Runtime - ROCT-Thunk-Interface - ROI_PAC - ROME - ROOT - root_numpy - rootpy - Rosetta - rpmrebuild - RPostgreSQL - rpy2 - RQGIS3 - RSEM - RSeQC - RStan - rstanarm - RStudio-Server - RTG-Tools - Rtree - ruamel.yaml - Ruby - Ruby-Tk - ruffus - Rust - rustworkx

                    "},{"location":"version-specific/supported-software/#r_1","title":"R","text":"

                    R is a free software environment for statistical computing and graphics.

                    homepage: https://www.r-project.org/

                    version versionsuffix toolchain 3.2.3 foss/2016a, foss/2016b, intel/2016a 3.2.3 -bare foss/2016a, intel/2016a 3.2.3 -libX11-1.6.3 intel/2016a 3.3.1 foss/2016a, foss/2016b, intel/2016b 3.3.3 -X11-20160819 foss/2016b, intel/2016b 3.3.3 -X11-20170314 intel/2017a 3.4.0 -X11-20170314 intel/2017a 3.4.1 -X11-20160819 foss/2016b 3.4.3 -X11-20171023 foss/2017b, intel/2017b 3.4.3 -X11-20171023-HDF5-1.8.19 intel/2017b 3.4.4 -X11-20180131 foss/2018a, intel/2018a, iomkl/2018a 3.5.0 -X11-20180131 iomkl/2018a 3.5.1 foss/2018b, intel/2018b 3.5.1 -Python-2.7.15 foss/2018b 3.5.1 -bare foss/2018b 3.6.0 foss/2019a, fosscuda/2019a, intel/2019a 3.6.2 foss/2019b, fosscuda/2019b, intel/2019b 3.6.3 foss/2020a 4.0.0 foss/2020a, fosscuda/2020a 4.0.3 foss/2020b, fosscuda/2020b 4.0.4 foss/2020b, fosscuda/2020b 4.0.5 foss/2020b, fosscuda/2020b 4.1.0 foss/2021a 4.1.2 foss/2021b 4.2.0 foss/2021b 4.2.1 foss/2022a 4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#r-bundle-bioconductor","title":"R-bundle-Bioconductor","text":"

                    Bioconductor provides tools for the analysis and coprehension of high-throughput genomic data.

                    homepage: https://bioconductor.org

                    version versionsuffix toolchain 3.2 -R-3.2.3 foss/2016a, intel/2016a 3.3 -R-3.3.1 intel/2016b 3.5 -R-3.4.0 intel/2017a 3.6 -R-3.4.3 foss/2017b, intel/2017b 3.6 -R-3.4.4 intel/2018a 3.7 -R-3.5.0 iomkl/2018a 3.7 -R-3.5.1 foss/2018b 3.8 -R-3.5.1 foss/2018b 3.9 -R-3.6.0 foss/2019a 3.10 foss/2019b 3.11 -R-4.0.0 foss/2020a 3.12 -R-4.0.3 foss/2020b 3.13 -R-4.1.0 foss/2021a 3.14 -R-4.1.2 foss/2021b 3.15 -R-4.2.0 foss/2021b 3.15 -R-4.2.1 foss/2022a 3.16 -R-4.2.2 foss/2022b"},{"location":"version-specific/supported-software/#r-inla","title":"R-INLA","text":"

                    R-INLA is a package in R that do approximate Bayesian inference for Latent Gaussian Models.

                    homepage: https://www.r-inla.org

                    version versionsuffix toolchain 21.05.02 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#r-keras","title":"R-keras","text":"

                    Interface to 'Keras' https://keras.io, a high-level neural networks 'API'.

                    homepage: https://cran.r-project.org/web/packages/keras

                    version versionsuffix toolchain 2.1.6 -R-3.4.4 foss/2018a 2.2.5.0 -Python-3.7.2-R-3.6.0 foss/2019a, fosscuda/2019a 2.2.5.0 -Python-3.7.4-R-3.6.2 foss/2019b, fosscuda/2019b 2.4.0 -R-4.0.4 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#r-mxm","title":"R-MXM","text":"

                    MXM: Feature Selection (Including Multiple Solutions) and Bayesian Networks

                    homepage: https://cran.r-project.org/package=MXM

                    version toolchain 1.5.5 foss/2021b"},{"location":"version-specific/supported-software/#r-opencv","title":"R-opencv","text":"

                    Experimenting with computer vision and machine learning in R. This package exposes some of the available OpenCV algorithms, such as edge, body or face detection. These can either be applied to analyze static images, or to filter live video footage from a camera device.

                    homepage: https://cran.r-project.org/web/packages/opencv/

                    version versionsuffix toolchain 0.2.0 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#r-tesseract","title":"R-tesseract","text":"

                    The R extension for using tesseract

                    homepage: https://cran.r-project.org/package=tesseract

                    version versionsuffix toolchain 4.0 -R-3.5.1 foss/2018b 5.1.0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#r-transport","title":"R-transport","text":"

                    transport: Computation of Optimal Transport Plans and Wasserstein Distances

                    homepage: https://cran.r-project.org/package=transport

                    version toolchain 0.13-0 foss/2021b"},{"location":"version-specific/supported-software/#r2jags","title":"R2jags","text":"

                    Providing wrapper functions to implement Bayesian analysis in JAGS.

                    homepage: https://cran.r-project.org/web/packages/R2jags

                    version versionsuffix toolchain 0.7-1 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#racon","title":"Racon","text":"

                    Ultrafast consensus module for raw de novo genome assembly of long uncorrected reads.

                    homepage: https://github.com/lbcb-sci/racon

                    version toolchain 1.3.2 GCCcore/8.2.0 1.4.7 GCCcore/8.2.0, gcccuda/2019b 1.4.10 GCC/7.3.0-2.30 1.4.13 GCCcore/8.3.0, GCCcore/9.3.0 1.4.21 GCCcore/10.2.0, GCCcore/10.3.0 1.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#radeontop","title":"radeontop","text":"

                    View your GPU utilization, both for the total activity percent and individual blocks.

                    homepage: https://github.com/clbr/radeontop

                    version toolchain 1.3 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#ragoo","title":"RaGOO","text":"

                    A tool to order and orient genome assembly contigs via Minimap2 alignments to a reference genome

                    homepage: https://github.com/malonge/RaGOO

                    version versionsuffix toolchain 1.11 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#ragout","title":"Ragout","text":"

                    Ragout (Reference-Assisted Genome Ordering UTility) is a tool for chromosome-level scaffolding using multiple references. Given initial assembly fragments (contigs/scaffolds) and one or multiple related references (complete or draft), it produces a chromosome-scale assembly (as a set of scaffolds).

                    homepage: https://github.com/fenderglass/Ragout

                    version versionsuffix toolchain 2.0 -Python-2.7.12 foss/2016b 2.3 foss/2020b"},{"location":"version-specific/supported-software/#ragtag","title":"RagTag","text":"

                    RagTag is a collection of software tools for scaffolding and improving modern genome assemblies. Tasks include: homology-based misassembly correction, homology-based assembly scaffolding and patching, and scaffold merging. RagTag also provides command line utilities for working with common genome assembly file formats.

                    homepage: https://github.com/malonge/RagTag

                    version toolchain 2.0.1 foss/2020b"},{"location":"version-specific/supported-software/#rampart","title":"rampart","text":"

                    Read Assignment, Mapping, and Phylogenetic Analysis in Real Time.

                    homepage: https://github.com/artic-network/rampart/

                    version versionsuffix toolchain 1.2.0 foss/2020b 1.2.0rc3 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#randfold","title":"randfold","text":"

                    Minimum free energy of folding randomization test software

                    homepage: http://bioinformatics.psb.ugent.be/software/details/Randfold

                    version toolchain 2.0.1 foss/2018b, intel/2016b"},{"location":"version-specific/supported-software/#randrproto","title":"randrproto","text":"

                    Xrandr protocol and ancillary headers

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.5.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#rapidcsv","title":"rapidcsv","text":"

                    Rapidcsv is a C++ header-only library for CSV parsing. While the name admittedly was inspired by the rapidjson project, the objectives are not the same. The goal of rapidcsv is to be an easy-to-use CSV library enabling rapid development. For optimal performance (be it CPU or memory usage) a CSV parser implemented for the specific use-case is likely to be more performant.

                    homepage: https://github.com/d99kris/rapidcsv

                    version toolchain 8.64 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#rapidjson","title":"RapidJSON","text":"

                    A fast JSON parser/generator for C++ with both SAX/DOM style API

                    homepage: https://rapidjson.org

                    version toolchain 1.1.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#rapidnj","title":"rapidNJ","text":"

                    RapidNJ is an algorithmic engineered implementation of canonical neighbour-joining. It uses an efficient search heuristic to speed-up the core computations of the neighbour-joining method that enables RapidNJ to outperform other state-of-the-art neighbour-joining implementations.

                    homepage: https://github.com/somme89/rapidNJ

                    version toolchain 2.3.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#rapidtide","title":"rapidtide","text":"

                    Rapidtide is a suite of python programs used to perform time delay analysis on functional imaging data to find time lagged correlations between the voxelwise time series and other time series.

                    homepage: https://rapidtide.readthedocs.io

                    version versionsuffix toolchain 1.8.0 -Python-3.7.2 intel/2019a"},{"location":"version-specific/supported-software/#rapsearch2","title":"RAPSearch2","text":"

                    RAPSearch stands for Reduced Alphabet based Protein similarity Search

                    homepage: https://omics.informatics.indiana.edu/mg/RAPSearch2

                    version toolchain 2.24 GCC/9.3.0"},{"location":"version-specific/supported-software/#rascaf","title":"Rascaf","text":"

                    Rascaf (RnA-seq SCAFfolder) uses continuity and order information from paired-end RNA-seq reads to improve a draft assembly, particularly in the gene regions.

                    homepage: https://github.com/mourisl/Rascaf

                    version toolchain 1.0.2 intel/2017a"},{"location":"version-specific/supported-software/#raspa2","title":"RASPA2","text":"

                    RASPA is a software package for simulating adsorption and diffusion of molecules in flexible nanoporous materials.

                    homepage: https://iraspa.org/raspa/

                    version versionsuffix toolchain 2.0.3 -Python-2.7.12 intel/2016b 2.0.41 foss/2020b"},{"location":"version-specific/supported-software/#rasterio","title":"rasterio","text":"

                    Rasterio reads and writes geospatial raster data.

                    homepage: https://github.com/mapbox/rasterio

                    version versionsuffix toolchain 1.1.7 -Python-3.8.2 foss/2020a 1.2.3 foss/2020b 1.2.10 foss/2021b 1.3.4 foss/2022a 1.3.8 foss/2022b"},{"location":"version-specific/supported-software/#rasterstats","title":"rasterstats","text":"

                    rasterstats is a Python module for summarizing geospatial raster datasets based on vector geometries.

                    homepage: https://github.com/perrygeo/python-rasterstats

                    version versionsuffix toolchain 0.15.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#ratatosk","title":"Ratatosk","text":"

                    Phased hybrid error correction of long reads using colored de Bruijn graphs

                    homepage: https://github.com/DecodeGenetics/Ratatosk

                    version toolchain 0.4 GCC/10.2.0"},{"location":"version-specific/supported-software/#raven","title":"Raven","text":"

                    Raven is a de novo genome assembler for long uncorrected reads.

                    homepage: https://github.com/lbcb-sci/raven

                    version toolchain 1.8.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#raxml","title":"RAxML","text":"

                    RAxML search algorithm for maximum likelihood based inference of phylogenetic trees.

                    homepage: https://github.com/stamatak/standard-RAxML

                    version versionsuffix toolchain 8.2.4 -hybrid-avx2 foss/2016a 8.2.9 -hybrid-avx2 foss/2016a 8.2.10 -hybrid-avx2 intel/2017a 8.2.11 -hybrid-avx foss/2017b, intel/2017b 8.2.11 -hybrid-avx2 foss/2017b, intel/2017b, intel/2018a 8.2.11 -hybrid-sse3 foss/2017b, intel/2017b 8.2.12 -hybrid-avx2 gompi/2020a, gompi/2020b, gompi/2021a, gompi/2021b, iimpi/2019b, intel/2018b, intel/2019a 8.2.12 -pthreads-avx2 GCC/10.2.0"},{"location":"version-specific/supported-software/#raxml-ng","title":"RAxML-NG","text":"

                    RAxML-NG is a phylogenetic tree inference tool which uses maximum-likelihood (ML) optimality criterion. Its search heuristic is based on iteratively performing a series of Subtree Pruning and Regrafting (SPR) moves, which allows to quickly navigate to the best-known ML tree.

                    homepage: https://github.com/amkozlov/raxml-ng

                    version toolchain 0.9.0 GCC/8.3.0, gompi/2019b 1.0.1 gompi/2019b 1.0.2 gompi/2020b 1.0.3 GCC/10.2.0 1.1.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#ray-assembler","title":"Ray-assembler","text":"

                    Parallel genome assemblies for parallel DNA sequencing

                    homepage: http://denovoassembler.sourceforge.net/

                    version toolchain 2.3.1 iimpi/2019a"},{"location":"version-specific/supported-software/#ray-project","title":"Ray-project","text":"

                    Ray is a fast and simple framework for building and running distributed applications.

                    homepage: https://docs.ray.io/en/latest/

                    version versionsuffix toolchain 0.8.4 -Python-3.7.4 foss/2019b 1.0.1 -Python-3.7.4 fosscuda/2019b 1.9.2 foss/2021b 1.13.0 foss/2021a, foss/2021b 2.2.0 foss/2022a"},{"location":"version-specific/supported-software/#raysect","title":"Raysect","text":"

                    Raysect is an OOP ray-tracing framework for Python

                    homepage: https://raysect.org

                    version versionsuffix toolchain 0.6.0 -Python-3.6.6 intel/2018b 0.7.1 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#rbfopt","title":"RBFOpt","text":"

                    RBFOpt is a Python library for black-box optimization (also known as derivative-free optimization).

                    homepage: https://github.com/coin-or/rbfopt

                    version versionsuffix toolchain 4.1.1 intel/2019a 4.1.1 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#rclone","title":"rclone","text":"

                    Rclone is a command line program to sync files and directories to and from a variety of online storage services

                    homepage: https://rclone.org

                    version versionsuffix toolchain 1.42 -amd64 system 1.54.1 -amd64 system 1.56.0 -amd64 system 1.57.0 system"},{"location":"version-specific/supported-software/#rcorrector","title":"Rcorrector","text":"

                    Rcorrector(RNA-seq error CORRECTOR) is a kmer-based error correction method for RNA-seq data.

                    homepage: https://github.com/mourisl/Rcorrector

                    version toolchain 1.0.2 intel/2017a"},{"location":"version-specific/supported-software/#rcppgsl","title":"RcppGSL","text":"

                    The 'RcppGSL' package provides an easy-to-use interface between 'GSL' data structures and R using concepts from 'Rcpp' which is itself a package that eases the interfaces between R and C++.

                    homepage: https://cran.r-project.org/web/packages/RcppGSL

                    version versionsuffix toolchain 0.3.8 -R-4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#rcuda","title":"rCUDA","text":"

                    The rCUDA Framework enables the concurrent usage of CUDA-compatible devices remotely.

                    homepage: http://www.rcuda.net/

                    version versionsuffix toolchain 4.0.1 _linux_64_Ubuntu10.04 system 5.0 _linux_64_scientificLinux6 system"},{"location":"version-specific/supported-software/#rdflib","title":"RDFlib","text":"

                    RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.

                    homepage: https://github.com/RDFLib/rdflib

                    version toolchain 4.2.2 GCCcore/8.3.0, foss/2019a 5.0.0 GCCcore/10.2.0 6.2.0 GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#rdkit","title":"RDKit","text":"

                    RDKit is a collection of cheminformatics and machine-learning software written in C++ and Python.

                    homepage: https://www.rdkit.org

                    version versionsuffix toolchain 2018.09.3 -Python-3.6.6 intel/2018b 2019.09.3 -Python-3.7.4 foss/2019b 2020.03.3 -Python-3.8.2 foss/2020a, intel/2020a 2020.09.3 -Python-3.7.4 foss/2019b 2021.03.4 foss/2021a 2022.03.5 foss/2021b 2022.09.4 foss/2022a"},{"location":"version-specific/supported-software/#rdp-classifier","title":"RDP-Classifier","text":"

                    The RDP Classifier is a naive Bayesian classifier that can rapidly and accurately provides taxonomic assignments from domain to genus, with confidence estimates for each assignment.

                    homepage: http://sourceforge.net/projects/rdp-classifier

                    version versionsuffix toolchain 2.7 -Java-1.7.0_60 system 2.12 -Java-1.8 system 2.13 -Java-11 system 2.13 -Java-17 system"},{"location":"version-specific/supported-software/#re2","title":"RE2","text":"

                    RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.

                    homepage: https://github.com/google/re2

                    version toolchain 2020-07-01 GCCcore/8.3.0 2021-06-01 GCCcore/10.2.0 2022-02-01 GCCcore/10.3.0, GCCcore/11.2.0 2022-06-01 GCCcore/11.3.0 2023-03-01 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#re2c","title":"re2c","text":"

                    re2c is a free and open-source lexer generator for C and C++. Its main goal is generating fast lexers: at least as fast as their reasonably optimized hand-coded counterparts. Instead of using traditional table-driven approach, re2c encodes the generated finite state automata directly in the form of conditional jumps and comparisons.

                    homepage: https://re2c.org

                    version toolchain 1.1.1 GCCcore/8.2.0 1.2.1 GCCcore/8.3.0 1.3 GCCcore/9.3.0 2.0.3 GCCcore/10.2.0 2.1.1 GCCcore/10.3.0 2.2 GCCcore/11.2.0, GCCcore/11.3.0 3.0 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#reads2snp","title":"Reads2snp","text":"

                    reads2snp is a SNP and genotype caller: it predicts the genotype of distinct individuals at distinct positions of a set of sequences based on read mapping / read counts. Its typical input is a bam file. Its typical output is a vcf file. It is written in C++, based on the bio++ libraries, multi-threaded with openMP, available under Linux and MacOS

                    homepage: http://kimura.univ-montp2.fr/PopPhyl/index.php?section=tools

                    version toolchain 2.0 system"},{"location":"version-specific/supported-software/#reapr","title":"Reapr","text":"

                    A tool that evaluates the accuracy of a genome assembly using mapped paired end reads, without the use of a reference genome for comparison.

                    homepage: https://www.sanger.ac.uk/science/tools/reapr

                    version toolchain 1.0.18 foss/2019a"},{"location":"version-specific/supported-software/#reaxff","title":"ReaxFF","text":"

                    REAXFF Reactive force field program

                    homepage: https://www.engr.psu.edu/adri/ReaxffManual.aspx

                    version toolchain 2.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#recon","title":"RECON","text":"

                    Patched version of RECON to be used with RepeatModeler.

                    homepage: https://www.repeatmasker.org/RepeatModeler/

                    version toolchain 1.08 GCC/10.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#red","title":"Red","text":"

                    Red (REpeat Detector)

                    homepage: http://toolsmith.ens.utulsa.edu/

                    version toolchain 2015-05-22 iccifort/2019.1.144-GCC-8.2.0-2.31.1"},{"location":"version-specific/supported-software/#redis","title":"Redis","text":"

                    Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.

                    homepage: https://redis.io

                    version toolchain 6.2.6 GCC/10.3.0, GCC/11.2.0 7.0.8 GCC/11.3.0"},{"location":"version-specific/supported-software/#redis-py","title":"redis-py","text":"

                    The Python interface to the Redis key-value store.

                    homepage: https://github.com/redis/redis-py

                    version toolchain 4.3.1 foss/2021a 4.3.3 foss/2021b 4.5.1 foss/2022a"},{"location":"version-specific/supported-software/#redundans","title":"Redundans","text":"

                    Redundans is a pipeline that assists an assembly of heterozygous/polymorphic genomes.

                    homepage: https://github.com/lpryszcz/redundans

                    version toolchain 0.13c intel/2017b"},{"location":"version-specific/supported-software/#reframe","title":"ReFrame","text":"

                    ReFrame is a framework for writing regression tests for HPC systems.

                    homepage: https://github.com/reframe-hpc/reframe

                    version toolchain 2.18 system 2.19 system 2.20 system 2.21 system 3.0 system 3.2 system 3.3 system 3.4.1 system 3.5.0 system 3.5.1 system 3.5.2 system 3.6.2 system 3.6.3 system 3.7.3 system 3.8.0 system 3.9.0 system 3.9.1 system 3.10.1 system 3.11.0 system 3.11.1 system 3.11.2 system 3.12.0 system 4.0.1 system 4.0.5 system 4.2.0 system"},{"location":"version-specific/supported-software/#regionmask","title":"regionmask","text":"

                    regionmask creates masks of geographical regions. It determines to which geographic region each grid point belongs.

                    homepage: https://regionmask.readthedocs.io

                    version versionsuffix toolchain 0.9.0 foss/2021b, foss/2022a 0.9.0 -Python-3.8.2 foss/2020a 0.10.0 foss/2022b"},{"location":"version-specific/supported-software/#regtools","title":"RegTools","text":"

                    RegTools is a set of tools that integrate DNA-seq and RNA-seq data to help interpret mutations in a regulatory and splicing context.

                    homepage: https://regtools.readthedocs.org

                    version toolchain 0.4.2 foss/2020b 0.5.2 foss/2020b, foss/2021b"},{"location":"version-specific/supported-software/#relate","title":"Relate","text":"

                    Software for estimating genome-wide genealogies for thousands of samples

                    homepage: https://myersgroup.github.io/relate/

                    version versionsuffix toolchain 20211123 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#relion","title":"RELION","text":"

                    RELION (for REgularised LIkelihood OptimisatioN, pronounce rely-on) is a stand-alone computer program that employs an empirical Bayesian approach to refinement of (multiple) 3D reconstructions or 2D class averages in electron cryo-microscopy (cryo-EM).

                    homepage: http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page

                    version versionsuffix toolchain 1.4 intel/2016b 1.4 -single intel/2016b 2.0.1 intel/2016b 2.1 foss/2017b, foss/2018a, fosscuda/2017b, fosscuda/2018a, intel/2017b, intelcuda/2017b 2.1 -CUDA-9.1.85 foss/2018a 3.0.4 foss/2017b, intel/2017b 3.0_beta.2018.08.02 fosscuda/2018a, intel/2018a"},{"location":"version-specific/supported-software/#rematch","title":"ReMatCh","text":"

                    Reads mapping against target sequences, checking mapping and consensus sequences production

                    homepage: https://github.com/B-UMMI/ReMatCh

                    version versionsuffix toolchain 3.2 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#remora","title":"REMORA","text":"

                    REsource MOnitoring for Remote Applications

                    homepage: https://github.com/TACC/remora

                    version toolchain 1.8.2 foss/2017a, foss/2018a, intel/2017a, intel/2018a 1.8.3 gompi/2019a"},{"location":"version-specific/supported-software/#renderproto","title":"renderproto","text":"

                    Xrender protocol and ancillary headers

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 0.11 foss/2016a, gimkl/2.11.5, intel/2016a, intel/2017b"},{"location":"version-specific/supported-software/#repasthpc","title":"RepastHPC","text":"

                    The Repast Suite is a family of advanced, free, and open source agent-based modeling and simulation platforms that have collectively been under continuous development for over 15 years: Repast for High Performance Computing 2.2.0, released on 30 September 2016, is a lean and expert-focused C++-based modeling system that is designed for use on large computing clusters and supercomputers.

                    homepage: https://repast.github.io/

                    version toolchain 2.2.0 foss/2016a"},{"location":"version-specific/supported-software/#repeatmasker","title":"RepeatMasker","text":"

                    RepeatMasker is a program that screens DNA sequences for interspersed repeats and low complexity DNA sequences.

                    homepage: https://www.repeatmasker.org/

                    version versionsuffix toolchain 4.0.8 -Perl-5.26.0-HMMER GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28 4.0.8 -Perl-5.28.0-HMMER intel/2018b 4.0.9-p2 -HMMER gompi/2019b 4.1.2-p1 foss/2020b 4.1.4 foss/2022a 4.1.5 foss/2022a"},{"location":"version-specific/supported-software/#repeatmodeler","title":"RepeatModeler","text":"

                    RepeatModeler is a de novo transposable element (TE) family identification and modeling package.

                    homepage: https://www.repeatmasker.org/

                    version toolchain 2.0.2a foss/2020b 2.0.4 foss/2022a"},{"location":"version-specific/supported-software/#repeatscout","title":"RepeatScout","text":"

                    De Novo Repeat Finder, Price A.L., Jones N.C. and Pevzner P.A. Developed and tested with our multiple sequence version of RepeatScout ( 1.0.6 )

                    homepage: https://www.repeatmasker.org/

                    version toolchain 1.0.6 GCC/10.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#request","title":"request","text":"

                    Request is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.

                    homepage: https://github.com/request/request/

                    version versionsuffix toolchain 2.88.1 -nodejs-12.19.0 fosscuda/2020b"},{"location":"version-specific/supported-software/#requests","title":"requests","text":"

                    Python http for humans

                    homepage: https://pypi.python.org/pypi/requests

                    version versionsuffix toolchain 2.10.0 -Python-2.7.11 foss/2016a 2.10.0 -Python-3.5.1 foss/2016a 2.11.1 -Python-2.7.12 intel/2016b 2.11.1 -Python-3.5.2 intel/2016b 2.13.0 -Python-2.7.12 foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#rerconverge","title":"RERconverge","text":"

                    RERconverge is a set of software written in R that estimates the correlation between relative evolutionary rates of genes and the evolution of a convergent binary or continuous trait across a phylogeny.

                    homepage: https://github.com/nclark-lab/RERconverge

                    version versionsuffix toolchain 0.1.0 -R-3.4.3 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#resolos","title":"resolos","text":"

                    Resolos is a toolkit written in Python for maintaining reproducible environments for scientific computations. It's main goal is to enable researchers to easily replicate environments through space (running code on HPC environment) and time (environment preservation for long term archival). For installation and detailed usage, check out the documentation.

                    homepage: https://gitlab.unige.ch/resolos/resolos

                    version toolchain 0.3.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#retworkx","title":"retworkx","text":"

                    retworkx is a general purpose graph library for python3 written in Rust to take advantage of the performance and safety that Rust provides. It was built as a replacement for qiskit's previous (and current) networkx usage (hence the name) but is designed to provide a high performance general purpose graph library for any python application. The project was originally started to build a faster directed graph to use as the underlying data structure for the DAG at the center of qiskit-terra's transpiler, but it has since grown to cover all the graph usage in Qiskit and other applications.

                    homepage: https://github.com/Qiskit/retworkx

                    version toolchain 0.9.0 foss/2021a"},{"location":"version-specific/supported-software/#revbayes","title":"RevBayes","text":"

                    RevBayes provides an interactive environment for statistical computation in phylogenetics. It is primarily intended for modeling, simulation, and Bayesian inference in evolutionary biology, particularly phylogenetics.

                    homepage: https://revbayes.github.io

                    version toolchain 1.1.1 GCC/10.2.0, GCC/11.2.0 1.2.1 gompi/2022a"},{"location":"version-specific/supported-software/#rgdal","title":"rgdal","text":"

                    Provides bindings to the 'Geospatial' Data Abstraction Library ('GDAL') (>= 1.11.4 and <= 2.5.0) and access to projection/transformation operations from the 'PROJ.4' library.

                    homepage: https://rgdal.r-forge.r-project.org/

                    version versionsuffix toolchain 1.4-4 -R-3.6.0 foss/2019a 1.4-8 -R-3.6.2 foss/2019b 1.4-8 -R-4.0.0 foss/2020a 1.5-16 -R-4.0.0 foss/2020a 1.5-23 -R-4.0.4 foss/2020b 1.5-23 -R-4.1.0 foss/2021a 1.6-6 foss/2022a"},{"location":"version-specific/supported-software/#rgeos","title":"rgeos","text":"

                    R interface to Geometry Engine - Open Source (GEOS) using the C API for topology operations on geometries

                    homepage: https://cran.r-project.org/web/packages/rgeos/

                    version versionsuffix toolchain 0.3-17 -R-3.2.3 intel/2016a 0.5-1 -R-3.6.0 foss/2019a 0.5-2 -R-3.6.2 foss/2019b 0.5-5 -R-4.0.0 foss/2020a 0.5-5 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#rgurobi","title":"Rgurobi","text":"

                    Gurobi Optimizer 9.5 interface

                    homepage: https://www.gurobi.com

                    version versionsuffix toolchain 9.1.2 -R-4.1.0 foss/2021a 9.5.0 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#rhdf5","title":"rhdf5","text":"

                    This R/Bioconductor package provides an interface between HDF5 and R.

                    homepage: https://bioconductor.org/packages/release/bioc/html/rhdf5.html

                    version versionsuffix toolchain 2.16.0 -R-3.2.3 intel/2016a 2.18.0 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#rheotool","title":"RheoTool","text":"

                    RheoTool is an open-source toolbox based on OpenFOAM to simulate Generalized Newtonian Fluids (GNF) and viscoelastic fluids under pressure-driven and/or electrically-driven flows.

                    homepage: https://github.com/fppimenta/rheoTool

                    version toolchain 5.0 foss/2019b"},{"location":"version-specific/supported-software/#rickflow","title":"rickflow","text":"

                    Running and Analyzing OpenMM Jobs

                    homepage: https://gitlab.com/Olllom/rickflow

                    version versionsuffix toolchain 0.7.0 -Python-3.7.4 intel/2019b 0.7.0-20200529 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#rinchi","title":"RInChI","text":"

                    The reaction IUPAC International Chemical Identifier (RInChI TM) is a non-proprietary identifier for chemical reactions that can be used in printed and electronic data sources thus enabling easier linking of diverse data compilations.

                    homepage: https://www.inchi-trust.org/

                    version versionsuffix toolchain 1.00 -x86_64 system"},{"location":"version-specific/supported-software/#rioxarray","title":"rioxarray","text":"

                    geospatial xarray extension powered by rasterio

                    homepage: https://github.com/corteva/rioxarray

                    version versionsuffix toolchain 0.0.12 -Python-3.7.2 intel/2019a 0.0.24 -Python-3.7.4 foss/2019b 0.1.1 -Python-3.8.2 foss/2020a 0.11.1 foss/2021b 0.14.0 foss/2022a"},{"location":"version-specific/supported-software/#ripunzip","title":"ripunzip","text":"

                    A tool to unzip files in parallel.

                    homepage: https://github.com/google/ripunzip

                    version toolchain 0.4.0 system"},{"location":"version-specific/supported-software/#rising","title":"rising","text":"

                    Provides everything needed for high performance data loading and augmentation in PyTorch.

                    homepage: https://rising.rtfd.io/

                    version versionsuffix toolchain 0.2.2 foss/2021a, foss/2022a 0.2.2 -CUDA-11.3.1 foss/2021a 0.2.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#rivet","title":"Rivet","text":"

                    Rivet toolkit (Robust Independent Validation of Experiment and Theory) To use your own analysis you must append the path to RIVET_ANALYSIS_PATH.

                    homepage: https://gitlab.com/hepcedar/rivet

                    version versionsuffix toolchain 3.1.7 -HepMC3-3.2.5 gompi/2022a"},{"location":"version-specific/supported-software/#rjags","title":"rjags","text":"

                    The rjags package is an interface to the JAGS library.

                    homepage: https://cran.r-project.org/web/packages/rjags

                    version versionsuffix toolchain 4-6 -R-3.4.0 intel/2017a 4-6 -R-3.4.3 intel/2017b 4-8 -R-3.5.1 foss/2018b 4-9 -R-3.6.0 foss/2019a 4-10 foss/2019b 4-10 -R-4.0.0 foss/2020a 4-10 -R-4.0.3 foss/2020b, fosscuda/2020b 4-10 -R-4.0.4 foss/2020b, fosscuda/2020b 4-10 -R-4.0.5 foss/2020b, fosscuda/2020b 4-10 -R-4.1.0 foss/2021a 4-12 -R-4.1.2 foss/2021b 4-13 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#rlcard","title":"RLCard","text":"

                    RLCard is a toolkit for Reinforcement Learning (RL) in card games.

                    homepage: https://www.rlcard.org

                    version toolchain 1.0.9 foss/2022a"},{"location":"version-specific/supported-software/#rmarkdown","title":"rmarkdown","text":"

                    Convert R Markdown documents into a variety of formats.

                    homepage: https://cran.r-project.org/web/packages/rmarkdown

                    version versionsuffix toolchain 2.20 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#rmath","title":"Rmath","text":"

                    Rmath is the standalone version of the R math library. Rmath can be used in your own C/C++ routines.

                    homepage: https://www.r-project.org/

                    version toolchain 3.3.1 intel/2016b 4.0.4 foss/2020b"},{"location":"version-specific/supported-software/#rmats-turbo","title":"rMATS-turbo","text":"

                    rMATS turbo is the C/Cython version of rMATS (refer to http://rnaseq-mats.sourceforge.net).

                    homepage: https://github.com/Xinglab/rmats-turbo

                    version toolchain 4.1.1 foss/2020b"},{"location":"version-specific/supported-software/#rmblast","title":"RMBlast","text":"

                    RMBlast is a RepeatMasker compatible version of the standard NCBI BLAST suite. The primary difference between this distribution and the NCBI distribution is the addition of a new program 'rmblastn' for use with RepeatMasker and RepeatModeler.

                    homepage: http://www.repeatmasker.org/RMBlast.html

                    version versionsuffix toolchain 2.2.28 -Python-2.7.11 foss/2016a 2.9.0 gompi/2019b 2.10.0 gompi/2019b 2.11.0 gompi/2020b 2.13.0 gompi/2022a"},{"location":"version-specific/supported-software/#rna-bloom","title":"RNA-Bloom","text":"

                    RNA-Bloom is a fast and memory-efficient de novo transcript sequence assembler.

                    homepage: https://github.com/bcgsc/RNA-Bloom

                    version toolchain 1.2.3 GCC/8.3.0 1.4.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#rna-seqc","title":"RNA-SeQC","text":"

                    Fast, efficient RNA-Seq metrics for quality control and process optimization

                    homepage: https://github.com/getzlab/rnaseqc

                    version versionsuffix toolchain 1.1.8 -Java-1.8 foss/2018b 1.1.8 -Java-1.8.0_121 foss/2016b 1.1.8 -Java-11 GCCcore/11.2.0 2.4.2 foss/2021a, foss/2021b"},{"location":"version-specific/supported-software/#rnaclust","title":"RNAclust","text":"

                    RNAclust is a perl script summarizing all the single steps required for clustering of structured RNA motifs, i.e. identifying groups of RNA sequences sharing a secondary structure motif. It requires as input a multiple FASTA file.

                    homepage: http://www.bioinf.uni-leipzig.de/~kristin/Software/RNAclust/

                    version versionsuffix toolchain 1.3 -Perl-5.24.0 foss/2016b 1.3 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#rnacode","title":"RNAcode","text":"

                    RNAcode - Analyze the protein coding potential in multiple sequence alignments

                    homepage: https://wash.github.io/rnacode/

                    version toolchain 0.3 foss/2017a"},{"location":"version-specific/supported-software/#rnaindel","title":"RNAIndel","text":"

                    RNAIndel calls coding indels and classifies them into somatic, germline, and artifact from tumor RNA-Seq data.

                    homepage: https://github.com/stjude/RNAIndel

                    version versionsuffix toolchain 0.3.0 -Python-3.6.6 intel/2018b 1.0.0 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#rnammer","title":"RNAmmer","text":"

                    This is an example description.

                    homepage: https://www.cbs.dtu.dk/services/RNAmmer

                    version versionsuffix toolchain 1.2 -Perl-5.28.0 intel/2018b"},{"location":"version-specific/supported-software/#rnaquast","title":"rnaQUAST","text":"

                    rnaQUAST is a tool for evaluating RNA-Seq assemblies using reference genome and gene database. In addition, rnaQUAST is also capable of estimating gene database coverage by raw reads and de novo quality assessment using third-party software.

                    homepage: https://cab.spbu.ru/software/rnaquast/

                    version versionsuffix toolchain 1.5.2 -Python-2.7.15 foss/2018b 2.2.0 -Python-3.8.2 foss/2020a 2.2.2 foss/2021b"},{"location":"version-specific/supported-software/#rnaz","title":"RNAz","text":"

                    RNAz is a program for predicting structurally conserved and thermodynamically stable RNA secondary structures in multiple sequence alignments.

                    homepage: http://www.tbi.univie.ac.at/~wash/RNAz/

                    version toolchain 2.1 foss/2016b, foss/2018b"},{"location":"version-specific/supported-software/#rnbeads","title":"RnBeads","text":"

                    RnBeads is an R package for comprehensive analysis of DNA methylation data obtained with any experimental protocol that provides single-CpG resolution.

                    homepage: https://rnbeads.org

                    version versionsuffix toolchain 2.6.0 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#roary","title":"Roary","text":"

                    Rapid large-scale prokaryote pan genome analysis

                    homepage: https://github.com/sanger-pathogens/Roary

                    version versionsuffix toolchain 3.12.0 system 3.12.0 -Perl-5.26.1 intel/2018a 3.13.0 foss/2020a, foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#rocm","title":"ROCm","text":"

                    AMD ROCm is the first open-source software development platform for HPC/Hyperscale-class GPU computing. AMD ROCm brings the UNIX philosophy of choice, minimalism and modular software development to GPU computing.

                    homepage: https://rocmdocs.amd.com/en/latest/

                    version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#rocm-cmake","title":"rocm-cmake","text":"

                    ROCM cmake modules provides cmake modules for common build tasks needed for the ROCM software stack

                    homepage: https://github.com/RadeonOpenCompute/rocm-cmake

                    version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#rocm-compilersupport","title":"ROCm-CompilerSupport","text":"

                    The compiler support repository provides various Lightning Compiler related services

                    homepage: https://github.com/RadeonOpenCompute/ROCm-CompilerSupport

                    version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#rocm-smi","title":"rocm-smi","text":"

                    The ROCm System Management Interface Library, or ROCm SMI library, is part of the Radeon Open Compute ROCm software stack. It is a C library for Linux that provides a user space interface for applications to monitor and control GPU applications.

                    homepage: https://github.com/RadeonOpenCompute/rocm_smi_lib

                    version toolchain 4.5.0 GCCcore/11.2.0 5.4.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#rocminfo","title":"rocminfo","text":"

                    ROCm Application for Reporting System Info

                    homepage: https://github.com/RadeonOpenCompute/rocminfo

                    version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#rocr-runtime","title":"ROCR-Runtime","text":"

                    The user-mode API interfaces and libraries necessary for host applications to launch compute kernels to available HSA ROCm kernel agents

                    homepage: https://github.com/RadeonOpenCompute/ROCR-Runtime

                    version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#roct-thunk-interface","title":"ROCT-Thunk-Interface","text":"

                    The user-mode API interfaces used to interact with the ROCk driver

                    homepage: https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface

                    version toolchain 4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#roi_pac","title":"ROI_PAC","text":"

                    Repeat Orbit Interferometry PACkage (ROI_PAC), software for processing synthetic aperture radar data to produce differential interferograms

                    homepage: http://roipac.org/

                    version versionsuffix toolchain 3.0.1 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#rome","title":"ROME","text":"

                    The ROME (Refinement and Optimization via Machine Learning for cryo-EM) Software package is one of the major research products at the Intel\u00ae PCCSB.

                    homepage: https://ipccsb.dfci.harvard.edu/rome

                    version toolchain 1.1.2 intel/2019.02"},{"location":"version-specific/supported-software/#root","title":"ROOT","text":"

                    The ROOT system provides a set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way.

                    homepage: http://root.cern.ch/drupal/

                    version versionsuffix toolchain 6.10.02 -Python-2.7.12 foss/2016b, intel/2016b 6.10.04 -Python-2.7.13 intel/2017a 6.10.08 -Python-2.7.14 foss/2017b, intel/2017b 6.14.06 -Python-2.7.15 foss/2018b 6.14.06 -Python-3.6.6 foss/2018b 6.20.04 -Python-3.7.4 foss/2019b 6.22.08 foss/2020b 6.24.06 foss/2021b 6.26.06 foss/2022a 6.26.10 foss/2022b v5.34.34 -Python-2.7.11 intel/2016a v5.34.36 -Python-2.7.11 intel/2016a v6.06.02 -Python-2.7.12 intel/2016b v6.08.02 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#root_numpy","title":"root_numpy","text":"

                    root_numpy is a Python extension module that provides an efficient interface between ROOT and NumPy. root_numpy\u2019s internals are compiled C++ and can therefore handle large amounts of data much faster than equivalent pure Python implementations.

                    homepage: https://scikit-hep.org/root_numpy/

                    version versionsuffix toolchain 4.8.0 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#rootpy","title":"rootpy","text":"

                    The rootpy project is a community-driven initiative aiming to provide a more pythonic interface with ROOT on top of the existing PyROOT bindings. Given Python\u2019s reflective and dynamic nature, rootpy also aims to improve ROOT design flaws and supplement existing ROOT functionality. The scientific Python community also offers a multitude of powerful packages such as SciPy, NumPy, matplotlib, scikit-learn, and PyTables, but a suitable interface between them and ROOT has been lacking. rootpy provides the interfaces and conversion mechanisms required to liberate your data and to take advantage of these alternatives if needed.

                    homepage: http://www.rootpy.org/

                    version versionsuffix toolchain 0.8.0 -Python-2.7.11 foss/2016a 1.0.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#rosetta","title":"Rosetta","text":"

                    Rosetta is the premier software suite for modeling macromolecular structures. As a flexible, multi-purpose application, it includes tools for structure prediction, design, and remodeling of proteins and nucleic acids.

                    homepage: https://www.rosettacommons.org

                    version toolchain 3.7 foss/2016b 2016.13.58602 foss/2016a 2016.46.59086 foss/2016b"},{"location":"version-specific/supported-software/#rpmrebuild","title":"rpmrebuild","text":"

                    rpmrebuild is a tool to build an RPM file from a package that has already been installed in a basic use

                    homepage: http://rpmrebuild.sourceforge.net/

                    version toolchain 2.11 system"},{"location":"version-specific/supported-software/#rpostgresql","title":"RPostgreSQL","text":"

                    Database interface and 'PostgreSQL' driver for 'R'. This package provides a Database Interface 'DBI' compliant driver for 'R' to access 'PostgreSQL' database systems.

                    homepage: https://cran.r-project.org/package=tesseract

                    version toolchain 0.7-5 foss/2022a"},{"location":"version-specific/supported-software/#rpy2","title":"rpy2","text":"

                    rpy2 is an interface to R running embedded in a Python process.

                    homepage: https://rpy2.bitbucket.io/

                    version versionsuffix toolchain 2.7.9 -Python-2.7.12 foss/2016b 2.8.2 -Python-2.7.13 intel/2017a 3.2.6 -Python-3.7.4 foss/2019b 3.4.5 foss/2021b"},{"location":"version-specific/supported-software/#rqgis3","title":"RQGIS3","text":"

                    RQGIS3 establishes an interface between R and QGIS3, i.e., it allows the user to access QGIS3 functionalities from within R.

                    homepage: https://github.com/r-spatial/RQGIS3

                    version versionsuffix toolchain 20190903 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#rsem","title":"RSEM","text":"

                    RNA-Seq by Expectation-Maximization

                    homepage: https://deweylab.github.io/RSEM/

                    version toolchain 1.2.26 GNU/4.9.3-2.25 1.2.30 foss/2016a, intel/2016b 1.3.0 foss/2016b, intel/2017a 1.3.1 foss/2017b, intel/2017b, intel/2018a 1.3.2 foss/2018b 1.3.3 foss/2019b, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#rseqc","title":"RSeQC","text":"

                    RSeQC provides a number of useful modules that can comprehensively evaluate high throughput sequence data especially RNA-seq data. Some basic modules quickly inspect sequence quality, nucleotide composition bias, PCR bias and GC bias, while RNA-seq specific modules evaluate sequencing saturation, mapped reads distribution, coverage uniformity, strand specificity, transcript level RNA integrity etc.

                    homepage: http://rseqc.sourceforge.net/

                    version versionsuffix toolchain 2.6.4 -Python-2.7.12-R-3.3.1 foss/2016b 2.6.4 -Python-2.7.14 intel/2018a 3.0.0 -Python-3.6.6 foss/2018b 4.0.0 foss/2021a, foss/2021b 4.0.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#rstan","title":"RStan","text":"

                    RStan is the R interface to Stan. Stan is a state-of-the-art platform for statistical modeling and high-performance statistical computation.

                    homepage: https://github.com/stan-dev/rstan

                    version versionsuffix toolchain 2.18.2 -R-3.4.3 foss/2017b, intel/2017b 2.18.2 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#rstanarm","title":"rstanarm","text":"

                    Estimates previously compiled regression models using the 'rstan' package, which provides the R interface to the Stan C++ library for Bayesian estimation.

                    homepage: https://r-forge.r-project.org/projects/rstanarm

                    version versionsuffix toolchain 2.19.3 -R-3.6.2 foss/2019b"},{"location":"version-specific/supported-software/#rstudio-server","title":"RStudio-Server","text":"

                    This is the RStudio Server version. RStudio is a set of integrated tools designed to help you be more productive with R. The server can be started with: rserver --server-daemonize=0 --www-port=8787 If you need a database config one can be created with: MYTMP=mktemp -d && echo -e \"provider=sqlite\\ndirectory=${MYTMP}/sqlite\" > \"${MYTMP}/db.conf\" and then used with: rserver ... --database-config-file=\"${MYTMP}/db.conf\"

                    homepage: https://www.rstudio.com/

                    version versionsuffix toolchain 1.2.5033 -Java-11 fosscuda/2019b 1.2.5042 -Java-11 foss/2019b 1.3.959 -Java-11-R-4.0.0 foss/2020a 1.3.1093 -Java-11-R-4.0.0 foss/2020a 1.4.1717 -Java-11-R-4.1.0 foss/2021a 2022.07.2+576 -Java-11-R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#rtg-tools","title":"RTG-Tools","text":"

                    RTG Tools contains utilities to easily manipulate and accurately compare multiple VCF files, as well as utilities for processing other common NGS data formats.

                    homepage: https://www.realtimegenomics.com/products/rtg-tools

                    version versionsuffix toolchain 3.9.1 -Java-1.8 system"},{"location":"version-specific/supported-software/#rtree","title":"Rtree","text":"

                    Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial indexing features for the spatially curious Python user.

                    homepage: https://toblerity.org/rtree/

                    version versionsuffix toolchain 0.8.3 -Python-2.7.14 intel/2018a 1.0.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#ruamelyaml","title":"ruamel.yaml","text":"

                    ruamel.yaml is a YAML 1.2 loader/dumper package for Python.

                    homepage: https://sourceforge.net/projects/ruamel-yaml

                    version toolchain 0.17.21 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#ruby","title":"Ruby","text":"

                    Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.

                    homepage: https://www.ruby-lang.org

                    version toolchain 2.1.6 system 2.3.1 intel/2016b, system 2.3.3 system 2.3.4 system 2.4.2 foss/2017b 2.5.0 foss/2018a, intel/2017a, intel/2017b 2.5.1 foss/2018a, intel/2018a 2.6.1 GCCcore/7.3.0 2.6.3 GCCcore/8.2.0 2.7.1 GCCcore/8.3.0 2.7.2 GCCcore/10.2.0, GCCcore/9.3.0 3.0.1 GCCcore/10.3.0, GCCcore/11.2.0 3.0.3 GCCcore/11.3.0 3.0.5 GCCcore/11.3.0 3.2.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#ruby-tk","title":"Ruby-Tk","text":"

                    Ruby Tk interface module using tcltklib

                    homepage: https://github.com/ruby/tk

                    version versionsuffix toolchain 0.2.0 -Ruby-2.5.1 foss/2018a, intel/2018a"},{"location":"version-specific/supported-software/#ruffus","title":"ruffus","text":"

                    Ruffus is a Computation Pipeline library for python. It is open-sourced, powerful and user-friendly, and widely used in science and bioinformatics.

                    homepage: http://www.ruffus.org.uk/

                    version toolchain 2.8.4 GCCcore/11.3.0, foss/2021b"},{"location":"version-specific/supported-software/#rust","title":"Rust","text":"

                    Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.

                    homepage: https://www.rust-lang.org

                    version toolchain 1.8.0 foss/2016a 1.12.0 foss/2016b 1.12.1 foss/2016b 1.18.0 foss/2017a 1.21.0 foss/2017b 1.22.1 GCCcore/6.4.0 1.29.2 GCCcore/7.3.0 1.30.1 GCCcore/6.4.0 1.35.0 GCCcore/8.2.0 1.37.0 GCCcore/8.3.0 1.42.0 GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.52.1 GCCcore/10.2.0, GCCcore/10.3.0 1.54.0 GCCcore/11.2.0 1.56.0 GCCcore/11.2.0 1.60.0 GCCcore/10.3.0, GCCcore/11.3.0 1.65.0 GCCcore/11.3.0, GCCcore/12.2.0 1.70.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#rustworkx","title":"rustworkx","text":"

                    rustworkx (previously retworkx) is a general purpose graph library for Python written in Rust to take advantage of the performance and safety that Rust provides. It is designed to provide a high performance general purpose graph library for any Python application.

                    homepage: https://github.com/Qiskit/rustworkx

                    version toolchain 0.12.1 foss/2022a"},{"location":"version-specific/supported-software/#s","title":"S","text":"

                    S-Lang - S4 - Safetensors - SAGE - Sailfish - SALib - Salmon - SALMON-TDDFT - Sambamba - samblaster - Samcef - samclip - samplot - SAMtools - sansa - SAP - SAS - Satsuma2 - savvy - Saxon-HE - SBCL - sbt - ScaFaCoS - ScaLAPACK - Scalasca - SCALCE - Scalene - scanpy - scArches - sceasy - SCENIC - scGeneFit - SCGid - scHiCExplorer - Schrodinger - scib - sciClone - ScientificPython - scikit-allel - scikit-bio - scikit-build - scikit-cuda - scikit-image - scikit-learn - scikit-misc - scikit-multilearn - scikit-optimize - scikit-uplift - SCIP - SCIPhI - scipy - SciPy-bundle - SCnorm - Scoary - SCons - SCOOP - SCopeLoomR - Score-P - SCOTCH - scp - scPred - Scrappie - scVelo - scvi-tools - Scythe - SDCC - SDL - SDL2 - SDL2_image - SDL_image - SDSL - Seaborn - SearchGUI - SeaView - SECAPR - Seeder - segemehl - segmentation-models - SeisSol - SelEstim - SELFIES - SentencePiece - sep - SEPP - Seq-Gen - seq2HLA - SeqAn - SeqAn3 - SeqKit - SeqLib - Seqmagick - SeqPrep - seqtk - Serf - setuptools - Seurat - SeuratData - SeuratDisk - SeuratWrappers - sf - sfftk - Shannon - SHAP - shapAAR - SHAPEIT - SHAPEIT4 - Shapely - sharutils - Shasta - ShengBTE - shift - SHORE - Short-Pair - shovill - shrinkwrap - SHTns - Sibelia - SICER2 - sickle - Siesta - SignalP - silhouetteRank - silx - simint - SimNIBS - SimPEG - SIMPLE - Simple-DFTD3 - SimpleElastix - SimpleITK - simpy - SimVascular - SingleM - Singular - SiNVICT - SIONlib - SIP - siscone - SISSO - SISSO++ - SKESA - sketchmap - skewer - sklearn-pandas - sklearn-som - skorch - SlamDunk - SLATEC - SLEPc - slepc4py - sleuth - slidingwindow - SLiM - slow5tools - smafa - smallgenomeutilities - SMAP - SMARTdenovo - SMC++ - smfishHmrf - smithwaterman - Smoldyn - smooth-topk - SMRT-Link - SMV - snakemake - SNAP - SNAP-HMM - SNAPE-pooled - snaphu - snappy - Sniffles - snippy - snp-sites - snpEff - SNPhylo - SNPomatic - SOAPaligner - SOAPdenovo-Trans - SOAPdenovo2 - SOAPfuse - socat - SOCI - SolexaQA++ - sonic - SoPlex - SoQt - SortMeRNA - SoupX - SoX - SoXt - SpaceRanger - Spack - spaCy - SPAdes - spaln - Spark - sparse-neighbors-search - sparsehash - SpatialDE - spatialreg - spdlog - SpectrA - spectral.methods - speech_tools - spektral - spglib - spglib-python - Sphinx - Sphinx-RTD-Theme - SpiceyPy - SpiecEasi - SplAdder - SPLASH - SpliceMap - split-seq - splitRef - SPM - spoa - SPOOLES - SPOTPY - SPRNG - Spyder - SQLite - SqueezeMeta - Squidpy - SRA-Toolkit - sradownloader - SRPRISM - SRST2 - SSAHA2 - SSN - SSPACE_Basic - SSW - STACEY - Stack - Stacks - STAMP - StaMPS - Stampy - STAR - STAR-CCM+ - STAR-Fusion - stardist - stars - Stata - Statistics-R - statsmodels - STEAK - STIR - stpipeline - strace - Strainberry - STREAM - strelka - StringTie - stripy - STRique - Structure - Structure_threader - STRUMPACK - suave - Subread - subset-bam - Subversion - suds - SuiteSparse - SUMACLUST - SUMATRA - SUMO - SUNDIALS - SunPy - SuperLU - SuperLU_DIST - supermagic - supernova - SURVIVOR - SVclone - SVDetect - SVDquest - SVG - SVIM - svist4get - swarm - SWASH - SWAT+ - swifter - SWIG - SWIPE - swissknife - SymEngine - SymEngine-python - SYMPHONY - sympy - synthcity - SyRI - sysbench - Szip

                    "},{"location":"version-specific/supported-software/#s-lang","title":"S-Lang","text":"

                    S-Lang is a multi-platform programmer's library designed to allow a developer to create robust multi-platform software. It provides facilities required by interactive applications such as display/screen management, keyboard input, keymaps, and so on.

                    homepage: http://www.jedsoft.org/slang/

                    version toolchain 2.3.0 GCC/4.9.2"},{"location":"version-specific/supported-software/#s4","title":"S4","text":"

                    S4 stands for Stanford Stratified Structure Solver, a frequency domain code to solve the linear Maxwell\u2019s equations in layered periodic structures. Internally, it uses Rigorous Coupled Wave Analysis (RCWA, also called the Fourier Modal Method (FMM)) and the S-matrix algorithm.

                    homepage: https://web.stanford.edu/group/fan/S4

                    version toolchain 1.1.1-20180610 foss/2017b"},{"location":"version-specific/supported-software/#safetensors","title":"Safetensors","text":"

                    Safetensors is a new simple format for storing tensors safely (as opposed to pickle) and that is still fast (zero-copy). Safetensors is really fast.

                    homepage: https://huggingface.co/docs/safetensors

                    version versionsuffix toolchain 0.3.1 foss/2022a 0.3.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#sage","title":"SAGE","text":"

                    S.A.G.E. (Statistical Analysis for Genetic Epidemiology) is free software package containing programs for use in the genetic analysis of family, pedigree and individual data.

                    homepage: http://darwin.cwru.edu/sage/

                    version toolchain 6.3 system 6.4 system"},{"location":"version-specific/supported-software/#sailfish","title":"Sailfish","text":"

                    Sailfish is a software tool that implements a novel, alignment-free algorithm for the estimation of isoform abundances directly from a set of reference sequences and RNA-seq reads.

                    homepage: http://www.cs.cmu.edu/~ckingsf/software/sailfish/

                    version versionsuffix toolchain 0.10.1 gompi/2019b 0.10.1 -Python-2.7.12 foss/2016b"},{"location":"version-specific/supported-software/#salib","title":"SALib","text":"

                    Sensitivity Analysis Library in Python (Numpy). Contains Sobol, Morris, Fractional Factorial and FAST methods.

                    homepage: https://SALib.github.io/SALib/

                    version versionsuffix toolchain 1.1.3 -Python-2.7.14 intel/2017b"},{"location":"version-specific/supported-software/#salmon","title":"Salmon","text":"

                    Salmon is a wicked-fast program to produce a highly-accurate, transcript-level quantification estimates from RNA-seq data.

                    homepage: https://github.com/COMBINE-lab/salmon

                    version versionsuffix toolchain 0.8.2 system 0.8.2 -Python-2.7.12 foss/2016b 0.11.2 intel/2018a 0.12.0 foss/2018b 0.14.1 foss/2018b 0.14.2 gompi/2019a 1.0.0 gompi/2019a, gompi/2019b 1.1.0 gompi/2019b 1.2.0 gompi/2019b 1.3.0 gompi/2020a 1.4.0 GCC/11.2.0, gompi/2020b 1.9.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#salmon-tddft","title":"SALMON-TDDFT","text":"

                    SALMON is an open-source computer program for ab-initio quantum-mechanical calculations of electron dynamics at the nanoscale that takes place in various situations of light-matter interactions. It is based on time-dependent density functional theory, solving time-dependent Kohn-Sham equation in real time and real space with norm-conserving pseudopotentials.

                    homepage: https://salmon-tddft.jp

                    version toolchain 1.2.1 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#sambamba","title":"Sambamba","text":"

                    Sambamba is a high performance modern robust and fast tool (and library), written in the D programming language, for working with SAM and BAM files. Current functionality is an important subset of samtools functionality, including view, index, sort, markdup, and depth.

                    homepage: https://lomereiter.github.io/sambamba/

                    version toolchain 0.6.6 system 0.7.1 system 0.8.0 GCC/10.2.0 0.8.2 GCC/10.3.0"},{"location":"version-specific/supported-software/#samblaster","title":"samblaster","text":"

                    samblaster is a fast and flexible program for marking duplicates in read-id grouped1 paired-end SAM files.

                    homepage: https://github.com/GregoryFaust/samblaster

                    version toolchain 0.1.24 foss/2018b 0.1.26 GCC/10.2.0, GCC/10.3.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#samcef","title":"Samcef","text":"

                    FEM solver solution suite for basic linear structures to advanced, flexible nonlinear mechanisms and thermal applications.

                    homepage: http://www.plm.automation.siemens.com/en_us/products/lms/samtech/samcef-solver-suite/

                    version toolchain 17.0-03 system"},{"location":"version-specific/supported-software/#samclip","title":"samclip","text":"

                    Filter SAM file for soft and hard clipped alignments.

                    homepage: https://github.com/tseemann/samclip

                    version versionsuffix toolchain 0.2 -Perl-5.28.0 GCCcore/7.3.0 0.4.0 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#samplot","title":"samplot","text":"

                    Plot structural variant signals from many BAMs and CRAMs.

                    homepage: https://github.com/ryanlayer/samplot

                    version toolchain 1.3.0 foss/2021b"},{"location":"version-specific/supported-software/#samtools","title":"SAMtools","text":"

                    SAM Tools provide various utilities for manipulating alignments in the SAM format, including sorting, merging, indexing and generating alignments in a per-position format.

                    homepage: http://www.htslib.org/

                    version versionsuffix toolchain 0.1.17 intel/2017a 0.1.19 GCC/10.3.0, foss/2016a, foss/2016b 0.1.20 GCC/8.3.0, foss/2018b, intel/2017a, intel/2017b, intel/2018a, intel/2018b, intel/2019b 1.2 foss/2016b 1.3 foss/2016a, intel/2016a 1.3.1 foss/2016a, foss/2016b, intel/2016a, intel/2016b 1.3.1 -HTSlib-1.3.2 intel/2016b 1.4 foss/2016b, intel/2016b, intel/2017a 1.4.1 intel/2017a 1.5 foss/2016b, intel/2017a 1.6 GCC/6.4.0-2.28, foss/2017a, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2017b 1.7 foss/2018a, intel/2018a 1.8 intel/2018a 1.9 GCC/6.4.0-2.28, GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1, intel/2018b 1.10 GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281 1.11 GCC/10.2.0, GCC/9.3.0, iccifort/2020.4.304 1.12 GCC/10.2.0, GCC/10.3.0, GCC/9.3.0 1.13 GCC/10.3.0, GCC/11.3.0 1.14 GCC/11.2.0 1.15 GCC/11.2.0 1.15.1 GCC/11.2.0, GCC/11.3.0 1.16.1 GCC/11.2.0, GCC/11.3.0 1.17 GCC/12.2.0"},{"location":"version-specific/supported-software/#sansa","title":"sansa","text":"

                    Structural variant (SV) annotation, a companion to the 'dolly' tool.

                    homepage: https://github.com/dellytools/sansa/

                    version toolchain 0.0.7 gompi/2020b"},{"location":"version-specific/supported-software/#sap","title":"SAP","text":"

                    SAP is a pairwise structure alignment via double dynamic programming

                    homepage: https://github.com/mathbio-nimr-mrc-ac-uk/SAP

                    version toolchain 1.1.3 GCC/11.3.0"},{"location":"version-specific/supported-software/#sas","title":"SAS","text":"

                    SAS is a software suite for advanced analytics, multivariate analyses, business intelligence, data management, and predictive analytics.

                    homepage: https://www.sas.com

                    version toolchain 9.4 system"},{"location":"version-specific/supported-software/#satsuma2","title":"Satsuma2","text":"

                    Satsuma2 is an optimised version of Satsuma, a tool to reliably align large and complex DNA sequences providing maximum sensitivity (to find all there is to find), specificity (to only find real homology) and speed (to accommodate the billions of base pairs in vertebrate genomes).

                    homepage: https://github.com/bioinfologics/satsuma2

                    version toolchain 20220304 GCC/11.3.0"},{"location":"version-specific/supported-software/#savvy","title":"savvy","text":"

                    Interface to various variant calling formats.

                    homepage: https://github.com/statgen/savvy

                    version toolchain 1.3.0 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#saxon-he","title":"Saxon-HE","text":"

                    Open Source SAXON XSLT processor developed by Saxonica Limited.

                    homepage: http://saxon.sourceforge.net

                    version versionsuffix toolchain 9.7.0.4 -Java-1.7.0_79 system 9.7.0.21 -Java-1.8.0_162 system 9.9.1.7 -Java-13 system"},{"location":"version-specific/supported-software/#sbcl","title":"SBCL","text":"

                    Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler. It is open source / free software, with a permissive license. In addition to the compiler and runtime system for ANSI Common Lisp, it provides an interactive environment including a debugger, a statistical profiler, a code coverage tool, and many other extensions.

                    homepage: http://sbcl.sourceforge.net/

                    version toolchain 2.0.9 GCCcore/9.3.0 2.2.1 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#sbt","title":"sbt","text":"

                    sbt is a build tool for Scala, Java, and more.

                    homepage: http://www.scala-sbt.org/

                    version versionsuffix toolchain 1.0.2 -Java-1.8.0_152 system 1.3.13 -Java-1.8 system"},{"location":"version-specific/supported-software/#scafacos","title":"ScaFaCoS","text":"

                    ScaFaCoS is a library of scalable fast coulomb solvers.

                    homepage: http://www.scafacos.de/

                    version toolchain 1.0.1 foss/2020a, foss/2020b, foss/2021a, foss/2021b, intel/2020a 1.0.4 foss/2022a"},{"location":"version-specific/supported-software/#scalapack","title":"ScaLAPACK","text":"

                    The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines redesigned for distributed memory MIMD parallel computers.

                    homepage: https://www.netlib.org/scalapack/

                    version versionsuffix toolchain 2.0.2 gompi/2019b, gompic/2019b 2.0.2 -BLIS-0.3.2 gompi/2018b 2.0.2 -OpenBLAS-0.2.13-LAPACK-3.5.0 gmvapich2/1.7.20 2.0.2 -OpenBLAS-0.2.15-LAPACK-3.6.0 gmpich/2016a, gmvapich2/2016a, gompi/2016a 2.0.2 -OpenBLAS-0.2.18-LAPACK-3.6.0 gompi/2016.04, gompi/2016.06 2.0.2 -OpenBLAS-0.2.18-LAPACK-3.6.1 gompi/2016.07, gompi/2016b 2.0.2 -OpenBLAS-0.2.19-LAPACK-3.6.1 gompi/2016.09 2.0.2 -OpenBLAS-0.2.19-LAPACK-3.7.0 gompi/2017a 2.0.2 -OpenBLAS-0.2.20 gimpi/2017b, gimpi/2018a, gimpic/2017b, gmpich/2017.08, gompi/2017b, gompi/2018a, gompic/2017b, gompic/2018a 2.0.2 -OpenBLAS-0.3.1 gompi/2018b, gompic/2018b 2.0.2 -OpenBLAS-0.3.3 gompi/2018.08 2.0.2 -OpenBLAS-0.3.5 gompi/2019a, gompic/2019a 2.1.0 gompi/2020a, gompi/2020b, gompic/2020a, gompic/2020b 2.1.0 -bf gompi/2020a, gompi/2020b, gompi/2021a, iimpi/2020b 2.1.0 -bl gompi/2020b 2.1.0 -fb gompi/2021a, gompi/2021b 2.2 -amd gompi/2020a 2.2.0 -fb gompi/2022.05, gompi/2022.10, gompi/2022a, gompi/2022b, gompi/2023a, nvompi/2022.07"},{"location":"version-specific/supported-software/#scalasca","title":"Scalasca","text":"

                    Scalasca is a software tool that supports the performance optimization of parallel programs by measuring and analyzing their runtime behavior. The analysis identifies potential performance bottlenecks -- in particular those concerning communication and synchronization -- and offers guidance in exploring their causes.

                    homepage: https://www.scalasca.org/

                    version toolchain 2.3 foss/2016a 2.5 gompi/2019a, gompi/2020a 2.6 gompi/2021a, gompic/2020b 2.6.1 gompi/2022a"},{"location":"version-specific/supported-software/#scalce","title":"SCALCE","text":"

                    SCALCE [ske\u026alz] is a FASTQ compression tool that uses locally consistet parsing to obtain better compression rate. SCALCE has been specifically designed for Illumina reads but it can handle other technologies (that generate base pair reads) if the read length is the same throughout the file.

                    homepage: http://scalce.sourceforge.net/Home

                    version toolchain 2.7 GCC/4.8.2"},{"location":"version-specific/supported-software/#scalene","title":"Scalene","text":"

                    Scalene is a high-performance CPU, GPU and memory profiler for Python that does a number of things that other Python profilers do not and cannot do. It runs orders of magnitude faster than other profilers while delivering far more detailed information.

                    homepage: https://github.com/plasma-umass/scalene

                    version toolchain 1.5.13 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#scanpy","title":"scanpy","text":"

                    Scanpy is a scalable toolkit for analyzing single-cell gene expression data built jointly with anndata. It includes preprocessing, visualization, clustering, trajectory inference and differential expression testing. The Python-based implementation efficiently deals with datasets of more than one million cells.

                    homepage: https://scanpy.readthedocs.io/en/stable/

                    version toolchain 1.7.2 foss/2020b 1.8.1 foss/2020b, foss/2021a 1.8.2 foss/2021b 1.9.1 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#scarches","title":"scArches","text":"

                    Single-cell architecture surgery (scArches) is a package for reference-based analysis of single-cell data.

                    homepage: https://github.com/theislab/scarches

                    version versionsuffix toolchain 0.5.6 foss/2021a 0.5.6 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#sceasy","title":"sceasy","text":"

                    sceasy is a package that helps easy conversion of different single-cell data formats to each other

                    homepage: https://github.com/cellgeni/sceasy

                    version versionsuffix toolchain 0.0.7 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#scenic","title":"SCENIC","text":"

                    SCENIC Suite is a set of tools to study and decipher gene regulation.

                    homepage: https://scenic.aertslab.org

                    version versionsuffix toolchain 1.2.4 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#scgenefit","title":"scGeneFit","text":"

                    Python code for genetic marker selection using linear programming.

                    homepage: https://github.com/solevillar/scGeneFit-python

                    version toolchain 1.0.2 foss/2021a"},{"location":"version-specific/supported-software/#scgid","title":"SCGid","text":"

                    A consensus approach to contig filtering and genome prediction from single-cell sequencing libraries

                    homepage: https://github.com/amsesk/SCGid

                    version toolchain 0.9b0 foss/2021b"},{"location":"version-specific/supported-software/#schicexplorer","title":"scHiCExplorer","text":"

                    The scHiCExplorer is a software to demultiplex, process, correct, normalize, manipulate, analyse and visualize single-cell Hi-C data.

                    homepage: https://schicexplorer.readthedocs.io

                    version toolchain 7 foss/2022a"},{"location":"version-specific/supported-software/#schrodinger","title":"Schrodinger","text":"

                    Schrodinger aims to provide integrated software solutions and services that truly meet its customers needs. We want to empower researchers around the world to achieve their goals of improving human health and quality of life through advanced computational techniques that transform the way chemists design compounds and materials.

                    homepage: https://www.schrodinger.com/

                    version toolchain 2020-4 system 2021-4 system 2022-1 system 2022-2 system 2022-3 system"},{"location":"version-specific/supported-software/#scib","title":"scib","text":"

                    Benchmarking atlas-level data integration in single-cell genomics.

                    homepage: https://github.com/theislab/scib

                    version toolchain 1.1.1 foss/2022a 1.1.3 foss/2021a"},{"location":"version-specific/supported-software/#sciclone","title":"sciClone","text":"

                    An R package for inferring the subclonal architecture of tumors

                    homepage: https://github.com/genome/sciclone

                    version versionsuffix toolchain 1.1 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#scientificpython","title":"ScientificPython","text":"

                    ScientificPython is a collection of Python modules for scientific computing. It contains support for geometry, mathematical functions, statistics, physical units, IO, visualization, and parallelization.

                    homepage: http://dirac.cnrs-orleans.fr/ScientificPython

                    version versionsuffix toolchain 2.9.4 -Python-2.7.11 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#scikit-allel","title":"scikit-allel","text":"

                    This package provides utilities for exploratory analysis of large scale genetic variation data. It is based on numpy, scipy and other general-purpose Python scientific libraries.

                    homepage: https://scikit-allel.readthedocs.io/en/latest/

                    version versionsuffix toolchain 1.1.8 -Python-2.7.13 foss/2017a 1.2.1 -Python-3.8.2 foss/2020a 1.3.2 foss/2020b 1.3.3 foss/2021a"},{"location":"version-specific/supported-software/#scikit-bio","title":"scikit-bio","text":"

                    scikit-bio is an open-source, BSD-licensed Python 3 package providing data structures, algorithms and educational resources for bioinformatics.

                    homepage: http://scikit-bio.org

                    version versionsuffix toolchain 0.5.6 -Python-3.8.2 foss/2020a 0.5.7 foss/2020b, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#scikit-build","title":"scikit-build","text":"

                    Scikit-Build, or skbuild, is an improved build system generator for CPython C/C++/Fortran/Cython extensions.

                    homepage: https://scikit-build.readthedocs.io/en/latest

                    version versionsuffix toolchain 0.10.0 -Python-3.6.6 foss/2018b, intel/2018b 0.10.0 -Python-3.8.2 foss/2020a, fosscuda/2020a 0.11.1 GCCcore/10.3.0, GCCcore/11.2.0, foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 0.15.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 0.17.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#scikit-cuda","title":"scikit-cuda","text":"

                    SciKit-cuda, a.k.a. skcuda, provides Python interfaces to many of the functions in the CUDA device/runtime, CUBLAS, CUFFT, and CUSOLVER libraries distributed as part of NVIDIA's CUDA Programming Toolkit.

                    homepage: https://github.com/lebedov/scikit-cuda

                    version versionsuffix toolchain 0.5.3 -Python-3.7.4 fosscuda/2019b"},{"location":"version-specific/supported-software/#scikit-image","title":"scikit-image","text":"

                    scikit-image is a collection of algorithms for image processing.

                    homepage: https://scikit-image.org/

                    version versionsuffix toolchain 0.12.3 -Python-2.7.11 foss/2016a 0.12.3 -Python-2.7.12 intel/2016b 0.12.3 -Python-3.5.2 foss/2016b, intel/2016b 0.13.0 -Python-2.7.13 intel/2017a 0.13.0 -Python-3.6.1 intel/2017a 0.13.0 -Python-3.6.3 foss/2017b 0.13.1 -Python-2.7.14 intel/2017b 0.13.1 -Python-3.6.3 foss/2017b 0.13.1 -Python-3.6.4 foss/2018a 0.14.0 -Python-3.6.4 intel/2018a 0.14.1 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 0.15.0 -Python-3.7.2 foss/2019a 0.16.2 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 0.17.1 -Python-3.8.2 foss/2020a 0.18.1 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 0.18.3 foss/2021a 0.19.1 foss/2021b 0.19.3 foss/2022a"},{"location":"version-specific/supported-software/#scikit-learn","title":"scikit-learn","text":"

                    Scikit-learn integrates machine learning algorithms in the tightly-knit scientific Python world, building upon numpy, scipy, and matplotlib. As a machine-learning module, it provides versatile tools for data mining and analysis in any field of science and engineering. It strives to be simple and efficient, accessible to everybody, and reusable in various contexts.

                    homepage: https://scikit-learn.org/stable/index.html

                    version versionsuffix toolchain 0.16.1 -Python-2.7.13 foss/2017a 0.17.1 -Python-2.7.11 foss/2016a, intel/2016a 0.17.1 -Python-2.7.11-freetype-2.6.3 intel/2016a 0.17.1 -Python-2.7.12 intel/2016b 0.17.1 -Python-3.5.1 foss/2016a, intel/2016a 0.18 -Python-2.7.12 intel/2016b 0.18 -Python-3.5.2 intel/2016b 0.18.1 -Python-2.7.12 foss/2016b, intel/2016b 0.18.1 -Python-2.7.13 intel/2017a 0.18.1 -Python-3.5.2 foss/2016b, intel/2016b 0.18.1 -Python-3.6.1 intel/2017a 0.18.2 -Python-3.6.1 intel/2017a 0.19.0 -Python-3.6.1 intel/2017a 0.19.1 -Python-2.7.13 foss/2017a 0.19.1 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.19.1 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.19.1 -Python-3.6.4 foss/2018a, intel/2018a 0.20.0 -Python-2.7.15 foss/2018b, intel/2018b 0.20.0 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b 0.20.2 -Python-2.7.15 foss/2018b 0.20.2 -Python-3.6.6 foss/2018b 0.20.3 foss/2019a, fosscuda/2019a, intel/2019a 0.20.4 -Python-2.7.16 intel/2019b 0.20.4 -Python-2.7.18 foss/2020b 0.21.3 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 0.23.1 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a, intelcuda/2020a 0.23.2 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 0.24.2 foss/2021a, intel/2021a 1.0.1 foss/2021b, intel/2021b 1.0.2 foss/2021b 1.1.2 foss/2022a, intel/2022a 1.2.1 gfbf/2022b"},{"location":"version-specific/supported-software/#scikit-misc","title":"scikit-misc","text":"

                    Miscellaneous tools for data analysis and scientific computing

                    homepage: https://github.com/has2k1/scikit-misc

                    version toolchain 0.1.4 foss/2021a, foss/2022a"},{"location":"version-specific/supported-software/#scikit-multilearn","title":"scikit-multilearn","text":"

                    Scikit-multilearn is a BSD-licensed library for multi-label classification that is built on top of the well-known scikit-learn ecosystem.

                    homepage: http://scikit.ml

                    version versionsuffix toolchain 0.2.0 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#scikit-optimize","title":"scikit-optimize","text":"

                    Scikit-Optimize, or skopt, is a simple and efficient library to minimize (very) expensive and noisy black-box functions.

                    homepage: https://scikit-optimize.github.io

                    version versionsuffix toolchain 0.5.2 -Python-3.6.6 intel/2018b 0.7.4 -Python-3.7.4 foss/2019b 0.8.1 -Python-3.8.2 foss/2020a 0.9.0 foss/2021a"},{"location":"version-specific/supported-software/#scikit-uplift","title":"scikit-uplift","text":"

                    scikit-uplift is a Python module for classic approaches for uplift modeling built on top of scikit-learn. Uplift prediction aims to estimate the causal impact of a treatment at the individual level.

                    homepage: https://github.com/maks-sh/scikit-uplift

                    version versionsuffix toolchain 0.2.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#scip","title":"SCIP","text":"

                    SCIP is currently one of the fastest non-commercial solvers for mixed integer programming (MIP) and mixed integer nonlinear programming (MINLP). It is also a framework for constraint integer programming and branch-cut-and-price. It allows for total control of the solution process and the access of detailed information down to the guts of the solver.

                    homepage: https://www.scipopt.org/

                    version toolchain 3.2.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#sciphi","title":"SCIPhI","text":"

                    Single-cell mutation identification via phylogenetic inference (SCIPhI) is a new approach to mutation detection in individual tumor cells by leveraging the evolutionary relationship among cells.

                    homepage: https://github.com/cbg-ethz/SCIPhI

                    version toolchain 0.1.3 intel/2018b"},{"location":"version-specific/supported-software/#scipy","title":"scipy","text":"

                    SciPy is a collection of mathematical algorithms and convenience functions built on the Numpy extension for Python.

                    homepage: https://www.scipy.org

                    version versionsuffix toolchain 0.16.0 -Python-2.7.12 intel/2016b 0.17.0 -Python-2.7.11 intel/2016a 0.19.0 -Python-3.5.2 intel/2016b 1.4.1 -Python-3.7.4 foss/2019b, fosscuda/2019b"},{"location":"version-specific/supported-software/#scipy-bundle","title":"SciPy-bundle","text":"

                    Bundle of Python packages for scientific software

                    homepage: https://python.org/

                    version versionsuffix toolchain 2019.03 foss/2019a, fosscuda/2019a, intel/2019a, intelcuda/2019a 2019.10 -Python-2.7.16 foss/2019b, fosscuda/2019b, intel/2019b 2019.10 -Python-3.7.2 intel/2019a 2019.10 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b, intelcuda/2019b 2020.03 -Python-2.7.18 foss/2020a, fosscuda/2020a, intel/2020a 2020.03 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a, intelcuda/2020a 2020.11 foss/2020b, fosscuda/2020b, intel/2020b, intelcuda/2020b 2020.11 -Python-2.7.18 foss/2020b 2021.05 foss/2021a, gomkl/2021a, intel/2021a 2021.10 foss/2021b, intel/2021b 2021.10 -Python-2.7.18 foss/2021b 2022.05 foss/2022.05, foss/2022a, intel/2022.05, intel/2022a 2023.02 gfbf/2022b"},{"location":"version-specific/supported-software/#scnorm","title":"SCnorm","text":"

                    This package implements SCnorm \u2014 a method to normalize single-cell RNA-seq data.

                    homepage: https://bioconductor.org/packages/SCnorm

                    version versionsuffix toolchain 0.99.7 -R-3.4.0 intel/2017a"},{"location":"version-specific/supported-software/#scoary","title":"Scoary","text":"

                    Microbial pan-GWAS using the output from Roary

                    homepage: https://github.com/AdmiralenOla/Scoary

                    version versionsuffix toolchain 1.6.16 foss/2021a 1.6.16 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#scons","title":"SCons","text":"

                    SCons is a software construction tool.

                    homepage: https://www.scons.org/

                    version versionsuffix toolchain 2.4.1 -Python-2.7.11 foss/2016a 2.5.0 -Python-2.7.12 foss/2016b, intel/2016b 2.5.1 intel/2017a 2.5.1 -Python-2.7.12 foss/2016b, intel/2016b 2.5.1 -Python-2.7.13 intel/2017a 3.0.1 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a, iomkl/2018a 3.0.1 -Python-2.7.15 foss/2018b, fosscuda/2018b 3.0.1 -Python-2.7.15-bare GCCcore/7.3.0 3.0.1 -Python-3.6.3 foss/2017b, intel/2017b 3.0.1 -Python-3.6.4 foss/2018a, intel/2018a 3.0.4 -Python-2.7.15 foss/2018b 3.0.5 GCCcore/8.2.0 3.0.5 -Python-2.7.15 GCCcore/8.2.0 3.0.5 -Python-3.7.2 GCCcore/8.2.0 3.1.1 GCCcore/8.3.0 3.1.2 GCCcore/9.3.0 4.0.1 GCCcore/10.2.0 4.1.0.post1 GCCcore/10.2.0, GCCcore/10.3.0 4.2.0 GCCcore/11.2.0 4.4.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#scoop","title":"SCOOP","text":"

                    SCOOP (Scalable COncurrent Operations in Python) is a distributed task module allowing concurrent parallel programming on various environments, from heterogeneous grids to supercomputers.

                    homepage: http://code.google.com/p/scoop/

                    version versionsuffix toolchain 0.6.2 -Python-2.7.12 intel/2016b 0.7.1.1 GCCcore/8.2.0 0.7.1.1 -Python-2.7.11 intel/2016a 0.7.1.1 -Python-2.7.14 intel/2017b 0.7.1.1 -Python-3.5.1 intel/2016a"},{"location":"version-specific/supported-software/#scopeloomr","title":"SCopeLoomR","text":"

                    An R package (compatible with SCope) to create generic .loom files and extend them with other data e.g.: SCENIC regulons, Seurat clusters and markers, ...

                    homepage: https://github.com/aertslab/SCopeLoomR

                    version versionsuffix toolchain 0.13.0 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#score-p","title":"Score-P","text":"

                    The Score-P measurement infrastructure is a highly scalable and easy-to-use tool suite for profiling, event tracing, and online analysis of HPC applications.

                    homepage: https://www.score-p.org

                    version versionsuffix toolchain 2.0.1 foss/2016a 6.0 gompi/2019a, gompi/2019b, gompi/2020a, gompic/2019a, gompic/2019b, gompic/2020a 7.0 gompi/2020b, gompi/2021a, gompic/2020b 7.1 -CUDA-11.3.1 gompi/2021a 8.0 gompi/2021b, gompi/2022a 8.0 -CUDA-11.4.1 gompi/2021b 8.0 -CUDA-11.7.0 gompi/2022a"},{"location":"version-specific/supported-software/#scotch","title":"SCOTCH","text":"

                    Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.

                    homepage: https://www.labri.fr/perso/pelegrin/scotch/

                    version versionsuffix toolchain 5.1.12b_esmumps foss/2017b 6.0.4 foss/2016a, foss/2016b, foss/2017b, gimkl/2.11.5, intel/2016a, intel/2016b, intel/2017a, intel/2017b, intel/2018a 6.0.4 -64bitint foss/2017b 6.0.6 foss/2018a, foss/2018b, gompi/2019a, iimpi/2019a, intel/2018a 6.0.9 gompi/2019b, gompi/2020a, iimpi/2019b, iimpi/2020a, iimpic/2019b 6.1.0 gompi/2020b, gompi/2021a, iimpi/2020b, iimpi/2021a 6.1.2 gompi/2021b, iimpi/2021b 7.0.1 gompi/2022a, iimpi/2022a"},{"location":"version-specific/supported-software/#scp","title":"scp","text":"

                    The scp.py module uses a paramiko transport to send and recieve files via the scp1 protocol.

                    homepage: https://github.com/jbardin/scp.py

                    version versionsuffix toolchain 0.10.2 -Python-2.7.12 intel/2016b 0.13.1 -Python-2.7.15 intel/2018b 0.13.2 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#scpred","title":"scPred","text":"

                    scPred package for cell type prediction from scRNA-seq data

                    homepage: https://github.com/powellgenomicslab/scPred

                    version versionsuffix toolchain 1.9.2 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#scrappie","title":"Scrappie","text":"

                    Scrappie is a technology demonstrator for the Oxford Nanopore Research Algorithms group.

                    homepage: https://github.com/nanoporetech/scrappie

                    version toolchain 1.3.2 intel/2018a"},{"location":"version-specific/supported-software/#scvelo","title":"scVelo","text":"

                    scVelo is a scalable toolkit for estimating and analyzing RNA velocities in single cells using dynamical modeling.

                    homepage: https://scvelo.org

                    version versionsuffix toolchain 0.1.24 -Python-3.7.4 foss/2019b 0.2.3 foss/2021a"},{"location":"version-specific/supported-software/#scvi-tools","title":"scvi-tools","text":"

                    scvi-tools (single-cell variational inference tools) is a package for probabilistic modeling and analysis of single-cell omics data, built on top of PyTorch and AnnData.

                    homepage: https://github.com/scverse/scvi-tools

                    version versionsuffix toolchain 0.16.4 foss/2021a 0.16.4 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#scythe","title":"Scythe","text":"

                    Scythe uses a Naive Bayesian approach to classify contaminant substrings in sequence reads. It considers quality information, which can make it robust in picking out 3'-end adapters, which often include poor quality bases.

                    homepage: https://github.com/ucdavis-bioinformatics/scythe

                    version toolchain 0.994 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#sdcc","title":"SDCC","text":"

                    SDCC is a retargettable, optimizing ANSI - C compiler suite that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based (hc08, s08) and Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit 2000/3000, Rabbit 3000A). Work is in progress on supporting the Microchip PIC16 and PIC18 targets. It can be retargeted for other microprocessors.

                    homepage: http://sdcc.sourceforge.net/

                    version toolchain 3.3.0 system"},{"location":"version-specific/supported-software/#sdl","title":"SDL","text":"

                    SDL: Simple DirectMedia Layer, a cross-platform multimedia library

                    homepage: https://www.libsdl.org/

                    version toolchain 1.2.15 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#sdl2","title":"SDL2","text":"

                    SDL: Simple DirectMedia Layer, a cross-platform multimedia library

                    homepage: https://www.libsdl.org/

                    version toolchain 2.0.4 intel/2016b 2.0.8 GCCcore/6.4.0, foss/2017b, intel/2017b, intel/2018a 2.0.9 GCCcore/8.2.0, foss/2018b, fosscuda/2018b, intel/2018b 2.0.10 GCCcore/8.3.0 2.0.14 GCCcore/10.2.0, GCCcore/10.3.0 2.0.20 GCCcore/11.2.0 2.0.22 GCCcore/11.3.0 2.26.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#sdl2_image","title":"SDL2_image","text":"

                    SDL_image is an image file loading library.

                    homepage: https://www.libsdl.org/projects/SDL_image/

                    version toolchain 2.0.3 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#sdl_image","title":"SDL_image","text":"

                    SDL_image is an image file loading library.

                    homepage: https://www.libsdl.org/projects/SDL_image/release-1.2.html

                    version toolchain 1.2.12 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#sdsl","title":"SDSL","text":"

                    The Succinct Data Structure Library (SDSL) is a powerful and flexible C++11 library implementing succinct data structures.

                    homepage: https://github.com/simongog/sdsl-lite

                    version toolchain 2.1.1-20191211 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#seaborn","title":"Seaborn","text":"

                    Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing attractive statistical graphics.

                    homepage: https://seaborn.pydata.org/

                    version versionsuffix toolchain 0.7.1 -Python-2.7.12 intel/2016b 0.8.1 -Python-2.7.13 foss/2017a 0.8.1 -Python-2.7.14 intel/2018a 0.9.0 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intel/2018a, intelcuda/2017b 0.9.0 -Python-2.7.15 foss/2018b, foss/2019a, intel/2018b, intel/2019a 0.9.0 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.9.0 -Python-3.6.4 intel/2018a 0.9.0 -Python-3.6.6 foss/2018b, intel/2018b 0.9.0 -Python-3.7.2 foss/2019a, intel/2019a 0.9.1 -Python-2.7.16 foss/2019b 0.9.1 -Python-2.7.18 foss/2020b 0.10.0 -Python-3.7.4 foss/2019b, intel/2019b 0.10.1 intel/2020b 0.10.1 -Python-3.8.2 foss/2020a, intel/2020a 0.11.1 foss/2020b, fosscuda/2020b, intel/2020b 0.11.2 foss/2021a, foss/2021b 0.12.1 foss/2022a 0.12.2 foss/2022b"},{"location":"version-specific/supported-software/#searchgui","title":"SearchGUI","text":"

                    SearchGUI is a user-friendly open-source graphical user interface for configuring and running proteomics identification search engines and de novo sequencing algorithms, currently supporting X! Tandem, MS-GF+, MS Amanda, MyriMatch, Comet, Tide, Andromeda, OMSSA, Novor and DirecTag.

                    homepage: https://github.com/compomics/searchgui

                    version versionsuffix toolchain 3.3.3 -Java-1.8.0_152 system"},{"location":"version-specific/supported-software/#seaview","title":"SeaView","text":"

                    SeaView is a multiplatform, graphical user interface for multiple sequence alignment and molecular phylogeny.

                    homepage: https://doua.prabi.fr/software/seaview

                    version toolchain 5.0.5 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#secapr","title":"SECAPR","text":"

                    SECAPR is a bioinformatics pipeline for the rapid and user-friendly processing of targeted enriched Illumina sequences, from raw reads to alignments

                    homepage: https://github.com/AntonelliLab/seqcap_processor

                    version versionsuffix toolchain 1.1.15 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#seeder","title":"Seeder","text":"

                    Seeder is a framework for DNA motif discovery.

                    homepage: https://metacpan.org/pod/Seeder

                    version versionsuffix toolchain 0.01 -Perl-5.28.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#segemehl","title":"segemehl","text":"

                    segemehl is a software to map short sequencer reads to reference genomes. Unlike other methods, segemehl is able to detect not only mismatches but also insertions and deletions. Furthermore, segemehl is not limited to a specific read length and is able to map primer- or polyadenylation contaminated reads correctly. segemehl implements a matching strategy based on enhanced suffix arrays (ESA). Segemehl now supports the SAM format, reads gziped queries to save both disk and memory space and allows bisulfite sequencing mapping and split read mapping.

                    homepage: https://www.bioinf.uni-leipzig.de/Software/segemehl/

                    version toolchain 0.2.0 foss/2016b, intel/2017b, intel/2018a 0.3.4 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/8.3.0, foss/2018b, iccifort/2020.4.304"},{"location":"version-specific/supported-software/#segmentation-models","title":"segmentation-models","text":"

                    Python library with Neural Networks for Image Segmentation based on Keras and TensorFlow.

                    homepage: https://github.com/qubvel/segmentation_models

                    version versionsuffix toolchain 1.0.1 -Python-3.7.4 foss/2019b, fosscuda/2019b"},{"location":"version-specific/supported-software/#seissol","title":"SeisSol","text":"

                    SeisSol is a software package for simulating wave propagation and dynamic rupture based on the arbitrary high-order accurate derivative discontinuous Galerkin method (ADER-DG).

                    homepage: http://www.seissol.org

                    version versionsuffix toolchain 201703 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#selestim","title":"SelEstim","text":"

                    SelEstim is aimed at distinguishing neutral from selected polymorphisms and estimate the intensity of selection at the latter. The SelEstim model accounts explicitly for positive selection, and it is assumed that all marker loci in the dataset are responding to selection, to some extent

                    homepage: http://www1.montpellier.inra.fr/CBGP/software/selestim/index.html

                    version versionsuffix toolchain 1.1.4 -Linux-64bits system"},{"location":"version-specific/supported-software/#selfies","title":"SELFIES","text":"

                    Robust representation of semantically constrained graphs, in particular for molecules in chemistry

                    homepage: https://github.com/aspuru-guzik-group/selfies

                    version toolchain 2.1.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#sentencepiece","title":"SentencePiece","text":"

                    Unsupervised text tokenizer for Neural Network-based text generation.

                    homepage: https://github.com/google/sentencepiece

                    version versionsuffix toolchain 0.1.85 -Python-3.7.4 GCC/8.3.0 0.1.94 -Python-3.8.2 GCC/9.3.0 0.1.96 GCC/10.2.0, GCC/10.3.0 0.1.97 GCC/11.3.0"},{"location":"version-specific/supported-software/#sep","title":"sep","text":"

                    Python and C library for Source Extraction and Photometry. (this easyconfig provides python library only)

                    homepage: https://sep.readthedocs.io

                    version versionsuffix toolchain 1.0.3 -Python-2.7.15 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#sepp","title":"SEPP","text":"

                    SATe-enabled Phylogenetic Placement - addresses the problem of phylogenetic placement of short reads into reference alignments and trees.

                    homepage: https://github.com/smirarab/sepp

                    version versionsuffix toolchain 4.3.10 -Python-3.7.4 foss/2019b 4.3.10 -Python-3.8.2 foss/2020a 4.4.0 foss/2020b 4.5.0 foss/2021a 4.5.1 foss/2021b, foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#seq-gen","title":"Seq-Gen","text":"

                    Seq-Gen is a program that will simulate the evolution of nucleotide or amino acid sequences along a phylogeny, using common models of the substitution process.

                    homepage: http://tree.bio.ed.ac.uk/software/Seq-Gen

                    version toolchain 1.3.4 intel/2017b"},{"location":"version-specific/supported-software/#seq2hla","title":"seq2HLA","text":"

                    In-silico method written in Python and R to determine HLA genotypes of a sample. seq2HLA takes standard RNA-Seq sequence reads in fastq format as input, uses a bowtie index comprising all HLA alleles and outputs the most likely HLA class I and class II genotypes (in 4 digit resolution), a p-value for each call, and the expression of each class.

                    homepage: https://github.com/TRON-Bioinformatics/seq2HLA

                    version versionsuffix toolchain 2.3 -Python-2.7.14 intel/2018a 2.3 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#seqan","title":"SeqAn","text":"

                    SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data

                    homepage: https://www.seqan.de/

                    version versionsuffix toolchain 1.4.2 -library system 2.3.2 foss/2016b 2.4.0 GCC/8.2.0-2.31.1, GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#seqan3","title":"SeqAn3","text":"

                    SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data. Our library applies a unique generic design that guarantees high performance, generality, extensibility, and integration with other libraries. SeqAn is easy to use and simplifies the development of new software tools with a minimal loss of performance.

                    homepage: https://github.com/seqan/seqan3

                    version toolchain 3.0.0 system"},{"location":"version-specific/supported-software/#seqkit","title":"SeqKit","text":"

                    SeqKit - a cross-platform and ultrafast toolkit for FASTA/Q file manipulation

                    homepage: https://bioinf.shenwei.me/seqkit/

                    version toolchain 0.8.1 system 0.13.2 system 2.1.0 system 2.2.0 system 2.3.1 system"},{"location":"version-specific/supported-software/#seqlib","title":"SeqLib","text":"

                    C++ interface to HTSlib, BWA-MEM and Fermi.

                    homepage: https://github.com/walaj/SeqLib

                    version toolchain 1.2.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#seqmagick","title":"Seqmagick","text":"

                    We often have to convert between sequence formats and do little tasks on them, and it's not worth writing scripts for that. Seqmagick is a kickass little utility built in the spirit of imagemagick to expose the file format conversion in Biopython in a convenient way. Instead of having a big mess of scripts, there is one that takes arguments.

                    homepage: https://fhcrc.github.io/seqmagick/

                    version versionsuffix toolchain 0.6.1 -Python-2.7.11 foss/2016a 0.6.2 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#seqprep","title":"SeqPrep","text":"

                    Tool for stripping adaptors and/or merging paired reads with overlap into single reads.

                    homepage: https://github.com/jstjohn/SeqPrep

                    version toolchain 1.3.2 GCCcore/7.3.0"},{"location":"version-specific/supported-software/#seqtk","title":"seqtk","text":"

                    Seqtk is a fast and lightweight tool for processing sequences in the FASTA or FASTQ format. It seamlessly parses both FASTA and FASTQ files which can also be optionally compressed by gzip.

                    homepage: https://github.com/lh3/seqtk/

                    version toolchain 1.2 foss/2016b, intel/2017a 1.3 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/8.2.0-2.31.1, GCC/8.3.0, GCC/9.3.0, foss/2018a, foss/2018b 1.4 GCC/12.2.0"},{"location":"version-specific/supported-software/#serf","title":"Serf","text":"

                    The serf library is a high performance C-based HTTP client library built upon the Apache Portable Runtime (APR) library

                    homepage: http://serf.apache.org/

                    version toolchain 1.3.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/9.3.0, foss/2017b, intel/2017b, iomkl/2018a"},{"location":"version-specific/supported-software/#setuptools","title":"setuptools","text":"

                    Easily download, build, install, upgrade, and uninstall Python packages

                    homepage: https://pypi.org/project/setuptools

                    version versionsuffix toolchain 1.4.2 system 41.0.1 -py3 system"},{"location":"version-specific/supported-software/#seurat","title":"Seurat","text":"

                    Seurat is an R package designed for QC, analysis, and exploration of single cell RNA-seq data.

                    homepage: https://satijalab.org/seurat

                    version versionsuffix toolchain 1.4.0.16 -R-3.4.0 intel/2017a 2.3.4 -R-3.4.4 intel/2018a 2.3.4 -R-3.5.1 foss/2018b 3.1.2 -R-3.6.0 foss/2019a 3.1.5 -R-4.0.0 foss/2020a 4.0.1 -R-4.0.3 foss/2020b 4.0.3 -R-4.0.3 foss/2020b 4.2.0 -R-4.2.1 foss/2022a 4.3.0 -R-4.1.2 foss/2021b 4.3.0 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#seuratdata","title":"SeuratData","text":"

                    SeuratData is a mechanism for distributing datasets in the form of Seurat objects using R's internal package and data management systems.

                    homepage: https://github.com/satijalab/seurat-data

                    version versionsuffix toolchain 20210514 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#seuratdisk","title":"SeuratDisk","text":"

                    Interfaces for HDF5-based Single Cell File Formats

                    homepage: https://github.com/mojaveazure/seurat-disk

                    version versionsuffix toolchain 0.0.0.9020 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#seuratwrappers","title":"SeuratWrappers","text":"

                    SeuratWrappers is a collection of community-provided methods and extensions for Seurat

                    homepage: https://github.com/satijalab/seurat-wrappers

                    version versionsuffix toolchain 20210528 -R-4.0.3 foss/2020b"},{"location":"version-specific/supported-software/#sf","title":"sf","text":"

                    Support for simple features, a standardized way to encode spatial vector data. Binds to GDAL for reading and writing data, to GEOS for geometrical operations, and to PROJ for projection conversions and datum transformations.

                    homepage: https://cran.r-project.org/package=sf

                    version versionsuffix toolchain 0.9-5 -R-4.0.0-Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#sfftk","title":"sfftk","text":"

                    sfftk is a set of utilities that facilitate creation, conversion and modification of Electron Microscopy Data Bank - Segmentation File Format (EMDB-SFF) files. EMDB-SFF is an open, community-driven file format to handle annotated segmentations and subtomogram averages that facilitates segmentation file interchange. It is written in Python and provides both a command-line suite of commands and a Python API.

                    homepage: https://emdb-empiar.github.io/EMDB-SFF/

                    version toolchain 0.7.4 foss/2021a"},{"location":"version-specific/supported-software/#shannon","title":"Shannon","text":"

                    Shannon is a program for assembling transcripts from RNA-Seq data

                    homepage: https://sreeramkannan.github.io/Shannon/

                    version versionsuffix toolchain 20170511 -Python-2.7.13 intel/2017a"},{"location":"version-specific/supported-software/#shap","title":"SHAP","text":"

                    SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any machine learning model. It connects optimal credit allocation with local explanations using the classic Shapley values from game theory and their related extensions.

                    homepage: https://github.com/slundberg/shap

                    version versionsuffix toolchain 0.35.0 -Python-3.7.4 foss/2019b 0.41.0 foss/2022a"},{"location":"version-specific/supported-software/#shapaar","title":"shapAAR","text":"

                    An R package for the extraction, analysis and classification of (not only) archaeological objects from scanned images.

                    homepage: https://github.com/ISAAKiel/shapAAR

                    version versionsuffix toolchain 0.1.0-20180425 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#shapeit","title":"SHAPEIT","text":"

                    SHAPEIT is a fast and accurate method for estimation of haplotypes (aka phasing) from genotype or sequencing data.

                    homepage: https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.html

                    version versionsuffix toolchain 2.r837 .GLIBCv2.12 system 2.r904 .glibcv2.17 system"},{"location":"version-specific/supported-software/#shapeit4","title":"SHAPEIT4","text":"

                    SHAPEIT4 is a fast and accurate method for estimation of haplotypes (aka phasing) for SNP array and high coverage sequencing data.

                    homepage: https://odelaneau.github.io/shapeit4/

                    version toolchain 4.1.3 foss/2019b 4.2.0 foss/2019b, foss/2020a, foss/2020b 4.2.2 foss/2020b, foss/2021a"},{"location":"version-specific/supported-software/#shapely","title":"Shapely","text":"

                    Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects. It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.

                    homepage: https://github.com/Toblerity/Shapely

                    version versionsuffix toolchain 1.7.0 -Python-3.7.2 foss/2019a 1.7.0 -Python-3.7.4 GCC/8.3.0, iccifort/2019.5.281 1.7.1 -Python-3.8.2 GCC/9.3.0 1.8.1.post1 GCC/11.2.0 1.8.2 foss/2021b, foss/2022a 1.8a1 GCC/10.2.0, GCC/10.3.0, iccifort/2020.4.304 2.0.1 foss/2022b"},{"location":"version-specific/supported-software/#sharutils","title":"sharutils","text":"

                    GNU shar makes so-called shell archives out of many files, preparing them for transmission by electronic mail services, while unshar helps unpacking shell archives after reception.

                    homepage: https://www.gnu.org/software/sharutils/

                    version toolchain 4.15 GCCcore/6.3.0"},{"location":"version-specific/supported-software/#shasta","title":"Shasta","text":"

                    The goal of the Shasta long read assembler is to rapidly produce accurate assembled sequence using DNA reads generated by Oxford Nanopore flow cells as input. Computational methods used by the Shasta assembler include: Using a run-length representation of the read sequence. This makes the assembly process more resilient to errors in homopolymer repeat counts, which are the most common type of errors in Oxford Nanopore reads. Using in some phases of the computation a representation of the read sequence based on markers, a fixed subset of short k-mers (k \u2248 10).

                    homepage: https://github.com/chanzuckerberg/shasta

                    version toolchain 0.8.0 foss/2020b"},{"location":"version-specific/supported-software/#shengbte","title":"ShengBTE","text":"

                    A solver for the Boltzmann transport equation for phonons.

                    homepage: https://bitbucket.org/sousaw/shengbte

                    version toolchain 1.1.1 foss/2021a 1.5.0 foss/2022a"},{"location":"version-specific/supported-software/#shift","title":"shift","text":"

                    Shift is a framework for Self-Healing Independent File Transfer that provides high performance and resilience for local and remote transfers through a variety of techniques.

                    homepage: http://people.nas.nasa.gov/~kolano/projects/shift.html

                    version toolchain 4.0 intel/2016a"},{"location":"version-specific/supported-software/#shore","title":"SHORE","text":"

                    SHORE, for Short Read, is a mapping and analysis pipeline for short read data produced on the Illumina platform.

                    homepage: http://1001genomes.org/software/shore.html

                    version toolchain 0.9.3 foss/2016a"},{"location":"version-specific/supported-software/#short-pair","title":"Short-Pair","text":"

                    Sensitive Short Read Homology Search for Paired-End Reads

                    homepage: https://sourceforge.net/projects/short-pair

                    version versionsuffix toolchain 20170125 foss/2021b 20170125 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#shovill","title":"shovill","text":"

                    Faster SPAdes assembly of Illumina reads

                    homepage: https://github.com/tseemann/shovill

                    version versionsuffix toolchain 0.9.0 -Python-2.7.14 foss/2018a 1.0.4 -Python-2.7.15 foss/2018b 1.1.0 gompi/2021b"},{"location":"version-specific/supported-software/#shrinkwrap","title":"shrinkwrap","text":"

                    A std::streambuf wrapper for compression formats.

                    homepage: https://github.com/jonathonl/shrinkwrap

                    version toolchain 1.0.0-beta GCCcore/8.2.0 1.1.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#shtns","title":"SHTns","text":"

                    Spherical Harmonic Transform library aimed at high performance numerical simulations in spherical geometries.

                    homepage: https://bitbucket.org/nschaeff/shtns

                    version toolchain 2.7 foss/2021b 3.5.1 foss/2021b"},{"location":"version-specific/supported-software/#sibelia","title":"Sibelia","text":"

                    Sibelia: A comparative genomics tool: It assists biologists in analysing the genomic variations that correlate with pathogens, or the genomic changes that help microorganisms adapt in different environments. Sibelia will also be helpful for the evolutionary and genome rearrangement studies for multiple strains of microorganisms.

                    homepage: http://bioinf.spbau.ru/en/sibelia

                    version toolchain 3.0.6 foss/2016b 3.0.7 foss/2018b, foss/2020b"},{"location":"version-specific/supported-software/#sicer2","title":"SICER2","text":"

                    Redesigned and improved ChIP-seq broad peak calling tool SICER

                    homepage: https://zanglab.github.io/SICER2/

                    version versionsuffix toolchain 1.0.3 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#sickle","title":"sickle","text":"

                    Windowed Adaptive Trimming for fastq files using quality

                    homepage: https://github.com/najoshi/sickle

                    version toolchain 1.33 foss/2017a, intel/2018a"},{"location":"version-specific/supported-software/#siesta","title":"Siesta","text":"

                    SIESTA is both a method and its computer program implementation, to perform efficient electronic structure calculations and ab initio molecular dynamics simulations of molecules and solids.

                    homepage: http://departments.icmab.es/leem/siesta

                    version versionsuffix toolchain 4.0 foss/2017b, intel/2017a 4.0.1 intel/2017a 4.1-b2 intel/2017a 4.1-b3 intel/2017a 4.1-b4 foss/2018b, intel/2018b 4.1-MaX-1.0 intel/2019b 4.1-MaX-1.0 -PEXSI intel/2019b 4.1.5 foss/2020a, foss/2021a, foss/2021b, foss/2022a, intel/2020a, intel/2022a"},{"location":"version-specific/supported-software/#signalp","title":"SignalP","text":"

                    SignalP predicts the presence and location of signal peptide cleavage sites in amino acid sequences from different organisms

                    homepage: https://services.healthtech.dtu.dk/software.php

                    version versionsuffix toolchain 5.0b -Linux system 6.0g -fast foss/2021b, foss/2022a 6.0g -fast-CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#silhouetterank","title":"silhouetteRank","text":"

                    silhouetteRank is a tool for finding spatially variable genes based on computing silhouette coefficient from binarized spatial gene expression data

                    homepage: https://pypi.org/project/silhouetteRank

                    version toolchain 1.0.5.13 foss/2022a"},{"location":"version-specific/supported-software/#silx","title":"silx","text":"

                    The silx project provides a collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities.

                    homepage: http://www.silx.org/

                    version versionsuffix toolchain 0.13.2 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.14.0 foss/2020b, fosscuda/2020b 1.0.0 foss/2021b"},{"location":"version-specific/supported-software/#simint","title":"simint","text":"

                    Simint is a vectorized implementation of the Obara-Saika (OS) method of calculating electron repulsion integrals. Speedup is gained by vectorizing the primitive loop of the OS algorithm, with additional vectorization and optimizations left to the compiler.

                    homepage: https://www.bennyp.org/research/simint/

                    version versionsuffix toolchain 0.7 -lmax-5-vec-avx-psi4 GCC/11.2.0"},{"location":"version-specific/supported-software/#simnibs","title":"SimNIBS","text":"

                    SimNIBS is a free and open source software package for the Simulation of Non-invasive Brain Stimulation.

                    homepage: https://simnibs.github.io/simnibs

                    version toolchain 3.2.4 foss/2020b"},{"location":"version-specific/supported-software/#simpeg","title":"SimPEG","text":"

                    Simulation and Parameter Estimation in Geophysics: a python package for simulation and gradient based parameter estimation in the context of geophysical applications.

                    homepage: https://simpeg.xyz

                    version versionsuffix toolchain 0.3.1 -Python-2.7.12 intel/2016b 0.14.1 -Python-3.8.2 intel/2020a 0.18.1 foss/2021b, intel/2021b"},{"location":"version-specific/supported-software/#simple","title":"SIMPLE","text":"

                    Single-particle IMage Processing Linux Engine SIMPLE is an open-source software package for analysis of cryogenic transmission electron microscopy (cryo-EM) movies of single-particles (Single-Particle Analysis, SPA).

                    homepage: https://simplecryoem.com/

                    version toolchain 2.5 foss/2018a 3.0.0 foss/2020b"},{"location":"version-specific/supported-software/#simple-dftd3","title":"Simple-DFTD3","text":"

                    Reimplementation of the D3 dispersion correction. The s-dftd3 project aims to provide a user-friendly and uniform interface to the D3 dispersion model and for the calculation of DFT-D3 dispersion corrections.

                    homepage: https://dftd3.readthedocs.io

                    version toolchain 0.7.0 foss/2022a"},{"location":"version-specific/supported-software/#simpleelastix","title":"SimpleElastix","text":"

                    Multi-lingual medical image registration library.

                    homepage: https://simpleelastix.github.io

                    version versionsuffix toolchain 0.10.0 -Python-3.6.3 foss/2017b 0.10.0 -Python-3.6.4 foss/2018a 1.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#simpleitk","title":"SimpleITK","text":"

                    SimpleITK is a simplified programming interface to the algorithms and data structures of the Insight Toolkit (ITK).

                    homepage: https://www.simpleitk.org

                    version versionsuffix toolchain 1.1.0 -Python-2.7.15 foss/2018b 1.1.0 -Python-3.6.4 foss/2018a 1.1.0 -Python-3.6.6 foss/2018b 1.2.4 -Python-3.7.4 foss/2019b 2.1.0 foss/2020b, fosscuda/2020b 2.1.1 foss/2021a 2.1.1.2 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#simpy","title":"simpy","text":"

                    SimPy is a process-based discrete-event simulation framework based on standard Python.

                    homepage: https://simpy.readthedocs.io

                    version versionsuffix toolchain 3.0.11 intel/2019a 3.0.11 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#simvascular","title":"SimVascular","text":"

                    SimVascular is an open source software suite for cardiovascular simulation, providing a complete pipeline from medical image data to 3D model construction, meshing, and blood flow simulation.

                    homepage: http://simvascular.github.io/

                    version toolchain 2.16.0406 intel/2016b"},{"location":"version-specific/supported-software/#singlem","title":"SingleM","text":"

                    SingleM is a tool to find the abundances of discrete operational taxonomic units (OTUs) directly from shotgun metagenome data, without heavy reliance on reference sequence databases.

                    homepage: https://github.com/wwood/singlem

                    version versionsuffix toolchain 0.12.1 -Python-2.7.15 intel/2019a"},{"location":"version-specific/supported-software/#singular","title":"Singular","text":"

                    Singular is a computer algebra system for polynomial computations, with special emphasis on commutative and non-commutative algebra, algebraic geometry, and singularity theory.

                    homepage: https://www.singular.uni-kl.de/

                    version toolchain 4.1.2 GCC/8.2.0-2.31.1, system"},{"location":"version-specific/supported-software/#sinvict","title":"SiNVICT","text":"

                    SiNVICT is a tool for the detection of SNVs and indels from cfDNA/ctDNA samples obtained by ultra-deep sequencing.

                    homepage: https://github.com/sfu-compbio/sinvict

                    version toolchain 1.0-20180817 GCC/9.3.0"},{"location":"version-specific/supported-software/#sionlib","title":"SIONlib","text":"

                    SIONlib is a scalable I/O library for parallel access to task-local files. The library not only supports writing and reading binary data to or from several thousands of processors into a single or a small number of physical files, but also provides global open and close functions to access SIONlib files in parallel. This package provides a stripped-down installation of SIONlib for use with performance tools (e.g., Score-P), with renamed symbols to avoid conflicts when an application using SIONlib itself is linked against a tool requiring a different SIONlib version.

                    homepage: https://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/SIONlib/_node.html

                    version versionsuffix toolchain 1.6.1 foss/2016a 1.6.1 -tools foss/2016a 1.7.1 foss/2017a 1.7.1 -tools foss/2017a 1.7.4 -tools GCCcore/8.2.0 1.7.6 -tools GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/8.3.0, GCCcore/9.3.0 1.7.7 -tools GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#sip","title":"SIP","text":"

                    SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries.

                    homepage: http://www.riverbankcomputing.com/software/sip/

                    version versionsuffix toolchain 4.18 -Python-2.7.11 foss/2016a, intel/2016a 4.18.1 -Python-2.7.11 foss/2016a 4.18.1 -Python-2.7.12 intel/2016b 4.19 -Python-2.7.12 foss/2016b, intel/2016b 4.19.2 -Python-2.7.13 intel/2017a 4.19.8 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 4.19.8 -Python-3.6.4 foss/2018a, intel/2018a 4.19.13 -Python-2.7.15 fosscuda/2018b"},{"location":"version-specific/supported-software/#siscone","title":"siscone","text":"

                    Hadron Seedless Infrared-Safe Cone jet algorithm

                    homepage: https://siscone.hepforge.org/

                    version toolchain 3.0.5 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#sisso","title":"SISSO","text":"

                    A data-driven method combining symbolic regression and compressed sensing toward accurate & interpretable models.

                    homepage: https://github.com/rouyang2017/SISSO

                    version toolchain 3.0.2 iimpi/2021b 3.1-20220324 iimpi/2021b"},{"location":"version-specific/supported-software/#sisso_1","title":"SISSO++","text":"

                    C++ implementation of SISSO with built in Python bindings for an efficient python interface

                    homepage: https://gitlab.com/sissopp_developers/sissopp

                    version toolchain 1.1 foss/2021b"},{"location":"version-specific/supported-software/#skesa","title":"SKESA","text":"

                    SKESA is a de-novo sequence read assembler for cultured single isolate genomes based on DeBruijn graphs.

                    homepage: https://github.com/ncbi/SKESA

                    version versionsuffix toolchain 2.2 foss/2018a 2.3.0 foss/2018b 2.4.0 _saute.1.3.0_1 gompi/2021b"},{"location":"version-specific/supported-software/#sketchmap","title":"sketchmap","text":"

                    Sketch-map is a dimensionality reduction algorithm that is particularly well suited to examining the high-dimensionality data that is routinely produced in atomistic simulations.

                    homepage: http://sketchmap.org/

                    version toolchain 20170130 intel/2016b"},{"location":"version-specific/supported-software/#skewer","title":"skewer","text":"

                    skewer implements the bit-masked k-difference matching algorithm dedicated to the task of adapter trimming and it is specially designed for processing next-generation sequencing (NGS) paired-end sequences.

                    homepage: https://github.com/relipmoc/skewer

                    version toolchain 0.2.2 intel/2016b"},{"location":"version-specific/supported-software/#sklearn-pandas","title":"sklearn-pandas","text":"

                    This module provides a bridge between Scikit-Learn's machine learning methods and pandas-style Data Frames. In particular, it provides a way to map DataFrame columns to transformations, which are later recombined into features.

                    homepage: https://github.com/scikit-learn-contrib/sklearn-pandas

                    version toolchain 2.2.0 foss/2021b"},{"location":"version-specific/supported-software/#sklearn-som","title":"sklearn-som","text":"

                    A simple, planar self-organizing map with methods similar to clustering methods in Scikit Learn.

                    homepage: https://github.com/rileypsmith/sklearn-som

                    version toolchain 1.1.0 foss/2020b"},{"location":"version-specific/supported-software/#skorch","title":"skorch","text":"

                    A scikit-learn compatible neural network library that wraps PyTorch.

                    homepage: https://skorch.readthedocs.io/

                    version versionsuffix toolchain 0.11.0 -PyTorch-1.10.0 foss/2021a 0.11.0 -PyTorch-1.10.0-CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#slamdunk","title":"SlamDunk","text":"

                    SlamDunk is a novel, fully automated software tool for automated, robust, scalable and reproducible SLAMseq data analysis.

                    homepage: https://t-neumann.github.io/slamdunk

                    version toolchain 0.4.3 foss/2021b"},{"location":"version-specific/supported-software/#slatec","title":"SLATEC","text":"

                    SLATEC Common Mathematical Library, a comprehensive software library containing over 1400 general purpose mathematical and statistical routines written in Fortran 77.

                    homepage: https://www.netlib.org/slatec/

                    version toolchain 4.1 GCC/6.4.0-2.28, GCC/8.3.0, iccifort/2018.1.163-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#slepc","title":"SLEPc","text":"

                    SLEPc (Scalable Library for Eigenvalue Problem Computations) is a software library for the solution of large scale sparse eigenvalue problems on parallel computers. It is an extension of PETSc and can be used for either standard or generalized eigenproblems, with real or complex arithmetic. It can also be used for computing a partial SVD of a large, sparse, rectangular matrix, and to solve quadratic eigenvalue problems.

                    homepage: https://www.grycap.upv.es/slepc/

                    version versionsuffix toolchain 3.8.3 foss/2017b 3.9.2 foss/2018a 3.11.0 foss/2018b 3.12.2 -Python-2.7.16 intel/2019b 3.12.2 -Python-3.7.4 foss/2019b, intel/2019b 3.12.2 -Python-3.8.2 foss/2020a, intel/2020a 3.14.2 foss/2020b 3.15.1 foss/2021a 3.17.2 foss/2022a 3.18.2 intel/2021b"},{"location":"version-specific/supported-software/#slepc4py","title":"slepc4py","text":"

                    Python bindings for SLEPc, the Scalable Library for Eigenvalue Problem Computations.

                    homepage: https://bitbucket.org/slepc/slepc4py

                    version versionsuffix toolchain 3.9.0 -Python-3.6.4 foss/2018a 3.12.0 -Python-3.7.4 foss/2019b 3.15.1 foss/2021a"},{"location":"version-specific/supported-software/#sleuth","title":"sleuth","text":"

                    Investigate RNA-Seq transcript abundance from kallisto and perform differential expression analysis.

                    homepage: http://pachterlab.github.io/sleuth

                    version versionsuffix toolchain 0.29.0 -R-3.4.0 intel/2017a 0.30.0 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#slidingwindow","title":"slidingwindow","text":"

                    slidingwindow is a simple little Python library for computing a set of windows into a larger dataset, designed for use with image-processing algorithms that utilise a sliding window to break the processing up into a series of smaller chunks.

                    homepage: https://github.com/adamrehn/slidingwindow

                    version versionsuffix toolchain 0.0.13 -Python-2.7.15 intel/2018b 0.0.13 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#slim","title":"SLiM","text":"

                    SLiM is an evolutionary simulation framework that combines a powerful engine for population genetic simulations with the capability of modeling arbitrarily complex evolutionary scenarios.

                    homepage: https://messerlab.org/slim

                    version toolchain 3.4 GCC/9.3.0 4.0 GCC/11.2.0 4.0.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#slow5tools","title":"slow5tools","text":"

                    slow5tools is a toolkit for converting (FAST5 <-> SLOW5), compressing, viewing, indexing and manipulating data in SLOW5 format.

                    homepage: https://hasindu2008.github.io/slow5tools

                    version toolchain 0.4.0 gompi/2021b"},{"location":"version-specific/supported-software/#smafa","title":"smafa","text":"

                    Smafa attempts to align or cluster pre-aligned biological sequences, handling sequences which are all the same length.

                    homepage: https://github.com/wwood/smafa

                    version toolchain 0.4.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#smallgenomeutilities","title":"smallgenomeutilities","text":"

                    The smallgenomeutilities are a collection of scripts that is useful for dealing and manipulating NGS data of small viral genomes. They are written in Python 3 with a small number of dependencies.

                    homepage: https://github.com/cbg-ethz/smallgenomeutilities

                    version versionsuffix toolchain 0.2.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#smap","title":"SMAP","text":"

                    SMAP is an analysis tool for stack-based NGS read mapping

                    homepage: https://ngs-smap.readthedocs.io

                    version toolchain 4.6.5 foss/2022a"},{"location":"version-specific/supported-software/#smartdenovo","title":"SMARTdenovo","text":"

                    SMARTdenovo is a de novo assembler for PacBio and Oxford Nanopore (ONT) data. It produces an assembly from all-vs-all raw read alignments without an error correction stage. It also provides tools to generate accurate consensus sequences, though a platform dependent consensus polish tools (e.g. Quiver for PacBio or Nanopolish for ONT) are still required for higher accuracy.

                    homepage: https://github.com/ruanjue/smartdenovo

                    version toolchain 20180219 foss/2018b"},{"location":"version-specific/supported-software/#smc","title":"SMC++","text":"

                    SMC++ is a program for estimating the size history of populations from whole genome sequence data.

                    homepage: https://github.com/popgenmethods/smcpp

                    version toolchain 1.15.4 foss/2022a"},{"location":"version-specific/supported-software/#smfishhmrf","title":"smfishHmrf","text":"

                    smFish spatial pattern mining and cell type prediction

                    homepage: https://pypi.org/project/smfishHmrf

                    version toolchain 1.3.3 foss/2022a"},{"location":"version-specific/supported-software/#smithwaterman","title":"smithwaterman","text":"

                    smith-waterman-gotoh alignment algorithm.

                    homepage: https://github.com/ekg/smithwaterman

                    version toolchain 20160702 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#smoldyn","title":"Smoldyn","text":"

                    Smoldyn is a computer program for cell-scale biochemical simulations. It simulates each molecule of interest individually to capture natural stochasticity and to yield nanometer-scale spatial resolution. It treats other molecules implicitly, enabling it to simulate hundreds of thousands of molecules over several minutes of real time. Simulated molecules diffuse, react, are confined by surfaces, and bind to membranes much as they would in a real biological system.

                    homepage: http://www.smoldyn.org/

                    version toolchain 2.48 foss/2016a"},{"location":"version-specific/supported-software/#smooth-topk","title":"smooth-topk","text":"

                    Smooth Loss Functions for Deep Top-k Classification

                    homepage: https://github.com/oval-group/smooth-topk

                    version versionsuffix toolchain 1.0-20210817 foss/2021a 1.0-20210817 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#smrt-link","title":"SMRT-Link","text":"

                    PacBio\u2019s open-source SMRT Analysis software suite is designed for use with Single Molecule, Real-Time (SMRT) Sequencing data. You can analyze, visualize, and manage your data through an intuitive GUI or command-line interface. You can also integrate SMRT Analysis in your existing data workflow through the extensive set of APIs provided

                    homepage: https://www.pacb.com/support/software-downloads/

                    version versionsuffix toolchain 5.1.0.26412 -cli-tools-only system 6.0.0.47841 -cli-tools-only system"},{"location":"version-specific/supported-software/#smv","title":"SMV","text":"

                    Smokeview is a visualization program that displays output of FDS and CFAST simulations.

                    homepage: https://github.com/firemodels/smv

                    version toolchain 6.7.17 iccifort/2020.4.304"},{"location":"version-specific/supported-software/#snakemake","title":"snakemake","text":"

                    The Snakemake workflow management system is a tool to create reproducible and scalable data analyses.

                    homepage: https://snakemake.readthedocs.io

                    version versionsuffix toolchain 5.2.2 -Python-3.6.4 intel/2018a 5.2.4 -Python-3.6.6 foss/2018b, intel/2018b 5.7.1 -Python-3.7.2 foss/2019a 5.26.1 -Python-3.8.2 intel/2020a 6.1.0 foss/2020b 6.6.1 foss/2021a 6.10.0 foss/2021b 7.18.2 foss/2021b 7.22.0 foss/2022a"},{"location":"version-specific/supported-software/#snap","title":"SNAP","text":"

                    Scalable Nucleotide Alignment Program -- a fast and accurate read aligner for high-throughput sequencing data

                    homepage: https://www.microsoft.com/en-us/research/project/snap

                    version toolchain 1.0beta.23 intel/2017b 2.0.1 GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#snap-hmm","title":"SNAP-HMM","text":"

                    SNAP is a general purpose gene finding program suitable for both eukaryotic and prokaryotic genomes. SNAP is an acroynm for Semi-HMM-based Nucleic Acid Parser.

                    homepage: https://korflab.github.io/

                    version toolchain 2013-11-29 GCC/6.4.0-2.28, GCC/8.3.0, iccifort/2017.4.196-GCC-6.4.0-2.28 20190603 GCC/10.2.0 20221022 GCC/11.3.0"},{"location":"version-specific/supported-software/#snape-pooled","title":"SNAPE-pooled","text":"

                    SNAPE-pooled computes the probability distribution for the frequency of the minor allele in a certain population, at a certain position in the genome.

                    homepage: https://code.google.com/archive/p/snape-pooled/

                    version toolchain r32 foss/2016a"},{"location":"version-specific/supported-software/#snaphu","title":"snaphu","text":"

                    SNAPHU is an implementation of the Statistical-cost, Network-flow Algorithm for Phase Unwrapping proposed by Chen and Zebker

                    homepage: https://web.stanford.edu/group/radar/softwareandlinks/sw/snaphu/

                    version toolchain 1.4.2 GCCcore/6.3.0, intel/2016b, intel/2017a"},{"location":"version-specific/supported-software/#snappy","title":"snappy","text":"

                    Snappy is a compression/decompression library. It does not aim for maximum compression, or compatibility with any other compression library; instead, it aims for very high speeds and reasonable compression.

                    homepage: https://github.com/google/snappy

                    version toolchain 1.1.2 GCC/4.9.2 1.1.3 GCC/4.9.3, GCC/4.9.3-2.25 1.1.6 system 1.1.7 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, intel/2017a, intel/2017b 1.1.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/9.3.0 1.1.9 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 1.1.10 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#sniffles","title":"Sniffles","text":"

                    A fast structural variant caller for long-read sequencing, Sniffles2 accurately detect SVs on germline, somatic and population-level for PacBio and Oxford Nanopore read data.

                    homepage: https://github.com/fritzsedlazeck/Sniffles

                    version toolchain 2.0.7 GCC/11.3.0"},{"location":"version-specific/supported-software/#snippy","title":"snippy","text":"

                    Rapid haploid variant calling and core genome alignment

                    homepage: https://github.com/tseemann/snippy

                    version versionsuffix toolchain 4.4.1 -Perl-5.28.0 foss/2018b 4.6.0 GCC/10.2.0 4.6.0 -Java-13-Python-3.8.2 GCC/9.3.0 4.6.0 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#snp-sites","title":"snp-sites","text":"

                    Finds SNP sites from a multi-FASTA alignment file.

                    homepage: https://sanger-pathogens.github.io/snp-sites/

                    version toolchain 2.5.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#snpeff","title":"snpEff","text":"

                    SnpEff is a variant annotation and effect prediction tool. It annotates and predicts the effects of genetic variants (such as amino acid changes).

                    homepage: https://pcingola.github.io/SnpEff/

                    version versionsuffix toolchain 3.6 -Java-1.7.0_80 system 4.1d -Java-1.7.0_80 system 4.3t -Java-1.8 system 5.0 -Java-13 system 5.0 -Java-13-Python-3.8.2 GCCcore/9.3.0 5.0e -Java-11 GCCcore/11.2.0 5.0e -Java-13 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#snphylo","title":"SNPhylo","text":"

                    SNPhylo: a pipeline to generate a phylogenetic tree from huge SNP data

                    homepage: http://chibba.pgml.uga.edu/snphylo/

                    version versionsuffix toolchain 20140701 foss/2016a, intel/2016a 20160204 -Python-2.7.14-R-3.4.3 foss/2017b, intel/2017b"},{"location":"version-specific/supported-software/#snpomatic","title":"SNPomatic","text":"

                    High throughput sequencing technologies generate large amounts of short reads. Mapping these to a reference sequence consumes large amounts of processing time and memory, and read mapping errors can lead to noisy or incorrect alignments. SNP-o-matic is a fast, memory-efficient, and stringent read mapping tool offering a variety of analytical output functions, with an emphasis on genotyping.

                    homepage: https://github.com/magnusmanske/snpomatic

                    version toolchain 1.0 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#soapaligner","title":"SOAPaligner","text":"

                    SOAPaligner/soap2 is a member of the SOAP (Short Oligonucleotide Analysis Package). It is an updated version of SOAP software for short oligonucleotide alignment.

                    homepage: http://soap.genomics.org.cn/soapaligner.html

                    version versionsuffix toolchain 2.21 _Linux-x86_64 system"},{"location":"version-specific/supported-software/#soapdenovo-trans","title":"SOAPdenovo-Trans","text":"

                    SOAPdenovo-Trans is a de novo transcriptome assembler basing on the SOAPdenovo framework, adapt to alternative splicing and different expression level among transcripts.

                    homepage: http://soap.genomics.org.cn/SOAPdenovo-Trans.html

                    version toolchain 1.0.4 intel/2017a"},{"location":"version-specific/supported-software/#soapdenovo2","title":"SOAPdenovo2","text":"

                    SOAPdenovo is a novel short-read assembly method that can build a de novo draft assembly for human-sized genomes. The program is specially designed to assemble Illumina short reads. It creates new opportunities for building reference sequences and carrying out accurate analyses of unexplored genomes in a cost effective way. SOAPdenovo2 is the successor of SOAPdenovo.

                    homepage: http://soap.genomics.org.cn/index.html

                    version toolchain r240 GCC/5.4.0-2.26 r241 GCC/6.4.0-2.28, foss/2018a, iccifort/2017.4.196-GCC-6.4.0-2.28, intel/2018a"},{"location":"version-specific/supported-software/#soapfuse","title":"SOAPfuse","text":"

                    SOAPfuse is an open source tool developed for genome-wide detection of fusion transcripts from paired-end RNA-Seq data.

                    homepage: https://sourceforge.net/p/soapfuse/wiki/Home/

                    version versionsuffix toolchain 1.27 -Perl-5.24.0 foss/2016b 1.27 -Perl-5.28.0 foss/2018b"},{"location":"version-specific/supported-software/#socat","title":"socat","text":"

                    socat is a relay for bidirectional data transfer between two independent data channels.

                    homepage: http://www.dest-unreach.org/socat

                    version toolchain 1.7.3.3 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#soci","title":"SOCI","text":"

                    SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the regular C++ code, staying entirely within the Standard C++.

                    homepage: http://soci.sourceforge.net/

                    version toolchain 4.0.1 GCC/10.2.0, GCCcore/9.3.0 4.0.2 GCC/10.3.0 4.0.3 GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#solexaqa","title":"SolexaQA++","text":"

                    SolexaQA calculates sequence quality statistics and creates visual representations of data quality for second-generation sequencing data. Originally developed for the Illumina system (historically known as \u201cSolexa\u201d), SolexaQA now also supports Ion Torrent and 454 data.

                    homepage: http://solexaqa.sourceforge.net

                    version toolchain 3.1.5 foss/2016b"},{"location":"version-specific/supported-software/#sonic","title":"sonic","text":"

                    Sonic is a simple algorithm for speeding up or slowing down speech. However, it's optimized for speed ups of over 2X, unlike previous algorithms for changing speech rate. The Sonic library is a very simple ANSI C library that is designed to easily be integrated into streaming voice applications, like TTS back ends.

                    homepage: https://github.com/espeak-ng/sonic

                    version toolchain 20180202 gompi/2020a"},{"location":"version-specific/supported-software/#soplex","title":"SoPlex","text":"

                    SoPlex is an optimization package for solving linear programming problems (LPs) based on an advanced implementation of the primal and dual revised simplex algorithm. It provides special support for the exact solution of LPs with rational input data. It can be used as a standalone solver reading MPS or LP format files via a command line interface as well as embedded into other programs via a C++ class library.

                    homepage: https://soplex.zib.de/

                    version toolchain 2.2.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#soqt","title":"SoQt","text":"

                    SoQt is a library which provides the glue between Systems in Motion's Coin high-level 3D visualization library and the Qt 2D user interface library.

                    homepage: https://coin3d.github.io/SoQt/html/

                    version toolchain 1.6.0 GCC/10.3.0, GCC/11.2.0"},{"location":"version-specific/supported-software/#sortmerna","title":"SortMeRNA","text":"

                    SortMeRNA is a biological sequence analysis tool for filtering, mapping and OTU-picking NGS reads.

                    homepage: http://bioinfo.lifl.fr/RNA/sortmerna/

                    version toolchain 2.1 GCC/9.3.0, foss/2016a"},{"location":"version-specific/supported-software/#soupx","title":"SoupX","text":"

                    \" Quantify, profile and remove ambient mRNA contamination (the \"soup\") from droplet based single cell RNA-seq experiments. Implements the method described in Young et al. (2018) .

                    homepage: https://github.com/constantAmateur/SoupX

                    version versionsuffix toolchain 1.6.2 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#sox","title":"SoX","text":"

                    Sound eXchange, the Swiss Army knife of audio manipulation

                    homepage: http://sox.sourceforge.net/

                    version toolchain 14.4.2 GCC/8.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#soxt","title":"SoXt","text":"

                    SoXt is an Xt/Motif glue library for Coin. It can also be used on top of the SGI or TGS implementation of Open Inventor, and is designed to be source code compatible with SGI's InventorXt library.

                    homepage: https://coin3d.github.io/SoXt/html/

                    version toolchain 1.4.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#spaceranger","title":"SpaceRanger","text":"

                    Space Ranger is a set of analysis pipelines that process Visium spatial RNA-seq output and brightfield microscope images in order to detect tissue, align reads, generate feature-spot matrices, perform clustering and gene expression analysis, and place spots in spatial context on the slide image.

                    homepage: https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/what-is-space-ranger

                    version toolchain 1.1.0 GCC/9.3.0 1.2.2 GCC/9.3.0 1.3.0 GCC/10.3.0 1.3.1 GCC/11.2.0 2.0.0 GCC/11.2.0 2.0.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#spack","title":"Spack","text":"

                    Spack is a package manager for supercomputers, Linux, and macOS. It makes installing scientific software easy. With Spack, you can build a package with multiple versions, configurations, platforms, and compilers, and all of these builds can coexist on the same machine.

                    homepage: https://spack.io/

                    version toolchain 0.10.0 system 0.11.2 system 0.12.1 system 0.16.2 system 0.17.0 system 0.17.2 system"},{"location":"version-specific/supported-software/#spacy","title":"spaCy","text":"

                    Industrial-strength Natural Language Processing (NLP) in Python.

                    homepage: https://spacy.io/

                    version toolchain 3.4.4 foss/2022a"},{"location":"version-specific/supported-software/#spades","title":"SPAdes","text":"

                    Genome assembler for single-cell and isolates data sets

                    homepage: http://bioinf.spbau.ru/en/spades

                    version versionsuffix toolchain 3.9.0 foss/2016a, foss/2016b 3.10.1 foss/2016b, foss/2017a 3.11.1 foss/2017b, foss/2018a 3.12.0 foss/2016b, foss/2018a, foss/2018b 3.13.0 GCC/10.3.0, foss/2018b 3.13.1 GCC/8.2.0-2.31.1 3.14.0 -Python-3.7.2 GCC/8.2.0-2.31.1 3.14.0 -Python-3.7.4 GCC/8.3.0 3.14.1 -Python-3.8.2 GCC/9.3.0 3.15.2 GCC/10.2.0 3.15.2 -Python-2.7.18 GCC/10.2.0 3.15.3 GCC/10.3.0, GCC/11.2.0 3.15.4 GCC/12.2.0 3.15.5 GCC/11.3.0"},{"location":"version-specific/supported-software/#spaln","title":"spaln","text":"

                    Spaln (space-efficient spliced alignment) is a stand-alone program that maps and aligns a set of cDNA or protein sequences onto a whole genomic sequence in a single job.

                    homepage: https://github.com/ogotoh/spaln

                    version toolchain 2.3.3c iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.4.03 iccifort/2019.5.281 2.4.12 GCC/10.2.0, GCC/11.2.0 2.4.13f GCC/11.3.0"},{"location":"version-specific/supported-software/#spark","title":"Spark","text":"

                    Spark is Hadoop MapReduce done in memory

                    homepage: https://spark.apache.org

                    version versionsuffix toolchain 1.3.0 system 1.4.1 system 1.5.0 system 1.6.0 system 1.6.1 system 2.0.0 system 2.0.2 system 2.2.0 -Hadoop-2.6-Java-1.8.0_144 system 2.2.0 -Hadoop-2.6-Java-1.8.0_152 system 2.2.0 -Hadoop-2.6-Java-1.8.0_152-Python-3.6.3 intel/2017b 2.3.0 -Hadoop-2.7-Java-1.8.0_162 system 2.4.0 -Hadoop-2.7-Java-1.8 system 2.4.0 -Hadoop-2.7-Java-1.8-Python-3.6.6 intel/2018b 2.4.0 -Python-2.7.15 foss/2018b, intel/2018b 2.4.0 -Python-3.6.6 intel/2018b 2.4.5 -Python-3.7.4-Java-1.8 intel/2019b 3.0.0 -Python-2.7.15 foss/2018b, intel/2018b 3.1.1 foss/2020b, fosscuda/2020b 3.1.1 -Python-3.8.2 foss/2020a 3.2.1 foss/2021b 3.3.1 foss/2022a"},{"location":"version-specific/supported-software/#sparse-neighbors-search","title":"sparse-neighbors-search","text":"

                    A Python/C++ implementation of an approximate nearest neighbor search for sparse data structures based on the idea of local sensitive hash functions.

                    homepage: https://github.com/joachimwolff/sparse-neighbors-search

                    version toolchain 0.7 foss/2022a"},{"location":"version-specific/supported-software/#sparsehash","title":"sparsehash","text":"

                    An extremely memory-efficient hash_map implementation. 2 bits/entry overhead! The SparseHash library contains several hash-map implementations, including implementations that optimize for space or speed.

                    homepage: https://github.com/sparsehash/sparsehash

                    version toolchain 2.0.2 foss/2016a 2.0.3 GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, foss/2016b, intel/2017a 2.0.4 GCCcore/10.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#spatialde","title":"SpatialDE","text":"

                    SpatialDE is a method to identify genes which significantly depend on spatial coordinates in non-linear and non-parametric ways. The intended applications are spatially resolved RNA-sequencing from e.g. Spatial Transcriptomics, or in situ gene expression measurements from e.g. SeqFISH or MERFISH.

                    homepage: https://pypi.org/project/SpatialDE

                    version toolchain 1.1.3 foss/2022a"},{"location":"version-specific/supported-software/#spatialreg","title":"spatialreg","text":"

                    A collection of all the estimation functions for spatial cross-sectional models (on lattice/areal data using spatial weights matrices) contained up to now in 'spdep', 'sphet' and 'spse'.

                    homepage: https://cran.r-project.org/package=spatialreg

                    version versionsuffix toolchain 1.1-5 -R-3.6.2 foss/2019b 1.1-8 -R-4.1.0 foss/2021a"},{"location":"version-specific/supported-software/#spdlog","title":"spdlog","text":"

                    Very fast, header-only/compiled, C++ logging library.

                    homepage: https://github.com/gabime/spdlog

                    version toolchain 1.9.2 GCCcore/10.3.0 1.11.0 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#spectra","title":"SpectrA","text":"

                    Spectra stands for Sparse Eigenvalue Computation Toolkit as a Redesigned ARPACK. It is a C++ library for large scale eigenvalue problems, built on top of Eigen, an open source linear algebra library.

                    homepage: https://spectralib.org/

                    version toolchain 1.0.0 GCC/10.2.0 1.0.1 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#spectralmethods","title":"spectral.methods","text":"

                    Contains some implementations of Singular Spectrum Analysis (SSA) for the gapfilling and spectral decomposition of time series.

                    homepage: https://cran.r-project.org/web/packages/spectral.methods

                    version versionsuffix toolchain 0.7.2.133 -R-3.4.3 intel/2017b 0.7.2.133 -R-3.4.4 intel/2018a"},{"location":"version-specific/supported-software/#speech_tools","title":"speech_tools","text":"

                    The Edinburgh Speech Tools Library is a collection of C++ class, functions and related programs for manipulating the sorts of objects used in speech processing. It includes support for reading and writing waveforms, parameter files (LPC, Ceptra, F0) in various formats and converting between them. It also includes support for linguistic type objects and support for various label files and ngrams (with smoothing).

                    homepage: <['http://festvox.org/festival/']>

                    version toolchain 2.5.0 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#spektral","title":"spektral","text":"

                    Spektral is a Python library for graph deep learning. The main goal of this project is to provide a simple but flexible framework for creating graph neural networks (GNNs).

                    homepage: https://github.com/danielegrattarola/spektral

                    version versionsuffix toolchain 1.1.0 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#spglib","title":"spglib","text":"

                    Spglib is a C library for finding and handling crystal symmetries.

                    homepage: https://spglib.github.io/spglib/

                    version toolchain 1.9.2 intel/2016.02-GCC-4.9 1.9.9 intel/2017b 1.16.1 GCCcore/10.2.0 1.16.2 GCCcore/10.3.0 2.0.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#spglib-python","title":"spglib-python","text":"

                    Spglib for Python. Spglib is a library for finding and handling crystal symmetries written in C.

                    homepage: https://pypi.python.org/pypi/spglib

                    version versionsuffix toolchain 1.9.4.2 -Python-2.7.12 intel/2016b 1.9.5 -Python-2.7.12 intel/2016b 1.9.9.38 -Python-2.7.13 intel/2017a 1.10.0.2 -Python-2.7.14 intel/2017b 1.10.0.2 -Python-3.6.3 intel/2017b 1.14.1.post0 -Python-3.7.2 intel/2019a 1.16.0 foss/2020b, fosscuda/2020b, intel/2020b 1.16.0 -Python-3.7.4 fosscuda/2019b, intel/2019b, intelcuda/2019b 1.16.0 -Python-3.8.2 foss/2020a, intel/2020a 1.16.1 foss/2021a, gomkl/2021a, intel/2021a 1.16.3 foss/2021b, intel/2021b 2.0.0 foss/2022a, intel/2022a 2.0.2 gfbf/2022b"},{"location":"version-specific/supported-software/#sphinx","title":"Sphinx","text":"

                    Sphinx is a tool that makes it easy to create intelligent and beautiful documentation. It was originally created for the new Python documentation, and it has excellent facilities for the documentation of Python projects, but C/C++ is already supported as well, and it is planned to add special support for other languages as well.

                    homepage: http://sphinx.pocoo.org/

                    version versionsuffix toolchain 1.4.8 -Python-2.7.11 foss/2016a 1.4.8 -Python-3.5.1 foss/2016a 1.8.1 -Python-2.7.14 foss/2017b, intel/2017b 1.8.1 -Python-2.7.15 foss/2018b 1.8.1 -Python-3.6.3 foss/2017b, intel/2017b 1.8.1 -Python-3.6.4 foss/2018a 1.8.1 -Python-3.6.6 foss/2018b, intel/2018b 1.8.3 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#sphinx-rtd-theme","title":"Sphinx-RTD-Theme","text":"

                    Sphinx theme designed to provide a great reader experience for documentation users on both desktop and mobile devices.

                    homepage: https://sphinx-rtd-theme.readthedocs.io

                    version toolchain 1.1.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#spiceypy","title":"SpiceyPy","text":"

                    SpiceyPy is a Python wrapper for the NAIF C SPICE Toolkit (N65)

                    homepage: https://github.com/AndrewAnnex/SpiceyPy

                    version versionsuffix toolchain 1.1.0 -Python-2.7.12 intel/2016b 1.1.1 -Python-3.6.1 intel/2017a 2.1.0 -Python-3.6.3 foss/2017b, intel/2017b 2.1.0 -Python-3.6.4 foss/2018a"},{"location":"version-specific/supported-software/#spieceasi","title":"SpiecEasi","text":"

                    Sparse InversE Covariance estimation for Ecological Association and Statistical Inference

                    homepage: https://github.com/zdk123/SpiecEasi

                    version versionsuffix toolchain 1.0.0 -R-3.4.4 intel/2018a 20160830 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#spladder","title":"SplAdder","text":"

                    Splicing Adder is a toolbox for alternative splicing analysis based on RNA-Seq alignment data. Briefly, the software takes a given annotation and RNA-Seq read alignments in standardized formats, transforms the annotation into a splicing graph representation, augments the splicing graph with additional information extracted from the read data, extracts alternative splicing events from the graph and quantifies the events based on the alignment data.

                    homepage: https://github.com/ratschlab/spladder

                    version versionsuffix toolchain 2.4.2 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#splash","title":"SPLASH","text":"

                    SPLASH is a free and open source visualisation tool for Smoothed Particle Hydrodynamics (SPH) simulations.

                    homepage: http://users.monash.edu.au/~dprice/splash/index.html

                    version toolchain 2.8.0 foss/2018b"},{"location":"version-specific/supported-software/#splicemap","title":"SpliceMap","text":"

                    SpliceMap is a de novo splice junction discovery and alignment tool. It offers high sensitivity and support for arbitrary RNA-seq read lengths.

                    homepage: https://web.stanford.edu/group/wonglab/SpliceMap/

                    version toolchain 3.3.5.2 GCC/7.3.0-2.30"},{"location":"version-specific/supported-software/#split-seq","title":"split-seq","text":"

                    Analysis tools for split-seq.

                    homepage: https://github.com/yjzhang/split-seq-pipeline

                    version versionsuffix toolchain 20190717 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#splitref","title":"splitRef","text":"

                    splitRef splits a reference haplotype file into smaller files with subsets of markers. The current version is a pre-release.

                    homepage: http://www.sph.umich.edu/csg/yli/splitRef/index.html

                    version toolchain 0.0.2 system"},{"location":"version-specific/supported-software/#spm","title":"SPM","text":"

                    SPM (Statistical Parametric Mapping) refers to the construction and assessment of spatially extended statistical processes used to test hypo- theses about functional imaging data. These ideas have been instantiated in software that is called SPM. The SPM software package has been designed for the analysis of brain imaging data sequences. The sequences can be a series of images from different cohorts, or time-series from the same subject. The current release is designed for the analysis of fMRI, PET, SPECT, EEG and MEG.

                    homepage: https://www.fil.ion.ucl.ac.uk/spm

                    version versionsuffix toolchain 12.5_r7771 -MATLAB-2021a system 12.5_r7771 -MATLAB-2021b system"},{"location":"version-specific/supported-software/#spoa","title":"spoa","text":"

                    Spoa (SIMD POA) is a c++ implementation of the partial order alignment (POA) algorithm which is used to generate consensus sequences

                    homepage: https://github.com/rvaser/spoa

                    version toolchain 3.0.1 GCC/7.3.0-2.30 3.4.0 GCC/10.2.0 4.0.0 GCC/8.3.0 4.0.7 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#spooles","title":"SPOOLES","text":"

                    SPOOLES is a library for solving sparse real and complex linear systems of equations, written in the C language using object oriented design.

                    homepage: https://netlib.org/linalg/spooles/spooles.2.2.html

                    version toolchain 2.2 gompi/2021a"},{"location":"version-specific/supported-software/#spotpy","title":"SPOTPY","text":"

                    SPOTPY is a Python framework that enables the use of Computational optimization techniques for calibration, uncertainty and sensitivity analysis techniques of almost every (environmental-) model.

                    homepage: https://spotpy.readthedocs.io

                    version toolchain 1.5.14 intel/2021b"},{"location":"version-specific/supported-software/#sprng","title":"SPRNG","text":"

                    Scalable Parallel Pseudo Random Number Generators Library

                    homepage: http://www.sprng.org/

                    version toolchain 2.0b foss/2016a"},{"location":"version-specific/supported-software/#spyder","title":"Spyder","text":"

                    Spyder is an interactive Python development environment providing MATLAB-like features in a simple and light-weighted software.

                    homepage: https://github.com/spyder-ide/spyder

                    version versionsuffix toolchain 3.1.4 -Python-2.7.13 intel/2017a 3.3.1 -Python-3.6.4 foss/2018a 3.3.2 -Python-3.6.6 foss/2018b 4.1.5 -Python-3.7.2 foss/2019a 4.1.5 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#sqlite","title":"SQLite","text":"

                    SQLite: SQL Database Engine in a C Library

                    homepage: http://www.sqlite.org/

                    version toolchain 3.8.8.1 GCC/4.8.4, GCC/4.9.2 3.8.10.2 GCC/4.9.3-2.25, GNU/4.9.3-2.25, gimkl/2.11.5 3.9.2 GCC/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 3.13.0 GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/6.3.0, foss/2016.04, foss/2016a, foss/2016b, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016b 3.14.1 GCCcore/4.9.3 3.17.0 GCCcore/6.3.0 3.20.1 GCCcore/6.4.0 3.21.0 GCCcore/6.4.0 3.23.0 GCCcore/6.4.0 3.24.0 GCCcore/7.2.0, GCCcore/7.3.0 3.26.0 GCCcore/8.2.0 3.27.2 GCCcore/8.2.0 3.29.0 GCCcore/8.3.0 3.31.1 GCCcore/9.3.0 3.33.0 GCCcore/10.2.0 3.35.4 GCCcore/10.3.0 3.36 GCCcore/11.2.0 3.38.3 GCCcore/11.3.0 3.39.4 GCCcore/12.2.0 3.41.2 GCCcore/13.1.0 3.42.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#squeezemeta","title":"SqueezeMeta","text":"

                    SqueezeMeta is a full automatic pipeline for metagenomics/metatranscriptomics, covering all steps of the analysis.

                    homepage: https://github.com/jtamames/SqueezeMeta

                    version versionsuffix toolchain 0.4.3 -Python-2.7.15 foss/2018b 1.0.0 -Python-2.7.15 foss/2018b 1.5.0 foss/2021b"},{"location":"version-specific/supported-software/#squidpy","title":"Squidpy","text":"

                    Squidpy is a tool for the analysis and visualization of spatial molecular data.

                    homepage: https://squidpy.readthedocs.io

                    version toolchain 1.2.2 foss/2021b"},{"location":"version-specific/supported-software/#sra-toolkit","title":"SRA-Toolkit","text":"

                    The SRA Toolkit, and the source-code SRA System Development Kit (SDK), will allow you to programmatically access data housed within SRA and convert it from the SRA format

                    homepage: https://github.com/ncbi/sra-tools

                    version versionsuffix toolchain 2.3.5 -centos_linux64 system 2.5.4-1 -centos_linux64 system 2.5.7 -centos_linux64 system 2.8.2-1 -centos_linux64 system 2.9.0 -centos_linux64 system 2.9.2 -ubuntu64 system 2.9.4 -centos_linux64 system 2.9.6-1 -centos_linux64 system 2.10.4 gompi/2019b 2.10.5 -centos_linux64 system 2.10.8 gompi/2020a 2.10.9 gompi/2020b 3.0.0 gompi/2021b 3.0.0 -centos_linux64 system 3.0.3 gompi/2022a 3.0.5 gompi/2021a"},{"location":"version-specific/supported-software/#sradownloader","title":"sradownloader","text":"

                    SRAdownloader takes the annotation table from the SRA run selector tool and retrieves the raw fastq files for the selected samples

                    homepage: https://github.com/s-andrews/sradownloader

                    version toolchain 3.9 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#srprism","title":"SRPRISM","text":"

                    Single Read Paired Read Indel Substitution Minimizer

                    homepage: https://github.com/ncbi/SRPRISM

                    version versionsuffix toolchain 3.0.0 foss/2018b 3.1.1 -Java-11 GCCcore/8.2.0 3.1.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#srst2","title":"SRST2","text":"

                    Short Read Sequence Typing for Bacterial Pathogens

                    homepage: https://katholt.github.io/srst2

                    version versionsuffix toolchain 0.2.0-20210620 -Python-2.7.18 foss/2020b"},{"location":"version-specific/supported-software/#ssaha2","title":"SSAHA2","text":"

                    SSAHA2 (Sequence Search and Alignment by Hashing Algorithm) is a pairwise sequence alignment program designed for the efficient mapping of sequencing reads onto genomic reference sequences. SSAHA2 reads of most sequencing platforms (ABI-Sanger, Roche 454, Illumina-Solexa) and a range of output formats (SAM, CIGAR, PSL etc.) are supported. A pile-up pipeline for analysis and genotype calling is available as a separate package.

                    homepage: http://www.sanger.ac.uk/resources/software/ssaha2/

                    version versionsuffix toolchain 2.5.5 -i686 system 2.5.5 -x86_64 system"},{"location":"version-specific/supported-software/#ssn","title":"SSN","text":"

                    Spatial statistical modeling and prediction for data on stream networks, including models based on in-stream distance. Models are created using moving average constructions. Spatial linear models, including explanatory variables, can be fit with (restricted) maximum likelihood. Mapping and other graphical functions are included.

                    homepage: https://cran.r-project.org/web/packages/SSN

                    version versionsuffix toolchain 1.1.14 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#sspace_basic","title":"SSPACE_Basic","text":"

                    SSPACE Basic, SSAKE-based Scaffolding of Pre-Assembled Contigs after Extension

                    homepage: https://github.com/nsoranzo/sspace_basic

                    version versionsuffix toolchain 2.1.1 -Perl-5.24.1 intel/2017a 2.1.1 -Perl-5.26.0 intel/2017b 2.1.1 -Python-2.7.18 GCC/10.2.0"},{"location":"version-specific/supported-software/#ssw","title":"SSW","text":"

                    SSW is a fast implementation of the Smith-Waterman algorithm, which uses the Single-Instruction Multiple-Data (SIMD) instructions to parallelize the algorithm at the instruction level. SSW library provides an API that can be flexibly used by programs written in C, C++ and other languages. We also provide a software that can do protein and genome alignment directly. Current version of our implementation is ~50 times faster than an ordinary Smith-Waterman. It can return the Smith-Waterman score, alignment location and traceback path (cigar) of the optimal alignment accurately; and return the sub-optimal alignment score and location heuristically.

                    homepage: https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library

                    version toolchain 1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 1.2.4 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#stacey","title":"STACEY","text":"

                    The BEAST2 package STACEY can be used for species delimitation and species tree estimation, based on the multispecies coalescent model.

                    homepage: http://www.indriid.com/software.html

                    version toolchain 1.2.5 GCC/10.2.0"},{"location":"version-specific/supported-software/#stack","title":"Stack","text":"

                    Stack is a cross-platform program for developing Haskell projects. It is intended for Haskellers both new and experienced.

                    homepage: https://docs.haskellstack.org

                    version versionsuffix toolchain 2.3.3 -x86_64 system"},{"location":"version-specific/supported-software/#stacks","title":"Stacks","text":"

                    Stacks is a software pipeline for building loci from short-read sequences, such as those generated on the Illumina platform. Stacks was developed to work with restriction enzyme-based data, such as RAD-seq, for the purpose of building genetic maps and conducting population genomics and phylogeography.

                    homepage: https://catchenlab.life.illinois.edu/stacks/

                    version toolchain 1.40 foss/2016a 1.42 foss/2016a 1.44 foss/2016a 1.45 foss/2016a 1.46 intel/2017a 1.47 foss/2016a 1.48 intel/2017b, intel/2018b 2.0 foss/2018a, intel/2018a 2.0Beta7c intel/2017b 2.0Beta8c intel/2017b 2.0Beta9 intel/2018a 2.0Beta10a foss/2018a 2.2 foss/2018a 2.3b foss/2018a 2.3e foss/2018b 2.5 iccifort/2019.5.281 2.41 GCC/8.2.0-2.31.1, foss/2018b, iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.53 foss/2019b, iccifort/2019.5.281 2.54 foss/2020a 2.62 foss/2022a"},{"location":"version-specific/supported-software/#stamp","title":"STAMP","text":"

                    STAMP is a tool for characterizing similarities between transcription factor binding motifs

                    homepage: http://www.benoslab.pitt.edu/stamp/

                    version toolchain 1.2 intel/2016a 1.3 intel/2016a, intel/2016b"},{"location":"version-specific/supported-software/#stamps","title":"StaMPS","text":"

                    A software package to extract ground displacements from time series of synthetic aperture radar (SAR) acquisitions.

                    homepage: http://homepages.see.leeds.ac.uk/~earahoo/stamps/

                    version versionsuffix toolchain 3.3b1 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#stampy","title":"Stampy","text":"

                    Stampy is a package for the mapping of short reads from illumina sequencing machines onto a reference genome.

                    homepage: http://www.well.ox.ac.uk/stampy

                    version versionsuffix toolchain 1.0.31 -Python-2.7.12 intel/2016b 1.0.32 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#star","title":"STAR","text":"

                    STAR aligns RNA-seq reads to a reference genome using uncompressed suffix arrays.

                    homepage: https://github.com/alexdobin/STAR

                    version toolchain 2.4.2a foss/2018b 2.5.0a GNU/4.9.3-2.25 2.5.2a foss/2016a 2.5.2b intel/2016b 2.5.3a GCC/8.3.0, GCC/9.3.0, intel/2017a, intel/2017b 2.5.4b foss/2016b, foss/2017b, intel/2017b 2.6.0c foss/2018a, intel/2018a 2.6.1c foss/2018b 2.7.0d foss/2018b 2.7.0f GCC/8.2.0-2.31.1, foss/2018b 2.7.1a GCC/8.2.0-2.31.1, foss/2018b 2.7.2b GCC/8.3.0 2.7.3a GCC/8.3.0, GCC/9.3.0 2.7.4a GCC/9.3.0 2.7.5b GCC/9.3.0 2.7.6a GCC/10.2.0, GCC/9.3.0 2.7.7a GCC/10.2.0, GCC/9.3.0 2.7.8a GCC/10.2.0 2.7.9a GCC/10.3.0, GCC/11.2.0 2.7.10a_alpha_220601 GCC/10.3.0 2.7.10b GCC/11.3.0, GCC/12.2.0"},{"location":"version-specific/supported-software/#star-ccm","title":"STAR-CCM+","text":"

                    STAR-CCM+ is a multiphysics computational fluid dynamics (CFD) software for the simulation of products operating under real-world conditions.

                    homepage: https://mdx.plm.automation.siemens.com/star-ccm-plus

                    version versionsuffix toolchain 13.04.011 system 17.02.008 system 17.02.008 -r8 system 17.04.008 system 17.04.008 -r8 system 17.06.007 system 17.06.007 -r8 system 18.02.008 system 18.02.008 -r8 system"},{"location":"version-specific/supported-software/#star-fusion","title":"STAR-Fusion","text":"

                    STAR-Fusion uses the STAR aligner to identify candidate fusion transcripts supported by Illumina reads. STAR-Fusion further processes the output generated by the STAR aligner to map junction reads and spanning reads to a reference annotation set.

                    homepage: https://github.com/STAR-Fusion/STAR-Fusion

                    version versionsuffix toolchain 1.5.0 -Perl-5.28.0 foss/2018b 1.6.0 -Perl-5.28.1-Python-3.7.2 GCC/8.2.0-2.31.1 1.8.1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#stardist","title":"stardist","text":"

                    Object Detection with Star-convex Shapes.

                    homepage: https://github.com/stardist/stardist

                    version versionsuffix toolchain 0.8.3 foss/2021b 0.8.3 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#stars","title":"stars","text":"

                    Reading, manipulating, writing and plotting spatiotemporal arrays (raster and vector data cubes) in R, using GDAL bindings provided by sf, and NetCDF bindings by ncmeta and RNetCDF.

                    homepage: https://cran.r-project.org/package=stars

                    version versionsuffix toolchain 0.4-3 -R-4.0.0-Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#stata","title":"Stata","text":"

                    Stata is a complete, integrated statistical software package that provides everything you need for data analysis, data management, and graphics.

                    homepage: https://www.stata.com/

                    version versionsuffix toolchain 15 system 16 -legacy system 17 system"},{"location":"version-specific/supported-software/#statistics-r","title":"Statistics-R","text":"

                    Perl interface with the R statistical program

                    homepage: https://metacpan.org/pod/Statistics::R

                    version toolchain 0.34 foss/2020a"},{"location":"version-specific/supported-software/#statsmodels","title":"statsmodels","text":"

                    Statsmodels is a Python module that provides classes and functions for the estimation of many different statistical models, as well as for conducting statistical tests, and statistical data exploration.

                    homepage: https://www.statsmodels.org

                    version versionsuffix toolchain 0.6.1 -Python-2.7.13 foss/2017a 0.6.1 -Python-3.5.1 intel/2016a 0.6.1 -Python-3.5.2 intel/2016b 0.8.0 -Python-2.7.13 intel/2017a 0.9.0 -Python-2.7.15 foss/2018b, intel/2018b 0.9.0 -Python-2.7.16 intel/2019b 0.9.0 -Python-3.6.6 foss/2018b, intel/2018b 0.10.1 foss/2019a 0.11.0 -Python-3.7.4 foss/2019b, intel/2019b 0.11.1 -Python-3.8.2 foss/2020a, intel/2020a 0.12.1 foss/2020b, fosscuda/2020b, intel/2020b 0.12.2 foss/2021a 0.13.1 foss/2021b, foss/2022a, intel/2021b 0.14.0 gfbf/2022b"},{"location":"version-specific/supported-software/#steak","title":"STEAK","text":"

                    Detects integrations of any sort in high-throughput sequencing (HTS) data. STEAK was built for validating and discovering transposable element (TE) and retroviral integrations in a variety of HTS data. The software performs on both single-end (SE) and paired-end ( PE) libraries and on a variety of HTS sequencing strategies. It can be applied to a broad range of research interests and clinical uses such as population genetic studies and detecting polymorphic integrations.

                    homepage: https://omictools.com/steak-tool

                    version versionsuffix toolchain 2019.09.12 foss/2021b 2019.09.12 -Python-2.7.16 foss/2019b"},{"location":"version-specific/supported-software/#stir","title":"STIR","text":"

                    Software for Tomographic Image Reconstruction

                    homepage: http://stir.sourceforge.net/

                    version toolchain 3.0 intel/2018a"},{"location":"version-specific/supported-software/#stpipeline","title":"stpipeline","text":"

                    The ST Pipeline contains the tools and scripts needed to process and analyze the raw files generated with the Spatial Transcriptomics method in FASTQ format to generated datasets for down-stream analysis. The ST pipeline can also be used to process single cell data as long as a file with barcodes identifying each cell is provided. The ST Pipeline can also process RNA-Seq datasets generated with or without UMIs.

                    homepage: https://github.com/SpatialTranscriptomicsResearch/st_pipeline

                    version versionsuffix toolchain 1.7.3 -Python-2.7.15 foss/2018b 1.7.6 -Python-3.7.2 foss/2019a 1.7.6 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#strace","title":"strace","text":"

                    strace is a diagnostic, debugging and instructional userspace utility for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state.

                    homepage: https://strace.io/

                    version toolchain 5.14 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#strainberry","title":"Strainberry","text":"

                    Strainberry is a method that performs strain separation in low-complexity metagenomes using error-prone long-read technologies. It exploits state-of-the-art tools for variant calling, haplotype phasing, and genome assembly, in order to achieve single-sample assembly of strains with higher quality than other state-of-the-art long-read assemblers.

                    homepage: https://github.com/rvicedomini/strainberry

                    version toolchain 1.1 foss/2022a"},{"location":"version-specific/supported-software/#stream","title":"STREAM","text":"

                    The STREAM benchmark is a simple synthetic benchmark program that measures sustainable memory bandwidth (in MB/s) and the corresponding computation rate for simple vector kernels.

                    homepage: https://www.cs.virginia.edu/stream/

                    version toolchain 5.10 GCC/11.3.0, GCC/7.3.0-2.30, GCC/8.2.0-2.31.1, GCC/9.3.0, iccifort/2020.1.217, intel-compilers/2022.2.1, intel/2016b, intel/2018b"},{"location":"version-specific/supported-software/#strelka","title":"strelka","text":"

                    Strelka2 is a fast and accurate small variant caller optimized for analysis of germline variation in small cohorts and somatic variation in tumor/normal sample pairs.

                    homepage: https://github.com/Illumina/strelka

                    version versionsuffix toolchain 2.9.7 intel/2018a 2.9.9 foss/2018b 2.9.10 -Python-2.7.15 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#stringtie","title":"StringTie","text":"

                    StringTie is a fast and highly efficient assembler of RNA-Seq alignments into potential transcripts

                    homepage: https://ccb.jhu.edu/software/stringtie/

                    version toolchain 1.3.0 intel/2016b 1.3.3 GCCcore/6.4.0, intel/2017a 1.3.3b foss/2016b 1.3.5 GCCcore/8.2.0, foss/2018b 2.0.3 GCCcore/7.3.0 2.1.0 foss/2018b 2.1.1 GCC/8.3.0 2.1.3 GCC/8.3.0, GCC/9.3.0 2.1.4 GCC/8.3.0, GCC/9.3.0 2.1.7 GCC/10.3.0 2.2.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#stripy","title":"stripy","text":"

                    A Python interface to TRIPACK and STRIPACK Fortran code for (constrained) triangulation in Cartesian coordinates and on a sphere. Stripy is an object-oriented package and includes routines from SRFPACK and SSRFPACK for interpolation (nearest neighbor, linear and hermite cubic) and to evaluate derivatives (Renka 1996a,b and 1997a,b).

                    homepage: https://github.com/underworldcode/stripy

                    version toolchain 2.1.0 foss/2021a"},{"location":"version-specific/supported-software/#strique","title":"STRique","text":"

                    STRique is a python package to analyze repeat expansion and methylation states of short tandem repeats (STR) in Oxford Nanopore Technology (ONT) long read sequencing data.

                    homepage: https://github.com/giesselmann/STRique

                    version toolchain 0.4.2 foss/2021b"},{"location":"version-specific/supported-software/#structure","title":"Structure","text":"

                    The program structure is a free software package for using multi-locus genotype data to investigate population structure.

                    homepage: https://web.stanford.edu/group/pritchardlab/structure.html

                    version toolchain 2.3.4 GCC/12.2.0, GCC/8.2.0-2.31.1, iccifort/2019.3.199-GCC-8.3.0-2.32, iccifort/2019.5.281"},{"location":"version-specific/supported-software/#structure_threader","title":"Structure_threader","text":"

                    A program to parallelize the runs of Structure, fastStructure, MavericK and ALStructure software.

                    homepage: https://github.com/StuntsPT/Structure_threader

                    version toolchain 1.3.10 foss/2022b"},{"location":"version-specific/supported-software/#strumpack","title":"STRUMPACK","text":"

                    STRUMPACK - STRUctured Matrix PACKage - Fast linear solvers and preconditioner for both dense and sparse systems using low-rank structured factorization with randomized sampling.

                    homepage: https://fastmath-scidac.llnl.gov/software/strumpack.html

                    version toolchain 6.1.0 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#suave","title":"suave","text":"

                    suave is an interactive web application to visualize read depth ratios between two samples and the structural variants of one of the samples (typically the \"case\" sample in a case/control setup such as tumor/normal comparison).

                    homepage: https://github.com/dellytools/suave

                    version toolchain 20160529 foss/2020b"},{"location":"version-specific/supported-software/#subread","title":"Subread","text":"

                    High performance read alignment, quantification and mutation discovery

                    homepage: https://subread.sourceforge.net/

                    version toolchain 1.5.0-p1 foss/2016a, foss/2016b 1.6.3 foss/2018b 1.6.4 foss/2018b 2.0.0 GCC/7.3.0-2.30, GCC/8.3.0 2.0.2 GCC/10.2.0 2.0.3 GCC/10.3.0, GCC/11.2.0, GCC/9.3.0 2.0.4 GCC/11.3.0"},{"location":"version-specific/supported-software/#subset-bam","title":"subset-bam","text":"

                    subset-bam is a tool to subset a 10x Genomics BAM file based on a tag, most commonly the cell barcode tag.

                    homepage: https://github.com/10XGenomics/subset-bam

                    version toolchain 1.1.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#subversion","title":"Subversion","text":"

                    Subversion is an open source version control system.

                    homepage: http://subversion.apache.org/

                    version toolchain 1.9.7 iomkl/2018a 1.9.9 GCCcore/7.3.0 1.10.0 foss/2017b, intel/2017b 1.12.0 GCCcore/8.2.0 1.14.0 GCCcore/10.2.0, GCCcore/9.3.0 1.14.1 GCCcore/10.3.0, GCCcore/11.2.0 1.14.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#suds","title":"suds","text":"

                    Lightweight SOAP client

                    homepage: https://pypi.python.org/pypi/suds-py3

                    version versionsuffix toolchain 1.3.3.0 -Python-3.6.4 intel/2018a"},{"location":"version-specific/supported-software/#suitesparse","title":"SuiteSparse","text":"

                    SuiteSparse is a collection of libraries manipulate sparse matrices.

                    homepage: https://faculty.cse.tamu.edu/davis/suitesparse.html

                    version versionsuffix toolchain 4.5.1 -METIS-5.1.0 foss/2016a, intel/2016a 4.5.2 -METIS-5.1.0 foss/2016a, intel/2016a 4.5.3 -METIS-5.1.0 foss/2016a, foss/2016b, intel/2016b 4.5.3 -ParMETIS-4.0.3 foss/2016a, foss/2016b, intel/2016a, intel/2016b 4.5.5 -METIS-5.1.0 foss/2017a, intel/2017a 4.5.5 -ParMETIS-4.0.3 foss/2017a, foss/2017b, intel/2017a, intel/2017b 4.5.6 -METIS-5.1.0 foss/2017b 5.1.2 -METIS-5.1.0 foss/2017b, foss/2018a, foss/2018b, intel/2017b, intel/2018a, intel/2018b 5.1.2 -ParMETIS-4.0.3 foss/2017b, intel/2017b 5.4.0 -METIS-5.1.0 foss/2019a, intel/2018b, intel/2019a 5.6.0 -METIS-5.1.0 foss/2019b, intel/2019b 5.7.1 -METIS-5.1.0 foss/2020a, intel/2020a 5.8.1 -METIS-5.1.0 foss/2020b, intel/2020b 5.10.1 -METIS-5.1.0 foss/2021a, foss/2021b, intel/2021a, intel/2021b 5.10.1 -METIS-5.1.0-CUDA-11.3.1 foss/2021a 5.13.0 -METIS-5.1.0 foss/2022a, foss/2022b"},{"location":"version-specific/supported-software/#sumaclust","title":"SUMACLUST","text":"

                    SUMATRA and SUMACLUST: fast and exact comparison and clustering of sequences.

                    homepage: http://metabarcoding.org/sumatra

                    version toolchain 1.0.20 foss/2016a"},{"location":"version-specific/supported-software/#sumatra","title":"SUMATRA","text":"

                    SUMATRA and SUMACLUST: fast and exact comparison and clustering of sequences.

                    homepage: http://metabarcoding.org/sumatra

                    version toolchain 1.0.20 foss/2016a"},{"location":"version-specific/supported-software/#sumo","title":"SUMO","text":"

                    Simulation of Urban MObility\" (SUMO) is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.

                    homepage: https://www.eclipse.org/sumo/

                    version versionsuffix toolchain 1.3.1 -Python-3.7.4 GCCcore/8.3.0 1.7.0 -Python-3.8.2 foss/2020a 1.12.0 foss/2021b 1.14.1 foss/2021b"},{"location":"version-specific/supported-software/#sundials","title":"SUNDIALS","text":"

                    SUNDIALS: SUite of Nonlinear and DIfferential/ALgebraic Equation Solvers

                    homepage: https://computing.llnl.gov/projects/sundials

                    version toolchain 2.6.2 intel/2016b, intel/2018b 2.7.0 foss/2016b, foss/2017b, foss/2018a, foss/2018b, intel/2016b, intel/2017a, intel/2017b, intel/2018a 5.1.0 foss/2019b, intel/2019b 5.7.0 foss/2020b, fosscuda/2020b, intel/2020b 6.2.0 foss/2020b, intel/2020b 6.3.0 foss/2021b, foss/2022a 6.5.1 foss/2022a"},{"location":"version-specific/supported-software/#sunpy","title":"SunPy","text":"

                    The community-developed, free and open-source solar data analysis environment for Python.

                    homepage: https://sunpy.org/

                    version versionsuffix toolchain 1.1.3 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#superlu","title":"SuperLU","text":"

                    SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines.

                    homepage: https://crd-legacy.lbl.gov/~xiaoye/SuperLU/

                    version toolchain 5.1.1 foss/2016a, intel/2016a 5.2.1 foss/2017b, intel/2017b 5.2.2 foss/2020a, intel/2020a 5.3.0 foss/2020b, foss/2021a, foss/2022a, intel/2020b, intel/2022a"},{"location":"version-specific/supported-software/#superlu_dist","title":"SuperLU_DIST","text":"

                    SuperLU is a general purpose library for the direct solution of large, sparse, nonsymmetric systems of linear equations on high performance machines.

                    homepage: https://crd-legacy.lbl.gov/~xiaoye/SuperLU/

                    version versionsuffix toolchain 5.4.0 -trisolve-merge intel/2020a 6.4.0 foss/2020a, intel/2020a 8.1.0 foss/2022a"},{"location":"version-specific/supported-software/#supermagic","title":"supermagic","text":"

                    Very simple MPI sanity code. Nothing more, nothing less.

                    homepage: https://github.com/hpc/supermagic

                    version toolchain 20170824 foss/2017a, gompi/2019b"},{"location":"version-specific/supported-software/#supernova","title":"supernova","text":"

                    Supernova is a software package for de novo assembly from Chromium Linked-Reads that are made from a single whole-genome library from an individual DNA source

                    homepage: https://support.10xgenomics.com/de-novo-assembly/software/overview/latest/welcome

                    version toolchain 2.0.1 system 2.1.1 system"},{"location":"version-specific/supported-software/#survivor","title":"SURVIVOR","text":"

                    Toolset for SV simulation, comparison and filtering

                    homepage: https://github.com/fritzsedlazeck/SURVIVOR

                    version toolchain 1.0.7-19-ged1ca51 GCC/11.2.0"},{"location":"version-specific/supported-software/#svclone","title":"SVclone","text":"

                    Cluster structural variants of similar cancer cell fraction (CCF).

                    homepage: https://github.com/mcmero/SVclone

                    version toolchain 1.1.2 foss/2022b"},{"location":"version-specific/supported-software/#svdetect","title":"SVDetect","text":"

                    SVDetect is a application for the isolation and the type prediction of intra- and inter-chromosomal rearrangements from paired-end/mate-pair sequencing data provided by the high-throughput sequencing technologies. This tool aims to identifying structural variations with both clustering and sliding-window strategies, and helping in their visualization at the genome scale.

                    homepage: http://svdetect.sourceforge.net/Site/Home.html

                    version versionsuffix toolchain 0.8b -Perl-5.26.0 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#svdquest","title":"SVDquest","text":"

                    SVDquartets-based species trees

                    homepage: https://github.com/pranjalv123/SVDquest

                    version toolchain 20190627 gompi/2019a"},{"location":"version-specific/supported-software/#svg","title":"SVG","text":"

                    Perl binding for SVG

                    homepage: https://metacpan.org/pod/SVG

                    version versionsuffix toolchain 2.84 -Perl-5.30.0 foss/2019b 2.87 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#svim","title":"SVIM","text":"

                    SVIM (pronounced swim) is a structural variant caller for third-generation sequencing reads. It is able to detect and classify the following six classes of structural variation: deletions, insertions, inversions, tandem duplications, interspersed duplications and translocations.

                    homepage: https://github.com/eldariont/svim

                    version toolchain 2.0.0 foss/2022a"},{"location":"version-specific/supported-software/#svist4get","title":"svist4get","text":"

                    Svist4get is a simple bioinformatics tool for visualization of genomic signal tracks in user-defined genomic windows, either arbitrary selected by genomic coordinates or anchored to particular transcripts or genes.

                    homepage: https://github.com/art-egorov/svist4get

                    version toolchain 1.3.1 foss/2020b"},{"location":"version-specific/supported-software/#swarm","title":"swarm","text":"

                    A robust and fast clustering method for amplicon-based studies

                    homepage: https://github.com/torognes/swarm

                    version toolchain 2.2.2 foss/2018b"},{"location":"version-specific/supported-software/#swash","title":"SWASH","text":"

                    SWASH is a general-purpose numerical tool for simulating unsteady, non-hydrostatic, free-surface, rotational flow and transport phenomena in coastal waters as driven by waves, tides, buoyancy and wind forces.

                    homepage: http://swash.sourceforge.net/

                    version versionsuffix toolchain 3.14 -mpi intel/2016b, intel/2017a 4.01 -mpi intel/2017a"},{"location":"version-specific/supported-software/#swat","title":"SWAT+","text":"

                    The Soil & Water Assessment Tool (SWAT) is a small watershed to river basin-scale model used to simulate the quality and quantity of surface and ground water and predict the environmental impact of land use, land management practices, and climate change. In order to face present and future challenges in water resources modeling SWAT code has undergone major modifications over the past few years, resulting in SWAT+, a completely revised version of the model. SWAT+ provides a more flexible spatial representation of interactions and processes within a watershed.

                    homepage: https://swatplus.gitbook.io

                    version toolchain 60.4.1 GCC/9.3.0 60.5.1 iccifort/2020.4.304"},{"location":"version-specific/supported-software/#swifter","title":"swifter","text":"

                    A package which efficiently applies any function to a pandas dataframe or series in the fastest available manner.

                    homepage: https://github.com/jmcarpenter2/swifter

                    version toolchain 1.0.9 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#swig","title":"SWIG","text":"

                    SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.

                    homepage: http://www.swig.org/

                    version versionsuffix toolchain 3.0.8 -Python-2.7.11 foss/2016a, intel/2016a 3.0.8 -Python-3.5.1 foss/2016a 3.0.10 -Python-2.7.12 foss/2016b, intel/2016b 3.0.10 -Python-2.7.12-PCRE-8.39 intel/2016b 3.0.11 -Python-2.7.12 foss/2016b, intel/2016b 3.0.12 GCCcore/8.2.0, GCCcore/8.3.0 3.0.12 -Python-2.7.13 intel/2017a 3.0.12 -Python-2.7.14 foss/2017b, foss/2018a, intel/2017b, intel/2018a 3.0.12 -Python-2.7.14-bare GCCcore/6.4.0 3.0.12 -Python-2.7.15 GCCcore/8.2.0, foss/2018b, intel/2018b 3.0.12 -Python-3.6.1 intel/2017a 3.0.12 -Python-3.6.2 foss/2017b, intel/2018.00 3.0.12 -Python-3.6.3 foss/2017b, intel/2017b, intel/2018.01 3.0.12 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018a 3.0.12 -Python-3.6.6 foss/2018b, intel/2018b 3.0.12 -Python-3.7.2 GCCcore/8.2.0 4.0.1 GCCcore/8.3.0, GCCcore/9.3.0 4.0.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#swipe","title":"SWIPE","text":"

                    Smith-Waterman database searches with inter-sequence SIMD parallelisation

                    homepage: https://github.com/torognes/swipe

                    version toolchain 2.1.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#swissknife","title":"swissknife","text":"

                    Perl module for reading and writing UniProtKB data in plain text format.

                    homepage: https://sourceforge.net/projects/swissknife/

                    version toolchain 1.80 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#symengine","title":"SymEngine","text":"

                    SymEngine is a standalone fast C++ symbolic manipulation library

                    homepage: https://github.com/symengine/symengine

                    version versionsuffix toolchain 0.3.0 -20181006 intel/2018a 0.4.0 GCC/8.2.0-2.31.1 0.7.0 GCC/10.3.0"},{"location":"version-specific/supported-software/#symengine-python","title":"SymEngine-python","text":"

                    Python wrappers to the C++ library SymEngine, a fast C++ symbolic manipulation library.

                    homepage: https://github.com/symengine/symengine.py

                    version toolchain 0.7.2 GCC/10.3.0"},{"location":"version-specific/supported-software/#symphony","title":"SYMPHONY","text":"

                    SYMPHONY is an open-source solver for mixed-integer linear programs (MILPs) written in C.

                    homepage: https://projects.coin-or.org/SYMPHONY

                    version toolchain 5.6.16 foss/2018b"},{"location":"version-specific/supported-software/#sympy","title":"sympy","text":"

                    SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries.

                    homepage: https://sympy.org/

                    version versionsuffix toolchain 1.0 -Python-2.7.11 foss/2016a, intel/2016a 1.3 -Python-2.7.14 intel/2018a 1.3 -Python-2.7.15 foss/2018b 1.3 -Python-3.6.4 intel/2018a 1.3 -Python-3.6.6 foss/2018b 1.4 foss/2019a, intel/2019a 1.5.1 -Python-3.7.4 foss/2019b 1.6.2 -Python-3.8.2 foss/2020a 1.7.1 foss/2020b, intel/2020b 1.8 foss/2021a 1.9 foss/2021b 1.10.1 foss/2022a, intel/2022a 1.11.1 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#synthcity","title":"synthcity","text":"

                    A library for generating and evaluating synthetic tabular data.

                    homepage: https://github.com/vanderschaarlab/synthcity

                    version toolchain 0.2.4 foss/2022a"},{"location":"version-specific/supported-software/#syri","title":"SyRI","text":"

                    Synteny and Rearrangement Identifier (SyRI).

                    homepage: https://schneebergerlab.github.io/syri/

                    version toolchain 1.4 foss/2021a"},{"location":"version-specific/supported-software/#sysbench","title":"sysbench","text":"

                    sysbench is a scriptable multi-threaded benchmark tool based on LuaJIT. It is most frequently used for database benchmarks, but can also be used to create arbitrarily complex workloads that do not involve a database server.

                    homepage: https://github.com/akopytov/sysbench

                    version toolchain 1.0.20 GCC/12.2.0"},{"location":"version-specific/supported-software/#szip","title":"Szip","text":"

                    Szip compression software, providing lossless compression of scientific data

                    homepage: https://www.hdfgroup.org/doc_resource/SZIP/

                    version toolchain 2.1 GCC/4.8.1, GCCcore/5.4.0, foss/2016a, foss/2016b, foss/2017a, gimkl/2.11.5, gimkl/2017a, gmpolf/2017.10, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, intel/2017.01, intel/2017a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 2.1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#t","title":"T","text":"

                    tabix - tabixpp - taco - TagDust - TagLib - Taiyaki - TALON - TALYS - TAMkin - tantan - Tapenade - task-spooler - taxator-tk - TBA - tbb - tbl2asn - TCC - Tcl - TCLAP - tcsh - tecplot360ex - TELEMAC-MASCARET - Telescope - Teneto - tensorboard - tensorboardX - TensorFlow - TensorFlow-Datasets - TensorFlow-Graphics - tensorflow-probability - TensorRT - terastructure - termcolor - Tesla-Deployment-Kit - tesseract - testpath - TetGen - TEToolkit - TEtranscripts - texinfo - texlive - Text-CSV - TFEA - Theano - ThemisPy - THetA - thirdorder - thurstonianIRT - TiCCutils - tidybayes - tidymodels - Tika - TiMBL - time - timm - TINKER - TinyDB - TinyXML - Tk - Tkinter - TM-align - tMAE - tmap - tmux - TN93 - TOBIAS - ToFu - Togl - toil - tokenizers - Tombo - TOML-Fortran - TOPAS - topaz - TopHat - torchaudio - torchdata - torchinfo - torchsampler - torchtext - torchvision - TotalView - tqdm - Tracer - TranscriptClean - TransDecoder - Transformers - Transrate - travis - TRAVIS-Analyzer - treatSens - TreeMix - TreeShrink - TRF - Triangle - Trilinos - Trim_Galore - trimAl - trimesh - Trimmomatic - Trinity - Trinotate - Triplexator - TRIQS - TRIQS-cthyb - TRIQS-dft_tools - TRIQS-tprf - tRNAscan-SE - TRUST - TRUST4 - Trycycler - tsne - turbinesFoam - TurboVNC - TVB - tvb-data - TVB-deps - tvb-framework - tvb-library - TWL-NINJA - typing-extensions

                    "},{"location":"version-specific/supported-software/#tabix","title":"tabix","text":"

                    Generic indexer for TAB-delimited genome position files

                    homepage: http://samtools.sourceforge.net

                    version toolchain 0.2.6 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.3.0, foss/2016a, intel/2016a, intel/2016b"},{"location":"version-specific/supported-software/#tabixpp","title":"tabixpp","text":"

                    C++ wrapper to tabix indexer

                    homepage: https://github.com/ekg/tabixpp

                    version toolchain 1.1.0 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/9.3.0"},{"location":"version-specific/supported-software/#taco","title":"taco","text":"

                    Multi-sample transcriptome assembly from RNA-Seq

                    homepage: http://tacorna.github.io

                    version versionsuffix toolchain 0.5.1 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#tagdust","title":"TagDust","text":"

                    Raw sequences produced by next generation sequencing (NGS) machines may contain adapter, linker, barcode and fingerprint sequences. TagDust2 is a program to extract and correctly label the sequences to be mapped in downstream pipelines.

                    homepage: http://tagdust.sourceforge.net/

                    version toolchain 2.33 GCCcore/10.2.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#taglib","title":"TagLib","text":"

                    TagLib is a library for reading and editing the meta-data of several popular audio formats.

                    homepage: https://taglib.org/

                    version toolchain 1.11.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#taiyaki","title":"Taiyaki","text":"

                    Taiyaki is research software for training models for basecalling Oxford Nanopore reads.

                    homepage: https://github.com/nanoporetech/taiyaki

                    version versionsuffix toolchain 5.1.0-20200617 -Python-3.7.2-PyTorch-1.2.0 foss/2019a, fosscuda/2019a"},{"location":"version-specific/supported-software/#talon","title":"TALON","text":"

                    TALON is a Python package for identifying and quantifying known and novel genes/isoforms in long-read transcriptome data sets. TALON is technology-agnostic in that it works from mapped SAM files, allowing data from different sequencing platforms (i.e. PacBio and Oxford Nanopore) to be analyzed side by side.

                    homepage: https://github.com/mortazavilab/TALON

                    version toolchain 5.0 foss/2020b"},{"location":"version-specific/supported-software/#talys","title":"TALYS","text":"

                    TALYS is a nuclear reaction program.

                    homepage: https://tendl.web.psi.ch/tendl_2019/talys.html

                    version toolchain 1.95 GCCcore/10.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#tamkin","title":"TAMkin","text":"

                    TAMkin is a post-processing toolkit for normal mode analysis, thermochemistry and reaction kinetics. It uses a Hessian computation from a standard computational chemistry program as its input.

                    homepage: https://molmod.github.io/tamkin/

                    version versionsuffix toolchain 1.0.9 -Python-2.7.11 intel/2016a 1.2.4 -Python-2.7.14 intel/2017b 1.2.6 -Python-3.7.2 intel/2019a 1.2.6 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#tantan","title":"tantan","text":"

                    tantan identifies simple regions / low complexity / tandem repeats in DNA or protein sequences

                    homepage: https://gitlab.com/mcfrith/tantan

                    version toolchain 40 GCC/11.2.0"},{"location":"version-specific/supported-software/#tapenade","title":"Tapenade","text":"

                    Tool for Algorithmic Differentiation of programs.

                    homepage: https://tapenade.gitlabpages.inria.fr/tapenade/docs/html/index.html

                    version versionsuffix toolchain 3.16 -Java-17 system"},{"location":"version-specific/supported-software/#task-spooler","title":"task-spooler","text":"

                    task spooler is a Unix batch system where the tasks spooled run one after the other.

                    homepage: http://viric.name/soft/ts/

                    version toolchain 1.0.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#taxator-tk","title":"taxator-tk","text":"

                    A set of programs for the taxonomic analysis of nucleotide sequence data

                    homepage: https://github.com/fungs/taxator-tk

                    version toolchain 1.3.3 GCC/10.2.0, foss/2018b, gompi/2019a"},{"location":"version-specific/supported-software/#tba","title":"TBA","text":"

                    TBA (a Transcription factor Binding Analysis): TBA is a multi-functional machine learning tool for identifying transcription factors associated with genomic features

                    homepage: https://github.com/jenhantao/tba

                    version toolchain 1.0 foss/2020b"},{"location":"version-specific/supported-software/#tbb","title":"tbb","text":"

                    Intel Threading Building Blocks (Intel TBB) is a widely used, award-winning C++ template library for creating reliable, portable, and scalable parallel applications. Use Intel TBB for a simple and rapid way of developing robust task-based parallel applications that scale to available processor cores, are compatible with multiple environments, and are easier to maintain. Intel TBB is the most proficient way to implement future-proof parallel applications that tap into the power and performance of multicore and manycore hardware platforms.

                    homepage: https://software.intel.com/en-us/articles/intel-tbb/

                    version toolchain 4.0.0.233 system 4.0.5.339 system 4.3.6.211 system 4.4.2.152 system 2017.2.132 system 2017.4.174 system 2017.6.196 system 2017_U5 GCCcore/5.4.0, foss/2016b, intel/2017a 2017_U6 GCCcore/6.3.0, intel/2017a 2018_U1 GCCcore/6.4.0 2018_U2 GCCcore/6.4.0 2018_U3 GCCcore/6.4.0 2018_U5 GCCcore/6.4.0, GCCcore/7.3.0 2019_U4 GCCcore/8.2.0 2019_U9 GCCcore/8.3.0 2020.1 GCCcore/9.3.0 2020.2 GCCcore/8.3.0 2020.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0 2021.4.0 GCCcore/11.2.0 2021.5.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#tbl2asn","title":"tbl2asn","text":"

                    Tbl2asn is a command-line program that automates the creation of sequence records for submission to GenBank

                    homepage: https://www.ncbi.nlm.nih.gov/genbank/tbl2asn2/

                    version versionsuffix toolchain 25.8 -linux64 system 20180227 -linux64 system 20200302 -linux64 system 20220427 -linux64 system"},{"location":"version-specific/supported-software/#tcc","title":"TCC","text":"

                    The Tiny C Compiler (aka TCC, tCc, or TinyCC) is an x86 and x86-64 C compiler created by Fabrice Bellard. It is designed to work for slow computers with little disk space and can run shebang style !/usr/bin/tcc . TCC is distributed under the LGPL. TCC claims to implement all of ANSI C (C89/C90),[1] much of the new ISO C99 standard, and many GNU C extensions including inline assembly.

                    homepage: http://bellard.org/tcc/

                    version toolchain 0.9.26 system"},{"location":"version-specific/supported-software/#tcl","title":"Tcl","text":"

                    Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.

                    homepage: https://www.tcl.tk/

                    version toolchain 8.5.19 foss/2017a 8.6.3 GCC/4.8.4, GCC/4.9.2 8.6.4 GCC/4.9.3-2.25, GNU/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 8.6.5 GCC/4.9.3-2.25, GCC/5.4.0-2.26, GCCcore/6.3.0, foss/2016.04, foss/2016a, foss/2016b, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016b 8.6.6 GCCcore/4.9.3, GCCcore/6.3.0 8.6.7 GCCcore/6.4.0 8.6.8 GCCcore/6.4.0, GCCcore/7.2.0, GCCcore/7.3.0 8.6.9 GCCcore/8.2.0, GCCcore/8.3.0 8.6.10 GCCcore/10.2.0, GCCcore/9.3.0 8.6.11 GCCcore/10.3.0, GCCcore/11.2.0 8.6.12 GCCcore/11.3.0, GCCcore/12.2.0 8.6.13 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#tclap","title":"TCLAP","text":"

                    TCLAP is a small, flexible library that provides a simple interface for defining and accessing command line arguments. It was intially inspired by the user friendly CLAP libary.

                    homepage: http://tclap.sourceforge.net/

                    version toolchain 1.2.2 GCCcore/8.3.0 1.2.4 GCCcore/10.2.0, GCCcore/9.3.0 1.2.5 GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#tcsh","title":"tcsh","text":"

                    Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). It is a command language interpreter usable both as an interactive login shell and a shell script command processor. It includes a command-line editor, programmable word completion, spelling correction, a history mechanism, job control and a C-like syntax.

                    homepage: https://www.tcsh.org

                    version toolchain 6.19.00 intel/2016a 6.20.00 GCCcore/5.4.0, GCCcore/6.4.0, GCCcore/7.3.0 6.22.02 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 6.22.03 GCCcore/10.2.0 6.22.04 GCCcore/10.3.0 6.24.01 GCCcore/11.2.0, GCCcore/11.3.0 6.24.07 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tecplot360ex","title":"tecplot360ex","text":"

                    Quickly plot and animate your CFD results exactly the way you want. Analyze complex solutions, arrange multiple layouts, and communicate your results with professional images and animations.

                    homepage: http://www.tecplot.com/products/tecplot-360/

                    version toolchain linux64 system"},{"location":"version-specific/supported-software/#telemac-mascaret","title":"TELEMAC-MASCARET","text":"

                    TELEMAC-MASCARET is an integrated suite of solvers for use in the field of free-surface flow. Having been used in the context of many studies throughout the world, it has become one of the major standards in its field.

                    homepage: http://www.opentelemac.org

                    version toolchain 8p3r1 foss/2021b"},{"location":"version-specific/supported-software/#telescope","title":"Telescope","text":"

                    Single locus resolution of Transposable ELEment expression using next-generation sequencing.

                    homepage: https://github.com/mlbendall/telescope

                    version versionsuffix toolchain 1.0.3 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#teneto","title":"Teneto","text":"

                    Teneto is package for deriving, analysing and plotting temporal network representations. Additional tools for temporal network analysis with neuroimaging contexts.

                    homepage: https://teneto.readthedocs.io

                    version versionsuffix toolchain 0.5.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#tensorboard","title":"tensorboard","text":"

                    TensorBoard is a suite of web applications for inspecting and understanding your TensorFlow runs and graphs.

                    homepage: https://github.com/tensorflow/tensorboard

                    version toolchain 2.8.0 foss/2021a 2.10.0 foss/2022a"},{"location":"version-specific/supported-software/#tensorboardx","title":"tensorboardX","text":"

                    Tensorboard for PyTorch.

                    homepage: https://github.com/lanpa/tensorboardX

                    version versionsuffix toolchain 2.0 -Python-3.7.4 foss/2019b 2.1 -PyTorch-1.7.1 fosscuda/2020b 2.2 -PyTorch-1.7.1 foss/2020b, fosscuda/2020b 2.5.1 foss/2022a"},{"location":"version-specific/supported-software/#tensorflow","title":"TensorFlow","text":"

                    An open-source software library for Machine Intelligence

                    homepage: https://www.tensorflow.org/

                    version versionsuffix toolchain 0.12.1 -Python-2.7.12 foss/2016b, intel/2016b 0.12.1 -Python-3.5.2 foss/2016b, intel/2016b 1.0.1 -Python-2.7.12 intel/2016b 1.0.1 -Python-3.5.2 intel/2016b 1.1.0 -Python-2.7.13 intel/2017a 1.1.0 -Python-3.6.1 intel/2017a 1.2.0 -Python-3.6.1 intel/2017a 1.2.1 -GPU-Python-3.5.2 foss/2016b 1.2.1 -Python-3.5.2 foss/2016b 1.3.0 -Python-2.7.13 intel/2017a 1.3.0 -Python-3.6.1 intel/2017a 1.3.0 -Python-3.6.3 intel/2017b 1.4.0 -Python-3.6.3 foss/2017b, intel/2017b 1.4.1 -Python-3.6.3 foss/2017b 1.5.0 -Python-3.6.3 foss/2017b, intel/2017b 1.6.0 -Python-3.6.4 foss/2018a, intel/2018a 1.6.0 -Python-3.6.4-CUDA-9.1.85 foss/2018a 1.7.0 -Python-3.6.4 foss/2018a 1.7.0 -Python-3.6.4-CUDA-9.1.85 foss/2018a 1.8.0 -Python-2.7.14 foss/2017b, fosscuda/2017b 1.8.0 -Python-3.6.3 foss/2017b, fosscuda/2017b 1.8.0 -Python-3.6.4 foss/2018a, fosscuda/2018a, intel/2018a 1.10.0 -Python-2.7.15 fosscuda/2018b 1.10.1 -Python-2.7.15 fosscuda/2018b 1.10.1 -Python-3.6.6 foss/2018b 1.11.0 -Python-3.6.6 foss/2018b 1.12.0 -Python-2.7.15 fosscuda/2018b 1.12.0 -Python-3.6.6 foss/2018b, fosscuda/2018b 1.13.1 -Python-3.6.6 foss/2018b 1.13.1 -Python-3.7.2 foss/2019a, fosscuda/2019a 1.14.0 -Python-3.7.2 foss/2019a, fosscuda/2019a 1.15.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.15.2 -Python-3.7.4 foss/2019b, fosscuda/2019b 1.15.5 -Python-3.7.4 fosscuda/2019b 1.15.5 -Python-3.7.4-nompi fosscuda/2019b 2.0.0 -Python-3.7.2 foss/2019a 2.0.0 -Python-3.7.4 fosscuda/2019b 2.0.1 -Python-3.7.2 foss/2019a 2.0.1 -Python-3.7.4 fosscuda/2019b 2.1.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.2.0 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.2.2 -Python-3.7.4 foss/2019b 2.2.3 foss/2020b 2.3.1 -Python-3.7.4 foss/2019b, fosscuda/2019b 2.3.1 -Python-3.8.2 foss/2020a, fosscuda/2020a 2.4.1 foss/2020b, fosscuda/2020b 2.4.1 -Python-3.7.4 fosscuda/2019b 2.4.4 foss/2021a 2.5.0 foss/2020b, fosscuda/2020b 2.5.0 -Python-3.7.4 fosscuda/2019b 2.5.3 foss/2021a 2.5.3 -CUDA-11.3.1 foss/2021a 2.6.0 foss/2021a 2.6.0 -CUDA-11.3.1 foss/2021a 2.7.1 foss/2021b 2.7.1 -CUDA-11.4.1 foss/2021b 2.8.4 foss/2021b 2.8.4 -CUDA-11.4.1 foss/2021b 2.9.1 foss/2022a 2.9.1 -CUDA-11.7.0 foss/2022a 2.11.0 foss/2022a 2.11.0 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#tensorflow-datasets","title":"TensorFlow-Datasets","text":"

                    TensorFlow Datasets is a collection of datasets ready to use, with TensorFlow or other Python ML frameworks, such as Jax. All datasets are exposed as tf.data.Datasets , enabling easy-to-use and high-performance input pipelines.

                    homepage: https://www.tensorflow.org/datasets

                    version versionsuffix toolchain 4.7.0 -CUDA-11.3.1 foss/2021a 4.8.3 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#tensorflow-graphics","title":"TensorFlow-Graphics","text":"

                    Tensorflow Graphics provides a set of differentiable graphics and geometry layers (e.g. cameras, reflectance models, spatial transformations, mesh convolutions) and 3D viewer functionalities (e.g. 3D TensorBoard) that can be used to train and debug your machine learning models of choice.

                    homepage: https://github.com/tensorflow/graphics

                    version versionsuffix toolchain 2021.12.3 -CUDA-11.4.1 foss/2021b"},{"location":"version-specific/supported-software/#tensorflow-probability","title":"tensorflow-probability","text":"

                    TensorFlow Probability (TFP) is a library for probabilistic reasoning and statistical analysis.

                    homepage: https://www.tensorflow.org/probability

                    version versionsuffix toolchain 0.9.0 -Python-3.7.4 foss/2019b 0.12.1 foss/2020b, fosscuda/2020b 0.16.0 foss/2021b"},{"location":"version-specific/supported-software/#tensorrt","title":"TensorRT","text":"

                    NVIDIA TensorRT is a platform for high-performance deep learning inference

                    homepage: https://developer.nvidia.com/tensorrt

                    version versionsuffix toolchain 4.0.1.6 -Python-2.7.15 fosscuda/2018b"},{"location":"version-specific/supported-software/#terastructure","title":"terastructure","text":"

                    TeraStructure is a new algorithm to fit Bayesian models of genetic variation in human populations on tera-sample-sized data sets (10^12 observed genotypes, i.e., 1M individuals at 1M SNPs). This package provides a scalable, multi-threaded C++ implementation that can be run on a single computer.

                    homepage: https://github.com/StoreyLab/terastructure

                    version toolchain 1.0 GCC/8.3.0"},{"location":"version-specific/supported-software/#termcolor","title":"termcolor","text":"

                    Termcolor is a header-only C++ library for printing colored messages to the terminal.

                    homepage: https://termcolor.readthedocs.io/

                    version toolchain 2.0.0 system"},{"location":"version-specific/supported-software/#tesla-deployment-kit","title":"Tesla-Deployment-Kit","text":"

                    The Tesla Deployment Kit is a set of tools provided primarily for the NVIDIA Tesla range of GPUs. They aim to empower users to better manage their NVIDIA GPUs by providing a broad range of functionalities. The kit contains: * NVIDIA Management Library (NVML), * Tesla Deployment Kit - Linux Edition (Aug 1st, 2013)

                    homepage: https://developer.nvidia.com/tesla-deployment-kit

                    version toolchain 5.319.43 system"},{"location":"version-specific/supported-software/#tesseract","title":"tesseract","text":"

                    Tesseract is an optical character recognition engine

                    homepage: https://github.com/tesseract-ocr/tesseract

                    version toolchain 4.0.0 GCCcore/7.3.0 4.1.0 GCCcore/10.3.0, GCCcore/8.2.0 5.3.0 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#testpath","title":"testpath","text":"

                    Test utilities for code working with files and commands

                    homepage: https://github.com/jupyter/testpath

                    version versionsuffix toolchain 0.3 -Python-2.7.11 foss/2016a, intel/2016a 0.3 -Python-2.7.12 foss/2016b, intel/2016b 0.3 -Python-3.5.1 foss/2016a 0.3 -Python-3.5.2 intel/2016b"},{"location":"version-specific/supported-software/#tetgen","title":"TetGen","text":"

                    A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator

                    homepage: http://wias-berlin.de/software/index.jsp?id=TetGen

                    version toolchain 1.5.0 GCCcore/6.4.0 1.6.0 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#tetoolkit","title":"TEToolkit","text":"

                    Tools for estimating differential enrichment of Transposable Elements and other highly repetitive regions

                    homepage: http://hammelllab.labsites.cshl.edu/software/#TEToolkit

                    version versionsuffix toolchain 1.5.1 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#tetranscripts","title":"TEtranscripts","text":"

                    TEtranscripts and TEcount takes RNA-seq (and similar data) and annotates reads to both genes & transposable elements. TEtranscripts then performs differential analysis using DESeq2.

                    homepage: https://github.com/mhammell-laboratory/TEtranscripts

                    version toolchain 2.2.0 foss/2020a"},{"location":"version-specific/supported-software/#texinfo","title":"texinfo","text":"

                    Texinfo is the official documentation format of the GNU project.

                    homepage: https://www.gnu.org/software/texinfo/

                    version toolchain 4.13a system 5.2 GCC/4.8.2 6.4 GCCcore/5.4.0 6.5 GCCcore/6.4.0, GCCcore/7.3.0 6.6 GCCcore/8.2.0 6.7 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 6.8 GCCcore/11.2.0 7.0.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#texlive","title":"texlive","text":"

                    TeX is a typesetting language. Instead of visually formatting your text, you enter your manuscript text intertwined with TeX commands in a plain text file. You then run TeX to produce formatted output, such as a PDF file. Thus, in contrast to standard word processors, your document is a separate file that does not pretend to be a representation of the final typeset output, and so can be easily edited and manipulated.

                    homepage: https://tug.org

                    version toolchain 20200406 GCCcore/8.3.0 20210324 GCC/10.3.0, GCC/11.2.0 20220321 GCC/11.2.0"},{"location":"version-specific/supported-software/#text-csv","title":"Text-CSV","text":"

                    Text-CSV parser

                    homepage: https://metacpan.org/pod/Text::CSV

                    version versionsuffix toolchain 1.33 -Perl-5.22.1 foss/2016a"},{"location":"version-specific/supported-software/#tfea","title":"TFEA","text":"

                    Transcription Factor Enrichment Analysis

                    homepage: https://github.com/Dowell-Lab/TFEA

                    version versionsuffix toolchain 1.1.4 -muMerge-1.1.0 foss/2020b"},{"location":"version-specific/supported-software/#theano","title":"Theano","text":"

                    Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently.

                    homepage: https://deeplearning.net/software/theano

                    version versionsuffix toolchain 0.8.2 -Python-2.7.11 foss/2016a 0.8.2 -Python-3.5.1 foss/2016a 0.8.2 -Python-3.5.2 intel/2016b 0.9.0 -Python-2.7.13 intel/2017a 0.9.0 -Python-3.6.1 intel/2017a 1.0.0 -Python-2.7.14 intel/2017b 1.0.0 -Python-3.6.3 intel/2017b 1.0.1 -Python-3.6.3 foss/2017b, intel/2017b 1.0.2 -Python-2.7.14 fosscuda/2017b, intelcuda/2017b 1.0.2 -Python-2.7.15 fosscuda/2018b 1.0.2 -Python-3.6.3 fosscuda/2017b, intelcuda/2017b 1.0.2 -Python-3.6.4 foss/2018a, intel/2018a 1.0.3 -Python-3.6.6 foss/2018b, fosscuda/2018b 1.0.4 foss/2019a, fosscuda/2019a 1.0.4 -Python-3.6.4 foss/2018a 1.0.4 -Python-3.6.6 foss/2018b, fosscuda/2018b 1.0.4 -Python-3.7.4 foss/2019b, fosscuda/2019b, intel/2019b 1.0.4 -Python-3.8.2 foss/2020a 1.1.2 -PyMC foss/2020b, foss/2021b, fosscuda/2020b, intel/2020b, intel/2021b"},{"location":"version-specific/supported-software/#themispy","title":"ThemisPy","text":"

                    A header-only C++ library for L-BFGS and L-BFGS-B algorithms

                    homepage: https://github.com/aeb/ThemisPy

                    version toolchain 0.3.0 foss/2021a"},{"location":"version-specific/supported-software/#theta","title":"THetA","text":"

                    Tumor Heterogeneity Analysis (THetA) and THetA2 are algorithms that estimate the tumor purity and clonal/subclonal copy number aberrations directly from high-throughput DNA sequencing data.

                    homepage: https://github.com/raphael-group/THetA

                    version versionsuffix toolchain 0.7 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#thirdorder","title":"thirdorder","text":"

                    A Python script to help create input files for computing anhamonic interatomic force constants, harnessing the symmetries of the system to minimize the number of required DFT calculations. A second mode of operation allows the user to build the third-order IFC matrix from the results of those runs.

                    homepage: https://bitbucket.org/sousaw/thirdorder/

                    version toolchain 1.1.1 foss/2022a"},{"location":"version-specific/supported-software/#thurstonianirt","title":"thurstonianIRT","text":"

                    Fit Thurstonian IRT models in R using Stan, lavaan, or Mplus

                    homepage: https://github.com/paul-buerkner/thurstonianIRT

                    version versionsuffix toolchain 0.9.0 -R-3.6.0 foss/2019a"},{"location":"version-specific/supported-software/#ticcutils","title":"TiCCutils","text":"

                    TiCC utils is a collection of generic C++ software which is used in a lot of programs produced at Tilburg centre for Cognition and Communication (TiCC) at Tilburg University and Centre for Dutch Language and Speech at University of Antwerp.

                    homepage: https://github.com/LanguageMachines/ticcutils

                    version toolchain 0.11 foss/2016a 0.21 iimpi/2019a, intel/2018b"},{"location":"version-specific/supported-software/#tidybayes","title":"tidybayes","text":"

                    Compose data for and extract, manipulate, and visualize posterior draws from Bayesian models ('JAGS', 'Stan', 'rstanarm', 'brms', 'MCMCglmm', 'coda', ...) in a tidy data format.

                    homepage: https://cran.r-project.org/package=tidybayes

                    version versionsuffix toolchain 2.1.1 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#tidymodels","title":"tidymodels","text":"

                    tidymodels is a 'meta-package' for modeling and statistical analysis that shares the underlying design philosophy, grammar, and data structures of the tidyverse.

                    homepage: https://tidymodels.tidymodels.org

                    version versionsuffix toolchain 0.1.0 -R-4.0.0 foss/2020a 1.1.0 foss/2022b"},{"location":"version-specific/supported-software/#tika","title":"Tika","text":"

                    The Apache Tika toolkit detects and extracts metadata and text from over a thousand different file types (such as PPT, XLS, and PDF).

                    homepage: https://tika.apache.org/

                    version toolchain 1.16 system"},{"location":"version-specific/supported-software/#timbl","title":"TiMBL","text":"

                    TiMBL (Tilburg Memory Based Learner) is an open source software package implementing several memory-based learning algorithms, among which IB1-IG, an implementation of k-nearest neighbor classification with feature weighting suitable for symbolic feature spaces, and IGTree, a decision-tree approximation of IB1-IG. All implemented algorithms have in common that they store some representation of the training set explicitly in memory. During testing, new cases are classified by extrapolation from the most similar stored cases.

                    homepage: http://ilk.uvt.nl/timbl/

                    version toolchain 6.4.7 foss/2016a 6.4.13 iimpi/2019a, intel/2018b"},{"location":"version-specific/supported-software/#time","title":"time","text":"

                    The `time' command runs another program, then displays information about the resources used by that program, collected by the system while the program was running.

                    homepage: https://www.gnu.org/software/time/

                    version toolchain 1.7 system 1.9 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#timm","title":"timm","text":"

                    timm is a library containing SOTA computer vision models, layers, utilities, optimizers, schedulers, data-loaders, augmentations, and training/evaluation scripts. It comes packaged with >700 pretrained models, and is designed to be flexible and easy to use.

                    homepage: https://huggingface.co/docs/timm

                    version versionsuffix toolchain 0.6.13 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#tinker","title":"TINKER","text":"

                    The TINKER molecular modeling software is a complete and general package for molecular mechanics and dynamics, with some special features for biopolymers.

                    homepage: https://dasher.wustl.edu/tinker

                    version toolchain 8.6.1 foss/2018b 8.7.2 foss/2019b 8.8.1 foss/2020a"},{"location":"version-specific/supported-software/#tinydb","title":"TinyDB","text":"

                    TinyDB is a lightweight document oriented database optimized for your happiness :) It's written in pure Python and has no external dependencies. The target are small apps that would be blown away by a SQL-DB or an external database server.

                    homepage: https://tinydb.readthedocs.io/

                    version toolchain 3.15.2 GCCcore/8.3.0"},{"location":"version-specific/supported-software/#tinyxml","title":"TinyXML","text":"

                    TinyXML is a simple, small, minimal, C++ XML parser that can be easily integrating into other programs. It reads XML and creates C++ objects representing the XML document. The objects can be manipulated, changed, and saved again as XML.

                    homepage: https://sourceforge.net/projects/tinyxml

                    version toolchain 2.6.2 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#tk","title":"Tk","text":"

                    Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building a graphical user interface (GUI) in many different programming languages.

                    homepage: https://www.tcl.tk/

                    version versionsuffix toolchain 8.6.3 -no-X11 GCC/4.8.4, GCC/4.9.2 8.6.4 iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25 8.6.4 -libX11-1.6.3 intel/2016a 8.6.4 -no-X11 GCC/4.9.3-2.25, GNU/4.9.3-2.25, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a 8.6.5 GCC/5.4.0-2.26, GCCcore/6.3.0, foss/2016.04, foss/2016a, foss/2016b, iccifort/2016.3.210-GCC-5.4.0-2.26, intel/2016b 8.6.6 foss/2017a, intel/2017a 8.6.7 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 8.6.8 GCCcore/6.4.0, GCCcore/7.3.0, foss/2018a, iomkl/2018a 8.6.9 GCCcore/8.2.0, GCCcore/8.3.0 8.6.10 GCCcore/10.2.0, GCCcore/9.3.0 8.6.11 GCCcore/10.3.0, GCCcore/11.2.0 8.6.12 GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tkinter","title":"Tkinter","text":"

                    Tkinter module, built with the Python buildsystem

                    homepage: https://python.org/

                    version versionsuffix toolchain 2.7.13 -Python-2.7.13 foss/2017a, intel/2017a 2.7.14 -Python-2.7.14 foss/2017b, foss/2018a, fosscuda/2017b, intel/2017b, intel/2018a, intelcuda/2017b 2.7.15 GCCcore/8.2.0 2.7.15 -Python-2.7.15 foss/2018b, fosscuda/2018b, intel/2018b 2.7.16 GCCcore/8.3.0 2.7.18 GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/9.3.0 3.6.1 -Python-3.6.1 foss/2017a, intel/2017a 3.6.2 -Python-3.6.2 foss/2017b 3.6.3 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 3.6.4 -Python-3.6.4 foss/2018a, intel/2018a, iomkl/2018.02, iomkl/2018a 3.6.6 -Python-3.6.6 foss/2018b, fosscuda/2018b, intel/2018b, iomkl/2018b 3.7.2 GCCcore/8.2.0 3.7.4 GCCcore/8.3.0 3.8.2 GCCcore/9.3.0 3.8.6 GCCcore/10.2.0 3.9.5 GCCcore/10.3.0 3.9.6 GCCcore/11.2.0 3.10.4 GCCcore/11.3.0 3.10.8 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tm-align","title":"TM-align","text":"

                    This package unifies protein structure alignment and RNA structure alignment into the standard TM-align program for single chain structure alignment, MM-align program for multi-chain structure alignment, and TM-score program for sequence dependent structure superposition.

                    homepage: https://zhanglab.ccmb.med.umich.edu/RNA-align/TMalign/

                    version toolchain 20180426 foss/2018b, intel/2019a 20190822 GCC/11.3.0"},{"location":"version-specific/supported-software/#tmae","title":"tMAE","text":"

                    Package containing functions to: perform a negative binomial test on allele-specific counts add gnomAD minor allele frequencies MAplot (FC vs total counts) of allele-specific counts and results allelic counts (ALT vs REF)

                    homepage: https://github.com/mumichae/tMAE

                    version versionsuffix toolchain 1.0.0 -R-4.0.3 foss/2020b 1.0.1 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#tmap","title":"tmap","text":"

                    tmap is a very fast visualization library for large, high-dimensional data sets. Currently, tmap is available for Python. tmap's graph layouts are based on the OGDF library.

                    homepage: https://tmap.gdb.tools

                    version toolchain 20220502 GCC/11.2.0"},{"location":"version-specific/supported-software/#tmux","title":"tmux","text":"

                    tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.

                    homepage: https://github.com/tmux/tmux/

                    version toolchain 1.9a GCC/4.9.2 2.2 GCCcore/4.9.3 2.3 GCC/5.4.0-2.26, system 3.1c GCCcore/8.3.0 3.2 GCCcore/10.2.0, GCCcore/9.3.0 3.2a GCCcore/10.3.0, GCCcore/11.2.0, system 3.3a GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, system"},{"location":"version-specific/supported-software/#tn93","title":"TN93","text":"

                    This is a simple program meant to compute pairwise distances between aligned nucleotide sequences in sequential FASTA format using the Tamura Nei 93 distance.

                    homepage: https://github.com/veg/tn93

                    version toolchain 1.0.7 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#tobias","title":"TOBIAS","text":"

                    TOBIAS is a collection of command-line bioinformatics tools for performing footprinting analysis on ATAC-seq data.

                    homepage: https://github.com/loosolab/TOBIAS

                    version toolchain 0.12.12 foss/2021b 0.14.0 foss/2020b"},{"location":"version-specific/supported-software/#tofu","title":"ToFu","text":"

                    Tomography for Fusion.

                    homepage: https://github.com/ToFuProject/tofu

                    version versionsuffix toolchain 1.3.17 -Python-2.7.14 foss/2018a 1.3.17 -Python-3.6.4 foss/2018a 1.4.0 -Python-2.7.14 foss/2018a, intel/2018a 1.4.0 -Python-3.6.4 foss/2018a, intel/2018a 1.4.1 -Python-3.6.4 foss/2018a, intel/2018a 1.5.0 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#togl","title":"Togl","text":"

                    A Tcl/Tk widget for OpenGL rendering.

                    homepage: https://sourceforge.net/projects/togl/

                    version toolchain 2.0 GCCcore/10.2.0, GCCcore/11.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#toil","title":"toil","text":"

                    A scalable, efficient, cross-platform (Linux/macOS) and easy-to-use workflow engine in pure Python.

                    homepage: https://github.com/DataBiosphere/toil

                    version toolchain 5.8.0 foss/2021a"},{"location":"version-specific/supported-software/#tokenizers","title":"tokenizers","text":"

                    Fast State-of-the-Art Tokenizers optimized for Research and Production

                    homepage: https://github.com/huggingface/tokenizers

                    version toolchain 0.12.1 GCCcore/10.3.0 0.13.3 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tombo","title":"Tombo","text":"

                    Tombo is a suite of tools primarily for the identification of modified nucleotides from raw nanopore sequencing data.

                    homepage: https://github.com/nanoporetech/tombo

                    version versionsuffix toolchain 1.5.1 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#toml-fortran","title":"TOML-Fortran","text":"

                    TOML parser for Fortran projects

                    homepage: https://github.com/toml-f/toml-f

                    version toolchain 0.2.2 GCC/10.2.0, iccifort/2020.4.304 0.3.1 GCC/11.2.0, GCC/11.3.0"},{"location":"version-specific/supported-software/#topas","title":"TOPAS","text":"

                    TOPAS wraps and extends the Geant4 Simulation Toolkit to make advanced Monte Carlo simulation of all forms of radiotherapy easier to use for medical physicists.

                    homepage: https://www.topasmc.org

                    version toolchain 3.9 foss/2022b"},{"location":"version-specific/supported-software/#topaz","title":"topaz","text":"

                    A pipeline for particle detection in cryo-electron microscopy images using convolutional neural networks trained from positive and unlabeled examples. Topaz also includes methods for micrograph denoising using deep de- noising models.

                    homepage: https://github.com/tbepler/topaz

                    version versionsuffix toolchain 0.2.5 foss/2021a 0.2.5 -CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#tophat","title":"TopHat","text":"

                    TopHat is a fast splice junction mapper for RNA-Seq reads.

                    homepage: http://ccb.jhu.edu/software/tophat/

                    version versionsuffix toolchain 2.1.0 -Python-2.7.14 intel/2018a 2.1.1 foss/2016a, foss/2016b, foss/2017b, intel/2017a, intel/2017b 2.1.2 foss/2018b, gompi/2019b, iimpi/2019b 2.1.2 -Python-2.7.18 GCC/10.2.0, GCC/11.3.0, gompi/2020a, iimpi/2020a"},{"location":"version-specific/supported-software/#torchaudio","title":"torchaudio","text":"

                    Data manipulation and transformation for audio signal processing, powered by PyTorch

                    homepage: https://github.com/pytorch/audio

                    version versionsuffix toolchain 0.5.0 -Python-3.7.4-PyTorch-1.4.0 foss/2019b, fosscuda/2019b 0.12.0 -PyTorch-1.12.0 foss/2022a 0.12.0 -PyTorch-1.12.0-CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#torchdata","title":"torchdata","text":"

                    TorchData is a prototype library of common modular data loading primitives for easily constructing flexible and performant data pipelines.\"

                    homepage: https://github.com/pytorch/data

                    version versionsuffix toolchain 0.3.0 -PyTorch-1.11.0-CUDA-11.3.1 foss/2021a"},{"location":"version-specific/supported-software/#torchinfo","title":"torchinfo","text":"

                    \" Torchinfo provides information complementary to what is provided by print(your_model) in PyTorch, similar to Tensorflow's model.summary() API to view the visualization of the model, which is helpful while debugging your network.

                    homepage: https://github.com/TylerYep/torchinfo

                    version versionsuffix toolchain 1.5.2 -PyTorch-1.7.1 foss/2020b, fosscuda/2020b"},{"location":"version-specific/supported-software/#torchsampler","title":"torchsampler","text":"

                    A (PyTorch) imbalanced dataset sampler for oversampling low classes and undersampling high frequent ones.

                    homepage: https://github.com/ufoym/imbalanced-dataset-sampler

                    version versionsuffix toolchain 0.1.2 foss/2022a 0.1.2 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#torchtext","title":"torchtext","text":"

                    Data loaders and abstractions for text and NLP

                    homepage: https://github.com/pytorch/text

                    version versionsuffix toolchain 0.5.0 -PyTorch-1.4.0-Python-3.7.4 fosscuda/2019b 0.7.0 -Python-3.7.4-PyTorch-1.6.0 foss/2019b, fosscuda/2019b 0.8.1 -PyTorch-1.7.1 fosscuda/2020b 0.9.1 -PyTorch-1.8.1 fosscuda/2020b 0.10.0 -PyTorch-1.9.0 fosscuda/2020b 0.14.1 -PyTorch-1.12.0 foss/2022a"},{"location":"version-specific/supported-software/#torchvision","title":"torchvision","text":"

                    Datasets, Transforms and Models specific to Computer Vision

                    homepage: https://github.com/pytorch/vision

                    version versionsuffix toolchain 0.2.0 -Python-3.6.4 intel/2018a 0.2.0 -Python-3.6.4-CUDA-9.1.85 foss/2018a 0.2.2 -Python-3.6.6 foss/2018b, fosscuda/2018b 0.3.0 -Python-3.7.2 foss/2019a 0.4.2 -PyTorch-1.3.1 fosscuda/2020b 0.4.2 -Python-3.7.4 foss/2019b, fosscuda/2019b 0.5.0 -Python-3.7.4-PyTorch-1.4.0 fosscuda/2019b 0.7.0 -Python-3.7.4-PyTorch-1.6.0 foss/2019b, fosscuda/2019b 0.7.0 -Python-3.7.4-PyTorch-1.6.0-imkl fosscuda/2019b 0.8.2 -PyTorch-1.7.1 foss/2020b, fosscuda/2020b 0.8.2 -Python-3.7.4-PyTorch-1.7.1 fosscuda/2019b 0.9.1 -PyTorch-1.8.1 fosscuda/2020b 0.9.1 -Python-3.7.4-PyTorch-1.8.1 fosscuda/2019b 0.10.0 -PyTorch-1.9.0 fosscuda/2020b 0.11.1 foss/2021a 0.11.1 -CUDA-11.3.1 foss/2021a 0.11.3 foss/2021a 0.11.3 -CUDA-11.3.1 foss/2021a 0.12.0 -PyTorch-1.11.0-CUDA-11.3.1 foss/2021a 0.13.1 foss/2022a 0.13.1 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#totalview","title":"TotalView","text":"

                    TotalView is a GUI-based source code defect analysis tool that gives you unprecedented control over processes and thread execution and visibility into program state and variables. It allows you to debug one or many processes and/or threads in a single window with complete control over program execution. This allows you to set breakpoints, stepping line by line through the code on a single thread, or with coordinated groups of processes or threads, and run or halt arbitrary sets of processes or threads. You can reproduce and troubleshoot difficult problems that can occur in concurrent programs that take advantage of threads, OpenMP, MPI, GPUs or coprocessors.

                    homepage: http://www.roguewave.com/products/totalview.aspx

                    version versionsuffix toolchain 8.11.0-0 -linux-x86-64 system 8.11.0-2 -linux-x86-64 system 8.12.0-0 -linux-x86-64 system"},{"location":"version-specific/supported-software/#tqdm","title":"tqdm","text":"

                    A fast, extensible progress bar for Python and CLI

                    homepage: https://github.com/tqdm/tqdm

                    version versionsuffix toolchain 4.24.0 -Python-2.7.15 foss/2018b 4.24.0 -Python-3.5.1 foss/2016a 4.29.0 -Python-3.6.4 intel/2018a 4.32.1 GCCcore/8.2.0 4.41.1 GCCcore/8.3.0 4.41.1 -Python-3.6.6 foss/2018b, intel/2018b 4.47.0 GCCcore/9.3.0 4.51.0 -Python-3.8.2 intel/2020a 4.56.2 GCCcore/10.2.0 4.60.0 GCCcore/10.2.0 4.61.1 GCCcore/10.3.0 4.61.2 GCCcore/10.3.0 4.62.3 GCCcore/11.2.0 4.64.0 GCCcore/11.3.0 4.64.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#tracer","title":"Tracer","text":"

                    Tracer is a graphical tool for visualization and diagnostics of MCMC output.

                    homepage: https://github.com/beast-dev/tracer

                    version toolchain 1.7.1 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#transcriptclean","title":"TranscriptClean","text":"

                    TranscriptClean is a Python program that corrects mismatches, microindels, and noncanonical splice junctions in long reads that have been mapped to the genome.

                    homepage: https://github.com/mortazavilab/TranscriptClean

                    version toolchain 2.0.2 foss/2020b"},{"location":"version-specific/supported-software/#transdecoder","title":"TransDecoder","text":"

                    TransDecoder identifies candidate coding regions within transcript sequences, such as those generated by de novo RNA-Seq transcript assembly using Trinity, or constructed based on RNA-Seq alignments to the genome using Tophat and Cufflinks.

                    homepage: https://github.com/TransDecoder/TransDecoder/wiki

                    version versionsuffix toolchain 2.1.0 -Perl-5.24.1 intel/2017a 5.5.0 GCC/11.3.0"},{"location":"version-specific/supported-software/#transformers","title":"Transformers","text":"

                    State-of-the-art Natural Language Processing for PyTorch and TensorFlow 2.0

                    homepage: https://github.com/huggingface/transformers

                    version versionsuffix toolchain 4.2.1 -Python-3.8.2 foss/2020a 4.20.1 foss/2021a 4.21.1 foss/2021b 4.24.0 foss/2022a 4.29.2 foss/2022a 4.30.2 foss/2022b"},{"location":"version-specific/supported-software/#transrate","title":"Transrate","text":"

                    Transrate is software for de-novo transcriptome assembly quality analysis. It examines your assembly in detail and compares it to experimental evidence such as the sequencing reads, reporting quality scores for contigs and assemblies. This allows you to choose between assemblers and parameters, filter out the bad contigs from an assembly, and help decide when to stop trying to improve the assembly.

                    homepage: http://hibberdlab.com/transrate/

                    version toolchain 1.0.3 system"},{"location":"version-specific/supported-software/#travis","title":"travis","text":"

                    Travis CI Client (CLI and Ruby library)

                    homepage: https://github.com/travis-ci/travis.rb

                    version versionsuffix toolchain 1.8.2 -Ruby-2.3.1 system 1.8.4 -Ruby-2.3.3 system"},{"location":"version-specific/supported-software/#travis-analyzer","title":"TRAVIS-Analyzer","text":"

                    TRAVIS is a free tool for analyzing and visualizing trajectories from all kinds of Molecular Dynamics or Monte Carlo simulations.

                    homepage: http://www.travis-analyzer.de/

                    version toolchain 210521 GCC/10.3.0"},{"location":"version-specific/supported-software/#treatsens","title":"treatSens","text":"

                    Utilities to investigate sensitivity to unmeasured confounding in parametric models with either binary or continuous treatment.

                    homepage: https://github.com/vdorie/treatSens

                    version versionsuffix toolchain 3.0-20201002 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#treemix","title":"TreeMix","text":"

                    TreeMix is a method for inferring the patterns of population splits and mixtures in the history of a set of populations.

                    homepage: http://bitbucket.org/nygcresearch/treemix

                    version toolchain 1.13 GCC/10.3.0, GCC/11.2.0, intel/2018a"},{"location":"version-specific/supported-software/#treeshrink","title":"TreeShrink","text":"

                    TreeShrink is an algorithm for detecting abnormally long branches in one or more phylogenetic trees.

                    homepage: https://github.com/uym2/TreeShrink

                    version versionsuffix toolchain 1.3.2 -Python-3.7.2 GCC/8.2.0-2.31.1"},{"location":"version-specific/supported-software/#trf","title":"TRF","text":"

                    Tandem Repeats Finder: a program to analyze DNA sequences.

                    homepage: https://tandem.bu.edu/trf/trf.html

                    version versionsuffix toolchain 4.09 -linux64 system 4.09.1 GCC/10.3.0, GCCcore/10.2.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#triangle","title":"Triangle","text":"

                    Triangle generates exact Delaunay triangulations, constrained Delaunay triangulations, conforming Delaunay triangulations, Voronoi diagrams, and high-quality triangular meshes. The latter can be generated with no small or large angles, and are thus suitable for finite element analysis.

                    homepage: http://www.cs.cmu.edu/~quake/triangle.html

                    version toolchain 1.6 GCCcore/6.4.0, GCCcore/9.3.0, foss/2016a, foss/2018a, intel/2016b, intel/2017a, intel/2018a"},{"location":"version-specific/supported-software/#trilinos","title":"Trilinos","text":"

                    The Trilinos Project is an effort to develop algorithms and enabling technologies within an object-oriented software framework for the solution of large-scale, complex multi-physics engineering and scientific problems. A unique design feature of Trilinos is its focus on packages.

                    homepage: https://trilinos.org

                    version versionsuffix toolchain 12.12.1 -Python-2.7.14 foss/2017b, intel/2017b 12.12.1 -Python-3.6.4 foss/2018a, intel/2018a 12.12.1 -Python-3.7.4 foss/2019b 13.4.1 foss/2022a"},{"location":"version-specific/supported-software/#trim_galore","title":"Trim_Galore","text":"

                    Trim Galore! is a wrapper script to automate quality and adapter trimming as well as quality control, with some added functionality to remove biased methylation positions for RRBS sequence files (for directional, non-directional (or paired-end) sequencing).

                    homepage: https://www.bioinformatics.babraham.ac.uk/projects/trim_galore/

                    version versionsuffix toolchain 0.4.2 foss/2016b 0.4.4 foss/2016b, intel/2017a 0.5.0 foss/2018b 0.5.0 -Python-3.6.6 intel/2018b 0.6.0 -Python-2.7.15 foss/2018b 0.6.0 -Python-3.6.6 foss/2018b 0.6.1 -Python-2.7.15 foss/2018b 0.6.1 -Python-3.6.6 foss/2018b 0.6.2 -Java-11 GCCcore/8.2.0 0.6.2 -Python-2.7.15 foss/2018b 0.6.2 -Python-3.6.6 foss/2018b 0.6.5 -Java-11-Python-3.7.4 GCCcore/8.3.0 0.6.6 -Python-2.7.18 GCC/10.2.0 0.6.6 -Python-3.8.2 GCCcore/9.3.0 0.6.7 GCCcore/10.3.0 0.6.10 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#trimal","title":"trimAl","text":"

                    A tool for automated alignment trimming in large-scale phylogenetic analyses

                    homepage: http://trimal.cgenomics.org/

                    version toolchain 1.4.1 GCC/8.2.0-2.31.1, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0, intel/2018a"},{"location":"version-specific/supported-software/#trimesh","title":"trimesh","text":"

                    Trimesh is a Python (2.7- 3.3+) library for loading and using triangular meshes with an emphasis on watertight meshes. The goal of the library is to provide a fully featured Trimesh object which allows for easy manipulation and analysis, in the style of the excellent Polygon object in the Shapely library.

                    homepage: https://trimsh.org/

                    version toolchain 3.17.1 foss/2022a 3.21.5 gfbf/2022b"},{"location":"version-specific/supported-software/#trimmomatic","title":"Trimmomatic","text":"

                    Trimmomatic performs a variety of useful trimming tasks for illumina paired-end and single ended data.The selection of trimming steps and their associated parameters are supplied on the command line.

                    homepage: http://www.usadellab.org/cms/?page=trimmomatic

                    version versionsuffix toolchain 0.32 -Java-1.7.0_80 system 0.36 -Java-1.8.0_92 system 0.38 -Java-1.8 system 0.38 -Java-1.8.0_162 system 0.39 -Java-1.8 system 0.39 -Java-11 system 0.39 -Java-17 system"},{"location":"version-specific/supported-software/#trinity","title":"Trinity","text":"

                    Trinity represents a novel method for the efficient and robust de novo reconstruction of transcriptomes from RNA-Seq data. Trinity combines three independent software modules: Inchworm, Chrysalis, and Butterfly, applied sequentially to process large volumes of RNA-Seq reads.

                    homepage: https://trinityrnaseq.github.io

                    version versionsuffix toolchain 2.2.0 foss/2016a 2.4.0 foss/2017a 2.5.1 intel/2017a, intel/2017b 2.6.6 intel/2018a 2.8.4 foss/2018b 2.8.5 iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.8.5 -Java-11 GCC/8.3.0 2.9.1 foss/2020b 2.9.1 -Python-2.7.16 foss/2019b 2.9.1 -Python-3.7.4 foss/2019b 2.10.0 -Python-3.7.4 foss/2019b 2.15.1 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#trinotate","title":"Trinotate","text":"

                    Trinotate is a comprehensive annotation suite designed for automatic functional annotation of transcriptomes, particularly de novo assembled transcriptomes, from model or non-model organisms. Trinotate makes use of a number of different well referenced methods for functional annotation including homology search to known sequence data (BLAST+/SwissProt), protein domain identification (HMMER/PFAM), protein signal peptide and transmembrane domain prediction (signalP/tmHMM), and leveraging various annotation databases (eggNOG/GO/Kegg databases). All functional annotation data derived from the analysis of transcripts is integrated into a SQLite database which allows fast efficient searching for terms with specific qualities related to a desired scientific hypothesis or a means to create a whole annotation report for a transcriptome.

                    homepage: https://github.com/Trinotate/Trinotate/wiki

                    version toolchain 4.0.1 foss/2022a"},{"location":"version-specific/supported-software/#triplexator","title":"Triplexator","text":"

                    Triplexator is a tool for detecting nucleic acid triple helices and triplex features in nucleotide sequences using the canonical triplex-formation rules.

                    homepage: https://github.com/Gurado/triplexator

                    version toolchain 1.3.3 GCC/11.2.0"},{"location":"version-specific/supported-software/#triqs","title":"TRIQS","text":"

                    TRIQS (Toolbox for Research on Interacting Quantum Systems) is a scientific project providing a set of C++ and Python libraries to develop new tools for the study of interacting quantum systems.

                    homepage: https://triqs.github.io/triqs

                    version versionsuffix toolchain 2.2.0 -Python-2.7.15 foss/2019a 2.2.1 -Python-2.7.15 foss/2019a 3.0.0 -Python-3.8.2 foss/2020a 3.1.1 foss/2022a"},{"location":"version-specific/supported-software/#triqs-cthyb","title":"TRIQS-cthyb","text":"

                    TRIQS (Toolbox for Research on Interacting Quantum Systems) is a scientific project providing a set of C++ and Python libraries to develop new tools for the study of interacting quantum systems. cthyb = continuous-time hybridisation-expansion quantum Monte Carlo The TRIQS-based hybridization-expansion solver allows to solve the generic problem of a quantum impurity embedded in a conduction bath for an arbitrary local interaction vertex. The \u201cimpurity\u201d can be any set of orbitals, on one or several atoms.

                    homepage: https://triqs.github.io/cthyb/

                    version versionsuffix toolchain 2.2.0 -Python-2.7.15 foss/2019a 3.0.0 -Python-3.8.2 foss/2020a 3.1.0 foss/2022a"},{"location":"version-specific/supported-software/#triqs-dft_tools","title":"TRIQS-dft_tools","text":"

                    TRIQS (Toolbox for Research on Interacting Quantum Systems) is a scientific project providing a set of C++ and Python libraries to develop new tools for the study of interacting quantum systems. This TRIQS-based-based application is aimed at ab-initio calculations for correlated materials, combining realistic DFT band-structure calculation with the dynamical mean-field theory. Together with the necessary tools to perform the DMFT self-consistency loop for realistic multi-band problems, the package provides a full-fledged charge self-consistent interface to the Wien2K package. In addition, if Wien2k is not available, it provides a generic interface for one-shot DFT+DMFT calculations, where only the single-particle Hamiltonian in orbital space has to be provided.

                    homepage: https://triqs.github.io/dft_tools/

                    version versionsuffix toolchain 2.2.0 -Python-2.7.15 foss/2019a 3.0.0 -Python-3.8.2 foss/2020a 3.1.0 foss/2022a"},{"location":"version-specific/supported-software/#triqs-tprf","title":"TRIQS-tprf","text":"

                    TRIQS (Toolbox for Research on Interacting Quantum Systems) is a scientific project providing a set of C++ and Python libraries to develop new tools for the study of interacting quantum systems. TPRF is a TRIQS-based two-particle response function tool box that implements basic operations for higher order response functions such as inversion, products, the random phase approximation, the bethe salpeter equation (in the local vertex approximation), etc.. The aim is to provide efficient (C++/OpenMP/MPI) implementations of the basic operations needed to compute the two-particle response in the different two-particle channels (particle-hole, particle-particle).

                    homepage: https://triqs.github.io/tprf

                    version versionsuffix toolchain 2.2.0 -Python-2.7.15 foss/2019a 3.0.0 -Python-3.8.2 foss/2020a 3.1.1 foss/2022a"},{"location":"version-specific/supported-software/#trnascan-se","title":"tRNAscan-SE","text":"

                    tRNAscan-SE is the most widely employed tool for identifying and annotating tRNA genes in genomes.

                    homepage: http://trna.ucsc.edu/tRNAscan-SE/

                    version toolchain 2.0.12 GCC/11.2.0, foss/2022b"},{"location":"version-specific/supported-software/#trust","title":"TRUST","text":"

                    Tcr Receptor Utilities for Solid Tissue (TRUST) is a computational tool to analyze TCR and BCR sequences using unselected RNA sequencing data, profiled from solid tissues, including tumors.

                    homepage: https://bitbucket.org/liulab/trust

                    version versionsuffix toolchain 3.0.2 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#trust4","title":"TRUST4","text":"

                    Tcr Receptor Utilities for Solid Tissue (TRUST) is a computational tool to analyze TCR and BCR sequences using unselected RNA sequencing data, profiled from solid tissues, including tumors. TRUST4 performs de novo assembly on V, J, C genes including the hypervariable complementarity-determining region 3 (CDR3) and reports consensus of BCR/TCR sequences. TRUST4 then realigns the contigs to IMGT reference gene sequences to report the corresponding information. TRUST4 supports both single-end and paired-end sequencing data with any read length.

                    homepage: https://github.com/liulab-dfci/TRUST4

                    version toolchain 1.0.5.1 system 1.0.6 GCC/11.2.0 1.0.7 GCC/11.3.0"},{"location":"version-specific/supported-software/#trycycler","title":"Trycycler","text":"

                    Trycycler is a tool for generating consensus long-read assemblies for bacterial genomes.

                    homepage: https://github.com/rrwick/Trycycler

                    version versionsuffix toolchain 0.3.3 -Python-3.8.2 foss/2020a 0.5.2 foss/2021a 0.5.3 foss/2021b"},{"location":"version-specific/supported-software/#tsne","title":"tsne","text":"

                    Python library containing T-SNE algorithms.

                    homepage: https://github.com/danielfrg/tsne

                    version versionsuffix toolchain 0.1.8 -Python-2.7.16 intel/2019b"},{"location":"version-specific/supported-software/#turbinesfoam","title":"turbinesFoam","text":"

                    turbinesFoam is a library for simulating wind and marine hydrokinetic turbines in OpenFOAM using the actuator line method.

                    homepage: https://github.com/turbinesFoam/turbinesFoam

                    version versionsuffix toolchain 20220516 -OpenFOAM-8 foss/2020a"},{"location":"version-specific/supported-software/#turbovnc","title":"TurboVNC","text":"

                    TurboVNC is a derivative of VNC (Virtual Network Computing) that is tuned to provide peak performance for 3D and video workloads.

                    homepage: https://www.turbovnc.org

                    version toolchain 2.2.3 GCCcore/8.2.0 3.0.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#tvb","title":"TVB","text":"

                    The Virtual Brain will deliver the first open simulation of the human brain based on individual large-scale connectivity.

                    homepage: http://thevirtualbrain.org

                    version versionsuffix toolchain 1.4.1 -Python-2.7.11 intel/2016a 1.5 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#tvb-data","title":"tvb-data","text":"

                    The Virtual Brain Project (TVB Project) has the purpose of offering some modern tools to the Neurosciences community, for computing, simulating and analyzing functional and structural data of human brains. Various demonstration data for use with TVB.

                    homepage: http://www.thevirtualbrain.org/

                    version versionsuffix toolchain 1.5 -Python-2.7.11 intel/2016a 20150915 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#tvb-deps","title":"TVB-deps","text":"

                    Bundle of dependency Python packages for TVB (The Virtual Brain)

                    homepage: https://thevirtualbrain.org

                    version versionsuffix toolchain 20160618 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#tvb-framework","title":"tvb-framework","text":"

                    The Virtual Brain Project (TVB Project) has the purpose of offering some modern tools to the Neurosciences community, for computing, simulating and analyzing functional and structural data of human brains. TVB Scientific Library is the most important scientific contribution of TVB Project.

                    homepage: http://www.thevirtualbrain.org/

                    version versionsuffix toolchain 1.5 -Python-2.7.11 intel/2016a 20150921 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#tvb-library","title":"tvb-library","text":"

                    The Virtual Brain Project (TVB Project) has the purpose of offering some modern tools to the Neurosciences community, for computing, simulating and analyzing functional and structural data of human brains. TVB Scientific Library is the most important scientific contribution of TVB Project.

                    homepage: http://www.thevirtualbrain.org/

                    version versionsuffix toolchain 1.5 -Python-2.7.11 intel/2016a 20150922 -Python-2.7.11 intel/2016a"},{"location":"version-specific/supported-software/#twl-ninja","title":"TWL-NINJA","text":"

                    Nearly Infinite Neighbor Joining Application.

                    homepage: https://github.com/TravisWheelerLab/NINJA

                    version toolchain 0.97-cluster_only GCC/10.2.0 0.98-cluster_only GCC/11.3.0"},{"location":"version-specific/supported-software/#typing-extensions","title":"typing-extensions","text":"

                    Typing Extensions - Backported and Experimental Type Hints for Python

                    homepage: https://github.com/python/typing/blob/master/typing_extensions/README.rst

                    version versionsuffix toolchain 3.7.4.3 GCCcore/10.2.0 3.7.4.3 -Python-3.7.4 GCCcore/8.3.0 3.7.4.3 -Python-3.8.2 GCCcore/9.3.0 3.10.0.0 GCCcore/10.3.0 3.10.0.2 GCCcore/11.2.0 4.3.0 GCCcore/11.3.0 4.4.0 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#u","title":"U","text":"

                    UCC - UCC-CUDA - UCLUST - UCX - UCX-CUDA - ucx-py - UCX-ROCm - udocker - UDUNITS - UFL - Ultralytics - umap-learn - UMI-tools - umi4cPackage - umis - UNAFold - uncertainty-calibration - unicore-uftp - Unicycler - Unidecode - unimap - units - unixODBC - unrar - UnZip - UQTk - USEARCH - UShER - USPEX - utf8proc - util-linux

                    "},{"location":"version-specific/supported-software/#ucc","title":"UCC","text":"

                    UCC (Unified Collective Communication) is a collective communication operations API and library that is flexible, complete, and feature-rich for current and emerging programming models and runtimes.

                    homepage: https://www.openucx.org/

                    version toolchain 1.0.0 GCCcore/11.3.0 1.1.0 GCCcore/12.2.0 1.2.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#ucc-cuda","title":"UCC-CUDA","text":"

                    UCC (Unified Collective Communication) is a collective communication operations API and library that is flexible, complete, and feature-rich for current and emerging programming models and runtimes. This module adds the UCC CUDA support.

                    homepage: https://www.openucx.org/

                    version versionsuffix toolchain 1.0.0 -CUDA-11.7.0 GCCcore/11.3.0 1.1.0 -CUDA-12.0.0 GCCcore/12.2.0 1.2.0 -CUDA-12.1.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#uclust","title":"UCLUST","text":"

                    UCLUST: Extreme high-speed sequence clustering, alignment and database search.

                    homepage: https://www.drive5.com/usearch/index.html

                    version versionsuffix toolchain 1.2.22q -i86linux64 system"},{"location":"version-specific/supported-software/#ucx","title":"UCX","text":"

                    Unified Communication X An open-source production grade communication framework for data centric and high-performance applications

                    homepage: http://www.openucx.org/

                    version versionsuffix toolchain 1.3.1 GCCcore/6.4.0, GCCcore/7.3.0 1.5.0 GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0 1.5.0rc1 -hpcx GCCcore/8.2.0 1.5.1 GCCcore/8.2.0 1.6.1 GCCcore/8.3.0 1.8.0 GCCcore/9.3.0 1.8.0 -CUDA-11.0.2 GCCcore/9.3.0 1.9.0 GCCcore/10.2.0 1.9.0 -CUDA-11.1.1 GCCcore/10.2.0 1.9.0 -CUDA-11.2.1 GCCcore/10.2.0 1.10.0 GCCcore/10.3.0 1.11.0 GCCcore/11.2.0 1.11.2 GCCcore/11.2.0 1.12.1 GCCcore/11.3.0 1.13.1 GCCcore/12.2.0 1.14.0 GCCcore/12.2.0 1.14.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#ucx-cuda","title":"UCX-CUDA","text":"

                    Unified Communication X An open-source production grade communication framework for data centric and high-performance applications This module adds the UCX CUDA support.

                    homepage: http://www.openucx.org/

                    version versionsuffix toolchain 1.10.0 -CUDA-11.3.1 GCCcore/10.3.0 1.11.0 -CUDA-11.4.1 GCCcore/11.2.0 1.11.2 -CUDA-11.4.1 GCCcore/11.2.0 1.11.2 -CUDA-11.5.2 GCCcore/11.2.0 1.12.1 -CUDA-11.7.0 GCCcore/11.3.0 1.13.1 -CUDA-12.0.0 GCCcore/12.2.0 1.14.1 -CUDA-12.1.1 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#ucx-py","title":"ucx-py","text":"

                    UCX-Py is the Python interface for UCX, a low-level high-performance networking library. UCX and UCX-Py supports several transport methods including InfiniBand and NVLink while still using traditional networking protocols like TCP.

                    homepage: https://ucx-py.readthedocs.io

                    version toolchain 0.21.0 foss/2020b"},{"location":"version-specific/supported-software/#ucx-rocm","title":"UCX-ROCm","text":"

                    Unified Communication X An open-source production grade communication framework for data centric and high-performance applications This module adds the UCX ROCm support.

                    homepage: http://www.openucx.org/

                    version versionsuffix toolchain 1.11.2 -ROCm-4.5.0 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#udocker","title":"udocker","text":"

                    A basic user tool to execute simple docker containers in batch or interactive systems without root privileges.

                    homepage: https://github.com/indigo-dc/udocker

                    version versionsuffix toolchain 1.1.1 -Python-2.7.14 foss/2017b 1.1.3 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#udunits","title":"UDUNITS","text":"

                    UDUNITS supports conversion of unit specifications between formatted and binary forms, arithmetic manipulation of units, and conversion of values between compatible scales of measurement.

                    homepage: https://www.unidata.ucar.edu/software/udunits/

                    version toolchain 2.2.20 foss/2016a, intel/2016b 2.2.24 intel/2017a 2.2.25 foss/2017b, intel/2017b 2.2.26 GCCcore/10.2.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2018a, foss/2018b, foss/2020a, intel/2017b, intel/2018a, intel/2018b, iomkl/2018b 2.2.28 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#ufl","title":"UFL","text":"

                    The Unified Form Language (UFL) is a domain specific language for declaration of finite element discretizations of variational forms. More precisely, it defines a flexible interface for choosing finite element spaces and defining expressions for weak forms in a notation close to mathematical notation.

                    homepage: https://bitbucket.org/fenics-project/ufl

                    version versionsuffix toolchain 2018.1.0 -Python-3.6.4 foss/2018a 2019.1.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#ultralytics","title":"Ultralytics","text":"

                    Ultralytics YOLOv8 is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO versions and introduces new features and improvements to further boost performance and flexibility. YOLOv8 is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object detection and tracking, instance segmentation, image classification and pose estimation tasks.

                    homepage: https://github.com/ultralytics/ultralytics

                    version versionsuffix toolchain 8.0.92 -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#umap-learn","title":"umap-learn","text":"

                    Uniform Manifold Approximation and Projection (UMAP) is a dimension reduction technique that can be used for visualisation similarly to t-SNE, but also for general non-linear dimension reduction.

                    homepage: https://umap-learn.readthedocs.io/en/latest/

                    version toolchain 0.4.6 foss/2020b, fosscuda/2020b 0.5.3 foss/2020b, foss/2021a, foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#umi-tools","title":"UMI-tools","text":"

                    Tools for handling Unique Molecular Identifiers in NGS data sets

                    homepage: https://umi-tools.readthedocs.io

                    version versionsuffix toolchain 1.0.0 -Python-3.6.6 foss/2018b 1.0.1 -Python-3.7.4 foss/2019b 1.0.1 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#umi4cpackage","title":"umi4cPackage","text":"

                    umi4cPackage is a processing and analysis pipeline for UMI-4C experiment.

                    homepage: https://github.com/tanaylab/umi4cpackage

                    version versionsuffix toolchain 20200116 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#umis","title":"umis","text":"

                    Package for estimating UMI counts in Transcript Tag Counting data.

                    homepage: https://github.com/vals/umis

                    version toolchain 1.0.3 intel/2019a"},{"location":"version-specific/supported-software/#unafold","title":"UNAFold","text":"

                    The UNAFold package contains several programs for performing energy minimization and partition function calculations on nucleic acid sequences.

                    homepage: http://mfold.rna.albany.edu/?q=DINAMelt/software

                    version versionsuffix toolchain 3.8 -Perl-5.24.1 intel/2017a"},{"location":"version-specific/supported-software/#uncertainty-calibration","title":"uncertainty-calibration","text":"

                    Python library to measure the calibration error of models, including confidence intervals computed by Bootstrap resampling, and code to recalibrate models.

                    homepage: https://github.com/p-lambda/verified_calibration

                    version toolchain 0.0.9 foss/2021b"},{"location":"version-specific/supported-software/#unicore-uftp","title":"unicore-uftp","text":"

                    UNICORE Java-based client for UFTP

                    homepage: https://sourceforge.net/projects/unicore/

                    version versionsuffix toolchain 1.4.2 -Java-11 system"},{"location":"version-specific/supported-software/#unicycler","title":"Unicycler","text":"

                    Unicycler is an assembly pipeline for bacterial genomes. It can assemble Illumina-only read sets where it functions as a SPAdes-optimiser. It can also assembly long-read-only sets (PacBio or Nanopore) where it runs a miniasm+Racon pipeline.

                    homepage: https://github.com/rrwick/Unicycler

                    version versionsuffix toolchain 0.4.7 -Python-3.7.2 foss/2019a 0.4.8 -Python-3.8.2 gompi/2020a 0.4.9 gompi/2021a 0.5.0 gompi/2021b"},{"location":"version-specific/supported-software/#unidecode","title":"Unidecode","text":"

                    Python library for lossy ASCII transliterations of Unicode text (port of Text::Unidecode Perl module)

                    homepage: https://github.com/avian2/unidecode

                    version versionsuffix toolchain 1.1.1 -Python-3.7.4 GCCcore/8.3.0 1.3.6 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#unimap","title":"unimap","text":"

                    Unimap is a fork of minimap2 optimized for assembly-to-reference alignment. It integrates the minigraph chaining algorithm and can align through long INDELs (up to 100kb by default) much faster than minimap2. Unimap is a better fit for resolving segmental duplications and is recommended over minimap2 for alignment between high-quality assemblies. Unimap does not replace minimap2 for other types of alignment. It drops the support of multi-part index and short-read mapping. Its long-read alignment is different from minimap2 but is not necessarily better. Unimap is more of a specialized minimap2 at the moment.

                    homepage: https://github.com/lh3/unimap

                    version toolchain 0.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#units","title":"units","text":"

                    GNU Units converts quantities expressed in various systems of measurement to their equivalents in other systems of measurement. Like many similar programs, it can handle multiplicative scale changes. It can also handle nonlinear conversions such as Fahrenheit to Celsius or wire gauge, and it can convert from and to sums of units, such as converting between meters and feet plus inches.

                    homepage: https://www.gnu.org/software/units/

                    version toolchain 2.19 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#unixodbc","title":"unixODBC","text":"

                    unixODBC provides a uniform interface between application and database driver

                    homepage: https://www.unixodbc.org

                    version toolchain 2.3.7 foss/2018b"},{"location":"version-specific/supported-software/#unrar","title":"unrar","text":"

                    RAR is a powerful archive manager.

                    homepage: https://www.rarlab.com/

                    version toolchain 5.6.1 GCCcore/7.3.0 5.7.3 GCCcore/8.2.0 6.0.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#unzip","title":"UnZip","text":"

                    UnZip is an extraction utility for archives compressed in .zip format (also called \"zipfiles\"). Although highly compatible both with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's own Zip program, our primary objectives have been portability and non-MSDOS functionality.

                    homepage: http://www.info-zip.org/UnZip.html

                    version toolchain 6.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/13.1.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, system"},{"location":"version-specific/supported-software/#uqtk","title":"UQTk","text":"

                    The UQ Toolkit (UQTk) is a collection of libraries and tools for the quantification of uncertainty in numerical model predictions.

                    homepage: https://www.sandia.gov/UQToolkit/

                    version versionsuffix toolchain 3.1.0 -Python-3.7.4 intel/2019b"},{"location":"version-specific/supported-software/#usearch","title":"USEARCH","text":"

                    USEARCH is a unique sequence analysis tool which offers search and clustering algorithms that are often orders of magnitude faster than BLAST.

                    homepage: http://www.drive5.com/usearch/index.html

                    version versionsuffix toolchain 5.2.236 -i86linux32 system 5.2.236-6.1.544 -i86linux32 system 6.1.544 -i86linux32 system 11.0.667 -i86linux32 system"},{"location":"version-specific/supported-software/#usher","title":"UShER","text":"

                    UShER is now a package consisting of a family of programs for rapid phylogenetic analyses, particularly suitable for the SARS-CoV-2 genomes.

                    homepage: https://github.com/yatisht/usher

                    version toolchain 0.4.1 gompi/2020b 0.5.0 gompi/2021b"},{"location":"version-specific/supported-software/#uspex","title":"USPEX","text":"

                    USPEX (Universal Structure Predictor: Evolutionary Xtallography... and in Russian \"uspekh\" means \"success\" - owing to the high success rate and many useful results produced by this method) is a method developed by the Oganov laboratory since 2004. The problem of crystal structure prediction is very old and does, in fact, constitute the central problem of theoretical crystal chemistry. USPEX can also be used for finding low-energy metastable phases, as well as stable structures of nanoparticles, surface reconstructions, molecular packings in organic crystals, and for searching for materials with desired physical (mechanical, electronic) properties. The USPEX code is based on an efficient evolutionary algorithm developed by A.R. Oganov's group, but also has options for using alternative methods (random sampling, metadynamics, corrected particle swarm optimization algorithms). USPEX is interfaced with many ab initio codes, such as VASP, SIESTA, GULP, Quantum Espresso, CP2K, CASTEP, LAMMPS, and so on.

                    homepage: http://uspex-team.org/uspex/overview

                    version versionsuffix toolchain 9.4.4 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#utf8proc","title":"utf8proc","text":"

                    utf8proc is a small, clean C library that provides Unicode normalization, case-folding, and other operations for data in the UTF-8 encoding.

                    homepage: https://github.com/JuliaStrings/utf8proc

                    version toolchain 2.2.0 GCCcore/6.4.0 2.3.0 GCCcore/8.2.0 2.5.0 GCCcore/10.2.0, GCCcore/8.3.0, GCCcore/9.3.0 2.6.1 GCCcore/10.3.0, GCCcore/11.2.0 2.7.0 GCCcore/11.3.0 2.8.0 GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#util-linux","title":"util-linux","text":"

                    Set of Linux utilities

                    homepage: https://www.kernel.org/pub/linux/utils/util-linux

                    version toolchain 2.27.1 foss/2016a, intel/2016a 2.28 foss/2016a, intel/2016a 2.28.1 intel/2016b 2.29 foss/2016b, intel/2016b 2.29.2 GCCcore/6.3.0, intel/2017a 2.30 GCCcore/6.4.0 2.30.1 GCCcore/6.3.0, foss/2017a 2.31 GCCcore/6.4.0 2.31.1 GCCcore/6.4.0 2.32 GCCcore/6.4.0, GCCcore/7.3.0 2.32.1 GCCcore/7.3.0 2.33 GCCcore/8.2.0 2.34 GCCcore/8.3.0 2.35 GCCcore/9.3.0 2.36 GCCcore/10.2.0, GCCcore/10.3.0 2.37 GCCcore/11.2.0 2.38 GCCcore/11.3.0 2.38.1 GCCcore/12.2.0 2.39 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#v","title":"V","text":"

                    V8 - Vala - Valgrind - Vampir - Vampire - VarDict - variant_tools - VariantMetaCaller - VarScan - vartools - VASP - VAtools - vawk - VBZ-Compression - VCF-kit - vcflib - vcfnp - VCFtools - vConTACT2 - VEGAS - velocyto - Velvet - VEP - verifyBamID - VERSE - VESTA - ViennaRNA - Vim - VirSorter - VirSorter2 - VirtualGL - Virtuoso-opensource - visdom - vispr - VisPy - vitessce-python - vitessceR - VMD - VMTK - voltools - vorbis-tools - Voro++ - vsc-base - vsc-install - vsc-mympirun - vsc-mympirun-scoop - vsc-processcontrol - VSEARCH - vt - VTK - VTune - VV - VXL

                    "},{"location":"version-specific/supported-software/#v8","title":"V8","text":"

                    R interface to Google's open source JavaScript engine

                    homepage: https://cran.r-project.org/web/packages/V8/

                    version versionsuffix toolchain 2.2 -R-3.5.1 foss/2018b 2.3 -R-3.6.0 foss/2019a, intel/2019a 3.2.0 -R-3.6.2 foss/2019b 3.4.0 -R-4.0.0 foss/2020a"},{"location":"version-specific/supported-software/#vala","title":"Vala","text":"

                    Vala is a programming language using modern high level abstractions without imposing additional runtime requirements and without using a different ABI compared to applications and libraries written in C.

                    homepage: https://wiki.gnome.org/Projects/Vala

                    version toolchain 0.52.4 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#valgrind","title":"Valgrind","text":"

                    Valgrind: Debugging and profiling tools

                    homepage: https://valgrind.org

                    version toolchain 3.11.0 foss/2016a, intel/2016a 3.13.0 foss/2017b, foss/2018a, intel/2017a, intel/2017b, intel/2018a 3.14.0 foss/2018b 3.16.1 gompi/2019b, gompi/2020a, gompi/2020b, iimpi/2020a 3.17.0 gompi/2021a 3.18.1 gompi/2021b, iimpi/2021b 3.19.0 gompi/2022a 3.20.0 gompi/2022a"},{"location":"version-specific/supported-software/#vampir","title":"Vampir","text":"

                    The Vampir software tool provides an easy-to-use framework that enables developers to quickly display and analyze arbitrary program behavior at any level of detail. The tool suite implements optimized event analysis algorithms and customizable displays that enable fast and interactive rendering of very complex performance monitoring data.

                    homepage: http://www.vampir.eu

                    version versionsuffix toolchain 8.4.1 system 8.4.1 -demo system"},{"location":"version-specific/supported-software/#vampire","title":"Vampire","text":"

                    The Vampire Theorem Prover.

                    homepage: https://vprover.github.io/

                    version toolchain 4.5.1 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#vardict","title":"VarDict","text":"

                    VarDict is an ultra sensitive variant caller for both single and paired sample variant calling from BAM files.

                    homepage: https://github.com/AstraZeneca-NGS/VarDict

                    version versionsuffix toolchain 1.5.7 -Perl-5.28.0 foss/2018b"},{"location":"version-specific/supported-software/#variant_tools","title":"variant_tools","text":"

                    Variant tools is a software tool for the manipulation, annotation, selection, simulation, and analysis of variants in the context of next-gen sequencing analysis. Unlike some other tools used for Next-Gen sequencing analysis, variant tools is project based and provides a whole set of tools to manipulate and analyze genetic variants.

                    homepage: https://vatlab.github.io/vat-docs/

                    version versionsuffix toolchain 3.1.3 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#variantmetacaller","title":"VariantMetaCaller","text":"

                    VariantMetaCaller automatically integrates variant calling pipelines into a better performing overall model that also predicts accurate variant probabilities.

                    homepage: http://bioinformatics.mit.bme.hu/VariantMetaCaller/

                    version toolchain 1.0 intel/2017a"},{"location":"version-specific/supported-software/#varscan","title":"VarScan","text":"

                    Variant calling and somatic mutation/CNV detection for next-generation sequencing data

                    homepage: https://github.com/dkoboldt/varscan

                    version versionsuffix toolchain 2.3.6 -Java-1.7.0_80 system 2.4.1 -Java-1.7.0_80 system 2.4.4 -Java-1.8 system 2.4.4 -Java-11 system"},{"location":"version-specific/supported-software/#vartools","title":"vartools","text":"

                    Command line utility that provides tools for processing and analyzing astronomical time series data.

                    homepage: https://www.astro.princeton.edu/~jhartman/vartools.html

                    version toolchain 1.35 foss/2016b, intel/2016b"},{"location":"version-specific/supported-software/#vasp","title":"VASP","text":"

                    The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, from first principles.

                    homepage: https://www.vasp.at

                    version toolchain 5.4.1 intel/2016.02-GCC-4.9 6.3.2 nvofbf/2022.07"},{"location":"version-specific/supported-software/#vatools","title":"VAtools","text":"

                    VAtools is a python package that includes several tools to annotate VCF files with data from other tools.

                    homepage: https://vatools.readthedocs.io/en/latest/

                    version versionsuffix toolchain 3.0.1 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#vawk","title":"vawk","text":"

                    An awk-like VCF parser

                    homepage: https://github.com/cc2qe/vawk

                    version versionsuffix toolchain 0.0.1 -Python-2.7.18 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#vbz-compression","title":"VBZ-Compression","text":"

                    VBZ compression HDF5 plugin for nanopolish

                    homepage: https://github.com/nanoporetech/vbz_compression

                    version toolchain 1.0.1 gompi/2020b"},{"location":"version-specific/supported-software/#vcf-kit","title":"VCF-kit","text":"

                    VCF-kit is a command-line based collection of utilities for performing analysis on Variant Call Format (VCF) files.

                    homepage: https://github.com/AndersenLab/VCF-kit

                    version versionsuffix toolchain 0.1.6 -Python-2.7.15 intel/2018b"},{"location":"version-specific/supported-software/#vcflib","title":"vcflib","text":"

                    vcflib provides methods to manipulate and interpret sequence variation as it can be described by VCF. The Variant Call Format (VCF) is a flat-file, tab-delimited textual format intended to concisely describe reference-indexed genetic variations between individuals.

                    homepage: https://github.com/vcflib/vcflib

                    version versionsuffix toolchain 1.0.2 GCC/10.2.0, GCC/10.3.0 1.0.2 -Python-3.8.2 GCC/9.3.0 1.0.3 -R-4.1.0 foss/2021a 1.0.3 -R-4.1.2 foss/2021b"},{"location":"version-specific/supported-software/#vcfnp","title":"vcfnp","text":"

                    Load data from a VCF (variant call format) file into numpy arrays, and (optionally) from there into an HDF5 file.

                    homepage: https://github.com/alimanfoo/vcfnp

                    version versionsuffix toolchain 2.3.0 -Python-2.7.11 foss/2016a"},{"location":"version-specific/supported-software/#vcftools","title":"VCFtools","text":"

                    The aim of VCFtools is to provide easily accessible methods for working with complex genetic variation data in the form of VCF files.

                    homepage: https://vcftools.github.io

                    version versionsuffix toolchain 0.1.14 -Perl-5.22.1 foss/2016a, intel/2016a 0.1.15 -Perl-5.24.0 foss/2016b 0.1.15 -Perl-5.26.0 foss/2017b, intel/2017b 0.1.15 -Perl-5.26.1 foss/2018a 0.1.16 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/11.3.0, GCC/12.2.0, GCC/8.3.0, GCC/9.3.0, iccifort/2019.5.281 0.1.16 -Perl-5.28.0 foss/2018b, intel/2018b"},{"location":"version-specific/supported-software/#vcontact2","title":"vConTACT2","text":"

                    vConTACT2 is a tool to perform guilt-by-contig-association classification of viral genomic sequence data.

                    homepage: https://bitbucket.org/MAVERICLab/vcontact2

                    version toolchain 0.11.3 foss/2022a"},{"location":"version-specific/supported-software/#vegas","title":"VEGAS","text":"

                    VEGAS (Versatile Gene-based Association Study) is a free program for performing gene-based tests for association using the results from genetic association studies

                    homepage: http://gump.qimr.edu.au/VEGAS/

                    version toolchain 0.8.27 system"},{"location":"version-specific/supported-software/#velocyto","title":"velocyto","text":"

                    Velocyto is a library for the analysis of RNA velocity.

                    homepage: https://velocyto.org/velocyto.py/

                    version versionsuffix toolchain 0.17.17 foss/2021a, foss/2022a 0.17.17 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#velvet","title":"Velvet","text":"

                    Sequence assembler for very short reads

                    homepage: https://github.com/dzerbino/velvet/

                    version versionsuffix toolchain 1.2.10 -mt-kmer_191 GCC/11.2.0, GCC/8.3.0, foss/2018a, foss/2018b 1.2.10 -mt-kmer_37 intel/2017a"},{"location":"version-specific/supported-software/#vep","title":"VEP","text":"

                    Variant Effect Predictor (VEP) determines the effect of your variants (SNPs, insertions, deletions, CNVs or structural variants) on genes, transcripts, and protein sequence, as well as regulatory regions. Includes EnsEMBL-XS, which provides pre-compiled replacements for frequently used routines in VEP.

                    homepage: https://www.ensembl.org/info/docs/tools/vep

                    version versionsuffix toolchain 93.4 -Perl-5.26.1 intel/2018a 94.0 -Perl-5.28.0 foss/2018b 94.5 -Perl-5.26.0 foss/2017b, intel/2017b 95.0 -Perl-5.28.0 foss/2018b 96.0 -Perl-5.28.1 foss/2019a 103.1 GCC/10.2.0 105 GCC/11.2.0 107 GCC/11.3.0"},{"location":"version-specific/supported-software/#verifybamid","title":"verifyBamID","text":"

                    verifyBamID is a software that verifies whether the reads in particular file match previously known genotypes for an individual (or group of individuals), and checks whether the reads are contaminated as a mixture of two samples. verifyBamID can detect sample contamination and swaps when external genotypes are available. When external genotypes are not available, verifyBamID still robustly detects sample swaps.

                    homepage: http://csg.sph.umich.edu/kang/verifyBamID/index.html

                    version toolchain 1.1.3 foss/2016a"},{"location":"version-specific/supported-software/#verse","title":"VERSE","text":"

                    A versatile and efficient RNA-Seq read counting tool

                    homepage: https://github.com/qinzhu/VERSE

                    version toolchain 0.1.5 foss/2016b"},{"location":"version-specific/supported-software/#vesta","title":"VESTA","text":"

                    VESTA is a 3D visualization program for structured models, volumetric data such as electron/nuclear densities, and crystal morphologies.

                    homepage: http://www.jp-minerals.org/vesta

                    version versionsuffix toolchain 3.5.8 -gtk3 system"},{"location":"version-specific/supported-software/#viennarna","title":"ViennaRNA","text":"

                    The Vienna RNA Package consists of a C code library and several stand-alone programs for the prediction and comparison of RNA secondary structures.

                    homepage: https://www.tbi.univie.ac.at/RNA/

                    version versionsuffix toolchain 2.2.3 intel/2016b 2.3.4 foss/2016b 2.3.5 intel/2017a 2.4.10 -Python-2.7.15 foss/2018b, intel/2018b 2.4.11 -Python-3.6.6 foss/2018b 2.4.14 -Python-3.6.6 foss/2018b 2.5.0 foss/2021b 2.5.1 foss/2021b"},{"location":"version-specific/supported-software/#vim","title":"Vim","text":"

                    Vim is an advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set.

                    homepage: http://www.vim.org

                    version versionsuffix toolchain 8.0 -Python-2.7.11 foss/2016a 8.1.0483 -Python-2.7.15 foss/2018b 8.1.1209 -Python-3.7.2 GCCcore/8.2.0 9.0.0950 GCCcore/11.3.0 9.0.1434 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#virsorter","title":"VirSorter","text":"

                    VirSorter: mining viral signal from microbial genomic data.

                    homepage: https://github.com/simroux/VirSorter

                    version versionsuffix toolchain 20160601 -Perl-5.22.1 foss/2016a"},{"location":"version-specific/supported-software/#virsorter2","title":"VirSorter2","text":"

                    VirSorter2 applies a multi-classifier, expert-guided approach to detect diverse DNA and RNA virus genomes.

                    homepage: https://github.com/jiarong/VirSorter2

                    version toolchain 2.2.4 foss/2022a"},{"location":"version-specific/supported-software/#virtualgl","title":"VirtualGL","text":"

                    VirtualGL is an open source toolkit that gives any Linux or Unix remote display software the ability to run OpenGL applications with full hardware acceleration.

                    homepage: https://virtualgl.org/

                    version toolchain 2.6.1 foss/2018b 2.6.2 GCCcore/9.3.0 3.0 GCC/11.2.0"},{"location":"version-specific/supported-software/#virtuoso-opensource","title":"Virtuoso-opensource","text":"

                    Virtuoso is a high-performance and scalable Multi-Model RDBMS, Data Integration Middleware, Linked Data Deployment, and HTTP Application Server Platform.

                    homepage: https://github.com/openlink/virtuoso-opensource

                    version toolchain 7.2.6.1 GCC/10.3.0"},{"location":"version-specific/supported-software/#visdom","title":"visdom","text":"

                    A flexible tool for creating, organizing, and sharing visualizations of live, rich data. Supports Torch and Numpy.

                    homepage: https://github.com/fossasia/visdom

                    version toolchain 0.2.4 foss/2022a"},{"location":"version-specific/supported-software/#vispr","title":"vispr","text":"

                    VISPR - A visualization framework for CRISPR data.

                    homepage: https://pypi.org/project/vispr/

                    version toolchain 0.4.14 foss/2022a"},{"location":"version-specific/supported-software/#vispy","title":"VisPy","text":"

                    VisPy is a high-performance interactive 2D/3D data visualization library leveraging the computational power of modern Graphics Processing Units (GPUs) through the OpenGL library to display very large datasets.

                    homepage: https://vispy.org

                    version toolchain 0.6.6 foss/2020b, intel/2020b"},{"location":"version-specific/supported-software/#vitessce-python","title":"vitessce-python","text":"

                    Python API and Jupyter widget facilitating interactive visualization of spatial single-cell data with Vitessce.

                    homepage: https://github.com/vitessce/vitessce-python

                    version toolchain 20230222 foss/2022a"},{"location":"version-specific/supported-software/#vitesscer","title":"vitessceR","text":"

                    Vitessce is a visual integration tool for exploration of spatial single-cell experiments.

                    homepage: https://github.com/vitessce/vitessceR

                    version versionsuffix toolchain 0.99.0-20230110 -R-4.2.1 foss/2022a"},{"location":"version-specific/supported-software/#vmd","title":"VMD","text":"

                    VMD is a molecular visualization program for displaying, animating, and analyzing large biomolecular systems using 3-D graphics and built-in scripting.

                    homepage: https://www.ks.uiuc.edu/Research/vmd

                    version versionsuffix toolchain 1.9.3 -Python-2.7.12 intel/2016b 1.9.3 -Python-2.7.14 foss/2017b, intel/2018a 1.9.3 -Python-2.7.15 intel/2018b 1.9.4a43 -Python-3.7.4 fosscuda/2019b 1.9.4a51 foss/2020b, fosscuda/2020b 1.9.4a57 foss/2022a"},{"location":"version-specific/supported-software/#vmtk","title":"VMTK","text":"

                    vmtk is a collection of libraries and tools for 3D reconstruction, geometric analysis, mesh generation and surface data analysis for image-based modeling of blood vessels.

                    homepage: https://vmtk.org

                    version versionsuffix toolchain 1.4.0 -Python-3.7.4 foss/2019b"},{"location":"version-specific/supported-software/#voltools","title":"voltools","text":"

                    CUDA-accelerated numpy 3D affine transformations

                    homepage: https://github.com/the-lay/voltools

                    version toolchain 0.4.2 foss/2020b"},{"location":"version-specific/supported-software/#vorbis-tools","title":"vorbis-tools","text":"

                    Command-line tools for creating and playing Ogg Vorbis files.

                    homepage: https://xiph.org/vorbis/

                    version toolchain 1.4.2 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#voro","title":"Voro++","text":"

                    Voro++ is a software library for carrying out three-dimensional computations of the Voronoi tessellation. A distinguishing feature of the Voro++ library is that it carries out cell-based calculations, computing the Voronoi cell for each particle individually. It is particularly well-suited for applications that rely on cell-based statistics, where features of Voronoi cells (eg. volume, centroid, number of faces) can be used to analyze a system of particles.

                    homepage: http://math.lbl.gov/voro++/

                    version toolchain 0.4.6 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.4.0, GCCcore/9.3.0, foss/2016a, foss/2019b, intel/2016a, intel/2019b"},{"location":"version-specific/supported-software/#vsc-base","title":"vsc-base","text":"

                    Basic Python libraries used by UGent's HPC group

                    homepage: http://hpcugent.github.com/vsc-base/

                    version versionsuffix toolchain 1.6.9 system 1.7.3 system 2.0.4 system 2.1.2 system 2.4.2 system 2.4.17 -Python-2.7.11 intel/2016a 2.5.1 system 2.5.1 -Python-2.7.11 intel/2016a 2.5.1 -Python-2.7.12 intel/2016b 2.5.8 system 2.8.0 system 2.8.1 system 2.8.3 system"},{"location":"version-specific/supported-software/#vsc-install","title":"vsc-install","text":"

                    vsc-install provides shared setuptools functions and classes for Python libraries developed by UGent's HPC group

                    homepage: https://pypi.python.org/pypi/vsc-install

                    version versionsuffix toolchain 0.9.18 -Python-2.7.11 intel/2016a 0.10.6 system 0.10.6 -Python-2.7.11 intel/2016a 0.10.11 -Python-2.7.11 intel/2016a 0.10.11 -Python-2.7.12 intel/2016b 0.10.25 system 0.10.26 system 0.11.1 system 0.11.2 system"},{"location":"version-specific/supported-software/#vsc-mympirun","title":"vsc-mympirun","text":"

                    mympirun is a tool to make it easier for users of HPC clusters to run MPI programs with good performance.

                    homepage: https://github.com/hpcugent/vsc-mympirun

                    version versionsuffix toolchain 3.2.1 system 3.3.0 system 3.4.2 system 3.4.2 -Python-2.7.11-vsc-base-2.4.17 intel/2016a 3.4.2 -Python-2.7.11-vsc-base-2.5.1 intel/2016a 3.4.2 -vsc-base-2.4.2 system 3.4.3 -Python-2.7.12 intel/2016b 4.0.0 system 4.0.0b0 system 4.0.1 system 4.0.2 system 4.1.4 system 4.1.5 system 4.1.6 system 4.1.8 system 4.1.9 system 5.1.0 system 5.2.0 system 5.2.2 system 5.2.3 system 5.2.4 system 5.2.5 system 5.2.6 system 5.2.7 system 5.2.9 system 5.2.10 system 5.2.11 system 5.3.0 system 5.3.1 system"},{"location":"version-specific/supported-software/#vsc-mympirun-scoop","title":"vsc-mympirun-scoop","text":"

                    VSC-tools is a set of Python libraries and scripts that are commonly used within HPC-UGent.

                    homepage: http://hpcugent.github.com/vsc-mympirun/

                    version versionsuffix toolchain 3.4.1 -Python-2.7.12 intel/2016b"},{"location":"version-specific/supported-software/#vsc-processcontrol","title":"vsc-processcontrol","text":"

                    vsc-processcontrol is a module to abstract process control like scheduler settings and affinity from actual implementations like vsc.affinity and psutil.

                    homepage: http://hpcugent.github.com/vsc-processcontrol/

                    version versionsuffix toolchain 1.0 system 1.0 -vsc-base-2.1.2 system"},{"location":"version-specific/supported-software/#vsearch","title":"VSEARCH","text":"

                    VSEARCH supports de novo and reference based chimera detection, clustering, full-length and prefix dereplication, rereplication, reverse complementation, masking, all-vs-all pairwise global alignment, exact and global alignment searching, shuffling, subsampling and sorting. It also supports FASTQ file analysis, filtering, conversion and merging of paired-end reads.

                    homepage: https://github.com/torognes/vsearch

                    version toolchain 2.9.1 foss/2018b 2.13.4 iccifort/2019.1.144-GCC-8.2.0-2.31.1 2.15.0 GCC/9.3.0 2.18.0 GCC/10.2.0 2.21.1 GCC/10.3.0 2.22.1 GCC/11.3.0"},{"location":"version-specific/supported-software/#vt","title":"vt","text":"

                    A tool set for short variant discovery in genetic sequence data.

                    homepage: http://genome.sph.umich.edu/wiki/Vt

                    version toolchain 0.57721 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, GCC/9.3.0, foss/2018b"},{"location":"version-specific/supported-software/#vtk","title":"VTK","text":"

                    The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation.

                    homepage: https://www.vtk.org

                    version versionsuffix toolchain 6.3.0 -Python-2.7.11 foss/2016a, intel/2016a 6.3.0 -Python-2.7.12 foss/2016b, intel/2016b 7.0.0 -Python-2.7.12 intel/2016b 7.1.0 -Python-2.7.12 intel/2016b 7.1.1 -Python-2.7.13 intel/2017a 8.0.1 -Python-2.7.14 foss/2017b, intel/2017b 8.1.0 -Python-2.7.14 foss/2018a, intel/2018a 8.1.0 -Python-3.6.4 foss/2018a, intel/2018a 8.1.1 -Python-2.7.14 intel/2018a 8.1.1 -Python-2.7.15 foss/2018b 8.1.1 -Python-3.6.6 foss/2018b, fosscuda/2018b 8.2.0 foss/2021a 8.2.0 -Python-2.7.15 foss/2019a 8.2.0 -Python-3.7.2 foss/2019a, intel/2019a 8.2.0 -Python-3.7.4 foss/2019b 8.2.0 -Python-3.8.2 foss/2020a, fosscuda/2020a, intel/2020a 9.0.1 foss/2020b, foss/2021a, fosscuda/2020b 9.1.0 foss/2021b 9.2.0.rc2 foss/2022a 9.2.2 foss/2022a 9.2.6 foss/2022b"},{"location":"version-specific/supported-software/#vtune","title":"VTune","text":"

                    Intel VTune Amplifier XE is the premier performance profiler for C, C++, C#, Fortran, Assembly and Java.

                    homepage: https://software.intel.com/en-us/vtune

                    version toolchain 2013_update6 system 2013_update8 system 2013_update9 system 2013_update10 system 2013_update11 system 2013_update12 system 2016_update3 system 2017 system 2017_update1 system 2017_update2 system 2017_update3 system 2018_update1 system 2018_update2 system 2018_update3 system 2019_update2 system 2019_update3 system 2019_update5 system 2020_update3 system 2021.6.0 system 2021.9.0 system 2022.0.0 system 2022.2.0 system 2022.3.0 system"},{"location":"version-specific/supported-software/#vv","title":"VV","text":"

                    VV is an open-source and cross platform image viewer, designed for fast and simple visualization of spatio-temporal images: 2D, 2D+t, 3D and 3D+t (or 4D) images. Only the command-line (clitk) tools are build.

                    homepage: https://www.creatis.insa-lyon.fr/rio/vv

                    version versionsuffix toolchain 2018.09.19 -Python-3.6.6 foss/2018b"},{"location":"version-specific/supported-software/#vxl","title":"VXL","text":"

                    A multi-platform collection of C++ software libraries for Computer Vision and Image Understanding.

                    homepage: https://sf.net/projects/vxl

                    version toolchain 1.18.0 foss/2018a"},{"location":"version-specific/supported-software/#w","title":"W","text":"

                    wandb - Wannier90 - WannierTools - Wayland - Waylandpp - WCSLIB - WCT - wcwidth - webin-cli - WebKitGTK+ - WebSocket++ - WEKA - wget - wgsim - WHAM - WhatsHap - wheel - WIEN2k - WildMagic - Winnowmap - WisecondorX - WISExome - wkhtmltopdf - worker - wpebackend-fdo - WPS - wrapt - WRF - WRF-Fire - wrf-python - wtdbg2 - wxPropertyGrid - wxPython - wxWidgets

                    "},{"location":"version-specific/supported-software/#wandb","title":"wandb","text":"

                    CLI and Python API for Weights and Biases (wandb), a tool for visualizing and tracking your machine learning experiments.

                    homepage: https://www.wandb.com/

                    version versionsuffix toolchain 0.8.30 -Python-3.7.4 gcccuda/2019b 0.13.4 GCCcore/11.3.0 0.13.6 GCC/11.3.0"},{"location":"version-specific/supported-software/#wannier90","title":"Wannier90","text":"

                    A tool for obtaining maximally-localised Wannier functions

                    homepage: http://www.wannier.org

                    version versionsuffix toolchain 1.2 intel/2016.02-GCC-4.9 2.0.1 intel/2016.02-GCC-4.9, intel/2016a 2.0.1.1 -abinit intel/2018b 2.1.0 foss/2017b, intel/2017a, intel/2017b 3.0.0 intel/2018b 3.1.0 foss/2020b, foss/2021a, foss/2021b, foss/2022a, gomkl/2021a, intel/2020a, intel/2020b, intel/2021a, intel/2021b, intel/2022a"},{"location":"version-specific/supported-software/#wanniertools","title":"WannierTools","text":"

                    WannierTools is an open source software that studies the physical properties of given tight-binding model.

                    homepage: http://www.wanniertools.com

                    version toolchain 2.3.0 intel/2018a 2.5.1 intel/2020b"},{"location":"version-specific/supported-software/#wayland","title":"Wayland","text":"

                    Wayland is a project to define a protocol for a compositor to talk to its clients as well as a library implementation of the protocol. The compositor can be a standalone display server running on Linux kernel modesetting and evdev input devices, an X application, or a wayland client itself. The clients can be traditional applications, X servers (rootless or fullscreen) or other display servers.

                    homepage: https://wayland.freedesktop.org/

                    version toolchain 1.20.0 GCCcore/11.3.0 1.21.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#waylandpp","title":"Waylandpp","text":"

                    Wayland is an object oriented display protocol, which features request and events. Requests can be seen as method calls on certain objects, whereas events can be seen as signals of an object. This makes the Wayland protocol a perfect candidate for a C++ binding. The goal of this library is to create such a C++ binding for Wayland using the most modern C++ technology currently available, providing an easy to use C++ API to Wayland.

                    homepage: https://github.com/NilsBrause/waylandpp

                    version toolchain 1.0.0 GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#wcslib","title":"WCSLIB","text":"

                    The FITS \"World Coordinate System\" (WCS) standard defines keywords and usage that provide for the description of astronomical coordinate systems in a FITS image header.

                    homepage: https://www.atnf.csiro.au/people/mcalabre/WCS/

                    version toolchain 7.11 GCC/11.2.0"},{"location":"version-specific/supported-software/#wct","title":"WCT","text":"

                    NOAA's Weather and Climate Toolkit (WCT) is free, platform independent software distributed from NOAA's National Centers for Environmental Information (NCEI). The WCT allows the visualization and data export of weather and climate data, including Radar, Satellite and Model data. The WCT also provides access to weather/climate web services provided from NCEI and other organizations.

                    homepage: https://www.ncdc.noaa.gov/wct/index.php

                    version versionsuffix toolchain 4.6.0 -Java-11 system"},{"location":"version-specific/supported-software/#wcwidth","title":"wcwidth","text":"

                    wcwidth is a low-level Python library to simplify Terminal emulation.

                    homepage: https://github.com/jquast/wcwidth

                    version versionsuffix toolchain 0.1.7 -Python-2.7.11 foss/2016a 0.1.7 -Python-2.7.12 foss/2016b, intel/2016b 0.1.7 -Python-3.5.1 foss/2016a 0.1.7 -Python-3.5.2 intel/2016b"},{"location":"version-specific/supported-software/#webin-cli","title":"webin-cli","text":"

                    The Webin command line submission interface can be used to validate, upload and submit files to the European Nucleotide Archive (ENA)

                    homepage: https://github.com/enasequence/webin-cli

                    version toolchain 1.8.9 system"},{"location":"version-specific/supported-software/#webkitgtk","title":"WebKitGTK+","text":"

                    WebKitGTK+ is a full-featured port of the WebKit rendering engine, suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers. It offers WebKit's full functionality and is useful in a wide range of systems from desktop computers to embedded systems like phones, tablets, and televisions.

                    homepage: https://webkitgtk.org/

                    version toolchain 2.24.1 GCC/8.2.0-2.31.1 2.27.4 GCC/10.3.0, GCC/8.3.0 2.37.1 GCC/11.2.0"},{"location":"version-specific/supported-software/#websocket","title":"WebSocket++","text":"

                    WebSocket++ is an open source (BSD license) header only C++ library that implements RFC6455 The WebSocket Protocol.

                    homepage: https://www.zaphoyd.com/websocketpp/

                    version toolchain 0.8.1 gompi/2019a"},{"location":"version-specific/supported-software/#weka","title":"WEKA","text":"

                    Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes.

                    homepage: http://www.cs.waikato.ac.nz/ml/weka/index.html

                    version versionsuffix toolchain 3.6.12 -Java-1.7.0_80 system 3.7.0 -Java-1.7.0_80 system"},{"location":"version-specific/supported-software/#wget","title":"wget","text":"

                    GNU Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc.

                    homepage: https://www.gnu.org/software/wget

                    version toolchain 1.17.1 foss/2016a, foss/2016b 1.19.4 GCCcore/6.4.0 1.20.1 GCCcore/7.3.0, GCCcore/8.3.0 1.20.3 GCCcore/10.2.0, GCCcore/9.3.0 1.21.1 GCCcore/10.3.0 1.21.2 GCCcore/11.2.0 1.21.3 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#wgsim","title":"wgsim","text":"

                    Wgsim is a small tool for simulating sequence reads from a reference genome.

                    homepage: https://github.com/lh3/wgsim/

                    version toolchain 20111017 GCC/10.2.0, GCC/11.2.0"},{"location":"version-specific/supported-software/#wham","title":"WHAM","text":"

                    An implementation of WHAM: the Weighted Histogram Analysis Method

                    homepage: http://membrane.urmc.rochester.edu/?page_id=126

                    version versionsuffix toolchain 2.0.9.1 intel/2019a 2.0.9.1 -kj_mol intel/2019a 2.0.10.2 intel/2020a 2.0.10.2 -kj_mol intel/2020a"},{"location":"version-specific/supported-software/#whatshap","title":"WhatsHap","text":"

                    WhatsHap is a software for phasing genomic variants using DNA sequencing reads, also called read-based phasing or haplotype assembly. It is especially suitable for long reads, but works also well with short reads.

                    homepage: https://whatshap.readthedocs.io

                    version toolchain 1.1 foss/2020b, foss/2021a 1.4 foss/2021b 1.7 foss/2022a"},{"location":"version-specific/supported-software/#wheel","title":"wheel","text":"

                    A built-package format for Python.

                    homepage: https://pypi.python.org/pypi/wheel

                    version versionsuffix toolchain 0.29.0 -Python-2.7.11 foss/2016a 0.29.0 -Python-3.5.1 foss/2016a 0.30.0 -Python-2.7.14 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.30.0 -Python-3.6.3 foss/2017b, fosscuda/2017b, intel/2017b, intelcuda/2017b 0.30.0 -Python-3.6.4 foss/2018a, intel/2018a 0.31.0 -Python-2.7.14 fosscuda/2018a, intel/2018a 0.31.0 -Python-3.6.4 foss/2018a, fosscuda/2018a 0.31.1 -Python-2.7.15 fosscuda/2018b 0.31.1 -Python-3.6.6 foss/2018b, fosscuda/2018b"},{"location":"version-specific/supported-software/#wien2k","title":"WIEN2k","text":"

                    The program package WIEN2k allows to perform electronic structure calculations of solids using density functional theory (DFT). It is based on the full-potential (linearized) augmented plane-wave ((L)APW) + local orbitals (lo) method, one among the most accurate schemes for band structure calculations. WIEN2k is an all-electron scheme including relativistic effects and has many features.

                    homepage: http://www.wien2k.at/

                    version toolchain 17.1 foss/2018a, gimkl/2017a, intel/2018a 18.1 foss/2018a, gimkl/2017a, intel/2018a 19.1 intel/2019a 19.2 intel/2020b 21.1 intel/2021a, intel/2021b"},{"location":"version-specific/supported-software/#wildmagic","title":"WildMagic","text":"

                    Wild Magic 5.17

                    homepage: https://www.geometrictools.com/index.html

                    version toolchain 5.17 GCCcore/10.3.0, foss/2018b"},{"location":"version-specific/supported-software/#winnowmap","title":"Winnowmap","text":"

                    Winnowmap is a long-read mapping algorithm, and a result of our exploration into superior minimizer sampling techniques.

                    homepage: https://github.com/marbl/Winnowmap

                    version toolchain 1.0 GCC/8.3.0"},{"location":"version-specific/supported-software/#wisecondorx","title":"WisecondorX","text":"

                    WisecondorX -- an evolved WISECONDOR

                    homepage: https://github.com/CenterForMedicalGeneticsGhent/WisecondorX

                    version versionsuffix toolchain 1.1.6 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#wisexome","title":"WISExome","text":"

                    A within-sample comparison approach to detect copy number variations in whole exome sequencing data

                    homepage: https://github.com/VUmcCGP/wisexome

                    version versionsuffix toolchain 20180517 -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#wkhtmltopdf","title":"wkhtmltopdf","text":"

                    wkhtmltopdf and wkhtmltoimage are open source (LGPLv3) command line tools to render HTML into PDF and various image formats using the Qt WebKit rendering engine. These run entirely headless and do not require a display or display service.

                    homepage: http://wkhtmltopdf.org/

                    version versionsuffix toolchain 0.12.3 -Linux-x86_64 system"},{"location":"version-specific/supported-software/#worker","title":"worker","text":"

                    The Worker framework has been developed to help deal with parameter exploration experiments that would otherwise result in many jobs, forcing the user resort to scripting to retain her sanity; see also https://vscentrum.be/neutral/documentation/cluster-doc/running-jobs/worker-framework.

                    homepage: https://github.com/gjbex/worker

                    version versionsuffix toolchain 1.6.4 intel/2016a 1.6.5 intel/2016a 1.6.6 intel/2016b 1.6.7 -intel-2016b system 1.6.7 -intel-2017a system 1.6.7 -intel-2017b system 1.6.8 -intel-2018a system 1.6.8 -intel-2018b system 1.6.11 intel/2019b 1.6.12 foss/2019a, foss/2021b 1.6.13 iimpi/2021b"},{"location":"version-specific/supported-software/#wpebackend-fdo","title":"wpebackend-fdo","text":"

                    WPE WebKit allows embedders to create simple and performant systems based on Web platform technologies. It is a WebKit port designed with flexibility and hardware acceleration in mind, leveraging common 3D graphics APIs for best performance.

                    homepage: https://wpewebkit.org/

                    version toolchain 1.13.1 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#wps","title":"WPS","text":"

                    WRF Preprocessing System (WPS) for WRF. The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale numerical weather prediction system designed to serve both operational forecasting and atmospheric research needs.

                    homepage: http://www.wrf-model.org

                    version versionsuffix toolchain 3.8.0 -dmpar intel/2016a 3.9.1 -dmpar foss/2020b 4.0.1 -dmpar intel/2018b 4.0.2 -dmpar foss/2018b 4.1 -dmpar intel/2019b 4.2 -dmpar foss/2020b 4.3.1 -dmpar foss/2021a 4.4 -dmpar foss/2022a"},{"location":"version-specific/supported-software/#wrapt","title":"wrapt","text":"

                    The aim of the wrapt module is to provide a transparent object proxy for Python, which can be used as the basis for the construction of function wrappers and decorator functions.

                    homepage: https://pypi.org/project/wrapt/

                    version toolchain 1.15.0 foss/2022a, intel/2022a"},{"location":"version-specific/supported-software/#wrf","title":"WRF","text":"

                    The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale numerical weather prediction system designed to serve both operational forecasting and atmospheric research needs.

                    homepage: https://www.wrf-model.org

                    version versionsuffix toolchain 3.8.0 -dmpar intel/2016a, intel/2016b 3.9.1.1 -dmpar foss/2020a, foss/2020b, intel/2020a, intel/2020b 4.0.1 -dmpar intel/2018b 4.0.2 -dmpar foss/2018b 4.1.3 -dm+sm intel/2019b 4.1.3 -dmpar foss/2019b, foss/2020a, intel/2019b 4.2.2 -dmpar foss/2020b 4.3 -dmpar foss/2021a 4.4 -dmpar foss/2022a 4.4.1 -dmpar foss/2022b"},{"location":"version-specific/supported-software/#wrf-fire","title":"WRF-Fire","text":"

                    WRF-Fire combines the Weather Research and Forecasting model (WRF) with a fire code implementing a surface fire behavior model, called SFIRE, based on semi-empirical formulas calculate the rate of spread of the fire line (the interface between burning and unignited fuel) based on fuel properties, wind velocities from WRF, and terrain slope. The fire spread is implemented by the level set method.

                    homepage: http://www.openwfm.org/wiki/WRF-SFIRE

                    version versionsuffix toolchain 20170221 -dmpar intel/2016b"},{"location":"version-specific/supported-software/#wrf-python","title":"wrf-python","text":"

                    A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model.

                    homepage: https://wrf-python.readthedocs.io

                    version versionsuffix toolchain 1.2.0 -Python-3.6.4 intel/2018a 1.3.1 -Python-3.6.6 intel/2018b"},{"location":"version-specific/supported-software/#wtdbg2","title":"wtdbg2","text":"

                    Wtdbg2 is a de novo sequence assembler for long noisy reads produced by PacBio or Oxford Nanopore Technologies (ONT). It assembles raw reads without error correction and then builds the consensus from intermediate assembly output.

                    homepage: https://github.com/ruanjue/wtdbg2

                    version toolchain 2.3 GCC/7.3.0-2.30 2.5 GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#wxpropertygrid","title":"wxPropertyGrid","text":"

                    wxPropertyGrid is a property sheet control for wxWidgets. In other words, it is a specialized two-column grid for editing properties such as strings, numbers, flagsets, string arrays, and colours.

                    homepage: http://wxpropgrid.sourceforge.net/

                    version toolchain 1.4.15 GCC/4.9.2"},{"location":"version-specific/supported-software/#wxpython","title":"wxPython","text":"

                    Wraps the wxWidgets C++ toolkit and provides access to the user interface portions of the wxWidgets API, enabling Python applications to have a native GUI on Windows, Macs or Unix systems, with a native look and feel and requiring very little (if any) platform specific code.

                    homepage: https://www.wxpython.org/

                    version versionsuffix toolchain 3.0.2.0 -Python-2.7.11 foss/2016a, intel/2016a 3.0.2.0 -Python-2.7.12 intel/2016b 3.0.2.0 -Python-2.7.13 intel/2017a 3.0.2.0 -Python-2.7.14 intel/2017b 3.0.2.0 -Python-2.7.15 foss/2018b 4.0.4 -Python-2.7.15 GCC/8.2.0-2.31.1 4.0.4 -Python-3.7.2 GCC/8.2.0-2.31.1 4.0.7.post2 -Python-3.7.4 GCC/8.3.0 4.1.1 foss/2021a 4.2.0 foss/2021b"},{"location":"version-specific/supported-software/#wxwidgets","title":"wxWidgets","text":"

                    wxWidgets is a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. It has popular language bindings for Python, Perl, Ruby and many other languages, and unlike other cross-platform toolkits, wxWidgets gives applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI.

                    homepage: https://www.wxwidgets.org

                    version toolchain 3.0.3 foss/2018a 3.0.4 GCC/8.2.0-2.31.1 3.1.3 GCC/8.3.0 3.1.4 GCC/10.2.0 3.1.5 GCC/10.3.0, GCC/11.2.0 3.2.0 GCC/11.2.0 3.2.1 GCC/11.3.0 3.2.2.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#x","title":"X","text":"

                    X11 - x13as - x264 - x265 - XALT - xarray - xbitmaps - xcb-proto - xcb-util - xcb-util-image - xcb-util-keysyms - xcb-util-renderutil - xcb-util-wm - xCell - XCFun - xclip - XCrySDen - xdotool - Xerces-C++ - xESMF - xextproto - xf86vidmodeproto - XGBoost - XGrafix - xineramaproto - XKeyboardConfig - XlsxWriter - XMDS2 - Xmipp - xmitgcm - XML-Compile - XML-LibXML - XML-Parser - xmlf90 - XMLSec - XMLStarlet - xonsh - xorg-macros - XPLOR-NIH - xprop - xproto - XSD - XTandem - xtb - xtensor - xtrans - Xvfb - xxd - xxHash - XZ

                    "},{"location":"version-specific/supported-software/#x11","title":"X11","text":"

                    The X Window System (X11) is a windowing system for bitmap displays

                    homepage: https://www.x.org

                    version toolchain 20160819 GCCcore/5.4.0, foss/2016b, intel/2016b 20170129 GCCcore/6.3.0, gimkl/2017a 20170314 GCCcore/6.3.0 20171023 GCCcore/6.4.0 20180131 GCCcore/6.4.0 20180604 GCCcore/7.3.0 20190311 GCCcore/8.2.0 20190717 GCCcore/8.3.0 20200222 GCCcore/9.3.0 20201008 GCCcore/10.2.0 20210518 GCCcore/10.3.0 20210802 GCCcore/11.2.0 20220504 GCCcore/11.3.0 20221110 GCCcore/12.2.0 20230603 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#x13as","title":"x13as","text":"

                    X-13ARIMA-SEATS is seasonal adjustment software produced, distributed, and maintained by the Census Bureau. Features of X-13ARIMA-SEATS include: - Extensive time series modeling and model selection capabilities for linear regression models with ARIMA errors (regARIMA models); - The capability to generate ARIMA model-based seasonal adjustment using a version of the SEATS software originally developed by Victor G\u00f3mez and Agust\u00edn Maravall at the Bank of Spain, as well as nonparametric adjustments from the X-11 procedure; - Diagnostics of the quality and stability of the adjustments achieved under the options selected; - The ability to efficiently process many series at once.

                    homepage: https://www.census.gov/data/software/x13as.About_X-13.html

                    version toolchain 1-1-b59 GCCcore/10.2.0, GCCcore/11.2.0"},{"location":"version-specific/supported-software/#x264","title":"x264","text":"

                    x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format, and is released under the terms of the GNU GPL.

                    homepage: https://www.videolan.org/developers/x264.html

                    version toolchain 20160114 gimkl/2.11.5, intel/2016a 20160430 foss/2016a, intel/2016a 20160614 foss/2016b, intel/2016b 20170406 gimkl/2017a 20170721 GCCcore/6.4.0 20170913 intel/2017a 20171217 foss/2017b, intel/2017b 20180128 GCCcore/6.4.0 20180325 GCCcore/6.4.0 20181203 GCCcore/7.3.0 20190413 GCCcore/8.2.0 20190925 GCCcore/8.3.0 20191217 GCCcore/9.3.0 20201026 GCCcore/10.2.0 20210414 GCCcore/10.3.0 20210613 GCCcore/11.2.0 20220620 GCCcore/11.3.0 20230226 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#x265","title":"x265","text":"

                    x265 is a free software library and application for encoding video streams into the H.265 AVC compression format, and is released under the terms of the GNU GPL.

                    homepage: https://x265.org/

                    version toolchain 2.4 foss/2016b 2.5 intel/2017a 2.6 GCCcore/6.4.0, intel/2017b 2.7 GCCcore/6.4.0 2.9 GCCcore/7.3.0 3.0 GCCcore/8.2.0 3.2 GCCcore/8.3.0 3.3 GCCcore/10.2.0, GCCcore/9.3.0 3.5 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xalt","title":"XALT","text":"

                    XALT 2 is a tool to allow a site to track user executables and library usage on a cluster. When installed it can tell a site what are the top executables by Node-Hours or by the number of users or the number of times it is run. XALT 2 also tracks library usage as well. XALT 2 can also track package use by R, MATLAB or Python. It tracks both MPI and non-MPI programs.

                    homepage: https://github.com/xalt/xalt

                    version toolchain 2.8.4 system"},{"location":"version-specific/supported-software/#xarray","title":"xarray","text":"

                    xarray (formerly xray) is an open source project and Python package that aims to bring the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the core pandas data structures.

                    homepage: https://github.com/pydata/xarray

                    version versionsuffix toolchain 0.9.5 -Python-2.7.13 intel/2017a 0.9.5 -Python-3.6.1 intel/2017a 0.9.6 -Python-2.7.13 intel/2017a 0.10.0 -Python-2.7.14 intel/2017b 0.10.0 -Python-3.6.3 intel/2017b 0.10.3 -Python-3.6.4 intel/2018a 0.10.4 -Python-3.6.4 intel/2018a 0.10.8 -Python-3.6.4 intel/2018a 0.12.1 -Python-3.6.6 foss/2018b, intel/2018b 0.13.0 -Python-3.7.2 intel/2019a 0.15.1 -Python-3.7.4 foss/2019b, intel/2019b 0.16.1 -Python-3.8.2 foss/2020a, intel/2020a 0.16.2 foss/2020b, fosscuda/2020b, intel/2020b 0.19.0 foss/2021a 0.20.1 foss/2021b, intel/2021b 2022.6.0 foss/2022a, intel/2022a 2022.9.0 foss/2022a 2023.4.2 gfbf/2022b"},{"location":"version-specific/supported-software/#xbitmaps","title":"xbitmaps","text":"

                    provides bitmaps for x

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.1.1 foss/2016a, intel/2016a, system 1.1.2 system"},{"location":"version-specific/supported-software/#xcb-proto","title":"xcb-proto","text":"

                    The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.

                    homepage: https://xcb.freedesktop.org/

                    version toolchain 1.11 system 1.13 system"},{"location":"version-specific/supported-software/#xcb-util","title":"xcb-util","text":"

                    The xcb-util package provides additional extensions to the XCB library, many that were previously found in Xlib, but are not part of core X protocol

                    homepage: http://xcb.freedesktop.org/

                    version toolchain 0.4.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcb-util-image","title":"xcb-util-image","text":"

                    The xcb-util-image package provides additional extensions to the XCB library.

                    homepage: http://xcb.freedesktop.org/

                    version toolchain 0.4.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcb-util-keysyms","title":"xcb-util-keysyms","text":"

                    The xcb-util-keysyms package contains a library for handling standard X key constants and conversion to/from keycodes.

                    homepage: http://xcb.freedesktop.org/

                    version toolchain 0.4.0 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcb-util-renderutil","title":"xcb-util-renderutil","text":"

                    The xcb-util-renderutil package provides additional extensions to the XCB library.

                    homepage: http://xcb.freedesktop.org/

                    version toolchain 0.3.9 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcb-util-wm","title":"xcb-util-wm","text":"

                    The xcb-util-wm package contains libraries which provide client and window-manager helpers for EWMH and ICCCM.

                    homepage: http://xcb.freedesktop.org/

                    version toolchain 0.4.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xcell","title":"xCell","text":"

                    xCell is a gene signatures-based method learned from thousands of pure cell types from various sources.

                    homepage: https://github.com/dviraran/xCell

                    version versionsuffix toolchain 1.12 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#xcfun","title":"XCFun","text":"

                    XCFun is a library of DFT exchange-correlation (XC) functionals. It is based on automatic differentiation and can therefore generate arbitrary order derivatives of these functionals.

                    homepage: http://dftlibs.org/xcfun/

                    version versionsuffix toolchain 2.1.0 GCCcore/9.3.0 2.1.1 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0 20180122 -Python-2.7.14 intel/2017b 20190127 -Python-3.7.2 foss/2019a"},{"location":"version-specific/supported-software/#xclip","title":"xclip","text":"

                    xclip is a command line utility that is designed to run on any system with an X11 implementation.

                    homepage: https://github.com/astrand/xclip

                    version toolchain 0.13 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xcrysden","title":"XCrySDen","text":"

                    XCrySDen is a crystalline and molecular structure visualisation program aiming at display of isosurfaces and contours, which can be superimposed on crystalline structures and interactively rotated and manipulated. It also possesses some tools for analysis of properties in reciprocal space such as interactive selection of k-paths in the Brillouin zone for the band-structure plots, and visualisation of Fermi surfaces.

                    homepage: http://www.xcrysden.org/

                    version toolchain 1.5.60 intel/2019a 1.6.2 foss/2019b, foss/2020b, foss/2022a, intel/2019b, intel/2022a"},{"location":"version-specific/supported-software/#xdotool","title":"xdotool","text":"

                    xdotool lets you simulate keyboard input and mouse activity, move and resize windows, etc. It does this using X11\u2019s XTEST extension and other Xlib functions.

                    homepage: https://github.com/jordansissel/xdotool

                    version toolchain 3.20211022.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xerces-c","title":"Xerces-C++","text":"

                    Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs.

                    homepage: https://xerces.apache.org/xerces-c/

                    version toolchain 3.1.4 GCCcore/6.4.0 3.2.0 GCCcore/7.3.0 3.2.2 GCCcore/8.2.0, GCCcore/8.3.0 3.2.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/9.3.0 3.2.4 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#xesmf","title":"xESMF","text":"

                    xESMF: Universal Regridder for Geospatial Data

                    homepage: https://xesmf.readthedocs.io

                    version versionsuffix toolchain 0.3.0 intel/2020b 0.3.0 -Python-3.8.2 foss/2020a"},{"location":"version-specific/supported-software/#xextproto","title":"xextproto","text":"

                    XExtProto protocol headers.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 7.3.0 foss/2016a, gimkl/2.11.5, intel/2016a, intel/2017b"},{"location":"version-specific/supported-software/#xf86vidmodeproto","title":"xf86vidmodeproto","text":"

                    X11 XFree86 video mode extension protocol headers.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 2.3.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xgboost","title":"XGBoost","text":"

                    XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable.

                    homepage: https://github.com/dmlc/xgboost

                    version versionsuffix toolchain 0.6a2 -Python-2.7.12 intel/2016b 0.6a2 -Python-3.5.2 intel/2016b 0.6a2 -Python-3.6.1 intel/2017a 0.72.1 -Python-2.7.14 intel/2017b 0.90 -Python-3.7.4 foss/2019b 1.2.0 -Python-3.8.2 foss/2020a 1.5.0 foss/2021a 1.7.1 foss/2022a 1.7.2 foss/2022a 1.7.2 -CUDA-11.7.0 foss/2022a 20171120 -Java-1.8.0_152 intel/2017b"},{"location":"version-specific/supported-software/#xgrafix","title":"XGrafix","text":"

                    A graphics library and controller for physics simulation programs. 3-d surface plots, scatter plots, 2-d line plots.

                    homepage: https://ptsg.egr.msu.edu/

                    version toolchain 2.41 GCCcore/9.3.0"},{"location":"version-specific/supported-software/#xineramaproto","title":"xineramaproto","text":"

                    X protocol and ancillary headers for xinerama

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.2.1 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xkeyboardconfig","title":"XKeyboardConfig","text":"

                    The non-arch keyboard configuration database for X Window. The goal is to provide the consistent, well-structured, frequently released open source of X keyboard configuration data for X Window System implementations (free, open source and commercial). The project is targeted to XKB-based systems.

                    homepage: http://www.freedesktop.org/wiki/Software/XKeyboardConfig/

                    version toolchain 2.17 foss/2016a, intel/2016a"},{"location":"version-specific/supported-software/#xlsxwriter","title":"XlsxWriter","text":"

                    A Python module for creating Excel XLSX files

                    homepage: https://xlsxwriter.readthedocs.io/

                    version toolchain 1.4.0 GCCcore/10.2.0 1.4.4 GCCcore/10.3.0 3.0.2 GCCcore/11.2.0 3.0.8 GCCcore/11.3.0 3.1.2 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xmds2","title":"XMDS2","text":"

                    The purpose of XMDS2 is to simplify the process of creating simulations that solve systems of initial-value first-order partial and ordinary differential equations.

                    homepage: http://www.xmds.org/

                    version versionsuffix toolchain 2.2.3 -Python-2.7.15 foss/2018b"},{"location":"version-specific/supported-software/#xmipp","title":"Xmipp","text":"

                    Scipion is an image processing framework to obtain 3D models of macromolecular complexes using Electron Microscopy (3DEM). It integrates several software packages and presents an unified interface for both biologists and developers. Scipion allows to execute workflows combining different software tools, while taking care of formats and conversions. Additionally, all steps are tracked and can be reproduced later on.

                    homepage: https://github.com/I2PC/scipion/wiki

                    version versionsuffix toolchain 3.19.04-Apollo -Python-2.7.15 foss/2019a, fosscuda/2019a 3.22.07-Helios foss/2022a 3.22.07-Helios -CUDA-11.7.0 foss/2022a"},{"location":"version-specific/supported-software/#xmitgcm","title":"xmitgcm","text":"

                    xmitgcm is a python package for reading MITgcm binary MDS files into xarray data structures. By storing data in dask arrays, xmitgcm enables parallel, out-of-core analysis of MITgcm output data.

                    homepage: https://github.com/MITgcm/xmitgcm

                    version toolchain 0.5.2 foss/2022a"},{"location":"version-specific/supported-software/#xml-compile","title":"XML-Compile","text":"

                    Perl module for compilation based XML processing

                    homepage: https://metacpan.org/pod/XML::Compile

                    version toolchain 1.63 GCCcore/11.2.0"},{"location":"version-specific/supported-software/#xml-libxml","title":"XML-LibXML","text":"

                    Perl binding for libxml2

                    homepage: https://metacpan.org/pod/distribution/XML-LibXML/LibXML.pod

                    version versionsuffix toolchain 2.0132 -Perl-5.24.0 foss/2016b, intel/2016b 2.0132 -Perl-5.24.1 intel/2017a 2.0132 -Perl-5.26.0 foss/2017b, intel/2017b 2.0132 -Perl-5.26.1 GCCcore/6.4.0 2.0132 -Perl-5.28.0 GCCcore/7.3.0 2.0200 -Perl-5.28.1 GCCcore/8.2.0 2.0201 GCCcore/8.3.0 2.0205 GCCcore/9.3.0 2.0206 GCCcore/10.2.0 2.0207 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0 2.0208 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xml-parser","title":"XML-Parser","text":"

                    This is a Perl extension interface to James Clark's XML parser, expat.

                    homepage: https://search.cpan.org/~toddr/XML-Parser-2.46/

                    version versionsuffix toolchain 2.41 -Perl-5.20.3 intel/2016a 2.44 -Perl-5.22.1 foss/2016a, intel/2016a 2.44_01 -Perl-5.24.0 GCCcore/4.9.3, GCCcore/5.4.0, foss/2016b, gimkl/2017a, intel/2016b 2.44_01 -Perl-5.24.1 GCCcore/6.3.0, intel/2017a 2.44_01 -Perl-5.26.0 GCCcore/6.4.0 2.44_01 -Perl-5.26.1 GCCcore/6.4.0 2.44_01 -Perl-5.28.0 GCCcore/7.3.0 2.46 -Perl-5.32.1 GCCcore/10.3.0 2.46 -Perl-5.34.1 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xmlf90","title":"xmlf90","text":"

                    A fast XML parser and generator in Fortran

                    homepage: https://gitlab.com/siesta-project/libraries/xmlf90

                    version toolchain 1.5.3 foss/2016b, foss/2017a 1.5.4 GCC/10.2.0, GCC/10.3.0, GCC/11.2.0, iccifort/2019.5.281, iccifort/2020.4.304, intel-compilers/2021.2.0, intel-compilers/2021.4.0 1.5.6 GCC/11.3.0"},{"location":"version-specific/supported-software/#xmlsec","title":"XMLSec","text":"

                    XML Security Library is a C library based on LibXML2, supporting major XML security standards.

                    homepage: https://www.aleksey.com/xmlsec/index.html

                    version toolchain 1.2.26 GCCcore/6.4.0"},{"location":"version-specific/supported-software/#xmlstarlet","title":"XMLStarlet","text":"

                    Command line XML tool

                    homepage: http://xmlstar.sourceforge.net

                    version toolchain 1.6.1 GCCcore/6.4.0, foss/2016a"},{"location":"version-specific/supported-software/#xonsh","title":"xonsh","text":"

                    Xonsh is a Python-ish, BASHwards-looking shell language and command prompt.

                    homepage: https://xon.sh/

                    version toolchain 0.3.2 intel/2016a"},{"location":"version-specific/supported-software/#xorg-macros","title":"xorg-macros","text":"

                    X.org macros utilities.

                    homepage: https://gitlab.freedesktop.org/xorg/util/macros

                    version toolchain 1.19.0 foss/2016a, foss/2016b, gimkl/2.11.5, intel/2016a, intel/2016b 1.19.1 GCCcore/6.3.0, GCCcore/6.4.0 1.19.2 GCCcore/10.2.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0, GCCcore/9.3.0 1.19.3 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0 1.20.0 GCCcore/12.3.0"},{"location":"version-specific/supported-software/#xplor-nih","title":"XPLOR-NIH","text":"

                    A System for X-ray Crystallography and NMR

                    homepage: https://nmr.cit.nih.gov/xplor-nih/

                    version versionsuffix toolchain 3.4 -Linux_x86_64 system"},{"location":"version-specific/supported-software/#xprop","title":"xprop","text":"

                    The xprop utility is for displaying window and font properties in an X server. One window or font is selected using the command line arguments or possibly in the case of a window, by clicking on the desired window. A list of properties is then given, possibly with formatting information.

                    homepage: https://www.x.org/wiki/

                    version versionsuffix toolchain 1.2.2 GCCcore/5.4.0, GCCcore/6.4.0, foss/2016a, foss/2016b, intel/2016a, intel/2016b, intel/2017a 1.2.2 -X11-20180131 GCCcore/6.4.0 1.2.3 GCCcore/7.3.0 1.2.4 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 1.2.5 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xproto","title":"xproto","text":"

                    X protocol and ancillary headers

                    homepage: https://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 7.0.28 foss/2016a, gimkl/2.11.5, intel/2016a 7.0.29 intel/2016a 7.0.31 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#xsd","title":"XSD","text":"

                    CodeSynthesis XSD is an open-source, cross-platform W3C XML Schema to C++ data binding compiler.

                    homepage: https://www.codesynthesis.com/products/xsd/

                    version toolchain 4.0.0 GCCcore/8.2.0"},{"location":"version-specific/supported-software/#xtandem","title":"XTandem","text":"

                    X!Tandem open source is software that can match tandem mass spectra with peptide sequences, in a process that has come to be known as protein identification.

                    homepage: https://www.thegpm.org/tandem

                    version toolchain 17.02.01.4 GCC/6.4.0-2.28, iccifort/2017.4.196-GCC-6.4.0-2.28"},{"location":"version-specific/supported-software/#xtb","title":"xtb","text":"

                    xtb - An extended tight-binding semi-empirical program package.

                    homepage: https://xtb-docs.readthedocs.io

                    version versionsuffix toolchain 6.2.2-hotfix -Python-3.6.3 intel/2017b 6.2.3 foss/2019b 6.4.1 foss/2021b, intel/2021a 6.5.0 foss/2021b 6.5.1 foss/2022a"},{"location":"version-specific/supported-software/#xtensor","title":"xtensor","text":"

                    xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions.

                    homepage: https://github.com/xtensor-stack/xtensor

                    version toolchain 0.24.0 foss/2021b"},{"location":"version-specific/supported-software/#xtrans","title":"xtrans","text":"

                    xtrans includes a number of routines to make X implementations transport-independent; at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet.

                    homepage: http://www.freedesktop.org/wiki/Software/xlibs

                    version toolchain 1.3.5 GCCcore/11.3.0, foss/2016a, gimkl/2.11.5, intel/2016a"},{"location":"version-specific/supported-software/#xvfb","title":"Xvfb","text":"

                    Xvfb is an X server that can run on machines with no display hardware and no physical input devices. It emulates a dumb framebuffer using virtual memory.

                    homepage: https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml

                    version toolchain 1.20.8 GCCcore/8.2.0, GCCcore/8.3.0 1.20.9 GCCcore/10.2.0, GCCcore/9.3.0 1.20.11 GCCcore/10.3.0 1.20.13 GCCcore/11.2.0 21.1.3 GCCcore/11.3.0 21.1.6 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xxd","title":"xxd","text":"

                    xxd is part of the VIM package and this will only install xxd, not vim! xxd converts to/from hexdumps of binary files.

                    homepage: https://www.vim.org

                    version toolchain 8.2.4220 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#xxhash","title":"xxHash","text":"

                    xxHash is an extremely fast non-cryptographic hash algorithm, working at RAM speed limit.

                    homepage: https://cyan4973.github.io/xxHash

                    version toolchain 0.8.0 GCCcore/11.2.0 0.8.1 GCCcore/12.2.0"},{"location":"version-specific/supported-software/#xz","title":"XZ","text":"

                    xz: XZ utilities

                    homepage: https://tukaani.org/xz/

                    version versionsuffix toolchain 5.0.5 GCC/4.8.2 5.2.0 GCC/4.9.2 5.2.2 GCC/4.9.2, GCC/5.4.0-2.26, GCCcore/4.9.3, GCCcore/5.4.0, foss/2016.04, foss/2016a, foss/2016b, intel/2016a, intel/2016b 5.2.2 -gettext-0.19.7 foss/2016a, intel/2016a 5.2.3 GCCcore/6.3.0, GCCcore/6.4.0, gimkl/2017a 5.2.4 GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.2.0 5.2.5 GCCcore/10.1.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/9.3.0 5.2.7 GCCcore/12.2.0 5.4.2 GCCcore/12.3.0, GCCcore/13.1.0"},{"location":"version-specific/supported-software/#y","title":"Y","text":"

                    YACS - Yade - yaff - Yambo - yaml-cpp - YANK - YAPS - Yasm - YAXT - Yices - YODA

                    "},{"location":"version-specific/supported-software/#yacs","title":"YACS","text":"

                    YACS was created as a lightweight library to define and manage system configurations, such as those commonly found in software designed for scientific experimentation. These \"configurations\" typically cover concepts like hyperparameters used in training a machine learning model or configurable model hyperparameters, such as the depth of a convolutional neural network.

                    homepage: https://github.com/rbgirshick/yacs

                    version toolchain 0.1.8 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/8.3.0"},{"location":"version-specific/supported-software/#yade","title":"Yade","text":"

                    Yade is an extensible open-source framework for discrete numerical models, focused on Discrete Element Method. The computation parts are written in c++ using flexible object model, allowing independent implementation of new alogrithms and interfaces. Python is used for rapid and concise scene construction, simulation control, postprocessing and debugging.

                    homepage: https://yade-dem.org/doc/

                    version versionsuffix toolchain 1.20.0 -Python-2.7.11 foss/2016a, intel/2016a 2016.06a -Python-2.7.12 foss/2016b, intel/2016b 2017.01a -Python-2.7.12 intel/2016b 2018.02b -Python-2.7.14 intel/2018a"},{"location":"version-specific/supported-software/#yaff","title":"yaff","text":"

                    Yaff stands for 'Yet another force field'. It is a pythonic force-field code.

                    homepage: https://molmod.github.io/yaff/

                    version versionsuffix toolchain 1.0.develop.2.15 -Python-2.7.12-HDF5-1.8.18 intel/2016b 1.1.2 -Python-2.7.13 intel/2017a 1.1.3 -Python-2.7.13 intel/2017a 1.4.2 -Python-2.7.14 foss/2018a, intel/2017b, intel/2018a 1.4.2 -Python-3.6.3 intel/2017b 1.4.5 -Python-2.7.15 intel/2018b 1.5.0 -Python-2.7.15 intel/2018b 1.5.0 -Python-3.7.2 intel/2019a 1.6.0 foss/2020b 1.6.0 -Python-3.7.2 intel/2019a 1.6.0 -Python-3.7.4 foss/2019b, intel/2019b 1.6.0 -Python-3.8.2 foss/2020a, intel/2020a"},{"location":"version-specific/supported-software/#yambo","title":"Yambo","text":"

                    Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics. Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf.

                    homepage: http://www.yambo-code.org

                    version toolchain 3.4.2 intel/2016.02-GCC-4.9 5.0.4 intel/2021a"},{"location":"version-specific/supported-software/#yaml-cpp","title":"yaml-cpp","text":"

                    yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec

                    homepage: https://github.com/jbeder/yaml-cpp

                    version toolchain 0.6.3 GCCcore/8.3.0 0.7.0 GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0"},{"location":"version-specific/supported-software/#yank","title":"YANK","text":"

                    A GPU-accelerated Python framework for exploring algorithms for alchemical free energy calculations

                    homepage: http://getyank.org/

                    version versionsuffix toolchain 0.25.2 -Python-3.8.2 intel/2020a"},{"location":"version-specific/supported-software/#yaps","title":"YAPS","text":"

                    YAPS - Yet Another Positioning Solver

                    homepage: https://github.com/baktoft/yaps

                    version versionsuffix toolchain 1.1.0 -R-3.5.1 foss/2018b 1.1.0 -R-3.6.0 intel/2019a"},{"location":"version-specific/supported-software/#yasm","title":"Yasm","text":"

                    Yasm: Complete rewrite of the NASM assembler with BSD license

                    homepage: http://www.tortall.net/projects/yasm/

                    version toolchain 1.3.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/6.4.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0, foss/2016a, foss/2016b, foss/2017a, gimkl/2.11.5, gimkl/2017a, intel/2016a, intel/2016b, intel/2017a"},{"location":"version-specific/supported-software/#yaxt","title":"YAXT","text":"

                    Yet Another eXchange Tool

                    homepage: https://www.dkrz.de/redmine/projects/yaxt

                    version toolchain 0.5.1 intel/2016b, intel/2017a, intel/2017b 0.6.0 intel/2018a, intel/2018b, iomkl/2018b 0.6.2 foss/2018b, gompi/2019b, iimpi/2019b 0.9.0 gompi/2020b 0.9.1 gompi/2021a 0.9.2 iimpi/2021b 0.9.2.1 gompi/2021b"},{"location":"version-specific/supported-software/#yices","title":"Yices","text":"

                    Yices 2 is an SMT solver that decides the satisfiability of formulas containing uninterpreted function symbols with equality, real and integer arithmetic, bitvectors, scalar types, and tuples. Yices 2 supports both linear and nonlinear arithmetic.

                    homepage: https://yices.csl.sri.com/index.html

                    version toolchain 2.6.2 GCCcore/10.2.0"},{"location":"version-specific/supported-software/#yoda","title":"YODA","text":"

                    Yet more Objects for (High Energy Physics) Data Analysis

                    homepage: https://yoda.hepforge.org/

                    version toolchain 1.9.7 GCC/11.3.0"},{"location":"version-specific/supported-software/#z","title":"Z","text":"

                    Z3 - zarr - ZeroMQ - zfp - Zgoubi - ZIMPL - zingeR - Zip - zlib - zlib-ng - zlibbioc - Zopfli - ZPAQ - zsh - zstd

                    "},{"location":"version-specific/supported-software/#z3","title":"Z3","text":"

                    Z3 is a theorem prover from Microsoft Research.

                    homepage: https://github.com/Z3Prover/z3

                    version toolchain 4.8.9 GCCcore/8.3.0, GCCcore/9.3.0 4.8.10 GCCcore/10.2.0 4.8.11 GCCcore/10.3.0 4.8.12 GCCcore/11.2.0 4.8.16 GCCcore/11.3.0 4.10.2 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#zarr","title":"zarr","text":"

                    Zarr is a Python package providing an implementation of compressed, chunked, N-dimensional arrays, designed for use in parallel computing.

                    homepage: https://zarr.readthedocs.io/en/stable/

                    version versionsuffix toolchain 2.1.4 -Python-2.7.13 foss/2017a 2.4.0 -Python-3.8.2 foss/2020a 2.8.1 foss/2020b 2.10.1 foss/2021a 2.13.3 foss/2021b, foss/2022a"},{"location":"version-specific/supported-software/#zeromq","title":"ZeroMQ","text":"

                    ZeroMQ looks like an embeddable networking library but acts like a concurrency framework. It gives you sockets that carry atomic messages across various transports like in-process, inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fanout, pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous message-processing tasks. It has a score of language APIs and runs on most operating systems.

                    homepage: https://www.zeromq.org/

                    version toolchain 4.1.4 foss/2016a, intel/2016a 4.1.5 intel/2016b 4.2.0 foss/2016b, intel/2016b 4.2.2 foss/2017a, foss/2017b, fosscuda/2017b, intel/2017a, intel/2017b, intelcuda/2017b 4.2.5 foss/2018a, foss/2018b, fosscuda/2018b, intel/2018a, intel/2018b 4.3.2 GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0 4.3.3 GCCcore/10.2.0 4.3.4 GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0"},{"location":"version-specific/supported-software/#zfp","title":"zfp","text":"

                    zfp is a compressed format for representing multidimensional floating-point and integer arrays. zfp provides compressed-array classes that support high throughput read and write random access to individual array elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications that read and write large data sets to and from disk.

                    homepage: https://github.com/LLNL/zfp

                    version toolchain 0.5.5 GCCcore/10.2.0 1.0.0 GCCcore/10.3.0, GCCcore/11.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#zgoubi","title":"Zgoubi","text":"

                    Zgoubi is a ray-tracing code in use for charged particle beam dynamics simulations. It can simulate beam dynamics in a large variety of machines and optical systems.

                    homepage: https://zgoubi.sourceforge.io

                    version toolchain 6.0.2 GCCcore/10.3.0"},{"location":"version-specific/supported-software/#zimpl","title":"ZIMPL","text":"

                    ZIMPL is a little language to translate the mathematical model of a problem into a linear or nonlinear (mixed-) integer mathematical program expressed in .lp or .mps file format which can be read and (hopefully) solved by a LP or MIP solver.

                    homepage: https://zimpl.zib.de/

                    version toolchain 3.3.4 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#zinger","title":"zingeR","text":"

                    Zero-Inflated Negative binomial Gene Expression in R

                    homepage: https://github.com/statOmics/zingeR

                    version versionsuffix toolchain 20180131 -R-3.5.1 foss/2018b"},{"location":"version-specific/supported-software/#zip","title":"Zip","text":"

                    Zip is a compression and file packaging/archive utility. Although highly compatible both with PKWARE's PKZIP and PKUNZIP utilities for MS-DOS and with Info-ZIP's own UnZip, our primary objectives have been portability and other-than-MSDOS functionality

                    homepage: http://www.info-zip.org/Zip.html

                    version toolchain 3.0 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.2.0, GCCcore/11.3.0, GCCcore/12.2.0, GCCcore/12.3.0, GCCcore/7.3.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/9.3.0"},{"location":"version-specific/supported-software/#zlib","title":"zlib","text":"

                    zlib is designed to be a free, general-purpose, legally unencumbered -- that is, not covered by any patents -- lossless data-compression library for use on virtually any computer hardware and operating system.

                    homepage: http://www.zlib.net/

                    version toolchain 1.2.7 GCC/4.8.1, GCC/4.8.2 1.2.8 GCC/4.8.2, GCC/4.8.3, GCC/4.8.4, GCC/4.9.2, GCC/4.9.2-binutils-2.25, GCC/4.9.3, GCC/4.9.3-2.25, GCC/4.9.3-binutils-2.25, GCC/5.1.0-binutils-2.25, GCCcore/4.9.2, GCCcore/4.9.3, GCCcore/4.9.4, GCCcore/5.3.0, GCCcore/5.4.0, GCCcore/6.1.0, GCCcore/6.2.0, GCCcore/6.3.0, GNU/4.9.3-2.25, foss/2016.04, foss/2016a, gimkl/2.11.5, intel/2016.02-GCC-4.9, intel/2016a, intel/2016b, intel/2017.01, iomkl/2016.07, iomkl/2016.09-GCC-4.9.3-2.25, system 1.2.10 system 1.2.11 FCC/4.5.0, GCCcore/10.1.0, GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.1.0, GCCcore/11.2.0, GCCcore/5.4.0, GCCcore/5.5.0, GCCcore/6.3.0, GCCcore/6.4.0, GCCcore/7.1.0, GCCcore/7.2.0, GCCcore/7.3.0, GCCcore/7.4.0, GCCcore/8.1.0, GCCcore/8.2.0, GCCcore/8.3.0, GCCcore/8.4.0, GCCcore/9.1.0, GCCcore/9.2.0, GCCcore/9.3.0, GCCcore/9.4.0, GCCcore/system, gimkl/2017a, system 1.2.12 GCCcore/11.3.0, GCCcore/12.1.0, GCCcore/12.2.0, GCCcore/9.5.0, system 1.2.13 GCCcore/11.4.0, GCCcore/12.3.0, GCCcore/13.1.0, system"},{"location":"version-specific/supported-software/#zlib-ng","title":"zlib-ng","text":"

                    zlib data compression library for the next generation systems

                    homepage: https://github.com/zlib-ng/zlib-ng

                    version toolchain 2.0.5 GCCcore/10.2.0 2.0.6 GCCcore/10.3.0 2.0.7 GCCcore/11.3.0"},{"location":"version-specific/supported-software/#zlibbioc","title":"zlibbioc","text":"

                    This package uses the source code of zlib-1.2.5 to create libraries for systems that do not have these available via other means.

                    homepage: https://bioconductor.org/packages/release/bioc/html/zlibbioc.html

                    version versionsuffix toolchain 1.18.0 -R-3.2.3 intel/2016a 1.20.0 -R-3.3.1 intel/2016b"},{"location":"version-specific/supported-software/#zopfli","title":"Zopfli","text":"

                    Zopfli Compression Algorithm is a compression library programmed in C to perform very good, but slow, deflate or zlib compression.

                    homepage: https://github.com/google/zopfli

                    version toolchain 1.0.3 GCCcore/10.2.0, GCCcore/10.3.0, GCCcore/11.3.0"},{"location":"version-specific/supported-software/#zpaq","title":"ZPAQ","text":"

                    zpaq is a free and open source (GPL v3) incremental, journaling command-line archiver for Windows, Linux and Mac OS/X

                    homepage: http://mattmahoney.net/dc/zpaq.html

                    version toolchain 7.00 GCC/4.8.2"},{"location":"version-specific/supported-software/#zsh","title":"zsh","text":"

                    Zsh is a shell designed for interactive use, although it is also a powerful scripting language.

                    homepage: https://www.zsh.org/

                    version toolchain 5.1.1 GNU/4.9.3-2.25 5.2 foss/2016b 5.8 GCC/8.3.0, system 5.9 system"},{"location":"version-specific/supported-software/#zstd","title":"zstd","text":"

                    Zstandard is a real-time compression algorithm, providing high compression ratios. It offers a very wide range of compression/speed trade-off, while being backed by a very fast decoder. It also offers a special mode for small data, called dictionary compression, and can create dictionaries from any sample set.

                    homepage: https://facebook.github.io/zstd

                    version toolchain 1.3.4 foss/2016b 1.4.0 GCCcore/7.3.0, GCCcore/8.2.0, foss/2018b 1.4.4 GCCcore/8.3.0, GCCcore/9.3.0 1.4.5 GCCcore/10.2.0 1.4.9 GCCcore/10.3.0 1.5.0 GCCcore/11.2.0 1.5.2 GCCcore/11.3.0, GCCcore/12.2.0 1.5.5 GCCcore/12.3.0"},{"location":"version-specific/toolchain-opts/","title":"Available toolchain options (by toolchain)","text":"

                    (see also eb --avail-toolchain-opts <tcname> )

                    cgmpich - cgmpolf - cgmvapich2 - cgmvolf - cgompi - cgoolf - ClangGCC - CrayCCE - CrayGNU - CrayIntel - CrayPGI - FCC - ffmpi - foss - fosscuda - Fujitsu - GCC - GCCcore - gcccuda - gfbf - gimkl - gimpi - gimpic - giolf - giolfc - gmacml - gmkl - gmklc - gmpich2 - gmpich - gmpit - gmpolf - gmvapich2 - gmvolf - GNU - goalf - gobff - goblf - gofbf - golf - golfc - gomkl - gomklc - gompi - gompic - goolf - goolfc - gpsmpi - gpsolf - gqacml - gsmpi - gsolf - iccifort - iccifortcuda - ictce - iibff - iimkl - iimklc - iimpi - iimpic - iiqmpi - impich - impmkl - intel-compilers - intel-para - intel - intelcuda - iomkl - iomklc - iompi - iompic - ipsmpi - iqacml - ismkl - NVHPC - nvofbf - nvompi - nvompic - nvpsmpi - nvpsmpic - PGI - pmkl - pomkl - pompi - system - xlcxlf - xlmpich2 - xlmpich - xlmvapich2 - xlompi

                    "},{"location":"version-specific/toolchain-opts/#cgmpich","title":"cgmpich","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgmpich-toolchain","title":"Available options for cgmpich toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgmpolf","title":"cgmpolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgmpolf-toolchain","title":"Available options for cgmpolf toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgmvapich2","title":"cgmvapich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgmvapich2-toolchain","title":"Available options for cgmvapich2 toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgmvolf","title":"cgmvolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgmvolf-toolchain","title":"Available options for cgmvolf toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgompi","title":"cgompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgompi-toolchain","title":"Available options for cgompi toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#cgoolf","title":"cgoolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-cgoolf-toolchain","title":"Available options for cgoolf toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#clanggcc","title":"ClangGCC","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-clanggcc-toolchain","title":"Available options for ClangGCC toolchain","text":"option description default 32bit Compile 32bit target False basic-block-vectorize Basic block vectorization False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop-vectorize Loop vectorization False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#craycce","title":"CrayCCE","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-craycce-toolchain","title":"Available options for CrayCCE toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False dynamic Generate dynamically linked executable True extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False mpich-mt Directs the driver to link in an alternate version of the Cray-MPICH library which provides fine-grained multi-threading support to applications that perform MPI operations within threaded regions. False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations False packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output True veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#craygnu","title":"CrayGNU","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-craygnu-toolchain","title":"Available options for CrayGNU toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False dynamic Generate dynamically linked executable True extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False mpich-mt Directs the driver to link in an alternate version of the Cray-MPICH library which provides fine-grained multi-threading support to applications that perform MPI operations within threaded regions. False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations False packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output True veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#crayintel","title":"CrayIntel","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-crayintel-toolchain","title":"Available options for CrayIntel toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False dynamic Generate dynamically linked executable True extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False mpich-mt Directs the driver to link in an alternate version of the Cray-MPICH library which provides fine-grained multi-threading support to applications that perform MPI operations within threaded regions. False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations False packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output True veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#craypgi","title":"CrayPGI","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-craypgi-toolchain","title":"Available options for CrayPGI toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False dynamic Generate dynamically linked executable True extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False mpich-mt Directs the driver to link in an alternate version of the Cray-MPICH library which provides fine-grained multi-threading support to applications that perform MPI operations within threaded regions. False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations False packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output True veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#fcc","title":"FCC","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-fcc-toolchain","title":"Available options for FCC toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#ffmpi","title":"ffmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-ffmpi-toolchain","title":"Available options for ffmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#foss","title":"foss","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-foss-toolchain","title":"Available options for foss toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#fosscuda","title":"fosscuda","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-fosscuda-toolchain","title":"Available options for fosscuda toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#fujitsu","title":"Fujitsu","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-fujitsu-toolchain","title":"Available options for Fujitsu toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gcc","title":"GCC","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gcc-toolchain","title":"Available options for GCC toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gcccore","title":"GCCcore","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gcccore-toolchain","title":"Available options for GCCcore toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gcccuda","title":"gcccuda","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gcccuda-toolchain","title":"Available options for gcccuda toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gfbf","title":"gfbf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gfbf-toolchain","title":"Available options for gfbf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gimkl","title":"gimkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gimkl-toolchain","title":"Available options for gimkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gimpi","title":"gimpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gimpi-toolchain","title":"Available options for gimpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gimpic","title":"gimpic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gimpic-toolchain","title":"Available options for gimpic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#giolf","title":"giolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-giolf-toolchain","title":"Available options for giolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#giolfc","title":"giolfc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-giolfc-toolchain","title":"Available options for giolfc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmacml","title":"gmacml","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmacml-toolchain","title":"Available options for gmacml toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmkl","title":"gmkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmkl-toolchain","title":"Available options for gmkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmklc","title":"gmklc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmklc-toolchain","title":"Available options for gmklc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmpich2","title":"gmpich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmpich2-toolchain","title":"Available options for gmpich2 toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmpich","title":"gmpich","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmpich-toolchain","title":"Available options for gmpich toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmpit","title":"gmpit","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmpit-toolchain","title":"Available options for gmpit toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmpolf","title":"gmpolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmpolf-toolchain","title":"Available options for gmpolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmvapich2","title":"gmvapich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmvapich2-toolchain","title":"Available options for gmvapich2 toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gmvolf","title":"gmvolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gmvolf-toolchain","title":"Available options for gmvolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gnu","title":"GNU","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gnu-toolchain","title":"Available options for GNU toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#goalf","title":"goalf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-goalf-toolchain","title":"Available options for goalf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gobff","title":"gobff","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gobff-toolchain","title":"Available options for gobff toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#goblf","title":"goblf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-goblf-toolchain","title":"Available options for goblf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gofbf","title":"gofbf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gofbf-toolchain","title":"Available options for gofbf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#golf","title":"golf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-golf-toolchain","title":"Available options for golf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#golfc","title":"golfc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-golfc-toolchain","title":"Available options for golfc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gomkl","title":"gomkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gomkl-toolchain","title":"Available options for gomkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gomklc","title":"gomklc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gomklc-toolchain","title":"Available options for gomklc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gompi","title":"gompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gompi-toolchain","title":"Available options for gompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gompic","title":"gompic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gompic-toolchain","title":"Available options for gompic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#goolf","title":"goolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-goolf-toolchain","title":"Available options for goolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#goolfc","title":"goolfc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-goolfc-toolchain","title":"Available options for goolfc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gpsmpi","title":"gpsmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gpsmpi-toolchain","title":"Available options for gpsmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gpsolf","title":"gpsolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gpsolf-toolchain","title":"Available options for gpsolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gqacml","title":"gqacml","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gqacml-toolchain","title":"Available options for gqacml toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gsmpi","title":"gsmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gsmpi-toolchain","title":"Available options for gsmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#gsolf","title":"gsolf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-gsolf-toolchain","title":"Available options for gsolf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None f2c Generate code compatible with f2c and f77 False i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loop Automatic loop parallellisation False loose Loose precision False lowopt Low compiler optimizations False lto Enable Link Time Optimization False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iccifort","title":"iccifort","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iccifort-toolchain","title":"Available options for iccifort toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iccifortcuda","title":"iccifortcuda","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iccifortcuda-toolchain","title":"Available options for iccifortcuda toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#ictce","title":"ictce","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-ictce-toolchain","title":"Available options for ictce toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iibff","title":"iibff","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iibff-toolchain","title":"Available options for iibff toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iimkl","title":"iimkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iimkl-toolchain","title":"Available options for iimkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iimklc","title":"iimklc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iimklc-toolchain","title":"Available options for iimklc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iimpi","title":"iimpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iimpi-toolchain","title":"Available options for iimpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iimpic","title":"iimpic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iimpic-toolchain","title":"Available options for iimpic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iiqmpi","title":"iiqmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iiqmpi-toolchain","title":"Available options for iiqmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#impich","title":"impich","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-impich-toolchain","title":"Available options for impich toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#impmkl","title":"impmkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-impmkl-toolchain","title":"Available options for impmkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#intel-compilers","title":"intel-compilers","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-intel-compilers-toolchain","title":"Available options for intel-compilers toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#intel-para","title":"intel-para","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-intel-para-toolchain","title":"Available options for intel-para toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#intel","title":"intel","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-intel-toolchain","title":"Available options for intel toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#intelcuda","title":"intelcuda","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-intelcuda-toolchain","title":"Available options for intelcuda toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iomkl","title":"iomkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iomkl-toolchain","title":"Available options for iomkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iomklc","title":"iomklc","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iomklc-toolchain","title":"Available options for iomklc toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iompi","title":"iompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iompi-toolchain","title":"Available options for iompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False oneapi Use oneAPI compilers icx/icpx/ifx instead of classic compilers None oneapi_c_cxx Use oneAPI C/C++ compilers icx/icpx instead of classic Intel C/C++ compilers (auto-enabled for Intel compilers version 2022.2.0, or newer) None oneapi_fortran Use oneAPI Fortran compiler ifx instead of classic Intel Fortran compiler False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iompic","title":"iompic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iompic-toolchain","title":"Available options for iompic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#ipsmpi","title":"ipsmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-ipsmpi-toolchain","title":"Available options for ipsmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#iqacml","title":"iqacml","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-iqacml-toolchain","title":"Available options for iqacml toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#ismkl","title":"ismkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-ismkl-toolchain","title":"Available options for ismkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False intel-static Link Intel provided libraries statically False loose Loose precision False lowopt Low compiler optimizations False no-icc Don't set Intel specific macros False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvhpc","title":"NVHPC","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvhpc-toolchain","title":"Available options for NVHPC toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvofbf","title":"nvofbf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvofbf-toolchain","title":"Available options for nvofbf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvompi","title":"nvompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvompi-toolchain","title":"Available options for nvompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvompic","title":"nvompic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvompic-toolchain","title":"Available options for nvompic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvpsmpi","title":"nvpsmpi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvpsmpi-toolchain","title":"Available options for nvpsmpi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#nvpsmpic","title":"nvpsmpic","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-nvpsmpic-toolchain","title":"Available options for nvpsmpic toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#pgi","title":"PGI","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-pgi-toolchain","title":"Available options for PGI toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#pmkl","title":"pmkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-pmkl-toolchain","title":"Available options for pmkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#pomkl","title":"pomkl","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-pomkl-toolchain","title":"Available options for pomkl toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#pompi","title":"pompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-pompi-toolchain","title":"Available options for pompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#system","title":"system","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-system-toolchain","title":"Available options for system toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlcxlf","title":"xlcxlf","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlcxlf-toolchain","title":"Available options for xlcxlf toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlmpich2","title":"xlmpich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlmpich2-toolchain","title":"Available options for xlmpich2 toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlmpich","title":"xlmpich","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlmpich-toolchain","title":"Available options for xlmpich toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlmvapich2","title":"xlmvapich2","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlmvapich2-toolchain","title":"Available options for xlmvapich2 toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchain-opts/#xlompi","title":"xlompi","text":""},{"location":"version-specific/toolchain-opts/#available-options-for-xlompi-toolchain","title":"Available options for xlompi toolchain","text":"option description default 32bit Compile 32bit target False cciscxx Use CC as CXX False cstd Specify C standard None debug Enable debug False defaultopt Default compiler optimizations False defaultprec Default precision False error-unknown-option Error instead of warning for unknown options False extra_cflags Specify extra CFLAGS options. None extra_cxxflags Specify extra CXXFLAGS options. None extra_f90flags Specify extra F90FLAGS options. None extra_fcflags Specify extra FCFLAGS options. None extra_fflags Specify extra FFLAGS options. None i8 Integers are 8 byte integers False ibm-static Link IBM XL provided libraries statically False ieee Adhere to IEEE-754 rules False loose Loose precision False lowopt Low compiler optimizations False noopt Disable compiler optimizations False openmp Enable OpenMP False opt High compiler optimizations False optarch Enable architecture optimizations True packed-linker-options Pack the linker options as comma separated list False pic Use PIC False precise High precision False r8 Real is 8 byte real False rpath Use RPATH wrappers when --rpath is enabled in EasyBuild configuration True shared Build shared library False static Build static library False strict Strict (highest) precision False unroll Unroll loops False usempi Use MPI compiler as default compiler False vectorize Enable compiler auto-vectorization, default except for noopt and lowopt None verbose Verbose output False veryloose Very loose precision False"},{"location":"version-specific/toolchains/","title":"List of known toolchains","text":"Name Compiler(s) MPI Linear algebra FFT cgmpich Clang, GCC MPICH (none) (none) cgmpolf Clang, GCC MPICH OpenBLAS, ScaLAPACK FFTW cgmvapich2 Clang, GCC MVAPICH2 (none) (none) cgmvolf Clang, GCC MVAPICH2 OpenBLAS, ScaLAPACK FFTW cgompi Clang, GCC OpenMPI (none) (none) cgoolf Clang, GCC OpenMPI OpenBLAS, ScaLAPACK FFTW ClangGCC Clang, GCC (none) (none) (none) CrayCCE PrgEnv-cray cray-mpich cray-libsci (none) CrayGNU PrgEnv-gnu cray-mpich cray-libsci (none) CrayIntel PrgEnv-intel cray-mpich cray-libsci (none) CrayPGI PrgEnv-pgi cray-mpich cray-libsci (none) FCC lang (none) (none) (none) ffmpi FCC (none) (none) (none) foss GCC OpenMPI OpenBLAS, ScaLAPACK FFTW fosscuda GCC, CUDA OpenMPI OpenBLAS, ScaLAPACK FFTW Fujitsu FCC (none) (none) FFTW GCC GCC (none) (none) (none) GCCcore GCCcore (none) (none) (none) gcccuda GCC, CUDA (none) (none) (none) gfbf GCC (none) FlexiBLAS FFTW gimkl GCC impi imkl imkl gimpi GCC impi (none) (none) gimpic GCC, CUDA impi (none) (none) giolf GCC impi OpenBLAS, ScaLAPACK FFTW giolfc GCC, CUDA impi OpenBLAS, ScaLAPACK FFTW gmacml GCC MVAPICH2 ACML, ScaLAPACK FFTW gmkl GCC (none) imkl imkl gmklc GCC, CUDA (none) imkl imkl gmpich GCC MPICH (none) (none) gmpich2 GCC MPICH2 (none) (none) gmpit GCC MPItrampoline (none) (none) gmpolf GCC MPICH OpenBLAS, ScaLAPACK FFTW gmvapich2 GCC MVAPICH2 (none) (none) gmvolf GCC MVAPICH2 OpenBLAS, ScaLAPACK FFTW GNU GCC (none) (none) (none) goalf GCC OpenMPI ATLAS, ScaLAPACK FFTW gobff GCC OpenMPI BLIS, libFLAME, ScaLAPACK FFTW goblf GCC OpenMPI BLIS, LAPACK, ScaLAPACK FFTW gofbf GCC OpenMPI FlexiBLAS, ScaLAPACK FFTW golf GCC (none) OpenBLAS FFTW golfc GCC, CUDA (none) OpenBLAS FFTW gomkl GCC OpenMPI imkl imkl gomklc GCC, CUDA OpenMPI imkl imkl gompi GCC OpenMPI (none) (none) gompic GCC, CUDA OpenMPI (none) (none) goolf GCC OpenMPI OpenBLAS, ScaLAPACK FFTW goolfc GCC, CUDA OpenMPI OpenBLAS, ScaLAPACK FFTW gpsmpi GCC psmpi (none) (none) gpsolf GCC psmpi OpenBLAS, ScaLAPACK FFTW gqacml GCC QLogicMPI ACML, ScaLAPACK FFTW gsmpi GCC SpectrumMPI (none) (none) gsolf GCC SpectrumMPI OpenBLAS, ScaLAPACK FFTW iccifort icc, ifort (none) (none) (none) iccifortcuda icc, ifort, CUDA (none) (none) (none) ictce icc, ifort impi imkl imkl iibff icc, ifort impi BLIS, libFLAME, ScaLAPACK FFTW iimkl icc, ifort (none) imkl imkl iimklc icc, ifort (none) imkl imkl iimpi icc, ifort impi (none) (none) iimpic icc, ifort, CUDA impi (none) (none) iiqmpi icc, ifort QLogicMPI (none) (none) impich icc, ifort MPICH (none) (none) impmkl icc, ifort MPICH imkl imkl intel icc, ifort impi imkl imkl intel-compilers intel-compilers (none) (none) (none) intel-para icc, ifort psmpi imkl imkl intelcuda icc, ifort, CUDA impi imkl imkl iomkl icc, ifort OpenMPI imkl imkl iomklc icc, ifort, CUDA OpenMPI imkl imkl iompi icc, ifort OpenMPI (none) (none) iompic icc, ifort, CUDA OpenMPI (none) (none) ipsmpi icc, ifort psmpi (none) (none) iqacml icc, ifort QLogicMPI ACML, ScaLAPACK FFTW ismkl icc, ifort MPICH2 imkl imkl NVHPC NVHPC (none) (none) (none) nvofbf NVHPC OpenMPI FlexiBLAS, ScaLAPACK FFTW nvompi NVHPC OpenMPI (none) (none) nvompic NVHPC OpenMPI (none) (none) nvpsmpi NVHPC psmpi (none) (none) nvpsmpic NVHPC psmpi (none) (none) PGI PGI (none) (none) (none) pmkl PGI (none) imkl imkl pomkl PGI OpenMPI imkl imkl pompi PGI OpenMPI (none) (none) system (none) (none) (none) (none) xlcxlf xlc, xlf (none) (none) (none) xlmpich xlc, xlf MPICH (none) (none) xlmpich2 xlc, xlf MPICH2 (none) (none) xlmvapich2 xlc, xlf MVAPICH2 (none) (none) xlompi xlc, xlf OpenMPI (none) (none)

                    (see also eb --list-toolchains )

                    "}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 22f5fc565..3dceedd89 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,1652 +2,1652 @@ https://docs.easybuild.io/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/archived-easyconfigs/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/backup-modules/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/changelog-docs/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/code-style/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/common-toolchains/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/configuration/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/containers/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/contributing/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/controlling-compiler-optimization-flags/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/cray-support/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/deprecated-easyconfigs/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/deprecated-functionality/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/detecting-loaded-modules/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/easyconfig-files-local-variables/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/easyconfigs-search-index/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/easystack-files/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/experimental-features/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/extended-dry-run/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/framework-overview/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/getting-help/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/hooks/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/implementing-easyblocks/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/including-additional-python-modules/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/installation-alternative/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/installation/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/installing-environment-modules-without-root-permissions/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/installing-extensions-in-parallel/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/installing-lmod-without-root-permissions/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/integration-with-github/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/locks/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/log-files/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/maintainers/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/manipulating-dependencies/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/packaging-support/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/partial-installations/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/progress-bars/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/python-2-3-compatibility/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/release-notes/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/removed-functionality/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/rpath-support/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/submitting-jobs/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/system-toolchain/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/terminology/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/tracing-progress/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/typical-workflow-example/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/unit-tests/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/useful-scripts/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/using-easybuild/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/using-external-modules/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/what-is-easybuild/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/wrapping-dependencies/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/writing-easyconfig-files/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/writing-yeb-easyconfig-files/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/main/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/base/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/base/exceptions/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/base/fancylogger/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/base/frozendict/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/base/generaloption/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/base/optcomplete/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/base/rest/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/base/testing/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/base/wrapper/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyblock/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easystack/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/extension/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/extensioneasyblock/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/constants/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/default/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/easyconfig/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/licenses/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/parser/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/style/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/templates/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/tools/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/tweak/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/types/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/format/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/format/convert/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/format/format/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/format/one/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/format/pyheaderconfigobj/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/format/two/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/format/version/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/framework/easyconfig/format/yeb/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/scripts/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/scripts/bootstrap_eb/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/scripts/clean_gists/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/scripts/findPythonDeps/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/scripts/fix_docs/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/scripts/mk_tmpl_easyblock_for/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/scripts/rpath_args/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/cgmpich/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/cgmpolf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/cgmvapich2/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/cgmvolf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/cgompi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/cgoolf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/clanggcc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/craycce/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/craygnu/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/crayintel/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/craypgi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/dummy/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/fcc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/ffmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/foss/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/fosscuda/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/fujitsu/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gcc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gcccore/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gcccuda/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gfbf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gimkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gimpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gimpic/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/giolf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/giolfc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gmacml/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gmkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gmklc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gmpich/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gmpich2/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gmpit/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gmpolf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gmvapich2/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gmvolf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gnu/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/goalf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gobff/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/goblf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gofbf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/golf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/golfc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gomkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gomklc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gompi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gompic/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/goolf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/goolfc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gpsmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gpsolf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gqacml/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gsmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/gsolf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iccifort/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iccifortcuda/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/ictce/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iibff/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iimkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iimklc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iimpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iimpic/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iiqmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/impich/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/impmkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/intel-para/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/intel/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/intel_compilers/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/intelcuda/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iomkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iomklc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iompi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iompic/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/ipsmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/iqacml/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/ismkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/nvhpc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/nvofbf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/nvompi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/nvompic/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/nvpsmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/nvpsmpic/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/pgi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/pmkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/pomkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/pompi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/system/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/xlcxlf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/xlmpich/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/xlmpich2/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/xlmvapich2/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/xlompi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/clang/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/craype/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/cuda/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/dummycompiler/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/fujitsu/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/gcc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/ibmxl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/intel_compilers/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/inteliccifort/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/nvhpc/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/pgi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/compiler/systemcompiler/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/fft/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/fft/fftw/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/fft/fujitsufftw/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/fft/intelfftw/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/acml/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/atlas/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/blacs/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/blis/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/flame/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/flexiblas/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/fujitsussl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/gotoblas/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/intelmkl/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/lapack/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/libsci/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/openblas/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/linalg/scalapack/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/craympich/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/fujitsumpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/intelmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/mpich/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/mpich2/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/mpitrampoline/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/mvapich2/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/openmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/psmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/qlogicmpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/toolchains/mpi/spectrummpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/asyncprocess/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/build_details/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/build_log/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/config/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/configobj/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/convert/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/docs/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/environment/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/filetools/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/github/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/hooks/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/include/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/jenkins/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/loose_version/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_generator/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/modules/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/multidiff/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/options/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/output/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/parallelbuild/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/robot/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/run/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/systemtools/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/testing/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/utilities/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/variables/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/version/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/containers/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/containers/apptainer/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/containers/base/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/containers/common/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/containers/docker/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/containers/singularity/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/containers/utils/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/deprecated/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/job/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/job/backend/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/job/gc3pie/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/job/pbs_python/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/job/slurm/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_naming_scheme/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_naming_scheme/categorized_hmns/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_naming_scheme/categorized_mns/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_naming_scheme/easybuild_mns/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_naming_scheme/hierarchical_mns/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_naming_scheme/migrate_from_eb_to_hmns/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_naming_scheme/mns/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_naming_scheme/toolchain/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/module_naming_scheme/utilities/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/package/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/package/utilities/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/package/package_naming_scheme/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/package/package_naming_scheme/easybuild_deb_friendly_pns/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/package/package_naming_scheme/easybuild_pns/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/package/package_naming_scheme/pns/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/py2vs3/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/py2vs3/py2/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/py2vs3/py3/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/repository/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/repository/filerepo/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/repository/gitrepo/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/repository/hgrepo/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/repository/repository/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/repository/svnrepo/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/compiler/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/constants/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/fft/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/linalg/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/mpi/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/options/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/toolchain/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/toolchainvariables/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/utilities/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/api/easybuild/tools/toolchain/variables/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/demos/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/demos/configuring/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/demos/review-pr/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/easybuild-v4/overview-of-changes/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/easybuild-v4/overview-relocated-functions-constants/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/easybuild-v5/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/easybuild-v5/overview-of-changes/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/legacy/configuration/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/user-survey/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/config-file-constants/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/easyblocks/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/easyconfig-constants/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/easyconfig-license-constants/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/easyconfig-parameters/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/easyconfig-templates/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/eb-a-wrf/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/eb-help/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/generic-easyblocks/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/supported-software/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/toolchain-opts/ - 2023-07-07 + 2023-08-10 daily https://docs.easybuild.io/version-specific/toolchains/ - 2023-07-07 + 2023-08-10 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 4ceba56de2c152fac9eb55ed9f2c18df6b43c876..d701831038da572b758e05b1aa789e10cd17dc69 100644 GIT binary patch delta 2181 zcmV;02zvL85|0uGABzYG_lwk#2OfXxNvbv}kN1+wIfvw|0>LKLHeQ2=B+jQ#gOp{t z*1Jg#sltC;H6xLt#2=cCegPmKe?2?<=}0Ma@L%tKzW;ppiM$CT`}ynLzyA4m^~>F_ zPd`1@WHXgdaYJ(@%e&JU&-<_V=(!ibY6zacD(1Xd)&3pZx7eGxG+9Fe17<%KL4VA{w#-F_T3z2 z4%*K&CHnR>YPQSc?q<)%vAcr&Z%8_s10QKrZLbM_;yL%oIcW1zqmmO=OI;FfKV-wK z+Gkx7hLKb*i={s4oC{u+5UhXvCi_lB*m_7!x`mw2c}%y74S!CJvn zqK}a+B^6>}$KTgWt|qJdG>|6gMdcb}NTo-b4EGhOQoqJ`?MdGAQyj_1Ho+Bl8BtFWj ziFB!{SI|Pf^`|i{D%CDs{gkw$Q%El=NTPFOI`v37Q(5iPfo$xN?-0UEmnz6ET54UT zNpJl`j_(xJ8(Ujyt@JqZ<}g)U%0U9AjvbQZ7-EO)7T9T9D0z8*q~2LO=38~uA2|iz zRQL7js}qYd)S^-dMTwIi0wjO04n3lFYl2(dsoSv6Y3{iy;k4&in{AceBiUbz{Jh~l zWf>*F*K;H7IN29VSy*C#Td&opG*g%*1<7jAed^{Vih59A)`FBsa^PNz5s9p9lk%bT z*>@7Ta6~BUB)QOso;!H1gX1l+dk#aF7rPZh$i0mx^vGCRVCI83?=FAUuq18TC4RM% zT{13_TN$wxLM9td60_@;Irqp~Jr^amv2-cPnrW(5Ws^AeN_ee>v|Sw|p4Vc6?Ya7K zI_RP}_btv-(lH{0<)_5gLf!2kN6)Ma4G_FKa<5ojcb@lvuG1LkJ>?(?1PCRa4aIIV z+Yf*z?ad;w=1d8NIE9lz18ILR*b7PMtqZK;wDA>K_7iDTCtH>Xt20wbP8V!=**a1J zZ^VyqAtYYLZa`cPq(@5I-Y`64H>aEeb^|V}hOry5(9nMaIv#5N7<34sofz1yzj;B zzsqW77ug)(n1h|rn2)+i`T-6bPtQel&zd$HUBSg=W1fA5V{S{oEF5*5 zu`I_}om-%YCor2aO=#X^3OU08n>uPN==#hhW7%aie=WQwB!Xi`)8%;@u%geI-HSyd z26H1TF_^tzv@~iZ1`~g>)5d{yJ~(S3z-U?lS4Z5CAK;h^8Zn$vhOE^BmTJ-JT6557 z5)Q)zM+_%pxbz9mP~b($0WRhYctI!JNZ(3~CS*KofoCpahEwI3;S}Q=Ug-i)FW}UI zjo~Sz0tpQ_*ubWMO~GJBOQINVd}JjyXvkounem2nn7_eE8Lxj7F34~Oqs=c{Z`_WD zjYqtHeP&k1W5_+9}m%h5yOr02r^pd+mO*T z1JB4^n6U(nwl)JUrHTQN7_8@Q&#r(%K3j7JtLUFCUJd5L{D20HI9Kj$@zw}m3NV<^ z>vCaG^tLRNK-quMN?%vLh$Ub&0#Ac7B88&GhDIYWJD7eq$Utk_Zlm#+m+QU4ZZ-bVz zS4;buJSAO1!s3R}4Oea9kx_2IktKgFqQx-s4YkAy z+nh0|5Uo%y>|rvvTG(=79B*;diS+>F-oSz$$&i1GW)Cwv`5m#2aeE8MKIlw<*d{m! zsonC07f40P;$Es1GguZt`sQ$8Ov^|yk?rgq9CM4oG4-Ti;@gEz5-j?e@@GUtoC7sNHjkfTO zaXfz~(X#!Ng4@%uF9E;Xpz~j+vp}~3u0qphHS3wsaAD zBZ(a@5qSf~x?jtCa-WO#CF7yP+;8R<8tH#dBDdT?t6Scn!KR?SfdiYu>pQq9C~s|m zD{{P{cP;giT<92VTc=Y~rxVjQ$V5k`lZsu&8rKbV{L?NRDXpwwQrj6a4s#;;R-4kG zrs~b=MpW0a(oHk|+&v$NYFL`JS*~_LmriFW)=Wv|nvT?EntGYrsoF|up89;+#&2yH zw~MY?xv1}s{~Pl4Q~Ayd4(>(RcyhjgTQ=k~;WnVHCvj9dozMJ7JCV+^Tbyq8qYIV5Kl2sX*K@ftkzm`|SuDa&%L zv&kN|3jcAKQtTt0zf|gd~){Ffl}t+zux`f{`1`@@+OSz=dXAF{?|X$U+#W> z`suMIo2h(~gMI#bx0Dk9w%Z+#$NS8MoR0ZEqxpFV%dPy2%H z-TL!rgL!J-lI3g0VDdfbd>$&>@t(u(ao0Y-JzVGF!ua&?`QeND{Ac+mhg|mE9A*~n zXPOdydm1&{^W*Mj&&IL4g8Viloy@`q8dckCf}eQKJ#r4(yws@Vgw;})gxeR{Fst@i zmxN&?mCM;upLEUzuSy73zLS4_ry^`Uq$XX&u5=1mM0jHOdZkM|)FNiMTfShe;3?6^ z$d-}{v9ROs>m^r{)qNUBlk{2T8e>SMN4}9_BBM+HuI7exs@}BAt}T~ypR9#U>rKiA zJqmHh4)X1?t4TUm7G$HXI_SiD=$<*NOf6Va>_g?#HzV>+u;yL9za(vFTHy{I6G&VlLJBjrqGwNDG#*dyN(!b_Jb$SzuHU8PBH z{X~xM6xADBTWYQJIP&H&RXmqP0;Y}~lH?d-hwK*EXaQn z_3Eo5i!#)rQV2zf4{(zs0wRA^haOS8HNma!)NR=3H1}MUaN2XM&9+MKk?gNUe%^4O zvWybo>$#D3oa~FGEG#j=t=H;PnkmeZf@C%5K6UdFMLno5Ye7mRIdHGVh(uPlN%>Iv z>^q5EI3SdDl3eJe=MJ9h;CM^yp2N`P#cstAa&O}aJu;RSnE4>iyGwsHEJ>SoiC?W` zmyGAgt&G?TA(IV9iP?3_oO@)go{JLOSh|#C%`{c3vPm3!CA`)`+OCcfPiry3_FVlq zF1jereT(y$bc_gL`7!aePNJI{MS*J%v&o^p@`0)&!IhGMsw z?FYb<_U0_H=1d8NIE9l#18ILh*b7PMtqZK;wDA>K_9JOjCtJ=DR%fP=oG#e#vUQ*Y z-iROJLP)%f-GF#rNRO1Zy;_y`4P!UrOhf+-=y<64W6&Xll1tKYk0f4W zN&EfG8A;R=`|+Ra9P{ie9CKUxW#Opf zjAc2->f9NMcmlH-(}dGjQh>pP zUY84lqPJzC1j>JoR{FY>-=k9g3VLxp5t%_1DRWv}gwhzvJ~^U7U>2N8U*+JJ&HB==;s zBTR5Q@c^pk7ax=}q;;7?38<1^Jt*1$#f9DK2=Sby56FLc$c7QgLnM!?>)B{Pl|d`1 zH{Mp=#TzSX(9#1@fKi^Kc}olN*sCir#*^PRT#Sd& zY^>xDoPvLM_h!fI_>3@B$-R_QuwcP;j5gzrZ|-C<|oBw1;^*-v%vb zua@>Rc}lv3gvAY`8?M^IBct4aBTN2VM2lhM8)}Ia#wWM+{??M+_JKgBFa#J0rwU_% zw>e`_AzGna*u!LSwXo&FINsu*6YBxUy@3Tik|BQ=%^qfU@;hQ3_#V_HUviHt4;6Nx^D0SR@`(g{73bZ7G=G9eMiA@Ae* zICdoJY-@60r6RAL80UR93ps*jZ$@tpiNDjhUmQ-c<9{{=y)D;+;9IgVC7sN|MqBvC zIG%r#XxV;B!R=|-mw?}G(D|>^S)f}1SD|UMn)OU*xUh1*ykZ6)zut&9XE%yXof1o~ zV9)#L^N-fPAErr24LLs?@)s~#d4VH_k#V9JGMA9ffW&P!Q`-bYpSggNFEc1Ow5sQW zM-n?+BJu`|b-$MPaL~gl(R=2!CgH1tu0|z#R*LQGJP~O@A zSLAp@?^^03xzI7#woa#}PA8^qkckdVM-{t_HLe@#@W)*^P+D2Tq_#6;9OgvwS8Ymz znyNRe8&O@yN;l2;Q}=uzs$pr?=6tmax^y~2v1Upt*L0vR)6~n{PSsXQ^VH|lHhyiv zxLtJB%0+#5{9ll-pUU67;NV__jVI>|xMf2=6K(_AdJ;#a)A`K5MqbE8D~=ijd{9~) z(}V)Mkc|+m>+(Z33e5QB8e>Q;%*