01 - 02 October 2020
Cancellation deadline:
25 September 2020
Thomas Junier
Programming and Computing Techniques
Academic: 120 CHF
For-profit: 600 CHF
0.5 ECTS credits

This course will take place in Lausanne with rules complying to COVID situation (distances and hygiene). Should the Covid-19 situation in the coming days / weeks evolve so that physical meetings are not recommended by the Swiss Government, we will switch to a virtual event on the same date, restricted to registered participants only


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.


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 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. Participants from non-academic institutions should contact us before application.

Deadline for registration and free-of-charge cancellation is set is set to 25/09/2020. 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

University of Lausanne (Metro M1 line, Sorge station), classroom information will be sent to the participants.

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

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.