08 - 09 November 2021
Cancellation deadline:
29 October 2021
Thomas Junier
Academic: 120 CHF
For-profit: 600 CHF
0.5 ECTS credits

No future instance of this course is planned yet

Please be aware that to comply with recent federal and cantonal recommendations, you will have the obligation to present a COVID certificate to be able to attend the course.


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 [https://www.sib.swiss/training/course/20210927_FSWU) 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

If you are unsure that you have the good profile for this course, you can take this self-assessed quiz.


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 install WSL/WSL2 or for older systems, to download a virtual machine image and thus at least 10 Go free on hard disk and 4 Go of RAM are required.


The registration fees for academics are 120 CHF and 600 CHF for for-profit companies.

Deadline for registration and free-of-charge cancellation is set to 29/10/2021. Cancellation after this date will not be reimbursed. Please note that participation to SIB courses is subject to our general conditions.

You will be informed by email of your registration confirmation.

Venue and Time

This course will take place at the University of Lausanne. You will need to present a COVID certificate to enter the building and the classroom.

The course will start at 9:00 and end around 17:00. Precise information will be provided to the participants on due time.

Additional information

Helper: Robin Engler Coordination: Grégoire Rossier

We will recommend 0.5 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.

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.