T9 – From an application to a fully integrated workflow – Comprehensive software engineering with SeqAn


Tutorial Details

Date: Sunday September 9, 2016

Time: 9:00 – 17:00

Venue: Stavros Niarchos Foundation Cultural Center

Room: Computer Room



  • René Rahn, Algorithmic Bioinformatics at the Department of Computer Science at Freie Universität Berlin
  • Hannes Hauswedell, Algorithmic Bioinformatics at the Department of Computer Science at Freie Universität Berlin



This tutorial will first introduce the C++ software library SeqAn for sequence analysis, including an overview of the contained algorithms and data structures (alignments, indices, IO, etc.) and applications (read pre-processing, read mapping, alignment tools replacing BLAST, variant detection, etc.) implemented with SeqAn and how they perform compared to other libraries and applications. In this introductory part the participants will setup their environment to start developing with SeqAn. The participants will then implement an application using many modules of the SeqAn library in a guided hands-on session. In the afternoon, there will be a general introduction into the workflow system KNIME and its capabilities. This part demonstrates a sample Workflow using tools from SeqAn and explains the basic principles of working with KNIME. This part is followed by another guided hands-on session, where the participants will learn how to create a tool description of their previously developed SeqAn application and how to integrate the respective tool into KNIME. This part is finalized by creating and executing a small sample workflow with the new tool including some simple exploration of the results.

In the end of this workshop an outline of the next generation of the SeqAn library, regarding its parallelization efforts, as well as the cloud execution of KNIME workflows will be given.


The goal is that users attending the tutorial acquire basic knowledge in:

  • What SeqAn is and is capable of
  • How to write tools with SeqAn
  • What KNIME is and is capable of
  • How to incorporate and share existing tools within KNIME
  • Practical experience with KNIME through an exercise on sequence analysis


Target Audience

Developers and users of applications in the domain of sequence analysis (read mapping, variant detection, metagenomics, RNseq, assembly, etc.)

The first part before noon addresses mostly developers, albeit users of tools can also learn a lot about the advanced SeqAn library.

The second half in the afternoon is equally interesting for developers and users of tools as they learn how to use tools in the workflow system KNIME. Users that are particularly interested in the tool usage within KNIME can also join after lunch.



  • For the developer part a basic knowledge in C++ is required. Also the following compilers are supported:
    • GCC >= 4.9
    • Clang/LLVM >= 3.5
    • ICC >= 18.0
    • Visual C++ >= 14 (Visual Studio 2015)
  • No knowledge of SeqAn or KNIME is required
  • An ubuntu virtual machine with all software components will be provided (requires virtual box installation and at least 40 GB of free disk space.)


Tutorial Schedule:

Time Description
09:00 – 09:30 Talk: Introduction to SeqAn – René Rahn
09:30 – 09:45 Talk: Present the application – Hannes Hauswedell
09:45 – 10:30 Hands-On: SetUp SeqAn and implementing the application – René Rahn, Hannes Hauswedell
10:30 – 11:00 Coffee Break
11:00 – 12:30 Hands-On: Implementing the application – René Rahn, Hannes Hauswedell
12:30 – 13:30 Lunch
13:30 – 14:00 Talk: Introduction to KNIME – René Rahn
14:00 – 15:00 Hands-On: Integrating tools into KNIME – René Rahn, Hannes Hauswedell
15:00 – 15:30 Coffee Break
15:30 – 16:30 Hands-On: Creating and executing KNIME Workflow – René Rahn, Hannes Hauswedell
16:30 – 17:00 Talk: Next generation of SeqAn and cloud extension of KNIME – Hannes Hauswedell