Welcome to the group!

Much of your work in the lab will involve using the University's high performance computing infrastructure: Viking2. The is a Linux system. You may be familiar with Linux already. If so, this page should just be a series of signposts for you. If not, you get signposts to training as well.

Group website - asmasonomics.github.io
Viking2 documentation

Viking access form and existing code

To access Viking2, please complete the Viking2 application form. For this you will need a project code - ask Andrew for this.

As default, each user is allocated 2TB of storage space in the /mnt/scratch/users/your-UUN/ directory. As soon as your user access is approved, please email IT services to increase your quota. Use the subject heading "Viking - quota increase for [your-UUN]" and ask to increase your quota to 10TB unless Andrew has said you should ask for more.

You should also set up a GitHub account if you don't already have one. As academics often move around a lot, it is prudent to link this to a personal email address as well as your York one, and to make your username something you like. Once you have this, let Andrew know and he will add you to our Mason Lab GitHub organisation, where you can access code and link any project repositories. On here, Richard has put some very useful information about how we organise our projects, and also some links to software carpentry introductory courses - use these!

If you're using a managed Windows machine, and you're here longer than a Summer project, please email David Nelmes, cc'ing in Andrew, and ask if you can have elevated admin rights on your machine as you're a bioinformatician needing to install lots of new software outside the SoftwareCentre.

Accessing Viking

If you're on campus, great. If not, you will need to use the VPN service with 2FA.

From Windows you can use the built in PowerShell or download the latest 64-bit puTTY SSH client.
If you're on a Mac use the Terminal, and if on a Linux machine you won't be needing this tutorial.

It is prudent to also have some kind of SCP/SFTP GUI client to move files between Viking and your desktop. For Windows the best one is WinSCP, but FileZilla Client (not FileZilla Server...) is OK too (and the best one for Mac).

When you log on to Viking, you will be in /users/your-UUN/. Don't do any work here. It has almost no storage. You should immediately change directory to either your own personal scratch space /mnt/scratch/users/your-UUN/ or to the group space /mnt/scratch/projects/biol-cancerinf-2020/
To save your fingers, we recommend you create symbolic links:


# long way to change into the group space
cd /mnt/scratch/projects/biol-cancerinf-2020/

# instead, create symbolic links
cd 
ln -s /mnt/scratch/projects/biol-cancerinf-2020/ group
ln -s /mnt/scratch/users/your-UUN/ scratch

The only files you will likely ever edit in your initial login space /users/your-UUN/ will be ~/.bash_profile where you can add module load statements, and ~/.bashrc where you may add environment variables, including aliases.

If none of that is clear to you, don't worry (and don't mess with them until you do).

Key messages

  1. Refer to the documentation
  2. Have good data management - refer to Richard’s style guides
  3. Work within scratch (personal or group)
  4. Remember, there is no recycle bin - if you delete stuff it is gone forever.

Next steps

If you have worked on Linux before and are feeling good, read the Viking documentation (selectively) and get cracking! Pay particular attention to available modules and how the slurm scheduler works if you haven't used that before.

Always ask Andrew and Richard for help if you're unsure - this is not a problem. Far better to ask early and get the help you need rather than struggle for ages or worsen issues you might have.

If you've not worked with Linux before, don't worry - we have some training and guidance for you. As with any coding language it can take a bit of getting used to. But you'll get there.

Linux terminal keyboard shortcuts

Ctrl A - return to start of terminal line
Ctrl E - go to end of terminal line
Ctrl U - delete from cursor location to start of code line
Ctrl R - quick search tool through last code entries
Tab - autocomplete, double tap to see all possible options
- scroll back up through previous commands

Coding training

As mentioned, Richard has added some links on the Mason Lab GitHub organisation. We have also set up a DataCamp subscription for the group - ask Andrew for access - 2024-04-05 awaiting confirmation - more details to follow...

For broader training courses, check out the Galaxy Training Network (GTN) and Elixir's TeSS.