Working on GenomeDK
GenomeDK
GenomeDK is the name of Aarhus University’s super computer cluster. It is a high-performance computing (HPC) system. It is ISO 27001 certified and approved to store sensitive data in compliance with GDPR and the Danish Data Protection Act.
Within a Seedcase context we are going to use it as an example of how Sprout can be used to import, organise and store data on a remote cluster. It will also be used by the two projects that we are currently working with, DP-Next and ON-LiMiT.
Access
People associated with a university, the public sector (government agencies, regions, and municipalities), or small and medium-sized enterprises (SMEs) can ask for an account on GenomeDK, which is done via the request account portal. For now, we will need to select the “Open” zone. You need to state your preferred username and password even though the form seems to say to only do it if you want to re-activate an old account.
Setting up
Once you get approved for access you can run through the documentation, which is extensive and quite detailed. Because GenomeDK is a Linux-based server, you setup, access, and do many actions through a shell terminal. You will have to set up two-factor authentication using an authenticator app (they don’t stipulate any in particular).
Connecting
SSH
You can connect to your GenomeDK environment from the terminal on your local machine. Follow the instructions on GenomeDK’s website.
Desktop
If you prefer a graphical interface, you can also access GenomeDK through their virtual desktop. Follow the instructions on GenomeDK’s website.
Mounting files
If you want to view and edit the files stored on GenomeDK using applications installed on your local machine, you can mount your GenomeDK file system locally. Follow the instructions on GenomeDK’s website.
Installing software tools
To develop Seedcase projects on GenomeDK, you will need to install uv. If you want to render markdown documents, you will also need to install Quarto. Finally, if you want to run recipes in the justfile
, you will need to install just
.
Installing uv
Log in to GenomeDK (either through SSH or the desktop interface) and open a terminal window. Following uv’s installation guide, run:
Terminal
curl -LsSf https://astral.sh/uv/install.sh | sh
Installing Quarto
Log in to GenomeDK (either through SSH or the desktop interface) and open a terminal window. Follow the instructions on Quarto’s website.
Notes:
- Step 3: if
~/.local/bin
exists, you don’t need to runmkdir ~/.local/bin
- Step 4: as the instructions say, you can probably skip this step
- If VS Code is open, you’ll need to restart it to detect the Quarto CLI
Installing just
Log in to GenomeDK (either through SSH or the desktop interface) and open a terminal window. Following just
’s installation guide, run:
Terminal
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/bin
Developing with VS Code
The best way to work on Seedcase projects in VS Code is to use the VS Code application on your local machine and connect to GenomeDK via SSH. This allows you to edit files and run code on GenomeDK as if you were working locally. This setup uses the Remote SSH VS Code extension, which works by adding a .vscode-server
folder in your home directory on GenomeDK. This is a lightweight backend that allows VS Code to run terminals, extensions, debuggers, etc., remotely on GenomeDK. If at any point you want to remove the backend, you can simply delete this folder.
Open VS Code on your local machine and install the Remote SSH VS Code extension
Select “Remote-SSH: Connect to Host…” from the Command Palette (
F1
,Ctrl+Shift+P
) and enter<username>@login.genome.au.dk
. Follow the prompts given to update or create your config file. In the “Remotes Explorer” panel, you should now see the GenomeDK host listed aslogin.genome.au.dk
.Click the GenomeDK SSH entry and enter your GenomeDK password when prompted. Now, you should be connected to GenomeDK and see the remote file system if you open up the VS Code terminal.
Clone your repository using the VS Code terminal, if you haven’t already:
Terminal
cd <.../my/projects> git clone <repo-url> cd <repo-name>
Open your project folder in VS Code by clicking the “Open Folder” button in the panel on the left-hand side
Install your project dependencies (you’ll need uv installed):
Terminal
uv sync
Install any VS Code extensions needed for development (e.g. the Python language extension). To list recommended extensions, open the Extensions panel and type
@recommended
into the search bar. You can install extensions from here.To be able to commit to GitHub, you will need to set up your Git credentials. You can do this by running the following commands in the terminal:
Terminal
git config --global user.name "Your Name" git config --global user.email "you@example.com"
Now, you should be able to run scripts in your project using either the VS Code terminal or the Run/Debug UI, as well as push changes to GitHub.