Fachprojekt Bioinformatik

Wintersemester 2017/18: Explorative Datenanalyse von Gendaten

Veranstalter: Prof. Dr. Sven Rahmann
Veranstaltungsnummer: 040263
Termin: Donnerstags 14:15 bis 18:00
Ort: Rechnerpool OH12 / 3.033

Zeitplan

  • 12.10.: Aus organisatorischen Gründen beginnt die Veranstaltung am 19.10.
  • 19.10.: Einführung in Python (Installation mit conda); Jupyter Notebooks; einfache Programmieraufgaben. (Arbeitsblatt 1) (Notebook 1)
  • 26.10.: Die Veranstaltung fällt wegen Krankheit leider aus.
  • 02.11.: Python-Idiome: list comprehensions, generator functions, funktionale Elemente. Ausgabe der Referatsthemen zu numpy, scipy, pandas, h5py (und hdf5), matplotlib, bokeh, bqplot; dazu Einteilung in Gruppen. (Arbeitsblatt 2) (Notebook 2).
  • 09.11.: Statistik (scipy.stats), statistische Aufgaben. (Arbeitsblatt 3) (Notebook 3).
  • 16.11.: T. Schlütter & N. Joswig: numpy (Notebook zu numpy).
  • 23.11.: P. Dzikus & J. Vesper: Referat zu scipy + Aufgaben
  • 30.11.: C. Sanders & P. Bullert: Referat zu pandas und h5py + Aufgaben
  • 07.12.: G. Reinholz & M. Bongiovi: Referat zu matplotlib + Aufgaben
  • 14.12.: J. Stilling, J. Mährmann & L. Krieg: Referat zu bokeh + Aufgaben
  • 21.12.: H. Bouzian: Referat zu bqplot + Aufgaben. Projektbeginn: Ausgabe des RNA-seq Datensatzes, Erläuterung der Aufgabenstellung.
  • 28.12.: (Ferien: Denken Sie über die Aufgabe nach)
  • 04.01.: (Ferien: Denken Sie über die Aufgabe nach)
  • 11.01.: Abgabe der Ausarbeitungen (gut kommentierte Notebooks) zu den Referaten. Bearbeitung des Projekts, Fragen, Fortschrittsbericht
  • 18.01.: Bearbeitung des Projekts, Fragen, Fortschrittsbericht
  • 25.01.: Bearbeitung des Projekts, Fragen, Fortschrittsbericht
  • 01.02.: Abschlusspräsentationen

Inhalt

Verschiedene Daten aus Hochdurchsatzverfahren lassen sich am besten interaktiv visuell analysieren, unterstützt durch moderne Mustererkennungs- und Lernverfahren. Ein Beispiel für solche Daten sind sogenannte Genexpressionsdaten.

Gene sind Baupläne für funktionsfähige Moleküle in Zellen, zum Beispiel für Proteine. Mit geeigneten Technologien (RNA-seq oder Micorarrays) kann man messen, wie aktiv jedes Gen in einer Zellprobe zum Zeitpunkt der Probennahme ist. Verschiedene Zelltypen sind gekennzeichnet durch verschiedene Aktivitätsprofile (d.h. unterschiedliche Gene sind aktiv). An einem Beispieldatensatz von ca. 20 Proben mit je ca. 25000 gemessenen Genen wollen wir Unterschiede zwischen verschiedenen enthaltenen Zelltypen charakterisieren.

Zur Realisierung dieses Vorhabens nutzen wir moderne interaktive Analyse- und Visualiserungstechniken. Konkret wollen wir eine Kombination von Python, Jupyter Notebooks, bokeh, plotly, ipythonwidgets, bqplot einsetzen. Für die statistische Analyse nutzen wir dabei den sog. “scientific Python stack”, bestehend u.a. aus den Bibliotheken numpy, scipy, pandas, statsmodels, sklearn und ggf. weiteren nach Bedarf.

Voraussetzungen: Neben den formalen Voraussetzungen für Fachprojekte aus dem Modulhandbuch sollte Folgendes beachtet werden: Das Thema liegt nahe an statistischen Fragestellungen; für eine erfolgreiche Teilnahme sollten daher solide Grundlagen in (und Begabung/Interesse für) Wahrscheinlichkeitsrechnung und Statistik vorhanden sein (z.B. Verteilungen wie Poisson, negative Binomialverteilung; Hypothesentests; p-Werte; Satz von Bayes). Ebenso sollten Python-Kenntnisse vorhanden sein. Diese lassen sich ggf. auch über Youtube-Videos erlernen (MIT-Kurs “Introduction to Computer Science and Programming in Python“, entspricht etwa DAP1). Ansonsten macht dieses Fachprojekt mit hoher Wahrscheinlichkeit keinen Spass!

Ablauf:

  1. ca. 3 Wochen Wiederholung Statistik, Python mit wöchentlichen Mini-Aufgaben; gleichzeitig Ausgabe von Referatsthemen zu den wissenschaftlichen Bibliotheken und Visualisierungsbibliotheken.
  2. mehrere Wochen Kurzreferate und Demos zu den Bibliotheken; dazu wöchentlich Mini-Aufgaben zur Übung (bis zu den Weihnachtsferien); Ausarbeitung (2 Seiten) der wesentlichen Referatsinhalte
  3. Vor den Weihnachtsferien: Ausgabe der Analyse-Aufgabe
  4. Bis zum Vorlesungsende Bearbeitung der Aufgabe Gruppen, wöchentliche Vorstellung der Fortschritte und Beratung
  5. Abschlussvorstellung; Ausarbeitung der Datenanalyse (ca. 5-6 Seiten)

Lerninhalte und Kompetenzen

    • Explorative interaktive statistische Datenanalyse
    • Vertiefung der Programmierkenntnisse in Python 3, insbes.Bilbiotheken für wissenschaftliches  Rechnen, Visualisierung, Web-Anwendungen
    • Selbstständiges Arbeiten
    • Präsentieren
    • Führen wissenschaftlicher Diskussionen

Wintersemester 2016/17: Sequenzanalyse mit q-Grammen

Veranstalter: Marianna D’Addario, Sven Rahmann
Veranstaltungsnummer: 040263
Termin: Donnerstags, 14:15
Ort: OH12/3.033

Inhalt

Viele Fragestellungen in der DNA- und Protein-Sequenzanalyse lassen sich auf die Untersuchung kurzer Fragmente (DNA-Fragmentlänge 10-50) zurückführen. Das Projekt des vorangegangenen Semesters (Interaktiver Entwurf von DNA-Strukturen für Nanotechnologie-Anwendungen, s.u.) ist ein Beispiel dafür (Fragmentlänge 3-7). Es gibt aber viele weitere Anwendungen, z.B. die Zuordnung von längeren DNA-Fragmenten (Länge 100-1000) zu bestimmten Genfamilien oder sogar Zellfunktionen über kurze Teilstrings. Ziel des Fachprojekts ist, die Grundlagen solcher Methoden zu erarbeiten und interessante Anwendungen dieser Methodik kennenzulernen und zu implementieren.

Es ergeben sich folgende Teilaufgaben:

  1. Einarbeiten in die Thematik (siehe Literatur)
  2. Erarbeitung einzelner Teilaspekte durch eigene Implementierung (FASTA/FASTQ-Format, reverse Komplemente, Datenstrukturen für Mengen von q-Grammen, Hashing)
  3. Erarbeitung von Python-Bibliotheken für Kommandozeilen- und grafische Anwendungen, sowie JIT-Kompilierung  (argparse, spyre, bokeh, numba)
  4. Umsetzung einer ausgewählten Anwendung (aus einem vorgegebenen Katalog) in Gruppen

Material und Literatur

Lerninhalte und Kompetenzen

    • String-Algorithmen
    • Vertiefung der Programmierkenntnisse in Python 3, insbes.Bilbiotheken für wissenschaftliches  Rechnen, Visualisierung, Web-Anwendungen, Kompilierung
    • Grundlagen und Anwendungen bioinformatischer Sequenzanalyse-Algorithmen auf der Basis von q-Grammen

Voraussetzungen

  • Grundkenntnisse in Python 3
  • Teilnahmevoraussetzungen für Fachprojekte aus dem Modulhandbuch

 Sommersemester 2016: Interaktiver Entwurf von DNA-Strukturen für Nanotechnologie-Anwendungen

Veranstalter: Marianna D’Addario, Sven Rahmann
Termin: Mittwoch, 12:00
Ort: OH12/4.043

Inhalt
Kurze DNA-Sequenzen, auch Oligonukleotide genannt, werden im Bereich der Nanotechnologie als elementare Bausteine für komplexe Strukturen eingesetzt.4x4kachelOligonukleotide werden synthetisch hergestellt und können somit beliebige Sequenzen enthalten. Die übergeordneten Strukturen enstehen dann durch spontane Selbst-Assemblierung der einzelnen Oligonukleotide. Dazu werden die Oligonukleotide passend designed, sodass Hybridisierungen nur an gewünschten Stellen stattfinden. Das Ziel dieses Fachprojektes ist, komplexe DNA-Strukturen grafisch darzustellen und interaktiv modifizieren zu können. Die Abbildung zeigt eine 4X4-Kachel bestehend aus neun Oligonukleotiden.

Es ergeben sich folgende Teilaufgaben:

  1. Einarbeiten in die Thematik (siehe Literatur)
  2. Entwurf und Umsetzung einer textbasierte Darstellung der DNA-Struktur
  3. Umsetzung der grafischen Darstellung mit “spyre” auf Basis der textbasierten Struktur
  4. Interaktive Modifizierungen ermöglichen

Material

Literatur

Lerninhalte und Kompetenzen

  • String-Algorithmen
  • Vertiefung der Programmierkenntnisse in Python
  • Python web application framework spyre
  • Entwurf benutzerfreundlicher interaktiver Anwendungen
  • Grundlagen und Anwendungen der DNA-Nanotechnologie

Voraussetzungen

  • Grundkenntnisse in Python 3
  • Teilnahmevoraussetzungen für Fachprojekte aus dem Modulhandbuch 

Allgemeine Informationen zum Fachprojekt

  • Veranstalter: Prof. Sven Rahmann und Mitglieder der Arbeitsgruppe Bioinformatik.
  • Voraussetzungen: DAP1+2, Softwareentwicklung mit Softwarepraktikum, Wahrscheinlichkeitsrechnung und mathematische Statistik, GTI, Proseminar, idealerweise bereits eine bestandene Wahlpflichtveranstaltung im Bereich formale Grundlagen. In Absprache mit dem Veranstalter sind Ausnahmen möglich.
  • Termine: Die Termine werden in einer Vorbesprechung mit den Teilnehmerinnen und Teilnehmern abgesprochen. Insbesondere finden aber auch individuelle Gespräche mit den Teilnehmern jederzeit nach Bedarf statt. Insgesamt wird eine Arbeitsleistung von 6 LP (insgesamt durchschnittlich 180 Zeitstunden) erwartet.
  • Prüfung: Für diese Veranstaltung wird ein Leistungsnachweis gemäß der Regeln für Fachprojekte ausgestellt. Die Prüfungsanforderungen richten sich nach der Modulbeschreibung. Bitte beachten Sie, dass ein Fachprojekt, obwohl unbenotet, nach Nichtbestehen höchstens zwei Mal wiederholt werden darf.

Inhalte

In kleinen Gruppen (2-4 Personen), ggf. auch einzeln, werden verschiedene Projektaufgaben aus dem Bereich der Bioinformatik bearbeitet und gelöst.
Die Wahl der Programmiersprache ist innerhalb eines Teams grundsätzlich frei. Um schnell produktiv zu arbeiten, empfehle ich eine Skriptsprache wie Python.


Vergangene Ausgaben des Fachprojekts