UNIX Shell Scripting in Life Sciences

22 - 24 May 2024
Application deadline:
08 May 2024

Cancellation deadline:
08 May 2024
Thomas Junier
Programming and Computing Techniques
0.75 credits

No future instance of this course is planned yet


Scripting allows shell users to automate repetitive tasks, thus improving reproducibility, reducing the risk of errors, freeing time, and avoiding boredom.

Bioinformatics analysis pipelines may involve dozens or hundreds of steps that are each carried out by different command-line programs: assembling these into scripts allows users to treat whole pipelines as if they were ordinary shell commands.


This course targets users who have basic knowledge of interactive shell use (such as taught in the SIB's First Steps with UNIX in Life Sciences) and are interested in moving from interactive to automated tasks.

Learning objectives

At the end of the course, the participants should understand:

  • the main syntactic constructs of Bash (tests, conditionals, loops, functions)
  • how to read input and write output
  • how Bash stores and processes data (including the various kinds of expansion)
  • how to pass and parse command-line arguments and options, as well
  • how to to assemble individual analysis steps into reproducible, automated pipelines


Knowledge / competencies

This course is designed for intermediate level users. They are expected to know how to use a Unix shell interactively, i.e., moving around the filesystem, understanding pathnames, lauching programs that work on data, redirecting output to files or other programs, etc. They are also expected to have some familiarity with basic shell utilities like grep, cut, tr, etc (although no expert skills are required). Notions of programming (in any language) will be useful, but not essential. Finally, some proficiency with a text editor is a must.

More details here


A laptop with a command line terminal and a recent version of Bash (4.0 or newer should be ok) installed. The alternative for Windows users is to activate WSL/WSL2.


Registration fees for academics are 300 CHF and 1500 CHF for for-profit companies.

While participants are registered on a first come, first serve basis, exceptions may be made to ensure diversity and equity.

Applications will close as soon as the places will be filled up. Deadline for free-of-charge cancellation is set to 08/05/2024. Cancellation after this date will not be reimbursed. Please note that participation in SIB courses is subject to our general conditions.

You will be informed by email of your registration confirmation. Upon reception of the confirmation email, participants will be asked to confirm attendance by paying the fees within 5 days.

Venue and Time

The course will take place at the University of Lausanne.

It will start at 9:00 CET and end around 17:00 CET.

Precise information will be provided to the participants before the course.

Additional information

Helper: Robin Engler, Vital-IT group

Coordination: Diana Marek, SIB Training group

We will recommend 0.75 ECTS credits for this course (given a passed exam at the end of the course).

You are welcome to register to the SIB courses mailing list to be informed of all future courses and workshops, as well as all important deadlines using the form here.

Please note that participation in SIB courses is subject to our general conditions.

SIB abides by the ELIXIR Code of Conduct. Participants of SIB courses are also required to abide by the same code.

For more information, please contact training@sib.swiss.