The Köster lab is located at the Institute of Human Genetics, University Hospital Essen, University of Duisburg-Essen. We are focused on reproducible data analysis, algorithm engineering and Bayesian statistics in Bioinformatics.
Member Position
Johannes Köster Group leader
David Lähnemann Postdoc
Bianca Stöcker Research fellow, PhD student
Jan Forster Research fellow

News

Date News
2018-08-23 Our paper "A Bayesian model for single cell transcript expression analysis on MERFISH data" has been published in Bioinformatics!
2018-07-02 The Bioconda paper has been published in Nature Methods!
2017-11-03 The Bioconda project that has been founded by Johannes Köster in 2015 has been acknowledged by Nature. Nature technology editor Jeffrey Perkel has blogged about it here.

Research

Projects

Snakemake

Snakemake is a popular workflow management system. Snakemake reduces the complexity of formalizing and executing data analyses by providing a fast and comfortable execution environment, together with a clean and modern Python-based specification language. Snakemake workflows scale from workstations to compute servers, clusters, the grid and the cloud without the need to adjust the workflow definition.

visit homepage

Bioconda

A distribution of bioinformatics software realized as a channel for the versatile package manager Conda. Bioconda is a multinational project with hundreds of developers and thousands of software packages.

visit homepage

MERFISHtools

A Bayesian model for single-cell transcript (differential) expression analysis on MERFISH data. The model allows to overcome systematic biases occurring with MERFISH and provides measures of uncertainty and control of the false discovery rate in a strictly Bayesian way. MERFISHtools is a corresponding command line client and analysis library written in Rust and Python. MERFISHtools is also available via Bioconda.

visit homepage

Rust-Bio

A bioinformatics library written in the Rust language. The implementation provides state of the art solutions for common tasks in bioinformatics, focusing on stability by using comprehensive unit tests and continuous integration.

visit homepage

Protein Hypernetworks

This project aims to model protein networks along with dependencies between interactions like allosteric effects, steric hindrance and competition on binding domains. This allows us to improve the accuracy of protein complex prediction and to simulate the effects of perturbations like knockout or over-expression.

Contact

emailjohannes.koester@uni-due.de
phone+49 (0)201 723 1908
wwwhttps://koesterlab.github.io
office Room 1.13
University Hospital Essen
Virchowstr. 183
45147 Essen
[Google Maps]
postal Algorithms for reproducible bioinformatics
Genome Informatics
Institute of Human Genetics
University of Duisburg-Essen
Hufelandstr. 55
45147 Essen
Germany

Teaching

Entwicklung einer Rust-Bibliothek am Beispiel von Succinct Trees

ArtFachprojekt
SemesterSS 2018
Zeit09.04.2018 - 20.07.2018, Freitag 8-12h (Anwesenheitspflicht)
OrtOH12, Raum 3.032, TU Dortmund
Ablauf und MaterialWiki
Kontaktjohannes.koester@uni-due.de

Die Programmiersprache Rust erfreut sich in den letzten Jahren wachsender Beliebtheit. Neben tausenden Open-Source-Projekten erfolgt die derzeit stattfindende schrittweise Reimplementierung des Firefox-Browsers durch die Mozilla-Foundation in Rust. Des weiteren wurde Rust zwei Jahre in Folge zur "most loved programming language" auf Stack Overflow gewählt. Ein Grund für diese Beliebtheit ist der Compiler von Rust, der es erlaubt Thread- und Speichersicherheit zur Kompilierzeit zu garantieren ohne Geschwindigkeitseinbußen hinnehmen zu müssen. Dies ist realisiert indem Speicherallokationen und -zugriffe einem neuartigen Konzept von "Ownership" und "Borrowing" unterworfen werden.

Ziel des Fachprojekts ist, mittels Rust eine robuste und schnelle Implementierung von Succinct Trees als Programmierbibliothek zu realisieren. Durch die Verwendung von Bitvektor-Techniken (Rank/Select) ermöglichen Succinct Trees die Repräsentation von Bäumen mit n Knoten in 2n + o(n) Bits anstelle von O(n log n) Bits. Des weiteren können diverse Baum-Operationen in konstanter Zeit ausgeführt werden. Eine erfolgreiche Implementierung besäße zahlreiche Anwendungsmöglichkeiten, insbesondere in Fällen wo eine herkömmliche Baumrepräsentation nicht effizient genug oder zu groß wäre.

Es existieren mehrere alternative Repräsentationen von succinct trees, die je nach Operation unterschiedliche Stärken und Schwächen haben. Die Aufgabe der Studenten ist, mindestens eine Repräsentation zu implementieren. Dabei wird zum einen ein Einblick in ein neues theoretisches Feld, zum anderen in eine vielversprechende neue Programmiersprache gewonnen. Des weiteren hat sich gezeigt, dass die Beschäftigung mit den Konzepten von Rust hilft, ein besseres Verständnis für wichtige technische Aspekte der Programmierung zu entwickeln.

Reproduzierbare Datenanalyse mit Snakemake am Beispiel der Bioinformatik

ArtFachprojekt
SemesterWS 2018/2019
Zeit08.10.2018 - 01.02.2019, Donnerstag, 14-18h (Anwesenheitspflicht)
OrtOH12, Raum 3.033
Ablauf und MaterialWiki
Kontaktjohannes.koester@uni-due.de

In der Bioinformatik, aber auch in vielen anderen Wissenschaftszweigen spielt heutzutage die Analyse von großen Datenmengen eine wichtige Rolle. Um reproduzierbare und verlässliche Ergebnisse zu erhalten müssen drei Dimensionen beachtet werden. Erstens bedarf es einer formalen Beschreibung einer Datenanalyse, welche automatisiert ausführbar sein muss und dokumentiert aus welchen Schritten die Analyse besteht und welche Parameter verwendet wurden. Zweitens muss eine Datenanalyse skalierbar sein, dass heißt sie muss ohne Modifikation gegebene Resourcen in unterschiedlichen Umgebungen (Workstation, Server, Cluster, Grid, Cloud) effizient Nutzen können. Drittens muss sie portierbar sein, dass heißt sie muss ohne großen Aufwand auf einem neuen, nicht speziell vorbereiteten System lauffähig sein.

Mit Snakemake steht ein sehr erfolgreiches System zur Verfügung welches alle drei oben genannten Anforderungen umsetzt. Ziel des Fachprojekts ist, in Kleingruppen mit Hilfe von Snakemake Referenzimplementierungen für typische Datenanalysen aus der Bioinformatik zu erstellen. Dabei werden zusätzlich zu zentralen Datenanalyse-Paradigmen allgemeine Fähigkeiten aus den Bereichen Linux-Kommandozeile, Python, R und Visualisierung erlernt. Außerdem werden zentrale Themen der Bioinformatik aufgegriffen und vertieft.

Job offers

Implementing Google Pipelines API support in Snakemake

Startas soon as possible
Duration1 year, full time
Contactjohannes.koester@uni-due.de

Snakemake is a popular workflow management system designed to formalize, execute, and document scientific data analyses. While Snakemake already provides generic support for Cloud computing via Kubernetes, Google LLC aims to provide first class support for their Pipelines API. For this purpose, we offer a full position for a Python programmer for about one year, who will be payed by Google LLC via an Inbound Services Agreement. The candidate has to be an experienced Python programmer and, ideally, should have practical knowledge about scientific data analysis workflows.

The task is to write a robust and scalable Google Pipelines API backend for Snakemake that supports resuming previous runs, passing of resources, efficient remote file handling and usage of node-local resources like local storage, in particular for intermediate files within job groups. Further included are eventually necessary adaptations in the Snakemake scheduler. For this job, it is not mandatory to move to Essen in Germany. It can as well be conducted remotely.

For applying, please send me an email with CV and a short letter that outlines your qualification to do the work. Ensure that the CV also lists examples for your programming experience.