Skip to content

Roadmap

October 2026 - December 2026 (click to expand)

Development from previous roadmap

  • Write a dialog to collect information to facilitate debugging user issues.
  • Record relevant command history.
  • Add tooling to manage and mount remote filesystems, such as:
  • SFTP, to access storage on, for example, clusters.
  • s3, to access files in cloud storage.
  • Complete tooling to backup projects.
  • Apply CGroup v2 fixes that affects determining available memory. This depends on the availability of the new cluster for testing.
  • Installer improvements
  • Improve feedback and request confirmation during install.
  • Test for, and install required packages as root after consent from user
  • Add subcommand to the ern tool to update the environment
  • Curate the list of module categories
  • Update existing module files
  • Enable SSH Agent, in Yazi, and Rclone configurations
  • Create user modules
  • Convert Makefile to Justfile
  • Convert defines in Makefile to Jinja templates
  • Use JSON/YAML to define os packages, base bundles, build scripts, and commands
  • Create templates for:
  • Rust
  • R
  • Conda
  • Julia

New development

  • Short how-tos
  • Expand "Basic file and directory operations" how-to by adding:
  • z
  • zi
  • Expand "Chain commands together (pipelines)" how-to by adding:
  • pv
  • Create a how-to showing options to obtain documentation or usage examples
  • Using the help subcommand, or the arguments --help, -help, and -h
  • Add some syntax highlighting to improve readability using |h and |&h
  • Using man and info
  • Using the ern docs command
  • Should an iRODS service become available for testing it is proposed to test the following:
  • iRODS FUSE to mount an iRODS collection on the HPC
  • GoCommands to manage iRODS collections.
  • Kubernetes integration
  • Include kubectl, the official CLI tool, kubecolor, to improve readability of kubectl, k9s, a feature rich TUI, and KDash, a read-only dashboard for Kubernetes
  • Create a module to load and configure the connection parameters for the included tools
  • Test connecting to a cluster, and retrieve information from the cluster, using the included tools
  • Transfer files to and from a cluster using kubectl and termscp
  • Apache CloudStack integration
  • Include the Apache CloudStack CLI tool, CloudMonkey
  • Create a module to load and configure connection parameters for the included tool
  • Connect to a cluster, and retrieve information from the cluster
  • Use Valkey as a cache and to manage locks for
  • Locking critical sections instead of flock
  • Caching module avail output and fd output when scanning module files and other files
  • Improvements to job submission
  • Use a word list to randomly choose a default name for a job when submitting
  • Use a word list to randomly choose a job name for a suggested submit command
  • Create YAML formatted metadata file for each job
  • Inherit metadata from the project
  • Add --metadata=key=value argument to submit command, and --metadata_from_file= to import metadata from YAML file
  • Write the following to the metadata file:
  • Exit code
  • Job report
  • Command and module being run
  • Hardware specifications
  • Checksum files marked by --output
  • Update greeting message
  • Move terminal size check to how-tos
  • Remove other checks
  • Document and explain the prompt
  • Remove ern theme and ern editor commands, and replace with ern config
  • Edit YAML directly
  • Project configuration:
  • Do not create profiles automatically
  • Remove VNC related code, to be added back at a later time
  • process-compose should use namespaces to manage services from different profiles

Software

From the previous roadmap

Software Version Status
AlphaFold [ ]
dadi [ ]
ENVI >=6 [ ]
fastsimcoal2 [ ]
SAS [ ]
Tensorflow [ ]
TESS [ ]

New software

Software Version Status
BEAGLE [ ]
Cactus [ ]
EDTA [ ]
GEMMA [ ]
Nextflow [x]

Obsolete or broken modules

  • Reinstall modules incompatible with the apps.ern.ufs.ac.za server
  • gephi/1.0_6da5463
  • Update to version 0.11.2
  • slicer/1.0_044fc5c
  • Update to version 5.12.4
  • Test install of extensions
  • tempest/1.0_9a024a2
  • No newer release
  • Mark modules as superseded, and add suggestions for alternative modules or builtin utilities where sensible
  • authoring/1.0_d82be02 and authoring/1.1_ba5a6b4
  • suggest latex and libreoffice modules
  • erndevel/1.0_4c217c2
  • disable and mark as deprecated
  • used internally
  • markdownlint/1.0_502359d
  • Suggest builtin rumdl
  • prettier/1.0_44b1591
  • Suggest builtin rumdl
  • yamllint/1.1_c67ebeb
  • Suggest builtin ryl
  • libreoffice/1.0_f82f065
  • Suggest builtin doxx for DOCX files
  • Suggest builtin xleak for reading XLSX files
  • Suggest builtin csvlens for reading CSV files
  • Suggest builtin vex for editing CSV and XLSX files
  • Suggest builtins mlr and xan for data processing and analysis of CSV files
  • remmina/1.0_79219a4
  • Installed for internal use
July 2026 - September 2026 (click to expand)

Development from previous roadmap

  • Cryptographically sign the final release of SIF files with minisign.
  • Write a dialogue to collect information to facilitate debugging user issues.
    • Record relevant command history.
  • The documentation needs to be updated to reflect recent changes made to the ern tool.
  • Add tooling to manage and mount remote filesystems, such as:
    • sftp, to access storage on, for example, clusters.
    • s3, to access files in cloud storage.
  • Complete tooling to back up projects.
  • Apply CGroup v2 fixes that affect determining available memory. This depends on the availability of the new cluster for testing.

Development

  • Short Howtos
    • file and directory operations
      • eza
      • tspin
      • sort
      • grep
      • rg
    • search for files
      • find
      • fd
      • fselect
    • Using pipes
    • Using modules
    • Using projects
    • Submitting jobs
  • Installer improvements
    • Improve feedback and request confirmation during install.
    • Test for, and install required packages as root after consent from the user
  • Add subcommand to the ern tool to update the environment
  • Curate the list of module categories
    • Update existing module files
  • Enable SSH Agent, in Yazi, and Rclone configurations
  • Create recipes for user modules:
    • Rust
    • R
    • Conda
    • Julia

Software

Previous Roadmap

Software Version Users
EGSnrc 2025 A
GATE 9.4 A
LAMMPS B
AlphaFold C
ENVI >=6 D
Signal 6P E

New

Software Version Users
BUSCO F
dadi G
DS9 G
eggnogmapper 2.1.15 F
fastsimcoal2 I
GCTA H
METAL K
MR-MEGA K
NextDenovo I
SAS G
tensorflow A
TESS G
Trinity 2.15.2 F
wcstools G

Fix broken software

  • Patch database downloads of funannotate. Include support for GeneMark.
  • Reinstall modules incompatible with the apps.ern.ufs.ac.za server
    • casa
      • Reinstall version 6.5.5
    • fermisciencetools
      • Reinstall version 11r5p3
    • gephi
      • Update to version 0.11.2
    • grads
      • Reinstall the same version of the software
  • prevent loading of broken modules:
    • casa/1.0_41db96e adivse to use newest casa module
    • fermisciencetools/1.0_e80f75a advise to use the newest fermisciencetools module
    • gephi/1.0_6da5463 advise to use the newest gephi module
    • grads/1.0_939f353 advise to use the newest grads module
    • guppy/1.0_ef92ed2 adivse to use the newest dorado module
    • julia/1.0_ea102bc advise to use the newest julia module
    • julia/2.0_405e225 advise to use the newest julia module
    • funannotate/1.0_1e48052 advise to use the newest funannotate module
    • funannotate/1.1_121ae18 advise to use the newest funannotate module
Feedback April 2026 - June 2026 (click to expand)

Development

  • Most of the remaining SIF files were cryptographically signed with minisign.
  • Several short how-tos were created. The how-tos cover using modules and BASH pipes as well as the following commands:
  • chmod
  • chown
  • eza
  • fd
  • file
  • find
  • grep
  • rg
  • sort
  • tspin

Unfortunately, the following development tasks were not accomplished:

  • Write a dialog to collect information to facilitate debugging user issues.
  • Record relevant command history.
  • The documentation needs to be updated to reflect recent changes made to the ern tool.
  • Add tooling to manage and mount remote filesystems, such as:
  • SFTP, to access storage on, for example, clusters.
  • s3, to access files in cloud storage.
  • Complete tooling to backup projects.
  • Apply CGroup v2 fixes that affects determining available memory. This depends on the availability of the new cluster for testing.
  • Installer improvements
  • Improve feedback and request confirmation during install.
  • Test for, and install required packages as root after consent from user
  • Add subcommand to the ern tool to update the environment
  • Curate the list of module categories
  • Update existing module files
  • Enable SSH Agent, in Yazi, and Rclone configurations
  • Create recipes for user modules:
  • Rust
  • R
  • Conda
  • Julia
  • Short How-tos
  • fselect
  • Using projects
  • Submitting jobs

Software

  • Several modules are no longer working due to a change in the distribution mechanism of eRN modules. These modules are marked as broken, and an alternative module is suggested for each broken module.
  • casa/1.0_41db96e
  • fermisciencetools/1.0_e80f75a
  • gephi/1.0_6da5463
  • grads/1.0_939f353
  • guppy/1.0_ef92ed2
  • julia/1.0_ea102bc
  • julia/2.0_405e225
  • New modules were installed for: casa, fermisciencetools, and grads. The software is the same version as was previously available.
  • Patched database downloads of funannotate, and included support for GeneMark. Since the database downloads no longer worked for funannotate/1.0_1e48052 and funannotate/1.1_121ae18, these modules have been marked as broken.
  • An updated version of gephi was not installed.

The status of software on the roadmap is as indicated below:

Software Version Installed or Updated
AlphaFold ✗
BUSCO ✓
dadi ✗
DS9 ✓
eggNOG-mapper 2.1.15 ✓
EGSnrc 2025 ✓
ENVI >=6 ✗
fastsimcoal2 ✗
GATE 9.4 ✓
GCTA ✓
LAMMPS ✓
METAL ✓
MR-MEGA ✓
NextDenovo ✓
SAS ✗
Signal 6P ✗
Tensorflow ✗
TESS ✗
Trinity 2.15.2 ✓
WCSTools ✓
April 2026 - June 2026 (click to expand)

Development

  • Create short demos for using commands
    • file and directory operations
      • cd
      • pwd
      • mkdir
      • mv
      • ls
      • rm
      • cp
    • View file contents
      • head
      • tail
      • cat
      • bat
      • less
      • moor
    • Text editor
      • nano
      • micro
      • vim
    • Bash keyboard shortcuts
      • fzf
      • Saving command snippets for later use.
    • File managers
      • mc
      • yazi
  • The documentation needs to be updated to reflect recent changes made to the ern tool.
  • Create an installer for the eRN. While creating the installer:
    • include a BOM (bill of materials) of files used in the eRN. The BOM records blake3 checksums for each file.
    • embed minisign as a base64 encoded payload.
    • Cryptographically sign and embed the eRN as a tar.xz archive When installing, the installer must:
    • Verify the embedded archive, and copy it to the correct location
  • Include a command in the ern tool to run a self check using the generated BOM.
  • Cryptographically sign the final release of SIF files with minisign.
  • Update the module loading algorithm to:
    • Verify the cryptographic signature of the downloaded SIF file.
    • During development, continue using sha512 checksums.
  • Move the SSH configuration files used by the eRN to the user`s SSH directory.
  • Configure yazi to access the file systems of configured Slurm and PBS clusters.
  • Write a dialog to collect information to facilitate debugging user issues. Information to be collected:
    • Relevant command history
    • Environment variables
    • Any modules loaded.
  • Improve module documentation by:
    • Include a table, under a heading named Revisions, with each row corresponding to a previous version of the module. Each row also includes the version of the installed software and the date the module was released.
  • Add tooling to manage and mount remote filesystems, such as:
    • sftp, to access storage on, for example, clusters.
    • s3, to access files in cloud storage.
  • Complete tooling to backup projects.
  • Apply CGroup v2 fixes that affects determining available memory. This depends on the availability of the new cluster for testing.

Software

Backlog

Software Version Users
AlphaFold E
EGSnrc 2025 F
ENVI >=6 H
GATE 9.4 F,G
LAMMPS I

Recent

Software Version Users
dbCAN3 D
EffectorP D
GeoDa 1.22.0.21 C
MegaSSR B
PRONAME A
Rust 1.94 C
Signal 6P D
Typst 0.14.21 C

Research

iRODS integration

Should an iRODS service become available for testing it is proposed to test the following:

  • irodsfs to mount an iRODS collection on the HPC
  • GoCommands to manage iRODS collections. The GoCommands do not require installation, or a module as the reference implementation does.
  • Integration within jobs to up and download data from collections to the scratch directory.

Polyglot software development

Software such as Positron, Quarto, and Visual Studio Code can be used with multiple programming languages. The languages relevant for the eRN are Python, R, and Julia. While these languages are available in the eRN as modules, the isolation provided by containers presents one significant problem: shared object files are not accessible between containers. A standard mechanism needs to be developed to manage software that needs access to shared object files to enable all the capabilities. Some options are:

  • Install all the software into a container. Does not scale, as more software is bundled together, more and more version incompatibilities are encountered.
  • Development of a user modules: Refactor existing recipes to build modules with the required combination of software, some issues:
    • How to write documentation?
    • Manage reproducibility of user modules?

Geneious Prime on HPC

Floating licenses were available and therefore Geneious could easily be used on the HPC. Unfortunately, the floating license option was removed by Dotmatics. Workarounds, or alternatives, need to be investigated.