Algorithmic Bioinformatics

P Projektmanagement im Softwarebereich - SeqAn

(19588)

Type

Softwarepraktikum

Instructor

David Weese, Knut Reinert

Registration Mode

Die Praktikumsplätze werden über ein besonderes Anmeldeverfahren vergeben. Beachten Sie dazu die Hinweise auf der Webseite des Studienbüros zum Softwarepraktikum.

Time

Block 1:
02.04.
930-17
Arnimallee 6
R 017
Block 2:
06.-10.04.
10-16
Arnimallee 6
R 017
Block 3:
29.04.
9-13
Arnimallee 6
R 017
SeqAn
Support
Fr.
1230-14
Arnimallee 6
R 017

Vorführung

22.06.
10-12
Arnimallee 6
R 017

Start

Apr 02, 2009 — Jun 08, 2009

Student Profile

In diesem Praktikum werden Algorithmen zur Sequenzanalyse implementiert, und zwar im Rahmen der Software-Bibliothek SeqAn, die zur Zeit in unserer Arbeitsgruppe entwickelt wird.

Diese Veranstaltung richtet sich an Studierende der Bioinformatik. Gute Kenntnisse in C/C++ werden vorausgesetzt.

 

Inhalt

In diesem Praktikum werden Algorithmen zur Sequenzanalyse implementiert, und zwar im Rahmen der Software-Bibliothek SeqAn, die zur Zeit in unserer Arbeitsgruppe entwickelt wird. Das Thema des diesjährigen Projektes wird die Entwicklung eines Assemblierungsprogrammes für whole genome shotgun reads sein. Vorgesehen sind die folgenden Module: 1) Projektmanagement 2) de-novo repeat detection 3) filter for overlap computation 4) overlapper and construction of overlap graph 5) fragment layout and contig construction 6) scaffolding and consensus 7) repeat resolution. Benotet werden die Beiträge anhand eines schriftlichen Projektberichtes. Zum gleichen Modul gehört ein Begleitseminar, das von den Teilnehmern des Praktikums ebenfalls belegt werden muss.

 

Voraussetzungen: Gute Kennnisse in C/C++. Der Blockkurs "C++ für Fortgeschrittene" sei allen Teilnehmern dieses Softwarepraktikums dringend ans Herz gelegt.

 

Das Begleitseminar zum Projektmanagement im Softwarebereich Seqan ist wie folgt aufgebaut: Die Termine sind vorläufig und werden nach Raumreservierung auf der Veranstaltungswebseite aktualisiert.

  • Do 02.04.2009: Block 1 vermittelt:
    • 09:30 - 11:30 Prinzipien und Werkzeuge des Softwaredesigns (Pflichtenheft, Zeitpläne, etc.)
    • 12:30 - 14:30 Algorithmen und Prinzipien des Sequence Assembly
    • 14:30 - 16:30 Werkzeuge zum Programmieren (Bug-tracking Systeme, Debugger, Profiler, Memory analyzer, documentation tools), sowie eine Einführung in make/VC++ project files
    • 16:30 - 17:00 Überblick über Seqan
  • Mo. 06.04. - Do. 09.04.2009: C++ Blockkurs (nicht vorgeschrieben aber sehr zu empfehlen für Teilnehmer die nicht in C++ bewandert sind).
  • Di. 14.04. - Fr. 17.04.2009: Block 2 behandelt das SeqAn-Tutorial. Geplant sind Einheit 1 (sequences, files, searching), Einheit 2 (alignments, multiple alignments), Einheit 3 (Indices), Einheit 4 (graphs), Einheit 5 (Aufgabenverteilung zum Praktikum).
  • Fr. 17.04. - Mi. 29.04.2009: Block 3 - Ausarbeitung und Präsentation (29.04.) des Projektplans (zählt für alte Studienordnung als Benotung für das Begleitseminar).
  • Mi. 29.04. - Mo. 08.06.2009: Block 4 - Programmieren und Dokumentieren der Module, Erstellen eines Abschlussberichtes. ACHTUNG: in der neuen Studienordnung ist diese Veranstaltung nicht gesondert zu betrachten. Die Prüfungsleistung wird durch den Abschlussbericht geleistet.
  • Mo 08.06.2009, 12 Uhr: Ende der Programmierphase (SVN wird read-only) und Abgabe des Berichts (per Mail/SVN).
  • Mo. 22.06.2009: Präsentation des fertigen Assemblers. In der letzten Veranstaltung soll der Assembler von einem oder mehreren Teilnehmern mit verschiedenen Testdaten vorgeführt werden. Dabei soll auch auf die Stärken und Schwächen des Assemblers und die im Praktikum gesammelten Erfahrungen eingegangen werden.

 

Aufgabenverteilung:

  1. Fragment Store | Hannes Hauswedell
  2. Repeat Screener | Matthias Kluge
  3. Overlapper | Sabrina Krakau
  4. Unitigger | Markus Heuser
  5. Scaffolder I | Johanna Ploog
  6. Scaffolder II | Jörn Bethune
  7. Repeat Resolution | Felix Heeger
  8. Consensus | Svenja Specovius

 

Files

 

Exercises:

  1. Finden Sie die Fehler in der Datei "files\whitebox\whitebox.cpp" (es sind mindestens drei).

  2. Korrigieren Sie die Fehler aus Exercise 1 mit minimalen Änderungen und generieren Sie einen Patch mit dem "diff"-Tool unter Linux.

 

Links

  • Sequence Assembly: Kapitel der Vorlesung Algorithmische Bioinformatik WS07/08.
  • www.seqan.de: Homepage von SeqAn. Hier gibt es alle Informationen sowie aktuelle Snapshots der Bibliothek zum herunterladen.
  • SeqAn Dokumentation: Die Doku des letzten SeqAn Releases.
  • SeqAn Trac: System für Fehlerreports in SeqAn und direkter Einblick in den aktuellen Entwicklungsstand des Projekts. Hier könnt ihr Fehler melden, wenn ihr welche gefunden habt.
  • Fortgeschrittenes C++: Homepage zum Blockkurs vom 06.04 - 09.04.2009.
  • dddoc Doku: Dokumentation zum in SeqAn verwendeten Dokumentationssystem dddoc für generisches C++ Programmieren.