Skip to content

Software News

Version 1.19

Latest

Modified on: 2025-06-23

Summary

This release consists mostly of updated and new software being added to the eRN, in preparation for a bioinformatics workshop.

The following software were added or updated:

The complete list of changes can be viewed by running: ern changelog view 1.19

Version: 1.19 changelog

Modified on: 2025-06-23

Added

  • pymol/2.0_6b74660
  • Add version 3.1.0 of PyMOL
  • prodigal/1.0_5ce11bd
  • Add version 2.6.3 of Prodigal
  • dastool/1.0_e85e470
  • Add version 1.1.7 of DAS Tool
  • pdb2pqr/1.0_e0f4e11
  • Add version 3.6.1 of PDB2PQR
  • funannotate/1.0_1e48052
  • Add version 1.8.17 of Funannotate

Changed

  • activate.sh
  • Moved nextflow related code to the upcoming nextflow module release.

Version 1.17

Updates

Modified on: 2025-05-16

Summary

This release consists mostly of updated and new software being added to the eRN. Other important changes are related to autocomplete of included utilities and projects. Autocomplete for bat, rclone, and pet is enabled if bash completions is available. A hierarchy of projects can be created in a directory tree. This allows for subdirectories to use a parent project's configuration but use different environment variables, modules, and scripts. Prefixing module names with a - in the project configuration unloads the modules. The project hierarchy is always mirrored when running a job using the scratch.

The following software were added or updated:

The complete list of changes can be viewed by running: ern changelog view 1.17

Version: 1.17 changelog

Modified on: 2025-06-04

Added

  • gffutilities/1.0_9707275
  • Add version 0.12.7 of GffRead and version 0.12.9 of GffCompare
  • treetime/1.0_8cb9153
  • Add version 0.11.4 of TreeTime
  • samtools/2.0_75394ee
  • Add version 1.21 of Samtools
  • quast/2.0_e1c0f74
  • Add version 5.3.0. of QUAST
  • blast/3.0_6bf5a81
  • Add version 2.16.0 of BLAST
  • julia/3.0_fef8847
  • Add version 1.10.9 of Julia
  • castor/1.0_b3fe6b0
  • Add version 3.2.1 of CASToR

Changed

  • .justfile
  • Rename create-tarball recipe to create-release
  • Create tarball in artifacts/environments
  • direnv
  • Update to version 2.36.0.
  • activate.sh
  • Test the Cgroups version of kernel
  • Use native bash features to parse sysfs files
  • Add configuration for mirror of the eRN.
  • Only run cmdnotfound, if not during autocomplete.
  • Source bash completions, if installed and not already sourced.
  • Source autocomplete scripts for yq, bat, rclone, pet, and gitleaks, if bash completions is available.
  • Remove colon and colour from '@' in the PS1 prompt.
  • Limit user, directory, and host names to max_length in the PS prompt.
  • bin/**/*_vuln_scan
  • Update the script to access the sbom.syft.json.gz file via the cache.
  • share/sbin/module_helper
  • Use the configured mirror as download source for bundles.
  • share/bin/ern
  • Add environment variable for white
  • Use the configured mirror as download source for fonts.
  • Use 20 characters for each column in the prompt.
  • Use white for normal text, to ensure string lengths are calculated correctly.
  • Obtain project name form DIRENV_DIR instead of DIRENV_FILE.
  • docs/ern/jobs.md
  • Update to reflect changes in ern jobs submit.
  • docs/ern/project.md
  • Update to reflect changes in ern project.
  • ern project
  • Use a second argument, if provided, as PROJECT_DIR otherwise PWD is the default value.
  • ern project status
  • Expand to list active parent projects.
  • Indicate which modules are to be loaded or unloaded.
  • ern jobs submit
  • Remove nextflow specific code, simply set variables as --command and --module would.
  • Do not include any files if no --input or --inplace arguments are provided.
  • Move presentation of report to template.
  • Show active project in report.
  • When a project is active, and a scratch is used, merge all parent project modules, environment variables, and scripts with the last active child project.
  • Enable the project in the scratch.
  • share/templates/ern.project.status.md.j2
  • Update to match changes in ern project status
  • share/sbin/envrc
  • Allow comments using a # in the .modules
  • Allow a - prefix to unload a module in the .modules file.
  • Watch parent project files for updates, and reload if necessary.
  • Find all active parent projects, then from top most parent to PWD:
  • Load the modules and environment variables.
  • Run the scripts from all projects.

Version 1.18

Updates

Modified on: 2025-06-13

Summary

The CUDA_VISIBLE_DEVICES environment variable may not always be set by the queue manager or the user. For this case, a patch was implemented to correctly set the CUDA_VISIBLE_DEVICES environment variable on systems with GPUs. The error message when submitting a job, without loading a cluster module, was improved.

Version: 1.18 changelog

Modified on: 2025-06-13

Changed

  • activate.sh
  • Unset variables that are not used any further.
  • If CUDA_VISIBLE_DEVICES is not set and GPUs are available then set the environment variable.
  • Install Nerd Fonts and Julia Mono.
  • ern fonts
  • Do not show output when running fc-cache.
  • ern fonts add
  • Only update the font cache if fonts are added.
  • Only run rclone, if the font is not already installed.
  • ern jobs bulk-submit
  • Improve error message when a cluster module is not loaded.
  • ern jobs submit
  • Improve error message when a cluster module is not loaded.
  • config/bashrc/default
  • Unset variables that are not used any further.
  • config/bashrc/ern
  • Unset variables that are not used any further.
  • cluster_pbs_init
  • Update the job template if older than the script itself.
  • If CUDA_VISIBLE_DEVICES is not set and GPUs are available then set the environment variable.

Version 1.16

Updates

Modified on: 2025-05-16

Summary

The modules for BBTools, RAxML, Roary, and Salmon package updated versions of the software. Added grex to aid in the creation of regular expressions.

Documented new features and included more examples. Use a custom prompt in the shell, the features to be documented. ern jobs submit prevents submitting new jobs, using --inplace, if jobs have been previously submitted, in the working directory. The warnings when running software in interactive sessions, are now less intrusive, and is only shown if the resources are less than the recommended minimum.

The complete list of changes can be viewed by running: ern changelog view 1.16

Version: 1.16 changelog

Modified on: 2025-05-09

Added

  • bbtools/2.0_48bf7d9
  • Add version 39.19 of BBTools
  • raxml/2.0_eaa3c8d
  • Add version 8.2.13 of RAxML
  • roary/2.0_7d0a6db
  • Add version 3.13.0 of Roary
  • salmon/2.0_76fbcf9
  • Add version 1.10.3 of Salmon
  • hexyl
  • Add version 0.16.0 of hexyl.
  • grex
  • Add version 1.4.5 of grex.
  • editorconfig-checker
  • Add version 3.2.1 of editorconfig-checker.
  • .editorconfig-checker.json
  • Add configuration file for editorconfig-checker.
  • activate.sh
  • Add host configuration.
  • Add support email environment variable.
  • Add ERN_RESOURCE_WARNING environment variable, set from configuration.
  • Add ERN_CPU_COUNT environment variable with the total number of installed CPUs.
  • lint.just
  • Add recipe to lint directory tree with editorconfig-checker.
  • docs/ern/cluster.md
  • Add sentence advising users to make use of snippets.
  • docs/ern/jobs.md
  • Add sentence advising users to make use of snippets.
  • Add example of using ERN_WRITE_SUBMIT_SCRIPT and SUBMIT_SCRIPT to generate submit scripts.
  • docs/ern/project.md
  • Add sentence advising users to make use of snippets.
  • Add example of loading a cluster configuration module.
  • docs/snippets.md
  • Improve section covering snippets of eRN commands.
  • docs/ern/ern.md
  • Document shell escape feature.
  • ern
  • Add status subcommand, that displays information that used to be displayed by the expanded prompt.
  • ern jobs submit
  • Prevent multiple --inplace jobs being submitted in the same directory.

Changed

  • activate.sh
  • Set PROMPT_DIRTRIM to two.
  • Simplify custom prompt by moving logic to ern status, and add key binding.
  • Failing to acknowledge the disclaimer terminates the shell.
  • lint.just
  • Include step to check compliance with editorconfig-checker rules to all recipes.
  • docs/ern/project.md
  • Use correct markup for BLASTDB environment variable.
  • run_command
  • Add ERN_WRITE_SUBMIT_SCRIPT variable, that when set writes a job submit command line instead of running the command.
  • Only show resource warning when ERN_RESOURCE_WARNING is set, and either of the resources are insufficient.
  • Display warning with submitted jobs, as well as interactive sessions.
  • Do not lint resource.conf files.
  • share/templates/cmdnotfound.md.j2
  • Use support email environment variable instead of hard-coded email address.
  • share/templates/ern.greeting.view.md.j2
  • Use support email environment variable instead of hard-coded email address.

Version 1.15

Updates

Modified on: 2025-05-05

Summary

A module for Hybracter is added. The expansion of the documentation for the ern command and the basics. A suggested acknowledgement for the eResearch and HPC unit is included.

The complete list of changes can be viewed by running: ern changelog view 1.15

Version: 1.15 changelog

Modified on: 2025-05-05

Added

  • activate.sh
  • Add code for a HUD to display pertinent information.
  • hybracter/1.0_330f9c5
  • Added version 0.11.2 of Hybracter.
  • docs/basics
  • Add example to the acknowledge the eResearch and HPC unit.
  • ern
  • Add the help subcommand for the ern changelog, ern disclaimer, and ern system commands.
  • cluster_pueue_init
  • Add code to verify and pretty print the pueue configuration file.

Changed

  • activate.sh
  • Changes to comply with EditorConfig.
  • docs/basics
  • Moved and expanded two items from the greeting message to docs/basics.
  • ern
  • Add help to disclaimer completion.
  • Sort the changelog and news lists.
  • ern jobs submit
  • Add quotes in HERE-DOC passed to SSH to submit the job.
  • share/templates/ern.greeting.view.md.j2
  • Removed points covered by docs/basics
  • cluster_pueue_init
  • Changes to comply with EditorConfig.

Version 1.14

Updates

Modified on: 2025-05-02

Summary

Only one regression which prints an error, related to direnv, before each new prompt is fixed in this release.

The complete list of changes can be viewed by running: ern changelog view 1.14

Version: 1.14 changelog

Modified on: 2025-05-02

Fixed

  • direnv.bash
  • Change hard-coded home directory in path to ERN_ENVIRONMENT.

Version 1.13

Updates

Modified on: 2025-05-01

Summary

This release contains many fixes related to submitting jobs; cluster, mesh, and service modules; as well as documentation improvements. A number of changes are to improve the quality of the code, simplify debugging, and ensure correctness of generated configuration files.

Two notable additions are snippets, and the ern jobs bulk-submit command. Snippets provide a cheat sheet for common eRN commands. It is planned to add more snippets for the modules as well. Run the ern docs snippets command, for more information. The ern jobs bulk-submit command can be used to submit multiple jobs using data in a CSV file. For more information run the command ern jobs help.

The complete list of changes can be viewed by running: ern changelog view 1.13

Version: 1.13 changelog

Modified on: 2025-05-01

Added

  • watchexec
  • Added version 2.3.0 of Watchexec
  • .justfile
  • Create recipe to write out bash files of autocomplete scripts.
  • Create recipe to tarball the environment.
  • lint.just
  • Create recipe to lint dotenv files.
  • ern
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • Add bulk-submit subcommand.
  • module_helper
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • ern jobs submit
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • ern mesh create
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • ern service create
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • ern cluster create
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • cluster_pbs_init
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • jupyter_server_init
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • jupyter_client_init
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • jupyter_init
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • vnc_init
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • vnc_server_init
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • vnc_client_init
  • Enable BASH debugging if ERN_DEBUG environment variable is set.
  • .editorconfig
  • Added configuration for EditorConfig to ensure consistent and correct indentation and line endings.

Changed

  • ern
  • Moved help documentation, contained in HERE-DOCs, to Markdown files in the docs directory.
  • Moved presentation of the greeting to a template.
  • Create copies of project files before editing, replace when linters run successfully otherwise keep the copy for subsequent edits.
  • Let dotenv-linter fix any issues in the project's environment file.
  • run_command
  • Moved presentation of warning message to a template.
  • ern jobs submit
  • Split the first pass enrichment of the list of files, into three different subroutines, to allow for better multi-threading of mlr.
  • Prevent quoting issues with job names by removing input and output filters from rclone option variables.
  • Fix lint issues.
  • mesh_init
  • Moved presentation of the remote command's output to a template.
  • Lint the TOML configuration file.
  • cluster_pueue_init
  • Moved presentation of the remote command's output to a template.
  • cluster_pbs_init
  • Moved presentation of the remote command's output to a template.
  • spades/2.0_36268fe
  • Configure suggested resources for the module.
  • activate.sh
  • Use a loop to source all autocomplete scripts, instead of running the binaries to generate the autocomplete scripts.
  • cluster_pbs_init
  • Quote the entire string being echoed, instead of only the environment variables.
  • lint.just
  • Lint a single document
  • Use yq to pretty print and lint the document, before a strict linting by yamllint.
  • jupyter_server_init
  • Lint the TOML configuration file.
  • jupyter_client_init
  • Lint the TOML configuration file.
  • vnc_server_init
  • Lint the TOML configuration file.
  • vnc_client_init
  • Lint the TOML configuration file.
  • config_direnv
  • Lint the TOML configuration file.

Removed

  • ern jobs submit
  • The --cluster argument is ignored.

Fixed

  • ern applications processes
  • fzf did not echo the selected session cookie. Rewrote the key binding to make use of become.
  • ern applications destroy
  • fzf did not echo the selected session cookie. Rewrote the key binding to make use of become.
  • ern applications xtrace
  • fzf did not echo the selected session cookie. Rewrote the key binding to make use of become.
  • ern applications strace
  • fzf did not echo the selected session cookie. Rewrote the key binding to make use of become.
  • ern system gpus
  • Do not output the path of the nvidia-smi command.
  • ern
  • Do not print an error message for empty input.
  • ern service create
  • Use a wrapper to redirect s6-svstat output to /dev/null
  • Use a wrapper to redirect s6-svscan output to /dev/null
  • ern cluster create
  • Use a wrapper to redirect s6-svstat output to /dev/null
  • Use a wrapper to redirect s6-svscan output to /dev/null
  • ern.mesh.jupyter.create
  • Use a wrapper to redirect s6-svstat output to /dev/null
  • Use a wrapper to redirect s6-svscan output to /dev/null
  • ern mesh create
  • Use a wrapper to redirect s6-svstat output to /dev/null
  • Use a wrapper to redirect s6-svscan output to /dev/null
  • submit.mlr
  • Do not test for line endings other than Unix line endings in application/octet-stream files.
  • cluster_pbs_init
  • When attempting to obtain the server keys, capture any error messages, and print a useful message when there are network related problems.

Version 1.12

Updates

Modified on: 2025-04-14

Summary

New modules for the latest versions of RagTag, Pilon, SeqKit, and MetaBAT were added.

The complete list of changes can be viewed by running: ern changelog view 1.12

Version: 1.12 changelog

Modified on: 2025-04-14

Added

  • minijinja-cli
  • Add version 2.9.0 of minijinja-cli
  • ragtag/1.0_1ad72a1
  • Added version 2.1.0 of RagTag
  • pilon/1.0_bd7fcb0
  • Added version 1.24 of Pilon
  • seqkit/2.0_417d2d9
  • Added version 2.10.0 of SeqKit
  • metabat/2.0_eefe500
  • Added version 2.17 of MetaBAT

Changed

  • ern
  • Improve output from ern project status to list: the configured modules, environment variables, and the script. Linter output is also included when possible issues are detected with the environment variables and the script.
  • cmdnotfound
  • Moved presentation logic to a template.
  • Use miller to extract the module names.
  • docs
  • Remove url attribute from YAML front matter in documentation.

Version 1.11

Updates

Modified on: 2025-04-09

Summary

The changes are mostly to address errors, handle unknown subcommands in the ern command, and remove unused code. One module was added to package vcf2phylip.

The complete list of changes can be viewed by running: ern changelog view 1.11

Version: 1.11 changelog

Modified on: 2025-04-09

Added

  • vcf2phylip/1.1_bf013e8
  • Added version 2.9 of vcf2phylip
  • cspell/1.0_20b3c0d
  • Add version 8.18.1 of CSpell
  • yamllint/1.1_c67ebeb
  • Add version 1.37.0 of yamllint
  • lint.just
  • Add recipe to spell check directories using cspell.
  • Add recipe to lint YAML files in directories using yamllint.

Changed

  • activate.sh
  • Do not set environment variables for vale and lychee.
  • lint.just
  • Set configuration of vale and lychee in just recipes.

Removed

  • activate.sh
  • Remove commented DBUS code.
  • ern
  • Remove DBUS related functions, HEREDOCS, and help.

Fixed

  • activate.sh
  • Avoid unnecessary yq spawn in ern.glow to obtain theme.
  • Multiple fixes to ensure a working pet configuration.
  • Silence output from taplo when linting and formatting generated TOML files.
  • ern
  • Handle unknown subcommands to provide useful feedback instead of failing silently.
  • Force fzf to use the entire terminal when previewing job details, and other data.
  • Clean up mechanism to reload project configuration.
  • Do not attempt to detect changes of project configuration files, if the files do not exist prior to invoking the editor.
  • cluster_pbs_init
  • Add third possibility when SSH fails to login.
  • submit
  • Fixed spelling mistakes.

Version 1.10

Updates

Modified on: 2025-04-03

Summary

All default settings have been moved to a configuration file, ~/ern/environments/deploy/config/ern.yaml. Users can override the defaults using the provided ern commands or editing ~/ern/var/config/ern.yaml.

Creating project configuration often displayed errors that could be safely ignored. The ern project commands have been improved to force a direnv reload only when:

  • the project configuration changes.
  • the project is enabled.

The original submit command no longer functions, please follow the instructions provided to make use of ern jobs submit. While loading a PBS cluster configuration, the existence of the host key in the known_hosts file is checked, and the key is added if it does not exists.

Two tools that could be generally useful are:

  • just is a handy way to save and run project-specific commands.
  • sd is similar to sed with performance and usability improvements.

The complete list of changes can be viewed by running: ern changelog view 1.10

Version: 1.10 changelog

Modified on: 2025-04-03

Added

  • gitleaks
  • Added version 8.24.2 of Gitleaks
  • just
  • Added version 1.40.0 of Just
  • sd
  • Added version 1.0.0 of sd
  • taplo
  • Added version 0.9.3 of Taplo
  • migrate/25040101
  • Add script to delete unused configuration files.

Changed

  • activate.sh
  • Removed useless for-loop, to pass shellcheck analysis.
  • Reorder statements to be able to run yq sooner for reading settings from configuration files.
  • Add functions to read and write configuration settings.
  • Remove unused statements.
  • Use yq to concatenate the array of directories to set PATH environment variable.
  • Extend fzf default options with options used by pet.
  • Install default pet configuration.
  • disclaimer.md
  • Apply formatting improvements from Prettier.
  • ern
  • Add autocomplete for editor context.
  • The environment variable EDITOR is already set by activate.sh.
  • Only reload direnv configuration when files are changed and the project is enabled.
  • config/lychee.toml
  • Use taplo to lint and format the document.

Removed

  • pypluto
  • Module never completed, and so removed.
  • ripper
  • Module never completed, and so removed.
  • submit
  • The submit command only prints a message to make use of the ern jobs submit command.
  • The preconfigured profiles were removed

Fixed

  • cluster_pbs_init
  • Test whether host key is known, and if not, add the key to the user's known_hosts file.

Version 1.4

Updates

Modified on: 2025-01-31

Summary

This release updated some of the tools distributed with the eRN, none of the updates are expected to cause any problems. The numbat command line scientific calculator was added to the eRN distribution. Two software packages used in the medical physics field were added, namely: GATE version 10.0.1 and SIMIND version 8.0

The complete list of changes can be viewed by running: ern changelog view 1.4

Version: 1.4 changelog

Modified on: 2025-01-31

Added

  • gate/1.0_b108788
  • GATE version 10.0.1 was packaged.
  • simind/1.0_d085dcc
  • SIMIND version 8.0 was packaged.
  • numbat
  • Add version 1.15.0 of numbat.

Changed

  • frpc
  • Updated to version 0.61.1
  • frps
  • Updated to version 0.61.1
  • fzf
  • Updated to version 0.56.3
  • bat
  • Updated to version 0.25.0
  • btm
  • Updated to version 0.10.2

Version 1.5

Updates

Modified on: 2025-03-04

Summary

The optional dependencies pyvista and pyg4ometry of GATE is included in gate/1.1_0d55cd4. A new conda environment is created when the module is loaded.

Shell integration is enabled for several utilities, such as: fzf, procs, btm, and hyperfine. The fzf integration is notable since Ctrl+R enables fuzzy searches of the history. Many of the included utilities were updated, the impact to users should be limited since most are used during development.

Several utilities were added to improve the user experience:

  • To calculate code metrics see scc.
  • To list files much like ls but with improvements, see eza.
  • To search for files, similar to find but faster, see fd.
  • To search through the content of files, similar to grep but faster, see rg.
  • For advanced users, to navigate directories, find files and launch commands, see broot
  • For advanced users, to edit files, see nvim.

In preparation for future improvements, several utilities were added, namely: duckdb, fq, yq, and rush. The kitty terminal and a collection of monospaced fonts were added. Eventually, the configuration should support graphics in broot, icons in for example broot and eza, mathematics glyphs, and coding fonts.

The complete list of changes can be viewed by running: ern changelog view 1.5

Version: 1.5 changelog

Modified on: 2025-03-04

Added

Changed

  • activate.sh
  • Enable shell integration of fzf, procs, btm, fd, and hyperfine.
  • Configure default fzf command and options.
  • direnv
  • Updated to v2.35.0.
  • fastfetch
  • Updated to v2.35.0.
  • lychee
  • Updated to v0.18.0.
  • mlr
  • Updated to v6.13.0.
  • mprocs
  • Updated to v0.7.2.
  • vale
  • Updated to v3.9.4.
  • Updated Google and proselint styles.
  • has
  • Enabled version detection of dos2unix, fzf, and duckdb.
  • hyperfine
  • Updated to v1.19.0
  • Include bash autocomplete script.
  • procs
  • Updated to v0.14.9
  • btm
  • Include bash autocomplete script.

Removed

  • nnn
  • Replaced with broot.

Version 1.9

Updates

Modified on: 2025-03-28

Summary

The software below were packaged:

  • nnU-Net
  • Multiple GPUs can be used when jobs are submitted. Consult the documentation as to how a project should be configured.
  • Node.js
  • The module can be used to install packages using npm.
  • markdownlint-cli2
  • Can be used to verify the formatting and syntax of Markdown files.
  • Prettier
  • Can be used to format Markdown files correctly.

The complete list of changes can be viewed by running: ern changelog view 1.9

Version: 1.9 changelog

Modified on: 2025-03-28

Added

  • markdownlint/1.0_502359d
  • Added version 0.17.2 of markdownlint-cli2
  • nodejs/1.0_5be61d1
  • Added version 22.14.0 of Node.js
  • prettier/1.0_44b1591
  • Added version 3.5.3 of Prettier
  • nnunet/1.0_76c4fda
  • Added version 2.6.0 of nnU-Net

Changed

  • activate.sh
  • Bind Ctrl+x,Ctrl+p to a function to add the last command as a pet snippet.
  • Bind Ctrl+x,Ctrl+r to a function to autocomplete the command line with a pet snippet.
  • Set default fzf options.
  • ern
  • Cleanup fzf arguments as a result of default options being set.
  • Use --header instead of --border-label when invoking fzf.

Version 1.8

Updates

Modified on: 2025-03-26

Summary

The snippy module did not allow some commonly used commands to be run directly, the updated module enables running these commands directly. Added a Jalview module, consult the documentation to run Jalview. Several code cleanups related to tab completion lists and fzf picker; and file and directory searches for the ern and cmdnotfound commands.

The complete list of changes can be viewed by running: ern changelog view 1.8

Version: 1.8 changelog

Modified on: 2025-03-26

Added

  • jalview/1.0_d1a8a2b
  • Add version 2.11.4.1 of Jalview

Changed

  • cmdnotfound
  • Determine if a module is available, before attempting to find modules with matching binaries.
  • Replace find with fd, as a result the cd is removed and one sed filter is no longer needed.
  • ern
  • Add ability to ern.fzf function to set query string.
  • Remove the sed used to filter the available subcommands, and instead set the query string using $READLINE.
  • Replace find with fd, and remove superfluous sed from pipes.

Fixed

  • cmdnotfound
  • Redirect the module command's output.
  • ern
  • Sort available subcommands in completion here-docs.
  • Add help subcommand to all subcommand completion functions.
  • Correct prompt when choosing a theme.
  • Do not specify prompt and pointer characters for fzf to use the set default.
  • snippy/1.1_acdd356
  • Allow additional commands, namely: snippy-clean_full_aln, snippy-core, snippy-multi, snippy-vcf_extract_subs, snippy-vcf_report, snippy-vcf_to_tab, to be run directly.

Version 1.7

Updates

Modified on: 2025-03-24

Summary

SPAdes

The spades module upgrades SPAdes to version 4.1.0. The previously packaged version can be loaded by running module load spades/1.0_a057c0f.

Chromium

The chromium module upgrades Chromium to version 134.0.6998.88.

New software

A few utilities were added:

  • 7-Zip to create or decompress archives.
  • fclones to find duplicate files.
  • fselect to query file and directory properties, and output as csv or json.
  • tailspin highlights user names, network addresses, numbers, etc. in log files.
  • f(x) is a JSON viewer and processor.

Two new modules, packaging the listed software, were added:

The complete list of changes can be viewed by running: ern changelog view 1.7

Version: 1.7 changelog

Modified on: 2025-03-24

Added

  • 7zz and 7zzs
  • Added version 24.09 of 7-Zip
  • fclones
  • Added version 0.35.0 of fclones
  • fselect
  • Added version 0.8.9 of fselect
  • fx
  • Added version 35.0.0 of f(x)
  • pet
  • Added version 1.0.1 of Pet
  • tspin
  • Added version 4.0.0 of tailspin
  • geany/1.0_a5da74c
  • Added version 2.0 of Geany
  • ksnip/1.0_98fd783
  • Added version 1.10.1 of Ksnip
  • cpufetch
  • Add version 1.06 of cpufetch

Changed

  • activate.sh
  • Source completion scripts for fx and fclones.
  • Change the pointer used by fzf.
  • Create a font directory and set environment variable.
  • ern
  • Add fonts subcommand to manage fonts.
  • config/fonts/config.yaml
  • Add missing Iosevka fonts and update descriptions.
  • spades/2.0_36268fe
  • Upgraded to version 4.1.0
  • chromium/1.1_9940e9d
  • Upgrade to version 134.0.6998.88

Fixed

  • ern
  • Fixed several typos.

Version 1.6

Updates

Modified on: 2025-03-18

Summary

LibreOffice and Latex

The authoring module is severely outdated, in an effort to update the software contained in the authoring module, separate modules were created for LibreOffice and Latex editors and tools.

FermiBottle

FermiBottle was updated to version 24.05.14.1, if the previous install must be used, run the command module load fermibottle/1.0_7dba7b1.

QIIME 2

QIIME 2 was updated to version 2024.10, and the pathogenome distribution was added. To use the previous install run the command module load qiime/3.0_47df43c.

New software

Four new modules, packaging the listed software, were added:

The complete list of changes can be viewed by running: ern changelog view 1.6

Version: 1.6 changelog

Modified on: 2025-03-18

Added

  • latex/1.0_b6754a3
  • Install a collection of Tex editors and related tools.
  • libreoffice/1.0_f82f065
  • Install version 24.2.7.2 of LibreOffice
  • snippy/1.0_28d82ac
  • Install version 4.6.0 of Snippy
  • gammapy/1.0_92e7023
  • Install version 1.3 of Gammapy
  • astropy/1.0_bfe3de9
  • Install version 5.3.2 of Astropy
  • oneapi/1.0_17cd743
  • Install version 2025.0.1 of oneAPI
  • eRNterm
  • Add script to launch kitty terminal.

Changed

  • fermibottle/2.0_69fe8db
  • Updated to version 24.05.14.1 of FermiBottle
  • qiime/4.0_bca2b43
  • Updated to version 2024.10 of QIIME2
  • checkmgenome/1.0_c2b61d4
  • Add recommended resources when running interactively.
  • fonts
  • Improved format of configuration file.
  • commands.list
  • Sorted and updated the list.
  • lychee.toml
  • Use a curl user agent.
  • has
  • Enable detection of fc-cache version.

Fixed

  • activate.sh
  • Fixed multiple shellcheck issues.
  • Redirect stderr to stdout when listing modules.
  • Move logic into jq expression.

Version 1.3

Updates

Modified on: 2025-01-17

Summary

Two applications are added as modules chopper and NanoFilt. Updated versions of BEAST 1 and 2 are available. Previously created PBS cluster configurations are automatically updated to detect and gracefully handle network and authentication errors.

The ern jobs submit command detects common errors, such as incorrect line endings, script permissions, and syntax errors in BASH scripts. Where possible the user is prompted to allow the script to fix the issues. The report is extended to show executable files, files with incorrect line endings, and the sizes and mime types of files.

A detailed log of the changes can viewed by running: ern changelog view 1.3

Version: 1.3 changelog

Modified on: 2025-01-17

Added

  • beast/2.0_8370434
  • Add BEAST version 10.5.0-beta5 and BEAST 2 version 2.7.7.
  • nanofilt/1.0_a950063
  • Add version 2.8.0.
  • `chopper/1.0_b4d9a57
  • Add version 0.8.0.`

Changed

  • rclone
  • Updated to version 1.68.2.
  • run_command
  • Remove ERN_STATS environment variable.
  • activate.sh
  • Remove ERN_STATS environment variable.
  • Fail if the HOME environment variable is not set.
  • Only create and set XDG_RUNTIME_DIR, if the variable does not exist.
  • Set ERN_SHELL_PID to allow for the collection of metrics.
  • cluster_create
  • Add variable with path to the SSH client configuration file for PBS.
  • cluster_pbs_init
  • Log the output when remote commands are executed.
  • Create an SSH client configuration file.
  • XDG_RUNTIME_DIR environment variable no longer needs to passed through.
  • Recreate configuration files when cluster_pbs_init is updated.
  • Update the module when cluster_create is updated.
  • cluster_pueue_init
  • XDG_RUNTIME_DIR environment variable no longer needs to passed through.
  • Recreate configuration files when cluster_pueue_init is updated.
  • Update the module when cluster_create is updated.
  • ern jobs submit
  • Add option to automatically detect and fix error conditions, such as: non Unix line endings and execute permissions.
  • Lint bash scripts and enable user to edit the file if any errors are detected.
  • Use arrays instead of temporary files to create rclone input, and output filters; and marking files as executable.
  • Include more details in the report, such as if a file is executable, or a text file with non Unix line endings, the file size and mime type.
  • Indicate that the --mkexec option has no effect.
  • Remove --stats option.
  • XDG_RUNTIME_DIR environment variable no longer needs to passed through.
  • Fail if any errors occur while submitting a PBS job via SSH.

Removed

  • qgis/4.0_7bf7ee3
  • Container startup was not compatible with the eRN and is therefore removed.

Fixed

  • ern
  • Add --shared-fs option to documentation that explains the steps to migrate to ern jobs submit.
  • submit
  • Add --shared-fs option to documentation for ern cluster.
  • run_command
  • Suppress warning when running software with help and version subcommands in addition to --help, -help, --version, and -version.
  • Do not bind mount /run/dbus/system_bus_socket, attempts to mount the socket prevents running the container, if the socket does not exists.
  • cluster_create
  • Update list of files and directories to be cleaned up when resetting a cluster configuration.
  • Do not configure SSH and rclone in the pueue cluster module.
  • cluster_pbs_init
  • Abort loading the module if SSH connections cannot be established.
  • Attempt to copy ssh key, even if the key already exists.
  • cluster_pueue_init
  • Set and unset the CLUSTER_SHARED_FS environment variable.
  • ern jobs submit
  • Prevent submitting jobs that request --inplace without a shared file system.

Version 1.2

Updates

Modified on: 2024-12-13

Summary

Add module bcftools/1.1_a8ebeaf that packages version 1.21 of BCFtools.

Version: 1.2 changelog

Modified on: 2024-12-13

Added

  • bcftools/1.1_a8ebeaf
  • Install version 1.21 and ensure plugins are enabled.

Version 1.1

Updates

Modified on: 2024-12-11

Summary

Packaged version 0.8.3 of dorado, and added version 4.1.7p1 of repeatmasker for testing. Many improvements, fixes, and documentation updates related to the ern command. Run ern changelog read for the details.

Migration and update notes

Changes to the submit command requires user actions.

OpenMPI

MPI should work out of the box when eRN software is run under mpirun. The environment variable ERN_ENABLE_MPI is no longer used.

Submitting jobs

The submit command is replaced by ern jobs submit, the old command remains available for the time being. Most arguments remain the same. The --profile argument is removed, instead create a cluster configuration by running:

ern cluster create --name=hpc --head-node=login.hpc.ufs.ac.za --node-select=ern         --email-address=<replace with your email address>

Creating a cluster configuration only needs to be done once. Load the cluster configuration before running ern jobs submit, or add the --cluster=hpc argument to the ern jobs submit command.

module load cluster/hpc

To submit GPU jobs load the cluster configuration as shown below:

module load cluster/hpc node_select=ern_gpu

An --mpi argument is added to submit MPI jobs, the generated script runs the command under mpirun, for example:

ern jobs submit --mpi --name=18SBayes --threads=24 --memory=64gb --hours=100         --input=aligned.nex --module=mrbayes --command=mb-mpi -- aligned.nex

Therefore, a separate script is no longer needed simply to run commands under MPI.

Version: 1.1 changelog

Modified on: 2024-12-11

Added

  • dorado/1.1_8c69c31
  • Add version 0.8.3.
  • repeatmasker/1.0_5ab713d
  • Add version 4.1.7p1.
  • ern jobs submit
  • Add --mpi argument.
  • Add ern editor subcommand.
  • Add documentation for ern cluster.
  • Add documentation for ern jobs.
  • Implemented the subcommands of ern jobs.
  • Implemented the help subcommand of ern cluster.
  • Add ! to run arbitrary shell commands.

Changed

  • activate.sh
  • Set EDITOR variable using configuration file.
  • nnn
  • Updated to version 5.0.
  • micro
  • Updated to version 2.0.14.
  • ern
  • Changed subcommands disable and enable to respectively off and on.
  • Allow shell subcommand to run in any context.
  • module_helper
  • Let rclone determine if the cached file is absent, incomplete, or corrupt.
  • cluster_pbs_init
  • Expose the pbsnodes and nodes-free commands.
  • run_command
  • Use OMPI_COMM_WORLD_SIZE to determine when command is run under mpirun.
  • Change submit command to ern jobs submit.
  • Update message to include commands for help using ern cluster and ern jobs.
  • cluster_pueue_init
  • Allow the environment variable CUDA_VISIBLE_DEVICES to be passed through to jobs
  • ern jobs submit
  • Display progress when creating checksums of the input files.
  • Rename --profile argument to --cluster.
  • If --quiet then print the submit cookie instead of the job id returned by the remote system.
  • Update the 'Useful commands' to reflect changes in ern jobs.
  • Log the variants of the loaded cluster module, but exclude reset and run flags.
  • ern cluster create
  • Add parameter to override remote home directory.
  • Add parameter to configure shared file system.
  • Configure more sensible defaults for email.
  • Hardcode pueue host to localhost.
  • cluster_pbs_create
  • Install newly created SSH key.

Deprecated

  • submit
  • The script is deprecated in favour of ern jobs submit.
  • Add advice for users to transition to ern jobs submit.

Removed

  • activate.sh
  • Remove code used to autodetect shared filesystems.
  • cluster_pbs_init
  • Removed autodetect of shared filesystems.

Fixed

  • activate.sh
  • Test existence of correct file to determine displaying the greeting, or not.
  • module_helper
  • Pressing CTRL+C during file transfers corrupts files. Corrupt files are detected and repaired during the next module load.
  • ern
  • Remove typo from filename used to save the history.
  • ern jobs submit
  • Enable after accidentally disabling, making use of project configuration.
  • cluster_create
  • Set value of CLUSTER_SSH_KEY_TYPE.

Version 1.0

Updates

Modified on: 2024-11-28

Summary

Most changes are minor and require no user intervention. Run ern changelog read for the details.

Migration and update notes

rstudio

The release of rstudio/3.0_90feed8 made extensive changes to the installation. The operating system used is Ubuntu 24.04 previously Rocky 9 was used. Loading and running R or Rstudio from this install requires reinstallation of all packages. Every effort was made to install all the development libraries, installed in rstudio/2.3_e46f347, please report any omissions. The previous install can be used by specifying the version when loading the module: module load rstudio/2.3_e46f347

Version: 1.0 changelog

Modified on: 2024-11-28

Added

  • ern
  • Added changelog subcommand.
  • Added news subcommand.
  • activate.sh
  • Add framework for migration scripts.
  • Add migration script to clean up unused directories, and move user configuration.
  • Add a checks section in greeting.
  • Add test for DISPLAY variable.
  • Add test for unread news.
  • Sets a default xterm-256color value if TERM variable is not set.
  • ubuntu/1.0_25f5883
  • Add variants for Ubuntu 22.04 and 24.04
  • rstudio/3.0_90feed8
  • Packages R version 4.4.2 and Rstudio version 2024.09.1+394.

Changed

  • shfmt
  • Updated to version 3.10.0.
  • activate.sh
  • Moved pueue task manager to a cluster module, run ern cluster help.
  • Disable dbus service management.
  • Enable use of an operating system installed environment-modules.

Fixed

  • activate.sh
  • Fix creation of directories when a dangling symlink with the same name already exists.
  • rstudio/2.3_e46f347
  • The "On entry to DSYEV parameter number 8 had an illegal value" error in JAGS 4.3.2 is fixed in rstudio/3.0_90feed8.